DataBase Modeling DB 모델링 데이터베이스 모델링 정의 데이터베이스 설계과정 개념적 데이터베이스 모델링

Slides:



Advertisements
Similar presentations
일정 관리 다이어리 제작 JSP Programming with a Workbook. 학습 목표  사용자의 일정을 관리할 수 있는 다이어리에 대하여 알아보자. JSP Programming with a Workbook2.
Advertisements

1. 추상화와 모델링 2. 데이터베이스 설계의 개념 3. 정보시스템 구축과 데이터베이스 설계 4. 데이터베이스 설계의 상세 과정.
2장. 데이터 모델.
1. 관계 데이터베이스의 정규화 (1) 정규화 1) 이상(anomaly) ① 이상의 정의 • 관계 모델에서는 애트리뷰트들 간에 존재하는 여러 종속관계를 하나의 릴레이션에 표현하기 때문에 릴레이션 조작 시 이상 (anomaly) 발생 • 데이터의 중복으로 인하여 관계연산을.
5장. 논리적 데이터베이스 모델링 1. 관계형 모델의 개념 2. Mapping Rule 3. 정규화
김태원 심재일 김상래 강신택. 김태원 심재일 김상래 강신택 인터넷 통신망의 정보를 제공하는 서비스 인터넷의 자원 및 정보는 NIC가 관리 IP주소 또는 도메인으로 정보 검색 이용자 및 통신망 관한 정보를 제공.
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
Entity Relationship Diagram
                              데이터베이스 설계 및 실습 #8 - ER-Win 한국외국어대학교 DaPS 연구실                              
제 09 장 데이터베이스와 MySQL 학기 인터넷비즈니스과 강 환수 교수.
MySQL 및 Workbench 설치 데이터 베이스.
데이터베이스 및 설계 금오공과대학교 컴퓨터공학부 이 이섭.
                              데이터베이스 설계 및 실습 #9 - 논리적 모델링 한국외국어대학교 DaPS 연구실                              
6 장. ER-관계 사상에 의한 관계 데이터베이스 설계
ALLPPT.com _ Free PowerPoint Templates, Diagrams and Charts
07 그룹 함수 그룹 함수의 개념 그룹 함수의 종류 데이터 그룹 생성 HAVING 절.
3.2 SQL Server 설치 및 수행(계속) 시스템 데이터베이스 master
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
컴퓨터과학 전공탐색 배상원.
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
08. 데이터 모델링.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
모바일 자바 프로그래밍 JDBC / WAP Ps lab 오민경.
17강. 데이터 베이스 - I 데이터 베이스의 개요 Oracle 설치 기본적인 SQL문 익히기
KHS JDBC Programming 4 KHS
자료구조: CHAP 4 리스트 (3) 순천향대학교 컴퓨터공학과 하 상 호.
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
1장. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
함수적 종속과 정규화 함수적 종속 데이터 중복의 문제점 정규형.
27장. 모듈화 프로그래밍.
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
ER-관계 사상에 의한 관계 데이터베이스 설계
데이터베이스 설계도구 ERwin 사용법(Erwin 4.1.4)
데이터베이스 설계도구 ERWin 사용법 덕성여자대학교 Database Lab.
1. 데이터 모델 개념 (1) 정보 모델링과 데이터 모델링 1) 정보 모델링 (information modeling) ① 현실 세계에 존재하는 개체를 인간이 이해할 수 있는 정보 구조 (현실 세계에 대한 인식을 추상적 개념으로 표현)로 표현하는 과정 ② 정보 모델링을.
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
Chapter 03. 관계 데이터베이스 설계.
05. Relational DBMS 명지대학교 ICT 융합대학 김정호.
졸업 요건 충족을 위한 추가 이수 학점에 대해서는 ‘졸업요건‘ 규정 확인 바람
MovieStory 작성자 홍성혁 소속 전자전기컴퓨터공학부 학번
Database Management System
데이터 베이스 DB2 관계형 데이터 모델 권준영.
웹사이트 분석과 설계 (화면 설계) 학번: 성명: 박준석.
단계1 단계2 단계3 단계4 단계5 단계별 제목 상세내용1 상세내용
CHAP 21. 전화, SMS, 주소록.
3장, 마케팅조사의 일번적 절차 마케팅 조사원론.
제 8 장 ER-관계 사상에 의한 관계 데이타베이스 설계
14 뷰(View) 뷰의 개념 뷰 관리.
Part 2 개념적 데이터 모델 Copyright © 2006 by Ehan Publishing Co. All rights reserved.
Chapter 10 데이터 검색1.
멀티미디어시스템 제 4 장. 멀티미디어 데이터베이스 정보환경 IT응용시스템공학과 김 형 진 교수.
멀티미디어시스템 제 5 장. 멀티미디어 데이터베이스 개념 IT응용시스템공학과 김 형 진 교수.
학습내용 프로토콜 계층화 OSI 모델의 용어 및 기능 개체 서비스 접근점 (N) 프로토콜과 (N) 서비스 서비스 프리미티브
11장 배열 1. 배열이란? 1.1 배열의 개요 1.2 배열의 선언과 사용.
웹 사이트 분석과 설계 [디자인 리서치] 학번: 이름 : 홍지애.
4장. 데이터 모델링 데이터 모델링과 데이터 모델의 개념 개체-관계 모델 논리적 데이터 모델.
ER-관계 사상에 의한 관계데이터베이스 설계 충북대학교 구조시스템공학과 시스템공학연구실
.Net FrameWork for Web2.0 한석수
07. DB 설계 명지대학교 ICT 융합대학 김정호.
Chapter 2: Intro to Relational Model
ER-관계 사상에 의한 관계 데이터베이스 설계
CHAP 15. 데이터 스토리지.
 6장. SQL 쿼리.
                              데이터베이스 설계 및 실습 #6 - SQL 실습 한국외국어대학교 DaPS 연구실                              
