설계 단계 개념적 설계 ER 다이어그램 논리적 설계

Slides:



Advertisements
Similar presentations
널 (null) 의 처리 널을 검색하는 방법 형식 예 ) takes 테이블에서 아직 학점이 부여되지 않은 학생의 학번을 검색 is null is not null ( 질의 64) select stu_id from takes where grade is null.
Advertisements

The 3rd Amado Photography Award
SQL 실습 2014 FALL 데이터베이스 2014/10/04.
ER Schema (추가)
Chapter 2 정보시스템 아키텍처 (IS Architecture)
데이터베이스 9주차 : 데이터베이스 설계 2교시 : 데이터베이스 설계(3)
Chapter 7: Entity-Relationship 모델
소프트웨어시스템 실험 Software Systems Lab. (2012년 2학기) 강의 소개
4. 데이터 기능 유형.
데이터베이스 시스템.
실전 데이터모델링 & 데이터베이스 설계와 구축
제약 조건 부모 테이블 자식 테이블 입 력 수 정 삭 제  관계형성을 통한 참조 무결성
Chapter 02. 데이터 모델링.
관계 대수와 SQL.
4장. 관계 대수와 SQL SQL 관계 데이터 모델에서 지원되는 두 가지 정형적인 언어
SQL 개요 SQL 개요 - SQL은 현재 DBMS 시장에서 관계 DBMS가 압도적인 우위를 차지하는 데 중요한 요인의 하나
Information Technology
제 3 장 엔티티-관계(ER) 모델을 사용한 데이타 모델링
에어로플랜에 가입하기 1. Title Title을 입력한다. 성과 이름을 잘 구분하여 입력한다. 생년월일을 기입한다.
12. 데이터베이스 설계.
소프트웨어공학 UML 학기.
관계 데이터 모델과 제약조건 개념, 특성, 키, 무결성 제약조건.
2장. E/R 데이터 모델 엔티티-관계성 (Entity-Relationship) 모델의 요소 설계 원칙
데이터 웨어 하우스 이병규 김기훈.
데이터베이스 설계와 ER 모델 설계, ER 모델링.
Data Modeling Database 활용을 위한 기초 이론 Database의 개요 Data Modeling
4.2 SQL 개요 SQL 개요 SQL은 IBM 연구소에서 1974년에 System R이라는 관계 DBMS 시제품을 연구할 때 관계 대수와 관계 해석을 기반으로, 집단 함수, 그룹화, 갱신 연산 등을 추가하여 개발된 언어 1986년에 ANSI(미국 표준 기구)에서 SQL.
ER-Win 사용 방법.
2장. 관계 데이터 모델과 제약조건 관계 데이터 모델은 지금까지 제안된 데이터 모델들 중에서 가장 개념이 단순한 데이터 모델의 하나 IBM 연구소에 근무하던 E.F. Codd가 1970년에 관계 데이터 모델을 제안함 관계 데이터 모델을 최초로 구현한 가장 중요한 관계 DBMS.
Database 소개.
이산수학(Discrete Mathematics) 수학적 귀납법 (Mathematical Induction)
Fundamentals of Database Systems R. A. Elmasri and S. B. Navathe
자격증 모의 테스트 시스템 담당 교수 : 이 상 문 교수님 팀명 : CSCLAB
1장. 데이터베이스 시스템 컴퓨터를 사용하여 정보를 수집하고 분석하는데 데이터베이스 기술이 활용되고 있음
UML exercise in Class.
SQL.
제 3 장 관계 데이타 모델과 관계 데이타베이스 제약조건
Chapter 3: Introduction to SQL
제 7 장 엔터티-관계를 사용한 개념적 데이타 모델링
함수적 종속과 정규화 함수적 종속 데이터 중복의 문제점 정규형.
CHAPTER 06. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
정보처리기사 8조 신원철 양진원 유민호 이기목 김다연 윤현경 임수빈 조현진.
Project Specification - 학사관리 시스템 과제 2번
4. 관계 데이터베이스 (Relational Database)- 7, 8장
ER-Win 4.0 Database Modeling Ⅰ. Logical Design
View(뷰) 1 가상 테이블(Virtual Relation)
2장. 관계 데이터 모델과 제약조건 관계 데이터 모델은 지금까지 제안된 데이터 모델들 중에서 가장 개념이 단순한 데이터 모델의 하나 IBM 연구소에 근무하던 E.F. Codd가 1970년에 관계 데이터 모델을 제안함 관계 데이터 모델을 최초로 구현한 가장 중요한 관계 DBMS.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall
데이터베이스 (Databases) 데이터베이스 소개 문양세 강원대학교 IT대학 컴퓨터과학전공.
ER-관계 사상에 의한 관계 데이터베이스 설계
Database 중고차 매매 DB 비즈니스IT 윤동섭.
소프트웨어 공학 Lecture #7: 상세 설계
4. 관계 데이터 모델.
데이터베이스 (Database) 데이터베이스와 데이터베이스 사용자 문양세 강원대학교 IT대학 컴퓨터과학전공.
관계 데이타 모델과 관계 데이타베이스 제약조건 충북대학교 구조시스템공학과 시스템공학연구실
학습목표 학습목표 본 장은 데이터베이스를 구성하는 개체, 속성, 관계 등을 다룬다. 특별히 데이터베이스의 구조를 테이블에 기초하여 조직하는 관계 데이터 모델은 개체(entity)와 관계(relationship) 들이 테이블의 집합 형태로 되어 간단하고 이해하기 쉬우며.
데이터베이스 개발 단계.
                              데이터베이스 설계 및 실습 #8 - ER-Win 한국외국어대학교 DaPS 연구실                              
