ch.2 relational data model

18
Ch.2 Relational Data Model E. F. Codd (1969, 1970)

Upload: noel-sweet

Post on 03-Jan-2016

40 views

Category:

Documents


0 download

DESCRIPTION

Ch.2 Relational Data Model. E. F. Codd (1969, 1970). What to Learn. Database System Overview Entity-Relationship diagram Relational Data Model Structure & Constraints SQL language How to use Commercial DBMS ’ s MS Access MS SQL Server Normalization ( 정규화 ) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Ch.2  Relational Data Model

Ch.2 Relational Data ModelE. F. Codd (1969, 1970)

Page 2: Ch.2  Relational Data Model

Ch.2 Relational Model 데이터베이스시스템 2

What to Learn Database System Overview Entity-Relationship diagram Relational Data Model

Structure & Constraints SQL language

How to use Commercial DBMS’s MS Access MS SQL Server

Normalization ( 정규화 ) Transaction & Concurrency ( 동시성 )

Page 3: Ch.2  Relational Data Model

Ch.2 Relational Model 데이터베이스시스템 3

What to Learn Relational Model

Attribute, Domain, Relation Characteristics of a relation

Key Candidate key, primary key, Foreign key

Constraints Domain constraints, Key constraints Entity integrity constraints Referential integrity constrains

Page 4: Ch.2  Relational Data Model

Ch.2 Relational Model 데이터베이스시스템 4

Relational data model Data models are different in

Data representation structure ( 표현구조 ) Constraints ( 제약조건 ) Operators ( 연산자 )

Relational data model Users see the data as the collection of ta-

bles Domain constraint, key constraint,

entity integrity constraint,referential integrity constraint

Relational AlgebraSQL operators (insert, delete, update, se-lect)

Page 5: Ch.2  Relational Data Model

Ch.2 Relational Model 데이터베이스시스템 5

Structure (1)

relation table filetuple row recordattribute column field

NAME ST_NO ADDRESS DEPT GRADE

송치윤 52015 사당동 컴퓨터 3.3

김구완 53116 홍제동 정보통신 3.1

최재석 56034 양재동 정보관리 3.5

조미림 52042 역삼동 컴퓨터 2.9

Student table

Page 6: Ch.2  Relational Data Model

Ch.2 Relational Model 데이터베이스시스템 6

Structure (2) Attribute ( 속성 )

A characteristic of an object with which we describe the object

Atomic vs. composite( 학년 , 학과 ), ( 주소 , 전화번호 ,

주민등록번호 ) Single-valued vs. multi-valued

( 학년 , 주민등록번호 ), ( 취미 , 전화번호 , 부양가족이름 ,

구독신문 ) Null valued

different from zero-length string ( 빈문자열 )

unknown : address, birthdatenot applicable : 군번 , spousename

Page 7: Ch.2  Relational Data Model

Ch.2 Relational Model 데이터베이스시스템 7

Structure (3) Domain

the set of all possible values an attribute can have.

Domain is a type. has a meaning 학생 ( 학번 , 학생이름 , 학과 , 학년 , 지도교수이름 )

학생이름 , 지도교수이름 은 동일한 도메인을

갖는다 . 학번 2010011201, 2015011214

Operators are associated with the type학번 + 학과 (???)판매량 + 단가 (???), 학년 * 나이

(???)판매량 * 단가 = 총매출액

Page 8: Ch.2  Relational Data Model

Ch.2 Relational Model 데이터베이스시스템 8

Structure (4) Relation

The type of relation R is R (A1, A2, . . ., An) and the corresponding domains for the at-tributes are D1, D2, . . ., Dn.

Then the relation state( 상태 ) is a time-vary-ing subset of the cartesian product of all domains.

{a,b,c}X{A,B} = {(aA),(aB),(bA),(bB),(cA),(cB)}학생 ( 학번 , 학생이름 , 학과 , 학년 , 지도교수이름 )

degree ( 차수 ) : the number of attributes cardinality : the number of tuples

Page 9: Ch.2  Relational Data Model

Ch.2 Relational Model 데이터베이스시스템 9

