반응형
IT CookBook, 오라클로 배우는 데이터베이스 개론과 실습(2판)
데이터베이스 핵심 이론을 오라클로 실습하며 공부할 수 있는 책이다. 데이터베이스 시스템을 이해하는 데 필요한 이론을 4개의 부로 나누어 실습과 함께 익힌 다음, 마지막에는 워크북으로 배
www.hanbit.co.kr
오라클로 배우는 데이터베이스 개론과 실습(2판) 을 공부하며, 정리한 내용을 포스팅하는 글입니다.
관계형 데이터모델의 기본 용어
릴레이션(=테이블)
(릴레이션과 테이블은 같은 의미지만, 릴레이션은 수학의 집합이론에 기초하기 때문에 속성이나 인스턴스의 중복을 허용하지 않는다.)
- 스키마: 릴레이션이 어떻게 구성되는지, 어떤 정보를 담고 있는지에 대한 기본적인 구조를 정의
- 인스턴스: 정의된 스키마에 따라 테이블에 실제로 저장되는 데이터의 집합
릴레이션의 특징
- 속성과 튜플은 중복된 값을 가질 수 없다.
- 속성은 중복된 이름을 가질 수 없다.
- 속성의 속한 열들은 도메인 값만 가진다.
- 속성과 튜플의 순서는 상관없다.
속성(애트리뷰트(attribute), 열)
- 릴레이션 스키마의 열
- 속성의 개수 : 차수(degree)
도메인
- 속성이 가질 수 있는 값의 집합
- 예) 고객번호(속성)의 도메인(속성이 가질 수 있는 값)은 {1보다 큰 정수의 집합 : integer}이고, 고객이름(속성)의 도메인(속성이 가질 수 있는 값)은 {문자로 구성된 문자열 : char} 이 되는 것이다.
튜플(tuple)
- 릴레이션의 행
- 튜플의 수 : 카니널리티(cadinality)
후보키
- 튜플을 식별할 수 있는 속성의 최소 집합
- 예를 들어, 한 개의 속성으로 식별이 안될 경우 두 개 이상의 속성으로 후보키를 이룰 수 있으며 이를 복합키라고 한다.
기본키(PK, Primary Key)
- 여러 후보키 중 하나를 선정하여 대표로 삼는 키
- 후보키가 하나 뿐이라면 그 후보키를 기본키로 사용
- 후보키가 여러 개라면 릴레이션의 특성을 반영하여 하나
- 고려 사항
- 릴레이션 내 튜플을 식별할 수 있는 고유한 값을 가져야 함
- NULL값 허용 X
- 키 값 변동 X
- 최대한 적은 수의 속성을 가진 것이여야 함
- 표현
- 릴레이션_이름(속성1, 속성2, ...., 속성N) -> 기본키는 밑줄로 표시!
대리키
- 아래의 상황에서는 대리키를 사용한다.
- 기본키가 보안을 요하거나(주민등록번호는 유일하지만, 보안을 요한다)
- 여러 개의 속성으로 구성되어 복잡하거나
- 마땅한 기본키가 없을 경우
- 일련번호 같은 가상의 속성을 만들어 기본키로 삼는다.
- 이것을 대리키 또는 인조키 라고 함.
대체키
- 기본키로 선정되지 않은 후보키를 말한다
- 예를 들어, 후보키(고객번호, 주민번호) 중 주민번호는 보안을 요하기 때문에 기본키가 될 수 없다.
- 그렇기 때문에 주민번호는 대체키가 된다.
외래키(FK, Foreign Key)
- 릴레이션의 관계 를 표현한다
- 다른 릴레이션의 기본키를 참조하는 속성
- 참조(외래키)하고 참조(기본키)되는 양쪽 릴레이션의 도메인은 서로 같아야함
- (예) A테이블에서는 주민번호인데, B테이블에서는 식별번호 인 경우 X
- 참조되는 값이 변경되면 참조하는 값도 함께 변경
- NULL 값 과 중복 값 이 허용됨
- 자기 자신의 기본키를 참조할 수 있다. (도메인이 다를 수도 있음)
반응형