Coding Planet
[DB Modeling] 개념적 데이터 모델(E-R 다이어그램), 개념적 데이터 모델, 논리적 데이터 모델 본문
반응형
2. 개념적 데이터 모델
- 현실 세계에 존재하는 데이터를 의미 있는 엔티티, 속성, 관계를 정의하는 추상화 과정
- 현실 세계에 존재하는 엔티티를 인간이 이해할 수 있는 정보구조(Information Structure)로 표현하는 과정
- 현실 세계를 추상화하여 개념적으로 표현하여 이해하기 쉽게 할 뿐 아니라 의사소통을 원활하게 해주는 과정을 의미
- 정보 모델링이라고도 함
- 개체 관계 모델(E-R : Entity-Relationship Model) : 기술된 엔티티 타입과 이 엔티티 타입들 간 의 관계를 이용하여 현실 세계를 표현하는 가장 대표적인 개념적 데이터 모델
- 주식별자(Primary Identifier)
- 엔티티에 소속된 인스턴스들을 구별하는 기준 역할을 하는 속성.
- 주식별자는 하나가 아닌 여러 속성일 수 있다. (복합키)
- 엔티티의 속성 중 주식별자 속성이 없다면 새로운 속성을 만들어준다. (인위적 주식별자)
- 주식별자는 유일성, 최소성, 불변성, 존재성의 특징을 갖는다.
1-1. 주식별자의 특징
- 유일성: 주식별자에 의해서 엔티티 내에 모든 인스턴스들을 유일하게 구현(중복x)
- 최소성: 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야 함
- 불변성: 주식별자가 한 번 특정 엔티티에 지정되면 그 식별자의 값은 변하지 않아야함.
- 존재성: 주식별자가 지정하면 반드시 데이터가 존재해야함 (NOT Null)
2. 외래 식별자(Foreign Identifier)
- 연관 있는 엔티티 간의 연결고리 역할을 하는 속성
- 관계가 있는 두 엔티티를 부모, 자식 엔티티로 구분한 후 부모의 주식별자와 공통 속성이 자식에게도 존재하면 해당 속성을 외래식별자로 지정. 존재하지 않으면 부모의 주식별자 속성을 자식에게 추가한 후 외래식별자로 지정.
** E-R 다이어그램
- 엔티티와 이들 간의 관계를 알기 쉽게 미리 약속된 도형을 사용하여 일목요연하게 표현
- 표기법
1. ERD 표기법(관계)
- 카디널리티와 참여도에 따른 관계의 종류
- 카디널리티: 두 개의 엔티티 간 관계에서 엔티티에 속해 있는 인스턴스들을 수적으로 표시한것
- 참여도: 참여도에는 필수, 선택 두 종류가 존재. 어떤 기준이 되는 엔티티가 있을 때 반드시 대응되는 엔티티가 존재해야 한다면 필수, 존재할 수 도 하지 않을 수도 있다면 선택
2. ERD 표기법 (식별-비식별 관계)
- 식별 관계(Identifying Relationship)
- 1:N 관계에서 외래 식별자가 자식 엔티티의 주식별자의 일부가 되는 관계
- PFK로 표시된다. (외래 식별자가 주식별자의 역할도 한다.)
- 실선으로 관계를 표시한다
- 비식별 관계(Non-Identifying Relationship)
- 1:N 관계에서 외래 식별자가 자식 엔티티의 주식별자 역할을 하지 못하고 단순히 새로운 속성으로 추가되는 관계
- FK로 표시된다. (단지 외래식별자의 역할만 한다.)
- 점선으로 관계를 표시한다.
3. 논리적 데이터 모델
- 개념적 데이터 모델은 DBMS가 직접 이해할 수 없기 때문에 컴퓨터가 이해할 수 있도록 논리적 데이터 모델로 변환해야 하는데 이를 논리적 데이터 모델이라고 한다.
- 개념적 설계에서 추출된 실체와 속성들의 관계를 관계형 데이터베이스 이론에 맞게 구조적으로 설계하는 단계인데, 이를 스키마의 설계라고 한다.
- 정확한 업부 분석을 통한 자료의 흐름을 분석하여 실체와 속성들의 관계를 구조적으로 설계하여야 한다.
- 논리적 데이터 모델은 데이터 모델링이라고도 함
- 관계 데이터 모델, 계층 데이터 모델, 네트워크 데이터 모델 등이 있음
계층 데이터 모델 | -데이터를 저장하는 단위인 엔티티의 구조가 상하 종속적인 관계로 구성 -ex)교수 - 학생- 수강과목 |
네트워크 데이터 모델 | - CODASYL이 제안(CODASYL DBTG 모델이라고도 함) - 그래프를 이용해서 데이터 논리구조를 표현한 데이터 모델 - 상위와 하위 레코드 사이에서 다대다(N:M) 대응 관계를 만족하는 구조 |
관계 데이터 모델 | - 계층 모델과 망 모델의 복잡한 구조를 단순화시킨 모델 - 표(Table)를 이용해서 데이터 상호관계를 정의하는 구조 |
반응형
'DB, SQL' 카테고리의 다른 글
[SQLD] 테이블 생성시 PK 설정하기 - ORACLE (0) | 2023.08.30 |
---|---|
[RDBMS]FOREIGN KEY, 외래키 예시, CASCADE (1) | 2023.03.15 |
[DB Modeling] 유스케이스 다이어그램 만들기 (0) | 2023.03.14 |
[DB Modeling] 논리적 모델링 - 정규화 (0) | 2023.03.14 |
[DB Modeling]ERwin Data Modeler 사용법, 식별/비식별 관계, 다대다 관계, 재귀(순환형)관계, 슈퍼타입/서브타입 (2) | 2023.03.08 |
Comments