728x90
관계형 데이터베이스(Relation Database)
관계형 데이터베이스의 등장
- 1970년대 E.F. Codd박사 논문에서 처음 소개되었다.
- 릴레이션과 릴레이션의 조인 연산을 통해서 합집합, 교집합, 차집합 등을 만들 수 있다.
- Oracle, MS-SQL, MySQL, Sybase 등의 관리 시스템 있다.
데이터베이스와 데이터베이스 관리 시스템의 차이점
- 데이터베이스는 데이터를 어떤 형태의 자료구조로 사용하느냐에 따라서 나누어진다.
- 계층형 데이터베이스는 트리(Tree)형태의 자료구조에 데이터를 저장하고 관리한다.
- 계층형 데이터베이스는 1대 N관계를 표현한다.
- 네트워크는 오너와 멤버 형태로 데이터를 저장한다.
- 네트워크 데이터베이스는 1대N과 N대N으로 표현 가능하다.
- 관계형 데이터베이스는 릴레이션에 데이터를 저장하고 관리한다.
- 관계형 데이터베이스는 릴레이션을 집합 연산과 관계 연산을 할 수 있다.
- 데이터베이스 관리 시스템은 계층형 데이터베이스, 네트워크 데이터베이스, 관계형 데이터베이스 등을 관리하기 위한 소프트웨어 의미 하며, DBMS라고도 한다.
- DBMS의 종류에는 Oracle, MS-SQL, MySQL, Sybase 등이 있다.
관계형 데이터베이스의 집합 연산과 관계 연산
: 관계형 데이터베이스의 특징은 릴레이션을 사용해 집합 연산과 관계 연산을 할 수 있다.
> 집합 연산
집합 연산 |
설명 |
합집합(Union) |
두 개의 릴레이션을 하나로 합함, 중복된 행(튜플)은 한 번만 조회 됨 |
차집합(Difference) |
본래 릴레이션에는 존재하고 다른 릴레이션에는 존재하지 않는 것을 조회 함 |
교집합(Intersection) |
두 개의 릴레이션 간에 공통된 것을 조회함 |
곱집합(Cartesian product) |
각 릴레이션에 존재하는 모든 데이터를 조합해 연산함 |
관계 연산
- 선택 연산(Selection): 릴레이션에서 조건에 맞는 행(튜플)만을 조회함
- 투영 연산(Projection): 릴레이션에서 조건에 맞는 속성만을 조회함
- 결합 연산(Join): 여러 릴레이션의 공통된 속성을 사용해 새로운 릴레이션을 만들어냄
- 나누기 연산(Division): 기준 릴레이션에서 나누는 리레이션이 가지고 있는 속성과 동일한 값을 가지는 행(튜플)을 추출하고 나누는 릴레이션의 속성을 삭제한 후 중복된 행을 제거하는 연산
테이블의 구조
- 관계형 데이터베이스는 릴레이션에 데이터를 저장하고 릴레이션을 사용해 집합 연산 및 관계 연산을 지원하여 다양한 형태로 데이터를 조회할 수 있음
- 릴레이션은 데이터베이스 관리 시스템에서 테이블로 만들어짐
- 기본키는 하나의 테이블에서 유일성과 최소성, Not Null을 만족하면서 해당 테이블을 대표하는 것
- 테이블은 행과 칼럼으로 구성됨
- 행은 하나의 테이블에 저장되는 값으로 튜플(Tuple) 이라고도 함
- 칼럼은 어떤 데이터를 저장하기 위한 필드로 속성(Attribute)이라고도 함
- 외래키는 다른 테이블의 기본키를 참조(조인)하는 칼럼
- 외래키는 관계 연산 중에서 결합 연산(조인)을 하기 위해서 사용
'SQL' 카테고리의 다른 글
[Oracle VS Mysql] 나머지 구하기 (0) | 2021.03.22 |
---|---|
SQL(Structured Query Language) 종류 (0) | 2021.03.15 |
엔터티 식별자 (0) | 2021.03.14 |
관계(Relationship) (0) | 2021.03.14 |
속성(Attribute) (0) | 2021.03.14 |