6 분 소요

👨‍💻🏫KNU 2021-2 SW & media 데이터베이스 필기노트 10

1. 데이터베이스 설계

  • 사용자의 다양한 요구 사항을 고려하여 데이터베이스를 생성하는 과정
  • 데이터베이스의 무결성과 일관성을 유지하며 사용자의 요구에 맞게 데이터베이스를 생성하는 과정
  • 관계형 데이터베이스의 대표적인 설계방법은 E_R모델과 릴레이션 변환규칙을 사용한 설계, 정규화를 사용한 설계 가 있다.

2. E_R모델과 릴레이션 변환규칙을 사용한 설계

- 단계 수행
1 요구사항분석 데이터베이스의 용도파악->요구사항명세서
2 개념적설계 개념적 구조설계->개념적스키마(E-R다이어그램)
3 논리적설계 DBMS에 적합한 논리적 구조 설계->논리적스키마(릴레이션스키마)
4 물리적설계 DBMS오 구현 가능한 물리적 구조 설계->물리적스키마
5 구현 SQL문 작성후 실행->DB생성

2.1. 요구사항분석

사용자의 요구사항 수집 및 분석을 통해 개발할 데이터베이스의 용도를 파악하고 필요 데이터와 데이터 처리를 위한 요구사항을 명세하는 과정이다.

2.2. 개념적설계

요구사항 명세서를 개념적 데이터 모델을 이용해 개념적 구조로 표현하는 과정이다(개념적 모델링). 개체간의 관계를 결정하여 E-R다이어그램으로 표현한다. 개체 추출(주요 속성과 키속성 선별) -> 개체간 관계설정 -> E-R다이어그램으로 표현

개체: 저장할 가치가있는 중요데이터를 가진 명사를 선별한다. 이때 광범위한 의미의 명사는 제외하고 의미가 같은 명사가 여럿일경우 대표 명사만 선택한다. 선별한 명사를 개체와 속성으로 분류

회원으로 가입하기위해 ID,PW,이름,나이,직업이 필요
개체인 회원의 속성은 ID,PW,이름,나이,직업, 키속성은 ID

관계: 저장할 가치가있는 중요데이터를 가진 동사를 선별한다. 의미가 같은 동사가 여럿일경우 대표 동사만 선택한다.

관계에 대한 매핑 카디널리티와 참여 특성을 결정:

매핑 카디널리티 일대일(1:1) 일대다(1:n) 다대다(n:m) 참여 특성: 필수적 참여, 선택적참여

회원은 여러 상품을 주문 가능하며 하나의 상품을 여러 회원이 주문가능하다. 회원이 상품을 주문하면 주문에 대한 주문번호와 주문수량, 배송지, 주문일자 정보를 유지해야한다.

관계 참여 개체 관계 유형 속성
주문 회원(선택적),상품(선택적) 다대다 주문번호, 주문수량, 배송지, 주문일자

각 상품은 한 제조업체에서 공급하고 제조업체는 여러 상품을 공급할수있다. 제조업체에서 공급하면 공급일자와 공급 정보를 유지해야한다.

관계 참여 개체 관계 유형 속성
공급 제조업체(선택적),상품(필수적) 일대다 공급일자,공급량

2.3. 논리적 설계

개념적 스키마를 논리적 데이터모델을 사용해 논리적구조로 표현한다. 논리적 모델링은 일반적으로 관계 데이터 모델을 주로 사용해 릴레이션 스키마로 표현한다.

  • 모든 개체와 가능한한 다대다 관계, 다중 값 속성은 릴레이션으로 변환
  • 일대다, 일대일 관계는 외래키로 표현한다.

개체 타입 매핑 강한 개체- 각 개체를 하나의 릴레이션으로 그린다. 약한 개체- 자신의 키와 강한 개체의 키를 외래키로 사상해 기본키 구성

이거 캡쳐말고 그림으로 다시그릴것

img1

다대다 관계는 관계명, 관계속성을 릴레이션 이름과 속성으로 표현한다. 그 릴레이션에는 관계되는 기본키를 외래키로 포함해 기본키를 구성한다.

일대다관계에서 약한 개체가 참여하는경우 외래키를 포함하여 기본키를 구성한다.

일대일 관계는 일반적으로 서로의 기본키를 외래키로 가진다. 이때 필수적으로 참여하는 개체 릴레이션만 외래키를 가진다. 모든 개체가 필수적으로 참여하면 단일 릴레이션으로 표현한다. 관계명이 릴레이션명이되며 두 개체의 속성을 모두 포함해 두 릴레이션의 키 속성을 조합해 기본키로 지정한다. 다중값 속성은 다중값 속성과 기존 릴레이션의 기본키를 외래키로 사용하는 새로운 릴레이션으로 변환한다.

순환관계에도 기본 규칙을 적용할수있다.

img2

속성의 데이터 타입, 널 값 허용, 기본값등의 설계 정보를 기술하여 테이블 명세서 작성

태그:

카테고리:

업데이트:

댓글남기기