<4D F736F F F696E74202D E20B0FCB0E820B5A5C0CCC5CD20B8F0B5A8B0FA20B0FCB0E820B5A5C0CCC5CDBAA3C0CCBDBA20C1A6BEE020C1B6B0C7>

Similar documents
내용 3.1 관계모델의개념 3.2 관계제약조건과관계형데이타베이스스키마 3.3 갱신연산과트랜잭션그리고제약조건의위반처리 3.4 요약 Ch6 Fundamentas of Database Systems 2

<4D F736F F F696E74202D E DB0FCB0E820BBE7BBF3BFA120C0C7C7D120B0FCB0E820B5A5C0CCC5CDBAA3C0CCBDBA20BCB3B0E8>

슬라이드 제목 없음

슬라이드 제목 없음

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770>

PowerPoint Presentation

03-01 데이터모델링과데이터모델의개념 개체-관계모델 논리적데이터모델

Microsoft PowerPoint - QVIZMVUMWURI.pptx

Microsoft PowerPoint - 27.pptx

The Relational Model

금오공대 컴퓨터공학전공 강의자료

Microsoft PowerPoint 관계 DB의 FD와 정규화

슬라이드 제목 없음

금오공대 컴퓨터공학전공 강의자료

untitled

PowerPoint 프레젠테이션

Microsoft PowerPoint 관계 대수 및 관계 해석(Part 1)

슬라이드 제목 없음

Microsoft PowerPoint - 13(FD1) [호환 모드]

슬라이드 제목 없음

PowerPoint Presentation

Microsoft PowerPoint - 사본 - OAS09-사무자동화 기술(DB).ppt

PowerPoint Presentation

Microsoft PowerPoint - 7(ERModeling) [호환 모드]

Chapter 1: 데이터베이스시스템개관

<4D F736F F F696E74202D E20B0FCB0E BCB3B0E820BECBB0EDB8AEC1F2B0FA20C3DFB0A1C0FB20C1A4B1D4C7FC>

<4D F736F F F696E74202D20BFC0B6F3C5AC2D38C0E52DBAE4BFCD20BDC3BDBAC5DB20C4ABC5BBB7CEB1D72DBFC0B6F3C5AC2E BC8A3C8AF20B8F0B

VENUS Express 사용자 매뉴얼

DBMS & SQL Server Installation Database Laboratory

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

Object Oriented Analyis & Design Training Agenda

슬라이드 제목 없음

Database Applications - 멀티미디어 데이터베이스 – 제6장 텍스트 색인과 검색

MySQL-.. 1

Microsoft PowerPoint - 4(SQL-Data Definition,BasicQuery) [호환 모드]

Microsoft PowerPoint SQL-99

강의 개요

Microsoft PowerPoint - ch07_데이터베이스 언어 SQL.pptx

PowerPoint Template

슬라이드 제목 없음

Microsoft PowerPoint - 26.pptx

6장. SQL

<C1A4BAB8C3B3B8AE5FBBEABEF7B1E2BBE75FC7CAB1E25F E687770>

Microsoft PowerPoint Relations.pptx

12. 데이타베이스 설계

< B3E220C1A4BAB8C3B3B8AEBBEABEF7B1E2BBE B3E2B0A320B1E2C3E2B9AEC1A6C0BAC7E02E687770>

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드]

@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a

SQL

Microsoft PowerPoint SQL 추가 기능

2 장. E/R 데이터모델 엔티티-관계성 (Entity-Relationship) 모델의요소설계원칙제약 (constraint) 의모델링약엔티티집합 (weak entity set) 2

Microsoft PowerPoint - Database.ppt

Microsoft PowerPoint - ch07 - 포인터 pm0415

PowerPoint Presentation

PowerPoint 프레젠테이션

Microsoft PowerPoint - 5 [호환 모드]

PowerPoint 프레젠테이션

금오공대 컴퓨터공학전공 강의자료

