4. 관계 데이터베이스 (Relational Database)

Slides:



Advertisements
Similar presentations
12 데이터 무결성 제약조건 데이터 무결성 제약조건의 개념 데이터 무결성 제약조건의 종류 무결성 제약조건의 생성 방법.
Advertisements

제 4 장 관계 데이타 모델과 관계 데이타베이스 제약조건
2장. 데이터 모델.
1. 관계 데이터베이스의 정규화 (1) 정규화 1) 이상(anomaly) ① 이상의 정의 • 관계 모델에서는 애트리뷰트들 간에 존재하는 여러 종속관계를 하나의 릴레이션에 표현하기 때문에 릴레이션 조작 시 이상 (anomaly) 발생 • 데이터의 중복으로 인하여 관계연산을.
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
Entity Relationship Diagram
제 09 장 데이터베이스와 MySQL 학기 인터넷비즈니스과 강 환수 교수.
컴퓨터 과학 개론 √ 원리를 알면 IT가 맛있다 컴퓨터 과학도를 위한 첫 전공서 ehanbit.net.
학습목표 학습목표 안정적인 데이터베이스 시스템의 구현 및 유지관리를 위해서는 정확하고 명쾌한 데이터베이스 모델링이 무엇보다도 중요 하다. 따라서 본 단원에서는 데이터베이스를 설계할 때 반드시 거쳐야 하는 3단계 모델링인 개념적, 논리적, 물리적 모델링에 대한 전반적인.
MySQL 및 Workbench 설치 데이터 베이스.
데이터베이스 및 설계 금오공과대학교 컴퓨터공학부 이 이섭.
관계형 데이타 모델 관계형 데이타베이스 관계 대수
관계 데이터 모델과 제약조건 개념, 특성, 키, 무결성 제약조건.
6 장. ER-관계 사상에 의한 관계 데이터베이스 설계
11. 데이타 종속성과 정규화.
ALLPPT.com _ Free PowerPoint Templates, Diagrams and Charts
2장. 관계 데이터 모델과 제약조건 관계 데이터 모델은 지금까지 제안된 데이터 모델들 중에서 가장 개념이 단순한 데이터 모델의 하나 IBM 연구소에 근무하던 E.F. Codd가 1970년에 관계 데이터 모델을 제안함 관계 데이터 모델을 최초로 구현한 가장 중요한 관계 DBMS.
2장. 관계 데이터 모델과 제약조건 관계 데이터 모델은 지금까지 제안된 데이터 모델들 중에서 가장 개념이 단순한 데이터 모델의 하나 IBM 연구소의 E.F. Codd가 1970년에 관계 데이터 모델을 제안함 관계 데이터 모델을 최초로 구현한 가장 중요한 관계 DBMS 시제품은.
3.2 SQL Server 설치 및 수행(계속) 시스템 데이터베이스 master
4장. 관계 대수와 SQL SQL 관계 데이터 모델에서 지원되는 두 가지 정형적인 언어 어느것을 기본으로 만들것인가
3. 데이타베이스 관리시스템.
08. 데이터 모델링.
관계 데이터 구조.
12. 데이타베이스.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
1. 관계 데이터 언어 관계 대수 1) 관계대수 정의 ① 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 절차적 인 방법 ② 주어진 관계로 부터 원하는 관계를 얻기 위해 연산자와 연산 규칙을 제공하는 언어 ③ 릴레이션 조작을 위한 연산의 집합으로 피연산자와 결과가.
5. 관계대수와 관계해석 ( Relational Operations: 관계연산)- 9장
KHS JDBC Programming 4 KHS
01 데이타베이스 개론 데이타베이스의 등장 배경 데이타베이스의 발전 과정 데이타베이스의 정의 데이타베이스의 특징
1장. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
환경 설정 예제 데이터베이스 생성 - 그림 3.34의 SQL Server 관리 스튜디오 창의 왼쪽 영역의 데이터베
함수적 종속과 정규화 함수적 종속 데이터 중복의 문제점 정규형.
POWER POINT PRESENTATION
4. 관계 데이터베이스 (Relational Database)- 7, 8장
2장. 관계 데이터 모델과 제약조건 관계 데이터 모델은 지금까지 제안된 데이터 모델들 중에서 가장 개념이 단순한 데이터 모델의 하나 IBM 연구소에 근무하던 E.F. Codd가 1970년에 관계 데이터 모델을 제안함 관계 데이터 모델을 최초로 구현한 가장 중요한 관계 DBMS.
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
관계 데이터 모델과 관계 데이터베이스 제약 조건
4 장. 관계 데이터 모델과 관계 데이터베이스 제약조건
ER-관계 사상에 의한 관계 데이터베이스 설계
Lesson 2. 기본 데이터형.
데이터베이스 설계도구 ERwin 사용법(Erwin 4.1.4)
1. 데이터 모델 개념 (1) 정보 모델링과 데이터 모델링 1) 정보 모델링 (information modeling) ① 현실 세계에 존재하는 개체를 인간이 이해할 수 있는 정보 구조 (현실 세계에 대한 인식을 추상적 개념으로 표현)로 표현하는 과정 ② 정보 모델링을.
4. 관계 데이터 모델.
Chapter 03. 관계 데이터베이스 설계.
04. DBMS 개요 명지대학교 ICT 융합대학 김정호.
05. Relational DBMS 명지대학교 ICT 융합대학 김정호.
Database Management System
7장. 릴레이션 정규화 릴레이션 정규화 부주의한 데이터베이스 설계는 제어할 수 없는 데이터 중복을 야기하여 여러 가지 갱신 이상(update anomaly)을 유발함 어떻게 좋은 데이터베이스 설계를 할 것인가? 데이터베이스에 어떤 릴레이션들을 생성할 것인가? 각 릴레이션에.
데이터 베이스 DB2 관계형 데이터 모델 권준영.
06. SQL 명지대학교 ICT 융합대학 김정호.
DB 개요 1. 데이터베이스 정의 데이터의 중복성을 최소화하면서 조직 또는 기업에서 필요로 하는 상호 연관 있는 데이터들의 체계적인 집합 통합된 데이터(Integrated Data) : 자료 중복 최소화 저장된 데이터(Stored Data) : 저장 매체에 저장 운영 데이터(Operational.
문성우 SQL 실습 Part Ⅰ 문성우.
제 3 장 관계 데이터 모델 1. 개요 2. 기본 개념 3. 관계 데이터 제약.
제 8 장 ER-관계 사상에 의한 관계 데이타베이스 설계
14 뷰(View) 뷰의 개념 뷰 관리.
Part 2 개념적 데이터 모델 Copyright © 2006 by Ehan Publishing Co. All rights reserved.
멀티미디어시스템 제 5 장. 멀티미디어 데이터베이스 개념 IT응용시스템공학과 김 형 진 교수.
4장. 데이터 모델링 데이터 모델링과 데이터 모델의 개념 개체-관계 모델 논리적 데이터 모델.
ER-관계 사상에 의한 관계데이터베이스 설계 충북대학교 구조시스템공학과 시스템공학연구실
ER-관계 사상에 의한 관계 데이터베이스 설계
07. DB 설계 명지대학교 ICT 융합대학 김정호.
Chapter 2: Intro to Relational Model
ER-관계 사상에 의한 관계 데이터베이스 설계
CHAP 15. 데이터 스토리지.
 6장. SQL 쿼리.
1. 데이타베이스의 개념.
데이터베이스 설계 데이터의 분석 개체 관계.
8장. 데이터베이스 설계 데이터베이스 설계 단계 요구 사항 분석 개념적 설계 논리적 설계 물리적 설계와 구현.
제1강 데이터베이스의 기본개념(3).
CHAPTER 4 관계 데이터 모델과 관계 데이터베이스 제약조건. CHAPTER 4 관계 데이터 모델과 관계 데이터베이스 제약조건.
Presentation transcript:

4. 관계 데이터베이스 (Relational Database)

< 선행 학습 > - 자료모델링(data modelling)

자료 모델링(data modeling)-1 ○ 실세계의 정보를 규칙에 따라 체계적으로 기술하는 과정. - 주어진 관점 : 응용영역이나 목적에 의해 결정. ○ 자료 모델(data model) - DB 구축시마다 자료 모델링 필요 : 매우 어려움(번잡). - 자료 모델 : 자료 모델링의 방법론을 미리 정의 - DB 구축 : 기존의 개발된 자료모델을 이용. ☞ 자료형(data type) : PL ○ 기존의 (논리)자료모델 - 계층형 자료모델(hierarchical data model) - 망(네트워크)형 자료모델(network data model) - 관계 자료모델(relational data model) 개체-관계 자료모델(entity-relationship: E-R모델): 개념자료모델 - 객체지향 자료모델(object-oriented data model) - 객체-관계 자료모델(object-relational data model)

자료모델링-2 구조 자료모델 질의모델 ○ 좋은 자료모델의 조건 ○ 현재 가장 일반적인 자료모델 관계 객체지향 구조 단순 - 표현력 우수 : 복잡한 실세계를 정확하게 반영 가능. - 구조 단순 : 관리(제어)와 처리(조작)의 효율화 가능. ○ 현재 가장 일반적인 자료모델 구조 자료모델 질의모델 관계 구조 단순 표현력 한계 수학적 정형화 이룸 좌동 객체지향 구조 복잡 표현력 우수 정형화 이루지 못함

자료 모델링-3 자료모델별 DBMS(제품) 발전 - 1980년대 후반 이후 : 객체지향형 DBMS 개발에 총력 - 관계형 : DB2, SQL/DS, INGRES, Oracle, Informix,… - 계층형 : IMS, System2000,… - 망형 : IDMS, DMS1100, TOTAL. - 객체지향형 : Iris, Orion, GemStone, OZ+, EXODUS,… - 객체관계형 : ? 발전 - 초기(’65-’70년대초기) DBMS 형태 : IBM에서 계층형 개발, 망형 - 1980년대 DB 기술 : 관계형 DB가 상용화되어 사용 - 1980년대 후반 이후 : 객체지향형 DBMS 개발에 총력 - 1990s : 전자상거래를 위한 웹에서 자료 교환 - 2000년대 초 : O-R 모델 => 멀티미디어형 DB

< 교재학습 >

 1. 관계 데이터 모델(1) p76 관계 데이터 모델(relational data model)의 탄생 1970년에 IBM의 E. F. Codd에 의해 제안 논문 : “A Relational Model of Data for Large Shared Data Banks” 관계 데이터 모델의 특성 수학에서의 릴레이션(relation)과 집합(set) 이론에 기초 일반 사용자는 테이블(table) 형태로 생각 통상적인 테이블의 개념과는 다름 관계 데이터 모델의 직관적인 이해에 도움 테이블의 열(column) = 필드(field) 혹은 아이템(item) ≒ 관계 데이터 모델의 애트리뷰트(attribute) 테이블의 행(row) = 레코드(record) ≒ 관계 데이터 모델의 투플(tuple)

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

 관계 데이터 모델의 구성요소 (4) 테이블(table) ≒ 릴레이션(relation) (2) 도메인(domain) - 애트리뷰트가 취할 수 있는 값(value)들의 집합 ① 단순 도메인 (simple domain) → 단순 애트리뷰트 : 원자 값 ② 복합 도메인 (composite domain) → 복합 애트리뷰트 : 복합 값 연, 월, 일 ⇒ 날짜:<연,월,일> (1) 애트리뷰트(attribute) - 도메인의 역할(role) 이름 - 한 릴레이션 내에서 애트리뷰트 이름들은 모두 달라야 함 (3) 엔티티(entity) ≒ 레코드(record) (5) 관계(relationship) ☞ Tip 애트리뷰트 이름과 도메인 이름은 같을 수도 있음 역할 이름을 도메인 이름으로 지정

 2. 릴레이션의 개념 p78 [그림 4.2] 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));

