본문 바로가기

학교공부/데이터베이스

데이터 베이스 2장(관계 데이터 모델과 제약조건)

관계 데이터 모델은 지금까지 제안된 데이터 모델들 중에서 가장 개념이 단순한 데이터 모델의 하나

 

 

릴레이션(relation) : 2차원 테이블

레코드(record) : 릴레이션의 각 행

투플(tuple) : 레코드를 좀더 공식적으로 부르는 용어, 레코드랑 같은 말

애트리뷰트(attribute) : 릴레이션에서 이름을 가진 하나의 열

 

 

카디날리티 : 행들의 수, 릴레이션의 투플 수

0이 될 수 도있음.

시간에 따라 삽입 삭제로 계속 바뀜

 

차수 : 열들의 수 , 한 릴레이션에 들어 있는 애트리뷰트들의 수

유요한 릴레이션의 최소 차수는 1

자주안바뀜

 

2.1 예시로 보면 EMPNAME의 도메인은 이수민, 조민희, 김동수 등등의 사람의 이름 집합이 된다.

 

 

 

 

내포와 외연

 

예시 

 

 

 

릴레이션을 모으면 데이터베이스

 

 

 

릴레이션의 특성

 

릴레이션의 집합이니까 당연히 튜플 중복 없음.

 

투플 순서 노상관.  위 두개는 동일한 릴레이션

 

 

질문 그림 2.7의 문제를 어떻게 해결 할까?

부서에 대한 정보를 나타내는 테이블을 만든다음에. Floor 테이블을 또 따로 만들어서 부서번호와 층번호를 가지는 방식으로 사용. 

 


릴레이션의 키

모든 릴레이션에 최소 한 개 이상의 후보 키가 있다. 왜냐? 릴레이션의 튜플들에 집합이기 때문에 중복을 허용하지 않느다. 따라서 튜플들을 구별해주는 후보 키가 존재한다.

 

 

 

후보 키 여러개 있으면 그중 하나 선택. 자연스럽게 튜플을 대표할 수 있는 키를 선택한다.

 

 

 

수퍼 키 중에 미니멀 키가 후보키, 그중 선택한게 기본 키 나머지가 대체 키

 

 

 

외래 키의 유형

다른 릴레이션의 기본 키를 참조하는 외래 키

자체 릴레이션의 기본 키를 참조하는 외래 키

 

기본 키의 구성요소가 되는 외래 키

 

 

 

무결성 제약조건

 

1. 도메인 제약 조건

애트리뷰트 값이 원자값이어야함, 또한 값의 범위 형식 등 제약.

이런식으로 도메인 제약 지정가능

2. 키 제약조건

키에는 유니크 값이 들어가야함

3. 엔티티 무결성 제약조건

 

4. 참조 무결성 제약조건 (외래키)

 

EMPLOYEE 테이블에서 DEPARTMENT의 키를 참조한다. 이때 참조 무결성 제약조건을 지정한다? 

 

 

 

 

 

그럼 이걸 어떻게 유지할까?

3가지상황 삽입 삭제 수정

1. 삽입하는 상황일시

2. 삭제하는 상황일시

참조 중인거 삭제시키면 문제생김.

 

암튼 문제 생겼을때 참조 무결성 제약조건을 만족하기 위해 DBMS가 제공하는 옵션

이때 사용자가 4가지 옵션을 사용해서 처리할 수 있다.

제한 연쇄 널값 디폴드값

 

 

널값인 경우 위에 그림으로 설명하면 박영권 최종철 DNO에 NULL을 넣는것을 의미

default값 예시

디폴드값 설정해 놓면 NULL값대신 default값 넣을수 있음.

 

위처럼 옵션 설정해서 삭제가능

3. 수정하는 상황일시

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'학교공부 > 데이터베이스' 카테고리의 다른 글

데이터베이스 4 -5  (0) 2020.10.21
실습 모음  (0) 2020.10.21
데이터베이스 4-2 SQL  (0) 2020.10.06
데이터베이스 4장 관계대수  (1) 2020.09.20
데이터베이스 시스템 1장  (0) 2020.09.03