You are on page 1of 134

Chng 4 C s d liu

Chng 4. C s d liu

Ni dung
Cc khi nim c bn v nh ngha. Cc loi CSDL. H qun tr CSDL. CSDL quan h. S pht trin ca cc h CSDL.

Chng 4. C s d liu

Cc khi nim c bn v nh ngha

C s d liu
database C s d liu l s tp hp c t chc cc d liu c lin quan lun l vi nhau. D liu (data): s biu din ca cc i tng v s kin c ghi nhn v c lu tr trn cc phng tin ca my tnh.

D liu c cu trc: s, ngy, chui k t, D liu khng c cu trc: hnh nh, m thanh, on phim,

C t chc (organized): ngi s dng c th d dng lu tr, thao tc v truy xut d liu.
3

Chng 4. C s d liu

Cc khi nim c bn v nh ngha

C s d liu

C lin quan lun l (logically related): d liu m t mt lnh vc m nhm ngi s dng quan tm v c dng tr li cc cu hi lin quan n lnh vc ny.

Thng tin
information

tin l d liu c x l lm tng s hiu bit ca ngi s dng. D liu trong ng cnh. D liu c tng hp / x l.
Thng
Chng 4. C s d liu

Cc khi nim c bn v nh ngha


D liu 50010273 50100298 59900012 50200542 50000075
Nguyn Trung Tin L Vit Hng Trn Hng Vit H Xun Hng Bi c Duy MT00 MT01 MT99 MT02 MT00 20 19 21 18 20

Thng tin: d liu trong ng cnh M sinh vin H v tn sinh vin 50010273 Nguyn Trung Tin 50100298 L Vit Hng 59900012 Trn Hng Vit 50200542 H Xun Hng 50000075 Bi c Duy
Chng 4. C s d liu

Lp MT00 MT01 MT99 MT02 MT00

Tui 20 19 21 18 20
5

Cc khi nim c bn v nh ngha


Thng tin: d liu c tng hp / x l

MT99 20% MT02 20% MT01 20%

MT00 40%

Chng 4. C s d liu

Cc khi nim c bn v nh ngha

Siu d liu
metadata Siu d liu l d liu dng m t cc tnh cht / c tnh ca d liu khc (d liu v d liu). Cc c tnh: nh ngha d liu, cu trc d liu, qui tc / rng buc.

Chng 4. C s d liu

Cc khi nim c bn v nh ngha


Siu d liu cho Sinh_vin Data Item Name Type Length MaSV Character 8 Hoten Character 30 Lop Character 3 Tuoi Number 2 Value Min Max Description Ma sinh vien Ho ten sinh vien Lop 17 25 Tuoi

Chng 4. C s d liu

H thng x l tp tin

H thng x l tp tin
file processing system H thng x l tp tin l tp hp cc chng trnh dng lu tr, thao tc v truy xut cc tp tin d liu c kch thc ln. Cc tp tin d liu c lu tr trong cc th mc (folder).

Chng 4. C s d liu

H thng x l tp tin

Cc thnh phn ca h thng x l tp tin


Phn cng: cc my tnh. Phn mm:

H iu hnh Cc tin ch Cc tp tin Cc chng trnh qun l tp tin Cc chng trnh ng dng to cc bo co t cc d liu c lu tr trong cc tp tin.

Con ngi: ngi qun l, chuyn gia, ngi lp trnh, ngi s dng cui cng. Cc th tc: cc lnh v cc qui tc chi phi vic thit k v s dng cc thnh phn ca phn mm. D liu: tp hp cc s kin.

Chng 4. C s d liu

10

H thng x l tp tin

Qun l d liu ca h thng tp tin

Ngn ng lp trnh: 3GL (third-Generation Language).


Lm g? Lm nh th no? Cc ngn ng:


COBOL (COmmon Business-Oriented Language) BASIC (Beginners All-purpose Symbolic Instruction Code) FORTRAN (FORmula TRANslation)

Cc chng trnh x l tp tin


To cu trc tp tin. Thm d liu vo tp tin. Xa d liu ca tp tin Sa d liu ca tp tin. Lit k d liu ca tp tin.
11

Chng 4. C s d liu

H thng x l tp tin

Nhc im ca h thng x l tp tin

Ph thuc d liu chng trnh (ProgramData Dependence)

Tt c cc chng trnh ng dng phi duy tr siu d liu (phn m t) ca cc tp tin m chng s dng.

D tha d liu / Trng lp d liu (Data Redundancy / Duplication of Data)

Cc h thng / chng trnh khc nhau c cc bn d liu ring bit ca cng d liu. Mi ng dng c cc tp tin ring bit, t s dng chung d liu vi cc ng dng khc.
12

Hn ch vic dng chung d liu

Chng 4. C s d liu

H thng x l tp tin

Nhc im ca h thng x l tp tin

Thi gian pht trin lu

Ngi lp trnh phi thit k cc dng tp tin d liu ring v vit cch truy xut tp tin cho mi ng dng mi. Cc nhc im nu trn lm cho vic bo tr chng trnh gp nhiu kh khn, thng chim khong 80% ngn sch pht trin HTTT.

Chi ph bo tr chng trnh cao

Chng 4. C s d liu

13

Ph thuc d liu
Mi ngi lp trnh phi duy tr d liu ring bit. Mi chng trnh ng dng phi c m lnh cho siu d liu ca mi tp tin. Mi chng trnh ng dng phi c cc chng trnh con x l c, thm, sa v xa d liu. Khng c cc iu khin chung v phi hp. Cc dng thc tp tin khng c cng chun.

Chng 4. C s d liu

14

D tha d liu
Tn vng nh lu tr d liu d tha. Gy ra cc vn kh v bo tr d liu. Vn chnh:

Vic cp nht d liu ca mt tp tin c th dn n cc mu thun d liu. Vi phm tnh ton vn d liu.

Chng 4. C s d liu

15

D tha d liu
Duplicate Data

Chng 4. C s d liu

16

