4. 관계 데이터 모델.

Slides:



Advertisements
Similar presentations
Chapter 7: Entity-Relationship 모델
Advertisements

데이터베이스 설계(Database Design)
데이터 모델링 방법론 2003년 03월.
데이터베이스 시스템.
실전 데이터모델링 & 데이터베이스 설계와 구축
제약 조건 부모 테이블 자식 테이블 입 력 수 정 삭 제  관계형성을 통한 참조 무결성
Chapter 02. 데이터 모델링.
질의어와 SQL 기본 SQL 고급 SQL 데이타의 수정 데이타 정의 언어 내장 SQL
관계 대수와 SQL.
DataBase 기본 교육 신입사원용 최지철.
4. 관계 데이터베이스 (Relational Database)
4장. 관계 대수와 SQL SQL 관계 데이터 모델에서 지원되는 두 가지 정형적인 언어
DBMS실습(I) 데이터베이스 기본개념 2015년 1학기 동서울대학교 컴퓨터소프트웨어과.
SQL 개요 SQL 개요 - SQL은 현재 DBMS 시장에서 관계 DBMS가 압도적인 우위를 차지하는 데 중요한 요인의 하나
제 6 장 데이터 타입 6.1 데이터 타입 및 타입 정보 6.2 타입의 용도 6.3 타입 구성자 6.4 사례 연구
Information Technology
 DBMS의 발전 배경(1) 화일 중심 자료처리(DP)시스템의 한계 ☞ Note
