티스토리 뷰

[한빛아카데미] 오라클로 배우는 데이터베이스 개론과 실습 책으로 학습한 내용을 정리한 것입니다.

 

* 관계 데이터 모델

- 1970년대 IBM연구소에서 근무하던 수학자 E. F. Codd박사가 제안

- 수학의 집합이론에 근거하고 있어 타 모델에 비해 튼튼한 이론적인 토대를 가지고 있음

- 관계 데이터 모델이 적용된 SQL언어는 비절차적인 언어로 원하는 데이터를 쉽게 표현하는 장점이 있음

 

* 릴레이션(Relation)

- 행과 열로 구성된 테이블을 말함

[릴레이션과 관련된 한글 용어]

용어 한글 용어 비고
relation 릴레이션, 테이블 '관계'라고 하지 않음
relational data model 관계 데이터 모델  
relational database 관계 데이터베이스  
relational algebra 관계대수  
relationship 관계  

 

* 릴레이션 스키마와 인스턴스

- 스키마(Schema) : 관계 데이터베이스의 릴레이션이 어떻게 구성되는지 어떤 정보를 담고 있는지 기본적인 구조 정의

- 인스턴스(Instance) : 정의된 스키마에 따라 테이블에 실제로 저장되는 데이터의 집합을 의미

출처 : https://deftkang.tistory.com/50

 

- 릴레이션 스키마 : 릴레이션에 어떤 정보가 담길지를 정의함

 1) 속성(Attribute) : 릴레이션 스키마의 열

 2) 도메인(Domain) : 속성이 가질 수 있는 값의 집합

 3) 차수(Degree) : 속성의 개수

 

- 릴레이션 인스턴스 : 릴레이션 스키마에 실제로 저장된 데이터의 집합

 1) 투플(Tuple) : 릴레이션의 행

 2) 카디날리티(Cardinality) : 투플의 수

 

* 릴레이션의 특징

- 속성은 단일 값을 가짐

- 속성은 서로 다른 이름을 가짐

- 한 속성의 값은 모두 같은 도메인 값을 가짐

- 속성의 순서는 상관 없음

- 릴레이션 내의 중복된 투플은 허용하지 않음

- 투플의 순서는 상관 없음 

 

* 관계 데이터 모델

- 데이터를 2차원 테이블 형태인 릴레이션으로 표현하며 릴레이션에 대한 제약조건(Constraints)과 관계 연산을 위한 관계대수(Relational Algebra)를 정의함

- 관계 데이터베이스 시스템 : 컴퓨터 시스템에 구현한 것으로, 관계 데이터 모델에 기초하여 SQL을 기반으로 구현됨

 

* 데이터베이스 키(Key)

1) 키(Key) : 릴레이션에서 특정 투플을 식별할 때 사용하는 속성 혹은 속성의 집합, 투플들을 구분할 수 있어야 함(중복X)

2) 슈퍼키(Super Key) : 투플을 유일하게 식별할 수 있는 하나의 속성 혹은 속성의 집합

3) 후보키(Candidate Key) : 투플을 유일하게 식별할 수 있는 속성의 최소 집합

4) 복합키(Composite Key) : 두 개 이상의 속성으로 이루어진 키

5) 기본키(PK, Primary Key) : 여러 후보키 중 하나를 선정하여 대표로 삼는 키

6) 대리키(Surrogate Key) : 기본키가 보안을 요하거나, 여러 개의 속성으로 구성되어 복잡하거나, 마땅한 기본키가 없을 때는 일련번호 같은 가상의 속성을 만들어 기본키를 삼는 키

7) 대체키(Altermate Key) : 기본키로 선정되지 않은 후보키

8) 외래키(FK, Foreign Key) : 다른 릴레이션의 기본키를 참조하는 속성

 

* 외래키의 특징

- 관계 데이터 모델의 릴레이션 간의 관계를 표현함

- 다른 릴레이션의 기본키를 참조하는 속성

- 참조하고(외래키) 참조되는(기본키) 양쪽 릴레이션의 도메인은 서로 같아야 함

- 참조되는(기본키) 값이 변경되면 참조하는(외래키) 값도 변경됨

- NULL값과 중복 값 등이 허용됨

- 자기 자신의 기본키를 참조하는 외래키도 가능함

- 외래키가 기본키의 일부가 될 수 있음

 

* 무결성 제약조건

- 데이터 무결성(Integrity) : 데이터베이스에 저장된 데이터의 일관성과 정확성을 지키는 것

- 도메인 무결성 제약조건(Domain Integrity Constraint) : 릴레이션 내의 투플들이 각 속성의 도메인에 지정된 값만 가져야 한다는 조건

- 개체 무결성 제약조건(Entity Integrity Constraint) : 릴레이션은 기본키를 지정하고 그에 따른 무결성 원칙으로 기본키는 NULL값을 가져서는 안되며 릴레이션 내에 오직 하나의 값만 존재해야 한다는 조건

- 참조 무결성 제약조건(Referential Integrity Constraint) : 릴레이션 간의 참조 관계를 선언하는 제약조건

구분 도메인
도메인 무결성 제약조건 개체 무결성 제약조건 참조 무결성 제약조건
제약 대상 속성 투플 속성과 투플
같은 용어 도메인 제약
(Domain Constraint)
기본키 제약
(Primary Key Constraint)
외래키 제약
(Foreign Key Constraint)
해당되는 키 - 기본키 외래키
NULL 값 허용 여부 허용 불가 허용
릴레이션 내 제약조건의 개수 속성의 개수와 동일 1개 0~여러개
기타 - 투플 삽입/수정 시 제약사항 우선 확인 - 투플 삽입/수정 시 제약사항 우선 확인 - 투플 삽입/수정 시 제약사항 우선 확인
- 부모 릴레이션의 투플 수정/삭제 시 제약사항 우선 확인

 

* 참조 무결성 제약조건의 옵션(부모 릴레이션에서 투플을 삭제할 경우)

명령어 의미
RESTRICTED 자식 릴레이션에서 참조하고 있을 경우 부모 릴레이션의 삭제 작업을 거부함
CASCADE 자식 릴레이션의 관련 투플을 같이 삭제함
DEFAULT 자식 릴레이션의 관련 투플을 미리 설정해둔 값으로 변경함
NULL 자식 릴레이션의 관련 투플을 NULL값으로 설정함(NULL값을 허가한 경우)
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/06   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
글 보관함