관계형 데이터베이스: Difference between revisions

From CS Wiki
No edit summary
No edit summary
Line 37: Line 37:
** 유일성 O / 최소성 O
** 유일성 O / 최소성 O
* '''외부 키(Foreign Key)'''
* '''외부 키(Foreign Key)'''
** 다른 Relation의 Primary Key를 참조하는 속성
** 다른 릴레이션의 Primary Key를 참조하는 속성
** 중복된 값 X / Not Null / 유일성 O / 최소성 O
** 중복된 값 X / Not Null / 유일성 O / 최소성 O


== 제약 조건 ==
== 무결성 제약 조건 ==
;Constraint
;Integrity Constraint
* '''도메인 제약조건(Domain constraints)'''
** 각 속성은 반드시 각 속성의 도메인에 속하는 원자값(atom value)이어야 한다.
** 각 칼럼은 그 칼럼의 데이터 타입, 범위에 만족하는 값이어야 한다.
* '''NULL 제약조건(Constraints on NULLS)'''
** 각 칼럼은 일반적으론 NULL값을 가질 수 있다.
** NOT NULL로 설정되어 있다면 NULL값을 가질 수 없다.
* '''키 제약조건(Key constraints)'''
** 기본 키(Primary key)나 unique 칼럼은 유일성을 가지고 있어야 한다.
* '''개체 무결성 제약조건(Entity integrity constraints)'''
** 기본 키(Primary key)는 NULL일 수 없다.
** unique칼럼은 중복되지 않거나, NULL이거나 둘 중 하나이다.
* '''참조 무결성 제약조건(Referential integrity constraints)'''
** 참조하는 릴레이션의 튜플들의 외부 키(Foreign key) 속성값은 참조되는 릴레이션 튜플의 기본 키(Primary key) 속성값과 일치하거나 NULL 값을 가져야 한다.

Revision as of 10:15, 29 April 2019

Relational Database
데이터 관계를 중심으로 구현한 데이터베이스
  • 구조를 나타내는 릴레이션 스키마와 실제 값들인 릴레이션 인스턴스로 구성

데이터 표현

  • 데이터를 표(Table)형태로 표현
  • 튜플(Tuple)
    • 릴레이션을 구성하는 각 행을 의미
    • 속성 값의 모임으로 구성
    • 파일 구조에서 레코드
    • 튜플의 수 = 카디날리티(Cardinality)
  • 속성(Attribute)
    • 릴레이션을 구성하는 각 열
    • 데이터베이스를 구성하는 가장 작은 논리적 단위
    • 파일 구조의 데이터 필드
    • 속성의 수 = 디그리(Degree)
  • 도메인(Domain)
    • 속성이 취할 수 있는 원자값들의 집합
    • ex) 속성이 '성별'일 경우 도메인은 '남자 또는 여자'
  • 인스턴스(Instance)
    • 속성들에 값이 부여되어 튜플을 이룬 형태

데이터 키

  • 슈퍼 키(Super Key)
    • 어떤 릴레이션의 어떠한 튜플들도 같은 값을 가지지 않는 속성, 또는 속성들의 조합
    • 유일성 O / 최소성 X
  • 후보 키(Candidate Key)
    • Tuple을 유일하게 식별하기 위해 사용되는 속성들의 부분집합
    • 유일성 O / 최소성 O
  • 기본 키(Primary Key)
    • 후보키 중 선정된 Key
    • 중복된 값 X / Not Null / 유일성 O / 최소성 O
  • 대체 키(Alternate Key)
    • 후보 키 중 선정된 기본 키를 뺀 나머지 키들
    • 유일성 O / 최소성 O
  • 외부 키(Foreign Key)
    • 다른 릴레이션의 Primary Key를 참조하는 속성
    • 중복된 값 X / Not Null / 유일성 O / 최소성 O

무결성 제약 조건

Integrity Constraint
  • 도메인 제약조건(Domain constraints)
    • 각 속성은 반드시 각 속성의 도메인에 속하는 원자값(atom value)이어야 한다.
    • 각 칼럼은 그 칼럼의 데이터 타입, 범위에 만족하는 값이어야 한다.
  • NULL 제약조건(Constraints on NULLS)
    • 각 칼럼은 일반적으론 NULL값을 가질 수 있다.
    • NOT NULL로 설정되어 있다면 NULL값을 가질 수 없다.
  • 키 제약조건(Key constraints)
    • 기본 키(Primary key)나 unique 칼럼은 유일성을 가지고 있어야 한다.
  • 개체 무결성 제약조건(Entity integrity constraints)
    • 기본 키(Primary key)는 NULL일 수 없다.
    • unique칼럼은 중복되지 않거나, NULL이거나 둘 중 하나이다.
  • 참조 무결성 제약조건(Referential integrity constraints)
    • 참조하는 릴레이션의 튜플들의 외부 키(Foreign key) 속성값은 참조되는 릴레이션 튜플의 기본 키(Primary key) 속성값과 일치하거나 NULL 값을 가져야 한다.