12. 데이터베이스 설계.
데이터베이스 와 JDBC 1.데이터베이스와 데이터베이스 관리 시스템은? 2.데이터베이스 장점?
DB2.
데이터 베이스 란? 데이터 베이스 기능 데이터 베이스 관리 시스템 정보시스템의 구성 관게형 데이터 베이스
관계 데이터 모델과 제약조건 개념, 특성, 키, 무결성 제약조건.
2장. E/R 데이터 모델 엔티티-관계성 (Entity-Relationship) 모델의 요소 설계 원칙
3. 데이터베이스 시스템의 구성.
데이터베이스 설계와 ER 모델 설계, ER 모델링.
Data Modeling Database 활용을 위한 기초 이론 Database의 개요 Data Modeling
4.2 SQL 개요 SQL 개요 SQL은 IBM 연구소에서 1974년에 System R이라는 관계 DBMS 시제품을 연구할 때 관계 대수와 관계 해석을 기반으로, 집단 함수, 그룹화, 갱신 연산 등을 추가하여 개발된 언어 1986년에 ANSI(미국 표준 기구)에서 SQL.
2장. 관계 데이터 모델과 제약조건 관계 데이터 모델은 지금까지 제안된 데이터 모델들 중에서 가장 개념이 단순한 데이터 모델의 하나 IBM 연구소에 근무하던 E.F. Codd가 1970년에 관계 데이터 모델을 제안함 관계 데이터 모델을 최초로 구현한 가장 중요한 관계 DBMS.
Database 소개.
이산수학(Discrete Mathematics) 수학적 귀납법 (Mathematical Induction)
SQL.
01 데이터베이스 개론 데이터베이스의 등장 배경 데이터베이스의 발전 과정 데이터베이스의 정의 데이터베이스의 특징
5. 관계대수와 관계해석 관계자료 연산(operation)
제 3 장 관계 데이타 모델과 관계 데이타베이스 제약조건
2장. 학사관리 예제 DATABASE 학사 데이터베이스의 해설 테이블의 내용 무결성 규칙 쉽게 배우는 MySQL 5.x
제 4 장 관계 데이터 연산 1. 개요 2. 관계 대수 3. 관계 해석.
Chapter 3: Introduction to SQL
설계 단계 개념적 설계 ER 다이어그램 논리적 설계
택배 데이터베이스 모델링 김동영 이승언.
2007. Database Term Project Team 2 윤형석, 김희용, 최현대 우경남, 이상제
13장 무결성 제약조건.
정보처리기사 8조 신원철 양진원 유민호 이기목 김다연 윤현경 임수빈 조현진.
Project Specification - 학사관리 시스템 과제 2번
Database Programing 이름 : 김 수 종 학번 :
4. 관계 데이터베이스 (Relational Database)- 7, 8장
ER-Win 4.0 Database Modeling Ⅰ. Logical Design
2장. 관계 데이터 모델과 제약조건 관계 데이터 모델은 지금까지 제안된 데이터 모델들 중에서 가장 개념이 단순한 데이터 모델의 하나 IBM 연구소에 근무하던 E.F. Codd가 1970년에 관계 데이터 모델을 제안함 관계 데이터 모델을 최초로 구현한 가장 중요한 관계 DBMS.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall
데이터베이스 (Databases) 데이터베이스 소개 문양세 강원대학교 IT대학 컴퓨터과학전공.
4 장. 관계 데이터 모델과 관계 데이터베이스 제약조건
05. Relational DBMS 명지대학교 ICT 융합대학 김정호.
관계 데이타 모델과 관계 데이타베이스 제약조건 충북대학교 구조시스템공학과 시스템공학연구실
학습목표 학습목표 본 장은 데이터베이스를 구성하는 개체, 속성, 관계 등을 다룬다. 특별히 데이터베이스의 구조를 테이블에 기초하여 조직하는 관계 데이터 모델은 개체(entity)와 관계(relationship) 들이 테이블의 집합 형태로 되어 간단하고 이해하기 쉬우며.
Chapter 4 변수 및 바인딩.
데이터베이스 개발 단계.
06. SQL 명지대학교 ICT 융합대학 김정호.
동적계획법과 최적화 문제 Dynamic Programming을 사용한 최적화 문제를 해결하는 알고리즘 설계 절차
2007. Database Term Project Team 2 윤형석, 김희용, 최현대 우경남, 이상제
제 8장 데이터베이스.
제 3 장 관계 데이터 모델 1. 개요 2. 기본 개념 3. 관계 데이터 제약.
FINAL FANTASY XIV_2D.ver
Data Warehouse 구축 (설계 위주)
상세 개념적 모델링. 상세 개념적 모델링 정규화를 하는 이유 데이터의 중복성 제거 데이터 모형의 단순화 Entity, Attribute의 누락 여부검증 데이터 모형의 안전성 검증.
1. 관계 데이터 모델 (1) 관계 데이터 모델 정의 ① 논리적인 데이터 모델에서 데이터간의 관계를 기본키(primary key) 와 이를 참조하는 외래키(foreign key)로 표현하는 데이터 모델 ② 개체 집합에 대한 속성 관계를 표현하기 위해 개체를 테이블(table)
1장. 서 론 데이터베이스의 개요 모델의 종류 관계형 모델과 객체 지향형 데이터베이스 SQL이란 무엇인가?
4. 데이타베이스 시스템의 구성.
ER-관계 사상에 의한 관계 데이터베이스 설계
Chapter 2: Intro to Relational Model
GB ridge 웹 모바일및 빅데이터 응용과정 3주차: 데이터베이스 프로그래밍 [경기도형 대학생 취업브리지 사업]
CHAPTER 4 관계 데이터 모델과 관계 데이터베이스 제약조건. CHAPTER 4 관계 데이터 모델과 관계 데이터베이스 제약조건.
Presentation transcript:

4. 관계 데이터 모델

4.1 관계 데이타 모델(1) 관계 데이타 모델(relational data model)의 탄생 관계 데이타 모델의 특성 1970년대 IBM의 E. F. Codd에 의해 제안 관계 데이타 모델의 특성 릴레이션(relation)과 수학적인 이론에 기초 일반 사용자는 테이블 형태로 생각 통상적인 테이블의 개념과는 다름 관계 데이타 모델의 직관적인 이해에 도움 테이블의 열(column) = 필드(field) 혹은 아이템(item) ≒ 관계 데이타 모델의 애트리뷰트(attribute) 테이블의 행(row) = 레코드(record) ≒ 관계 데이타 모델의 투플(tuple) 금오공과대학 컴퓨터공학부 컴퓨터공학전공

 관계 데이타 모델(2) 학생(STUDENT) 테이블 : 릴레이션 학번 (Sno) 이름 (Sname) 학년 (Year) 학과 (Dept) 100 나 수 영 4 컴퓨터 200 이 찬 수 3 전기 300 정 기 태 1 컴퓨터 400 송 병 길 4 컴퓨터 500 박 종 화 2 산공 금오공과대학 컴퓨터공학부 컴퓨터공학전공

 애트리뷰트와 도메인 테이블 ≒ 릴레이션 도메인(domain) 애트리뷰트(attribute) 애트리뷰트가 취할 수 있는 값(value)들의 집합 애트리뷰트(attribute) 도메인의 역할 이름 애트리뷰트 이름들은 모두 달라야 함 단순 도메인 (simple domain) → 단순 애트리뷰트 : 원자값 복합 도메인 (composite domain) → 복합 애트리뷰트 : 복합값 연, 월, 일 ⇒ 날짜:<연,월,일> ☞ Note 애트리뷰트 이름과 도메인 이름은 같을 수도 있음 금오공과대학 컴퓨터공학부 컴퓨터공학전공