Cch tip cn c s d liu


Kho d liu trung tm cha cc d liu dng chung. D liu c qun l bi mt n v iu khin (controlling agent). D liu c lu tr theo mt dng thc chun v thch hp. Cn phi c mt h qun tr CSDL.

Chng 4. C s d liu

17

Cch tip cn c s d liu

u im ca cch tip cn CSDL

c lp d liu chng trnh (data program independence).

DBMS cha siu d liu (metadata), do cc ng dng khng cn quan tm n cc dng thc ca d liu. DBMS qun l cc truy vn v cp nht d liu, do ng dng khng cn x l vic truy xut d liu.

Gim ti thiu s d tha d liu (data redundancy). Nng cao tnh nht qun (data consistency) / ton vn d liu (data integrity).

Chng 4. C s d liu

18

Cch tip cn c s d liu

u im ca cch tip cn CSDL

Nng cao vic dng chung d liu (data sharing).

Nhng ngi s dng khc nhau c nhng ci nhn khc nhau v d liu.

Tng hiu sut pht trin ng dng. Tun th cc tiu chun.

Tt c cc truy xut d liu u c thc hin theo cng mt cch.

Nng cao cht lng ca d liu.

Cc rng buc (constraint), cc qui tc hp l ca d liu (data validation rule).


19

Chng 4. C s d liu

Cch tip cn c s d liu

u im ca cch tip cn CSDL

Nng cao tnh truy xut v tnh p ng ca d liu.

S dng ngn ng truy vn d liu chun (SQL - Structured Query Language).

Gim chi ph bo tr chng trnh. Bo mt (security). Chp lu (backup) v phc hi (recovery). iu khin tng tranh (concurrency control).

Chng 4. C s d liu

20

Cch tip cn c s d liu

Chi ph v ri ro ca cch tip cn CSDL

Chi ph ban u

Chi ph ci t v qun l Chi ph chuyn i (conversion cost) Cn nhn vin mi c chuyn mn. Cn phi chp lu v phc hi. Rt kh thay i cc thi quen c.

Chi ph vn hnh

Mu thun v mt t chc

Chng 4. C s d liu

21

Cc loi c s d liu

CSDL c nhn
personal database CSDL ring.

CSDL nhm lm vic


workgroup database Mng cc b (t hn 25 ngi s dng)

CSDL phng ban


department database Mng cc b (t 25 n 100 ngi s dng)

CSDL x nghip
enterprise database Mng din rng (hng trm hoc hng ngn ngi s dng)

Chng 4. C s d liu

22

Cc loi c s d liu

Chng 4. C s d liu

23

H qun tr c s d liu

H qun tr CSDL
DBMS DataBase Management System H qun tr CSDL l tp hp cc chng trnh dng qun l cu trc v d liu ca CSDL v iu khin truy xut d liu trong CSDL. Cho php ngi s dng nh ngha, to lp v bo tr CSDL v cung cp cc truy xut d liu.

Chng 4. C s d liu

24

H qun tr c s d liu

Chng 4. C s d liu

25

H qun tr c s d liu

Cc chc nng ca h qun tr CSDL

Lu tr, truy xut v cp nht d liu

Ngn ng nh ngha d liu (DDL - Data Definition Language) Ngn ng thao tc d liu (DML - Data Manipulation Language).

Qun l giao tc (transaction management). iu khin tng tranh (concurrency control) Chp lu v phc hi d liu. Bo mt d liu

Ngn ng iu khin d liu (DCL - Data Control Language).

H tr truyn thng d liu. Duy tr tnh ton vn / nht qun d liu. Cung cp cc tin ch.

Chng 4. C s d liu

26

H qun tr c s d liu
Ngn ng nh ngha d liu: To cu trc ca bng Customer CREATE TABLE CUSTOMER (CUST_ID NUMBER(11,0) NOT NULL, NAME VARCHAR(25) NOT NULL, ADDRESS VARCHAR(30), CITY VARCHAR(20), CONSTRAINT PK_CUSTOMER PRIMARY KEY (CUST_ID)); Ngn ng thao tc d liu: Lit k m, tn v a ch ca cc khch hng thuc thnh ph HCM SELECT CUST_ID, NAME, ADDRESS FROM CUSTOMER WHERE CITY = HCM; Ngn ng iu khin d liu: Cho php ngi s dng Tien v Truc c php xem v thm d liu vo bng Customer GRANT SELECT, INSERT ON CUSTOMER TO TIEN, TRUC;
Chng 4. C s d liu

27

S pht trin cc h CSDL


H thng tp tin (flat file): 1960 - 1980 H CSDL phn cp (hierarchical): 1970 1990 H CSDL mng (network): 1970 - 1990 H CSDL quan h (relational): 1980 - nay H CSDL hng i tng (objectoriented): 1990 - nay H CSDL i tng - quan h (objectrelational): 1990 - nay Kho d liu (data warehouse): 1980 - nay Web-enabled: 1990 - nay

Chng 4. C s d liu

28

M hnh lin kt thc th

M hnh lin kt thc th (ER)


entity-relationship model M hnh lin kt thc th l cch tip cn chnh m hnh ha d liu nim (conceptual data modeling). M hnh ER l cng c giao tip gia ngi thit k CSDL v ngi s dng cui cng xy dng CSDL trong giai on phn tch. M hnh ER c dng xy dng m hnh d liu nim (conceptual data model) nhm biu din cu trc v cc rng buc ca CSDL.

Chng 4. C s d liu

29

M hnh lin kt thc th

Cc thnh phn ca m hnh lin kt thc th


Thc th v cc thuc tnh. Mi lin kt v cc thuc tnh.

Chng 4. C s d liu

30

M hnh lin kt thc th

S lin kt thc th (ERD - Entity-Relationship Diagram)


Chng 4. C s d liu

31

Relationship symbols

Entity symbols

Attribute symbols

A special entity that is also a relationship

Relationship degrees specify number of entity types involved

Relationship cardinalities specify how many of each entity type is allowed