Data Warehouse 구축 (설계 위주)
제 8 장 ER-관계 사상에 의한 관계 데이타베이스 설계
상세 개념적 모델링. 상세 개념적 모델링 정규화를 하는 이유 데이터의 중복성 제거 데이터 모형의 단순화 Entity, Attribute의 누락 여부검증 데이터 모형의 안전성 검증.
1. 관계 데이터 모델 (1) 관계 데이터 모델 정의 ① 논리적인 데이터 모델에서 데이터간의 관계를 기본키(primary key) 와 이를 참조하는 외래키(foreign key)로 표현하는 데이터 모델 ② 개체 집합에 대한 속성 관계를 표현하기 위해 개체를 테이블(table)
ER-관계 사상에 의한 관계 데이터베이스 설계
Database 수강관리 SDM.
ER-관계 사상에 의한 관계 데이터베이스 설계
2장. 데이터베이스 시스템 개념과 아키텍처 2.1 데이터 모델, 스키마, 인스턴스
GB ridge 웹 모바일및 빅데이터 응용과정 3주차: 데이터베이스 프로그래밍 [경기도형 대학생 취업브리지 사업]
CHAPTER 4 관계 데이터 모델과 관계 데이터베이스 제약조건. CHAPTER 4 관계 데이터 모델과 관계 데이터베이스 제약조건.
엔티티-관계(ER) 모델을 사용한 데이터 모델링
Presentation transcript:

설계 단계 개념적 설계 ER 다이어그램 논리적 설계 데이터베이스 설계 설계 단계 개념적 설계 ER 다이어그램 논리적 설계

데이터베이스 설계(Database Design) 사용자의 요구사항(requirements)으로부터 현실세계를 반영한 데이 터베이스 구조 도출해내는 과정 어떠한 필드로 구성된 테이블을 어떠한 물리적 형태의 데이터베 이스로 구성할 것인가를 결정 데이터베이스 테이블 요구사항 1 요구사항 2 요구사항 3

데이터베이스 설계 단계 요구사항 분석 개념적 설계(conceptual schema) 논리적 설계(logical schema) DB 사용환경 분석 후 대상 및 제한 조건 도출. 개념적 설계(conceptual schema) 분석 결과를 추상화된 표현 방식으로 기술 -> 개념적 스키마 생성 논리적 설계(logical schema) 논리적 데이터베이스 구조에 맞는 스키마 생성 -> 논리적 스키마 생성 물리적 설계 실제 컴퓨터에 저장되는 방식 설계

개념적 설계 사용자의 요구사항 분석 후, 컴퓨터에 표현방식 보다는 추상적인 형 태로 설계 사용자기 이해하기 쉬운 형태로 표현 개념적 모델을 이용하여 개념적 스키마 생성 대표적 개념적 모델 개체관계 모델(Entity Relationship Model) 개념적 스키마 데이터베이스에 대한 추상적인 설계도 개체 관계 다이어그램(Entity Relationship Diagram: ERD) 개체관계 모델의 표현 수단 ER 스키마(ER schema)라고도 함