릴레이션의 개념 릴레이션 학생(STUDENT)의 정의 도메인 명세가 생략된 릴레이션 STUDENT의 정의 DCL DOMAIN DSNO INTEGER; DCL DOMAIN NAME CHAR(10); DCL DOMAIN DYEAR INTEGER; DCL DOMAIN DEPT CHAR(6); DCL RELATION STUDENT (Sno DOMAIN DSNO, Sname DOMAIN NAME, Year DOMAIN DYEAR, Dept DOMAIN DEPT); DCL RELATION STUDENT (Sno INTEGER, Sname CHAR(10), Year INTEGER, Dept CHAR(6)); 금오공과대학 컴퓨터공학부 컴퓨터공학전공

▶ 릴레이션의 예 학번 (Sno) 이름 (Sname) 학년 (Year) 학과 (Dept) 100 나 수 영 4 컴퓨터 200 INTEGER . . DSNO CHAR(10) . . NAME INTEGER . . DYEAR CHAR(6) . . DEPT 도메인 애트리뷰트 학생 (STUDENT) 릴레이션 스킴 학번 (Sno) 이름 (Sname) 학년 (Year) 학과 (Dept) 학생 (STUDENT) 릴레이션 100 나 수 영 4 컴퓨터 200 이 찬 수 3 전기 투플 인스턴스 300 정 기 태 1 컴퓨터 400 송 병 길 4 컴퓨터 500 박 종 화 2 산공 금오공과대학 컴퓨터공학부 컴퓨터공학전공

4.2 릴레이션의 개념 릴레이션 스킴 (relation scheme) 릴레이션 내포 (relation intension) 또는 릴레이션 스키마라고도 함 릴레이션 이름 + 애트리뷰트 이름으로 표현 R(A1, A2, ... , An), Ai ⇔ Di  정적 성질 시간에 무관 릴레이션 타입 금오공과대학 컴퓨터공학부 컴퓨터공학전공

▶ 릴레이션 인스턴스 (relation instance) 릴레이션 외연 (relation extension)이라고도 함 릴레이션 R의 릴레이션 인스턴스 어느 한 시점에 릴레이션 R이 포함하고 있는 투플들의 집합 {< V1, V2, ... , Vn >} Vi ∈ Di 릴레이션의 내용, 상태 {(attr1=V1, attr2=V2, ··· , attrn=Vn)} 동적 성질 삽입, 삭제, 갱신으로 시간에 따라 변함 릴레이션 값(보통 릴레이션) 금오공과대학 컴퓨터공학부 컴퓨터공학전공

ⅰ. 수학적 정의 ⅱ. 개념적 정의 ▶ 릴레이션(Relation) R 릴레이션 R : 카티션 프로덕트(cartesian product)의 부분집합 R ⊆ D1 × D2 × ... × Dn 즉 n-투플 <d1, d2, ... , dn>의 집합 단 Di : i번째 도메인 di ∈ Di, i = 1,2, ... ,n n : R의 차수(degree :일차, 이차, 삼차, ... , n차) 투플의 수 : 카디널리티(cardinality) ⅱ. 개념적 정의 릴레이션 스킴 + 릴레이션 인스턴스 100 200 C412 C123 C312 <100,C412> <100,C123> <100,C312> <200,C412> <200,C123> <200,C312> 학번 (Sno) 과목번호 (Cno) 학번 ⅹ과목번호 (Sno ⅹ Cno) 금오공과대학 컴퓨터공학부 컴퓨터공학전공