▶ STUDENT 릴레이션 예 [그림4.4] p80 학번 (Sno) 이름 (Sname) 학년 (Year) 학과 (Dept) 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 운전

▶ 릴레이션 스키마(relation schema) p79 릴레이션 내포 (relation intension) 또는 릴레이션 스킴 (relation scheme)이라고도 함 릴레이션 이름 + 애트리뷰트 이름 R(A1, A2, ... , An), Ai ⇔ Di  R({A1, A2, ... , An}) 정적 성질(static property) 시간에 무관 시간에 따라 변경되지 않음 릴레이션 타입과 같은 의미

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

▶ 릴레이션(Relation) R p81 ⅰ. 수학적 정의 [그림 4.5] ⅱ. 개념적 정의 릴레이션 R : 카티션 프로덕트(Cartesian product)의 부분집합 R ⊆ D1 × D2 × ... × Dn , 단 Di : i번째 도메인 즉 n-투플, <d1, d2, ... , dn>의 집합 di ∈ Di, i = 1,2, ... ,n n : R의 차수(degree :1차, 2차, 3차, ... , n차) 투플의 수 : 카디널리티(cardinality) [그림 4.5] ⅱ. 개념적 정의 릴레이션 스키마 + 릴레이션 인스턴스 100 200 C412 C123 C312 <100,C412> <100,C123> <100,C312> <200,C412> <200,C123> <200,C312> 학번 (Sno) 과목번호 (Cno) 학번 ⅹ과목번호 (Sno ⅹ Cno)

 릴레이션의 특성 (1) p82 1). 투플의 유일성(uniqueness of tuples) 릴레이션 = 투플들의 "집합(set)" 2). 투플의 무순서성 (no ordering of tuples) 릴레이션 : 추상적 개념  투플들의 집합(set) 테이블 : 구체적 개념 3). 애트리뷰트의 무순서성(no ordering of attributes) 릴레이션 스키마 → 애트리뷰트들의 "집합" 투플 : <attribute: value>쌍의 집합

 릴레이션의 특성 (2) 4). 애트리뷰트의 원자성(atomicity) 애트리뷰트 값은 원자 값(atomic value) 논리적으로 분해 불가능 정규화 릴레이션(normalized relation) 애트리뷰트 값으로 원자 값만 허용되는 릴레이션 비정규화 릴레이션은 분해(decomposition)를 통해 정규화 동등한 의미를 유지 관계 데이터모델 : 기본적으로 정규화 릴레이션만 취급 널 값(null value)도 원자 값으로 취급 널 값(null value) : unknown, inapplicable value 도메인 단순 도메인 복합 도메인 : 값을 하나의 단위로 취급

