사례로 배우는 데이터베이스 설계와 구축 - Database Zoo

Download Report

Transcript 사례로 배우는 데이터베이스 설계와 구축 - Database Zoo

데이터베이스의 설계 사례
- BigHit School data
1. 데이터베이스 설계의 단계
아래 질문에 대한 해결방안을 찾아가는 과정이 DB 설계 단계이다
 중요한 데이터는 무엇인가 ?
 데이터를 어떻게 표현할 것인가 ?
 데이터를 어디에 저장할 것인가 ?
2
2. ERD 작성(1)
데이터 요구사항 수집과 분석




업무 기술서 검토
현업 장표 검표
현업 업무 전문가와의 면담
기 구축된 시스템 산출물 검토
3
ERD작성(엔티티와 속성의 식별)




아래와 같이 명사에 밑줄을 그어서 엔티티 후보로 식별
개념이 명확하지 않거나 광범위한 명사 제거
특정 업무의 진행 과정을 나타내는 단어 제거
누락된 엔티티 추가
4
ERD작성(엔티티와 속성의 식별)

남아있는 명사들을 엔티티와 속성으로 구분
5
ERD작성(엔티티와 속성의 식별)

ERD 작성




엔티티는 직사각형으로 표시
엔티티를 설명하는 속성은 타원으로 표시한 다음, 엔티티에 실
선으로 연결
식별자는 속성이름에 밑줄을 표시
예
6
ERD 작성 (관계와 속성의 식별)



동사를 주목하여 엔티티들을 연결하는 관계를 식별
도출된 관계에 카디낼리티와 존재성 추가
관계 정의 예
7
ERD 작성 (관계와 속성의 식별)
관계와 속성의 식별

(계속)
ERD 작성

관계는 다이아몬드로 표시


관계의 카디낼리티를 반드시 표시 (일대일, 일대다, 다대다)
예
일대다
다대다
8
ERD 작성 (최종 ERD)
9
테이블명세서 작성(1)
엔티티와 단순 속성 변환 규칙




ERD에서 직사각형으로 표시된 하나의 엔티티는 하나
의 테이블로 변환
그 엔티티에 소속되어 타원으로 표시된 단순 속성은
그 테이블에 소속된 열로 변환
속성 이름에 밑줄이 그어진 식별자는 기본 키로 변환
예
10
테이블명세서 작성(2)
복합 속성 변환 규칙

복합 속성을 구성하는 단순 속성들만 해당 테이
블의 열로 변환
11
테이블명세서 작성(관계 변환 규칙 )
ERD에서 관계는 테이블 구조에서 외래 키로 변환

일 대 다 관계인 경우,



ERD에서 일측의 엔티티에 대응하는 테이블의 기본 키를 다측의
엔티티에 대응하는 테이블의 속성으로 복사
복사한 속성을 외래 키로 지정
예
12
테이블명세서 작성(관계 변환 규칙 )
ERD에서 관계는 테이블 구조에서 외래 키로 변환

일 대 일 관계인 경우,

두 엔티티 중에서 부모 역할을 하는 한 엔티티를 선택
이후 과정은 일 대 다 관계 변환 규칙과 동일!!
13
테이블명세서 작성(관계 변환 규칙 )
ERD에서 관계는 테이블 구조에서 외래 키로 변환

다 대 다 관계인 경우,


ERD 상에서 관계를 교차 엔티티로 생성
생성된 교차 엔티티를 테이블로 변환
참여 엔티티들의 식별자들을 교차 엔티티에
대응하는 테이블에 포함시키고 외래 키로 지정!!

예
14
테이블명세서 작성
(다중값 속성 변환 규칙)
다중값 속성에 대해서는 새로운 테이블을 생성
신규 테이블에 다중값 속성에 해당하는 속성 포함
식별자를 신규 테이블에 포함 시키고, 외래 키로 지
정
신규 테이블의 기본 키는 외래 키와 다중값
속성의 조합!!
15
테이블명세서 작성(7)
최종 테이블 명세서: Excel참고
16
테이블 생성 및 데이터 삽입 SQL
sql참고
17