chuong_5_ngon_ngu_z_0274

17

Click here to load reader

Upload: vinh-do-trung

Post on 04-Jul-2015

289 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: chuong_5_ngon_ngu_z_0274

Ch ng V: Đ c t v i ngôn ng Zươ ặ ả ớ ữ Bài gi ng mônả Đ c t Hình th cặ ả ứ

CH NG V: ƯƠ NGÔN NG Đ C T ZỮ Ặ ẢCác n i dung chínhộ c a ch ng:ủ ươ

CH NG V: NGÔN NG Đ C T ZƯƠ Ữ Ặ Ả ................................................................................... 1

V.1 Gi i thi u ớ ệ ....................................................................................................................... 3

V.2 Các thành ph n c a ngôn ngầ ủ ữ ........................................................................................ 3

V.2.1 Logic toán h cọ ........................................................................................................ 3

V.2.1.1 Logic m nh đệ ề .................................................................................................. 3

V.2.1.2 Logic v tị ừ ......................................................................................................... 3

V.2.2 Lý thuy t t p h pế ậ ợ .................................................................................................. 5

V.2.3 Hàm và quan hệ ..................................................................................................... 6

V.2.3.1 Quan h 2 ngôiệ .................................................................................................. 6

V.2.3.2 Mi n xác đ nh và mi n giá trề ị ề ị .......................................................................... 6

V.2.3.3 Hàm ................................................................................................................... 6

V.2.3.4 Hàm riêng ph nầ ................................................................................................. 6

V.2.3.5 Hàm toàn ph nầ .................................................................................................. 6

V.3 Gi n đ (schemas)ả ồ .......................................................................................................... 7

V.3.1 Gi i thi u chungớ ệ .................................................................................................... 7

V.3.2 Đ nh nghĩaị .............................................................................................................. 7

V.3.3 Toán t đ t tênử ặ ....................................................................................................... 8

V.3.4 Gi n đ t ng đ ngả ồ ươ ươ ........................................................................................... 8

V.3.5 M t s ghi chú ộ ố ...................................................................................................... 8

V.3.6 Gi n đ đ c s d ng nh 1 ki u d li uả ồ ượ ử ụ ư ể ữ ệ ......................................................... 9

V.3.7 Gi n đ đ c s d ng trong các khai báoả ồ ượ ử ụ ......................................................... 10

V.3.8 Gi n đ đ c s d ng trong các bi u th c l ng tả ồ ượ ử ụ ể ứ ượ ừ ....................................... 11

V.3.9 Gi n đ đ c s d ng nh 1 v tả ồ ượ ử ụ ư ị ừ .................................................................... 11

V.3.10 D ng chu n c a 1 gi n đạ ẩ ủ ả ồ ............................................................................... 12

V.3.11 Đ t l i tên các thành ph n trong gi n đặ ạ ầ ả ồ ......................................................... 13

V.4 Các phép toán trên gi n đả ồ ........................................................................................... 13

V.4.1 Phép n i li n (Conjunction)ố ề ................................................................................. 13

V.4.2 Phép đ i tên (Decoration)ổ .................................................................................... 14

V.4.3 Phép n i r i (Disjunction)ố ờ ................................................................................... 15

V.4.4 Phép ph đ nh (Negation)ủ ị .................................................................................... 15

Biên so n: Nguy n Tr n Thi Vănạ ễ ầ 1

Page 2: chuong_5_ngon_ngu_z_0274

Ch ng V: Đ c t v i ngôn ng Zươ ặ ả ớ ữ Bài gi ng mônả Đ c t Hình th cặ ả ứ

V.4.5 Phép l ng t hóa ượ ừ ............................................................................................... 16

V.5 Bài t p áp d ngậ ụ ............................................................................................................. 17

Biên so n: Nguy n Tr n Thi Vănạ ễ ầ 2

Page 3: chuong_5_ngon_ngu_z_0274

Ch ng V: Đ c t v i ngôn ng Zươ ặ ả ớ ữ Bài gi ng mônả Đ c t Hình th cặ ả ứ

V.1 Gi i thi u ớ ệKý pháp Z, hay còn đ c g i là ngôn ng Z đ c xây d ng d a trên lý thuy t t pượ ọ ữ ượ ự ự ế ậ h p và logic toán h c. Đây là m t ngôn ng toán h c ch t ch , đ c s d ng chợ ọ ộ ữ ọ ặ ẽ ượ ử ụ ủ y u trong đ c t hình th c đ đ c t các yêu c u ch c năng c a 1 h th ng, đ c bi tế ặ ả ứ ể ặ ả ầ ứ ủ ệ ố ặ ệ là h th ng ph n m m.ệ ố ầ ề