Microsoft PowerPoint - 10Àå.ppt

- JPA를사용하는경우의스프링설정파일에다음을기술한다. <bean id="entitymanagerfactory" class="org.springframework.orm.jpa.localentitymanagerfactorybean" p:persistenceunitname=

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint Predicates and Quantifiers.ppt

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료

Microsoft PowerPoint - 2장 (DBConcepts) [호환 모드]

SNU =10100 =minusby by1000 ÇÁto0.03exÇÁto0.03exÇÁ=10100 =minusby by1000 ·Îto0.03ex·Îto0.03ex·Î=10100 =minusby by1000

금오공대 컴퓨터공학전공 강의자료

<C0FCB0F8415FC1A4BAB8C4C4C7BBC5CD283236C0CF3230BDC33335BAD0292E687770>

PowerPoint Presentation

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

thesis

chap 5: Trees

C# Programming Guide - Types

PowerPoint Presentation

3 장. 관계데이터모델 관계모델 (relational model) 의기초 E/R 다이어그램에서관계설계로의변환서브클래스구조를릴레이션으로변환함수적종속성 (functional dependency) 함수적종속성에관한규칙들관계데이터베이스스키마설계다중값종속성 (multivalue

PowerPoint Presentation

금오공대 컴퓨터공학전공 강의자료

TITLE

Microsoft PowerPoint 관계 대수 및 관계 해석(Part 2)

Windows 8에서 BioStar 1 설치하기

Microsoft PowerPoint - chap03-변수와데이터형.pptx

Spring Data JPA Many To Many 양방향 관계 예제

歯MW-1000AP_Manual_Kor_HJS.PDF

금오공대 컴퓨터공학전공 강의자료

Intra_DW_Ch4.PDF

PowerPoint 프레젠테이션

Observational Determinism for Concurrent Program Security

Microsoft PowerPoint - e pptx

untitled

6 강남구 청담지구 청담동 46, 삼성동 52 일대 46,592-46,592 7 강남구 대치지구 대치동 922번지 일대 58,440-58,440 8 강남구 개포지구 개포동 157일대 20,070-20,070 9 강남구 개포지구중심 포이동 238 일대 25,070-25,

27집최종10.22

황룡사 복원 기본계획 Ⅵ. 사역 및 주변 정비계획 가. 사역주변 정비구상 문화유적지구 조성 1. 정비방향의 설정 황룡사 복원과 함께 주변 임해전지(안압지) 海殿址(雁鴨池)와 분황사 등의 문화유적과 네트워크로 연계되는 종합적 정비계획안을 수립한다. 주차장과 광장 등 주변

금오공대 컴퓨터공학전공 강의자료

Database Applications - 멀티미디어 데이터베이스 – 제6장 텍스트 색인과 검색

11장 포인터

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp

<4D F736F F F696E74202D20C1A4BAB8C3B3B8AEB1E2BBE72DC7CAB1E2B1B3C0E B3E231C8B8292E707074>

<4D F736F F F696E74202D20C1A4BAB8C3B3B8AEBBEABEF7B1E2BBE72DC7CAB1E2B1B3C0E B3E231C8B8292E707074>

Ç¥Áö

PowerPoint Presentation

Transcription:

데이터베이스 (Database) 과관계데이터베이스제약조건 문양세강원대학교 IT특성화대학컴퓨터과학전공

강의내용. 관계모델의개념 관계모델제약조건과관계형데이터베이스스키마 갱신연산과제약조건의위반처리 Page 2

& 관계데이터베이스 1970 년 IBM 연구소의 Ted Codd 가처음으로소개 대표적관계 DMBS IBM의 DB2 Informix 의 Dynamic Server e Oracle의 Oracle, Rdb Microsoft의 SQL Server, Access Legacy 시스템 새롭게구축되는시스템과구별하여이전부터사용되어온시스템을지칭하는용어 Page 3

관계모델의개념 (1/3) 테이블 릴레이션 행 투플 열 애트리뷰트 Page 4

관계모델의개념 (2/3) 관계모델용어 행 투플 열 애트리뷰트 테이블 릴레이션 관계모델의구성 관계모델에서데이터베이스는릴레이션 ( 테이블 ) 들의모임으로표현됨 릴레이션은투플 ( 행, 레코드 ) 들의집합으로표현됨 투플은애트리뷰트 ( 컬럼, 필드, 혹은속성 ) 들로구성됨 ER 모델과의비교 ( 일반적으로 ER 모델링이후에관계모델로변환 ) 테이블 : 엔티티타입 ( 혹은다치애트리뷰트또는관계타입 ) 행 : 엔티티혹은관계에해당하는사실을표현함 열 : 애트리뷰트들을표시함 Page 5

관계모델의개념 (3/3) Page 6

관계모델의용어 (1/3) 도메인 (domain) ( 애트리뷰트가가질수있는 ) 원자값 (atomic value) 들의집합 도메인의예 USA_phone_numbers: 미국에서사용하는 10 자리전화번호들의집합 Names: 개인의이름들의집합 Employee_ages: 15~80 사이의사원들의나이 각도메인을위해데이터타입또는포맷을명시하기도함 ( 예 : USA_phone_numbers 도메인을위한데이터타입은 (ddd)ddd-dddd로명시 ) 데이터타입 도메인은실제데이터타입으로명시함 데이터타입의예 : string, integer, real 포맷이나범위를명시하는예 : USA_phone_numbers: (ddd) ddd-dddd, 여기서 d 는한자리숫자 Employee_ages: 15 와 80 사이의정수 Page 7

관계모델의용어 (2/3) 릴레이션스키마 (relation schema) 릴레이션이름 R 과애트리뷰트 A i 들의집합으로 R(A 1, A 2,..., A n ) 로표기함 릴레이션의차수 (degree): 릴레이션의애트리뷰트갯수 예 : STUDENT(Name, SSN, BirthDate, Address) 릴레이션의차수 = 4 도메인의표현 : dom(a i ) = integer, dom(name) = Names 릴레이션스키마 R(A 1, A 2,..., A n ) 의투플 t n- 투플 (n 개의애트리뷰트로구성된투플 ) 이라부름 n- 투플 t: 값들의 ( 순서화된 ) 집합 t = <v 1, v 2,..., v n >, 값 v i 는 dom(a i ) 의한원소임 Page 8

관계모델의용어 (3/3) 릴레이션스키마 R 에대한릴레이션혹은릴레이션인스턴스 (relation instance) r 또는 r(r) 투플의집합 ; r = r(r) = {t 1, t 2,..., t m } r(r) 은 R 을정의하는 m 개의도메인들에대한카티션프로덕트의부분집합 r(r) dom(a 1 ) dom(a 2 )... dom(a n ) 최대가능투플수 : dom(a 1 ) dom(a 2 )... dom(a n ) r(r) 은실세계의특정상태를반영 Page 9

실제예를통한관계모델의용어 Page 10

릴레이션의특성들 (1/4) 릴레이션에서투플의순서 릴레이션은투플들의집합으로정의됨 집합에서원소의순서가무의미한것과마찬가지로투플의순서역시의미가없음 Basic Property of Sets (from Discrete Mathematics) Sets are inherently unordered: ( 순서가중요치않다!) No matter what objects a, b, and c denote, {a, b, c} = {a, c, b} = {b, a, c} = {b, c, a} = {c, a, b} = {c, b, a}. All elements are distinct (unequal); multiple listings make no difference! ( 중복은의미가없다!) If a=b, then {a, b, c} = {a, c} = {b, c} = {a, a, b, a, b, c, c, c, c}. This set contains at most two elements! Page 11

릴레이션의특성들 (2/4) 투플의순서상이 동일한릴레이션 Page 12

릴레이션의특성들 (3/4) 투플내에서값들의순서와릴레이션의또다른정의 n- 투플은 n 개값의순서리스트 (ordered list) 이며, 한투플내에서값들의순서는중요함 ( 리스트에서원소의순서는중요한의미를가짐 ) 앞으로이정의를이용 반면에, 각애트리뷰트와값이서로대응될수있다면애트리뷰트값들의순서는중요하 지않을수있음 하나의투플을 (< 애트리뷰트 >, < 값 >) 쌍들의집합으로간주하면애트리뷰트와값은서 로대응될수있으며, 값의순서는중요하지않음 보다일반적인투플의정의 Page 13

릴레이션의특성들 (4/4) 투플내에서의값들과널 투플내의각값은더이상나눌수없는원자값 (atomic value) 들임 ER 모델에서의다치애트리뷰트나복합애트리뷰트는관계모델에서는허용되지않음 다치애트리뷰트나복합애트리뷰트는별도의릴레이션으로표현되어야함 값을알수없거나해당되는값이없을때에는 null 이라는특수값을사용함 릴레이션의해석 ( 의미 ) 릴레이션스키마는일종의선언 (declaration) 또는주장 (assertion) 으로해석할수있음 : STUDENT 스키마는일반적으로학생개체가 Name, SSN, Home-Phone, Address,... 을갖는다고주장 릴레이션내각투플은선언 / 주장에대한사실또는인스턴스로해석할수있음 : 다음투플은이름이 Benjamin Bayer, SSN이 305-61-2435 등등의사실을나타냄 Page 14

관계모델의표기법 (1/2) 차수가 n 인릴레이션스키마 R 은 R(A 1, A 2,..., A n ) 으로표기 릴레이션 r(r) 의 n- 투플 t 는 t = <v 1, v 2,..., v n > 으로표기, 여기서 v i 는애트리뷰트 A i 의값 t[a i ] 와 ta t.a i 는 t 에서애트리뷰트 A i 의값 v i 를나타냄, 투플 t 의구성요소값 (component value) 을 t[a i ] = v i ( 투플 t 에대한애트리뷰트 A i 의값 ) 로표기 t[a u, A v,..., A w ] 는애트리뷰트 A u, A v,..., A w 의값을포함하는부 (sub)- 투플을가리킴 대문자 Q, R, S 등은릴레이션스키마를나타냄 소문자 q, r, s 등은 (Q, R, S 등에대응하는 ) 릴레이션상태를나타냄 소문자 t, u, v 등은투플을나타냄 Page 15

관계모델의표기법 (2/2) 일반적으로, STUDENT 처럼릴레이션스키마의이름은릴레이션의현재투플들 의집합, 즉현재의릴레이션상태를가리키고, 반면에 STUDENT(Name, SSN,...) 는릴레이션스키마를가리킴 서로다른릴레이션에서동일한이름의애트리뷰트를사용할수있으며, 이경우 애트리뷰트이름앞에릴레이션이름을붙여서서로를구분함 STUDENTName STUDENT.Name, Faculty.Name, Employee.Name Page 16

강의내용. 관계모델의개념 관계모델제약조건과관계형데이터베이스스키마 갱신연산과제약조건의위반처리 Page 17

관계모델제약조건 (constraint) 제약조건은모든릴레이션인스턴스들이만족해야하는조건임 스키마기반제약조건 : 데이터모델스키마에서 DDL을통해직접표현가능한조건 (1) 도메인제약조건 (domain constraints) (2) 키제약조건 (key constraints) (3) 널에대한제약조건 (constraints t on nulls) (4) 엔티티무결성제약조건 (entity integrity constraints) (5) 참조무결성제약조건 (referential integrity constraints) Page 18

도메인제약조건 도메인제약조건 -1 각애트리뷰트 A 의값은반드시 A 의도메인 dom(a) 에속하는원자값이어야함 도메인과관련된데이터타입 정수, 실수와같은표준숫자형 문자, 고정길이문자열, 가변길이문자열 날짜, 시간 타임스탬프 화폐단위등 Page 19

키제약조건과널에대한제약조건 (1/3) 키제약조건 -2 릴레이션은투플의집합으로정의되므로, 모든원소는중복되어서는안됨 어떤두투플도릴레이션의모든애트리뷰트에대해같은값들의조합을가질수없음 R 의슈퍼키 (superkey) ey) R 의애트리뷰트집합 SK 로서다음의성질을만족해야함 모든유효한릴레이션인스턴스 r(r) 에서어떠한두투플도동일한 SK 값을갖지않아야함 즉, r(r) 내의임의의서로다른두투플 t1 과 t2 에대해 t1[sk] t2[sk] 이어야함 R 의키 (key) 최소 슈퍼키 즉, 슈퍼키들중에서슈퍼키 K를구성하는어느한애트리뷰트라도빠지면슈퍼키가될수없는슈퍼키 K를의미함 키애트리뷰트의값은릴레이션내각투플을유일하게식별하는데이용할수있음 Page 20

