관계 데이터 모델 정리(시험용)
2020. 6. 20. 19:50ㆍBasicKnowledge/DataBase
관계 데이터 모델
사용자는 원하는 데이터(what)만 명시하고, 어떻게 이 데이터를 찾을 것인가(how)는 명시할 필요가 없음
기본적인 용어
- 릴레이션(relation): 2차원의 테이블(스프레드 시트와 유사)
- 레코드(record): 릴레이션의 각 행
- 투플(tuple): 레코드를 좀더 공식적으로 부르는 용어
- 애트리뷰트(attribute): 릴레이션에서 이름을 가진 하나의 열
도메인(domain)
- 한 애트리뷰트에 나타날 수 있는 값들의 집합
- 각 애트리뷰트의 도메인의 값들은 원자값
- 프로그래밍 언어의 데이터 타입과 유사함
- 동일한 도메인이 여러 애트리뷰트에서 사용될 수 있음
- 복합 애트리뷰트나 다치 애트리뷰트는 허용되지 않음
차수(degree)와 카디날리티(cardinality)
- 차수: 한 릴레이션에 들어 있는 애트리뷰트들의 수
- 카디날리티: 릴레이션의 투플 수
널값(null value) : 알려지지 않음’ 또는 ‘적용할 수 없음’을 나타내기 위해 널값을 사용
릴레이션 스키마(relation schema) : 릴레이션의 이름과 릴레이션의 애트리뷰트들의 집합,내포(intension)라고 함
릴레이션 인스턴스(relation instance) : 릴레이션에 어느 시점에 들어 있는 투플들의 집합. 시간의 흐름에 따라 계속 변함. 일반적으로 릴레이션에는 현재의 인스턴스만 저장됨, 외연(extension)이라고 함
릴레이션
투플들의 집합
릴레이션의 특성
- 각 릴레이션은 오직 하나의 레코드 타입만 포함
- 한 애트리뷰트 내의 값들은 모두 같은 유형
- 애트리뷰트들의 순서는 중요하지 않음
릴레이션의 키
- 수퍼키 : 한 릴레이션 내의 특정 투플을 고유하게 식별하는 하나의 애트리뷰트 또는 애트리뷰트들의 집합
- 기본키 : 한 릴레이션에 후보 키가 두 개 이상 있으면 설계자 또는 데이터베이스 관리자가 이들 중에서 하나를 기본 키로 선정함
- 후보키 : 기본키를 제외한 나머지 유니크한 키, 복합키로 가능
- 대체키 : 기본키가 아닌 나머지 키들
- 외래키 : 한 릴레이션을 참조할 수 있는 키, 한 릴레이션의 기본키의 값과 같다.
데이터 무결성(data integrity) : 데이터의 정확성 또는 유효성을 의미하며, 일관된 데이터베이스 상태를 정의하는 규칙들을 묵시적으로 또는 명시적으로 정의함
도메인 제약조건(domain constraint)
- 각 애트리뷰트 값이 반드시 원자값이어야 함
- 애트리뷰트 값의 디폴트 값, 가능한 값들의 범위 등을 지정할 수 있음
- 데이터 형식을 통해 값들의 유형을 제한하고, CHECK 제약 조건을 통해 값들의 범위를 제한할 수 있음
키 제약조건(key constraint)
키 애트리뷰트에 중복된 값이 존재해서는 안됨
기본 키와 엔티티 무결성 제약조건(entity integrity constraint)
- 릴레이션의 기본 키를 구성하는 어떤 애트리뷰트도 널값을 가질 수 없음
- 대체 키에는 적용되지 않음
- 사용자는 릴레이션을 생성하는 데이터 정의문에서 어떤 애트리뷰트가 릴레이션의 기본 키의 구성요소인가를 DBMS에게 알려줌
참조 무결성 제약조건(referential integrity constraint)
- 참조 무결성 제약조건은 두 릴레이션의 연관된 투플들 사이의 일관성을 유지하는데 사용됨
- 관계 데이터베이스가 릴레이션들로만 이루어지고, 릴레이션 사이의 관계들이 다른 릴레이션의 기본 키를 참조하는 것을 기반으로 하여 묵시적으로 표현되기 때문에 외래 키의 개념이 중요
'BasicKnowledge > DataBase' 카테고리의 다른 글
데이터베이스 시스템 정리(시험용) (0) | 2020.06.20 |
---|