Ngôn ng Z không đ c thi t k đ mô t các yêu c u phi ch c năng c a h th ng,ữ ượ ế ế ể ả ầ ứ ủ ệ ố ví d nh công d ng, hi u năng, kích th c hay đ tin c y c a h th ng. Ngôn ngụ ư ụ ệ ướ ộ ậ ủ ệ ố ữ cũng không đ c thi t k cho các đ c t theo th i gian hay x lý song song. Mu nượ ế ế ặ ả ờ ử ố làm đ c đi u này, ta ph i k t h p Z cùng v i các công c khác n a.ượ ề ả ế ợ ớ ụ ữ

V.2 Các thành ph n c a ngôn ngầ ủ ữ

V.2.1 Logic toán h cọ

V.2.1.1 Logic m nh đệ ề

Các khái ni m v logic m nh đ cũng nh h th ng ký hi u c a logicệ ề ệ ề ư ệ ố ệ ủ m nh đ trong ký pháp Z hoàn toàn gi ng v i ngôn ng toán h c thôngệ ề ố ớ ữ ọ th ng.ườ

Có 5 phép toán m nh đ trong ngôn ng Z đ c li t kê trong b ng d iệ ề ữ ượ ệ ả ướ đây, v i đ u tiên gi m d n t trên xu ng d iớ ộ ư ả ầ ừ ố ướ :

Phép toán Ý nghĩa¬ Ph đ nhủ ị∧ Tuy nể∨ H iộ⇒ Kéo theo⇔ T ng đ ngươ ươ

Ý nghĩa c a m i phép toán đã đ c trình bày trong Ch ng 2 (Các c sủ ỗ ượ ươ ơ ở c a đ c t ). Do v y, ph n này xin đ c phép không nh c l i chi ti t n a.ủ ặ ả ậ ầ ượ ắ ạ ế ữ

V.2.1.2 Logic v tị ừ

Các khái ni m và đ nh nghĩa c a logic v t cũng hoàn toàn gi ng nh trongệ ị ủ ị ừ ố ư toán h c, ngo i tr ký hi u có khác bi t.ọ ạ ừ ệ ệ

a) Cú pháp chung c a 1 v t s d ng l ng t :ủ ị ừ ử ụ ượ ừ

Q x : A | p • q

Trong đó:

Q : l ng t (ượ ừ ∃ ho c ặ ∀).x : bi n ràng bu c.ế ộA : t p các giá tr c a x.ậ ị ủp : ràng bu c trên bi n.ộ ếq : v t .ị ừ

Biên so n: Nguy n Tr n Thi Vănạ ễ ầ 3

Page 4: chuong_5_ngon_ngu_z_0274

Ch ng V: Đ c t v i ngôn ng Zươ ặ ả ớ ữ Bài gi ng mônả Đ c t Hình th cặ ả ứ

∃ x : A | p • q đ c phát bi u nh sau: “T n t i 1 giá tr x thu c v t pượ ể ư ồ ạ ị ộ ề ậ A, sao cho x th a p thì ta có q”.ỏ

∀ x : A | p • q đ c phát bi u nh sau: “V i m i giá tr x thu c v t pượ ể ư ớ ọ ị ộ ề ậ A, sao cho x th a p thì ta có q”.ỏ

Ta có các phát bi u t ng đ ng nh sau:ể ươ ươ ư

qpAxqpAx ∧•∃⇔•∃ :|:

qpAxqpAx ⇒•∀⇔•∀ :|:

Ví d 1ụ : V t “T n t i 1 s t nhiên x l n h n 5” đ c vi t nh sau trongị ừ ồ ạ ố ự ớ ơ ượ ế ư ký pháp Z:

5: >•∃ xNx

Nh v y, ký hi u thu c v 1 t p h p trong Z là d u hai ch m (:), thay vì làư ậ ệ ộ ề ậ ợ ấ ấ d u ấ ∈ nh trong toán h c.ư ọ

Ký hi u “sao cho” s d ng d u g ch đ ng ( | ), và ký hi u “thì” s d ngệ ử ụ ấ ạ ứ ệ ử ụ d u ch m tròn (ấ ấ •).

Ví d 2ụ : T ng t nh th đ i v i l ng t “v i m i” ươ ự ư ế ố ớ ượ ừ ớ ọ ∀. “V i m i yớ ọ thu c v t p s t nhiên, y l n h n hay b ng 0”.ộ ề ậ ố ự ớ ơ ằ

0: ≥•∀ yNy

b) “T n t i ít nh t 2 giá tr th a đi u ki n” ồ ạ ấ ị ỏ ề ệ đ c bi u di n nh sau: ượ ể ễ ư

qpyxAyx •∧≠∃ )(|:,

“T n t i duy nh t 1 giá tr th a đi u ki n” ồ ạ ấ ị ỏ ề ệ đ c bi u di n nh sau: ượ ể ễ ư

qpAx •∃ |:1

Ví d 3ụ : Phát bi u “có duy nh t 1 quy n sách trên bàn” đ c bi u di nể ấ ể ượ ể ễ d i d ng v t nh sau:ướ ạ ị ừ ư

)|:():( bcDeskcBookscDeskbBooksb =•∈∀∧∈•∃

Deskx∈ có nghĩa là quy n sách x n m trên bàn.ể ằ

c) Ký pháp-µ :

