728x90
반응형
※ 데이터베이스 설계 단계
▶ 데이터베이스 설계
→ 사용자의 다양한 요구 사항을 고려하여 데이터베이스를 생성하는 과정
▶ 관계 데이터베이스의 대표적인 설계 방법
- E-R 모델과 릴레이션 변환 규칙을 이용한 설계
- 정규화를 이용한 설계 : 후에 포스팅 예정
▶ E-R 모델과 릴레이션 변환 규칙을 이용한 설계의 과정
▶ E-R 모델과 릴레이션 변환 규칙을 이용한 설계의 과정
핵심 단계 : 1, 2, 3단계
1단계 ; 요구 사항 분석
- 데이터베이스의 용도 파악
- 결과물 : 요구 사항 명세서
2단계 : 개념적 설계
- DBMS에 독립적인 개념적 구조 설계
- 결과물 : 개념적 스키마 (E-R 다이어그램)
3단계 : 논리적 설계
- DBMS에 적합한 논리적 구조 설계
- 결과물 : 논리적 스키마(릴레이션 스키마)
4단계 : 물리적 설계
- DBMS로 구현 가능한 물리적 구조 설계
- 결과물 : 물리적 스키마
5단계 : 구현
- SQL문을 작성한 후 이를 DBMS에서 실행하여 데이터베이스 생성
※ 요구 사항 분석
▶ 설계 1단계 : 요구 사항 분석
- 목적
- 사용자의 요구 사항을 수집하고 분석하여 개발할 데이터베이스의 용도를 파악
- 업무에 필요한 데이터가 무엇인지, 그 데이터에 어떤 처리가 필요한지 등을 고려
- 결과물
- 요구 사항 명세서
- 주요 작업
- 데이터베이스를 실제로 사용할 주요 사용자의 범위를 결정
- 사용자가 조직에서 수행하는 업무를 분석
- 면담, 설문 조사, 업무 관련 문서 분석 등의 방법을 이용해 요구 사항 수집
- 수집된 요구 사항에 대한 분석 결과를 요구 사항 명세서로 작성
※ 개념적 설계
▶ 설계 2단계 : 개념적 설계
- 목적
- DBMS에 독립적인 개념적 스키마 설계
- 요구 사항 분석 결과물을 개념적 데이터 모델을 이용해 개념적 구조로 표현
- 개념적 모델링 !
- 일반적으로 E-R 모델을 많이 이용
- 결과물
- 개념적 스키마 : E-R 다이어그램
- 주요 작업
- 요구 사항 분석 결과를 기반으로 중요한 개체를 추출하고 개체 간의 관계를 결정하여 E-R 다이어그램으로 표현
- 작업 과정
- STEP 1) 개체 추출, 각 개체의 주요 속성과 키 속성 선별
- STEP 2) 개체 간의 관계 결정
- STEP 3) E-R 다이어그램으로 표현
▶ 개념적 설계 - (STEP 1) 개체와 속성 추출
- 개체 : 저장할 만한 가치가 있는 중요 데이터를 가진 사람이나 사물 등
- 예) 병원 데이터베이스 개발이 필요한 개체
- 병원 운영에 필요한 사람 : 환자, 의사, 간호사 등
- 병원 운영에 필요한 사물 : 병실, 수술실, 의료 장비 등
- 예) 병원 데이터베이스 개발이 필요한 개체
- 개체 추출 방법
- 요구 사항 문장에서 업무와 관련이 깊은 의미 있는 명사를 찾기
- 업무와 관련이 적은 일반적이고 광범위한 의미의 명사는 제외
- 의미가 같은 명사가 여러 개일 경우는 대표 명사 하나만 선택
- 찾아낸 명사를 개체와 속성으로 분류
- 요구 사항 문장에서 업무와 관련이 깊은 의미 있는 명사를 찾기
"한빛 마트" 또한 명사이나 일반적이고 광범위한 의미의 명사이므로 제외
[ 추출 결과 ]
- 개체 : 회원
- "회원" 개체의 속성 : 회원 아이디, 비밀번호, 이름, 나이, 직업, 등급, 적립금
- "회원" 개체의 키 속성 : 회원 아이디
개체 | 속성 |
회원 | 회원아이디, 비밀번호, 이름, 나이, 직업, 등급, 적립금 |
상품 | 상품번호, 상품명, 재고량, 단가 |
제조업체 | 제조업체명, 전화번호, 위치, 담당자 |
게시글 | 글번호, 글제목, 글내용, 작성일자 |
▶ 개념적 설계 - (STEP 2) 관계 추출
- 관계 : 개체 간의 의미 있는 연관성
- 관계 추출 방법
- 요구 사항 문장에서 개체 간의 연관성을 의미 있게 표현한 동사를 찾자 !
- 의미가 같은 동사가 여러 개일 경우는 대표 동사 하나만 선택
- 찾아낸 관계에 대해 매핑 카디널리티와 참여 특성을 결정하자
- 매핑 카디널리티 : 일대일(1:1), 일대다(1:N), 다대다(N:N)
- 참여 특성 : 필수적 참여 / 선택적 참여
- 요구 사항 문장에서 개체 간의 연관성을 의미 있게 표현한 동사를 찾자 !
- "입력해야 한다"는 개체와 개체의 관계를 표현하는 동사로 볼 수 없으므로 제외
- "부여된다"는 개체와 개체의 관계를 표현하는 동사로 볼 수 없으므로 제외
- "식별한다"는 개체와 개체의 관계를 표현하는 동사로 볼 수 없으므로 제외
[ 추출 결과 ]
- 관계 : 주문
- "회원" 개체와 "상품" 개체가 맺는 관계, 다대다(N:M) 관계
- "회원" 개체는 관계에 선택적으로 참여 / "상품" 개체는 관계에 선택적으로 참여
- "주문" 관계의 속성 : 주문번호, 주문수량, 배송지, 주문일자
[ 추출 결과 ]
- 관계 : 공급
- "상품" 개체와 "제조업체" 개체가 맺는 관계, 일대다(1:N) 관계
- "상품" 개체는 관계에 필수적으로 참여 / "제조업체" 개체는 관계에 선택적으로 참여
- "공급" 관계의 속성 : 공급일자, 공급량
[ 추출 결과 ]
- 관계 : 작성
- "회원" 개체와 "게시글" 개체가 맺는 관계, 일대다(1:N) 관계
- "회원" 개체는 관계에 선택적으로 참여 / "게시글" 개체는 관계에 필수적으로 참여
관계 | 관계를 참여하는 개체 | 관계 유형 | 속성 |
주문 | 회원(선택) 상품(선택) |
다대다 | 주문번호, 주문수량, 배송지, 주문일자 |
공급 | 상품(필수) 제조업체(선택) |
일대다 | 공급일자, 공급량 |
작성 | 회원(선택) 게시글(필수) |
일대다 |
728x90
반응형
'CS > 데이터베이스' 카테고리의 다른 글
데이터베이스 - 정규화 (1) : 이상 현상과 함수 종속 (0) | 2022.05.26 |
---|---|
데이터베이스 설계 2 - 논리적 설계 / 물리적 설계와 구현 (0) | 2022.05.24 |
관계 데이터 모델 (0) | 2022.04.18 |
데이터베이스 시스템 (0) | 2022.04.14 |
데이터베이스 관리 시스템 (DBMS) (0) | 2022.04.10 |