데이터 모델링과 예제 데이터베이스 데이터 모델링의 개요를 이해한다. 데이터 모델링과 관련된 용어를 이해한다.

Slides:



Advertisements
Similar presentations
2장. 데이터 모델.
Advertisements

Chapter 16 : Struts 프레임워크 2. chapter 16 : Struts 프레임워크 2.
5장. 논리적 데이터베이스 모델링 1. 관계형 모델의 개념 2. Mapping Rule 3. 정규화
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
최윤정 Java 프로그래밍 클래스 상속 최윤정
Entity Relationship Diagram
제 4 장 관계 학기 소프트웨어설계.
연결리스트(linked list).
제 9 장 구조체와 공용체.
컴퓨터 프로그래밍 기초 [Final] 기말고사
MySQL 및 Workbench 설치 데이터 베이스.
데이터베이스 및 설계 금오공과대학교 컴퓨터공학부 이 이섭.
목차 백업과 복원.
6 장. ER-관계 사상에 의한 관계 데이터베이스 설계
Windows Server 장. 사고를 대비한 데이터 백업.
3장. 데이터베이스 구축의 전체 과정 미리 실습하기
테이블 : 데이터베이스를 구성하는 요소로 같은 성격에 정보의 집합체. 레코드 : 하나의 정보를 가지고 있는 컬럼의 집합체
제 6장. 생성자와 소멸자 학기 프로그래밍언어및실습 (C++).
07 그룹 함수 그룹 함수의 개념 그룹 함수의 종류 데이터 그룹 생성 HAVING 절.
3.2 SQL Server 설치 및 수행(계속) 시스템 데이터베이스 master
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
D / K / I / T / E / C / H / N / O / L / O / G / Y
데이터 모델링의 개요를 이해한다. 데이터 모델링과 관련된 용어를 이해한다. 논리적 모델링과 기타 모델링 방법을 이해한다.
11장. 1차원 배열.
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
1장. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
환경 설정 예제 데이터베이스 생성 - 그림 3.34의 SQL Server 관리 스튜디오 창의 왼쪽 영역의 데이터베
자바 5.0 프로그래밍.
박성진 컴퓨터 프로그래밍 기초 [09] 배열 part 1 박성진
자료구조: CHAP 7 트리 –review 순천향대학교 컴퓨터공학과 하 상 호.
27장. 모듈화 프로그래밍.
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
뇌를 자극하는 Windows Server 2012 R2
데이터베이스 설계도구 ERwin 사용법(Erwin 4.1.4)
뇌를 자극하는 Windows Server 장. 원격 접속 서버.
Clipping 이진학.
20장. 객체지향 프로그래밍 01_ 객체지향 프로그래밍의 시작.
Chapter 03. 관계 데이터베이스 설계.
데이터 베이스 DB2 관계형 데이터 모델 권준영.
균형이진탐색트리 이진 탐색(binary search)과 이진 탐색 트리(binary search tree)와의 차이점
약식 진리표를 이용한 타당성 증명 진리표 그리기 방법의 한계
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
Chapter 1 단위, 물리량, 벡터.
Chapter 1 단위, 물리량, 벡터.
Part 2 개념적 데이터 모델 Copyright © 2006 by Ehan Publishing Co. All rights reserved.
Chapter 10 데이터 검색1.
멀티미디어시스템 제 5 장. 멀티미디어 데이터베이스 개념 IT응용시스템공학과 김 형 진 교수.
학습내용 프로토콜 계층화 OSI 모델의 용어 및 기능 개체 서비스 접근점 (N) 프로토콜과 (N) 서비스 서비스 프리미티브
11장 배열 1. 배열이란? 1.1 배열의 개요 1.2 배열의 선언과 사용.
4장. 데이터 모델링 데이터 모델링과 데이터 모델의 개념 개체-관계 모델 논리적 데이터 모델.
서적DB개발 과제 Page 2의 ERD를 통해 구축할 서적 DB의 구조를 파악한다. (4개의 개체에 대해 확인함)
ER-관계 사상에 의한 관계데이터베이스 설계 충북대학교 구조시스템공학과 시스템공학연구실
8장 선택 논리 II 1. 논리연산자 1.1 논리연산자 : AND (&&) 1.2 논리연산자 : OR (||)
.Net FrameWork for Web2.0 한석수
07. DB 설계 명지대학교 ICT 융합대학 김정호.
Chapter 2: Intro to Relational Model
 6장. SQL 쿼리.
                              데이터베이스 설계 및 실습 #6 - SQL 실습 한국외국어대학교 DaPS 연구실                              