키제약조건과널에대한제약조건 (2/3) 최소슈퍼키 키 슈퍼키 슈퍼키 Page 21

키제약조건과널에대한제약조건 (3/3) 기본키 (primary key) 일반적으로릴레이션은여러키를가질수있는데, 이들을후보키 (candidate key) 라함 릴레이션이여러후보키를가지면이중하나를임의로선택하여기본키로지정함 기본키를구성하는애트리뷰트는밑줄로표시함 ( 기본키에대해서는물리적인덱스등을구성하여, 접근속도를향상시킴 ) 후보키 & 기본키 후보키 널에대한제약조건 -3 애트리뷰트값으로널을허용하지않는경우, 애트리뷰트는널을가질수없음 예 : STUDENT 테이블의 Name 필드는 NOT NULL 로제한함 Page 22

관계데이터베이스와스키마 (1/3) 관계데이터베이스스키마 = S + IC (Schema + Integrity Constraint) 데이터베이스에속하는릴레이션스키마들의집합 S 와무결성제약조건 IC(Integrity Constraint) 의집합으로정의됨 S = {R 1, R 2,..., R n } + IC 데이터베이스스키마 S 의관계데이터베이스상태 ( 혹은인스턴스 ) 릴레이션상태집합 DB 를데이터베이스상태라고정의함 DB = {r 1, r 2,..., r n } 여기서 r i 는 IC 를만족함 서로다른릴레이션에서동일한이름의애트리뷰트를사용할수있으며, 이경우애트리뷰트이름앞에릴레이션이름을붙여서서로를구분함 STUDENTName STUDENT.Name, Faculty.Name, Employee.Name 데이터정의어 관계스키마를정의하기위한언어 : DDL(Data Definition Language) Page 23

