hyeongwoo's blog

관계형 데이터베이스 본문

DATABASE

관계형 데이터베이스

toribro 2024. 3. 7. 19:53

데이터베이스에서도 가장 많이 사용되고있는 관계형 데이터 베이스에 대해 알아보겠습니다.

관계형데이터 데이터베이스는 모든 데이터를 2차원 테이블 형태로 표현하고 테이블 사이의 비즈니스적 관계를 도출하는 구조이고 데이터의 중복을 최소화 할 수 있으며 업무변화에 대한 적응력이 우수한 데이터베이스 유형이다.

관계형 데이터베이스 구조

 관계형 모델이서는 데이터 테이블,뷰 및 인덱스와 같은 논리 데이터 구조가 물리적인 스토리지 구조와 분리되어 있다.

덕분에 데이터베이스 관리자는 논리적 구조로서 해당 데이터에 대한 엑세스에 영향을 주지 않고 물리적 데이터 저장소를 관리 할 수 있다. 만약에 데이터베이스 파일의 이름을 변경해도 그 안에 저장된 테이블의 이름은  변경되지 않는다.

 

 

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

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

 

관계형 데이터베이스의 테이블(릴레이션) 

 

릴레이션 스키마

릴레이션 스키마는 릴레이션에 어떤 정보가 담길지를 결정한다.

  1. 열(COLUMN)
    • 각각의 열은 유일한 이름을 가지고 있고, 자신만의 타입을 가지고 있다.
    • 이러한 열은 필드 (field) 또는 속성(attribute)이라고 불린다.
    • 열의 개수를 차수(degree)라고 부른다
    • 속성들이 가질수 있는 집합을 도메인이라고 한다.
      • 데이터의 타입
  2.  행(ROW)
    • 행은 관계된 데이터의 묶음을 의미한다.
    • 한 테이블 모든 행은 같은 수의 열을 가지고 있다.
    • 이러한 행은 튜플(tuple) 또는 레코드(record)라고 한다.
    • 튜플의 개수를 카디널리티라고 한다.
  3. 키(Key)
    • 테이블에서 행의 식별자로 이용되는 열을 키(key)또는 기본키(primary key)라고 한다.
    • 즉,테이블에 저장된 레코드를 고유하게 식별하는 후보키 (candidate key) 중에서 데이터베이스 설계자가 지정한 속성을 의미한다.

 

릴레이션 인스턴스

  • 릴레이션 인스턴스는 릴레이션 스키마에 실제로 저장된 값이다.
    • 테이블은 각각의 행과 열에 대응하는 값을 가지고 있다.
    • 이러한 값은 열의 타입과 맞는 값이어야 한다.

 

릴레이션 관계

테이블간 관계를 맺는 방식이다.

  • 테이블 간의 관계는 관계를 맺는 테이블의 수에 따라 다음과 같이 나뉜다.
    1. 일대일(one-to-one) 관계
    2. 일대다(one-to-many)관계
    3. 다대다(many-to-many)관계
  • 관계형 데이터 베이스에서는 테이블간의 관계를 나타내기위해 외래키라는 것을 사용한다
  • 외래키는 한 테이블의 키 중에서 다른 테이블의 행(row)을 식별할 수 있는 키이다.

 

관계형 데이터베이스에서 테이블 간의 관계에대해서 더 알아보자

  1. 일대일(ONE-TO-ONE) 
    • 개체가 1:1로 대응한다.
    • 학생이 컴퓨터를 사용할때 학생1명당 1대의 컴퓨터를 사용하므로 1:1관계로 나타낸다.

 

 2. 일대다(ONE-T0-MANY) 혹은 다대일( MANY-TO-ONE)

  • 한쪽 개체타입이 다른쪽 개체타입의 여러개체와 관계를 맺는다.
  • 수강생이 소속된 클래스와의 관계를 보면 1개의 클래스에 여러명의 수강생이 있으므로 1:N 관계이다.

 

3. 다대다(MANY-TO-MANY)

  • 각 개체타입들이 서로 임의의 개수의 개체들과 서로 복합적인 관계를 맺는다.
  • 학생은 여러개의 교재를 소유할 수 있고 교재는 여러개의 학생에게 나누어질 수 있다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'DATABASE' 카테고리의 다른 글

JDBC  (0) 2024.03.08
데이터베이스 관리시스템(DBMS)  (0) 2024.03.07
데이터베이스  (0) 2024.03.07