02.RDB

jeong_hyeon·2022년 3월 10일
0

DB

목록 보기
2/3

관계형 데이터베이스(Relational database)란?

관계형 데이터 베이스는 현재 가장 많이 사용되고 있는 데이터 베이스의 한 종류

관계형 데이터 베이스란 테이블(table)로 이루어져 있으며 이 테이블은 키(key)와 값(value)의 관계를 나타낸다.

이처럼 데이터의 종속성을 관계 (relationship)로 표현하는것이 관계형 데이터베이스의 특징이다.

위 그림 처럼 관계형 테이블은 행(row)과 열(column)로 구성이 되어있다.

테이블은 이름을 가지고 있으며 행과 열은 거기에 대응하는 값을 가진다.

→관계형 데이터베이스는 위와 같이 구성된 테이블이 다른 테이블과 관계를 맺고 모여있는 집합체로 이해할 수 있다.


관계형 데이터 베이스의 특징

  1. 데이터의 분류, 정렬, 탐색 속도가 빠르다
  2. 오랫동안 사용된 만큼 신뢰성이 높고, 어떤 상황에서도 데이터의 무결성을 보장해 준다.
  3. 기존에 작성된 스키마를 수정하기 어렵다.
  4. 데이터 베이스의 부하를 분석하는 것이 어렵다.

관계형 데이터 베이스 용어

  1. 열(column)

각각의 열은 유일한 이름을 가지고 있으며 자신만의 타입을 가지고 있다.

이러한 열은 필드(field)또는 레코드(record)라고도 불린다.

  1. 행(row)

행은 관계된 데이터의 묶음을 의미

한 테이블의 모든 행은 같은 수의 열을 가지고 있다.

이러한 행은 튜플(tuple)또는 레코드(recod)라고도 불린다.

  1. 값(value)

테이블은 각각의 행과 열에 대응하는 값을 가지고 있다.

이러한 값은 열의 타입에 맞는 값이 어야한다.

  1. 키(key)

테이블에서 행의 식별자로 이용되는 열을 키(key)또는 기본키(primary key)라고 한다.

즉, 테이블에 저장된 레코드를 고유하게 식별하는 후보키(candidate key)중에서 데이터 베이스 설계자가 지정한 속성을 의미한다.

  1. 관계(relationship)

테이블 간의 관계는 관계를 맺는 테이블의 수에 따라 다음과 같이 나눌수 있다.

  1. 일대일(one-to-one)관계

  2. 일대다(one-to-many)관계

    일대다 관계에서 한 테이블에 있는 하나의 레코드는 다른 테이블에 있는 하나 이상의 레코드와 연관될 수

    있습니다. 예를 들어, 각 고객에게 여러 판매 주문이 있을 수 있습니다.

이 관계는 주문 테이블에 있는 고객 ID 필드의 값이 고객 테이블에 있는 고객 ID 필드의 값과

동일할 때 관련 레코드를 반환합니다.

  • 다대다(many-to-many)관계 다대다 관계는 한 테이블에 있는 여러 레코드가 다른 테이블에 있는 여러 레코드와 연관되어 있는 경우 발생 관계형 데이터베이스 시스템에서는 일반적으로 두 테이블 간에 직접적인 다대다 관계를 구현할 수 없습니다. 송장을 추적하는 예제 다수의 송장이 동일한 송장 번호를 가지고 있고 고객 중 한 명이 해당 송장 번호에 대해 문의한 경우 어떤 번호를 참조했는지 알 수 없습니다 / 이것이 각 송장에 고유한 값을 할당하는 이유 중 하나입니다. 이 문제를 피하려면 연결 테이블이라는 세 번째 테이블을 사용하여 다대다 관계를 두 개의 일대다 관계로 분리해야 합니다. 연결 테이블의 각 레코드에는 연결하는 두 테이블의 주요 키값을 포함하는 일치 필드가 있습니다. (연결 테이블에서 이와 같은 일치 필드는 외부 키입니다. 이와 같은 외부 키 필드는 연결 테이블의 레코드가 연결하는 테이블에서 생성될 때 데이터로 채워집니다.
   : 多 대 多 관계는 Association Entity - 교차 엔티티를 생성하여, 해소한다
    
    논리에서는 entity / 물리에서는 table이라고 주로 부른다.

   고객과 상품은 다 대 다 관계이다

ex)  아이유 고객은 0 or 1 or 다수의 상품을 가질 수 있다

갤럭시노트라는 상품은 0 or 1 or 다수 회원에게 판매 될 수 있다

이 경우 교차엔티티==교차릴레이션==Association Entity 를 적용해

고객과 상품의 일반정보 외의

**고객과 상품의 교차(연관)정보를 저장하는 테이블(=교차 엔티티)을 별도로 만든다**

```
**고객일반정보    ----0|<  판매관계정보  >|0---- 상품일반정보**
```

관계형 데이터 베이스에서는 이러한 관계를 나타내기 위해 외래 키(foreign key)라는 것을 사용

외래키는 한테이블의 키중에서 다른 테이블의 행(row)를 식별할수있는 키를 의미

  1. 스키마(schema)

스키마는 테이블을 디자인 하기위한 청사진이라고 할수있다.

이러한 스키마는 테이블의 각 열에 대한 항목과 타입 뿐만아니라 기본키와 외래 키도 나타내야한다.

스키마는 개채- 관계다이어그램 (entity-relationship diagram)이나 문자열로 표현할수있다.

예를 들어

Reservation(ID, Name, Date, RoomNum)

위의 문자열을 개채-관계 다이어그램으로 나타내면 아래와 같다

0개의 댓글