Chng 4. C s d liu

32

Thc th

Th hin thc th
entity instance Th hin thc th l ngi, v tr, i tng, s kin, khi nim (thng tng ng vi mt hng ca bng). Thc th nn l

i tng c nhiu th hin trong CSDL. i tng c nhiu thuc tnh. i tng cn c m hnh ha. ngi s dng ca h CSDL. kt xut ca h CSDL (v d bn bo co).

Thc th khng nn l

c im ca thc th l tnh phn bit (distinctness): c th phn bit gia thc th ny vi thc th khc.
33

Chng 4. C s d liu

Thc th

Kiu thc th
entity type Kiu thc th l tp hp cc thc th thuc cng mt loi (thng tng ng vi mt bng). c biu din bng hnh ch nht.

Chng 4. C s d liu

34

Thuc tnh

Thuc tnh
attribute Thuc tnh l mt c tnh / tnh cht ca mt kiu thc th (thng tng ng vi mt vng tin trong mt bng). c biu din bng hnh bu dc.

Cc loi thuc tnh


Thuc tnh bt buc v thuc tnh ty chn. Thuc tnh n v thuc tnh phc hp. Thuc tnh n tr v thuc tnh a tr. Thuc tnh cha v thuc tnh dn xut. Thuc tnh kha v thuc tnh khng kha.

Chng 4. C s d liu

35

Thuc tnh

Thuc tnh n v thuc tnh phc hp


Thuc tnh n (simple attribute) l thuc tnh khng b phn r thnh nhiu thuc tnh khc. Thuc tnh phc hp (composite attribute) l thuc tnh b phn r thnh nhiu thuc tnh khc.

Chng 4. C s d liu

36

Thuc tnh

Thuoc tnh n

Thuoc tnh phc hp

Chng 4. C s d liu

37

Thuc tnh

Thuc tnh n tr v thuc tnh a tr


Thuc tnh n tr (single-valued attribute) l thuc tnh ch cha mt gi tr. Thuc tnh a tr (multivalued attribute) l thuc tnh cha nhiu gi tr khc nhau thuc mt min tr, c biu din bng hnh bu dc nt i.

Chng 4. C s d liu

38

Thuc tnh

Thuc tnh cha v thuc tnh dn xut


Thuc tnh cha (stored attribute) l thuc tnh m gi tr ca n khng c suy dn t cc thuc tnh khc. Thuc tnh dn xut (derived attribute) l thuc tnh m gi tr ca n c suy dn t cc thuc tnh khc, c biu din bng hnh bu dc nt t.

Chng 4. C s d liu

39

Thuc tnh

Thuc tnh n tr

Thuc tnh dn xut

Thuc tnh a tr Thuc tnh cha

Chng 4. C s d liu

40

Kha

Kha / thuc tnh xc nh


key / identifier Kha l mt thuc tnh hoc t hp cc thuc tnh dng xc nh duy nht mt th hin ca mt kiu thc th.

Thuc tnh kha v thuc tnh khng kha

Thuc tnh kha l thuc tnh trong kha.

key attribute / prime attribute / identifier attribute Thuc tnh kha c gch di.

Thuc tnh khng kha (non-key attribute) l thuc tnh khng trong kha.

Thuc tnh khng kha cn c gi l thuc tnh m t (descriptor).


41

Chng 4. C s d liu

Kha

Kha n v kha phc hp


Kha n (simple key) l kha ch c mt thuc tnh. Kha phc hp (composite key) l kha c nhiu hn mt thuc tnh.

Kha d tuyn
candidate key Kha d tuyn l kha ca mt kiu thc th. Mt kiu thc th c t nht mt kha d tuyn.

Chng 4. C s d liu

42

Kha

Kha chnh
primary key Kha chnh l mt kha tiu biu trong cc kha d tuyn ca mt kiu thc th. Mt kiu thc th ch c mt kha chnh. Kha chnh dng lin kt gia cc thc th.

Chng 4. C s d liu

43

Kha

Kha n

Thuc tnh khng kha Kha phc hp

Chng 4. C s d liu

44

Mi lin kt

Kiu mi lin kt
relationship type Kiu mi lin kt l s lin kt gia cc kiu thc th. c biu din bng hnh thoi. Mi lin kt c th c nhiu thuc tnh dng m t cc c tnh ca s lin kt gia cc thc th. Hai thc th c th c nhiu kiu mi lin kt gia chng.

Chng 4. C s d liu

45

Mi lin kt

Hai thc th c nhiu mi lin kt

Mi lin kt c thuc tnh


Chng 4. C s d liu

46

Mi lin kt

Bc / ngi ca mi lin kt
degree / arity of relationship Bc ca mi lin kt l s lng kiu thc th tham gia ng thi vo mi lin kt ny.

Cc loi mi lin kt
Mi lin kt 1-ngi (unary relationship) Mi lin kt 2-ngi (binary relationship) Mi lin kt 3-ngi (ternary relationship): 3 kiu thc th ng thi tham gia vo mi lin kt.

Chng 4. C s d liu

47

Mi lin kt

Entities of two different types related to each other One entity related to another of the same entity type Entities of three different types related to each other

Chng 4. C s d liu

48

Mi lin kt

Mi lin kt 1-ngi
Chng 4. C s d liu

49

Mi lin kt

Mi lin kt 2-ngi
Chng 4. C s d liu

50

Mi lin kt

Mi lin kt 3-ngi
Chng 4. C s d liu

51

Mi lin kt

Lng s ca mi lin kt
cardinality of relationship Lng s ca mi lin kt l s lng th hin thc th tham gia vo mi lin kt ny.

Cc loi lng s
mt - mt (one-to-one): mt thc th a lin kt vi mt thc th b; mt thc th b lin kt vi mt thc th a. mt - nhiu (one-to-many): mt thc th a lin kt vi nhiu thc th b; mt thc th b lin kt vi mt thc th a. nhiu - nhiu (many-to-many): mt thc th a lin kt vi nhiu thc th b; mt thc th b lin kt vi nhiu thc th a.