6 객체.
데이터베이스 설계 데이터의 분석 개체 관계.
8장. 데이터베이스 설계 데이터베이스 설계 단계 요구 사항 분석 개념적 설계 논리적 설계 물리적 설계와 구현.
교과서 78쪽 학습 목표 정보 관리의 필요성을 이해할 수 있다. 데이터베이스의 개념과 필요성을 이해할 수 있다.
제1강 데이터베이스의 기본개념(3).
Presentation transcript:

DataBase Modeling DB 모델링 데이터베이스 모델링 정의 데이터베이스 설계과정 개념적 데이터베이스 모델링 (업무의 일반화 과정) 논리적 데이터베이스 모델링 (완벽한 정규화 과정) 물리적 데이터베이스 모델링 (데이터베이스 스키마 구축)

01 데이터베이스 모델링이란 데이터베이스 모델링이란 정보모델링 DataBase 데이터 모델링이라고도 하며, 다른 말로는 개체-관계 모델링이라고도 한다. 현실의 개념들을 체계적으로 수집하여 정보모델링을 통해 사용자의 정보요구사항을 조사하고, 이를 개체, 관계, 속성을 중심으로 명확하게 체계적으로 표현하고 문서화 하는 기법이다. 현실세계 데이터 모델링 정보모델링 개념 1 개념 2 개체 Entiy name 개체 Entiy name 개념 3 개념 n 일치 컴퓨터세계 데이터구조화 물리적으로 저장된 DataBase id name tel 개체 Entiy name 개체 Entiy name 1234 김승희 02-123-456 1235 김희석 02-123-456 1236 김미나 02-123-456 1237 김향화 02-123-456 - 개체 : 데이터베이스 내에 표현하고자 하는 유형/무형의 파일 시스템의 레코드에 해당되면 정보를 표현하는 논리적인 단위 - 관계 : 두 개 이상의 개체들 간의 연관성을 결정짓는 의미 있는 연결. - 속성 : 개체의 성질, 분류, 식별, 수량, 상태 등을 나타내는 세부의 관리 요소로써 관계형 데이터베이스에 사용되는 데이터의 최소단위

