1. relational model

2024. 3. 7. 12:30데이터베이스

728x90

DBMS(Database Management System)

: 응용 프로그램이 데이터베이스에 정보를 저장하고 분석할 수 있도록 하는 소프트웨어

 

DBMS의 목적

: 일부 데이터 모델에 따라 데이터베이스의 정의, 생성, 쿼리, 업데이트 및 관리를 지원

 

data model

: 데이터베이스의 데이터를 설명하기 위한 개념 모음

 

schema

: 특정 데이터 모델을 사용하여 특정 데이터 컬렉션을 묘사

데이터베이스의 논리적 구조

 

 

instance

: 그 당시의 데이터베이스에서 데이터들의 스냅샷 (예시)

 

 

relation

: 테이블, 표

순서가 없는(Unordered) 집합

 

tuple

: relation에서 속성값의 집합

순서가 있는 집합. 순서쌍.

즉, 행

 

attribute

: 속성

atomic 하다 (원자성)

-> 나누어지지 않는 최소 단위

 

 

Relation Model

 

  • high-level language로 데이터 접근
  • 외부 스키마(뷰) -> 논리적 스키마(스키마, 제약조건) -> 물리적 스키마(페이지, 파일 등)

 

 

<Key>

super key

: 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키

튜플 식별 가능

모든 튜플에 대해 유일성은 만족, 최소성은 만족 x

예) {ID}, {ID,name}

 

candidate key

: 릴레이션을 구성하는 속성들 중에서

튜플을 유일하게 식별하기 위해 사용되는 속성들의 부분집합

슈퍼키 중에서 식별가능한 최소의 개수만 가진 키

예) {ID}

 

primary keys

: 유일하게 한 튜플을 구별가능한 키

후보키 중에서 특별히 선정된 키.

중복된 값과 NULL값 x

-> 유일성, 최소성

 

foreign key

: 한 릴레이션의 속성이 다른 릴레이션의 튜플에 매핑되도록 지정하는 키

중복 허용, NULL 입력 가능

-> 유일성, 최소성 x

 

 

 

<Relational Algebra: 관계 대수>

: 절차적인 언어.

-> 무엇을 어떻게 다룰지 필요하다. 

반면에 SQL은 선언적인 언어.

-> 무엇을 다룰지만 필요하다.

 

 

기본 연산자

 

1. select

: 조건에 만족하는 튜플(행)을 select

* SQL에서 select는 열을 select 한다는 점에서 다름.

조건에서  관계 연산, 논리 연산 가능.

예)

 

 

 

2. project

: unary operation: 인자가 하나.

특정 속성을 가져옴.

릴레이션은 집합이므로 중복된 행은 결과에서 제거됨.

예) 

 

이렇게도 가능.

 

 

3. cartesian-product 

: 두 릴레이션으로부터 결합

-> 모든 데이터의 조합

-> 릴레이션 1의 행이 M개, 릴레이션 2의 행이 N개라 할 때,

결과는 M*N의 행(튜플) 반환.

릴레이션 1의 속성의 수가 x개, 릴레이션 2의 속성의 수가 y개라면,

결과는 x+y개의 속성 반환.

예)

 

 

4. Join 

: 두 릴레이션을 cartesian product로 가져오고 

조건에 맞는 것만 select 해온다.

예)

 

 

5. Union Operation

: 합집합

  • r, s의 속성들의 수가 일치해야 함.
  • r, s의 속성들의 도메인이 일치해야 함.

예)

 

 

6. Set-Intersection Operation

: 교집합

 

역시나 속성들의 수와 도메인이 일치해야 함.

예) 

 

 

7. Set Difference Operation

: 차집합

 

역시나 속성들의 수와 도메인이 일치해야 함.

예) 

 

8. The Assignment Operation

: 별칭을 지어주는 연산자

예)

 

 

9. The Rename Operation

: 이름을 새로 지어주는 연산자

-> E라는 릴레이션을 x로 이름 붙이겠다는 뜻.

 

 

 

 

Equivalent Queries

 

두 쿼리는 절차는 달라 not identical 하지만

결과는 동일하다.

 

 

728x90

'데이터베이스' 카테고리의 다른 글

6. Normalization  (0) 2024.04.16
5. E-R model  (0) 2024.04.08
4. Modern SQL  (1) 2024.04.02
3. Intermediate SQL  (2) 2024.03.26
2. Introduction to SQL  (0) 2024.03.18