Structure (5)NAME ST_NO ADDRESS DEPT GRADE

송치윤 52015 사당동 컴퓨터 3.3

김구완 53116 홍제동 정보통신 3.1

최재석 56034 양재동 정보관리 3.5

조미림 52042 역삼동 컴퓨터 2.9

relation scheme ( 스키마 ) = relation intension ( 내포 ) = relation type = table heading

relation state ( 상태 , instance) = relation extension ( 외연 )

= relation value = table body

Page 10: Ch.2  Relational Data Model

Ch.2 Relational Model 데이터베이스시스템 10

Structure (6) p.69

Page 11: Ch.2  Relational Data Model

Ch.2 Relational Model 데이터베이스시스템 11

Structure (7) Properties of a relation

There are no duplicate attributes (attribute names are unique within the relation).

Attributes are unordered, left to right. There are no duplicate tuples (every tuple

has a unique value). Tuples are unordered, top to bottom. Every tuple contains exactly one value for

each attribute (atomic , single-valued).

Page 12: Ch.2  Relational Data Model

Ch.2 Relational Model 데이터베이스시스템 12

Constraints (1) Key

a group of attributes identifying a unique tuple in a relation ( 고유식별자 ) Candidate key ( 후보키 ) : unique and irre-

ducible학생 ( 학번 , 이름 , 주민등록번호 , 학과 )composite key ( 복합키 ) : a key with more than one attributes 수강 ( 학번 , 과목번호 , 성적 )

Super key : a super set of a candidate key Primary key ( 기본키 ) :

a chosen candidate key (exactly one)

Page 13: Ch.2  Relational Data Model

Ch.2 Relational Model 데이터베이스시스템 13

Constraints (2) Key

Alternate key ( 대체키 ) : any candidate key which is not chosen as the primary key

Foreign key ( 외래키 , 참조키 ) : a group of attributes whose values are required to match values of some candi-date key of some relation

학생 ( 학번 , 이름 , 주소 , 전공 , 교내친구학번 )

수강 ( 학번 , 과목번호 , 성적 )Employee (EmpNo, EmpName,

DeptNo,ManagerNo)

Page 14: Ch.2  Relational Data Model

Ch.2 Relational Model 데이터베이스시스템 14

Constraints (3) p.83

Page 15: Ch.2  Relational Data Model

Ch.2 Relational Model 데이터베이스시스템 15

Constraints (4) Integrity constraints

a boolean expression that is associated with some database and is required to evaluate at all times to be TRUE. Domain constraint ( 도메인 제약조건 )

inserted value of an attribute must be within the range. 학년 : 1 – 4. 학번 : 2005011xxx

Key constraint ( 키 제약조건 ) There are no duplicate values for a key.

Page 16: Ch.2  Relational Data Model

Ch.2 Relational Model 데이터베이스시스템 16

Constraints (5) Integrity constraints

Entity integrity constraint ( 개체 무결성 제약조건 )any element of a candidate key cannot have null value.수강 ( 학번 , 과목번호 , 성적 )

Referential integrity constraint ( 참조 무결성 제약조건 )The database must not contain any un-matched foreign key values (null value is allowed) 학생 ( 학번 , 이름 , 전공 , 복수전공 , 교내친구학번 )

Page 17: Ch.2  Relational Data Model

Ch.2 Relational Model 데이터베이스시스템 17

Constraints (6) Integrity constraints

Referential action

학생 ( 학번 , 이름 , 전공 , 복수전공 , 교내친구학번 )create table 수강( 학번 varchar(10) references 학생 ( 학번 ) on delete cascade, 과목번호 varchar(5) references 과목 ( 과목번호 ) on update cascade, 성적 integer check ( 성적 >=0 and 성적 <=100 ) primary key ( 학번 , 과목 ) );

ON DELETE {CASCADE | NO ACTION}ON UPDATE {CASCASE | NO ACTION}restricted, nullify, default

Page 18: Ch.2  Relational Data Model

Ch.2 Relational Model 데이터베이스시스템 18

Constraints (7) p.91