Chng 4. C s d liu

52

Mi lin kt

Rng buc lng s


cardinality constraint Rng buc lng s l s lng th hin ca thc th ny c th hoc phi lin kt vi mt th hin ca thc th khc. Lng s nh nht

Nu 0 l ty chn (optional). Nu mt hoc nhiu l bt buc (mandatory). S lng ln nht.

Lng s ln nht

Chng 4. C s d liu

53

Mi lin kt

Chng 4. C s d liu

54

Mi lin kt

Mi lin kt 1-ngi mt-mt c lng s ty chn

Mi lin kt 2-ngi mt-nhiu c lng s bt buc


Chng 4. C s d liu

55

Mi lin kt

Lng s ln nht

Mi lin kt c lng s ti a xc nh

Chng 4. C s d liu

56

Quan h

Quan h (relation) l mt bng d liu hai chiu bao gm nhiu hng (mu tin) v nhiu ct (thuc tnh hoc vng tin).
Mi hng l duy nht: khng th c hai hng c cng cc gi tr tt c vng tin. Th t ca cc hng l khng quan trng. Th t ca cc ct l khng quan trng. Khng phi mi bng u l quan h. Quan h l mt bng khng cha cc hng ging ht nhau.

Chng 4. C s d liu

57

Quan h

Quan h: Supplier Snum S1 S2 S3 Name Nguyn Trung Tin Trn Th Yn Nguyn Vn An City SF LA SF

Chng 4. C s d liu

58

Quan h

Kha
key Kha quan h l mt tp nh nht cc thuc tnh dng xc nh duy nht mt hng. Mt kha ch c mt thuc tnh c gi l kha n (simple key). Mt kha c nhiu thuc tnh c gi l kha phc hp (composite key). Kha thng c s dng lm ch mc (index) ca bng d liu lm tng tc x l cu truy vn.

Chng 4. C s d liu

59

Quan h

Kha
Mt quan h phi c t nht mt kha v c th c nhiu kha. Cc thuc tnh thuc mt kha c gi l thuc tnh kha (prime attribute), cc thuc tnh cn li trong lc quan h c gi l cc thuc tnh khng kha (nonprime attribute). Cc thuc tnh kha c gch di. Cc thuc tnh kha khng c c gi tr rng (null value).

Chng 4. C s d liu

60

Quan h

Kha
Tt c cc kha ca mt quan h c gi l kha d tuyn (candidate key). Mt trong cc kha d tuyn c chn lm kha tiu biu, kha ny c gi l kha chnh (primary key). Mt quan h ch c mt kha chnh v c th c nhiu kha d tuyn. Trong mt quan h, mt hoc nhiu thuc tnh c gi l kha ngoi (foreign key) nu chng l kha chnh ca mt quan h khc.

Chng 4. C s d liu

61

C s d liu quan h

C s d liu quan h (relational database) bao gm cc bng (quan h) biu din cc thc th v cc kha chnh / kha ngoi biu din cc mi lin kt.

Chng 4. C s d liu

62

C s d liu quan h

Primary Key Foreign Key (implements 1:N relationship between customer and order) Combined, these are a composite primary key (uniquely identifies the order line)individually they are foreign keys (implement M:N relationship between order and product)

Chng 4. C s d liu

63

C s d liu quan h

C s d liu quan h.
Chng 4. C s d liu

64

S tng ng vi m hnh ER
Mi quan h (bng) tng ng vi mt kiu thc th hoc vi mt kiu mi lin kt nhiu - nhiu. Mi hng tng ng vi mt th hin thc th hoc vi mt th hin mi lin kt nhiu - nhiu. Mi ct tng ng vi mt thuc tnh. T quan h (relation) trong c s d liu quan h khng c cng ngha vi t mi quan h (relationship) trong m hnh ER.

Chng 4. C s d liu

65

Lc c s d liu

Lc c s d liu
database schema Lc c s d liu l mt tp hp cc lc quan h. Trong mt lc c s d liu, cc tn lc quan h l duy nht.
Lc c s d liu: Emp (Empnum, Name, Sal, Tax, Mgrnum, Deptnum) Dept (Deptnum, Name, Area, Mgrnum) Supplier (Snum, Name, City) Supply (Snum, Pnum, Deptnum, Quan)

Chng 4. C s d liu

66

Rng buc ton vn

Rng buc ton vn


integrity constraint Rng buc ton vn l mt qui tc m tt c cc d liu trong CSDL phi tha mn qui tc ny.

Rng buc min tr


domain constraint Cc gi tr cho php ca mt thuc tnh.

Ton vn thc th
entity integrity Thuc tnh kha chnh khng c gi tr rng (null value).

Chng 4. C s d liu

67

Rng buc ton vn

Qui tc hot ng
action assertion Cc qui tc nghip v (business rule).

Chng 4. C s d liu

68

Rng buc ton vn

nh ngha min tr cho cc thuc tnh


Chng 4. C s d liu

69

Rng buc ton vn

Rng buc ton vn tham chiu


referential integrity constraint Rng buc ton vn tham chiu l mt qui tc m tt c cc gi tr ca kha ngoi (nu khc null) trong quan h bn pha nhiu phi c trong cc gi tr ca kha chnh trong quan h bn pha mt.

Chng 4. C s d liu

70

Rng buc ton vn

Rng buc ton vn tham chiu

Qui tc xa cc hng d liu

Hn ch (restrict): khng cho php xa cc hng bn pha cha (parent) nu tn ti cc hng lin quan bn pha ph thuc (dependent). Tng (cascade): t ng xa cc hng bn pha ph thuc tng ng vi cc hng bn pha cha. Gn null (set-to-null): gn null cho kha ngoi ca cc hng bn pha ph thuc tng ng vi cc hng bn pha cha. Khng p dng cho cc thc th yu.

Chng 4. C s d liu

71

Rng buc ton vn

Referential integrity constraints are drawn via arrows from dependent to parent table

