-
데이터 모델의 종류데이터베이스 강의 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 관계로 대응 고나계만 존재한다.
- 네트워크형 데이터 모델은 그래프(망)를 이용해서 데이터 논리 구조를 표현한 데이터 모델로 상위와 하위 레코드 사이에서 다 대 다 대응관계를 만족하는 구조이다'데이터베이스 강의' 카테고리의 다른 글
관계형 데이터 모델 제약조건(2) (0) 2023.04.09 관계형 데이터 모델 제약조건(1) (0) 2023.04.09 데이터 모델의 이해 (0) 2023.04.09 데이터베이스 관리시스템의 종류 (0) 2023.04.09 데이터베이스 관리시스템의 정의 (0) 2023.04.08