Bài 6: Ngôn ngữ tân từ

1

Giới thiệu

Ngôn ngữ tân từ là ngôn ngữ truy vấn hình thức do  Codd đề nghị (1972­1973) được Lacroit, Proix và  Ullman phát triển, cài đặt trong một số ngôn ngữ như  QBE, ALPHA.. Đặc điểm:  Ngôn ngữ phi thủ tục  Rút trích cái gì chứ không phải rút trích như thế nào  Khả năng diễn đạt tương đương với đại số quan hệ Có hai loại:  Có biến là n bộ  Có biến là miền giá trị

2

1. Ngôn ngữ tân từ có biến là n bộ

),

), tồn tại ($ )

Câu hỏi có biến là n bộ được biểu diễn như sau:          {s | F s}    hoặc   {s | F(s)}  Trong đó s là biến n bộ, F là một công thức chỉ  có một biến tự do là s. Các phép toán logic: phủ định ((cid:216) ), kéo theo ((cid:222) và ((cid:217) ), hoặc ((cid:218) ). Các lượng từ: với mọi ("

3

Ví dụ: SANPHAM(masp,gia,nuocsx). In ra mã  sản phẩm do ‘TQ’ sản xuất có giá hơn 10.000

 ĐSQH:      SANPHAM:(nuocsx=‘TQ’(cid:217) gia>10000)[masp]

 NNTT_BNB:

 {s.masp | SANPHAM(s) (cid:217)  s.nuocsx=‘TQ’ (cid:217)  s.gia>10000}  {s[masp] | SANPHAM s (cid:217)  s[nuocsx]=‘TQ’ (cid:217)  s[gia]>10000}

4

Công thức an toàn

Một công thức được gọi là an toàn nếu  tất cả các giá trị trong kết quả đều lấy từ  miền giá trị của công thức Ví dụ: {s | ¬(SANPHAM s)}

5

Cho CSDL

NhaCC (Mancc, Tenncc, Khuvuc)

CungCap (Mancc, Masp, Gia)

SanPham (Masp, Tensp, Mau)

6

1. Tìm mã nhà cung cấp cung cấp sản phẩm  màu đỏ hoặc xanh

ĐSQH

:

SanPham

CungCap

R

1

R

(:1

mau

Xanh

'

mau

= '

Do

)'

masp  = '

R

2

(cid:218) ‹

R

3

R

[2

mancc

]

NNTT

_

BNB

:

c )(

SanPham

s )(

(cid:217)

(cid:217)

c mancc .{ c . masp .( s mau

s . mau

)}'

CungCap | = masp s . = ' Xanh '

= Do ' 7

(cid:218) (cid:217)

2. Tìm TenNCC cung cấp sản phẩm cho khu  vực “TpHCM” hoặc cung cấp sản phẩm màu đỏ

ĐSQH

:

R

1

(

NhaCC

CungCap

)

SanPham

R

2

R

(:1

mau

Do

'

khuvuc

TpHCM

)'

mancc  = '

masp  = '

(cid:218) ‹

R

3

R

[2

tenncc

]

NNTT .{ c

_ tenncc

BNB |

n

c

SanPham

s

: NhaCC =

(cid:217) (cid:217)

(cid:217) (cid:217)

mancc n . = .( s mau

'

CungCap = masp c . mancc c . = ' Do n . khuvuc

'

)}'

s . masp TpHCM 8

(cid:218) (cid:217)

3. Tìm TenNCC cung cấp ít nhất 2 sản phẩm  (màu xanh và màu đỏ) ĐSQH

:

masp 

R 1

((

SanPham

CungCap

(:)

mau

Do

'

))[

tenncc

]

= '

masp 

= '

CungCap

(:)

mau

Xanh

'

))[

tenncc

]

R 2 R 3 NNTT

SanPham (( 1 R R 2 BNB _ :

˙ ‹

(cid:217) c .{ tenncc | c )1( s )1(

CungCap = (cid:217) (cid:217) c .1 masp masp s .1 SanPham = ' mau Do ' s .1

(cid:217) (cid:217) SanPham

CungCap c )2( = (cid:217) (cid:217) masp .2 .2 c s masp s )2( = ' s Xanh '

mau .2 = = (cid:217) (cid:217) (cid:217) CungCap c )( c .1 mancc ) c .2 mancc }

c . mancc c . mancc 9

4. Tìm MaNCC cung cấp tất cả các sản phẩm

ĐSQH

:

masp

]

R

1

CungCap mancc [ , SanPham [ masp ]

R R

2 3

R

1

R

2

NNTT

_

BNB

:

‚ ‹

NhaCC

n )(

(

s

SanPham

)

˛ " (cid:217)

n .{ mancc c (

| CungCap

:

=

=

˛ $

c . masp

s . masp

c . mancc

n mancc .

)}

10

(cid:217)

5. Tìm MaNCC cung cấp tất cả các sản phẩm  màu đỏ

ĐSQH

:

CungCap [

mancc

,

]

R 1

masp =

Do

'

(

SanPham

(:

mau

'

))[

masp

]

R R

2 3

R 1

R

2

NNTT

_

BNB

:

‚ ‹

SanPham

( =

˛ " (cid:217)

n .{ mancc c (

| CungCap

NhaCC n )( c masp .

:

s . s masp

s .: mancc c .

= mau Do ' )' = n mancc .

)}

11

(cid:217) ˛ $

2. Ngôn ngữ tân từ có biến là miền giá trị

{(x1,x2,…,xn) | F(x1,x2,…,xn)}

Trong đó: • xi là các biến tự do của F • Q= {(x1,x2,…,xn) | F(x1,x2,…,xn)}

Nếu (x1,x2,…,xn)˛ Q thì

F(x1,x2,…,xn):Đúng

12