수자원 데이터의 개념적 설계 I
제주대학교 컴퓨터교육과
박찬정(cjpark@jejunu.ac.kr)
목 차
데이터베이스 설계
개체 관계 모델의 이해
응용문제
비디오관리
예약시스템
수정보관리
데이터베이스 설계
정의
[홍의경, 데이터베이스 배움터, 생능, 2006 참조] 한 조직체의 운영과 목적을 지원하기 위해 데이터베 이스를 생성하는 과정
주요 응용과 사용자들이 요구하는 데이터 및 데이터 갂의 관계를 표현하는 것이 주요 목적
데이터베이스 설계도 일반적으로 계획-요구분석-설계 -구현-운영(튜닝) 단계로 짂행
잘된 데이터베이스 설계는 데이터 항목의 중복을 최 소화하고, 데이터베이스에 대한 효율적인 접근을 제 공하고, 데이터베이스의 무결성을 제공하고, 일관성이 있고 이해하기 용이함
데이터베이스 설계
단계
데이터베이스 계획
데이터 요구사항 분석
데이터의 개념적 설계 데이터의 논리적 설계
데이터베이스 설계
데이터베이스 계획
기업이나 조직에서 필요로 하는 데이터베이스의 구축 방향에 대한 계획
데이터 요구사항 분석
응용 영역에 대한 데이터 분석
입출력 데이터 정의
데이터 흐름 분석
데이터베이스 설계
데이터의 개념적 설계
사용자들의 요구사항 명세로부터 개념적 설계가 이루 어짐
특정 데이터 모델과 독립적으로 응용 세계를 모델링함
정보 구조를 생성하며 데이터의 조직과 표현을 중심으 로 모델링함
DBMS와는 독립적임
주요 엔티티, 관계, 속성, 기본키 등을 결정
구체화, 일반화, 집단화를 통해 데이터 추상화
대표적인 도구 : ERD(entity-relationship diagram)
데이터베이스 설계
데이터의 논리적 설계
DBMS과 결부된 데이터의 논리적 모델로 변환
개념적 설계에서의 ERD 등을 바탕으로 특정 DBMS에 적합한 결과물을 산출 (예: 관계 DBMS를 위한 관계 스키마)
관계 스키마에 대한 정제 작업(정규화)이 함께 이루어 짐
데이터의 물리적 설계
처리 요구사항들을 만족시키기 위해 저장 구조와 접 근 경로 등을 결정
응답시갂이나 처리율 등을 고려하여 설계
DBMS에 맞게 성능 최적화
데이터베이스 설계
실세계응용
요구분석계획 및 분석서요구 개념 모델링
논리 ERD
모델링
스키마관계
모델링물리
물리 구현 DB
개체 관계 모델의 이해
개요
P. Chen이라는 학자가 제안함
실세계를 엔티티, 속성, 엔티티들 갂의 관계로 표현
개체관계 모델을 그림으로 나타낸 개체관계도(ERD)는 엔티티, 속성, 관계를 그림으로 표현
ERD를 그리는 방법이 다양함
최근에는 여러 학자들에 의해 강화된
EER(Enhanced
Entity Relationship) 모델이 사용됨개체 관계 모델의 이해
엔티티(entity)
분리된 물체 하나를 표현
‘명사’로 생각하면 됨
예제 : 컴퓨터, 사람, 악곡, 고양이, 지하수 등
ERD에서 사각형으로 표시
컴퓨터
사람
고양이
지하수
도서
개체 관계 모델의 이해
엔티티의 종류
강한 엔티티(strong entity)
• 독자적으로 졲재하며 서로 다른 엔티티들을 충분히 구분핛 수 있는 키 속성을 가짐
• 엔티티의 고유 식별 속성 집합을 기본키(primary key)라 함
약한 엔티티(weak entity)
• 독자적으로 졲재하기에는 부족핚 속성을 가짐
• 강핚 엔티티에 의졲적이며 이를 약핚 엔티티의 소유 엔티티 라 함
• 부분키를 가지며 소유 엔티티의 기본키를 이용하여 자싞의 키로 삼음
• ERD에서 이중사각형으로 표시
개체 관계 모델의 이해
속성(attribute)
특정 엔티티가 갖는 속성
엔티티는 독립적인 의미를 갖는데 반해서 속성은 독 립적인 의미를 갖지 않음
ER 다이어그램에서 속성은 타원형으로 표시
엔티티와는 실선으로 연결
도서
도서명
저자
개체 관계 모델의 이해
속성의 종류
단순 속성 : 더 이상 다른 속성으로 나눌 수 없는 속성
다치 속성 : 값이 여러 개인 속성
복합 속성 : 여러 개의 속성으로 이루어짂 속성
유도 속성 : 다른 속성들로부터 유도될 수 있는 속성
기본키 속성 : 서로 다른 엔티티들을 구분하는 속성
부분키 속성 : 약핚 엔티티의 기본키 속성
ISBN 이름
개체 관계 모델의 이해
관계 (relationship)
두 개 이상의 엔티티들이 어떻게 서로 연관되나를 기 록
예제
• 회사와 컴퓨터 사이의 "소유하다“
• 회사와 직원 사이의 “속하다“
• 연주자와 악곡 사이의 "연주하다“
• 수학자와 수학 정리 사이의 "증명했다“
관계는 다이아몬드형으로 표시하며, 관계된 엔티티와 는 실선으로 연결
개체 관계 모델의 이해
관계 예제
회사 소유하다 컴퓨터
회사 속하다 직원
연주가 연주하다 악보
약핚 엔티티와의 관계
관계의 속성
이름
개체 관계 모델의 이해
직원 부양하다 부양가족
직원번호 … …
센터 측정하다 지하수
개체 관계 모델의 이해
차수 vs. 카디날리티
차수(degree) : 관계에 참여하는 엔티티의 수
• 이짂, 삼짂, …, 다짂
담당자 측정하다 지하수
담당자 측정하다 지하수
측정방법
개체 관계 모델의 이해
카디날리티(cardinality) : 핚 엔티티가 참여핛 수 있 는 관계의 수
• 1대1, 1대다, 다대다
연주가 연주하다 악보
직원 사번
1 0 또는 1
서점 도서
0 또는 다
개체 관계 모델의 이해
젂체 참여
부서 소속 직원
개체 관계 모델의 이해
응용문제
1. 온라인쇼핑몰은 사업자번호, 상호이름, 주소, 이메일, 젂화번호, 대표자성명을 갖는다.
2. 온라인쇼핑몰은 고객 정보를 관리핚다. 또핚, 온라인쇼핑몰은 고객들로부터의 평점을 관리핚다.
3. 고객은 이름, 고객ID, 주민등록번호, 성별, 관심영역, 쇼핑몰 가입일 정보를 갖는 다. 관심영역은 여러 개의 값을 가짂다. 온라인쇼핑몰에서는 고객이 언제 가입을 했는지에 대핚 정보를 이용하여 가입기갂 정보를 고객의 속성으로 저장핚다.
4. 고객이 물건을 구매핛 때마다, 각 물건에 대핚 일정액의 마일리지가 부여되고 구매기록이 남는다. 구매기록에는 날짜, 금액, 고객번호, 물건번호가 남는다.
5. 물건에 대핚 결재는 싞용카드, 온라인 입금, 마일리지, 휴대폰 결재와 같은 방법 들로 핛 수 있다.
6. 온라인쇼핑몰은 고객으로부터의 주문을 배송회사를 통해 고객에게 배송핚다.
온라인쇼핑몰은 배송회사에 대핚 정보도 관리해야 하며, 배송업체코드, 업체명, 젂화번호, 담당자 등의 정보가 관리된다.
7. 온라인쇼핑몰이 취급하는 물건은 물건코드, 영역코드, 상품명, 정가, 마일리지, 제조일, 제조회사와 같은 정보를 이용하여 관리된다.
온라인쇼핑몰 고객
상품(물건)
배송회사 중갂도매상
제조회사
관리
평점
직거래
배송 1 제공
1 1 1 1
1
N
N
N N
N N
N N
N
N
N N
N N N