Search

2 : Relational Models

course
last review
2023/04/14
mastery
ranger
progress
not started
date
2023/03/07
4 more properties
previous chapter

Introduction to Relational Model

R=(A1,A2,A3...An)R = (A_1, A_2, A_3...A_n)

Attribute Types

각각의 Attribute에는 Domain(Di)이라는 게 존재하며, Attribute는 Domain의 제약 안에서 구성이 가능하다.
Di : 8자리 Positive value
Attribute 값은 atomic하기를 요구된다.
null값은 Special 밸류 취급되며, 도메인의 멤버에 포함된다.

Relation Schema and Instance

R=(A1,A2,A3...An)R = (A_1, A_2, A_3...A_n)
A : Attributes
R : Relation Schema
instructor = (ID, name, dept_name, salary)
인스턴스 r이 Schema R에 의해 정의될 경우 r(R)이라고 나타낼 수 있다.

Relations는 순서가 정해져있지 않음

일반적으로 tuples는 들어온 순서대로임.
즉, 정렬되지 않는다.
반면 Relation 은 tuple 구조이기 때문에 Attribute의 순서를 잘 지켜야 한다.

Database

데이터베이스는 복수의 Relation으로 이루어진다.
EX ) 대학 DB는 다음과 같은 Relation으로 이루어진다.
Instructor
Student
Advisor
구린 디자인
univ(instructor -ID, name, dept_name, salary, student_ID, ..)
한 곳에 다 때려박는 건 좋지 않음

Keys

KRK \subseteq R
Superkey : 데이터를 구별할 수 있는 핵심 키
ID는 모두가 Identical한 숫자를 부여받으므로 superkey라고 할 수 있다.
ID + 이름의 Relation이 있을 때 ID가 있기 때문에 superkey라고 볼 수 있다.
결국 ID+@의 조합으로 여러가지 슈퍼키가 만들어질 수 있는데
SuperKey가 될 수 있는 최소의 조건은 결국 ID일 것이다.
이를 Candidate Key라고 한다.
Candidate Key 중 하나가 Primary Key로 선택받을 수 있다.
Foreign Key : 복수의 테이블에 중복으로 존재하는 Key
2023-03-09 수업 정리

Relational Query Languages

Relation을 바탕으로 Relation 모델이 존재할 때, Relation을 대상으로 쓸 수 있는 공용의 언어
SQL(Structured Query Language)
관계 대수
Tuple 관계 calculus (x)
Domain 관계 calculus (x)
관계 연산자
Relational Query Languages는 6개의 관계 연산자를 사용

Selection of tuples : σ

Relation r:
A = B && D > 5 인 tuples을 찾아라
σA=B and D>5(r)σ_{A=B \space and \space D>5}(r)

Projection of attributes : ∏

필요한 Column만 뽑아낼 수 있음
중복되는 데이터를 간략화함(?)
 A, C (r)∏ \space A, \space C \space (r)

Union of two relations : ∪

r  sr\space ∪ \space s

Set difference of two relations : -

rsr -s
교집합에 해당하는 부분은 제거, 나머지는 그냥 없던거로

Set Intersection of two relations : ∩

Joining two relations - Cartesian Product : ×

r과 s의 조합
키가 겹치는 경우에 대해서도 생각할 것!

Joining two relations - Natural Join :

관계 r와 s는 자기만의 column이 있다고 가정하자.
아래 그림에서 r과 s의 공통 column은 B, D이다.
r의 B,D(1) = s의 B,D(1) = B,D(4) = s의 B,D(3) 이다.
A,C,E에서 값을 가져온다.

Natural Join Example

Relational Operation의 연산 결과 후, 중복되는 값은 생략하는게 원칙.
→다만, SQL에서는 (일반적으로) 중복된 값도 다 보여준다.

The Rename Operation ρ

복잡한 Relation Operation을 하나의 변수처럼 치환해주는 연산자.
ρx(E)ρ_x(E)
Next Chapter