논리적 설계 논리적 설계 논리적 모델 : 관계형 데이터 모델 논리적 스키마 테이블 : 여러 데이터 도메인의 순서쌍의 집합 논리적 모델을 이용하여 논리적 스키마 생성 즉, ERD를 이용하여 데이타베이스 스키마를 설계 논리적 모델 : 관계형 데이터 모델 테이블 : 여러 데이터 도메인의 순서쌍의 집합 데이터베이스 : 테이블의 집합 논리적 스키마 테이블 구조도 개념적 설계 단계에서 생성된 ERD를 바탕으로 생성되는 테이블

물리적 설계 특정 DBMS가 제공하는 물리적 구조에 따라 테이블 저장 구조 설계 테이블 저장 구조란? 단순한 물리적 설계과정 필드의 데이터 타입 인덱스 지정 여부 물리적 스키마 단순한 물리적 설계과정 논리적 설계 단계에서 생성된 테이블 구조도에 따라 SQL create table 구 문으로 각각의 테이블 생성 추가 고려 사항 인덱스 설정 여부, 기본기/외래키 설정 여부

데이터베이스 설계 단계 요약

설계 과정의 고려사항 충실성 (faithfulness) 단순성 (simplicity) 필요로 하는 모든 데이터를 표현한다. 단순성 (simplicity) 단순하고 이해하기 쉬운 구조로 표현한다. 중복의 최소화 (redundancy minimization) 데이터의 중복을 최소화 한다. 저장공간의 효율적 사용, 데이터 일관성 유지 제약조건의 표현 데이터가 갖추어야 할 조건을 표현한다.

개체관계 모델: 개념적 설계 개체(Entity) 개체집합(Entity Set) 속성(Attribute) 현실 세계에서 물리적/추상적으로 존재하는 실체 사람, 자동차, 집, 수업, 성적, 과목 등 개체집합(Entity Set) 동일한 특성을 갖는 개체들의 모임 {‘김광식’, ‘김정현’ …} : 학생(student) 개체집합 {‘컴퓨터공학과’, ‘산업공학과’, …} : 학과(department) 개체집합 속성(Attribute) 개체의 특성 관계형 데이터 모델의 필드와 같은 개념 동일한 특성을 갖는 개체 => 속성이 동일한 개체

개체 집합의 예 student 개체집합 department 개체집합

필드와 속성의 차이점 필드 – 관계형 데이터 모델 속성 – 개체관계 모델 관계형 데이터모델에서 테이블의 컬럼 원자 값만 허용됨 개체관계 모델에서 개체의 특성 다중값 속성, 복합 속성 가능 다중값 속성 하나의 속성에 여러 개의 값이 들어감 예) family_member 속성에는 가족이름 여러 명이 포함 복합 속성 하나의 속성이 여러 개의 속성으로 구성됨 예) address 속성은 세부적으로 (district, city, street)로 구성됨

관계와 관계집합 관계 관계집합 개체간의 대응성을 표현 개체간의 관계를 통해 의미를 규정할 수 있음 동일한 유형의 관계들의 집합 예) 개체 ‘김광식’은 개체 ‘컴퓨터공학과’에 소속(affiliated)된다. => 순서쌍 (‘김광식’, ‘컴퓨터공학과’)으로 표현 관계집합 동일한 유형의 관계들의 집합

관계집합의 속성 관계집합에도 속성의 정의가 가능 개체들간의 관계의 특성을 표현 예 : 학생이 학과에 소속된 날짜

관계집합의 차수(degree) 관계집합에 참여하는 개체집합의 개수 이진관계(binary relationship) 두 개체집합 사이에 정의된 관계집합 학생 – 학과의 소속관계 학생 ‘김광식’은 학과 ‘컴퓨터공학과’ 소속 삼진관계(ternary relationship) 세 개체집합 사이에 정의된 관계집합 학생-과목-교수의 강의/수강 관계 학생 ‘김광식’은 교수 ‘최성희’가 강의하는 과목 ‘전산개론’ 을 수강

학생-과목-교수 삼진관계의 예