4.3 릴레이션의 특성 (1) ⅰ. 투플의 유일성 ⅱ. 투플의 무순서성 ⅲ. 애트리뷰트의 무순서성 4.3 릴레이션의 특성 (1) ⅰ. 투플의 유일성 릴레이션 = 서로 다른 투플들의 "집합" ⅱ. 투플의 무순서성 릴레이션 : 추상적 개념  투플들의 집합 테이블 : 구체적 개념 ⅲ. 애트리뷰트의 무순서성 릴레이션 스킴 → 애트리뷰트들의 "집합" 투플 : <attr:value>쌍의 집합 금오공과대학 컴퓨터공학부 컴퓨터공학전공

 릴레이션의 특성 (2) ⅳ. 애트리뷰트의 원자성 애트리뷰트 값 = 원자 값(atomic value) 논리적으로 분해 불가능 도메인 단순 도메인 복합 도메인 : 값을 하나의 단위로 취급 정규화 릴레이션 (normalized relation) 반복그룹을 어트리뷰트로 사용하지 않는 릴레이션 비정규화 릴레이션은 분해로 정규화 동등한 의미 유지 널 값(null value) = 원자 값 unknown, inapplicable 금오공과대학 컴퓨터공학부 컴퓨터공학전공

▶ 릴레이션의 정규화 학번 (Sno) 과목성적 (Cgrade) 과목번호 (Cno) 성적 (Grade) 100 C413 A 등록1 (ENROL1) 등록 (ENROL) 학번 (Sno) 과목성적 (Cgrade) 과목번호 (Cno) 성적 (Grade) 100 C413 A E412 200 C123 B 300 C312 C324 C 400 500 학번 (Sno) 과목번호 (Cno) 성적 (Grade) 100 C413 A E412 200 C123 B 300 C312 C324 C 400 500 (a) 비정규 릴레이션 (b) 정규 릴레이션 금오공과대학 컴퓨터공학부 컴퓨터공학전공

관계 데이타베이스 스키마 = {릴레이션 스킴} + 무결성 제약조건  관계 데이타베이스 관계 데이타베이스 데이타베이스를 시간에 따라 그 내용(상태)이 변할 수 있는 테이블 형태로 표현 관계 데이타베이스 스키마 = {릴레이션 스킴} + 무결성 제약조건 관계 데이타 모델 ⇔ 프로그래밍 시스템 릴레이션 ⇔ 화일 투플 ⇔ 레코드 (레코드 어커런스) 애트리뷰트 ⇔ 필드(필드 타입) 금오공과대학 컴퓨터공학부 컴퓨터공학전공

대학(University) 관계 데이타베이스  example 대학(University) 관계 데이타베이스 학번 (Sno) 이름 (Sname) 학년 (Year) 학과 (Dept) 100 나 수 영 4 컴퓨터 200 이 찬 수 3 전기 300 정 기 태 1 400 송 병 길 500 박 종 화 2 산공 학생 (STUDENT) 과목번호 (Cno) 과목이름 (Cname) 학점 (Credit) 학과 (Dept) C123 프로그래밍 3 컴퓨터 C312 자료 구조 C324 화일 구조 C413 데이타베이스 E412 반 도 체 전자 담당교수 (PRname) 김성국 황수관 이규찬 이일로 홍봉진 과목 (COURSE) 금오공과대학 컴퓨터공학부 컴퓨터공학전공

대학(University) 관계 데이타베이스(cont’d)  example 대학(University) 관계 데이타베이스(cont’d) 학번 (Sno) 100 200 300 400 500 과목번호 (Cno) C413 E412 C123 C312 C324 성적 (Grade) A B C 중간성적 (Midterm) 90 95 85 75 80 65 기말성적 (Final) 등록 (ENROL) 금오공과대학 컴퓨터공학부 컴퓨터공학전공

