관계형 데이터베이스
목차
관계형 데이터베이스
관계형 데이터베이스란
관계형 데이터베이스는 현재 가장 많이 사용되고 있는 데이터베이스의 한 종류이다.
관계형 데이터베이스란 테이블(table)로 이루어져 있으며, 이 테이블은 키(key)와 값(value)의 관계를 나타낸다.
이처럼 데이터의 종속성을 관계(relationship)로 표현하는 것이 관계형 데이터베이스의 특징이다.
현재 많이 사용되는 관계 데이터 모델 DBMS는 Oracle, MySQL, SQL Server 등이 있다.
관계형 데이터베이스 특징
- 데이터의 분류, 정렬, 탐색 속도가 빠르다.
- 오랫동안 사용된 만큼 신뢰성이 높고, 어떤 상황에서도 데이터의 무결성을 보장해 준다.
- 기존에 작성된 스키마를 수정하기가 어렵다.
- 데이터베이스의 부하를 분석하는 것이 어렵다.
관계형 데이터베이스 용어
1. column (열) : 각 열은 고유의 이름을 가지고 있으며, 데이터의 타입 또한 정해져 있다. 타입의 종류로는 INTEGER, _TEXT, DATE, _ 등이 있다. 필드(field) 또는 속성(attribute) 라고 불리기도 한다.
2. row (행) : 서로 관계가 있는 데이터의 모음을 의미한다. 동일 테이블의 모든 row는 같은 수의 column을 가지고 있어야 한다. 튜플(tuple) 이나 레코드(record) 라고도 불린다.
3. value (값) :각 행과 열에 해당하는 특정 데이터값을 의미한다.
4. 키(key) : 테이블에서 행의 식별자로 이용되는 열을 키(key) 또는 기본 키(primary key)라고 합니다.
즉, 테이블에 저장된 레코드를 고유하게 식별하는 후보 키(candidate key) 중에서 데이터베이스 설계자가 지정한 속성을 의미합니다.
5. schema : 데이터베이스 설계의 기본으로, 해당 테이블에 어떤 종류의 값이 들어가는지를 정의한다.
위의 테이블의 스키마는 아마 아래와 같이 될 것이다.
{게시글 번호: int, 작성자: TEXT, 작성자 id: TEXT, 작성 시간: DATE, 조회수: int}
관계(relationship)의 종류
관계형 데이터베이스는 엔티티끼리 관계를 맺을 수 있어서 관계형 DB라고 말한다.
엔티티 Entity
- 데이터의 집합. 저장되고, 관리되어야 하는 데이터.
- 유형, 무형의 객체로서 서로 구별되는 것.
관계(relationship) 는 두 엔티티가 서로 관련이 있을 때를 말한다.
테이블과 테이블 사이의 관계는 다음과 같다.
1. 일대일(one-to-one) 관계 (1:1)
하나의 레코드가 다른 테이블의 레코드 한 개와 연결된 경우. (반드시 단 하나의 관계를 갖는다.)
- 1:1 관계는 자주 사용하지 않는다.
2. 일대다(one-to-many) 관계 (1:N)
하나의 레코드가 서로 다른 여러 개의 레코드와 연결된 경우.
1:N(일대다) 관계는 관계형 데이터베이스에서 가장 많이 사용한다.
1:N 관계는 N:M관계처럼 새로운 테이블(조인 테이블)을 만들지 않는다.
3. 다대다(many-to-many) 관계 (N:M)
여러 개의 레코드가 다른 테이블의 여러 개의 레코드와 관계가 있는 경우.
- N:N(다대다) 관계를 위해 스키마를 디자인할 때에는, Join 테이블을 만들어 관리한다.
- 1:N(일대다) 관계와 비슷하지만, 양방향에서 다수의 레코드를 가질 수 있다.
- 서로의 PK를 자신의 외래키 컬럼으로 갖고 있어야 한다.
- 일반적으로, N:M관계는 두 테이블의 대표키를 컬럼으로 갖는 또다른 테이블을 생성해서 관리한다(조인 테이블).
'CS > DB' 카테고리의 다른 글
스프링 트랜잭션과 트랜잭션 전파 (0) | 2021.12.28 |
---|---|
트랜잭션 격리수준 (0) | 2021.12.28 |
트랜잭션 (0) | 2021.11.21 |
[Database] 정규화(Normalization) 쉽게 이해하기 (0) | 2021.09.12 |
[대용량DB] 데이터 테이블의 종류 및 특성 (0) | 2021.09.12 |