관계의 대응수(mapping cardinality) 관계집합에서 각 개체들이 참여할 수 있는 대응의 개수 학생 한 명은 하나의 학과에만 소속될 수 있다. student 개체집합의 각 개체는 최대한 하나의 department 개체와 관계 를 맺을 수 있음 (‘김광식’, ‘컴퓨터공학과’), (‘김광식’, ‘전자공학과’)는 공존할 수 없다. 대응수의 종류 일대일(one-to-one) 일대다(one-to-many) 다대일(many-to-one) 다대다(many-to-many)

일대일(one-to-one)

일대다(one-to-many), 다대일(many-to-one)

다대다(many-to-many)

약성 개체집합 vs. 강성 개체집합 예) 강성 개체집합(strong entity set) 기본키 형성에 필요한 속성을 모두 갖는 개체집합 약성 개체집합(weak entity set) 기본키 형성에 필요한 속성을 모두는 갖지 못한 개체집합 예) course 개체집합 속성: {course_id, title, credit} 기본키는 course_id -> 강성 개체집합 class 개체집합 속성: {year, semester, division, classroom, enroll} {year, semester, division}은 동일 교과목(course) 내에서만 유일함, 따라서 약성 개체집합임 약성 개체집합의 존재가 강성 개체집합의 존재에 의해 결정

약성 개체집합 vs. 강성 개체집합

약성 개체집합 vs. 강성 개체집합 약성 개체집합은 강성 개체집합에 항상 종속된다. 약성 개체집합과 강성 개체집합의 예 약성 개체집합은 독립적으로 존재할 수 없으며 강성 개체집합이 존재해 야 존재할 수 있다. 약성 개체집합과 강성 개체집합의 예 직원 개체집합 vs. 부양가족 개체집합 건물 개체집합 vs. 내부사무실 개체집합 교과목(course) 개체집합 vs. 강좌(class) 개체집합

약성 개체집합 vs. 강성 개체집합 약성 개체집합과 강성 개체집합의 대응수 : 다대일 약성 개체집합과 강성 개체집합의 대응수 : 다대일 전체 참여(total participation) 약성 개체집합의 모든 개체가 다대일 관계에 참여 부분 참여(partial participation) 약성 개체집합의 일부 개체만 다대일 관계에 참여

부분 키(partial key), 구별자(discriminator) 약성 개체집합에서 강성 개체집합의 특정 개체 내에서만 유일한 값 을 갖는 속성 집합 course(교과목) 개체집합의 속성 course_id, title, credit class(강좌) 개체집합의 속성 year, semester, division, classroom, enroll 약성 개체집합인 class 개체집합의 부분키 특정 교과목(course)에 대해서만 유일한 값을 갖는 강좌(class)의 속성 year, semester, division

약성 개체집합의 기본키 약성 개체집합 자체만으로 기본키를 가질 수 없음 약성 개체집합의 기본키 약성 개체집합의 부분키 + 강성 개체집합의 기본키 강좌(class) 개체집합의 기본키 course_id, year, semester, division

일반화 관계 vs. 세분화 관계 현실세계에 존재하는 개체들은 위상적으로 계층관계를 이루는 경우가 많음 현실세계에 존재하는 개체들은 위상적으로 계층관계를 이루는 경우가 많음 일반적 개념의 개체를 보다 구체화된 개념의 개체들로 분류 또는 분할해서 보여 줄 수 있음 상위 개체집합 (high-level entity set) -> 하위 개체집합(low-level entity set) 일반화 관계(generalization) 여러 개체집합의 공통적인 특징을 모아 상위 개체집합 생성 세분화 관계(specialization) 하나의 개체집합을 여러 개의 하위 개체집합으로 분류

일반화 관계 vs. 세분화 관계

개체관계 다이어그램(ERD) 구성요소

ERD의 예 student와 department의 ERD course와 class의 ERD (약성 개체집합의 표현)

삼진관계 ERD student, course, professor 개체집합의 개체관계 이진관계로 표현된 ERD

자기연관관계(self-relationship) ERD 직원(employee) 개체집합 각 직원은 자신을 관리하는 상관이 존재 상관도 직원 개체집합에 속함 각 상관은 여러 명의 직원을 관리 역할(role) 각 개체의 역할에 따라 대응수가 다름

