[Database] 관계형 데이터베이스 Relational Database
현재 주류를 이루는 모델인 관계형 모델, 관계형 데이터베이스에 대해 알아보는 글이다.
우선 관계형 데이터 모델 Relational Data Model 은 다음 3가지 개념을 정의한다.
구조 Structure : 릴레이션 relation과 그의 컨텐츠들에 대한 정의
무결성 Integrity : 데이터베이스의 컨텐츠들이 제약조건을 만족하는가?
조작 Manipulation : 어떻게 데이터베이스의 컨텐츠들에 접근하고 변경할 것인가?
관계형 데이터베이스 Relational Database
관계형 데이터베이스는 테이블 table = 릴레이션 relation 이라는 최소 단위로 구성되며, 이 테이블은 하나 이상의 열 column과 행 row로 이뤄져있다.
Relational Database 에서는 모든 데이터가 테이블에 저장된다.
관계형 데이터베이스의 구성 요소 및 용어
- 속성 attribute (= 필드 field = 열 column)
각각의 열은 그 성분의 특성이자 타입을 가지고 있다. 위의 테이블을 보면 ID, name, dept_name 그리고 salary가 바로 그것들이다.
각 열에는 가질 수 있는 값들의 제약이 있는데 각 열이 가질 수 있는 값들의 집합을 해당 attribute에서의 도메인 domain 이라 한다. (null value는 모든 domain의 멤버이다. )
속성은 필드 field 또는 열 column 이라고 불린다.
- 튜플 tuple (= 행 row = 기록 record)
저장하는 각각의 개체 entity의 일련의 정보를 의미한다. 테이블에서는 가로 형태로 한 행을 의미하는데 그래서 행 row 혹은 기록 record 라고 불린다.
- 값 value
테이블에서 행과 열이 만나는 지점에 존재하는 값들을 의미한다. 각각의 값은 속성 attribute의 타입에 맞는 값을 가져야 한다.
- 키 key
테이블에서 튜플의 식별자로 사용되는 속성 attribute을 키 key 라고 한다. 각 테이블은 주요 키 primary key를 가지며 이 주요 키는 테이블에 존재하는 모든 튜플 각각을 구별할 수 있게 한다.
그 외에도 여러 키들이 존재하는데 슈퍼 키 super key, 외래 키 foreign key, 후보 키 candidate key 등등이 있다.
- 스키마 schema
관계형 데이터베이스에서 데이터가 구조화되는 방식을 정의한다. 여기에는 테이블 이름, 필드, 데이터 유형 그리고 엔티티 간의 관계 등 논리적 제약 조건이 포함된다.
일반적으로 스키마는 시각적 표현을 사용하여 데이터베이스의 구조를 보여준다. 데이터베이스 스키마 설계 프로세스를 데이터 모델링이라고도 한다.
결론적으로 스키마는 데이터베이스의 청사진이라고 볼 수 있다. 다만 실질적인 데이터가 들어있지는 않다.
아래 이미지는 스키마의 한 예시를 보여준다.
References
- Database System Concepts 7th edition
https://jiwontip.tistory.com/26
[Database] 1. DB란? & DBMS란? & SQL 란? & 관계형데이터베이스란? (행/열, 키/값, 관계, 스키마)
데이터베이스(Database)란? : 특정 조직이 업무 수행에 필요한 관련성 있는 통합, 저장, 운영, 공유된 데이터 집합 (ISOS) - 통합데이터(Integrated Data): 자료의 중복을 배제/최소화한 데이터 집합 - 저장
jiwontip.tistory.com
참조할 글
https://untitledtblog.tistory.com/123
[관계형 데이터베이스] - 무결성 (Integrity)
1. 데이터의 무결성 데이터의 무결성은 데이터의 정확성, 일관성, 유효성이 유지되는 것을 말한다. 데이터의 무결성을 유지하는 것은 데이터베이스 관리시스템 (DBMS)의 중요한 기능이며, 주로 데
untitledtblog.tistory.com