chuong_5_ngon_ngu_z_0274
TRANSCRIPT
![Page 1: chuong_5_ngon_ngu_z_0274](https://reader038.vdocuments.pub/reader038/viewer/2022100517/5571fb01497959916993b60c/html5/thumbnails/1.jpg)
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](https://reader038.vdocuments.pub/reader038/viewer/2022100517/5571fb01497959916993b60c/html5/thumbnails/2.jpg)
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](https://reader038.vdocuments.pub/reader038/viewer/2022100517/5571fb01497959916993b60c/html5/thumbnails/3.jpg)
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](https://reader038.vdocuments.pub/reader038/viewer/2022100517/5571fb01497959916993b60c/html5/thumbnails/4.jpg)
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](https://reader038.vdocuments.pub/reader038/viewer/2022100517/5571fb01497959916993b60c/html5/thumbnails/5.jpg)
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](https://reader038.vdocuments.pub/reader038/viewer/2022100517/5571fb01497959916993b60c/html5/thumbnails/6.jpg)
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](https://reader038.vdocuments.pub/reader038/viewer/2022100517/5571fb01497959916993b60c/html5/thumbnails/7.jpg)
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](https://reader038.vdocuments.pub/reader038/viewer/2022100517/5571fb01497959916993b60c/html5/thumbnails/8.jpg)
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à
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](https://reader038.vdocuments.pub/reader038/viewer/2022100517/5571fb01497959916993b60c/html5/thumbnails/9.jpg)
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](https://reader038.vdocuments.pub/reader038/viewer/2022100517/5571fb01497959916993b60c/html5/thumbnails/10.jpg)
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](https://reader038.vdocuments.pub/reader038/viewer/2022100517/5571fb01497959916993b60c/html5/thumbnails/11.jpg)
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](https://reader038.vdocuments.pub/reader038/viewer/2022100517/5571fb01497959916993b60c/html5/thumbnails/12.jpg)
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](https://reader038.vdocuments.pub/reader038/viewer/2022100517/5571fb01497959916993b60c/html5/thumbnails/13.jpg)
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](https://reader038.vdocuments.pub/reader038/viewer/2022100517/5571fb01497959916993b60c/html5/thumbnails/14.jpg)
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](https://reader038.vdocuments.pub/reader038/viewer/2022100517/5571fb01497959916993b60c/html5/thumbnails/15.jpg)
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](https://reader038.vdocuments.pub/reader038/viewer/2022100517/5571fb01497959916993b60c/html5/thumbnails/16.jpg)
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](https://reader038.vdocuments.pub/reader038/viewer/2022100517/5571fb01497959916993b60c/html5/thumbnails/17.jpg)
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