관계 데이터 모델의 기본 개념
- 개념적 구조를 논리적 구조로 표현하는 논리적 데이터 모델
- 하나의 개체에 대한 데이터를 하나의 릴레이션에 저장
관계 데이터 모델의 기본 용어
속성(attribute)
- 릴레이션의 열, 애트리뷰트
- 파일 관리 시스템 관점에서 필드(field)에 대응
투플(tuple)
- 릴레이션의 행
- 파일 관리 시스템 관점에서 레코드(record)에 대응
도메인(domain)
- 하나의 속성이 가질 수 있는 모든 값의 집합
- 속성 값을 입력 및 수정할 때 적합성 판단의 기준이 됨
- 일반적으로 속성의 특성을 고려한 데이터 타입으로 정의
널(null)
- 속성 값을 아직 모르거나 해당되는 값이 없음을 표현
차수
- 하나의 릴레이션에서 속성의 전체 개수
카디널리티(cardicality)
- 하나의 릴레이션에서 투플의 전체 개수
데이터베이스의 구성
데이터베이스 스키마
- 데이터베이스의 전체 구조
- 데이터베이스를 구성하는 릴레이션 스키마의 모음
데이터베이스 인스턴스
- 데이터베이스를 구성하는 릴레이션 인스턴스의 모음
릴레이션의 특성
- 투플의 유일성 - 하나의 릴레이션에는 동일한 투플이 존재할 수 없다.
- 투플의 무순서 - 하나의 릴레이션에서 투플 사이의 순서는 무의미하다.
- 속성의 무순서 - 하나의 릴레이션에서 속성 사이의 순서는 무의미하다.
- 속성의 원자성 - 속성 값으로 원자 값만 사용할 수 있다.
키
- 릴레이션에서 투플들을 유일하게 구별하는 속성 또는 속성들의 집합
- 특정 투플을 식별할 때 사용하는 속성 혹은 속석의 집합
- 릴레이션은 중복된 투플을 허용하지 않음
- 키는 릴레이션 간의 관계를 맺는데도 사용됨 간의 관계를 맺는데도 사용됨
특징
- 유일성 - 하나의 릴레이션에서 모든 투플은 서로 다른 키 값을 가져야 함
- 최소성 - 꼭 필요한 최소한의 속성들로만 키를 구성함
키의 종류
슈퍼키(super key)
- 유일성을 만족하는 속성 또는 속성들의 집합
후보키(candidate key)
- 유일성과 최소성을 만족하는 속성 또는 속성들의 집합
기본키(primary key)
- 후보키 중에서 기본적으로 사용하기 위해 선택한 키
- 릴레이션 내 투플을 식별할 수 있는 고유한 값을 가져야 함
- 키 값의 변동이 일어나지 않아야 함
- 최대한 적은 수의 속성을 가진 것이어야 함
대체키(alternate key)
- 기본키로 선택되지 못한 후보키
외래키(foreign key)
- 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합
- 외래키 속성과 그것이 참조하는 기본키 속성의 이름은 달라도 되지만 도메인은 같아야 한다.
- 하나의 릴레이션에는 외래키가 여러 개 존재할 수 도 있고, 외래키를 기본키로 사용할 수도 있다.
- 같은 릴레이션의 기본키를 참조하는 외래키도 정의할 수 있다.
- 외래키 속성은 NULL값을 가질 수도 있다.
키의 특성과 종류 요약
특성
- 유일성: 한 릴레이션에서 모든 투플은 서로 다른 키 값을 가져야 함
- 최소성: 꼭 필요한 최소한의 속성들로만 키를 구성
종류
- 수퍼키: 유일성을 만족하는 속성 또는 속성들의 집합
- 후보키: 유일성과 최소성을 만족하는 속성 또는 속성들의 집합
- 기본키: 후보키 중에서 기본적으로 사용하기 위해 선택한 키
- 대체키: 기본키로 선택되지 못한 후보키
- 외래키: 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합
무결성 제약조건(integrity constraint)
- 데이터의 무결성을 보장하고 일관된 상태로 유지하기 위한 규칙
- 무결성: 데이터를 결함이 없는 상태, 즉 정확하고 유효하게 유지하는 것
ex) 기본키를 구성하는 모든 속성은 널 값을 가질 수 없다. 외래키는 참조할 수 없는 값을 가질 수 없다.
도메인 무결성 제약조건
도메인 제약이라고도 불림. 릴레이션 내의 투플들이 각 속성의 도메인에 지정된 값만을 가져야 한다는 조건.
SQL문에서 데이터 형식(type), 널(null/not null), 기본 값(default), 체크(check)등을 사용하여 지정할 수 있음
개체 무결성 제약 조건
기본키 제약이라고도 불림. 릴레이션은 기본키를 지정하고 그에 따른 무결성 원칙, 즉 기본키는 NULL값을 가져서는 안 되며,
릴레이션 내에 오직 하나의 값만 존재해야 한다는 조건이다.
- 삽입: 기본키 값이 같으면 삽입이 금지됨
- 수정: 기본키 값이 같거나 NULL로도 수정이 금지됨
- 삭제: 특별한 확인이 필요하지 않으면 즉시 수행함
참조 무결성 제약조건
외래키 제약이라고도 불림. 릴레이션 간의 참조 관계를 선언하는 제약조건이다. 자식 릴레이션의 외래키는 부모 릴레이션의 기본키와
도메인이 동일해야 하며, 자식 릴레이션의 값이 변경될 때 부모 릴레이션의 제약을 받는다는 것이다.
- 외래키는 참조할 수 없는 값을 가질 수 없다.
참조 무결성 제약조건의 옵션(부모 릴레이션에서 투플을 삭제할 경우)
- RESTRICTED - 자식 릴레이션에서 참조하고 있을 경우 부모 릴레이션의 삭제 작업을 거부함
- CASCADE - 자식 릴레이션의 관련 투플을 같이 삭제 처리함
- DEFAULT - 자식 릴레이션의 관련 투플을 미리 설정해 둔 값으로 변경함
- NULL - 자식 릴레이션의 관련 투플을 NULL값으로 설정함(NULL값을 허가한 경우)
'CS' 카테고리의 다른 글
데이터베이스 언어 SQL (0) | 2023.04.15 |
---|---|
관계 데이터 연산 (0) | 2023.04.15 |
데이터베이스 시스템(DBS) (0) | 2023.04.14 |
데이터베이스의 기본 개념 (0) | 2023.04.14 |
HTTP 상태 코드 (2) | 2023.01.04 |