01 데이터베이스 모델링이란 모델링을 통해서 얻는 것 모델링의 권장 순서 모델링 고려사항 모델은 현실을 단순화 시키는 것 (추상화 레벨을 잘 결정해야 한다) 모델을 만들어 봄으로써 시스템의 이해를 돕는다. - 현재 또는 원하는 모습으로 가시화 - 업무에 대한 명세화 - 시스템을 구축하는 틀 제공 - 우리가 결정하는 것에 대한 문서화 좋은 모델은 현실을 잘 반영한 모델이다. 실시간접근성, 동시공유, 계속적인 변화 데이터 모델링을 위한 개념 정립 도메인 레벨 정의 개체집합의 후보 수집 개체집합의 선정 키 개체 집합의 단순화(통합) 하위개체집합에서 키 개체 집합 도출 관계 유무 판단 관계명 결정 속성의 결정 식별자 지정 정규화 다:다 관계의 해소 순환관계 해소 역할의 통합 서브타입과 슈퍼타입으로 나눔 관계의 통합 이력관리 모델링 고려사항 최대한 객관화 - 불확실한 업무를 확실하게 정의 - 단순한 설계 (다중 사용자 환경, 사용자 및 개발자 등의 관계자와의 통신 프로토콜) - 단순하면서도 성능을 최대한 이끌어내야 한다. - 현재뿐만 아니라 미래에 대한 충분한 고려 - 관계형 데이터베이스의 특성을 반영해야 한다. - 모델링의 접근 전략과 사고의 객관화 - 일의 순서를 정하는 것이 중요 데이터 모델링은 목표 시스템을 구축하기 위한 과정의 도구로 데이터 모델링도 여러 단계로 나뉘어 지는데 데이터 모델을 정확히 만들려면 각 단계가 모두 완벽해야 한다. (폭포수모델근간) 폭포수 모델 : 한번 떨어진 물이 거슬러 올라갈 수 없듯 각 개발단계에서 철저하게 검토하여 승인과정을 거친 후에 다음단계로 넘어가는 방법

02 데이터베이스 모델링 설계과정 프로젝트 진행과정 데이터베이스 설계 계획 분석 설계 요구 조건 분석 구현 테스트 유지보수 정보요구 조건 처리요구 조건 요구 조건 분석 구현 테스트 유지보수 요구 조건 명세 계획 : ISP(정보전략계획)과 유사하며, 외적 환경과 요구사항, 그리고 최상위 수준의 시스템 구분과 모델링을 통해 향후 데이터 베이스 구축방향제시 분석 : 각종문서들을 수집하거나 분석하고 인터뷰,관찰, 브래인 스토밍 등을 통해 데이터를 찾는 과정 - 사용자와 어플리케이션 범위 검증(대상범위,DB사용자 ) - 운영환경과 처리사항의 분석(트랜잭션 처리형태,발생빈도 등) - 질의서와 인터뷰(각 정보에 대한 가치평가와 정보등급평가) 개념적 데이터 모델링 : 데이터베이스 구현을 위한 사전단계로 업무관점의 개략적인 데이터 모델링에 해당된다. - 주제영역 파악, ERD(Entity Relationship Diagram) 논리적 데이터 모델링 : 개념적 설계에서 추출된 실체와 속성들의 관계를 구조적으로 설계하는 단계(스키마 설계) - Mapping Rule, 완벽한 정규화 물리적 데이터 모델링 : 논리적 데이터모델링에서 정의된 정규화된 모델을 개발 DBMS의 특성 및 효율적 DBMS가 되기 위한 데이터분산 등을 고려해 데이터 베이스 스키마를 구축하는 단계 - 개발 DMBS선정, 컬럼의 데이터타입과 사이즈선정. 데이터 사용량 분석과 사용자들의 업무 프로세스 분석, 역정규화, 인덱스설정 및 데이터 분산정의, 각종 데이터베이스 개체정의, 데이터베이스 선정 개념적 설계 정보 구조 개념적 데이터 모델 논리적 설계 논리적 데이터베이스 구조 논리적 데이터 모델 DBMS, 하드웨어 및 운영체제 특성 물리적 설계 물리적 데이터베이스 구조 물리적 데이터 모델 데이터베이스 구현

