0
Tải bản đầy đủ (.doc) (93 trang)

Ngôn ngữ tân từ:

Một phần của tài liệu NHẬP MÔN CƠ SỞ DỮ LIỆU PHẠM THỊ THANH (Trang 30 -31 )

1. Cơ sở dữ liệu quan hệ

1.4. Ngôn ngữ tân từ:

Đại số quan hệ cung cấp một tập các phép toán (chọn, chiếu, kết nối,hợp..) và ta sử dụng chúng để chỉ ra cho hệ thống biết làm thế nào để từ những quan hệ đang có xây dựng nên những quan hệ ta muốn có. Trong khi đó ngôn ngữ tân từ (các phép tính quan hệ) cung cấp những ký hiệu để phát biểu định nghĩa quan hệ ta muốn có theo các quan hệ đang có. Đây là điểm khác nhau cơ bản giữa đại số quan hệ và phép tính quan hệ, mặc dù chúng đều là ngôn ngữ hình thức của cơ sở dữ liệu quan hệ. Cơ sở toán học của phép tính quan hệ là logic tân từ cấp 1. Hai loại ngôn ngữ tân từ là ngôn ngữ tân từ biến bộ và ngôn ngữ tân từ biến miền. Trong nội dung chương trình chúng ta nghiên cứu ngôn ngữ tân từ biến bộ.

- Các biến bộ: Ngôn ngữ tân từ biến bộ (gọi tắt là phép tính biến bộ) dựa trên sự đặc tả các biến bộ. Miền trị mỗi biến bộ là một quan hệ cụ thể của cơ sở dữ liệu, nói cách khác mỗi biến bộ có thể nhận là một bộ nào đó trong quan hệ này. Một câu hỏi đơn giản trong phép tính biến bộ có dạng

{t | ĐK(t)}

- Với t là biến bộ và ĐK(t) là một biểu thức điều kiện chứa biến t. Kết quả trả ra cho câu hỏi là tập tất cả các bộ làm cho ĐK(t) - điều kiện t được thoả mãn.

Chẳng hạn muốn tìm trong quan hệ NHAN_VIEN ở trên những nhân viên có lương trên 2triệu, ta có thể dùng câu hỏi sau:

{t| NHAN_VIEN (t) and t.luong>2000000}

trong câu hỏi này t.luong là để chỉ thuộc tính lương của biến bộ t. Mỗi bộ trong kết quả được trả ra với tất cả các thuộc tính. Nếu chỉ cần biết một số thuộc tính nào đó của các bộ kết quả, chẳng hạn ho_ten và ma_da có thể dùng câu hỏi dưới đây

{t.ho_ten, t.ma_da |NHAN_VIEN (t) and t.luong>2000000}

Trong một biểu thức của phép tính biến bộ có thể xuất hiện nhiều biến bộ Ví dụ biểu diễn câu hỏi bằng phép tính biến bộ:

Cho CSDL gồm các lược đồ sau:

NHANVIEN (ma_nv, ho_ten, ng_sinh, gioi_tinh, ma_dv, luong) PHONG (ma_dv, ten_phong, ma_tp)

DU_AN(ma_da, ten_da, dd_da, ma_dv) CHAMCONG(ma_nv, ma_da, so_gio)

Câu 1: Tìm tên dự án có mã D4

{t.ten_da | DU_AN(t) and t.ma_da=’D4’}

Câu 2: Cho biết họ tên và lương của những nhân viên thuộc phòng ‘Kinh doanh’ {t.ho_ten, t.luong | ∃u (NHANVIEN(t) and PHONG(u) and

u.ten_phong=’Kinh doanh’ and t.ma_dv=u.ma_dv)}

Câu 3: Với mỗi dự án thực hiện tại Ninh Bình hãy cho biết mã số dự án đồng thời cho biết họ tên trưởng phòng quản lý dự án này

{t.ma_da, u.ho_ten | ∃v (DU_AN(t) and NHANVIEN(u) and PHONG(v) and t.dd_da = ‘Ninh Bình’ and t.ma_dv=v.ma_dv and v.ma_tp=u.ma_nv)} Câu 4: Tìm tên nhân viên, lương thuộc đơn vị có mã PKT1

Câu 5: Cho biết ma_da, ten_da của những dự án do phòng ‘Kinh doanh’ quản lý Câu 6: Cho biết ho_ten, ten_phong của những nhân viên tham gia dự án với số giờ>75

Lưu ý: Khi trả lời các câu hỏi truy vấn dữ liệu chúng ta phải xác định Cần gì? ở đâu? thoả mãn điều kiện gì?

Một phần của tài liệu NHẬP MÔN CƠ SỞ DỮ LIỆU PHẠM THỊ THANH (Trang 30 -31 )

×