▶ 릴레이션의 정규화 p84 학번 (Sno) 과목성적 (Cgrade) 과목번호 (Cno) 성적 (Grade) 100 C413 등록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 (b) 정규 릴레이션 (a) 비정규 릴레이션

 관계 데이터베이스 개념 p85 관계 데이터베이스(relational database) 테이블들의 집합 데이터베이스를 시간에 따라 그 내용(상태)이 변할 수 있는 테이블 형태로 표현 관계 데이터베이스 스키마(relational database schema) = {릴레이션 스키마} + {무결성 제약조건} 관계 데이터 모델 ⇔ 프로그래밍 시스템 릴레이션 ⇔ 파일 투플 ⇔ 레코드 (레코드 어커런스) 애트리뷰트 ⇔ 필드(필드 타입) ☞ Tip 관계 데이터베이스라고 할 때 데이터가 물리적 테이블 형태로 저장된다는 것을 의미하지는 않음

 example(1) p86 대학(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)

 example(2) 대학(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)

 5. 데이터베이스 키(key) p87 5.1. 키 제약조건(key Constraints) cf. 무결성제약조건 p90 각 투플을 유일하게 식별할 수 있는 애트리뷰트 집합(set of attributes) (1) 후보 키(candidate key) 릴레이션 R(A1, A2, ..., An)에 대한 애트리뷰트 집합, K({Ai , Aj , ..., Ak})로서 다음 두 성질을 만족 ① 유일성(uniqueness) 각 투플에 대해 K({Ai , Aj , ... , Ak})의 값(< vi , vj , ... , vk >)은 유일 ② 최소성(minimality) K는 각 투플을 유일하게 식별하는데 필요한 애트리뷰트만 포함

 데이터베이스 키 (2) (2) 슈퍼 키(super key) (3) 기본 키(primary key)  데이터베이스 키 (2) (2) 슈퍼 키(super key) 유일성(uniqueness)은 만족하지만 최소성(minimality)은 만족하지 않는 애트리뷰트의 집합 (3) 기본 키(primary key) 후보 키(candidate key) 중에서 지정된 하나의 키 데이터베이스 설계자가 지정 각 투플에 대한 기본 키 값은 항상 유효한 값이어야 함 null 값이 허용되지 않음 (4) 대체 키(alternate key) 후보 키 중에서 기본 키를 제외한 나머지 후보 키

 5.2 외래 키(Foreign key) p88 (5) 외래 키(foreign key) 릴레이션 R의 애트리뷰트 집합 FK가 릴레이션 S의 기본 키일 때 이 FK는 R의 외래키이다. (FK의 도메인) = (S의 기본 키의 도메인) FK의 값은 S에 존재하는 값이거나 null R과 S가 같은 릴레이션일 수도 있음 R을 참조 릴레이션(referencing relation), S를 피참조 릴레이션(referenced relation)이라 함. 릴레이션 R은 FK를 통해 릴레이션 S를 참조

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

 6. 무결성 제약조건(Integrity Constraints) p90 (1) 개체 무결성(entity integrity) 제약조건 기본키 값은 언제 어느 때고 null 값을 가질 수 없다. ☞ Tip : null 값 정보 부재를 명시적으로 표현하는 특수한 데이터 값 ① 알려지지 않은 값(unknown value) ② 해당 없음(inapplicable) (2) 참조 무결성(referential integrity) 제약조건 외래 키 값은 반드시 피참조 릴레이션의 기본 키 값이거나 null이다. 이 무결성 제약조건은 데이터베이스 상태(database state)가 항상 만족시켜야 될 제약조건임

 무결성 제약(Integrity Constraint)(2) 데이터베이스 상태 (database state) p92 어느 한 시점에 데이터베이스에 저장되어 있는 모든 데이터 값 (투플) 데이터베이스 인스턴스(database instance) 데이터베이스 스키마에 포함되어 있는 모든 릴레이션들의 인스턴스 집합 데이터베이스 상태의 계속적인 변화 Why? 삽입, 삭제, 변경 연산 Stable or Unstable State ★ DBMS는 데이터베이스 상태의 변화에도 항상 무결성 제약을 만족시키도록 해야 함.