03 개념적 데이터베이스 모델링 개체-관계 모델(E-R Model) 데이터베이스 구현을 위한 사전단계로 업무관점의 개략적인 데이터 모델링에 해당된다. 개념 모델 단계에서는 달성해야 할 목적에 맞게 무엇(WHAT)을 해야 하는지에 초점을 두고 해야 함. (DBMS고려해서 설계하지 않아도 됨.). 업무 분석 시 발견되는 업무처리 내용 중 명사 또는 개념적 명사 중심으로 용어를 정리하고 반드시 의미 설명하여 개념설계가 이루어야함. ERD는 확인 및 Review의 효율성을 위해 현업에서 사용되는 용어를 선택하도록 노력해야 한다. 개념모델 단계의 산출물은 논리모델의 입력물로써 추적성이 용이한 문서가 되고 무결성 규칙이 유지되도록 산출물이 정리 되어야 한다. 학생과 교육과정 관계를 표현한 E-R Diagram 식별자 학생 학번 학생이름 등록 교육과정 과정 내용 과정코드 과정 명 전화번호 개체 속성 관계

03 개념적 데이터베이스 모델링 1.실제(Entity) 저장되고 관리되어야 할 정보(명사)로서 물리적은 DMBS의 테이블에 해당한다. Entity 이름은 단수형이고 유일하게 부여. 이름만으로도 의미 전달이 되도록 고심하여 명명. - 모든 Entity는 다수의 사용형태(Instance)를 가져야함. - 모든 Entyty의 사용형태는 Attribute에 특정한 값을 가져야 함. - 모든 인스턴스는 같은 엔터티 내에서 반드시 다른 인스턴스와 구별 가능한 식별자(UID)를 가져야함. - 식별자는 현존하지 않더라도 개념적으로 존재해야 함. 과목 학과 엔티티 자료구조 컴퓨터공학 오라클 전자공학 각각 인스턴스 jsp 통신공학 JAVA 경영정보학과 2.속성(Attribute) Entity내에서 관리되는 정보들의 항목으로서 Entity를 설명하는데 사용되는 명사로 컬럼명을 의미한다. Entity를 구성하는 요소가 되며, 하나의 Entity에는 고유 식별자를 포함한 하나 이상의 속성이 포함된다. 의미가 명확하고 길지 않으며 내용을 함축성 있게 표현. Entity명을 사용해서는 안됨. 단 하나의 Entity에만 속하도록 함. 가능한 한 최소단위까지 분할. 여러 값을 가지거나 반복되는 속성은 Entity로 분할. 추출값, 즉 Count 값이거나 Total값, 최대, 최소, 평균 등의 계산 값 등은 포함시키는 것은 낭비. 속성이 자신의 속성을 가질 수 있으면 Entity로 분류. *속성은 물리적인 단계에 앞서 각 속성의 값의 범위, 크기, 형식,NULL여부 등의 특성들을 기술해 주어야 한다.

03 개념적 데이터베이스 모델링 3. 식별자(Unique Identifer) 속성에는 식별자와 비 식별자가 있는데, 식별자는 한 Entity내에서 각각의 인스턴스를 유일하게 구분할 수 있는 단일 속성. 또는 속성 그룹으로 중복을 배제함을 의미하며 실제 무결성(ex. 사번, 주민등록번호 등.) 후보키 Candidate Identifer 실체 내에서 각각의 인스턴스를 유일하게 구분할 수 있는 속성으로 하나 이상의 속성으로 구성된다. 기본키 Primary Identifer 실제에서 각 인스턴스를 유일하게 식별하는데 가장 적합한 키로 위에서 정의한 후보키들 중에서 선택한 하나 속성의 그룹을 말한다. 부 식별자 Alternate Identifer 휴보 식별자 중 주 식별자로 선정되지 않는 식별자 외부 식별자 Foreign Identifer 두 식별자간의 관계형성을 통해 부모 실체의 주 식별자가 자식 실체에 전이된 식별자 대리 식별자 Surrogate key 복합키가 여러 개의 컬럼으로 구성된 경우 이를 대체하기 위해 인위적으로 정의한 컬럼 4.관계(Relational) Entity 관계 Entity 두 개의 실체간에 명명되어진 의미 있는 연결이며, 두 실체간에 업무적인 연관성을 나타낸다. 속성 속성 속성 속성

