특정 조직의 기능을 수행하는데 필요한 상호 관련된 데이터들의 모임
데이터베이스 종류[네트워크 → 계층형 → 관계형]
네트워크형 데이터베이스 | 계층형 데이터베이스 | 관계형 데이터베이스 |
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관계를 자유롭게 표현 가능
관계형 데이터베이스 구조 | 설 명 |
테이블 | 데이터들을 행과 열로 표현한 것으로 튜플(레코드)의 집합(릴레이션) |
튜플[Tuple], 레코드[Record] | 테이블의 행을 구성하는 개체로, 여러 속성들의 묶음 |
속성[Attribute] | 테이블의 열을 구성하는 항목(필드)으로, 개체의 특성이나 상태를 기술함 데이터의 가장 작은 논리적 단위 |
도메인[Domain] | 하나의 속성에서 취할 수 있는 값의 범위 |
릴레이션 인스턴스 [Relation Instance] |
데이터 개체를 구성하고 있는 속성들에 데이터 타입이 정의되어 구체적인 데이터 값을 갖고 있는 것 |
차수[Degree] | 속성의 개수 |
기수[Cardinality] | 튜플의 개수[하나의 릴레이션에 있는 튜플의 전체 개수] |
※ 선택도 : 특정 조건에 의해 선택될 것으로 예상되는 레코드의 비율
관계형 데이터베이스의 릴레이션은 최종적으로 데이터베이스 관리시스템에서 Table로 만들어짐
관계형 데이터베이스에서는 릴레이션을 사용해서 집합연산과 관계연산 가능
→ 릴레이션과 릴레이션의 조인 연산을 통해 합집합, 교집합, 곱집합 등을 만들 수 있음
→ 다양한 형태로 데이터 조회 가능
집합연산
집합 연산 | 설 명 |
합집합[Union] | 두 개의 릴레이션을 하나로 합하는 것 중복된 행(튜플)은 한 번만 조회 |
차집합[Difference] | 본래 릴레이션에는 존재하고 다른 릴레이션에는 존재하지 않는 것을 조회 |
교집합[Intersection] | 두 개의 릴레이션 간에 공통된 것을 조회 |
곱집합[Cartesian Product] | 각 릴레이션에 존재하는 모든 데이터를 조합하여 연산 |
관계연산
관계 연산 | 설 명 |
선택 연산[Selection] | 릴레이션에서 조건에 맞는 행(튜플)만을 조회 |
투영 연산[Projection] | 릴레이션에서 조건에 맞는 속성만을 조회 |
결합 연산[Join] | 여러 릴레이션의 공통된 속성을 사용해 새로운 릴레이션 생성 |
나누기 연산[Division] | 기준 릴레이션에서 나누는 릴레이션이 가지고 있는 속성과 동일한 값을 가지는 행(튜플)을 추출하고 나누는 릴레이션의 속성을 삭제한 후 중복된 행을 제거하는 연산 |
[개미의 걸음 SQLD 2과목] SQL(Structured Query Language) (0) | 2020.12.17 |
---|---|
[개미의 걸음 SQLD 2과목] ROWID, ROWNUM (0) | 2020.12.16 |
[개미의 걸음 SQLD 1과목] 분산 데이터베이스 (0) | 2020.12.14 |
[개미의 걸음 SQLD 1과목] 성능 데이터 모델링 ④ PK/FK 칼럼순서&슈퍼타입/서브타입 모델 (0) | 2020.12.13 |
[개미의 걸음 SQLD 1과목] 성능 데이터 모델링 ③ 반정규화(De-Normalization) (0) | 2020.12.12 |
댓글 영역