V d v rng buc ton vn tham chiu


Chng 4. C s d liu

72

Bin i ERD thnh cc quan h

Qui tc 1: Bin i mt kiu thc th thnh mt quan h.


i vi kiu thc th thng thng (regular entity type): kha ca quan h l kha ca kiu thc th. Thuc tnh ca quan h l thuc tnh ca kiu thc th. Quan h ch cha cc thuc tnh thnh phn ca thuc tnh phc hp. Quan h khng cha cc thuc tnh a tr.

Chng 4. C s d liu

73

Bin i ERD thnh cc quan h

CUSTOMER entity type with simple attributes

CUSTOMER relation

Bin i kiu thc th thng thng


Chng 4. C s d liu

74

Bin i ERD thnh cc quan h


CUSTOMER entity type with composite attribute

CUSTOMER relation with address detail

Bin i thuc tnh phc hp


Chng 4. C s d liu

75

Bin i ERD thnh cc quan h

Qui tc 2: Bin i thuc tnh a tr thnh mt quan h.


Quan h cha kha ca kiu thc th v thuc tnh a tr. Kha ca quan h gm kha ca kiu thc th v thuc tnh a tr.

Chng 4. C s d liu

76

Bin i ERD thnh cc quan h

Multivalued attribute becomes a separate relation with foreign key

1tomany relationship between original entity and new relation

Bin i thuc tnh a tr


Chng 4. C s d liu

77

Bin i ERD thnh cc quan h

Qui tc 3: Biu din mi lin kt 1-ngi hoc 2-ngi c lng s mt-mt.

t kha ca kiu thc th bn pha bt buc v cc thuc tnh ca mi lin kt vo quan h ca kiu thc th bn pha ty chn.

Chng 4. C s d liu

78

Bin i ERD thnh cc quan h

EMPLOYEE entity with Manages relationship

EMPLOYEE relation with recursive foreign key

Bin i mi lin kt mt ngi c lng s mt - mt


Chng 4. C s d liu

79

Bin i ERD thnh cc quan h

Bin i mi lin kt hai ngi c lng s mt - mt


Chng 4. C s d liu

80

Bin i ERD thnh cc quan h

Qui tc 4: Biu din mi lin kt 1-ngi hoc 2-ngi c lng s mt-nhiu.

t kha ca kiu thc th bn pha mt v cc thuc tnh ca mi lin kt vo quan h ca kiu thc th bn pha nhiu.

Chng 4. C s d liu

81

Bin i ERD thnh cc quan h

EMPLOYEE entity with Manages relationship

EMPLOYEE relation with recursive foreign key

Bin i mi lin kt mt ngi c lng s mt - nhiu


Chng 4. C s d liu

82

Bin i ERD thnh cc quan h

Note the mandatory one

Again, no null value in the foreign keythis is because of the mandatory minimum cardinality

Bin i mi lin kt hai ngi c lng s mt - nhiu


Chng 4. C s d liu

83

Bin i ERD thnh cc quan h

Qui tc 5: Bin i mi lin kt 1-ngi hoc 2-ngi c lng s nhiu-nhiu thnh mt quan h.
Quan h cha cc kha ca cc kiu thc th tham gia vo mi lin kt. Kha ca quan h gm c hai kha ca hai kiu thc th. Thuc tnh ca quan h l thuc tnh ca mi lin kt.

Chng 4. C s d liu

84

Bin i ERD thnh cc quan h

Bill-of-materials relationships (M:N)

ITEM and COMPONENT relations

Bin i mi lin kt mt ngi c lng s nhiu - nhiu


Chng 4. C s d liu

85

Bin i ERD thnh cc quan h

Composite primary key

The Supplies relationship will need to become a separate relation New intersection relation

Foreign key Foreign key

Bin i mi lin kt hai ngi c lng s nhiu - nhiu


Chng 4. C s d liu

86

Bin i ERD thnh cc quan h

Qui tc 6: Bin i mi lin kt 3-ngi thnh mt quan h.


Quan h cha ba kha ca ba kiu thc th tham gia vo mi lin kt. Mi lin kt c bao nhiu kiu thc th bn pha mt th quan h c by nhiu kha: i vi mt kiu thc th bn pha mt th kha ca quan h gm c hai kha ca hai kiu thc th cn li. Nu khng c kiu thc th bn pha mt th kha ca quan h bao gm c ba kha ca ba kiu thc th. Thuc tnh ca quan h l thuc tnh ca mi lin kt.

Chng 4. C s d liu

87

Bin i ERD thnh cc quan h

Bin i mi lin kt ba ngi


Chng 4. C s d liu

88

Bin i ERD thnh cc quan h

Bin i mi lin kt ba ngi


Chng 4. C s d liu

89

Chun ha d liu

Chun ha d liu
data normalization Chun ha d liu l mt qu trnh thun nghch tng bc thay th tp hp cc quan h cho trc thnh cc quan h c cu trc n gin hn v chun hn. Chun ha d liu nhm ci tin mt thit k CSDL tha mn cc rng buc ton vn v trnh d liu b lp li khng cn thit.

Chng 4. C s d liu

90

Chun ha d liu

Mc ch ca chun ha d liu
Loi b cc bt thng (anomaly) ca mt quan h c c cc quan h c cu trc tt hn, nh hn. Quan h c cu trc tt (well-structured relation)

C s d tha d liu l ti thiu. Cho php ngi s dng thm vo, cp nht v xa b d liu m khng gy ra s mu thun d liu.

Chng 4. C s d liu

91

Ph thuc hm

Ph thuc hm
FD Functional Dependency Cho r l mt quan h, X v Y l hai tp thuc tnh ca r. Chng ta ni X xc nh hm Y hoc Y ph thuc hm vo X, k hiu l X Y v c gi l ph thuc hm nu vi mi gi tr ca X trong r ch tng ng vi mt gi tr ca Y. Kha ca mt quan h xc nh hm cc thuc tnh khng kha ca quan h ny.