03 개념적 데이터베이스 모델링 4-1. 차수성의 정의 4-2. 선택성 사원 부서 소속 고객 상품 주문 부서 사원 소속 1) 일대일 1:1 사원 부서 소속 고객 상품 주문 Optinal (존재하지 않을 수 있는) Mandatory (반드시 존재 하는) 관계를 맺고 있는 두 실체의 레코드가 서로 하나씩 대응되는 관계 두 실체 간에 관계가 설정 되었을 때, 항상 두 실체의 인스턴스 간에 관계가 존재해하는지, 아니면 인스턴트에 대해 존재할 필요가 없는지 나타내는 부분. 2) 일대다 1:n 부서 사원 소속 * 관계 식별여부 파악 관계를 맺고 있는 두 에서 부모실체의 하나의 레코드가 자식 실체의 여러 레코드에 대응되는 관계(가장일반적) 사원번호 부서명 이름 부서코드 3) 다대다 n:m 주소 사원 부서 사원 부서 관리한다 소속 관계를 맺고 있는 두 실체에서 부모실체의 하나의 레코드가 자식 실체의 여러 레코드에 대응되며 반대로 자식레코드가 부모 실체의 여러 레코드에 관계를 맺음. 성별 입사일 위치 다대다 n:m는 논리적으로는 존재하지만, 물리적으로 존재하지 않는다. 그래서 교차실체=(행위실체)를 거쳐 1:n유형으로 해결함(역정규화)

04 논리적 데이터베이스 모델링 1. 관계형 모델의 개념 1-1. 부모테이블과 자식테이블 : 관계를 맺고 있는 두 테이블 중 반드시 부모테이블이고 반드시 하나는 자식테이블이다. 상 품 상품코드 상품명(AK) 규격 측정단위 회 원 회원코드 이름 주민번호(AK) 전화번호 1-2. 기본키(Primary Key)와 포린키(Foreign Key) : 부모테이블의 기본키가 자식테이블의 포린키로 전이 되어진다. 부모 혹은 자식테이블의 식별은 [주체관계파악] [부모테이블 테이터의 선정여부]로 한다. 1-3. 식별관계와 비 식별관계 : - 식별관계 : 부모테이블의 기본키가 자식테이블의 기본키(그룹)와 연결(전이) - 비식별관계 : 부모테이블의 기본키가 자식테이블의 일반속성과 연결(전이) 주문 상세 주문코드(FK) 상품코드(FK) 수량 단가 금액 주문 주문코드 회원코드(FK) 주문일자 주문총금액 * 식별관계 –교차실체 추가처리 – 데이터를 껀껀히 처리 * 비식별관계 – 몇단계거처 처리 – 데이터를 묶어서 처리

04 논리적 데이터베이스 모델링 2. Mapping Rule E-R Diagram을 관계형 데이터베이스 이론에 의해 데이터 베이스 스키마로 변환 메핑 룰의 4단계 1. 단순 엔티티 테이블로 2. 속성 칼럼으로 3. 식별자 기본키로 4. 관계 포린키로 E-R Diagram 관계 스키마 개체 테이블 명 : 학생 속성 1.엔티티 → 테이블 식별자 2.속성- 칼럼 학생 학번 학생이름 전화번호 컬럼명 학번 학생이름 전화번호 식별자 PK 3.식별자- 기본키