11장. 보안과 권한 관리 보안 권한 관리. 11장. 보안과 권한 관리 보안 권한 관리.
교착 상태 해결 : 교착 상태 탐지 교착 상태 탐지(Deadlock Detection)
진리표를 이용한 타당성 증명 진리표(truth table) : 단순 문장들이 진리값을 상이하게 가질 수 있는 가능한 모든 경우를 남김없이 열거한 표 (ex) 오늘은 날씨가 맑거나 비가 올 것이다. 오늘은 날씨가 맑다 비가 온다 오늘은 날씨가 맑거나 비가 올 것이다. T.
7 생성자 함수.
6 객체.
데이터베이스 설계 데이터의 분석 개체 관계.
8장. 데이터베이스 설계 데이터베이스 설계 단계 요구 사항 분석 개념적 설계 논리적 설계 물리적 설계와 구현.
교과서 78쪽 학습 목표 정보 관리의 필요성을 이해할 수 있다. 데이터베이스의 개념과 필요성을 이해할 수 있다.
Presentation transcript:

데이터 모델링과 예제 데이터베이스 데이터 모델링의 개요를 이해한다. 데이터 모델링과 관련된 용어를 이해한다. 데이터 모델링과 예제 데이터베이스 데이터 모델링의 개요를 이해한다. 데이터 모델링과 관련된 용어를 이해한다. 논리적 모델링과 그 외 모델링 방법을 이해한다. 예제 데이터베이스의 구조(스키마)와 업무 규칙을 이해한다.

데이터 모델링과 예제 데이터베이스 1. 데이터 모델링 2. 예제 데이터베이스

데이터 모델링 >> 개요 데이터 모델링과 예제 데이터베이스 ■ 논리적 모델링과 물리적 모델링 구분 단계 설명 논리적 모델링 데이터베이스 구축의 분석 단계에 해당 - 특정 DBMS에 의존하지 않는 골격을 만드는 작업 - 실체, 속성, 관계 등을 만들고 서로 관련을 맺는 작업을 포함 물리적 모델링 데이터베이스 구축의 설계 단계에 해당 - 특정 DBMS에 의존하는 데이터 형식, 각종 제약 조건, 뷰, 인덱스 등을 설정하는 작업 ■ 실체-관계도(ERD, Entity-Relationship Diagram) 방법론

데이터 모델링 >> 기초 용어 데이터 모델링과 예제 데이터베이스 ■ 실체(Entity) ▸ 정보를 가지고 있거나 그에 대한 정보를 알아야 하는 유형/무형의 사람, 장소, 사물, 사건, 개념 등 ▸ 대부분의 경우, 논리적 모델에서의 실체는 나중에 데이터베이스의 테이블이 됨 ▸ 실체를 파악하는 간단한 방법: 요구 사항 명세를 문장으로 적은 후, 거기서 명사나 명사형을 추출하고, 이들 중 의미가 있는 것을 골라내어 실체의 후보로 만들 수 있음