Chng 4. C s d liu

92

Ph thuc hm

Ph thuc hm ring phn


partial functional dependency X A c gi l ph thuc hm ring phn nu tn ti Y X cho Y A.

Ph thuc hm y
full functional dependency X A c gi l ph thuc hm y nu khng tn ti Y X cho Y A.

Ph thuc bc cu
transitive dependency X A c gi l ph thuc bc cu nu tn ti Y cho X Y, Y A, Y / X v A XY.

Chng 4. C s d liu

93

Ph thuc hm
R Msv Htn Mlp Tnlp Mnhc im

S1
S1 S1 S2 S2 S3

Tin
Tin Tin Trc Trc Hin

L1
L1 L1 L1 L1 L2

MT01
MT01 MT01 MT01 MT01 MT02

M1
M2 M3 M1 M2 M1

9
7 8 9 8 5

Cc ph thuc hm: Msv {Htn, Mlp} Mlp Tnlp {Msv, Mnhc} im

Kha ca R: {Msv, Mnhc}

{Msv, Mn hc} Htn l ph thuc hm ring phn {Msv, Mnhc} im l ph thuc hm y


Chng 4. C s d liu

94

Dng chun 1

nh ngha
Quan h R dng chun 1 (1NF - First Normal Form) nu mi thuc tnh ca R u cha cc gi tr nguyn t (atomic value), gi tr ny khng l mt danh sch cc gi tr hoc cc gi tr phc hp (composite value).

Cc thuc tnh ca quan h R


Khng l thuc tnh a tr (multivalued attribute). Khng l thuc tnh phc hp (composite attribute).

Chng 4. C s d liu

95

Dng chun 1
R

Msv
S1 S1 S1

Htn
Tin Tin Tin

Mlp
L1 L1 L1

Tnlp
MT01 MT01 MT01

imthi
M1 M2 M3 9 7 8

S2
S2 S3

Trc
Trc Hin

L1
L1 L2

MT01
MT01 MT02

M1
M2 M1

9
8 5

Quan h R khng dng chun 1 v thuc tnh imthi l thuc tnh phc hp.

Chng 4. C s d liu

96

Dng chun 1
R

Msv
S1 S1 S1

Htn
Tin Tin Tin

Mlp
L1 L1 L1

Tnlp
MT01 MT01 MT01

Mnhc
M1 M2 M3

im
9 7 8

S2
S2 S3

Trc
Trc Hin

L1
L1 L2

MT01
MT01 MT02

M1
M2 M1

9
8 5

Quan h R 1NF v cc thuc tnh ca R khng l thuc tnh a tr, khng l thuc tnh phc hp.

Chng 4. C s d liu

97

Dng chun 1

Cc bt thng ca quan h 1NF

Thm vo

Khng th thm thng tin ca sinh vin mi c m l S4, tn l Thnh, thuc lp c m l L1 nu sinh vin ny cha ng k hc mn hc no c. Sa tn ca sinh vin c tn l Tin vi tn mi l Thnh s phi sa tt c cc hng ca sinh vin ny. Xa thng tin sinh vin S3 ng k mn hc M1 s lm mt thng tin ca sinh vin ny. Tn ti thuc tnh khng kha ph thuc hm ring phn vo kha.
98

Cp nht

Xa b

Nguyn nhn

Chng 4. C s d liu

Dng chun 2

nh ngha
Quan h R dng chun 2 (2NF - Second Normal Form) nu R dng chun 1 v mi thuc tnh khng kha u ph thuc hm y vo mi kha ca R.

Chng 4. C s d liu

99

Dng chun 2
R Msv Htn Mlp Tnlp Mnhc im

S1
S1 S1 S2 S2 S3

Tin
Tin Tin Trc Trc Hin

L1
L1 L1 L1 L1 L2

MT01
MT01 MT01 MT01 MT01 MT02

M1
M2 M3 M1 M2 M1

9
7 8 9 8 5

Cc ph thuc hm: Msv {Htn, Mlp} Mlp Tnlp {Msv, Mnhc} im

Kha ca R: {Msv, Mnhc}

Lc quan h R khng 2NF v thuc tnh khng kha Htn ph thuc hm ring phn vo kha {Msv, Mnhc}.
Chng 4. C s d liu

100

Dng chun 2
R1 Msv S1 S2 S3 Htn Tin Trc Hin Mlp L1 L1 L2 Tnlp MT01 MT01 MT02 R2

Msv
S1 S1 S1

Mnhc
M1 M2 M3

im
9 7 8

Kha ca R1: Msv

S2
S2 S3

M1
M2 M1

9
8 5

Kha ca R2: {Msv, Mnhc} Lc quan h R1 v R2 u 2NF v cc thuc tnh khng kha u ph thuc hm y vo kha.
Chng 4. C s d liu

101

Dng chun 2

Cc bt thng ca quan h 2NF

Thm vo

Khng th thm thng tin ca lp L3 c tn l MT03 nu cha c sinh vin no hc lp ny. Sa tn ca lp c m L1 vi tn mi l MT_1 s phi sa tt c cc hng ca lp ny. Xa thng tin ca sinh vin c m S3 s lm mt thng tin ca lp L2. Tn ti thuc tnh khng kha ph thuc bc cu vo kha.
102

Cp nht

Xa b

Nguyn nhn

Chng 4. C s d liu

Dng chun 3

nh ngha
Quan h R dng chun 3 (3NF- Third Normal Form) nu R dng chun 1 v mi thuc tnh khng kha u khng ph thuc bc cu vo mt kha ca R.

Chng 4. C s d liu

103

Dng chun 3

R1 Msv Htn Mlp Tnlp

S1
S2 S3

Tin
Trc Hin

L1
L1 L2

MT01
MT01 MT02

Lc quan h R1 khng 3NF v thuc tnh khng kha Tnlp ph thuc bc cu vo kha Msv. Msv Mlp Mlp Tnlp Mlp / Msv Tnlp {Msv, Mlp}