Đ xác đ nh đ i t ng duy nh t trong t p h p th a đi u ki n, ngôn ng Zể ị ố ượ ấ ậ ợ ỏ ề ệ ữ dùng 1 ký pháp đ c g i là ượ ọ ký pháp-µ , c th nh sau:ụ ể ư

pAx |:µ

và đ c đ c là: ượ ọ “có duy nh t 1 giá tr x thu c v t p A sao cho p”ấ ị ộ ề ậ .

Khi ta ký hi u: ệ )|:( pAxy µ= t c là y là giá tr duy nh t thu c t p A saoứ ị ấ ộ ậ cho p đúng.

Ví d 4ụ : Ta nói “2 là s duy nh t thu c v t p s t nhiên th a 4+n=6”ố ấ ộ ề ậ ố ự ỏ

)64|:(2 =+= nNnµ

Biên so n: Nguy n Tr n Thi Vănạ ễ ầ 4

Page 5: chuong_5_ngon_ngu_z_0274

Ch ng V: Đ c t v i ngôn ng Zươ ặ ả ớ ữ Bài gi ng mônả Đ c t Hình th cặ ả ứ

V.2.2 Lý thuy t t p h pế ậ ợ

Cũng t ng t nh trong ph n Logic toán h c đã trình bày trên, các kháiươ ự ư ầ ọ ở ni m trong lý thuy t t p h p c a ngôn ng Z hoàn toàn gi ng v i ngôn ngệ ế ậ ợ ủ ữ ố ớ ữ toán h c thông th ng.ọ ườ

1. T p h p đ c bi u di n d i d ng li t kêậ ợ ượ ể ễ ướ ạ ệ :

S == {a, b, c}

2. T p h p đ c bi u di n d i d ng v tậ ợ ượ ể ễ ướ ạ ị ừ :

S == {x :X | p(x)}

3. T p h p r ngậ ợ ỗ :

S == ∅

4. Đ bi u di n phát bi uể ể ễ ể : ‘giá tr x thu c v t p S’, ta dùng ký hi uị ộ ề ậ ệ :

x ∈ S

5. Đ bi u di n phát bi uể ể ễ ể : ‘giá tr x không thu c thu c v t p S’, ta dùngị ộ ộ ề ậ ký hi uệ :

x ∉ S ⇔ ¬(x ∈ S)

6. Các phép toán trên t p h pậ ợ

a. Giao : A ∩ B = {x :U | x∈A ∧ x∈B}

b. H pợ : A ∪ B = {x :U | x∈A ∨ x∈B}

c. Hi uệ : A \ B = {x :U | x∈A ∧ x∉B}

d. T p conậ : BxAxBA ∈⇒∈∀⇔⊂

e. T p ch a trongậ ứ : AxBxBA ∈⇒∈∀⇔⊃

f. T p b ng nhauậ ằ : ABBABA ⊂∧⊂⇔=

g. BABABA =∨⊂⇔⊆

h. BABABA =∨⊇⇔⊇

7. T p t t c các t p con c a 1 t p h p (Power set)ậ ấ ả ậ ủ ậ ợ

Ký hi uệ : P X

Ví dụ : X == {1, 2}

P X = {∅, {1}, {2}, {1, 2}}

8. Tích Decartes c a 2 hay nhi u t p h p.ủ ề ậ ợ

Biên so n: Nguy n Tr n Thi Vănạ ễ ầ 5

Page 6: chuong_5_ngon_ngu_z_0274

Ch ng V: Đ c t v i ngôn ng Zươ ặ ả ớ ữ Bài gi ng mônả Đ c t Hình th cặ ả ứ

V.2.3 Hàm và quan hệ

V.2.3.1 Quan h 2 ngôệ i

N u X, Y là các t p h p, ta ký hi u : Xế ậ ợ ệ ↔Y là t p t t c các quan h 2 ngôiậ ấ ả ệ gi a X và Y.ữ

Ta có: X↔Y == P(X× Y)

M i ph n t c a ỗ ầ ử ủ X↔Y là m t b có th t (x, y) trong đó x đ c l y t t pộ ộ ứ ự ượ ấ ừ ậ X và y đ c l y t t p Yượ ấ ừ ậ

V.2.3.2 Mi n xác đ nh và mi n giá trề ị ề ị

Mi n xác đ nh c a 1 quan h đ c ký hi u là ề ị ủ ệ ượ ệ dom, là t p h p t t c các giáậ ợ ấ ả tr x thu c v t p X sao cho x có nh y thu c Y qua R.ị ộ ề ậ ả ộ

dom R }|;{ xRyxYyXx •∈∈∈= =

hay ta có th bi u di n theo 1 cách khác nh sau:ể ể ễ ư

dom R }:|:{ RyxYyXx ∈•∃= =

Mi n giá tr c a quan h đ c ký hi u là ề ị ủ ệ ượ ệ ran, là t p h p t t c các giá trậ ợ ấ ả ị c a y thu c v t p Y sao cho y là nh c a 1 giá tr x thu c t p X qua R.ủ ộ ề ậ ả ủ ị ộ ậ

ran R }|;{ yRyxYyXx •∈∈∈= =

hay ta có th bi u di n theo 1 cách khác nh sau:ể ể ễ ư

ran R }:|:{ RyxXxYy ∈•∃= =

V.2.3.3 Hàm

Xét quan h R trên 2 t p h p X và Y, n u m i ph n t thu c t p X có nhi uệ ậ ợ ế ỗ ầ ử ộ ậ ề nh t 1 nh y thu c t p Y qua R thì ta nói quan h R là 1 hàm đi t t p X đ nấ ả ộ ậ ệ ừ ậ ế t p Y. Hàm đ c phân chia thành 2 lo i chính: hàm riêng ph n và hàm toànậ ượ ạ ầ ph n.ầ

V.2.3.4 Hàm riêng ph nầ

M t hàm riêng ph n t t p X đ n t p Y là 1 quan h trên t p X và t p Y,ộ ầ ừ ậ ế ậ ệ ậ ậ bi n m i giá tr xế ỗ ị ∈X thành nhi u nh t m tề ấ ộ giá tr yị ∈Y. Ký hi u:ệ

}:,;:|:{ 212121 yyfyxfyxYyyXxYXfYX =⇒∈∧∈•∀↔= =→ →→

V.2.3.5 Hàm toàn ph nầ

}:{ Xdom oYXfYX =•→= =→

Biên so n: Nguy n Tr n Thi Vănạ ễ ầ 6

Page 7: chuong_5_ngon_ngu_z_0274

Ch ng V: Đ c t v i ngôn ng Zươ ặ ả ớ ữ Bài gi ng mônả Đ c t Hình th cặ ả ứ

V.3 Gi n đ (schemas)ả ồ

V.3.1 Gi i thi u chungớ ệ

Trong ngôn ng Z có 2 thành ph n ngôn ng chínhữ ầ ữ : ngôn ng toán và ngônữ ng gi n đ . Ngôn ng toán h c đ c s d ng trong nhi u ph n khác nhauữ ả ồ ữ ọ ượ ử ụ ề ầ c a giai đo n thi t kủ ạ ế ế : đ c t các đ i t ng, đ c t các ràng bu c và m iặ ả ố ượ ặ ả ộ ố quan h gi a chúng, v.v... Trong khi đó, ngôn ng gi n đ đ c dùng đ t oệ ữ ữ ả ồ ượ ể ạ nên các b ng mô t , k t h p, đóng gói các ph n thông tin khác nhau, đ ngả ả ế ợ ầ ồ th i đ t tên cho chúng đ s d ng l i ờ ặ ể ử ụ ạ cho các m c đích khác.ụ

Vi c đ nh nghĩa và đ t tên, cũng nh kh năng tái s d ng 1 thành ph n, 1ệ ị ặ ư ả ử ụ ầ đ i t ng nào đó là h t s c c n thi t cho quá trình đ c t . Nó giúp cho cácố ượ ế ứ ầ ế ặ ả đ c t ng n g n, chính xác, tránh trùng l p và rõ ràng, d hi u.ặ ả ắ ọ ắ ễ ể

V.3.2 Đ nh nghĩaị

Gi n đ (schema) là cú pháp c a Z cho phép ng i đ c t đ nh nghĩa 1 kháiả ồ ủ ườ ặ ả ị ni m, 1 y u t m i g m nhi u thành ph n thông tin khác nhau, có ràng bu cệ ế ố ớ ồ ề ầ ộ v i nhau, gi ng nh khái ni m c u trúc trong các ngôn ng l p trình; đ ngớ ố ư ệ ấ ữ ậ ồ th i đ t tên cho c u trúc này.ờ ặ ấ

M t gi n đ bao g m 2 ph nộ ả ồ ồ ầ : ph n khai báo các bi n và ph n v t di n tầ ế ầ ị ừ ễ ả các ràng bu c trên nh ng bi n này.ộ ữ ế Ta có th bi u di n m t gi n đ theo 1ể ể ễ ộ ả ồ trong 2 d ng sauạ :

Theo chi u ngangề :

[khai báo | ràng bu c]ộ

Theo chi u d cề ọ :

khai báo

ràng bu cộ

Ví dụ :

hay :

Biên so n: Nguy n Tr n Thi Vănạ ễ ầ 7

Page 8: chuong_5_ngon_ngu_z_0274

Ch ng V: Đ c t v i ngôn ng Zươ ặ ả ớ ữ Bài gi ng mônả Đ c t Hình th cặ ả ứ

V.3.3 Toán t đ t tênử ặ

Nh m m c đích đ t tên cho 1 gi n đ , ằ ụ ặ ả ồ ti n cho vi c s d ng l i sau này,ệ ệ ử ụ ạ ngôn ng Z cung c p 1 toán t riêng, đ c ký hi u làữ ấ ử ượ ệ : , đ thu n l i choể ậ ợ vi c so n th o, ký hi u này đ c vi t l i thành ệ ạ ả ệ ượ ế ạ ^=

Tên ^= [khai báo | ràng bu c]ộ

khai báo

ràng bu cộ

Ví dụ :

hay :

V.3.4 Gi n đ t ng đ ngả ồ ươ ươ

Hai gi n đ đ c g i là t ng đ ng nhau n u chúng có cùng các bi n vàả ồ ượ ọ ươ ươ ế ế có cùng ràng bu c gi ng nhau trên các bi n này.ộ ố ế

Ví dụ : 2 gi n đ sau đây là t ng đ ngả ồ ươ ươ :

V.3.5 M t s gộ ố hi chú

Đ gi n đ đ n gi n và d đ c h n, ta có th th c hi n ng t các khaiể ả ồ ơ ả ễ ọ ơ ể ự ệ ắ báo ra thành nhi u dòng khác nhau, m i khai báo trên 1 dòng và gi n l cề ỗ ả ượ

Biên so n: Nguy n Tr n Thi Vănạ ễ ầ 8

Tên

Page 9: chuong_5_ngon_ngu_z_0274

Ch ng V: Đ c t v i ngôn ng Zươ ặ ả ớ ữ Bài gi ng mônả Đ c t Hình th cặ ả ứ

các d u ch m ph y (ấ ấ ẩ ; ) ngăn cách. Khi đó phép n i gi a các dòng nàyố ữ m c nhiên là phép n i li n - ặ ố ề ∧ (conjunction)

Ví dụ : gi n đ trong ví d ph n trênả ồ ụ ở ầ

có th đ c bi u di n l i nh sauể ượ ể ễ ạ ư :

N u 1 gi n đ đ n gi n ch khai báo các bi n mà không nêu ra ràng bu cế ả ồ ơ ả ỉ ế ộ c th trên các bi n này thì ta có th b ph n v t bên d i đi. Ví dụ ể ế ể ỏ ầ ị ừ ướ ụ :

Khi đó, gi n đ s t ng đ ng v i gi n đ sauả ồ ẽ ươ ươ ớ ả ồ :

V.3.6 Gi n đ đ c s d ng nh 1 ki u d li uả ồ ượ ử ụ ư ể ữ ệ

Trong ngôn ng Z, m t ki u d li u có th là 1 t p cho tr c (N, Z, Q,ữ ộ ể ữ ệ ể ậ ướ R, ...), 1 t p Power set, 1 ki u t do ho c là 1 tích Decartes c a nhi u t pậ ể ự ặ ủ ề ậ h p. Ngoài ra, ta có th s d ng gi n đ nh 1 ki u d li u, sau khi đã đ tợ ể ử ụ ả ồ ư ể ữ ệ ặ tên cho gi n đ đó b ng phép toán đ t tên ^=.ả ồ ằ ặ

Ví d ta có gi n đụ ả ồ :

Nh v y khi khai báoư ậ :

s : SchemaOne

t cứ là s là m t bi n, 1 ph n t thu c ki u SchemaOne, s s bao g m 2 thànhộ ế ầ ử ộ ể ẽ ồ ph n: a là 1 s nguyên và c là 1 t p con g m các s nguyên.ầ ố ậ ồ ố

Ví d 2ụ : Ta đ nh nghĩa ki u d li u Date, bao g m 2 thông tin là (tháng,ị ể ữ ệ ồ ngày) nh sauư :

Biên so n: Nguy n Tr n Thi Vănạ ễ ầ 9

Page 10: chuong_5_ngon_ngu_z_0274

Ch ng V: Đ c t v i ngôn ng Zươ ặ ả ớ ữ Bài gi ng mônả Đ c t Hình th cặ ả ứ

Tr c h t, ta có đ nh nghĩa 1 ki u d li u t do đ mô t các tháng, bao g mướ ế ị ể ữ ệ ự ể ả ồ 12 giá tr h ng riêng l nh sauị ằ ẻ ư :

Sau đó ta đ nh nghĩa ki u Dateị ể :

V.3.7 Gi n đ đ c s d ng trong các khai báoả ồ ượ ử ụ

M t gi n đ , sau khi đ c đ nh nghĩa và đ t tên, có th đ c s d ng trongộ ả ồ ượ ị ặ ể ượ ử ụ b t kỳ 1 khai báo nào. K t qu là các bi n có trong gi n đ s có m t trongấ ế ả ế ả ồ ẽ ặ khai báo đó, cùng v i nh ng ràng bu c t ng ng đã quy đ nh trên gi n đ .ớ ữ ộ ươ ứ ị ả ồ

Xét ví d sau, v i gi n đ SchemaTwo, g n gi ng v i SchemaOne nh ng cóụ ớ ả ồ ầ ố ớ ư thêm 1 s ràng bu c, t p c ph i khác r ng, đ ng th i a ph i là 1 ph n t c aố ộ ậ ả ỗ ồ ờ ả ầ ử ủ c.

Khi đó t p h pậ ợ :

s bao g m t t c các t p con c ẽ ồ ấ ả ậ ⊂ Z và c có ch a ph n t s 0. Ta có thứ ầ ử ố ể bi u di n t p h p này theo cách thông th ng, không s d ng gi n đ nhể ễ ậ ợ ườ ử ụ ả ồ ư sau :

ho c cũng có th bi u di n theo 1 cách khác, s d ng 1 đ i t ng thu cặ ể ể ễ ử ụ ố ượ ộ ki u SchemaTwoể :

Ví d 2ụ : Tr l i gi n đ mô t ki u Date trênở ạ ả ồ ả ể ở :

Biên so n: Nguy n Tr n Thi Vănạ ễ ầ 10

Page 11: chuong_5_ngon_ngu_z_0274

Ch ng V: Đ c t v i ngôn ng Zươ ặ ả ớ ữ Bài gi ng mônả Đ c t Hình th cặ ả ứ

N u ta có th đ nh nghĩa t p các tháng có 31 ngày nh sauế ể ị ậ ư :

hay nói 1 cách khác, đó là t pậ :

V.3.8 Gi n đ đ c s d ng trong các bi u th c l ng tả ồ ượ ử ụ ể ứ ượ ừ

Nh đã kh ng đ nh, m t gi n đ có th đ c s d ng nh 1 ki u d li uư ẳ ị ộ ả ồ ể ượ ử ụ ư ể ữ ệ nên nó có th xu t hi n trong các bi u th c l ng t . Ví dể ấ ệ ể ứ ượ ừ ụ :

hay

V t ị ừ

còn có th đ c phát bi u theo 1 cách khác nh sauể ượ ể ư :

V.3.9 Gi n đ đ c s d ng nh 1 v tả ồ ượ ử ụ ư ị ừ

Xét gi n đ SchemaThree nh sauả ồ ư :

Ta có th phát bi uể ể :

đ di n t r ng b t kỳ s nguyên a và t p s c nào th a ràng bu c trongể ễ ả ằ ấ ố ậ ố ỏ ộ SchemaThree thì cũng th a ràng bu c trong SchemaTwo.ỏ ộ

Phát bi u trên t ng đ ng v i phát bi u sauể ươ ươ ớ ể :

Biên so n: Nguy n Tr n Thi Vănạ ễ ầ 11

Page 12: chuong_5_ngon_ngu_z_0274

Ch ng V: Đ c t v i ngôn ng Zươ ặ ả ớ ữ Bài gi ng mônả Đ c t Hình th cặ ả ứ

Nh v y, ta nh n th y toàn b ph n khai báo c a 2 gi n đ đã đ c l cư ậ ậ ấ ộ ầ ủ ả ồ ượ ượ b , ch có ph n ràng bu c là đ c gi l i.ỏ ỉ ầ ộ ượ ữ ạ

V.3.10 D ng chu n c a 1 gi n đạ ẩ ủ ả ồ

Khi đ nh nghĩa 1 gi n đ , ph n khai báo c a gi n đ b n thân nó đã ch aị ả ồ ầ ủ ả ồ ả ứ s n 1 s ràng bu c nh t đ nh. Chính vì v y, khi s d ng gi n đ nh 1 v tẵ ố ộ ấ ị ậ ử ụ ả ồ ư ị ừ thì các ràng bu c này cũng d b "b quên", do ph n khai báo c a gi n đ đãộ ễ ị ỏ ầ ủ ả ồ đ c gi n l c (xem ph n trên).ượ ả ượ ầ

Vì v y, đ tránh gây nh m l n, ta nên chuy n gi n đ v m t d ng m i saoậ ể ầ ẫ ể ả ồ ề ộ ạ ớ cho t t c các ràng bu c đ u n m ph n ràng bu c bên d i. M t gi n đấ ả ộ ề ằ ở ầ ộ ướ ộ ả ồ theo d ng này đ c g i là gi n đ chu n, và thao tác chuy n toàn b ràngạ ượ ọ ả ồ ẩ ể ộ bu c xu ng ph n d i c a gi n đ đ c g i là chu n hóa gi n đ .ộ ố ầ ướ ủ ả ồ ượ ọ ẩ ả ồ

Ví dụ : Xét gi n đ sauả ồ :

Tho t nhìn, ta có th nghĩ gi n đ này t ng đ ng v i gi n đạ ể ả ồ ươ ươ ớ ả ồ SchemaTwo, tuy nhiên, ngay trên b n thân ki u s t nhiên N đã có ràng bu cả ể ố ự ộ r i. Do v y, ta chu n hóa nó l i nh sauồ ậ ẩ ạ ư :

Ví d 2ụ : Xét gi n đ Date trênả ồ ở :

Ta chu n hóa gi n đ này l i nh sauẩ ả ồ ạ ư :

Biên so n: Nguy n Tr n Thi Vănạ ễ ầ 12

Page 13: chuong_5_ngon_ngu_z_0274

Ch ng V: Đ c t v i ngôn ng Zươ ặ ả ớ ữ Bài gi ng mônả Đ c t Hình th cặ ả ứ

V.3.11 Đ t l i tên các thành ph n trong gi n đặ ạ ầ ả ồ

Trong quá trình đ c t , đôi khi c n ph i đ t l i tên các thành ph n trong 1ặ ả ầ ả ặ ạ ầ gi n đ . B ng cách này ta có th t o nên 1 gi n đ m i có cùng k t c u vàả ồ ằ ể ạ ả ồ ớ ế ấ ràng bu c v i gi n đ cũ nh ng có các thành ph n v i tên và ý nghĩa khác đi.ộ ớ ả ồ ư ầ ớ

Cú pháp đ đ i tên 1 gi n để ổ ả ồ :

N u Schema là 1 gi n đ , ta ký hi uế ả ồ ệ :

là gi n đ đ c t o nên b ng cách đ i tên thành ph n tên là old trongả ồ ượ ạ ằ ổ ầ Schema thành new.

Ví dụ : trong gi n đ SchemaTwo, n u thay a b ng q và c b ng s, ta cóả ồ ế ằ ằ :

khi đó, gi n đ k t qu s t ng đ ng v i gi n đả ồ ế ả ẽ ươ ươ ớ ả ồ :

T ng t nh v y, n u mu n đ nh nghĩa ki u d li u StartDate t ki u dươ ự ư ậ ế ố ị ể ữ ệ ừ ể ữ li u Date, ta có th làm nh sauệ ể ư :

Khi đó, gi n đ s t ng đ ngả ồ ẽ ươ ươ :

N u ta đ nh nghĩa thêm gi n đ FinishDateế ị ả ồ :

Khi đó, StartDate và FinishDate đ c xem nh 2 ki u d li u khác nhau, m cượ ư ể ữ ệ ặ dù chúng đ u có 2 thành ph n và có các ràng bu c t ng t nh nhau.ề ầ ộ ươ ự ư

V.4 Các phép toán trên gi n đả ồ

V.4.1 Phép n i li n (Conjunction)ố ề

Cho 2 gi n đ S và T đ c th hi n nh sau, v i P và Q là 2 v t di n tả ồ ượ ể ệ ư ớ ị ừ ễ ả các ràng bu c lên các bi n t ng ng:ộ ế ươ ứ

Biên so n: Nguy n Tr n Thi Vănạ ễ ầ 13

Page 14: chuong_5_ngon_ngu_z_0274

Ch ng V: Đ c t v i ngôn ng Zươ ặ ả ớ ữ Bài gi ng mônả Đ c t Hình th cặ ả ứ

Ta ký hi uệ :

S ∧ T

đ bi u di n phép n i li n c a 2 gi n đ S và T. K t qu s là 1 gi n để ể ễ ố ề ủ ả ồ ế ả ẽ ả ồ m i đ c t o nên b ng cách g p các bi n trong S và T l i, đ ng th i th cớ ượ ạ ằ ộ ế ạ ồ ờ ự hi n phép n i li n trên 2 v t ràng bu c P và Q.ệ ố ề ị ừ ộ

L u ýư : N u trong 2 gi n đ S và T có 1 thành ph n gi ng nhau thì thànhế ả ồ ầ ố ph n này ph i có ki u gi ng nhau c 2 gi n đ . N u không gi n đ S ầ ả ể ố ở ả ả ồ ế ả ồ ∧ T s không xác đ nh.ẽ ị

V.4.2 Phép đ i tên (Decoration)ổ

Gi s ta có gi n đ State mô t 1 tr ng thái c a h th ng, có 2 thành ph nả ử ả ồ ả ạ ủ ệ ố ầ a, b v i ràng bu c là Pớ ộ

M i đ i t ng sỗ ố ượ : State bi u di n 1 tr ng thái h p l c a h th ng. ể ễ ạ ợ ệ ủ ệ ố

Đ bi u di n 1 thao tác lên 1 tr ng thái nào đó, ta c n s d ng 2 tr ng tháiể ể ễ ạ ầ ử ụ ạ : tr ng thái tr c khi th c hi n thao tác và tr ng thái sau khi th c hi n thao tácạ ướ ự ệ ạ ự ệ đó. Đ phân bi t 2 tr ng thái này, ta dùng phép đ t tên đ t o nên 1 gi n để ệ ạ ặ ể ạ ả ồ m i, b ng cách thêm d u nháy (’) vào sau tên gi n đ cũng nh tên t t c cácớ ằ ấ ả ồ ư ấ ả bi n đ c khai báo trong gi n đế ượ ả ồ :

Đ đ c t thao tác, ta có th đ a c 2 tr ng thái State và State’ vào ph n khaiể ặ ả ể ư ả ạ ầ báo c a gi n đ . M t gi n đ thao tác s có d ngủ ả ồ ộ ả ồ ẽ ạ :

Biên so n: Nguy n Tr n Thi Vănạ ễ ầ 14

Page 15: chuong_5_ngon_ngu_z_0274

Ch ng V: Đ c t v i ngôn ng Zươ ặ ả ớ ữ Bài gi ng mônả Đ c t Hình th cặ ả ứ

Ngôn ng Z quy đ nh 1 cách th c bi u di n c 2 gi n đ State và State’, cáchữ ị ứ ể ễ ả ả ồ th c bi u di n đó nh sauứ ể ễ ư :

V.4.3 Phép n i r i (Disjunction)ố ờ

Cho 2 gi n đ S và T đ c th hi n nh sau, v i P và Q là 2 v t di n tả ồ ượ ể ệ ư ớ ị ừ ễ ả các ràng bu c lên các bi n t ng ng:ộ ế ươ ứ

Ta ký hi uệ :

S ∨ T

đ bi u di n phép n i r i c a 2 gi n đ S và T. K t qu s là 1 gi n đ m iể ể ễ ố ờ ủ ả ồ ế ả ẽ ả ồ ớ đ c t o nên b ng cách g p các bi n trong S và T l i, đ ng th i th c hi nượ ạ ằ ộ ế ạ ồ ờ ự ệ phép n i r i trên 2 v t ràng bu c P và Q.ố ờ ị ừ ộ

T ng t nh trên phép n i li n, t t c các thành ph n (các bi n) xu t hi nươ ự ư ố ề ấ ả ầ ế ấ ệ c 2 gi n đ thành ph n ph i có cùng ki u d li u.ở ả ả ồ ầ ả ể ữ ệ T t c các ràng bu cấ ả ộ

n u có xu t hi n ph n khai báo đ u ph i đ c chuy n sang ph n v tế ấ ệ ở ầ ề ả ượ ể ầ ị ừ ràng bu c c a m i gi n đ thành ph n tr c khi th c hi n phép n i r i.ộ ủ ỗ ả ồ ầ ướ ự ệ ố ờ

V.4.4 Phép ph đ nh (Negation)ủ ị

Cho gi n đ S T đ c th hi n nh sau, v i P là v t di n t các ràng bu cả ồ ượ ể ệ ư ớ ị ừ ễ ả ộ lên các bi n t ng ng:ế ươ ứ

Biên so n: Nguy n Tr n Thi Vănạ ễ ầ 15

Page 16: chuong_5_ngon_ngu_z_0274

Ch ng V: Đ c t v i ngôn ng Zươ ặ ả ớ ữ Bài gi ng mônả Đ c t Hình th cặ ả ứ

khi đó gi n đ ph đ nh ả ồ ủ ị ¬S s có d ngẽ ạ :

L u ýư : phép ph đ nh ch áp d ng cho các gi n đ đã đ c chu n hóa (t c làủ ị ỉ ụ ả ồ ượ ẩ ứ t t c các ràng bu c đ u ph i đ c chuy n sang ph n v t ràng bu c bênấ ả ộ ề ả ượ ể ầ ị ừ ộ d i).ướ

Ví dụ : Gi n đ Date bi u di n nh ng ngày tháng h p l , do đó ả ồ ể ễ ữ ợ ệ ¬Date sẽ bi u di n t t c nh ng c p (month, day) nào không ph i là m t ngày thángể ễ ấ ả ữ ặ ả ộ h p l .ợ ệ

V.4.5 Phép l ng t hóa ượ ừ

Ta có th l ng t hóa 1 s thành ph n c a 1 gi n để ượ ừ ố ầ ủ ả ồ đ t o ra 1 gi n để ạ ả ồ m i. N uớ ế Q là 1 l ng t và dec là ph n khai báo, khi đó gi n đ đ cượ ừ ầ ả ồ ượ l ng t hóa s có d ngượ ừ ẽ ạ :

Gi n đ này đ c t o thành b ng cách b đi các thành ph n có trong ph nả ồ ượ ạ ằ ỏ ầ ầ khai báo dec và l ng t hóa chúng b ng l ng t Q trong ph n v t ràngượ ừ ằ ượ ừ ầ ị ừ bu c bên d i.ộ ướ

Ví dụ : cho gi n đ nh sauả ồ ư :

Khi đó, SBb •∀ : là gi n đả ồ :

Biên so n: Nguy n Tr n Thi Vănạ ễ ầ 16

Page 17: chuong_5_ngon_ngu_z_0274

Ch ng V: Đ c t v i ngôn ng Zươ ặ ả ớ ữ Bài gi ng mônả Đ c t Hình th cặ ả ứ

và SBb •∃ : là gi n đả ồ :

V.5 Bài t p áp d ngậ ụ

Biên so n: Nguy n Tr n Thi Vănạ ễ ầ 17