4.3 기본 키(Primary key) 키(key) 후보 키(candidate key) 투플을 유일하게 식별할 수 있는 애트리뷰트 집합 후보 키(candidate key) 릴레이션 R(A1, A2, ..., An)에 대한 애트리뷰트 집합 K = { Ai , Aj , ..., Ak }로서 아래 성질을 만족하면 후보키 ① 유일성(uniqueness) 각 투플의 K (= { Ai , Aj , ... , Ak }) 의 값(< vi , vj , ... , vk >)은 유일 ② 최소성(minimality) K는 투플을 유일하게 식별하기 위해 필요한 애트리뷰트로만 구성 금오공과대학 컴퓨터공학부 컴퓨터공학전공

 기본 키 (2) 슈퍼 키 (super key) 기본 키 (primary key) 대체 키 (alternate key) 유일성(uniqueness)은 만족하지만 최소성(minimality)이 만족되는 않는 애트리뷰트의 집합 기본 키 (primary key) 후보 키(candidate key) 중에서 데이타베이스 설계자가 지정한 하나의 키 각 투플에 대한 기본 키 값은 항상 유효(no null value) 대체 키 (alternate key) 후보 키 중에 기본 키를 제외한 나머지 후보 키 금오공과대학 컴퓨터공학부 컴퓨터공학전공

대학(University) 관계 데이타베이스  example 대학(University) 관계 데이타베이스 학번 (Sno) 이름 (Sname) 학년 (Year) 학과 (Dept) 100 나 수 영 4 컴퓨터 200 이 찬 수 3 전기 300 정 기 태 1 400 송 병 길 500 박 종 화 2 산공 학생 (STUDENT) 과목번호 (Cno) 과목이름 (Cname) 학점 (Credit) 학과 (Dept) C123 프로그래밍 3 컴퓨터 C312 자료 구조 C324 화일 구조 C413 데이타베이스 E412 반 도 체 전자 담당교수 (PRname) 김성국 황수관 이규찬 이일로 홍봉진 과목 (COURSE) 금오공과대학 컴퓨터공학부 컴퓨터공학전공

대학(University) 관계 데이타베이스(cont’d)  example 대학(University) 관계 데이타베이스(cont’d) 학번 (Sno) 100 200 300 400 500 과목번호 (Cno) C413 E412 C123 C312 C324 성적 (Grade) A B C 중간성적 (Midterm) 90 95 85 75 80 65 기말성적 (Final) 등록 (ENROL) 금오공과대학 컴퓨터공학부 컴퓨터공학전공

 외래 키(Foreign key) 외래 키(foreign key) 릴레이션 R에 속한 애트리뷰트 집합 FK가 릴레이션 S의 기본 키일 때 FK는 R의 외래 키이다. (FK의 도메인) = (S의 기본 키의 도메인) FK의 값은 S에 존재하는 값이거나 null R과 S가 반드시 다른 릴레이션일 필요는 없음 R을 참조 릴레이션(referencing relation), S를 피참조 릴레이션(referenced relation)이라 함 금오공과대학 컴퓨터공학부 컴퓨터공학전공

 외래 키 (2) R  S인 경우 R = S인 경우 교수 (교수번호, 교수이름, 학과번호, 직급) 학과 (학과번호, 학과이름, 학과장교수번호, 학생수) PK FK 학생 (학번, 이름, 학년, 학과) 과목 (과목번호, 과목이름, 학점, 학과, 담당교수) 등록 (학번, 과목번호, 성적) FK FK R = S인 경우 교수1 (교수번호, 교수이름, 학과번호, 학장교수번호) PK FK 금오공과대학 컴퓨터공학부 컴퓨터공학전공

4.6 무결성 제약(Integrity Constraint) 데이타베이스 상태(database state)가 항상 만족시켜야 됨 개체 무결성(entity integrity) 기본 키 값은 언제 어느 때고 null값을 가질 수 없다. ☞ Notes : null 값 정보 부재를 명시적으로 표현하는 특수한 데이타 값 ① 알려지지 않은 값(unknown value) ② 해당 없음(inapplicable) 참조 무결성(referential integrity) 외래 키의 값은 참조된 릴레이션의 기본 키 값이거나 null이다. 금오공과대학 컴퓨터공학부 컴퓨터공학전공

 무결성 제약(Integrity Constraint)(2) 데이타베이스 상태 (database state) 어느 한 시점에 데이타베이스에 저장된 데이타 값 데이타베이스 인스턴스들 데이타베이스 상태 변화: 삽입, 삭제, 변경 연산 DBMS는 데이타베이스 상태의 변화에도 항상 무결성 제약을 만족시키도록 해야 함 금오공과대학 컴퓨터공학부 컴퓨터공학전공