데이터 모델링 >> 기초 용어 데이터 모델링과 예제 데이터베이스 ■ 속성(Attribute) ▸ 실체의 성질, 분류, 식별, 수량, 상태 등을 나타내는 세부적인 특성 ▸ 주 식별자(Primary Identifier)도 하나 이상의 속성 집합임 ▸ 식별자에 해당하지 않는 속성을 비식별자 속성(non-identifier attributes)이라 부름 ▸ 일반적으로 한 실체의 속성 수는 2개 이상 10개 이하 정도를 권장하지만, 상황에 따라 이 범위를 벗어날 수도 있음 ■ 인스턴스(Instance) ▸ 실체의 단일 사례(인스턴스들의 집합) ▸ 예: 필자 이름이 ‘홍길동‘이고, 전화가 ‘02-123-4567‘이며, 주소가 ‘서울시 강남구 역삼동 100번지‘인 필자는 필자 실체의 한 인스턴스 ▸ 식별자 및 관계 차수와 깊은 연관이 있음

데이터 모델링 >> 기초 용어 데이터 모델링과 예제 데이터베이스 ■ 식별자(1) ● 주 식별자(Primary Identifier) ▸ 한 실체에서 꼭 같은 인스턴스가 두 개 이상 있다면 그 중 하나를 추출하는 것은 불가능하며, 결과적으로 데이터 중복 및 조회 문제가 발생함 ▸ 실용적인 데이터베이스를 구축할 때 인스턴스의 값을 유일하게 유지 관리하는 것이 필수적 ▸ 이때, 인스턴스들을 좀더 효율적으로 서로 구분할 수 있게 하는 것이 주 식별자 ▸ 속성 하나나 둘 이상의 속성 조합으로 구성할 수 있음(둘 이상의 속성 조합으로 구성하는 주 식별자는 “복합 주 식별자”). ● 후보 식별자(Candidate Identifier): 주 식별자가 될 수 있는 각 후보들 ● 부 식별자(Alternate Identifier) ▸ 후보 식별자 중에서 주 식별자로 지정하지 않은 것(여러 벌이 있을 수 있음). ▸ 부 식별자는 물리적 모델링에서 유일성(UNIQUE) 인덱스를 설정하는 경우가 많음

데이터 모델링 >> 기초 용어 데이터 모델링과 예제 데이터베이스 ■ 식별자(2) 필자 ID 필자 이름 전화 주소 1   필자 이름 전화 주소 1 홍길동 02-123-4567 서울시 강남구 역삼동 100번지 2 02-234-5678 서울시 서초구 서초동 200번지 3 을지매 031-765-4321 경기도 수원시 매탄동 300번지 ▸ 필자의 주 식별자는 필자 ID이고, 책의 주 식별자는 책 ID다. ▸ [표 4-2]에서는 주 식별자와 비 식별자 속성 사이를 두 줄로 구분함 ▸ 주 식별자인 필자 ID만으로 인스턴스들을 완벽하게 식별할 수 있음 ▸ 주민번호와 같이 자연적인 속성도 후보(Candidate)가 될 수 있으나, 필자 ID나 책 ID처럼 인위적인 것도 좋은 후보라 할 수 있음 ▸ 인위적인 주 식별자를 물리적 모델에서 IDENTITY 속성 등과 연계하면 좀더 효율적으로 테이블을 관리할 수 있음

데이터 모델링 >> 기초 용어 데이터 모델링과 예제 데이터베이스 ■ 관계(Relationship) ▸ 실체들간에 의미가 있는 연결 ▸ 관계에는 이름이 붙어 있음 ▸ 관계형 데이터베이스에서 가장 중요한 요소 ▸ 관계를 파악하는 간단한 방법: 요구 사항 명세를 문장으로 적은 후 거기서 동사를 추출하고, 이들 중 위에서 파악한 실체들 사이에 적용할 수 있는 것을 골라내어, 관계 후보로 만들 수 있음 ▸ 관계를 좀더 체계적으로 파악하기 위해 관계 표를 이용할 수도 있음

