Post on 29-Mar-2021
1
2장.관계형모델소개
이동호
데이터베이스연구실
소프트웨어학부
2
목차
• 2.1 관계형데이터베이스구조
• 2.2 데이터베이스스키마
• 2.3 키
• 2.4 스키마다이어그램
• 2.5 관계형질의언어
• 2.6 관계형연산
3
2.1 관계형데이터베이스구조
• Instructor 릴레이션속성(attributes)
(혹은 열)
튜플(tuples)
(혹은 행)
4
관계형데이터베이스구조 (Cont.)
• 릴레이션
– 테이블을의미함
• 튜플(혹은레코드)
– 테이블에서하나의행을의미함
• 속성
– 테이블에서하나의열을의미함
– 속성의특징
• 각속성이갖을수있는값의범위를도메인(domain)이라함
• 속성값은원자적(즉, 더이상쪼갤수없음)이어야함
• 널(null)값은모든도메인의멤버
• 널값은많은연산에서복잡성을일으킬수있음
5
2.2 데이터베이스스키마
• 데이터베이스는다수의릴레이션들의집합임
• 데이터베이스스키마
– 데이터베이스의논리적설계
• 데이터베에스인스턴스
– 어떤순간데이터베이스에실제데이터가존재하는것
• 릴레이션스키마
– 테이블의논리적설계
– 즉, 속성들과도메인들의집합
• 릴레이션인스턴스
– 어떤수간테이블에존재하는실제데이터가존재하는것
6
데이터베이스스키마 (Cont.)
• 속성 : A1, A2, …, An
• 릴레이션스키마 : R = (A1, A2, …, An )
예제:
instructor = (ID, name, dept_name, salary)
• 도메인 D1, D2, …. Dn 주어졌을경우, 어떤릴레이션 r 은 D1
x D2 x … x Dn 의부분집합이다.
– 결국, 릴레이션은 n개의튜플(a1, a2, …, an)들의집합이다. (여
기서각각의 ai Di)
• 릴레이션의인스턴스는테이블로명세됨
• 릴레이션 r의원소 t는튜플이며테이블에서행에해당함
7
2.3 키(Keys)
• 키(K)는속성들의집합. 즉, 키(K) 릴레이션(R)
• 수퍼키(superkey)
– 만약 K의값들이 R의모든튜플들을유일하게구별하는데충분하다면 K를수퍼키라고한다.
• 예제: {ID}와 {ID, name}은릴레이션 instructor의주키
• 후보키(candiate key)
– 수퍼키의부분집합이수퍼키가아닌최소한의수퍼키를후보키라고한다.
• 예제: {ID}는후보키임
{ID, name}는후보키 ?
{name, dept_name}는후보키 ?
• 후보키중에하나를주키(primary key)로선택할수있음
• 외래키(foreign key) 제약조건: 어떤릴레이션에존재하는값은또다른릴레이션에반드시나와야한다.
8
2.4 스키마다이어그램
• 데이터베이스스키마는스키마다어이그램으로표시됨
Schema diagram for the university database
9
2.5 관계형질의어
• 순수(pure) 질의어
– 관계 대수(algebra)
– 튜플 관계 해석(calculus)
– 도메인 관계 해석
• 관계 연산자 (기호)
– 선택 연산 ( σ )
– 추출 연산 ( Π )
– 합집합 ( )
– 차집합 ( – )
– 교집합 ( )
– 조인(join) –두릴레이션을합치는연산
• 카티션 곱(cartesian product) ( x )
• 자연조인(natural join) ( )
10
2.6 관계연산- 선택(selection) 연산
릴레이션 r
A=B 그리고 D > 5 인조건을 만족하는 튜플
σ A=B and D > 5 (r)
11
추출(projection) 연산
A 그리고 C 속성만추출
Π A, C (r)
릴레이션 r
12
합집합(union)
r s:
릴레이션 r, s
13
차집합(difference) 연산
r – s:
릴레이션 r, s
14
교집합(intersection)
r s:
릴레이션 r, s
15
카티션곱(cartesian product)
r x s:
릴레이션 r, s
16
자연조인(natural join)
• r 과 s를 각각 스키마 R과 S에서 정의된 릴레이션이라고 하자.
• r과 s의 자연조인(r s)은 r에 존재하는 튜플 tr 과 s에 존재하는 튜플 ts 의 모든 쌍(pair)에 대해서 아래의 조건을 만족하는튜플들의 집합이다.
– tr 과 ts가 R S 에 존재하는 각 속성에 대해서 동일한 값을 갖는경우
자연조인이란 릴레이션 R과 S에 공통적으로 존재하는 속성들을 이용하여공통 속성들의 값들이 서로 같은 투플들을 합치는 것이다.
17
자연조인 - 예제
자연조인
r s
릴레이션 r, s
18
관계대수