[SQL] 관계형 데이터베이스(relational database)
복습
https://shins99.tistory.com/71
[SQL] 데이터베이스(DataBase)
복습 https://shins99.tistory.com/70 [SQL] SQL(Structured Query Language) SQL(Structured Query Language) 구조화된 질의 언어 - (데이터베이스의 모든 작업을 통제하는 비절차적(Non-procedural) 언어) 비절차적(Non-procedural)
shins99.tistory.com
관계형 데이터베이스(relational database)란?
- 현재 가장 많이 사용되고 있는 데이터베이스의 한 종류
- 테이블(table)로 이루어져 있으며, 이 테이블은 키(key)와 값(value)의 관계를 나타냄
- 데이터의 종속성을 관계(relationship)로 표현하는 것이 관계형 데이터베이스의 특징
관계형 데이터베이스의 테이블(table).
- 테이블은 이름을 가지고 있으며, 행(row)과 열(column) 그리고 거기에 대응하는 값을 가짐
- 관계형 데이터베이스는 위와 같이 구성된 테이블이 다른 테이블들과 관계를 맺고 모여있는 집합체
관계형 데이터베이스의 특징
1. 데이터의 분류, 정렬, 탐색 속도가 빠름
2. 오랫동안 사용된 만큼 신뢰성이 높고, 어떤 상황에서도 데이터의 무결성을 보장
3. 기존에 작성된 스키마를 수정하기 어려움
4. 데이터베이스의 부하 분석이 어려움
관계형 데이터베이스 용어
관계형 데이터베이스에 관련된 대표적인 용어
1. 열(column)
- 각각의 열은 유일한 이름을 가지고 있으며, 자신만의 타입을 가짐
(열은 필드(field) 또는 속성(attribute) 이라고 함)
2. 행(row)
- 행은 관계된 데이터의 묶음을 의미
- 한 테이블의 모든 행은 같은 수의 열을 가지고 있음
(행은 튜플(tuple) 또는 레코드(record)라고도 부름)
3. 값(value)
- 테이블은 각각의 행과 열에 대응하는 값을 가짐
(값은 열의 타입에 맞는 값이어야 함)
4. 키(key)
- 테이블에서 행의 식별자로 이용되는 열을 키(key) 또는 기본 키(primary key)라고 함
- 테이블에 저장된 레코드를 고유하게 식별하는 후보 키(candidate key) 중에서 데이터베이스 설계자가 지정한 속성을 의미합니다.
5. 관계(relationship)
테이블 간의 관계는 관계를 맺는 테이블의 수에 따라 다음과 같이 나눔
1. 일대일(one-to-one) 관계
2. 일대다(one-to-many) 관계
3. 다대다(many-to-many) 관계
- 관계형 데이터베이스에서는 이러한 관계를 나타내기 위해 외래 키(foreign key)라는 것을 사용
- 외래 키는 한 테이블의 키 중에서 다른 테이블의 행(row)을 식별할 수 있는 키를 의미
테이블 간의 관계
6. 스키마(schema)
- 테이블을 디자인하기 위한 청사진
(스키마는 테이블의 각 열에 대한 항목과 타입과 기본 키와 외래 키도 나타내야 함)
- 스키마는 개체-관계 다이어그램(entity-relationship diagram)이나 문자열로 표현
문법
Reservation(ID, Name, Date, RoomNum)
위의 문자열을 개체-관계 다이어그램으로 나타낸 그림