논리적 데이터 모델
논리적 데이터 모델의 개념과 특성
-
E-R 다이어그램으로 표현된 개념적 구조를 데이터베이스에 저장할 형태로 표현한 논리적 구조
- 데이터베이스의 논리적 구조 = 데이터베이스 스키마(schema)
- 사용자가 생각하는 데이터베이스의 모습 또는 구조
- 관계 데이터 모델, 계층 데이터 모델, 네트워크 데이터 모델 등이 있음
관계 데이터 모델
- 일반적으로 많이 사용되는 논리적 데이터 모델
- 데이터베이스의 논리적 구조가 2차원 테이블 형태임
계층 데이터 모델(hierarchical data model)
- 데이터베이스의 논리적 구조가 트리(tree) 형태임
- 루트 역할을 하는 개체가 존재하고 사이클이 존재하지 않음
- 개체 간에 상하 관계가 성립
- 부모 개체 / 자식 개체
- 부모와 자식 개체는 일대다(1:n) 관계만 허용됨
- 두 개체 사이에 하나의 관계만 정의할 수 있음
- 다대다(n:m) 관계를 직접 표현할 수 없음
- 개념적 구조를 모델링하기 어려워 구조가 복잡해질 수 있음
계층형 데이터 모델의 장 단점
- 장점
• 구조가 간단하고, 판독이 용이
• 구현, 수정, 검색이, 용이
• 데이터의 독립성이 보장
• 망 데이터 모델이나 관계 데이터 모델도 실제 구현 할 때는 계층적인 기억 구조를 이용
- § 단점
• 데이터 상호 간의 유연성이 부족
• 검색 경로가 한정
• 삽입과 삭제 연산이 매우 복잡
• 다 대 다 관계를 처리하기가 어려움
네트워크 데이터 모델(network data model)
- 데이터베이스의 논리적 구조가 네트워크, 즉 그래프 형태임
- 개체 간에는 일대다(1:n) 관계만 허용됨
- 오너(owner) / 멤버(member)
- 두 개체 사이에 여러 관계를 정의할 수 있어 이름으로 구별함
- 다대다(n:m) 관계를 직접 표현할 수 없음
- 구조가 복잡하고 데이터의 삽입·삭제·수정·검색이 쉽지 않음
관계 데이터 모델의 기본 개념
- 개념적 구조를 논리적 구조로 표현하는 논리적 데이터 모델
- 하나의 개체에 대한 데이터를 하나의 릴레이션(테이블 형태)에 저장
관계 데이터 모델의 기본 용어
- 릴레이션(relation)
- 하나의 개체에 관한 데이터를 2차원 테이블의 구조로 저장한 것
- 파일 관리 시스템 관점에서 파일(file)에 대응
- 속성(attribute)
- 릴레이션의 열, 애트리뷰트
- 파일 관리 시스템 관점에서 필드(field)에 대응
- 투플(tuple)
- 릴레이션의 행
- 파일 관리 시스템 관점에서 레코드(record)에 대응
- 도메인(domain)
- 하나의 속성이 가질 수 있는 모든 값의 집합
- 속성 값을 입력 및 수정할 때 적합성의 판단 기준이 됨
- 일반적으로 속성의 특성을 고려한 데이터 타입으로 정의
- 널(null)
- 속성 값을 아직 모르거나 해당되는 값이 없음을 표현
- 차수(degree)
- 하나의 릴레이션에서 속성의 전체 개수
- 카디널리티(cardicality)
- 하나의 릴레이션에서 투플의 전체 개수
데이터베이스의 구성
- 데이터베이스 스키마(database schema)
- 데이터베이스의 전체 구조
- 데이터베이스를 구성하는 릴레이션 스키마의 모음
- 데이터베이스 인스턴스(database instance)
- 데이터베이스를 구성하는 릴레이션 인스턴스의 모음