728x90
반응형
출처 : http://www.kocw.net/home/cview.do?lid=3f649d95955b9199
이번 시간에는 데이터모델링을 학습한다.
- 데이터베이스 설계 단계
- 데이터 모델링의 정의와 데이터 모델의 개념
- 개체-관계 모델
데이터베이스 설계 단계
- 사용자의 다양한 요구 사항을 고려하여 데이터베이스를 생성하는 과정
- E-R 모델과 릴레이션 변환 규칙을 이용한 설계의 과정
- E-R 모델(Entity-Relationship model)
- 현실 세계의 개체(Entity)와 그들 간의 관계(Relationship)를 그래픽으로 표현하는 방법
- 데이터베이스를 설계할 때, 복잡한 데이터 구조를 시각적으로 이해하고 분석하기 쉽도록 사용된다.
- 구성 요소
- 개체(Entity) : 현실 세계에서 구별되는 대상(ex. 고객, 상품, 주문)
- 속성(Attribute) : 개체의 특징(ex. 고객의 이름, 주소, 상품의 가격)
- 관계(Relationship) : 개체 간의 연관성(ex. 고객이 상품을 주문한다)
- 릴레이션 변환
- E-R 모델은 사람이 이해하기 쉬운 시각적인 표현이지만, 컴퓨터는 이를 직접 처리할 수 없다. 따라서 E-R 모델을 컴퓨터가 처리할 수 있는 형태인 릴레이션(Relation)으로 변환해야 한다.
- 테이블과 같은 형태로, 행(row)과 열(column)로 구성된다.
- 각 행은 하나의 레코드를 나타내고, 각 열은 하나의 속성을 나타낸다.
- E-R 모델(Entity-Relationship model)
E-R 모델과 릴레이션 변환 규칙을 이용한 설계의 과정
- 요구사항 분석
- 데이터베이스 용도 파악
- 요구 사항 명세서
- 개념적 설계
- DBMS에 독립적인 개념적 구조 설계
- 개념적 스키마(E-R 다이어그램)
- 논리적 설계
- DMBS에 적합한 논리적 구조 설계
- 논리적 스키마(릴레이션 스키마)
- 물리적 설계
- DBMS로 구현 가능한 물리적 구조 설계
- 물리적 스키마
- 구현
- SQL 문을 작성한 후 이를 DBMS에서 실행하여 데이터베이스 생성
데이터 모델링과 데이터 모델의 개념
데이터 모델링(Data Modeling)
- 데이터 모델링이란 현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 변환 과정
- 현실 세계의 개체(Entity)의 속성(Attribute)를 추출하는 과정
2단계 데이터 모델링
- 개념적 데이터 모델링(Conceptual Modeling) : 현실 세계의 중요 데이터를 추출하여 개념 세계로 옮기는 과정
- 논리적 데이터 모델링(Logical Modeling) : 개념 세계의 데이터를 데이터베이스에 저장하는 구조로 표현하는 작업
데이터 모델(Data Model)
- 데이터 모델링의 결과물을 표현하는 도구
- 개념적 데이터 모델
- 사람의 머리로 이해할 수 있도록 현실 세계를 개념적 모델링하여 데이터베이스의 개념적 구조로 표현하는 도구
- 비즈니스 요구사항을 중심으로 시스템의 데이터 구조를 정의하며, 사용자가 이해하기 쉽도록 도형과 선 등을 사용하여 시각적으로 표현한다.
- 시스템의 데이터 요구사항을 명확히 하고, 시스템 개발에 참여하는 모든 이해관계자 간의 의사소통을 원활하게 하기 위함
- ex. 개체-관계 모델
- 논리적 데이터 모델
- 개념적 구조를 논리적 모델링하여 데이터베이스의 논리적 구조로 표현하는 도구
- 특정 데이터베이스 관리 시스템의 특징을 고려하여 설계되며, 테이블, 컬럼, 키 등의 데이터베이스 요소를 사용하여 표현
- 데이터 중복을 최소화하고, 데이터 무결성을 보장하기 위해 정규화 과정을 거침
- 개념적 모델을 바탕으로 실제 데이터베이스를 설계하고 구축하기 위한 기반 제공
- ex. 관계 데이터 모델
개체-관계 모델
개체-관계 모델(E-R Model)
- 현실 세계의 데이터를 컴퓨터가 이해할 수 있는 형태로 표현하기 위한 방법
- 개체와 개체 간의 관계를 이용해 현실 세계를 개념적 구조로 표현
- 핵심 요소 : 개체, 속성, 관계
- 복잡한 데이터 구조를 시각적으로 표현하여 시스템 개발에 참여하는 모든 사람들이 쉽게 이해할 수 있도록 한다.
개체-관계 다이어그램
- 개체 - 관계 모델을 이용해 현실 세계를 개념적으로 모델링한 결과물을 그림으로 표현한 것
- 개체 : 사각형으로 표현
- 속성 : 타원형으로 표현하고 개체 내부에 위치
- 관계 : 다이아몬드로 표현하고 관계에 참여하는 개체와 선으로 연결
개체(Entity)
- 현실 세계에서 조직을 운영하는 데 꼭 필요한 사람이나 사물과 같이 구별되는 모든 것
- 저장할 가치가 있는 중요 데이터를 가지고 있는 사람이나 사물, 개념, 사건 등
- 다른 개체와 구별되는 이름을 가지고 있고, 각 개체만의 고유한 특성이나 상태, 즉 속성을 하나 가지고 있음
- 파일 구조의 레코드와 대응됨
속성(Attribute)
- 개체나 관계가 가지고 있는 고유의 특성
- 의미 있는 데이터의 가장 작은 논리적 단위
- 파일 구조의 필드와 대응됨
개체 타입(Entity Type)
- 개체를 고유의 이름과 속성들로 정의한 것
- 파일 구조의 레코드 타입에 대응됨
개체 인스턴스(Entity Instance)
- 개체를 구성하고 있는 속성이 실제 값을 가짐으로써 실체화된 개체
- 개체 어커런스라고도 한다
- 파일 구조의 레코드 인스턴스에 대응됨
- 직원이라는 개체 타입을 선언하고, 직원 개체의 속성에 값을 넣어 각각의 직원 정보를 넣으면 그 각 직원이 실제 개체로 만들어진 개체 인스턴스가 된다.
개체 집합(Entity Set)
- 특정 개체 타입에 대한 개체 인스턴스들을 모아놓은 것
속성의 분류
키 속성(Key Attribute)
- 개체 인스턴스를 식별하는 데 사용되는 속성
- 모든 개체 인스턴스를 구별할 수 있어야 하기 때문에 모든 개체 인스턴스의 키 속성 값은 달라야 한다.
- E-R 다이어그램에서 밑줄로 표현
속성 값의 개수에 따른 분류
- 단일 값 속성(Single-valued attribute)
- 개체 인스턴스 당 하나의 값만 가질 수 있는 속성
- 고객 개체의 이름, 적립금 속성
- 다중 값 속성(Multi-valued attribute)
- 개체 인스턴스 당 여러 개의 값을 가질 수 있는 속성
- 고객 개체의 연락처 속성, 책 개체의 저자 속성
단순 속성과 복합 속성
- 단순 속성(Simple Attribute)
- 의미를 더는 분해할 수 없는 속성
- 고객 개체의 적립금 속성
- 책 개체의 이름, 가격 속성
- 복합 속성(Composite Attribute)
- 의미를 분해할 수 있는 속성
- 고객 개체의 주소 속성(도, 시, 동, 우편번호 등으로 세분화 가능)
- 고객 개체의 생년월일 속성(연, 월, 일로 세분화 가능)
유도 속성(Derived Attribute)
- 기존의 다른 속성의 값에서 유도되어 결정되는 속성
- 값이 별도로 저장되지 않음
- 직접 데이터베이스에 저장되는 것이 아니라, 필요한 순간에 다른 속성의 값을 가지고 계산하여 얻어지는 값
- E-R 다이어그램에서 점선 타원으로 표현
널 속성(Null Attribute)
- 널 값이 허용되는 속성
- Null 값이란 아직 결정되지 않거나 모르는 값 또는 존재하지 않는 값을 의미한다.
- 공백이나 0과는 의미가 다르다.
관계(Relationship)
- 개체와 개체가 맺고 있는 의미 있는 연관성
- 개체 집합들 사이의 대응 관계, 즉 매핑(mapping)을 의미
관계의 유형
- 관계에 참여하는 개체 타입의 수 기준
- 이항 관계 : 개체 타입 2개가 맺는 관계
- 삼항 관계 : 개체 타입 3개가 맺는 관계
- 순환 관계 : 개체 타입 하나가 자기 자신과 맺는 관계
- 매핑 카디널리티(Mapping Cardinality) 기준
- 관계를 맺는 두 개체 집합에서, 각 개체 인스턴스가 연관성을 맺고 있는 상대 개체 집합의 인스턴스 개수
- 1:1 관계
- 1:n 관계
- n:m 관계
일대일(1:1) 관계
- 개체 A의 각 개체 인스턴스가 개체 B의 개체 인스턴스 하나와 관계를 맺을 수 있고, 개체 B의 각 개체 인스턴스도 개체 A의 개체 인스턴스 하나와 관계를 맺을 수 있음
일대다(1:n) 관계
- 개체 A의 각 개체 인스턴스가 개체 B의 개체 인스턴스 여러 개와 관계를 맺을 수 있지만, 개체 B의 각 개체 인스턴스는 개체 A의 개체 인스턴스 하나와 관계를 맺을 수 있음
다대다(n:m) 관계
- 개체 A의 각 개체 인스턴스가 개체 B의 개체 인스턴스 여러 개와 관계를 맺을 수 있고, 개체 B의 각 개체 인스턴스도 개체 A의 개체 인스턴스 여러 개와 관계를 맺을 수 있음
관계의 참여 특성
- 필수적 참여(전체 참여)
- 모든 개체 인스턴스가 관계에 반드시 참여해야 함
- E-R 다이어그램에서 이중선으로 표현
- 선택적 참여(부분 참여)
- 개체 인스턴스 중 일부만 관계에 참여해도 됨
관계의 종속성
- 약한 개체(Weak Entity) : 다른 개체의 존재 여부에 의존적인 개체
- 오너 개체(Owner Entity) : 다른 개체의 존재 여부를 결정하는 개체
- 오너 개체와 약한 개체는 일반적으로 일대다의 관계를 가지고, 약한 개체는 오너 개체와의 관계에 필수적으로 참여하는 특징이 있다
- 약한 개체는 오너 개체의 키를 포함하여 키를 구성하는 특징이 있다
- E-R 다이어그램에서 약한 개체는 이중 사각형으로 표현하고 약한 개체가 오너 개체와 맺는 관계는 이중 마름모로 표현한다.
728x90
반응형
'Study > 데이터베이스' 카테고리의 다른 글
6장 - 정규화 (1) (2) | 2024.11.21 |
---|---|
5장 - 관계 데이터 모델 (1) | 2024.11.20 |
3장 - 데이터베이스 시스템 (0) | 2024.11.18 |
2장 - 데이터베이스 관리 시스템 (1) | 2024.11.17 |
1장 - 데이터베이스 기본 개념 (0) | 2024.11.17 |