데이터 모델링 >> 기초 용어 데이터 모델링과 예제 데이터베이스 ■ 관계차수(Cardinality) ● 관계를 구성하는 실체들의 인스턴스 수를 규명하는 것 ● 관계 차수를 따질 때는 반드시 인스턴스를 이용해야 한다. ● 중요한 관계 차수 및 표시법 관계 차수 식별 관계에서의 표시법 비식별 관계에서의 표시법 0, 1 또는 그 이상 1 또는 그 이상 0 또는 1 정확히 N(예를 들어, 1:3) ▸ 왼쪽에는 부모(주) 실체가, 오른쪽에는 자식(종) 실체가 있다고 가정함 ▸ IDEFIX: 데이터 모델링 기법의 일종으로, 1993년에 미국 NIST(National Institute of Standards and Technology)에서 데이터 모델링 표준으로 발표해 미 정부 기관에서 주로 사용해 왔고, 현재는 일반인들도 많이 사용함

데이터 모델링 >> 기초 용어 데이터 모델링과 예제 데이터베이스 ■ 관계표 실체 1 실체 2 실체 3 X 0-N X ▸ 관계 표의 세로축과 가로축에 실체들을 나열하고, 모든 실체들 사이에 관계가 있는지, 있다면 관계 차수가 어떻게 되는지를 따져서, 대각선으로 나눠져 있는 각각의 셀에 기입 ▸ 예: 세로축의 실체1을 기준으로 실체2를 보았을 때의 관계 차수가 ‘1 : 0, 1 또는 그 이상‘ 이라고 가정할 때, 첫째 행 셋째 열처럼 기입(실체1은 부모 실체가, 실체2는 자식 실체가 됨) ▸ X는 관계가 없음을 나타내고, 자기 자신과의 관계는 뒤에 설명할 자기 참조를 나타냄 ● 관계 차수를 정확히 구현하기 위해서는 트리거나 저장 프로시저 등의 프로그래밍이 필요

데이터 모델링 >> 기초 용어 데이터 모델링과 예제 데이터베이스 ■ 외래 식별자 ● 실체들 사이에 관계를 맺을 때 부모 실체의 주 식별자가 자식 실체의 외래 식별자(Foreign Identifier)로 이주함(migration) ● ERWin과 같은 CASE 도구를 사용할 경우에는 자동으로 이루어지지만, 수작업으로 모델링할 경우에는 작업자가 직접 외래 식별자에 해당하는 속성을 자식 실체에 추가해야만 함 ● 외래 식별자로 지정된 속성은 임의의 값을 가지지 못하고, 외래 식별자가 참조하는 부모 실체의 주 식별자가 가지고 있는 값만 가질 수 있음(참조 무결성(Referential Integrity))

데이터 모델링 >> 기초 용어 데이터 모델링과 예제 데이터베이스 ● 참조 무결성의 예 ▸ 책 실체와 필자 실체 사이의 관계를 끊고 책 실체 내에 필자 ID를 (외래 식별자 대신) 일반 속성으로 정의했다고 가정함

데이터 모델링 >> 기초 용어 데이터 모델링과 예제 데이터베이스 책 ID 필자 ID 책 이름 출판사 출판년도 쪽수 가격 1 삼국지 … 2 4 이런 책은 없다 ▸ 필자 ID가 4인 인스턴스(책 이름 ‘이런 책은 없다‘)를 삽입할 수 있게 됨 ▸ 그런데 필자 실체에는 필자 ID가 4인 인스턴스가 없으므로, 데이터 무결성이 깨지고 심각한 문제가 생김 ● 관계에 의해 필자 ID가 외래 식별자로 지정된 경우: 필자 실체에 존재하는 필자 ID 값인 1, 2 또는 3만 책 실체의 외래 식별자인 필자 ID의 값으로 허용되므로, [표 4-4]에서 필자 ID 값이 4인 인스턴스의 삽입은 근본적으로 차단됨(DBMS가 삽입을 거부함).