자기연관관계(self-relationship) ERD 교과목(course) 개체집합 한 교과목은 여러 개의 선수(precede) 교과목을 가짐 한 교과목은 여러 개의 후수(antecede) 교과목을 가짐 다대다의 자기연관관계

개체 관계 스키마의 설계 학사 데이터베이스 구축을 위한 요구사항

개체집합의 도출 개체집합 개체집합 속성 요구사항 문서에서 정형화된 중요한 개념 학생(student) 학번(stu_id) 주민등록번호(resident_id) 이름(name) 주소(address) 학년(year) 강좌(class) 연도(year) 학기(semester) 분반(division) 강의실(classroom) 수강인원(enroll) 학과(department) 학과번호(dept_id) 학과명(dept_name) 사무실(office) 교수(professor) 교수번호(prof_id) 직급(position) 임용년도(year_emp) 교과목(course) 과목번호(course_id) 교과목명(title) 학점수(credit)

개체집합 ERD

관계집합 정의 소속(affiliated) 개설(opens) 강의(teaches) 수강(takes) 학생(student)은 학과(department)에 소속(affiliated_1)된다. 교수(professor)는 학과(department)에 소속(affiliated_2)된다. 개설(opens) 각 교과목(course)은 학기별로 강좌(class)가 개설(opens)된다. 강의(teaches) 교수(professor)는 개설된 강좌(class)를 강의(teaches)한다. 수강(takes) 학생(student)은 강좌(class)를 수강(takes)한다.

관계집합의 ERD

완성된 ERD (기본키 포함)

설계 순서 방법 1 방법 2 전적으로 설계자의 판단에 의해 결정 개체집합들을 모두 결정하고 그들의 관계를 그 다음으로 결정하는 순으 로 설계 방법 2 요구사항에서 가장 중요하다고 판단되는 개체집합과 관계집합(예를 들어 student와 class 간의 수강 관계)을 우선 결정 점점 확대하여 추가적인 개체집합(course, professor, department 등) 과 관계집합을 이끌어내는 순으로 설계 전적으로 설계자의 판단에 의해 결정

논리적 설계 ERD로 부터 테이블 스키마 생성(변환) 논리적 설계 과정 강성 개체집합을 관계형 테이블로 변환 약성 개체집합을 관계형 테이블로 변환 관계집합을 관계형 테이블로 변환 중복되는 테이블 제거 가능한 테이블들 결합

강성 개체집합의 변환 하나의 강성 개체집합 => 하나의 테이블 강성 개체집합의 속성 => 테이블 필드 테이블의 기본키는 개체집합의 기본키를 그대로 사용

강성 개체집합 변환 결과 student(stu_id, resident_id, name, address, year) department (dept_id, dept_name, office) professor (prof_id, resident_id, name, position, year_emp) course (course_id, title, credit)

약성 개체집합의 변환 부분 키 강성 개체집합 약성 개체집합

약성 개체집합 변환의 예 : 교과목(class)

관계집합의 변환 기본키는 두 관계집합의 기본키를 묶어서 설정

관계집합 변환 결과

자기연관 관계집합의 변환(일대다 대응) 개체집합 관계집합의 변환 규칙 사용 역할의 의미를 반영하여 기본키 명칭 변경 필요

자기연관 관계집합의 변환(다대다 대응) 후수 교과목 선수 교과목

테이블의 중복과 결합 지금까지 개체집합 5개와 관계집합 5개 총 10개의 테이블로 변환 관계집합으로부터 변환된 테이블은 경우에 따라 개체집합으로부터 변환 된 테이블과 데이터 중복이 발생 중복이 발생한 테이블은 다른 테이블과 결합되어 하나의 테이블로 표현

테이블의 중복 관계집합에서 변화된 테이블 개체집합에서 변화된 테이블 개체집합에서 변화된 테이블 필드들이 중복되므로 관계 테이블 opens 생략 가능 opens (course_id, year, semester, division) class(course_id, year, semester, division, classroom, enroll)

테이블의 중복의 원인 opens 테이블의 속성 class 테이블의 속성

테이블의 결합(다대일 관계) 다대일(일대다) 관계집합의 경우 관계 테이블과 개체 테이블 결합 가능 다대일(일대다) 관계집합의 경우 관계 테이블과 개체 테이블 결합 가능 student(stu_id, resident_id, name, address, year) department (dept_id, dept_name, office) affiliated_1 (stu_id, dept_id)

