ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 데이터 모델의 종류
    데이터베이스 강의 2023. 4. 9. 10:24

     

    관계형 데이터 모델의 이해

     

    관계형 데이터 모델의 정의

    - 술어 논리와 집합론에 기반을 둔 일종의 데이터 베이스 모델.

    - 에드거 커드(Edgar Codd)에 의해 최초로 제안되고 체계화 됨.

    - 행( row) 와 열(column)로 이루어진 2차원 테이블에 데이터를 저장.

     

    관계형 데이터 모델의 용어

    릴레이션 (Relation) 데이터들을 2차원 테이블의 구조로 저장한 것
    속성 (Attribute) 릴레이션의 열(column), 개체를 구성하는 항목들
    튜플 (Tuple) 릴레이션의 행(row), 속성들의 집합이며 레코드라고도 부름
    차수 (Degree) 릴레이션을 구성하는 속성의 수

     

    관계형 데이터 모델의 용어

    카디널리티 (Cardinality) 릴레이션에 입력된 튜플의 수
    도메인 (Domain) 하나의 속성이 가질 수 있는 값들의 범위
    릴레이션 스키마 (Relation Schema) 릴레이션의 이름과 속성 이름의 집합
    릴레이션 인스턴스 (Relation Instance) 릴레이션에 입력된 튜플들의 집합

     

    릴레이션의 특성

     

    튜플의 유일성

    - 각각의 튜플을 식별할 수 있어야 함을 의미.

    - 하나의 릴레이션에 포함된 튜플들은 서로 달라야 함.

    - 중복된 튜플이 존재하지 않는 튜플들의 집합.

    - 릴레이션에는 항상 튜플이 유일하게 식별할 수 있는 키가 존재 해야 함.

     

    튜플의 무선서성

    - 다른 데이터 모델과는 다른 관계형 모델만의 특징.

    - 하나의 릴레이션에서 튜플의 순서는 아무런 의미가 없음.

    - 순서만 다른 튜플들로 구성된 릴레이션은 다른 릴레이션이 될 수 없음.

     

    속성의 무순서성

    - 논리적인 독립성을 유지하는데 필수적인 역할을 하는 특징.

    - 하나의 릴레이션에서 속성의 순서는 아무런 의미가 없음

    - 속성은 순서가 아니라 이름에 의해 참조됩니다.

     

    속성의 유일성

    - 속성의 명칭은 유일해야 함.

     

    속성의 원자성

    - 속성의 값의 범위가 한 가지 값만을 가진다는 것을 의미 .

    - 속성 값은 논리적으로 더 이상 분리될 수 없으며, 여러 개의 값을 갖는 속성은 직접 표현할 수 없음.

    - 널(NULL) 값도 원자 값으로 간주 함

     

    키(key)와 제약 조건

     

    키(key) 란?

    - 하나의 테이블 내에서 각 튜플을 유일하게 식별할 수 있는 속성들의 집합

    - 키의 종류 : 슈퍼키, 후보키, 기본키, 대체키, 외래키

     

    키(key) 의 종류

    슈퍼키 (Super Key) 튜플을 유일하게 구분할 수 있는 하나 이상의 속성들로 구성된 키
    후보키 (Candidate Key) 슈퍼키의 조건을 만족하면서, 튜플을 유일하게 구분하는데 필요한 최소 한의 속성으로 구성된 키, 유일성 과 최소성을 모두 만족 되어야 함
    기본키 (Primary Key) 후보키들 중에서 1개의 키를 선택한 것. 중복될 수 없으며, NULL을 가질 수 없음.

     

    대체키 (Alternate Key) 후보키 중에서 기본키를 제외한 속성들
    외래키 (Foreign Key) 한 릴레이션에서 다른 릴레이션을 참조할 때, 참조의 기준이 되는 속성 참조 하고자 하는 릴레이션의 기본키와 동일함. 외래키의 속성명과 참조하는 릴레이션의 속성명이 일치하지 않아도 됨

     

    무결성 제약조건

    - 무결성이란 데이터의 내용이 서로 모순되는 일이 없고, 데이터베이스에 적용된 제약을 완전히 만족하게 되는 성질

    - 참조 무결성, 개체 무결성, 도메인 무결성

     

    개체 무결성 기본키는 NULL이 올 수 없으며, 기본키를 구성하는 어떠한 속성값이라도 중복값이나 NULL값을 가질 수 없음.
    참조 무결성 참조할 수 없는 외래키 값은 가질 수 없음. 즉 외래키는 NULL을 가질 수 없으며, 참조하는 릴레이션의 기본키와 동일해야 함.
    도메인 무결성 각 속성값은 반드시 정의된 도메인(데이터 타입, 길이 등)만을 가져야 함.

     

    계층형 데이터 모델 구성 형태

    - 데이터가 트리 형태의 구조로 조직된 것, 개체가 Tree를 구성하는 노드 역할.

    - 개체 집합에 대한 속성 관계를 표시하기 위해 개체를 노드로 표현하고 개체 집합들 사이의 관계를 링크로 연결

    - 개체 간의 관계를 부모와 자식 간의 관계로 표현

    - 계층형 DB를 구성하는 관계의 유형

    속성관계(Attribute Relation) : 개체를 구성하는 속성들의 관계
    개체관계(Entity Relation) : 개체와 개체 간의 관계를 링크로 표시


    계층형 데이터 모델의 특징

    - 상, 하 관계가 존재하고, 일 대 다(1 : N ) 관계만 존재

    - 계층을 정의하는 트리는 하나의 루트 개체와 다수의 종속되는 개체로 구성된 순서 트리

    - 개체 삭제 시 연쇄 삭제(Triggered Delete) 됨 개체 타입들 간에는 사이클(Cycle)이 허용되지 않음

    - 계층형 모델에서는 개체를 세그먼트라고 부름.

     

    계층형 데이터 모델의 장,단점

     

    장점

    - 구조가 간단하고, 판독이 용이하다.

    - 구현, 수정, 검색이 용이하다.

    - 데이터의 독립성이 보장된다.

    - 망 테이터 모델이나 관계 데이터 모델도 실체로 구현할 떄는 계층적인 기억 구조를 이용한다

     

    단점

    - 데이터 상호 간의 유연성이 부족하다.

    - 검색 경로가 한정되어 있다.

    - 삽입과 삭제 연산이 매우 복잡하다.

    - 다 대 다 관계를 처리하기 어렵다.

     

    네트워크형 데이터 모델

     

    네트워크형 데이터 모델(Network Data Model)의 개요

    - CODASYL(데이터 시스템 언어 회의) 컨소시엄에 의해 개발된 것으로, CODASYL DBTG 모델이라고도 한다.

    - 그래프를 이용해서 데이터 논리 구조를 표현한 데이터 모델이다.

    - 상위와 하위 레코드 사이에서 다 대 다(N:M) 대응 관계를 만족하는 구조이다.

    - 레코드 타입 간의 관계는 1:1, 1:N, N:M이 될 수 있다.

     

    네트워크형 데이터 모델의 표현

    Entity군 : 동종의 Entity 그룹

    Entity SET : 주종 관계에 있는 Entity군들의 그룹

    SET Membership Type : 일 대 다 (1:N)관계에 연관된 레코드 타입들을 각각 오너(Owner), 멤버(Member)라고 한다.

    - 오너 : 트리 구조에서 Parent와 같은 개념
    - 멤버 : 트리 구조에서 Children과 같은 개념

     

    네트워크형 데이터 모델의 특징

     

    - 레코드 타입과 링크들의 집합으로 구성된다.

    - 레코드 타입의 집합이 있다.

    - 레코드 타입들을 연결하는 링크 집합이 존재한다.

    - 상위 하나의 레코드에 대하여 하위 레코드가 복수 대응하고,

    하위 하나의 레코드에 대해 상위 레코드도 복수 대응한다.

    - 링크들로 표현한 관계성에는 제한이 없다

     

    네트워크형 데이터 모델의 특징

     

    - 한 레코드 타입에서 자기 자신으로 가는 링크는 없다.

    - 모든 링크는 적어도 한 방향으로 함수적이다.(부분적인 함수성 허용)

    - 세트 이름은 링크로 표현된다.

    - 오너와 멤버 레코드 타입은 서로 동일 형태가 될 수 없다

     

    -  관계형 데이터 모델은 술어 논리와 집합론에 기반을두고 행과 열의 2차원 테이블 구조이다.
    -  계층형 데이터 모델은 논리적 구조가 Tree 형태이며, 개체가 Tree의 노드 역할을하는 1:N 관계로 대응 고나계만 존재한다.
    -  네트워크형 데이터 모델은 그래프(망)를 이용해서 데이터 논리 구조를 표현한 데이터 모델로 상위와 하위 레코드 사이에서 다 대 다 대응관계를 만족하는 구조이다
Designed by Tistory.