데이터 모델링 >> 기초 용어 데이터 모델링과 예제 데이터베이스 ■ 식별(Identifying) 관계 ▸ 부모 실체의 주 식별자가 자식 실체의 외래 식별자이자 동시에 주 식별자가 되는 관계 ▸ 식별 관계선은 실선으로 표시 ▸ 식별 관계에 의해, 필자 실체의 주 식별자(필자 ID)가 책 실체의 주 식별자 영역에 외래 식별자(필자 ID)로 들어감 ▸ 식별 관계의 단점(1) : 주 식별자 영역이 점점 비대해지며(식별 관계는 부모 실체의 주 식별자를 자식 실체의 주 식별자로 계속하여 전파시키는 특성이 있기 때문에), 결과적으로 무의미한 외래 식별자들이 주 식별자 영역에 들어가는 경우도 많이 있음

데이터 모델링 >> 기초 용어 데이터 모델링과 예제 데이터베이스 ▸ 식별 관계의 단점(2) : 조인(JOIN)할 때 부모 테이블의 주 식별자와 자식 테이블의 외래 식별자를 조인 조건에서 사용하는데, 식별 관계를 많이 사용할 경우, 복합 주 식별자가 만들어질 가능성이 높아지기 때문에 조인 조건식이 복잡해지고 결과적으로 성능을 저하시킴 ▸ 불가피한 경우를 제외하고는 비식별 관계를 맺는 것이 좋음 ▸ ‘불가피한 경우‘의 예 ▸ 하위 형식 관계(Subtype Relationship)라 불리는 것으로, 필자를 전임 필자와 프리랜서 필자로 세분화하고, 필자 실체의 속성을 하위 형식 실체들(전임 필자 및 프리랜서 필자)이 공유하는 개념(객체 지향의 상속 개념과 유사). 이 경우, 이들 사이의 관계는 반드시 식별 관계여야 함

데이터 모델링 >> 기초 용어 데이터 모델링과 예제 데이터베이스 ■ 비식별(Non-Identifying) 관계 ▸ 부모 실체의 주 식별자가 자식 실체의 비식별자 영역의 외래 식별자인 관계 ▸ 비식별 관계선은 점선으로 표시함 ▸ 비식별 관계를 적용하는 것이 적절한 경우가 많음 ▸ 강제적(Mandatory) 비식별 관계와 선택적(Optional) 비식별 관계로 구분 ● 강제적(Mandatory) 비식별 관계 ▸ 외래 식별자에 NULL을 허용하지 않는 관계 ▸ 자식 실체가 존재하기 위해 부모 실체가 반드시 먼저 존재해야 함을 의미 ● 선택적(Optional) 비식별 관계 ▸ 외래 식별자에 NULL을 허용하는 관계 ▸ 부모 실체가 없이도 자식 실체가 존재할 수 있음을 의미함

데이터 모델링 >> 기초 용어 데이터 모델링과 예제 데이터베이스 ■ ERD ▸ 필자 없는 책이 존재할 수도 있다는 것을 나타냄 ▸ 관계 자체를 약화시킨다고 볼 수도 있으나, 상황에 따라 필요한 경우가 많음 ▸ 주의: 외래 식별자가 NULL이 아닌 경우에는 참조 무결성 제약을 반드시 지켜야 함(외래 식별자는 자기가 참조하는 부모 실체의 주 식별자가 가지고 있는 값만 가질 수 있음). ▸ 선택적 비식별 관계선의 부모 실체 쪽에는 다이아몬드 형태로 표시 ■ ERD ▸ Entity Relationship Diagram의 약자 ▸ 번역하면 ‘실체-관계도‘ ▸ 실체와 그 사이의 관계를 규명한 다이어그램

데이터 모델링 >> 논리적 모델링 데이터 모델링과 예제 데이터베이스 데이터 모델링 >> 논리적 모델링 ■ 다대다 관계 해소 ● 책은 서점에 납품되어야 하므로, 분명히 관계는 있음 ● 관계 차수를 따져보면, 책 한 종류(인스턴스)는 여러 서점에 납품되어야 하고, 한 서점에는 여러 종류의 책을 납품받아야 하므로, 다대다 관계임 ● IDEF1X에서는 다대다 관계를 양쪽에 검은 원을 가진 실선으로 표시 ● 논리적 모델에서만 허용되며, 물리적 모델에서는 허용되지 않음