테이블의 결합(다대일 관계) 관계테이블을 삭제 다대일 대응에서 ‘일’에 해당하는 개체집합의 기본키를 ‘다’에 해당 하는 개체집합의 테이블에 외래키로 추가 개체집합에 속성이 있을 경우 같이 결합됨 student(stu_id, resident_id, name, address, year) department (dept_id, dept_name, office) affiliated_1 (stu_id, dept_id) student(stu_id, resident_id, name, address, year, dept_id) department (dept_id, dept_name, office)

다대다 관계 테이블의 결합 방법 결합이 불가능함 결합할 경우 다대다의 표현이 불가능함 예에서 takes 테이블은 결합이 안됨

일대일 관계 테이블의 결합 E1 E2 R a6 a7 a8 a1 a2 a3 a4 a5 E1(a1, a2, a3, a4, a5, a6) E2(a6, a7, a8) E1(a1, a2, a3, a4, a5) E2(a6, a7, a8) R(a1, a2) E1(a1, a2, a3, a4, a5) E2(a6, a7, a8, a1) E1(a1, a2, a3, a4, a5, a6, a7, a8)

다중 값 속성의 변환 관계형 테이블의 속성은 원자 값만 가능 다중 값 속성에 대응되는 새로운 테이블 생성 관계형 테이블의 속성은 원자 값만 가능 다중 값 속성에 대응되는 새로운 테이블 생성 기본키는 pk(E)와 A’으로 구성 다중 값 속성 A에 들어갈 원자 값을 위한 속성

다중 값 속성 변환의 예 다중 값의 개수 만큼 레코드 저장

복합 속성의 변환 복합 속성은 여러 개의 속성으로 분리

일반화 관계의 변환

일반화 관계의 변환 방법 1: 상위 개체집합의 유지 방법 2: 상위 개체집합 제거 상위 개체집합에 존재하는 일부 개체가 하위 개체집합에 속하지 않는 경우(부분 참 여)에 유용하게 활용 상위 개체집합 테이블과 하위 개체집합 테이블간의 빈번한 조인(join)이 수반됨 예) 임용년도가 2010년도인 교수의 이름을 검색 방법 2: 상위 개체집합 제거 상위 개체집합에 속하는 모든 개체가 하위 개체집합에 속하는 경우에만 가능 공통 필드에 대한 UNION 연산이 자주 발생 가능

변환과정 요약

최종 테이블 스키마

실습 문제 데이터베이스 설계 단계에 대한 설명 개념적 설계: 논리적 설계: 물리적 설계: 요구사항 분석에서 나온 결과를 토대로 핵심 정보 개체, 제한 조건 등을 특정 DBMS에 독립적이면서 추상화된 표현 방식으로 기술, 결과물로서 개념적 스키마 도출 논리적 설계: 개념적 스키마로부터 논리적 데이터베이스 구조에 맞는 논리 스키마를 생성하는 단계, 결과물로서 테이블 스키마 도출 물리적 설계: 논리적 설계 단계에서 생성된 테이블 스키마로부터 구현 가능한 물리적 데이터베 이스 구조를 설계, 결과물로서 물리적 스키마 도출

실습 문제 다음 두 개체집합 간에 성립될 수 있는 관계집합을 정의하고 그것의 대응수 를 표시하라. (a) 교수 개체집합과 학생 개체집합 (b) 학생 개체집합과 학생 개체집합 (c) 학생 개체집합과 학교행정부서 개체집합 (d) 회사 개체집합과 종업원 개체집합 (e) 건물 개체집합과 사무실 개체집합

실습 문제 다음 개체집합의 예에서 강성개체집합과 약성개체집합을 구별하라. (a) 교수 개체집합과 강좌 개체집합 (관계집합: 강의) (b) 학생 개체집합과 교수 개체집합 (관계집합: 지도) (c) 건물 개체집합과 내부사무실 개체집합 (관계집합: 포함) (d) 직원 개체집합과 부양가족 개체집합 (관계집합: 부양) (e) 제품 개체집합과 부속품 개체집합 (관계집합: 부속)