관계데이터베이스와스키마 (2/3) Company = {Employee, Department, Dept_locations, Projects, Works_On, Dependent} 관계데이터베이스스키마 릴레이션스키마 Page 24

관계데이터베이스와스키마 (3/3) COMPANY 관계데이터베이스스키마에대응하는관계데이터베이스상태 PK 참조무결성제약조건 FK 릴레이션상태 Page 25

무결성제약조건이뭐야? 관계데이터베이스스키마 = S(Schema) + IC(Integrity Constraint) 라는데, 도대체무결성제약조건이뭐야? 앞서의세가지제약조건 + 엔티티무결성제약조건 + 참조무결성제약조건 Page 26

엔티티무결성과참조무결성제약조건 (1/2) 엔티티무결성제약조건 -4 기본키가각투플들을식별하는데이용되기때문에어떠한기본키값도널값을가질수없다는제약조건임, 기본키 릴레이션의속성을정의할때 not null임을명시 기본키에속하지않는애트리뷰트들도 null 값을가질수없도록제한할수있음 참조무결성제약조건 -5 한릴레이션에있는투플이다른릴레이션에있는투플을참조하려면반드시참조되는 투플이그릴레이션내에존재해야함 하나의릴레이션 R 에서속성 F 의값으로다른릴레이션 S 의기본키 P 값을참조하는경 우에 R 과 S 는참조무결성제약조건을가진다고함 (F 는 null 을가질수있음 ) t 1 [F] = t 2 [P] 이면 R의투플 t 1 이S의투플t 2 를참조 (reference) 한다고하며, F를외래키 (foreign key) 라고부름 R 을참조한 (referencing) 릴레이션, S 를참조된 (referenced) 릴레이션이라고부름 다른제약조건과달리참조무결성은두릴레이션에대한제약조건임 Page 27