데이터 모델링 >> 논리적 모델링 데이터 모델링과 예제 데이터베이스 데이터 모델링 >> 논리적 모델링

데이터 모델링 >> 논리적 모델링 데이터 모델링과 예제 데이터베이스 데이터 모델링 >> 논리적 모델링 ● 교차 실체 Erwin에서 자동으로 해소한 다대다 관계(물리적 모델) 다대다 관계를 해소한 논리적 모델

데이터 모델링 >> 논리적 모델링 데이터 모델링과 예제 데이터베이스 데이터 모델링 >> 논리적 모델링 ● 다대다 관계가 발생하는 상황 ▸ 관계가 없는 경우: 없는 관계를 만들려고 할 때 다대다 관계가 많이 형성됨. 이 경우, 관계를 맺지 말아야 한다(지속적인 경험으로 익힐 수 있음). ▸ 간접적인 관계가 있는 경우(중간의 실체가 누락): 두 실체간에 직접적인 관계는 없으나, 하나 이상의 중간 실체를 경유한 간접적인 관계가 있는 경우임. 중간의 실체(들)를 찾아내는 작업을 해야 함 ● 논리적 모델링에서 다대다 관계가 발생할 경우, 위의 두 가지 상황 중 하나에 해당된다고 판단하고 이를 해소해야 함 ● 관계 표를 이용하는 것도 정확한 관계를 파악하는데 도움이 됨

데이터 모델링 >> 논리적 모델링 데이터 모델링과 예제 데이터베이스 데이터 모델링 >> 논리적 모델링 ■ 정규화 ● 데이터 중복을 막고 무결성을 강화하기 위해 하나의 실체를 둘 이상의 실체로 분리하는 작업 ● 정규형(Normal Form): 정규화 된 모델 ① 제 1 정규형(First Normal Form; 1NF) ② 제 2 정규형(Second Normal Form; 2NF) ③ 제 3 정규형(Third Normal Form; 3NF) ④ Boyce-Codd 정규형(BCNF) ⑤ 제 4 정규형(Fourth Normal Form; 4NF) ⑥ 제 5 정규형(Fifth Normal Form; 5NF) ● 실무에서는 제 3 정규형으로 충분하다고 알려져 있으며, 제 4 정규형이나 제 5 정규형은 다가 종속성(multi-valued dependancy)까지 분석하는 것인데 이것은 오히려 모델링에 나쁜 영향을 미치는 것으로 판명되었음. ● Boyce-Codd 정규형은 제 3 정규형의 대안이 될 수 있는 것이지만, 종합적으로 판단할 때 제 3 정규형이 최선책이라고 알려져 있음

데이터 모델링 >> 논리적 모델링 데이터 모델링과 예제 데이터베이스 데이터 모델링 >> 논리적 모델링 ■ 정규화 – 함수적 종속성(Functional Dependency) ● 속성들 사이(실체들 사이가 아님!)의 종속 관계를 나타내는 것 ● 예: 주문 실체 내에 주문 번호, 고객 ID, 영업 사원 ID 라는 속성이 있고, 주문 번호는 고객 ID를 결정짓고, 주문 번호는 영업 사원 ID를 결정지으며, 고객 ID는 영업 사원 ID를 결정짓는다고 할 때, 이들의 함수적 종속 관계임(화살표 방향은 결정짓는 쪽에서 종속되는 쪽으로 향하는 것에 유의). ● ‘주문 번호가 고객 ID를 결정짓는다‘: 주문 번호 하나에 대해서 오직 하나의 고객 ID를 가질 수 있으며, 주문 번호와 고객 ID는 (다른 실체로) 서로 분리될 수 없다는 뜻. ‘고객 ID는 주문 번호에 함수적으로 종속된다‘라는 말과 동의어 ● 함수적 종속성은 제 2 ~ 5 정규형을 규명하기 위해 반드시 알아야 하는 개념