Chng 4. C s d liu

104

Dng chun 3

R11

R12

Mlp
L1 L2

Tnlp
MT01 MT02

Msv

Htn

Mlp

S1
S2 S3

Tin
Trc Hin

L1
L1 L2

Kha ca R11: Mlp

Kha ca R12: Msv Lc quan h R11 v R12 u 3NF v cc thuc tnh khng kha u khng ph thuc bc cu vo kha.

Chng 4. C s d liu

105

Ngn ng SQL
Ngn ng truy vn c cu trc (SQL Structured Query Language) l mt ngn ng chun c dng to lp v truy vn cc c s d liu quan h. SQL l mt ngn ng chun cho cc h qun tr CSDL quan h (RDBMS Relational DBMS).

Chng 4. C s d liu

106

Cc c im ca ngn ng SQL
Ngn ng SQL l mt ngn ng ta ting Anh (English-like language), s dng cc t nh select, insert, delete trong tp lnh. Ngn ng SQL l mt ngn ng phi th tc (nonprocedural language).

Ch ra cc thng tin g cn thit (what). Khng cn phi ch ra cch thc hin nh th no (how) c c cc thng tin ny.

SQL x l cc tp hp mu tin (bng) hn l mi ln mt mu tin n l.

Chng 4. C s d liu

107

Cc c im ca ngn ng SQL
Nhiu loi ngi c th s dng SQL: ngi qun tr CSDL (DBA), ngi lp trnh ng dng, ngi qun l, ngi s dng cui cng (end user). SQL cung cp nhiu lnh cho nhiu cng vic khc nhau:

Truy vn d liu. Thm vo, cp nht v xa b cc hng ca bng. To lp, thay i v xa b cc i tng CSDL. iu khin truy xut c s d liu v cc i tng CSDL. Bo m tnh nht qun ca CSDL.

Chng 4. C s d liu

108

Mt s kiu d liu (Oracle9i)

Kiu chui
CHAR(n) kiu chui c chiu di c nh gm n k t (chiu di ti a 2000 bytes). VARCHAR2(n) kiu chui c chiu di thay i gm n k t (chiu di ti a 4000 bytes). LONG kiu chui c chiu di thay i, ti a 4GB (ch c mt ct trong mt bng).

Kiu s
NUMBER(p,q) kiu s c p k s v q s l. INTEGER(p) kiu s nguyn c p k s.

Kiu ngy gi

DATE kiu ngy gi c chiu di c nh theo dng dd-mm-yy.


109

Chng 4. C s d liu

Ngn ng SQL

Ngn ng nh ngha d liu


DDL - Data Definition Language Cc lnh dng nh ngha CSDL: to lp (create), thay i (alter) v hy b (drop) cc i tng d liu, thit lp cc rng buc.

Ngn ng thao tc d liu


DML - Data Manipulation Language Cc lnh dng bo tr v truy vn CSDL: thm (insert), sa (update), xa (delete) d liu ca bng, truy vn (select).

Ngn ng iu khin d liu


DCL - Data Control Language Cc lnh dng iu khin CSDL: qun tr cc quyn (grant, revoke).

Chng 4. C s d liu

110

nh ngha mt bng

Cc bc to mt bng
Bc 1. Xc nh kiu d liu ca cc ct. Bc 2. Xc nh cc ct c th hoc khng th c gi tr rng (null value). Bc 3. Xc nh cc ct phi c cc gi tr duy nht (cc kha d tuyn). Bc 4. Xc nh kha chnh kha ngoi. Bc 5. Xc nh cc gi tr mc nhin. Bc 6. Xc nh cc rng buc trn cc ct (m t min tr). Bc 7. To bng v cc ch mc ca bng.

Chng 4. C s d liu

111

nh ngha mt bng

Lnh CREATE TABLE dng to cu trc ca mt bng.

C php ca lnh CREATE TABLE: CREATE TABLE <table name> (<column_definition>, [<table_constraint_definition>]);

Chng 4. C s d liu

112

nh ngha mt bng

nh ngha cc ct v kiu d liu ca cc ct. Non-nullable specification

Primary keys can never have NULL values Xc nh kha chnh.


Chng 4. C s d liu

113

nh ngha mt bng
Non-nullable specifications Primary key

Kha chnh l kha phc hp (nhiu thuc tnh).

Default value

Domain constraint Kim tra cc gi tr ca cc ct.


Chng 4. C s d liu

114

nh ngha mt bng

Primary key of parent table

Foreign key of dependent table

Xc nh cc kha ngoi v thit lp cc mi lin kt


Chng 4. C s d liu

115

Hy b bng

Lnh DROP TABLE dng hy b mt bng.

C php ca lnh DROP TABLE: DROP TABLE <table name> [CASCADE CONSTRAINTS];
Hy b bng Order_Line_T DROP TABLE Order_Line_T;

Chng 4. C s d liu

116

Lnh SELECT

Dng truy vn d liu ca mt bng hoc nhiu bng.

C php ca lnh SELECT: SELECT [DISTINCT] <list of expressions> FROM <list of tables> [WHERE <row conditions>] [GROUP BY <list of expressions> [HAVING <group conditions>]] [ORDER BY <list of expressions>];

Chng 4. C s d liu

117

Lnh SELECT

Cc mnh ca lnh SELECT


SELECT: lit k cc ct (cc biu thc) ca kt qu. FROM: cc bng hoc cc khung nhn cha d liu cn thit cho truy vn. WHERE: iu kin x l cc hng to ra kt qu. GROUP BY: gom nhm cc hng. HAVING: iu kin x l cc nhm. ORDER BY: sp th t kt qu.

Chng 4. C s d liu

118

Lnh SELECT

Th t x l cc mnh ca lnh SELECT.


Chng 4. C s d liu

119

Lnh SELECT
SELECT * FROM Order_T; SELECT Order_ID, Order_Date, Customer_ID FROM Order_T; SELECT DISTINCT Order_Date Date of Order FROM Order_T; SELECT Order_ID AS Identifier, Order_Date Date FROM Order_T;