엔티티무결성과참조무결성제약조건 (2/2) 외래키는동일한릴레이션의애트리뷰트를참조할수도있음 관계형데이터베이스스키마에서참조무결성제약조건은 R 1.FK에서 R 2.PK로의화살표로표시함 두릴레이션의 JOIN 시이용 Page 28

강의내용. 관계모델의개념 관계모델제약조건과관계형데이터베이스스키마 갱신연산과제약조건의위반처리 Page 29

관계모델의갱신연산 관계모델의연산의종류 추출 (retrieval) Read 갱신 (update) - Write 릴레이션에대한기본갱신연산 삽입 : 새로운투플의삽입 삭제 : 기존투플의삭제 수정 : 기존투플의애트리뷰트값의변경 갱신 ( 삽입, 삭제, 수정 ) 연산을실행하는경우스키마에정의된 ( 무결성 ) 제약조건을위반하지않아야함 Page 30

삽입연산 삽입연산 네가지종류의제약조건을위반할수있음 도메인제약조건 : 삽입되는투플 t 에서애트리뷰트의값이도메인에없는경우 키제약조건 : t 에서기본키의값이다른투플에서이미존재하는경우 엔티티제약조건 :t 에서기본키의값이널인경우 참조무결성제약조건 : t에서외래키의값이참조되는릴레이션의기본키값으로존재하지않는경우 널에대한제약조건 엔티티제약조건에포함된다고볼수있음 제약조건을위반하면그삽입을거부하거나, 그위반사실을사용자에 게알려정정하도록해야함 Page 31

