728x90
- E-R model의 개념
- Relation이란? E-R model에서 하나의 개체에 관한 데이터를 저장하는 테이블을 Relation 이라고 한다.
- Relation의 열(속성)을 Atrribute라 한다.
- Reation의 행을 Tuple이라 한다.
- 속성 하나가 가질 수 있는 모든 값의 집합을 Domain이라 한다.
- 차수
- 한 릴레이션에서 속성의 전체 개수(열의 개수)
- 카디널리티
- 한 릴레이션에서 튜플의 전체 개수(행의 개수)
- 릴레이션 스키마 : 릴레이션의 이름과 릴레이션에 포함된 모든 속성의 이름으로 정의하는 논리적 구조
- 논리적 구조를 정의하기 때문에 자주 변하지 않는다는 정적인 특징 존재
- 릴레이션 인스턴스 : 어느 한 시점에 릴레이션에 존재하는 튜플들의 집합.
- 튜플의 삽입, 삭제, 수정이 자주 발생한다는 동적인 특징 존재
- 릴레이션의 특징
- 튜플(Tuple)의 유일성 : 하나의 릴레이션에는 동일한 튜플이 존재할 수 없다. 튜플 구별을 위해 선정되는 속성을 Key라고 함.
- 튜플(Tuple)의 무순서 : 하나의 릴레이션에서 튜플 사이의 순서는 무의미하다. (순서 상관 없이 튜플이 같으면 동일한 릴레이션)
- 속성(Attribute)의 무순서 : 하나의 릴레이션에서 속성 사이의 순서는 무의미하다.
- 속성(Atrribute)의 원자성 : 속성 값으로 원자 값만 사용할 수 있다. 즉, 한 속성이 다중 값을 가질 수 없다.
- 키
- 튜플들을 구별해주는 역할을 한다.
- 슈퍼 키 : super key
- 유일성을 만족한다. 유일성은 키가 만족 해야 하는 기본 속성이다.
- 슈퍼 키로 지정된 속성은 튜플마다 달라야 한다. (유일하게 식별되어야 한다)
- 후보 키 : candidate key
- 유일성, 최소성을 만족한다. 최소성은 꼭 필요한 속성들로만 키를 구성하는 특성이다.
- 슈퍼 키 중 최소성을 만족하는 키가 후보 키가 된다.
- 기본 키 : primary key
- 여러 후보 키 중 기본으로 사용될 키를 의미한다. (당연히 유일성, 최소성을 만족한다.)
- NULL값이 있을 수 있다면 기본 키로 적합하지 않다.
- 값이 자주 변경될 가능성이 있다면 기본 키로 적합하지 않다.
- 단순 후보키 (자리수가 적은 정수, 단순 문자열 등)이 기본 키로 적합하다.
- 대체 키 : alternative key
- 기본 키로 선택되지 못한 후보키 들이다.
- 외래 키 : foreign key
- 어떤 릴레이션에 소속된 속성이 다른 릴레이션의 기본 키가 되는 키이다.
- 릴레이션의 관계를 올바르게 표현하기 위해 사용한다.
- E-R model 제약 조건
- 기본 제약 사항 : 무결성 제약 조건 ( 개체 무결성 / 참조 무결성 )
- 데이터가 정확하고 유효하게 유지된 상태를 말한다. 데이터의 무결성을 보장하고 일관성을 유지하는 것이다.
- 개체 무결성 제약 조건
- 기본 키를 구성하는 모든 속성은 NULL값을 가지면 안됨. (튜플의 유일성을 상실할 수 있기 떄문)
- DBMS에서 자동으로 수행된다.
- 참조 무결성 제약 조건
- 외래키는 참조할 수 없는 값을 가질 수 없다. 참조할 수 없는 값을 가지게 되면 외래키로써의 의미가 없어진다.
- 자신이 참조하는 릴레이션에 기본 키 값으로 존재하는 값만을 참조할 수 있다.
- 기본 제약 사항 : 무결성 제약 조건 ( 개체 무결성 / 참조 무결성 )
Q. Primary key와 compound key(복합 키)의 차이는?
기본 키는 모든 튜플을 구분해주는 어트리뷰트를 의미한다. 각 릴레이션은 모두 기본 키가 있어야 한다.
기본 키는 유일성, 최소성을 만족해야 하며 null값이 들어갈 수 없다.
복합 키는 2개 이상의 어트리뷰트 구성이 튜플을 구분해주는 것을 의미한다.
Q. Unique key란?
유니크 키는 유일성을 가지기 위해 설정한 키이다. 중복이 되는 것을 방지한다.
한 테이블 당 여러 개 생성할 수 있고, 또한, null값을 허용한다.
Q 데이터 무결성 제약 조건을 서술하시오.
데이터 무결성 제약 조건이란 테이블에 부적절한 자료가 입력되는 것을 방지하기 위해 정의하는 규칙들을 의미한다.
NOT NULL : NULL값을 가질 수 없다.
UNIQUE key: 중복된 값을 가질 수 없으며 항상 유일해야 한다.
PRIMARY key : Not null, table(relation)당 1개
Foreign key ; 참조되는 테이블의 칼럼 값이 존재해야 한다. 부모 키가 자식 키의 pk, unique key여야 한다.
Q 무결성을 유지해야 하는 이유는?
무결성이 유지되어야 데이터베이스에 저장된 값과 거기에 해당하는 현실 세계의 실제값이 일치하는 지 신뢰할 수 있기 때문이다.
Q. 참조 무결성이란?
E-R model에서 관련된 테이블 간의 일관성 (데이터 무결성) 을 말한다.
사용자의 실수로 관련 데이터가 삭제, 수정되는 것을 막는다.
참조 무결성 제약 조건이란, 기본 테이블에서 일치하는 값이 기본키 or 고유한 인덱스를 갖고있거나 or 관련 데이터 형식이 같아야 한다는 조건이다.
728x90
'Database > DB' 카테고리의 다른 글
Database Chapter 7 - SQL연산, View (0) | 2022.03.22 |
---|---|
Database Chapter 6 - SQL (0) | 2022.03.19 |
Join, subquery (0) | 2022.03.17 |
Database Chapter 4 - 데이터 모델링 (0) | 2022.03.12 |
Database Chapter3 - 데이터베이스 시스템 (0) | 2022.03.12 |
댓글