04 논리적 데이터베이스 모델링 3. 정규화 데이터의 중복방지, 효율적으로 저장, 무결성 유지. 3-1. 1차 정규화 : 반복되는 그룹 속성이 존재할 경우 그 그룹을 분리하여 새로운 실체를 추가한 후 기존 실체와 1:n의 관계를 형성함으로써 속성들의 원래 제자리를 찾아주는 것. 컬럼명 B_id Title c_name price name 키코드 PK Data A-1 데이터베이스 서울 4000 저팔개 b-1 운영체제 부산 3500 허청 C-1 워드 인천 5000 이한나 A-2 경기 손오공 * Book 테이블 컬럼명 B_id Title c_name name 키코드 PK Data A-1 데이터베이스 서울 저팔개 b-1 운영체제 부산 허청 C-1 워드 인천 이한나 A-2 경기 손오공 Id B_id Price PK FK 101 A-1 4000 102 b-1 3500 103 C-1 5000 104 A-2 * Book 테이블 * danga 테이블

04 논리적 데이터베이스 모델링 3-2. 2차 정규화 : 복합키(composit primary key)로 구성된 경우가 2차 정규화의 대상이 되며 복합키 전체에 의존하지 않고 복합키의 일부분에만 종속되는 속성들이 존재할 경우(부분적함수 종속) * 학생 테이블 * 수강 테이블 학번(PK) 학생명 학과 학년 04040201 강민희 정보통신 4 04040202 김승희 방송통신 07040203 유연형 1 05040204 이상욱 3 04040205 이명희 컴퓨터 수강코드(PK) 교과목 학과 당당교수 111 네트워크연결 정보통신 김상태 222 오라클 방송통신 오미희 333 자바 신현섭 444 ASP 김희석 555 이동통신 컴퓨터 서광 기본키 학번(FK) 수강코드(FK) 등급 04040201 111 A 04040202 222 B 07040203 333 05040204 444 04040205 555 테이블명 기본키 학생 학번 수강 수강코드 성적 학번+수강코드 * 성적 테이블에서 학번과 수강코드 각각은 외부키이고, 학번과 수강코드가 결합되면 성적 테이블의 기본키가 된다. * 성적 테이블

04 논리적 데이터베이스 모델링 3-3. 3차 정규화 : 한 테이블 안의 키가 아닌 모든 컬럼들은 기본키에 의존한다. 만일 키가 아닌 컬럼에 종속되는 속성이 있다면 이를 제거해야한다. * 학생 테이블 * 수강 테이블 학번(PK) 학생명 학과 담당교수(FK) 04040201 강민희 정보통신 김상태 04040202 김승희 방송통신 07040203 유연형 05040204 이상욱 김희석 04040205 이명희 컴퓨터 서광 수강코드(PK) 교과목 당당교수(FK) 111 네트워크연결 김상태 222 오라클 오미희 333 자바 신현섭 444 ASP 김희석 555 이동통신 서광 교과목 당당교수 네트워크연결 김상태 오라클 오미희 자바 신현섭 ASP 김희석 이동통신 서광 학생과 수강테이블은 담당 교수를 교수 테이블에서 참조하여 사용할 수 있다. * 교수 테이블

05 물리적 데이터베이스 모델링 물리적 데이터 베이스 모델링 논리적인 데이터베이스 구조로부터 효율적이고 구현가능한 물리적 구조로 설계하는 것이다. 물리적 데이터베이스 모델링 단계 개발 DBMS 선정. 컬럼의 데이터 타입과 사이즈 정의 데이터 사용량 분석과 사용자들의 업무 프로세스 분석 역 정규화 각종 제약조건 정의 인덱스, View, Stored Procedure, Trigger등 각종 Object 정의 데이터베이스 생성 * 참고자료. 사이트 : - 데이터베이스 정보공유사이트 http://www.databaser.net/ -머멘토(네이버블로그)http://blog.naver.com/sungback?Redirect=Log&logNo=90006973521