데이터 모델링 >> 논리적 모델링 데이터 모델링과 예제 데이터베이스 데이터 모델링 >> 논리적 모델링 ■ 정규화 – 제1 정규형 ● 실체 내에 반복되는 속성이나 속성 그룹이 없는 형태 ● 자식1 ~ 자식7까지의 속성이 반복되고 있으므로, 비1차 정규형(non-first normal form; NFNF 또는 NF2) ● 반복되는 속성(그룹)은 정보 손실과 저장 공간 낭비라는 심각한 문제점을 안고 있으므로 반드시 제거해야 함 ● 문제 해결: 반복되는 속성(그룹)을 별도의 실체로 분리 → 제 1 정규형(First Normal Form; 1NF)

데이터 모델링 >> 논리적 모델링 데이터 모델링과 예제 데이터베이스 데이터 모델링 >> 논리적 모델링

데이터 모델링 >> 논리적 모델링 데이터 모델링과 예제 데이터베이스 데이터 모델링 >> 논리적 모델링 ■ 정규화 – 제2 정규형 ● 하나의 실체가 제 1 정규형이면서, 모든 비식별자 속성들이 주 식별자에 함수적으로 완전히 종속되는 형태 ● 복합 주 식별자의 경우, 주 식별자의 일부 속성에만 함수적으로 종속되는 비식별자 속성이 있어서는 안 됨 ● 예: 속성들이 주 식별자에 함수적으로 완전히 종속되도록 실체를 분리 → 제 2 정규형 제2정규형 제1정규형

데이터 모델링 >> 논리적 모델링 데이터 모델링과 예제 데이터베이스 데이터 모델링 >> 논리적 모델링 ■ 정규화 – 제3 정규형 ● 하나의 실체가 제 2 정규형이면서, 어떠한 비 식별자 속성들도 다른 비 식별자 속성에 함수적으로 종속되지 않는 형태 ● 예: 속성들을 별도의 실체로 분리 → 제 3 정규형

데이터 모델링과 예제 데이터베이스

데이터 모델링 >> 기타 모델링 데이터 모델링과 예제 데이터베이스 ■ 물리적 모델링 ■ 객체 지향 데이터 모델링 ■ 물리적 모델링 ● 특정 DBMS에 의존하는 데이터 형식, 각종 제약 조건, 뷰, 인덱스 등을 설정하는 작업 ● 물리적 모델링의 수행 절차 ① 이름 영문화: 논리적 모델에서는 대부분 한글 이름을 부여하는데, 물리적 모델에서는 이것을 영문 이름으로 바꾸어야 함 ② 데이터 형 지정 ③ NULL, NOT NULL 및 IDENTITY 지정 ④ 제약 기본 값과 개체 기본 값 정의 ⑤ 체크와 규칙 정의 ⑥ 도메인 정의 및 적용 ⑦ 인덱스 설정 ⑧ 테이블별 코멘트 작성 ⑨ 뷰 정의 ■ 객체 지향 데이터 모델링 ● UML(UML 데이터 모델링 프로필) ● ORM(개체 역할 모델링, Object Role Modeling)

데이터 모델링과 예제 데이터베이스 예제 데이터베이스 ■ Pubs ● 물리적 모델

데이터 모델링과 예제 데이터베이스 예제 데이터베이스 ● 스키마와 업무 규칙 책의 [표 4 - 8] 참고

데이터 모델링과 예제 데이터베이스 예제 데이터베이스 ■ Northwind ● 물리적 모델

예제 데이터베이스 데이터 모델링과 예제 데이터베이스 ■ 기타 예제 데이터베이스 ● 스키마와 업무 규칙 책의 [표 4 - 9] 참고 ■ 기타 예제 데이터베이스 ● 3장의 ‘예제 DB 재구축’을 참고