[SQL 기본]관계형 데이터베이스(Relation Database)

yellong·2020년 5월 27일
0

SQLD

목록 보기
10/27
post-thumbnail

관계형 데이터베이스란?

  • 관계형 데이터베이스는 1970년대 E.F. Codd박사의 논문에서 처음 소개된 데이터베이스이다.
  • 관계형 데이터베이스는 릴레이션(Relation)과 릴레이션의 조인 연산을 통해서 합집합, 교집합, 차집합 등을 만들 수 있다.
  • 현재 기업에서 가장 많이 사용하는 데이터베이스로 Oracle, MS-SQL, MySQL, Sybase 등의 다양한 데이터베이스 관리 시스템이 있다.

데이터베이스와 데이터베이스 고나리 시스템의 차이점

  • 데이터베이스는 데이터를 어떠한 자료 구조(Data Structure)로 사용하느냐에 따라서 나누어진다.
  • 데이터베이스의 종류로는 계층형, 네트워크형 데이터베이스, 관계형 데이터베이스 등이 있다.
  • 계층형 데이터베이스는 트리(Tree) 형태의 자료구조에 데이터를 저장하고 관리하며, 네트워크는 오너(Owner)와 멤버(Member) 형태로 데이터를 저장한다.
  • 계층형 데이터베이스는 1:N 관계를 표현한다.
  • 네트워크 데이터베이스는 1:N, M:N 표현이 다 가능하다.
  • 관계형 데이터베이스는 릴레이션에 데이터를 저장하고 관리한다.
  • 관계형 데이터베이스는 릴레이션을 사용해서 집합 연산과 관계 연산을 할 수 있다.

  • 데이터베이스 관리 시스템(Database Management System)은 계층형 데이터베이스, 네트워크 데이터베이스, 관계형 데이터베이스 등을 관리하기 위한 소프트웨어를 의미하며, 일명 DBMS라고도 한다.
  • DBMS의 종류에는 Oracle, MS-SQL, MySQL, Sybase 등이 있으며, 모두 관계형 데이터베이스를 지원한다.

관계형 데이터베이스 집합 연산과 관계 연산

  • 관계형 데이터베이스의 특징은 릴레이션을 사용해서 집합 연산과 관계 연산을 할 수 있다.
  • 집합 연산
집합 연산설명
합집합(Union)- 두 개의 릴레이션을 하나로 합하는 것이다.
- 중복된 행(튜플)은 한 번만 조회된다.
차집합(Difference)본래 릴레이션에는 존재하고 다른 릴레이션에는 존재하지 않는 것을 조회한다.
교집합(Intersection)두 개의 릴레이션 간에 공통된 것을 조회한다.
곱집합(Cartesian product)각 릴레이션에 존재하는 모든 데이터를 조합하여 연산한다.
  • 관계 연산
관계 연산설명
선택 연산(Selection)릴레이션 조건에 맞는 행(튜플)만을 조회한다.
투영 연산(Projection)릴레이션에서 조건에 맞는 속성만을 조회한다.
결합 연산(Join)여러 릴레이션의 공통된 속성을 사용해서 새로운 릴레이션을 만들어낸다.
나누기 연산(Division)기준 릴레이션에서 나누는 릴레이션이 가지고 있는 속성과 동일한 값을 가지는 행(튜플)을 추출하고 나누는 릴레이션의 속성을 삭제한 후 중복된 행을 제거하는 연산이다.

테이블(Table)의 구조

  • 관계형 데이터베이스는 릴레이션에 데이터를 저장하고 릴레이션을 사용해서 집합 연산 및 관계 연산을 지원하여 다양한 형태로 데이터를 조회할 수 있다.

  • 릴레이션은 최종적으로 데이터베이스 관리 시스템에서 테이블(Table)로 만들어진다.

  • 기본키(Primary Key)는 하나의 테이블에서 유일성최소성, NOT NULL을 만족하면서 해당 테이블을 대표하는 것이다.

  • 테이블은 행과 칼럼으로 구성된다. 그 중에서 행(ROW)은 하나의 테이블에 저장되는 값으로 Tuple이라고도 한다.

  • 칼럼(Column)은 어떤 데이터를 저장하기 위한 필드(Field)로 속성(Attribute)라고도 한다.

  • 외래키(Foreign Key)는 다른 테이블의 기본키를 참조(조인)하는 칼럼이다.

  • 외래 키는 관계 연산 중에서 결합 연산을 하기 위해 사용한다.

0개의 댓글