상세 컨텐츠

본문 제목

[개미의 걸음 SQLD 2과목] 관계형 데이터베이스(Relation Database)

자격증/SQLD

by IT개미 데이터 2020. 12. 15. 07:07

본문

728x90

데이터베이스[Database]

특정 조직의 기능을 수행하는데 필요한 상호 관련된 데이터들의 모임

데이터베이스 종류[네트워크 → 계층형 → 관계형]

네트워크형 데이터베이스 계층형 데이터베이스 관계형 데이터베이스
Owner와 Member형태의 자료구조에
데이터를 저장*관리
트리(Tree) 형태의 자료구조에
데이터 저장*관리
릴레이션에 데이터를
저장*관리
1:N, M:N 관계 1:N 관계  

2020/11/30 - [자격증/SQLD] - [개미의 걸음 SQLD 들어가기 전] 데이터베이스 기초

 

관계형 데이터 베이스

데이터를 단순하고 이해하기 쉬운 2차원 표 형식으로 관리하는 데이터베이스[2세대 DBMS]

     → 계층 구조가 아닌 단순한 표[Table]을 이용해 데이터의 상호관게를 정의하는 DB구조

     → 데이터를 Column과 row를 이루는 하나 이상의 테이블로 정리해 Primary key가 각 row를 식별

     → row는 레코드나 튜플로 부르며, 일반적으로 각테이블[관계]는 하나의 엔티티 타입을 대표

         Column은 엔티티 종류의 인스턴스의 속성이 되는 값을 대표

     → 현재 가장 주류를 이루고 있는 데이터 베이스

     → 1:1, 1:N, M:N관계를 자유롭게 표현 가능

  • Oracle, MS SQL Server, Access, Informix, MySQL 등이 대표적인 관계형 데이터베이스
  • 1970년 영국의 수학자 E.F Codd 박사의 논문에서 처음으로 관계형 데이터베이스가 등장
       → IBM이 SQL 개발 단계를 거쳐서 Oracle 출시[뒤이어 여러 회사에서 상용화된 제품 출시]
       → 이후 관계형 데이터베이스의 여러 장점이 알려지면서 기존의 파일시스템과 계층형, 망형 데이터베이스를 대부분 대체하면서 주력 데이터베이스가 됨.
  • 릴레이션에 데이터를 저장하고 관리
  • 릴레이션을 사용해서 집합연산[합집합, 교집합, 차집합, 곱집합]과 관계연산 가능
        → 릴레이션과 릴레이션의 조인 연산을 통해 합집합, 교집합, 곱집합 등을 만들 수 있음
        → 다양한 형태로 데이터 조회 가능

 

관계형 데이터베이스 구조

관계형 데이터베이스 구조 설    명
테이블 데이터들을 행과 열로 표현한 것으로 튜플(레코드)의 집합(릴레이션)
튜플[Tuple], 레코드[Record] 테이블의 행을 구성하는 개체로, 여러 속성들의 묶음
속성[Attribute] 테이블의 열을 구성하는 항목(필드)으로, 개체의 특성이나 상태를 기술함
데이터의 가장 작은 논리적 단위
도메인[Domain] 하나의 속성에서 취할 수 있는 값의 범위
릴레이션 인스턴스
[Relation Instance]
데이터 개체를 구성하고 있는 속성들에 데이터 타입이 정의되어 구체적인 데이터 값을 갖고 있는 것
차수[Degree] 속성의 개수
기수[Cardinality] 튜플의 개수[하나의 릴레이션에 있는 튜플의 전체 개수]

선택도 : 특정 조건에 의해 선택될 것으로 예상되는 레코드의 비율

 

관계형 데이터베이스의 테이블 구조

출처 : DBGUIDE.NET

관계형 데이터베이스의 릴레이션은 최종적으로 데이터베이스 관리시스템에서 Table로 만들어짐

  • 테이블은 행[하나의 행에 저장되는 값, 튜플]과 칼럼[데이터를들을 저장하기 위한 필드, 속성]으로 구성
728x90

 

집합연산& 관계연산

관계형 데이터베이스에서는 릴레이션을 사용해서 집합연산과 관계연산 가능
    → 릴레이션과 릴레이션의 조인 연산을 통해 합집합, 교집합, 곱집합 등을 만들 수 있음
    → 다양한 형태로 데이터 조회 가능

 

집합연산

집합 연산 설    명
합집합[Union] 두 개의 릴레이션을 하나로 합하는 것
중복된 행(튜플)은 한 번만 조회
차집합[Difference] 본래 릴레이션에는 존재하고 다른 릴레이션에는 존재하지 않는 것을 조회
교집합[Intersection] 두 개의 릴레이션 간에 공통된 것을 조회
곱집합[Cartesian Product] 각 릴레이션에 존재하는 모든 데이터를 조합하여 연산

 

관계연산

관계 연산 설    명
선택 연산[Selection] 릴레이션에서 조건에 맞는 행(튜플)만을 조회
투영 연산[Projection] 릴레이션에서 조건에 맞는 속성만을 조회
결합 연산[Join] 여러 릴레이션의 공통된 속성을 사용해 새로운 릴레이션 생성
나누기 연산[Division] 기준 릴레이션에서 나누는 릴레이션이 가지고 있는 속성과 동일한 값을 가지는 행(튜플)을 추출하고 나누는 릴레이션의 속성을 삭제한 후 중복된 행을 제거하는 연산

 

 

 

728x90

관련글 더보기

댓글 영역