관계 데이터 모델의 기본 용어
릴레이션(relation)
: 하나의 개체에 관한 데이터를 2차원 테이블의 구조로 저장한 것. 즉, 행과 열로 구성된 테이블
→ 파일 관리 시스템 관점에서 파일에 대응함.
속성(attribute)
: 릴레이션의 열
→ 파일 관리 시스템 관점에서 필드에 대응함.
튜플(tuple)
: 릴레이션의 행
→ 파일 관리 시스템 관점에서 레코드에 대응함.
도메인(domain)
: 하나의 속성이 가질 수 있는 모든 값의 집합
→ 속성 값을 입력 및 수정할 때 적합성 판단의 기준이 됨
널(null)
: 속성 값을 아직 모르거나 해당되는 값이 없음을 표현
차수(degree)
: 하나의 릴레이션에서 속성의 전체 개수
카디널리티(cardinality)
: 하나의 릴레이션에서 튜플의 전체 개수
릴레이션 스키마(relation schema)
: 릴레이션의 논리적 구조
→ 릴레이션 내포 라고도 함.
→ 정적인 특징이 있음.
릴레이션 인스턴스(relation instance)
: 어느 한 시점에 릴레이션에 존재하는 튜플들의 집합
→ 릴레이션 외연 이라고도 함.
→ 동적인 특징이 있음.
데이터베이스 스키마(database schema)
: 데이터베이스의 전체 구조로, 데이터베이스를 구성하는 릴레이션 스키마의 모음
데이터베이스 인스턴스(database instance)
: 데이터베이스를 구성하는 릴레이션 인스턴스의 모음
키(key)
: 릴레이션에서 튜플들을 유일하게 구별하는 속성 또는 속성들의 집합
→ 키가 되는 속성은 반드시 값이 달라서 튜플들을 서로 구별할 수 있어야 함.
📍 릴레이션의 특성
- 튜플의 유일성 - 하나의 릴레이션에는 동일한 튜플이 존재할 수 없다.
- 튜플의 무순서 - 하나의 릴레이션에서 튜플 사이의 순서는 무의미하다.
- 속성의 원자성 - 속성 값으로 원자 값만 사용할 수 있다.
- 속성의 무순서 - 하나의 릴레이션에서 속성 사이의 순서는 무의미하다.
📍 키의 특성
- 유일성(uniqueness) : 하나의 릴레이션에서 모든 튜플은 서로 다른 키 값을 가져야 한다.
- 최소성(minimality) : 꼭 필요한 최소한의 속성들로만 키를 구성해야 한다.
📍 키의 종류
- 슈퍼키 : 유일성을 만족하는 속성 또는 속성들의 집합
- 후보키 : 유일성과 최소성을 만족하는 속성 또는 속성들의 집합
- 기본키 : 후보키 중에서 기본적으로 사용하기 위해 선택한 키
- 기본키 선정 시 고려사항
- 릴레이션 내 튜플을 식별할 수 있는 고유한 값을 가져야 함. ⇒ 유일성
- NULL 값은 허용되지 않음. ⇒ 개체무결성
- 키 값의 변동이 일어나지 않아야 함.
- 최대한 적은 수의 속성을 가진 것이어야 함. ⇒ 최소성
- 향후 키를 사용하는 데 문제 발생 소지가 없어야 함.
- 기본키 선정 시 고려사항
- 대체키 : 기본키로 선택되지 못한 후보키
- 외래키 : 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합→ 외래키는 여러 개 존재할 수 있고, 외래키를 기본키로 사용할 수도 있음.
→ 외래키는 NULL 값을 가질 수 있음.
→ 외래키 속성과 그것이 참조하는 기본키 속성의 이름은 달라도 되지만 도메인은 같아야 함.
> 릴레이션들 간의 관계 표현- 참조하는 릴레이션 : 외래키를 가진 릴레이션
- 참조되는 릴레이션 : 외래키가 참조하는 기본키를 가진 릴레이션
관계 데이터 모델의 제약
📍 무결성 제약조건
: 데이터의 무결성을 보장하고 일관된 상태로 유지하기 위한 규칙
💡 무결성 : 데이터를 결함이 없는 상태, 즉 정확하고 유효하게 유지하는 것
📍 개체 무결성 제약조건
: 기본키 제약이라고도 하며, 기본키는 NULL 값을 가져서는 안되며 릴레이션 내에 오직 하나의 값만 존재해야 한다는 조건.
- 삽입 : 기본키 값이 같으면 삽입이 금지됨.
- 수정 : 기본키 값이 같거나 NULL로도 수정이 금지됨.
- 삭제 : 특별한 확인이 필요하지 않으며 즉시 수행함.
📍 참조 무결성 제약조건
: 외래키 제약이라고도 하며, 자식 릴레이션의 외래키는 부모 릴레이션의 기본키와 도메인이 동일해야 하고, 자식 릴레이션 값이 변경될 때 부모 릴레이션의 제약을 받는다는 조건.
- 삽입 : 참조 받는 테이블에 외래키 값이 없을 경우 삽입이 금지됨.
- 삭제 : 부모 릴레이션은 참조하는 테이블을 같이 삭제할 수 있어서 금지하거나 다른 추가 작업이 필요함. 자식 릴레이션은 바로 삭제 가능.
> 참조 무결성 삭제 고려사항- RESTRICTED : 삭제 제한.
- CASCADE : 자식 릴레이션의 관련 튜플 함께 삭제.
- DEFAULT : 초기 설정 값으로 변경.
- NULL : NULL 값으로 변경.
- 수정 : 삭제와 삽입 명령이 연속적으로 수행됨.
→ 삭제 옵션에 따라 처리된 후 문제가 없으면 다시 삽입 제약 조건에 따라 처리됨.
📍 도메인 무결성 제약조건
: 릴레이션 내의 튜플들이 각 속성의 도메인에 지정된 값만을 가져야 한다는 조건.
'⚡️ 전공수업 > 데이터베이스' 카테고리의 다른 글
데이터 모델링 (0) | 2025.05.19 |
---|---|
관계 데이터 연산 (0) | 2025.04.29 |
데이터베이스 시스템(DBS) (0) | 2025.04.29 |
데이터베이스 관리 시스템(DBMS) (0) | 2025.04.29 |
데이터베이스 기본 개념 (0) | 2025.04.29 |