삭제연산 삭제연산 참조제약조건 : 삭제하려는투플을다른투플에서참조하고있는경우 참조제약조건의유지 : 투플이삭제되는경우다른투플에서참조하고있는지검사하여그렇지않는경우에만삭제함 삭제연산이참조무결성제약조건을위반하는경우취할수있는세가지옵션 삭제를거부 삭제되는투플을참조하는투플들까지모두삭제 ( 연쇄삭제 ) 삭제되는투플을참조하는투플에서외래키값을널로바꾸거나다른유효한투플을참조하도록변경 위의세가지옵션중사용자가응용의특성에적합한것을선택하도록하는것이바람직함 Page 32

수정연산 수정연산 수정연산은기본적으로 삭제후삽입 연산으로간주할수있으므로삽입과삭제시의 문제점이모두나타남 기본키나외래키가아닌애트리뷰트값의변경은큰문제가없음 도메인제약조건의위반여부만을확인하면됨 Page 33

요약 관계모델의개념 용어정의 ( 릴레이션, 투플, 애트리뷰트등 ) 관계제약조건과관계형데이타베이스스키마 도메인제약조건, 키제약조건, 엔티티무결성제약조건, 참조무결성제약조건 스키마는릴레이션의집합과 ( 무결성 ) 제약조건집합으로구성됨 갱신연산과제약조건의위반처리 릴레이션에투플을삽입하거나삭제변경할때제약조건을만족하는지검사 Page 34