Chng 4. C s d liu

120

Lnh SELECT
SELECT Product_ID, Standard_Price FROM Product_T WHERE Standard_Price < 275;

SELECT Cust.Customer_Name AS Name, Customer_Address FROM Customer_T Cust WHERE Customer_Name = Home Furnishings;
SELECT Product_ID, Standard_Price FROM Product_ WHERE Standard_Price BETWEEN 100 AND 200; SELECT Customer_Name, City, State FROM Customer_T WHERE State IN (FL, TX, CA, HI);
Chng 4. C s d liu

121

Lnh SELECT
SELECT Product_Description, Product_Finish, Standard_Price FROM Product_T WHERE (Product_Description LIKE %Desk OR Product_Description LIKE _A%) AND Standard_Price > 300; SELECT Product_ID, Product_Finish, Standard_Price FROM Product_T WHERE Product_Description IS NULL; SELECT COUNT(*) FROM Order_Line_T WHERE Order_ID = 1004;
Chng 4. C s d liu

122

Lnh SELECT
SELECT State, COUNT(State) FROM Customer_T WHERE State IN (FL, TX, CA, HI) GROUP BY State HAVING COUNT(State) > 1 ORDER BY State DESC;

Chng 4. C s d liu

123

Lnh INSERT

Thm d liu vo mt bng


C php ca lnh INSERT - Thm mt hng: INSERT INTO <table name> [(<list of columns>)] VALUES (<list of expressions>); C php ca lnh INSERT - Thm nhiu hng: INSERT INTO <table name> [(<list of columns>)] SELECT statement;

Chng 4. C s d liu

124

Lnh INSERT
INSERT INTO Customer_T VALUES (001, Contemporary Casuals, 1355 S. Himes Blvd., Gainesville, FL, 32601); INSERT INTO Product_T (Product_ID, Product_Description, Product_Finish, Standard_Price, Product_On_Hand) VALUES (1, End Table, Cherry, 175, 8); INSERT INTO CA_Customer_T SELECT * FROM Customer_T WHERE State = CA;
Chng 4. C s d liu

125

Lnh DELETE

Xa b cc hng ca mt bng
C php ca lnh DELETE: DELETE [FROM] <table name> [WHERE <row conditions>]; Xa mt s hng ca bng Customer_T DELETE FROM Customer_T WHERE State = HI; Xa tt c cc hng ca bng Customer_T DELETE FROM Customer_T ;

Chng 4. C s d liu

126

Lnh UPDATE

Cp nht d liu ca cc hng ca mt bng


C php ca lnh UPDATE: UPDATE <table name> [<alias>] SET <column1> = {<expression>, <subquery>} [, <column2> = {<expression>, <subquery>} ] [WHERE <row conditions>];
Cp nht mt s hng ca bng Product_T UPDATE Product_T SET Unit_Price = 775 WHERE Product_ID = 7;

Chng 4. C s d liu

127

C s d liu phn tn

nh ngha 1 C s d liu phn tn (distributed database) l s tp hp d liu m v mt lun l chng thuc cng mt h thng nhng c t nhiu ni (site) ca mt mng my tnh.
S phn tn d liu (data distribution): d liu phi c phn tn nhiu ni. S tng quan lun l (logical correlation): d liu ca cc ni c s dng chung cng gii quyt mt vn .

Chng 4. C s d liu

128

C s d liu phn tn

V d
Mt ngn hng c ba chi nhnh cc v tr a l khc nhau. Ti mi chi nhnh c mt my tnh v mt c s d liu ti khon, to thnh mt ni (site) ca c s d liu phn tn. Cc my tnh c kt ni vi nhau thng qua mt mng my tnh truyn thng. Mt khch hng c th gi tin v rt tin ti cc chi nhnh.

Chng 4. C s d liu

129

C s d liu phn tn
C s d liu 1 Terminal T T C s d liu 2 T T T

My tnh 1

My tnh 2

Chi nhnh 1

Mng truyn thng Chi nhnh 3

Chi nhnh 2

T T T

My tnh 3

C s d liu 3

Hnh 1.1. C s d liu phn tn trn mt mng phn tn a l.


Chng 4. C s d liu

130

C s d liu phn tn
Trung tm my tnh
Chi nhnh 1 T T T Chi nhnh 2 T T T

C s d liu 1

C s d liu 2

My tnh 1

My tnh 2

Mng cc b

Chi nhnh 3 T T T

My tnh 3

C s d liu 3

Hnh 1.2. C s d liu phn tn trn mt mng cc b.


Chng 4. C s d liu

131

C s d liu phn tn
Trung tm my tnh
Chi nhnh 1 T T T Chi nhnh 2 T T T

C s d liu 1

C s d liu 2

C s d liu 3

My tnh pha sau 1

My tnh pha sau 2

My tnh pha sau 3

Mng cc b

My tnh ng dng (pha trc)

Chi nhnh 3 T T T

Hnh 1.3. H thng a x l (multiprocessor system).


Chng 4. C s d liu

132

C s d liu phn tn

nh ngha 2 C s d liu phn tn l s tp hp d liu c phn tn trn cc my tnh khc nhau ca mt mng my tnh. Mi ni ca mng my tnh c kh nng x l t tr v c th thc hin cc ng dng cc b. Mi ni cng tham gia thc hin t nht mt ng dng ton cc, m ni ny yu cu truy xut d liu nhiu ni bng cch dng h thng truyn thng con.

Chng 4. C s d liu

133

C s d liu phn tn

nh ngha 2
S phn tn d liu (data distribution): d liu phi c phn tn nhiu ni. ng dng cc b (local application): ng dng c chy hon thnh ti mt ni v ch s dng d liu cc b ca ni ny. ng dng ton cc (hoc ng dng phn tn) (global application / distributed application): ng dng c chy hon thnh v s dng d liu ca t nht hai ni.

Chng 4. C s d liu

134

You might also like