You are on page 1of 28

c t Z (5)

Nguy n Thanh Bnh


Khoa Cng ngh Thng tin Tr ng i h c Bch khoa i h c N ng

Gi i thi u
c xu t b i Jean Ren Abrial Oxford ih c

ngn ng c t hnh th c c s d ng r ng ri nh t d a trn l thuy t t p h p k hi u ton h c s d ng cc s (schema)


d hi u
2

Gi i thi u
G m b n thnh ph n c b n
cc ki u d li u (types)
d a trn khi ni m t p h p

cc s tr ng thi (state schemas)


m t cc bi n v rng bu c trn cc bi n

cc s thao tc (operation schemas)


m t cc thao tc (thay i tr ng thi)

cc ton t s (schema operations)


nh ngha cc s m i t cc s c

Ki u d li u
m i ki u d li u l m t t p h p cc ph n t V d
{true, false} : ki u l-gc N: ki u s t nhin Z: ki u s nguyn R: ki u s th c {red, blue, green}

Ki u d li u
Cc php ton trn t p h p
H i: AB Giao: AB Hi u: AB T p con: AB T p cc t p con: P A
v d : P {a, b} = {{}, {a}, {b}, {a, b}}

Ki u d li u
m t s ki u d li u c b n c nh ngha tr c
ki u s nguyn Z ki u s t nhin N ki u s th c R ...

c th nh ngha cc ki u d li u m i
ANSWER == yes | no [PERSON]
s d ng c p k hi u [ v ] nh ngha ki u c b nm i
6

Ki u d li u
Khai bo ki u
x:T
x l ph n t c a t p T

V d

7

x:R n:N 3:N red : {red, blue, green}

V t
M t v t (predicate) c s d ng nh ngha cc tnh ch t c a bi n/gi tr V d
x>0 R

V t
C th s d ng cc ton t l-gc nh ngha cc v t ph c t p V: AB Ho c: AB Ph nh: A Ko theo: AB V d
(x > y) (y > 0) (x > 10) (x = 1) (x > 0) ) x/x = 1 ( (x S)) (x T)
9

V t
Cc ton t khc
(x : T A)
A ng v i m i x thu c T V d : (x : N x - x =0)

(x : T A)
A ng v i m t s gi tr x thu c T V d : (x : R x + x = 4)

{x : T | A}
bi u di n cc ph n t x c a T th a mn A V d : N = {x : Z | x 0}
10

S tr ng thi
C u trc s tr ng thi g m
tn s khai bo bi n nh ngha v t

11

S tr ng thi
c t Z ch a
cc bi n tr ng thi kh i gn bi n cc thao tc trn cc bi n bi n tr ng thi c th c cc b t bi n
i u ki n m lun ng, bi u di n b i cc v t

12

S thao tc
Kh i gn bi n

Khai bo thao tc trn bi n k hi u bi u di n bi n tr ng thi b thay i b i thao


tc k hi u (d u nhy n) bi u di n gi tr m i c a bi n

13

S thao tc
Thao tc c th c cc tham s vo v ra tn tham s vo k t thc b i k t ? tn tham s ra k t thc b i k t !

14

S thao tc
K hi u m t thao tc khng th thay i bi n tr ng thi

15

V d 1
c t h th ng ghi nh n cc nhn vin vo/ra ta nh lm vi c
Ki u d li u [Staff] l ki u c b n m i c a h th ng Tr ng thi c a h th ng bao g m
t p h p cc ng i s d ng h th ng user t p h p cc nhn vin ang vo in t p h p cc nhn vin ang ra out

b t bi n c a h th ng

16

V d 1
c t thao tc ghi nh n m t nhn vin vo

17

V d 1
c t thao tc ghi nh n m t nhn vin ra

18

V d 1
c t thao tc ki m tra m t nhn vin vo hay ra
Thao tc ny cho k t qu l ph n t c a ki u QueryReply == is_in | is_out c t thao tc

19

V d 1
Kh i t o h th ng

20

10

V d 1
Tm l i
S tr ng thi: cc thnh ph n/ i t ng c a h th ng B t bi n: rng bu c gi a cc i t ng Cc s thao tc
i u ki n trn cc tham s vo Quan h gi a tr ng thi tr c v sau Tham s k t qu

Kh i gn

21

V d 1
Hy c t cc thao tc
Register: thm vo m t nhn vin m i QueryIn: cho bi t nh ng nhn vin ang vo/lm vi c

22

