Download presentation
Presentation is loading. Please wait.
1
제약 조건 부모 테이블 자식 테이블 입 력 수 정 삭 제 관계형성을 통한 참조 무결성
입 력 제약 없음 부모 테이블에 데이터 가 존재하는지 검증 수 정 수정 하려는 데이터를 자식 테이블에서 참조 하고 있는지를 검증 부모 테이블에 존재하 는 다른 데이터로 변경 가능 삭 제 삭제 하려는 데이터를 자식 테이블에서 참조 하고 있는지를 검증 제약 없음 CASCADE 옵션 UPDATE CASCADE : 부모 테이블의 데이터를 수정할 때 이를 참조하고 있는 자식 테이블의 데이터도 함께 수정한다 DELETE CASCADE : 부모 테이블의 데이터를 삭제할 때 이를 참조하고 있는 자식 테이블의 데이터도 함께 삭제한다. && 참조 무결성 실습..
2
3장. 데이터베이스 모델링, 4장. 개념적 데이터베이스 모델링
3장 데이터베이스 모델링 1. 데이터베이스 모델링 정의 2. 프로젝트 진행 과정 2-1. 업무 분석 2-2. 개념적 데이터베이스 모델링 2-3. 논리적 데이터베이스 모델링 2-4. 물리적 데이터베이스 모델링 4장 개념적 데이터베이스 모델링 1. 개념적 데이터베이스 모델링의 대한 이해 1-1. E-R model(개체-관계 모델)
3
3장 데이터베이스 모델링 1. 데이터베이스 모델링 정의 : 데이터베이스 모델링이란? 현실 세계의 업무적인 프로세서를 물리적
: 데이터베이스 모델링이란? 현실 세계의 업무적인 프로세서를 물리적 으로 데이터베이스화 하기 위한 과정으로 실체와 관계를 중심으로 체계 적으로 표현하고 문서화하는 기법이며 정보 시스템의 중심을 데이터의 관점에서 접근하는 데이터 중심의 분석 방법이다. 업무 프로세스 (현실세계) 개념적 구조 (개발대상업무) 개념적 데이터베이스 모델링 논리적 데이터베이스 모델링 일치성 검토 물리적 데이터 베이스 데이터 모델 (논리 구조) 물리적 데이터베이스 모델링
4
데이터의 세계 <3개의 데이터 세계> 현실 (현실 세계), 외부스키마 정보 (개념 세계), 개념스키마 데이터
(컴퓨터 세계), 내부스키마 객체 특성값 개체 집합 속성값 레코드 타입 필드값 추상화, 개념적관점 변환, 논리적관점 <3개의 데이터 세계>
5
데이터베이스의 설계단계 < 데이터베이스 설계 단계별 주요내용 > 요구조건 분석 단계 개념적 설계 논리적 물리적 구현
및 처리 요구 조건 개념적 설계 DBMS 독립적 개념 스키마 , 트랜잭션 모델링 논리적 목표 에 맞는 인터페이스 물리적 구현 DBMS DDL 로 작성 ( 응용 프로그램 ) 구조 세부
6
2. 프로젝트 진행 과정 2-1. 업무 분석 2-2. 개념적 데이터베이스 모델링 계 획 분 석 설 계 구 현 테스트 유지보수
2-1. 업무 분석 : 개발 업무에 대한 정확한 분석 및 사용자들의 요구 사항을 분석하고 어떤 기능을 구현해야 하는지 분석 2-2. 개념적 데이터베이스 모델링 : 어떤 정보가 필요하며 어떤 데이터를 DB에 담아야 하는 지 등을 나타 내기 위해 실세계의 정보 구조의 모형을 변환하여 일반화 시키는 단 계이다. (업무적인 관점에서 접근하고 분석하는 단계이다.) 산출물 : ER-Diagram
7
2-3. 논리적 데이터 모델링 2-4. 물리적 데이터베이스 모델링
: 개념적 설계에서 추출된 실체와 속성들의 관계를 구조적으로 설계하 는 단계(스키마의 설계)로써 정확한 업무 분석을 통한 자료의 흐름을 분석하여 실체와 속성들의 관계를 구조적으로 설계한다. 논리적 데이터베이스 모델링 단계에서 완벽한 정규화 과정을 수행한 다. 1) Mapping Rule 2) 완벽한 정규화 2-4. 물리적 데이터베이스 모델링 : 논리적 데이터모델링에서 정의된 정규화된 모델을 개발 DBMS의 특성 및 효율적 DBMS이 되기 위한 데이터 분산 등을 고려해 데이터베이스 스키마를 구축하는 단계이다. 1) 개발 DBMS 선정 2) 컬럼의 데이터타입과 사이즈 정의 3) 데이터 사용량 분석과 사용자들의 업무 프로세스 분석 4) 역정규화 산출물 FDD 테이블 설계도
8
E-R 모델의 그래픽 표현 E-R 모델의 그래픽 표현 Entity set (개체)
Multi – valued attribute (다중값 속성) Relationship (관계) Derived attribute (유도속성) Attribute (속성) key Primary key Link
9
< 학사 관계 데이터베이스 스키마 다이어그램 >
교 수 학 생 과 목 전공 성적 과목 번호 이름 학점 지도 강의 등록 교수 학과 학번 주소 학년 n m 1 시간 장소 교수 번호 이름 전공 학과 학번 주소 학년 과목 학점 성적 지도 강의 등록 학생 시간 장소
10
E-R 모델의 예 예) 회사 데이터베이스를 설계
12
4장 개념적 데이터베이스 모델링 1. 개념적 데이터베이스 모델링의 대한 이해 1-1. E-R model(개체-관계 모델)
5) 인덱스 설정 및 데이터 분산등을 정의 6) 각종 데이터베이스 개체 정의 7) 데이터베이스 생성 4장 개념적 데이터베이스 모델링 1. 개념적 데이터베이스 모델링의 대한 이해 1-1. E-R model(개체-관계 모델) : 개체-관계 모델은 현실 세계에 존재하는 데이터와 그들 간의 관계를 사람이 이해할 수 있는 형태로 명확하게 표현하기 위해서 가장 널리 사용되고 있는 모델이다.
13
4장. 개념적 데이터베이스 모델링 1. 실체(Entity) 1-1. 실체(Entity) 정의 1-2. 실체 파악 요령 2. 속성(Attribute) 2-1. 속성 정의 2-2. 속성의 유형 2-3. 속성 도메인의 설정 3. 식별자 3-1. 식별자 정의 3-2. 식별자 유형
14
4장 개념적 데이터베이스 모델링 1. 실체(Entity) 1-1) 실체 정의
: 업무수행을 위하여 기업이 알아야 될 대상이 되는 사람, 장소, 사물,사 건 및 개념. ( 데이터로 관리 되어져야 하는 항목 ) 각 실체는 유일하게 식별 가능, 인스턴스라 불리는 개별적인 객체들의 집합으로 반드시 주 식별자가 존재해야 함.(상호 배타성,식별성) 엔티티 과 목 학 과 자료 구조 데이터베이스 프로그래밍 … 컴퓨터 공학과 경영정보학과 국어교육학과 … 각각의 인스턴스
15
예) 학생, 교수, 상품 등 - 물리적으로 존재하는 대상 강좌, 학과, 판매 등 - 개념적으로 존재하는 대상 경복궁, 덕수궁, 비원의 인스턴스 들을 묶어 고궁이라는 실체를 정의
1-2) 실체 파악 요령 : 관련분야에 대한 지식 필요 : 서류 자료( 문서, 장표, 대장 )를 이용 : 담당자와의 인터뷰를 통해 파악 : 상식, 논리, 관찰력을 이용 : 업무 분석 결과를 토대로 명사 위주로 파악 실체 추출 시 주의 사항 : 상상력으로 만든 실체는 사용자에게 오히려 업무부담을 줄 뿐 아니라 정보시스템의 신뢰도까지 떨어뜨릴 수 있다 실체 명을 부여할 시는 현업용어(업무사용용어), 단순명사, 유일한 명 칭을 사용하는 것이 좋음.
17
‘학년말에 몇 학년 몇 반의 어떤 과목의 실제 수업시간이 규정수업시간에 채웠는지 아니면 부족한지 ’
2-(3) 속성도출 ‘학년말에 몇 학년 몇 반의 어떤 과목의 실제 수업시간이 규정수업시간에 채웠는지 아니면 부족한지 ’ 관리의 목적과 활용 방향에 맞는 속성 설정 엔티티 속성 학년 학년코드 반 반코드 과목 과목코드, 과목명 2.개념적 데이터베이스 모델링
18
2. 속성(Attribute) 2-1) 속성 정의 : 실체(Entity)의 성질,분류,식별,수량,상태등을 나타내는 세부 항목
이며 정보의 요소로써 관리되는 항목이다 속성은 정확한 실체에 할당되어야하고 반드시 해당되는 실체를 기 술하는 사항이어야 함 실체에 포함되는 속성의 숫자는 가능하면 10개 항목 내외로 구성 하는 것이 바람직하다 속성은 식별자와 비 식별자로 구분 된다 핵심 단어로 정의하거나 명명 규칙을 정의하는 것이 좋다. 2-2) 속성의 유형 기초 속성 : 원래 갖고 있는 속성, 즉 현업에서 기본적으로 사용되는 속성 추출 속성 : 기존 속성으로부터의 가공처리를 통해 생성 및 유지되는 속성(판매금액=판매수량*판매단가) 설계 속성 : 실제로 존재하지는 않으나 시스템의 효율성을 도모하기 위해 설계자가 임의로 부여하는 속성, 외래키가 포함되는 경우(내부 COUNTER 목적의 ID필드가 대표적) 각각의 레코드를 UNIQUE하게 구분할 수 있냐 없냐
19
2-3) 속성 도메인 설정 : 속성이 가질 수 있는 있는 값들의 범위, 속성에 대한 세부적인 업무 제약조건 및 특성을 전체적으로 정의해 주는 부분. 도메인 추출은 추 후 개발 및 실체를 데이터베이스로 생성할 때나 프로그램 구현 시 유 용하게 사용하는 산출물임.(잘못된 데이터 입력시에 범위설정으로 방지) 도메인 정의항목 : 데이터 타입( 숫자, 문자, 날짜 ), 길이 , Format Mask ( yy/mm/dd, “ ” ) 허용되는 값의 제약 조건 ( Check, Rule : ‘A’ and ‘M’, 0 and 100 ) Unique, Null 여부, 초기값 ( Default )
20
3. 식별자(Identifier) 3-1) 식별자 정의 : 한 실체내의 특정 인스턴스를 구분할 수 있는 단일 속성 또는 속성 그 룹을(복합키->다만 복합키 대신 설계 속성을 사용-JOIN시 불편) 말함 식별자 업무규칙은 한 실체내의 인스턴스를 유일하게 구분할 수 있어 야 하며 모든 실체는 반드시 하나 이상의 식별자를 보유하여야 하며 복수개의 식별자도 보유할 수 있다.
21
3-2) 식별자 종류(예:과정,교육생 테이블에서 확인)
1) 후보 식별자 ( Candidate Identifier ) : 실체의 각 인스턴스를 유일하게 식별하기 위하여 제공되는 속성이나 속성의 그룹을 말함 ) 주 식별자 ( Primary Identifier ) : 실체의 각 인스턴스를 유일하게 식별 하는데 가장 적합한 식별자로 후보 식별자에서 선택한 속성이나 속성 의 그룹을 주 식별자로 정의할 수 있다 (한 개의 속성, 속성의 조합, 관계의 조합, 속성과 관계의 조합 ) 주 식별자 선별요령 : 실체를 대표할 수 있을 것, 업무적인 활용도 가 높을 것, 길이가 짧을 것 (예:과정,교육생 테이블에서 확인) 주 식별자는 기본적으로 Not Null과 No Duplicate속성을 갖는다. 3) 부 식별자 ( Alternate Identifier ) : 후보 식별자 중 주 식별자로 선정되 지 않은 식별자를 말한다. 예) 사원 테이블의 주민번호 ) 외부 식별자 ( Foreign Identifier ) : 두 실체간의 관계 형성을 통해 부 모 실체의 주 식별자가 자식 실체에 전이된 식별자.
22
후보키 ( Candidate Key ) 기본키 (Primary Key) 대체키 (Alternate Key)
5) 대리 식별자 ( Surrogate Key ) : 복합 키가 여러 개의 컬럼으로 구성된 경우 이를 대체하기 위해 사용되는 인위적으로 정의한 컬럼이다. 후보키와 기본키 그리고 대체키의 관계 후보키 ( Candidate Key ) 기본키 (Primary Key) 대체키 (Alternate Key)
23
2-(4) 식별자 도출 엔티티 식별자 학년 학년코드 반 반코드 과목 과목코드
24
4장. 개념적 데이터베이스 모델링 관계 ( Relational ) 1-1. 관계 정의
: 두개의 실체간에 명명되어진 의미있는 연결이며 두 실체간에 업무적 인 연관성을 나타낸다. 회원은 비디오를 대여한다. 비디오는 회원에게 대여 되어진다. 고객은 상품을 주문한다. 상품은 고객에게 주문되어진다. 대여 회원 비디오 주문 고객 상품
25
관계도출 (예) ① 학년-반 엔티티 학년 소속 반 각 학년에는 반이 각 반은 반드시 학년에 하나 이상의 하나의
각 학년에는 반이 각 반은 반드시 학년에 하나 이상의 하나의 소속되어질지도 모른다. 소속되어져야만 한다. 일대다(1:N) 학년 소속 반
26
관계도출 (예) ② 학년-과목 엔티티 학년 개설 과목 각 학년에서는 과목이 각 과목은 학년에 하나 이상의
각 학년에서는 과목이 각 과목은 학년에 하나 이상의 개설되어질지도 모른다. 규정수업시간 학년 개설 과목 다대다(N:M)
27
관계도출 (예) ③ 과목-반 엔티티 반 수업 과목 각 반에는 과목이 각 과목은 반에서 하나 이상의 수업되어질지도 모른다.
각 반에는 과목이 각 과목은 반에서 하나 이상의 수업되어질지도 모른다. 다대다(N:M) 반 수업 과목 수업일자 수업시간
28
1-2. 차수성 정의 차수란 두 Entity간에 Tuple(레코드)의 매핑 관계를 말한다
: 관계를 맺고 있는 두 테이블간에 레코드가 매칭되는 유형을 정의한 것으로 1 : 1, 1 : N, N : N관계가 있다. 일대일 : A테이블에 있는 한 레코드는 B테이블에 있는 한 레코드와 일치하는 관계 이다. 1 관리한다 1 사원 부서 사 원 부 서 홍길동 박찬호 박세리 선동렬 … 총무부 전산부 …
29
일대다 : A테이블에 있는 각각의 레코드는 B테이블에 있는 하나 이상의
레코드와 일치하나 B테이블에 있는 레코드는 A 테이블에 있는 레코드와 단지 하나 만이 일치하는 관계이다. 소속 부서 사원 부 서 사 원 총무부 전산부 인사부 … 홍길동 박찬호 박세리 선동렬 …
30
다대다 : A테이블에 있는 각각의 레코드는 B테이블에 있는 하나 이상의
레코드와 일치하고 B테이블에 있는 레코드도 A테이블에 있는 하나 이상 의 레코드와 일치하는 관계이다. 주문 고객 상품 고 객 상 품 홍길동 박찬호 … 박세리 새우깡 짱구 … 라면
31
선택성 표기법 1-3. 선택성 : 두 실체 간에 관계가 설정되었을 때, 항상 두 실체의 모든 인스턴스
간에 관계가 존재해야 하는지 아니면 모든 인스턴스에 대해 존재할 필 요가 없는지를 나타내는 부분이다. 각 부서는 한명 이상의 사원을 배치 받을지도 모른다. 각 사원은 부서에 반드시 소속되어야 한다. 소속 사원 부서 Optional Mandatory 선택성 표기법
32
1-4. 관계의 표현 일대일 일대다 Exactly 5 실 체 1 실 체 2 실 체 1 실 체 2 실 체 1 실 체 2
실 체 1 실 체 2 일대일 실 체 1 실 체 2 실 체 1 실 체 2 일대다 실 체 1 실 체 2 실 체 1 실 체 2 Exactly 실 체 1 실 체 2 5
33
2. 개념적 데이터베이스 모델링 정리 업무 분석 실체 도출 속성 도출 속성 중 식별자 도출 관계 설정 관계 차수 설정
부서코드 사원번호 이름 부서명 소속 부서 사원 주소 위치 성별 입사일 업무 분석 실체 도출 속성 도출 속성 중 식별자 도출 관계 설정 관계 차수 설정 선택성 파악 요구사항정의서에서 ERD도출
34
실습) 데이타모델링-요구사항정의서-예제.doc
Similar presentations