이전에 정리했던 글이다.
교재: fundamental of database system
이전 글
2020/07/13 - [강의 정리/Database] - 데이터베이스시스템 - Chapther 1
2020/07/13 - [강의 정리/Database] - 데이터베이스시스템 - Chapther 2
2020/07/13 - [강의 정리/Database] - 데이터베이스시스템 - Chapther 3
[CHAPTHER 5 - The Relational Data Model and Relationship Database Constraints]
▶ 용어 정의
|
비공식 |
공식 |
relation |
table |
relation |
row(행) |
row |
tuple |
column(열) |
column |
attribute name(1열) attribute |
아래는 공식적 용어 정의.
* (relation) schema : R(A1,A2, ...An) 으로 나타내는, relation의 개요. R은 relation name, A는 attribute
* tuple : relation의 행. <value, value, ...value> 로 나타냄. relation은 set of tuples
* domain : 데이터 타입에 대한 정의 (ex: 전화번호 ddd-dddd-dddd로 나타냄)
* (relation) state : attribute와 domain간의 연결
* null : 모르는/이용할 수 없는 값을 나타냄
* relational database schema : 전체 relation의 개요. S = {R1, R2, ...Rn}으로 나타냄
* relational database state : relation state의 집합
▶ 제약(Constraint)
* key constraint : unique한 attribute에 대해, 이를 superkey 라고 부른다.
* superkey 중에서도 minimal(한 요소라도 더 지우면 고유성 상실)한 superkey를 key라고 부른다.
* candidate keys(후보 키)중 임의로 선택된 하나가 primary key(일반 키)로 지정된다.
* 일반 키는 이전 장에서도 언급했듯 underline으로 표현된다.
* 개체 무결성 제약(Entity Integrity Constraint) : 어떤 key도 null값을 가져서는 안됨 (식별에 사용되는 값이므로)
* 참조 무결성 제약(Referential Integrity Constraint) : foreign key는 참조하는 키 값 또는 null값을 가짐
* foreign key가 null값을 가지면, 이는 owner key의 일부라고 할 수는 없다.
▶ 무결성 위반
* 무결성(데이터 보호)의 위반 상황이 발생하면 다음의 조치 중 하나가 취해진다.
* 무결성 위반을 일으킨 작업의 취소(Cancel)
* 수행하나, 사용자에게 위반 사실을 알림(Inform)
* 추가적 update를 유발하여 위반을 바로잡음
* 사용자가 지정한 오류 수정 routine이 있다면 이를 실행