실습 문제 다음 일반화 관계를 테이블 스키마로 변환하라. student 여기서 under_graduate(학부생) 개체집합이 가지는 속성 is_ABEEK, GPA 은 각각 공학인증참여 여부, 총평점을 의미하고, graduate(대학원생) 개체집합이 가지는 속성 lab_name, degree, advisor_prof_id 은 각각 소속 연구실 명칭, 학위, 지도 교수 ID를 의미한다. name year address stu_id student ISA under- graduate graduate advisor_prof_id degree GPA is_ABEEK lab_name

실습 문제 다음은 약성개체집합을 포함한 ER 스키마를 보여준다. 이를 테이블 스키마 로 변환하라. 여기서, employee(직원) 개체집합은 emp_id(직원번호), name(성명), department(근무부서), address(주소) 등의 속성을 가지며, dependent(부양가족) 개체집합은 serial_num(순번), name(성명), sex(성 별) 등의 속성을 가진다. address department name serial_num name sex emp_id employee depends dependent

실습 문제 다음은 자기연관 관계의 예를 보여준다. 이를 테이블 스키마로 변환하라. student make_friends stu_id name year make_friends student

실습 문제 다음은 다중값 속성을 가진 department 개체집합이다. 여기서 tel_num 속 성은 전화번호를 의미하며, 하나의 department에 속한 전화번호가 한 개 이상임을 가정한다. 이 개체집합에 해당하는 테이블 스키마를 제시하라. dept_name office dept_id tel_num department

실습 문제 다음 삼진 관계는 professor(교수)가 특정 course(교과목)에 대한 text(교 재)를 recommends(추천)하는 관계를 표현한 것이다. 이 관계에 참여하는 개체집합들을 이진 관계 유형으로 변환하라.

실습 문제 다음의 요구사항에 대해 아래의 질문에 답하라. 위 요구사항으로부터 주요 개체집합을 도출하라. 도출한 개체집합들 간의 관계 및 대응수를 명시하여, ER 스키마를 작성하라. 작성한 ER 스키마를 테이블 스키마로 변환하라. 항공사의 예약 데이터베이스는 비행기와 승객 예약에 대한 데이터를 저장한다. 우선 보유하고 있는 비행기의 기종, 엔진종류, 생산 연도, 좌석 수에 대한 정보가 있다. 또한 스케쥴이 잡힌 각 비행기에 대해 출발지와 도착지 및 일시를 알 수 있다. 각 비행기에 대해서는 중간 기착지 없이 하나의 출발지와 도착지에 연결되는 것으로 가정한다. 출발지와 도착지는 공항 이름, 국가, 도시이름, 인구에 대한 정보가 있다. 각 승객은 이름, 성별, 전화번호 및 좌석, 흡연 여부, 마일리지를 알 수 있고 각 승객은 복수 예약이 가능하며 예약을 취소할 수도 있다.

실습 문제 다음의 요구사항에 대해 아래의 질문에 답하라. 위 요구사항으로부터 주요 개체집합을 도출하라. 도출한 개체집합들 간의 관계 및 대응수를 명시하여, ER 스키마를 작성하라. 작성한 ER 스키마를 테이블 스키마로 변환하라. 병원 데이터베이스에는 환자와 병원 각 부서로부터의 입원 및 퇴원, 치료에 대한 데이터를 저장한다. 각 환자에 대해서는 이름, 주소, 성별, 주민등록번호, 혈액형, 보험코드 등을 알 수 있어야 한다. 각 부서에 대해서는 부서명, 위치, 책임자, 병상의 수, 사용중인 병상의 수를 저장한다. 각 부서에는 여러 명의 의사들과 간호사가 있으며 의사 중 한 명이 책임자가 된다. 각 입원 환자에는 담당 의사와 간호사가 있으며 각 의사는 여러 명의 입원 환자를 담당한다. 반면에 간호사는 여러 명의 환자를 담당하고 각 환자는 한 명의 의사와 여러 명의 간호사로부터 관리를 받는다. 각 의사와 간호사에 대해서는 사원번호, 이름, 주민등록번호, 재직년수 등의 정보가 있다. 각 환자들은 지정된 날짜에 입/퇴원하며 입원 기간동안 여러 번의 치료를 받는다. 치료에 대해서는 치료명, 기간, 환자 반응 등을 저장한다.