11

Ton t s
Cc s c th c k t h p t o ra cc s m i Cc ton t s
V: Ho c:

23

Ton t s
Cc s c

T o cc s m i

Schema3 == Schema1 Schema2 Schema4 == Schema1 Schema2

24

12

V d 1 (ti p)
C i ti n thao tc StaffQuery
Thao tc StaffQuery cha c t tr ng h p l i
name? users

25

V d 1 (ti p)
C i ti n thao tc StaffQuery
c t l i ki u QueryReply
QueryReply == is_in | is_out | not_registered

Khi
RobustStaffQuery == StaffQuery BadStaffQuery
26

13

V d 1 (ti p)
C i ti n thao tc CheckIn

M r ng thao tc cho tr ng h p ghi nh n thnh cng


27

V d 1 (ti p)
C i ti n thao tc CheckIn
M r ng thao tc cho tr ng h p ghi nh n thnh cng

Khi

GoodCheckIn == CheckIn Success

28

14

V d 1 (ti p)
C i ti n thao tc CheckIn
X l thm hai tr ng h p l i
1. name? c ghi nh n 2. name? cha c ng k

29

V d 1 (ti p)
C i ti n thao tc CheckIn
X l thm hai tr ng h p l i

30

15

V d 1 (ti p)
C i ti n thao tc CheckIn
Khi
CheckInReply == ok | already_in | not_registered

RobustCheckIn ==

GoodCheckIn BadCheckIn1 BadCheckIn2

31

Quan h
C p ph n t di n
(x, y)

c th

c bi u

Tch -cc c a hai ki u T1 v T2


T1 x T2 (x, y) : T1 x T2
32

16

Quan h
Quan h (relation) l t p cc c p ph n t c th t
V d :

33

Quan h
C th k hi u quan h T S == P (T x S) directory : Person Number nh x
c p ph n t c th t (x, y) c th vi t
V d

Lu

k hi u dnh cho ki u k hi u dnh cho gi tr

34

17

Quan h
Domain v Range
t p h p cc thnh ph n th nh t trong m t quan h c g i l domain (mi n)
k hi u: dom v d : dom(directory) = {mary, john, jim, jane}

t p h p cc thnh ph n th hai trong m t quan h c g i l range


k hi u: ran v d : ran(directory) = {287373, 398620, 829483, 493028}
35

Quan h
Php tr mi n (domain subtraction)
k hi u: bi u di n quan h R v i cc ph n t trong mi n S b lo i b Ngha l:

36

18

Quan h
Php tr mi n (domain subtraction)
V d :

Khi :

37

V d 2
c t danh b i n tho i g m tn ng i v s i n tho i
S d ng ki u c b n [Person, Phone] c t tr ng thi h th ng

38

19

V d 2
Kh i t o h th ng

Thm m t s i n tho i

39

V d 2
c th c i ti n ?

Tm s i n tho i c a m t ng i

Tm tn theo s i n tho i

40

20

V d 2
Xa s i n tho i c a m t ng i

41

V d 2
Xa cc m c trong danh b ng v i m t tn

Xa cc m c trong danh b tn

ng v i m t t p cc

42

21

Partial Function
l quan h m m i ph n t trong domain cho m t gi tr duy nh t trong range k hi u

ngha l

43

Partial Function
V d

C th p d ng cc ton t hm

44

22

Partial Function
Ton t qu t i hm (Function Overriding) thay th m t m c vo b i m t m c m i k hi u
v d

lu
45

V d 3
c t h th ng qu n l ngy sinh
s d ng ki u c b n m i [Person, Date] m i ng i ch c m t ngy sinh duy nh t

kh i t o h th ng

46

23

V d 3
Thm m t ng i vo h th ng

47

V d 3
i u g x y ra n u name? dom(bb)

Ch nh s a ngy sinh

Xa m t ng i

48

24

V d 3
Tm ngy sinh c a m t ng i

49

V d 3
Tm ngy sinh c a m t ng i
tr ng h p tm khng th y

50

25

V d 3
Tm ngy sinh c a m t ng i
thng bo khi tm th y

khi

51

V d 3
Tm nh ng ng i cng ngy sinh

52

26

Total Function
nh ngha nh x t t t c gi tr c a domain n range k hi u ngha l

53

Total Function
V d

54

27

Total Function
S d ng nh ngha h ng s

V d

55

Cc k hi u
Ton t l-gc T ph p Quan h v Hm

56

28

You might also like