Presentation is loading. Please wait.

Presentation is loading. Please wait.

데이터베이스 설계 데이터의 분석 개체 관계.

Similar presentations


Presentation on theme: "데이터베이스 설계 데이터의 분석 개체 관계."— Presentation transcript:

1 데이터베이스 설계 데이터의 분석 개체 관계

2 데이터의 분석 사용자의 요구분석(Requirement Analysis) 예제 시스템의 설계에 가장 기초가 되는 과정
사용자가 어떤 시스템을 원하는 가를 정형화 사용자가 관심 있는 데이터가 무엇이며 그 데이터들 관계에 대한 기술 과 분석 예제 학사정보 시스템 비디오 관리 시스템

3 개체(Entity) 물리적인 개체: 교수, 학생 추상적인 개체: 강좌, 학과 개체의 특성 학생의 성명 강좌의 강좌번호 등
데이터베이스 상에서 독립적으로 존재하는 대상 물리적인 개체: 교수, 학생 추상적인 개체: 강좌, 학과 속성(attribute) 개체의 특성 학생의 성명 강좌의 강좌번호 등 숫자, 문자, 날짜 등의 Simple Type 이름 학번 학생 학부

4 개체(계속) 키 예제 키 찾기 개체의 속성 중 그 개체를 다른 개체와 구별 할 수 있도록 하는 것 학생의 학번 교수의 교수번호
만일 교수의 생년월일을 키로 사용한다면? 예제 키 찾기 전 국민 데이터베이스의 국민 개체

5 관계(Relationship) 교수가 학생을 지도한다. 학생이 강좌를 수강한다. 관계 개체1 개체2 개체 간의 연관 예제
교수가 학생을 지도하는 관계를 표현하시오 관계 개체1 개체2

6 관계(계속) 관계의 형태 1:M (1:Many)의 관계 M:N (Many:Many)의 관계
어떤 개체의 하나의 인스턴스와 다른 개체의 여러 인스턴스가 관계를 맺는 경우 (교수가 여러 학생을 지도한다.) M:N (Many:Many)의 관계 개체 끼리 서로 1:N의 관계를 갖는 경우 (학생과 강좌의 수강 관계)

7 E-R 다이어그램(Diagram) 예제 성적 처리 시스템의 4 개체인 교수, 학생, 학과, 강좌를 가지고 E-R 다 이어그램을 작성해 보자 비디오관리 시스템의 E-R 다이어그램을 작성해 보자

8 학사정보의 E-R Diagram

9 관계형 데이터베이스 개념 E-R 모델에서 테이블로 변환 관계형 데이터베이스의 연산

10 관계형 데이터베이스 개념 데이터 자체와 그들 간의 관계를 테이블로 표현한 데이터베이 스 모델 테이블
학생 테이블 열 (column, field) 행 (row) 학번 주민등록 전공 이름 xxxxxx 100 서성숙 xxxxxx 101 추연준 xxxxxx 두선미

11 개념(계속) 예제 성적 처리 시스템의 교수 개체를 테이블로 나타내 보자
비디오 대여 관리 시스템의 각 개체를 테이블로 나타내 보자

12 개념(계속) 학생 = (학번, 주민등록번호, 이름, 전공, 지도교수) 데이터베이스 스키마 테이블의 키 속성
테이블을 구성하는 각 항목에 대해 명확하게 정의하여 만든 틀 학생 = (학번, 주민등록번호, 이름, 전공, 지도교수) 테이블의 키 속성 주키(primary key) 각종 키 중에서 가장 의미가 있고 사용이 편리한 것 을 선택 사용 관계형 데이터베이스의 장점?

13 E-R 모델에서 테이블로 변환 설계에서 구현으로

14 변환(계속) 개체를 테이블로 변환 개체의 한 속성은 바로 테이블의 한 필드를 이루게 된다.

15 변환(계속) 관계를 테이블로 변환 (M:N의 경우) 관련 개체의 키와 함께 필드로 변환

16 변환(계속) 관계를 필드로 변환 (1:M의 경우) 예제 다수의 개체가 대응되는 테이블 쪽에 필드를 추가해 준다.
Foreign Key 가 된다 예제 교수와 학과간의 속한다는 관계를 표시하는 다이어그램을 변환하시오 학과번호를 가르키는 소속이라는 필드를 교수 테이블에 추가

17 학사정보 변환 결과 학생 = (학번, 주민번호, 이름, 전공, 지도교수) 교수 = (교수번호, 이름, 생년월일, 소속)
학과 = (학과번호, 이름, 사무실번호, 전화) 강좌 = (강좌번호, 이름, 담당교수, 강의시간) 수강 = (학번, 강좌번호, 학점) 밑줄 친 부분은 주키(Primary Key) 필드 이탈릭 부분은 외부키(Foreign Key) 필드

18 학사정보 실습 Oracle 이용 VideoRental.mdb 구조를 참조할 것 !!! 5개의 테이블 구조 정의
학생, 교수, 강좌, 학과, 수강 테이블 서로간의 관계정의 학생의 지도교수 필드와 교수의 교수번호 필드 학생의 전공 필드와 학과의 학과번호 …. 가상의 데이터를 입력 검색 연습 VideoRental.mdb 구조를 참조할 것 !!!

19 관계형 테이터베이스의 연산자 연산자는 +, -, *, / 등과 같은 것으로 테이블에 서는 Relational Algebra의 연산자라고 함 대표적인 것이 Selection Projection Join Cartesian Product Union/Intersection/Difference Renaming

20 관계형 데이터베이스의 연산 예제 테이블 학번 주민등록 이름 전공 지도교수 99034045 790405-2000000 서성숙
100 200231 추연준 101 200222 두선미 200056 박재희 윤현수

21 연산(계속) SELECTION 주어진 조건을 만족하는 행을 모아 새로운 테이블을 구성한다. 지도교수=200231 학번 주민등록
이름 전공 지도교수 서성숙 100 200231 박재희

22 연산(계속) PROJECTION 필요한 필드만으로 테이블을 재구성 학번과 이름 만으로 프로젝션 학번 이름 99034045
서성숙 추연준 두선미 박재희 윤현수

23 연산(계속) JOIN 둘 이상의 테이블을 키를 연관시켜 양 테이블에 포함된 열을 모두 나 열한 테이블을 만듬
학생 = (학번, 이름, 주민번호, 전공, 지도교수) 수강 = (학번, 강좌번호, 평점) 학생 JOIN 수강 ?

24 테이블의 곱셈(Cartesian Product)
(테이블 A) X (테이블 B) 결과는 (테이블 A의 row 수) * (테이블 B의 row 수) 만큼의 row를 같 는다 결과는 테이블 A의 모든 Attribute와 테이블 B의 모든 Attribute를 같는 다 결과 테이블의 row들은 A 테이블의 각각의 row와 B 테이블의 각각의 row와의 짝짖기한 결과 Access에서 구현한다면 ??

25 테이블의 Join 연산자 모든 짝짖기한 결과중에서 관심있는 Row만 선택하는 것이 Join 연산자
Natural Join 제일 많이 사용하는 것으로 특정 필드값이 같은 짝짖기 Row만 선 택 반복되는 필드는 하나만 남김 Equi-join 반복되는 필드를 모두 남김 Theta Join 값이 같은 조건뿐만이 아니라 더 복잡한 조건도 가능함 Outer Join Oracle에서 구현한다면 ??


Download ppt "데이터베이스 설계 데이터의 분석 개체 관계."

Similar presentations


Ads by Google