키(Key) (슈퍼키, 후보키, 기본키, 대체키, 외래키) / 무결성 제약조건 (도메인 무결성, 개체무결성, 참조무결성)
2024. 3. 4. 16:16ㆍCS/DB
- Key라는 것은 무엇인가를 식별하는 고유한 식별자를 의미한다.
- Key의 종류
- 슈퍼키
- 각 행을 유일하게 식별할 수 있는 하나 혹은 그 이상이 속성들의 집합
- 유일성만 만족하면 된다.
- 다중 컬럼이어도 상관없음.
- 후보키
- 각 행을 유일하게 식별할 수 있는 최소한의 속성들의 집합으로, 유일성과 최소성이 만족해야한다.
- 기본키
- 후보키들 중에 하나를 선택한 키로, 최소성과 유일성을 만족하는 속성으로 테이블의 PK는 오직 1개만 지정가능하다.
- 대체키
- 후보키가 2개이상일 경우, 후보키 중 기본키를 제외한 나머지 키를 대체키라고 한다.
- 외래키
- 다른 테이블의 데이터를 참조할 때, 없는 값을 참조할 수 없도록 제약을 두는 것이다.
- 이때, 참조될 열의 값은 참조될 테이블에서 기본키로 설정되어야한다.
- 부모 테이블이 먼저 삭제될 수 없다. 왜냐하면 부모테이블이 먼저 삭제되면, 자식테이블은 참조하는 것이 없어지기 때문에 외래키 오류가 발생한다.
- 슈퍼키
- 참조블로그
- 데이터 무결성은 데이터베이스에 저장된 데이터의 일관성과 정확성을 지키는 것을 말한다.
- 도메인 무결성 제약조건
- 도메인 무결성 제약조건은 도메인 제약이라고도 하며, 릴레이션 내의 튜플들이 각 속성의 도메인에 지정된 값만을 가져야한다.
- 예를 들어, VARCHAR형으로 선언된 Name이라는 변수에는 정수형 integer값이 올 수 없는 경우를 의미한다.
- 도메인 무결성 제약조건은 도메인 제약이라고도 하며, 릴레이션 내의 튜플들이 각 속성의 도메인에 지정된 값만을 가져야한다.
- 개체 무결성 제약조건
- 개체 무결성 제약조건은 기본키 제약이라고도 하며, 릴레이션은 기본키를 지정하고, 기본키는 null값을 가져서는 안되며, 릴레이션 내의 오직 하나의 값만 존재해야한다.
- 참조 무결성 제약조건
- 외래키 제약이라고도 하며, 릴레이션 간의 참조관계를 선언하는 제약조건이다.
- 자식 릴레이션의 외래키는 부모 릴레이션의 기본키와 동일해야하며, 자식 릴레이션의 값이 변경될 때, 부모 릴레이션의 제약을 받는다.
- 도메인 무결성 제약조건
- 참조블로그
- MySQL
- 관계형 데이터베이스로, 오픈소스이다.
- ACID속성을 이용하여 트랜잭션 무결성을 제공한다.
- A(원자성), C(일관성), 격리(Isolation), 영속성(Durability)
- InnoDB 및 MyISAM을 포함한 여러 스토리지 엔진을 지원한다.
- 지리적으로 분산된 시스템에 대한 복제를 지원한다.
- 많은 정보를 사용할 수 있는 대규모 사용자 커뮤니티이다.
- 참조블로그
'CS > DB' 카테고리의 다른 글
릴레이션 스키마와 릴레이션 인스턴스 개념 (0) | 2024.03.04 |
---|---|
데이터 독립성과 RDBMS (0) | 2024.03.04 |
DBMS, 스키마, 3단계 데이터베이스 구조 (0) | 2024.03.04 |
파일시스템과 데이터베이스의 차이점 (0) | 2024.03.04 |
RDB와 NoSQL의 차이 (0) | 2024.02.23 |