본문 바로가기
SQL

관계형 데이터베이스(Relation Database)

by rubyda 2021. 3. 15.
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