190 likes | 707 Views
데이터베이스 설계 및 개발 과정. 차례. 데이터베이스 설계 및 개발 과정 개념적 모델링 데이터베이스 설계 정규화 응용 시스템에 적용. 데이터베이스 설계 및 개발 과정. 요구사항 분석 및 개념적 모델링. 요구사항 분석 잠재적 사용자들의 요구사항을 이해하고 분석 면담과 문서양식을 이용 개념적 모델링 DBMS 와 독립적으로 사용자들의 데이터 요구사항을 그림의 형태로 간단히 표현한 것 개체 - 관계 모형이 많이 사용됨 사용자의 정보요구에 대한 정확한 이해를 가능케 함 사용자들과의 의사 소통에 활용 가능
E N D
차례 • 데이터베이스 설계 및 개발 과정 • 개념적 모델링 • 데이터베이스 설계 • 정규화 • 응용 시스템에 적용
요구사항 분석 및 개념적 모델링 • 요구사항 분석 • 잠재적 사용자들의 요구사항을 이해하고 분석 • 면담과 문서양식을 이용 • 개념적 모델링 • DBMS와 독립적으로 사용자들의 데이터 요구사항을 그림의 형태로 간단히 표현한 것 • 개체-관계 모형이 많이 사용됨 • 사용자의 정보요구에 대한 정확한 이해를 가능케 함 • 사용자들과의 의사 소통에 활용 가능 • 세부적인 설계에 들어가기 전에 검증용으로 활용
데이터베이스 설계 및 생성 • 데이터베이스 설계 • 개념적 모델을 특정 데이터베이스 관리시스템에 적용할 수 있도록 만듦 • 관계형 데이터베이스의 경우 효율적이고 데이터를 일관성 있게 유지할 수 있는 바람직한 릴레이션 구조로 표현해야 됨 • 데이터베이스 생성 • 릴레이션 구조를 관계형 데이터베이스의 테이블로 변환
개념적 모델링 – 개체와 관계 • DBMS와 독립적으로 사용자들의 데이터 요구사항을 표현한 것 • 개체관계모델 (Entity-Relationship Model) • 개체(entity)와 속성(attribute) 그리고 이들간의 관계(relationship)의 관점에서 현실세계를 표현하는 모델 • 개체 • 현실 세계에 존재하며 다른 개체들과 구별할 수 있는 것 • 데이터의 형태로 관리대상이 됨 • 일반적으로 명사형으로 표현됨 • 개체집합: 같은 속성들로 기술할 수 있는 개체들의 모임
개념적 모델링 - 속성 • 속성 • 개체를 기술해주는 특성 • 직원 개체의 속성: 직원번호, 이름, 부서, 직위, 성별, 주민등록번호, 입사일, 취미, 주소 등 직원 개체에서 개체와 속성의 표현
개념적 모델링 - 관계 • 개체와 관계 • 한 개체와 다른 개체와의 연관관계 표현 • 예 • 직원은 특정 부서에 소속된다(소속 관계) • 공급업체에게는 제품을 주문한다(발주 관계) • 고객에게는 수주를 받는다(수주 관계) • 일반적으로 동사형으로 표현됨 • 관계집합: 종류가 같은 관계들이 모임
개념적 모델링 – 관계의 대응수 • 개체들 사이의 대응에 따른 구분 • 일대일(one-to-one) 관계 • 한 개체 집합의 오직 하나의 개체가 다른 개체 집합의 한 개체와 관계를 맺는 경우 • 일대다(one-to-many) 관계 • 한 개체 집합의 한 개체가 다른 개체 집합의 여러 개체와 동시에 관계를 맺는 경우 • 다대다(many-to-many) 관계 • 한 개체 집합의 여러 개체가 다른 개체 집합의 여러 개체와 동시에 관계를 맺는 경우
개념적 모델링 - ERD 일대다 관계 예) 한 공급 업체는 여러 제품을 공급한다. 다대다 관계 예) 하나의 수주에는 여러 제품이 포함될 수 있으며, 하나의 제품은 여러 수주에 포함될 수 있다.
개념적 모델링 – 관계의 차수 • 참여하는 개체 집합의 수에 따른 구분 • 일원(unary) 관계 • 이원(binary) 관계 • 삼원(ternary) 관계 • 다원(n-ary) 관계
개체, 속성, 관계의 파악 • 개체와 속성의 파악 • 개체의 파악 • 명사는 개체의 후보가 될 수 있음 • 관리해야 할 속성을 기준으로 개체를 선정 • 속성 파악의 원칙 • 속성은 최소 단위로 분할한다 • 속성값에 복합값이 없도록 한다 • 유도 속성은 제외한다 • 기본키 속성을 파악한다 • 관계의 파악 • 개체들간의 연관관계를 파악
데이터베이스 설계 • 개념적 모델을 DBMS에 적용할 수 있는 형태로 변경 • 변환 방식 • 개체 및 관계 -> 테이블 • 속성 -> 테이블의 속성 • 관계 -> 참조키 속성
데이터베이스 설계 – 일대일, 일대다 • 일대일 관계의 변환 • 하나의 테이블로 통합 • 두개의 테이블을 유지 • 용도, 편리성, 저장 공간 등을 고려하여 결정 • 일대다 관계의 변환 • 두개의 테이블로 변환 • 일(one)에 해당하는 테이블의 기본키를 다(many)에 해당하는 테이블의 한 속성으로 추가하여 연결 • 세개의 테이블로 변환 • 다(many)에 해당하는 테이블에 Null값이 많이 생길 경우 새로운 테이블 생성 가능 공급업체(공급업체 번호, 회사 이름, 담당자 이름, 전화 번호,….) 제품(제품 번호, 제품 이름, 단가, 재고량, …, 공급업체 번호)
데이터베이스 설계 - 다대다 • 다대다 관계의 변환 • 관계형 데이터베이스에서는 다대다 관계를 직접 표현할 수 없음 • 새로운 테이블을 하나 생성하여 두 개의 일대일 관계를 만드는 방식으로 변환 수주(수주 번호, 고객 번호, 수주일, 납기일, …) 제품(제품 번호, 제품 이름, 단가, 재고량, …) 수주 내역(수주 번호, 제품 번호, 수량)
키 (Key) • 정의: 하나의 테이블에서 하나의 튜플을 유일하게 구분해 낼 수 있는 속성들의 집합 • 키의 종류 • 기본 키(PK, Primary Key) • 일차 키, 주 키라고도 함 • 사용자가 자주 쓸 것으로 예측하여 후보 키 중에서 지정 • 외래 키 (FK, Foreign Key) • 다른 테이블의 키