Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 61 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
61
Dung lượng
447,5 KB
Nội dung
HỆ CƠ SỞ DỮ LIỆU GV: ThS.Trịnh Thị Ngọc Linh Email: ngoclinhnl@yahoo.com Chương MÔ HÌNH QUAN HỆ 3.1 Mô hình quan hệ 3.2 Các khái niệm mô hình quan hệ 3.3 Tính toàn vẹn quan hệ 3.4 Các ngôn ngữ quan hệ 3.5 Khung nhìn 3.1 Mô hình quan hệ Mô hình sở liệu quan hệ (gọi tắt Mô hình quan hệ) Do E.F Codd đề xuất năm 1971 Mô hình bao gồm: Một hệ thống ký hiệu để mô tả liệu dạng dòng cột quan hệ, bộ, thuộc tính, khóa chính, khóa ngoại, Một tập hợp phép toán thao tác liệu phép toán tập hợp, phép toán quan hệ Ràng buộc toàn vẹn quan hệ 3.2 Các khái niệm mô hình quan hệ 3.2.1 Miền (Domain) 3.2.2 Thuộc tính (Attribute) 3.2.3 Lược đồ quan hệ (Relation scheme) 3.2.4 Quan hệ (Relation) 3.2.5 Bộ giá trị (tuple) 3.2.6 Thể quan hệ (view) 3.2.7 Khóa (key) 3.2.1 Miền (Domain) Một miền D tập hợp giá trị nguyên tố, hiểu theo nghĩa giá trị miền phân chia phạm vi mô hình quan hệ Để đặc tả miền người ta tên miền, kiểu liệu khuôn dạng liệu Ví dụ: Miền Mã sinh viên tập hợp dãy ký tự có độ dài từ đến 8, bắt đầu chữ Miền Họ tên tập dãy chữ có độ dài không 35 3.2.2 Thuộc tính (Attribute) Thuộc tính tính chất riêng biệt đối tượng cần lưu trữ CSDL để phục vụ cho việc khai thác liệu đối tượng Các thuộc tính phân biệt qua tên gọi phải thuộc vào kiểu liệu định (số, chuỗi, ngày tháng, logic, hình ảnh,…) Trong đối tượng hai thuộc tính tên 3.2.2 Thuộc tính (tt) Ví dụ Đối tượng Khoa có thuộc tính Mã khoa, Tên khoa Đối tượng Lớp học có thuộc tính Mã lớp, Tên lớp, Niên khóa, Số học viên… Đối tượng Môn học có thuộc tính Mã môn, Tên môn, Số tín chỉ… Đối tượng Sinh viên có thuộc tính Mã sinh viên, Tên sinh viên, Ngày sinh, Giới tính, Quê quán, Địa chỉ… Đối tượng Giảng viên có thuộc tính Mã giảng viên, Tên giảng viên, Học vị, Chuyên ngành 3.2.2 Thuộc tính (tt) Một số kiểu liệu thường dùng: Text (hoặc Character, String, Char) – kiểu văn Number (hoặc Numeric, float) – kiểu số Logical (hoặc Boolean) – kiểu luận lý Date/Time – kiểu thời gian: ngày tháng năm + phút Memo (hoặc VarChar) – kiểu văn có độ dài thay đổi Ví dụ: Thuộc tính ngày (trong tháng) có kiểu liệu số nguyên, miền giá trị từ đến (tối đa là) 31 Điểm thi có kiểu liệu số nguyên, miền giá trị từ đến 10 3.2.3 Quan hệ (Relation) Một quan hệ tập thuộc tính tập tích Descartes hay nhiều miền Quan hệ gọi thuật ngữ khác bảng (table) Bậc (degree) quan hệ số thuộc tính quan hệ Bản số (cardinality) quan hệ số (tuple) mà chứa đựng 3.2.3 Quan hệ (tt) Ví dụ: MonHoc (MaMon, TenMon, SoĐVHT) quan hệ HocVien (MaHocVien, TenHocVien, NgaySinh, QueQuan, MaLop) quan hệ GiangVien (MaGiangVien, TenGiangVien, CapHocVi, ChuyenNganh) quan hệ Phép tính quan hệ Codd 1970 Biến nguyên thuỷ dùng phép tính quan hệ biến (tuple variable), biểu thị quan hệ Ngôn ngữ SQL Ngôn ngữ truy vấn SQL SQL thuộc loại ngôn ngữ hệ thứ tư (4GL) nghiên cứu nhiều năm trở thành tiêu chuẩn quốc tế kiểm soát liệu SQL kế thừa tính phi thủ tục 4GL: Xử lý đồng thời hàng loạt câu lệnh Người dùng cần nêu yêu cầu liệu mà không cần biết máy tính xử lý bên Người dùng truy xuất nhanh chóng với CSDL lớn, yêu cầu xử lý phức tạp tinh vi mà không cần lập trình Ngôn ngữ truy vấn SQL Các lệnh truy vấn liệu Gồm ba mệnh đề chính: Select: Xác định nội dung cột cần đưa kết From: Xác định bảng cần lấy thông tin Where: Xác định ghi thỏa mãn yêu cầu chọn lọc để đưa kết Bổ sung thêm mệnh đề group by, having, order by Ngôn ngữ truy vấn SQL Các lệnh truy vấn liệu (tt) SELECT [* | DISTINCT] danh_sách_chiếu FROM danh_sách_tên_bảng | tên_các_view [WHERE biểu_thức_điều_kiện] [GROUP BY danh_sách_tên_cột] [HAVING biểu_thức_điều_kiện] [ORDER BY {tên_cột | số_thứ_tự_cột | biểu_thức} [ASC | DESC] ] Ngôn ngữ truy vấn SQL Ví dụ EMP(ENO, ENAME, TITLE) PAY(TITLE, SAL) PROJ(PNO, PNAME) ASG(ENO, PNO, RESP, DUR) Tìm tên tất nhân viên làm việc cho dự án CAD/CAM Select EMP.ENAME From EMP, ASG, PROJ Where (EMP.ENO = ASG.ENO) AND (ASG.PNO = PROJ.PNO) AND (PROJ.PNAME = “CAD/CAM”) Ngôn ngữ truy vấn SQL (tt) Hiệu chỉnh liệu: UPDATE [tên_bảng] SET [tên_cột = biểu_thức,…] [FROM tên_bảng] [WHERE biểu_thức_điều_kiện] Ví dụ: UPDATE PAY SET SAL = 25000 WHERE TITLE = “Programmer” Ngôn ngữ truy vấn SQL (tt) Thêm liệu: INSERT INTO tên_bảng(danh_sách_tên_cột) VALUES(các_giá_trị) Ví dụ: Thêm nhân viên vào EMP INSERT INTO EMP VALUES (‘E10’, ‘John Smith’, ‘Programmer’) Ngôn ngữ truy vấn SQL (tt) Xóa liệu: DELETE tên_bảng [FROM {tên_bảng | tên_view}] [WHERE biểu_thức_điều_kiện] Ví dụ: Xoá dự án ‘P1’ DELETE FROM PROJ WHERE PNO = ‘P1’ Phép tính quan hệ miền Thành công ngôn ngữ phép tính quan hệ miền chủ yếu QBE (Query by example) (Zloof, 1977) đem lại QBE thiết kế dành cho kiểu làm việc tương tác từ thiết bị đầu cuối trực quan thân thiện Khái niệm example: NSD đưa câu vấn tin cách cung cấp example có câu trả lời Hành động gõ tên quan hệ kích hoạt việc hiển thị lược đồ chúng lên hình Sau cách cung cấp từ khóa cột (miền), người dùng đặc tả câu vấn tin 3.5 Khung nhìn (View) Trong kiến trúc mức (theo ANSI-SPARC), mô tả khung nhìn (hay mức ngoài) cấu trúc CSDL xuất cho người dùng cụ thể Trong mô hình quan hệ, thuật ngữ khung nhìn có nghĩa khác chút 3.5.1 Khái niệm quan hệ sở khung nhìn Một khung nhìn kết thực hay nhiều thao tác (phép toán) quan hệ sở nhằm đưa quan hệ Một khung nhìn quan hệ ảo, nghĩa không thực tồn mức vật lý CSDL (như quan hệ sở) mà câu trả lời cho yêu cầu người dùng, thời điểm yêu cầu 3.5.1 Khái niệm quan hệ sở khung nhìn Khung nhìn mang tính động, theo nghĩa thay đổi quan hệ sở tác động đến thể khung nhìn Một khung nhìn tạo dựng từ việc thực thao tác phép toán đại số quan hệ (chọn, chiếu, kết nối ) hay phép tính quan hệ quan hệ sở Như mức CSDL bao gồm quan hệ sở khung nhìn suy dẫn, kết xuất từ quan hệ sở 3.5.2 Mục đích khung nhìn Cơ chế sử dụng khung nhìn mang lại số lợi ích sau đây: Cung cấp chế an ninh hữu hiệu linh hoạt che dấu số phần CSDL trước số người dùng Cho phép người dùng truy cập liệu theo cách họ muốn, cho thời điểm, liệu thấy nhiều người dùng khác khuôn dạng khác Cho phép đơn giản hoá phép toán quan hệ sở 3.5.3 Vấn đề cập nhật qua khung nhìn Việc cập nhật cho quan hệ sở tác động đến tất khung nhìn có tham chiếu đến quan hệ Tương tự, khung nhìn cập nhật quan hệ sở liên quan phải thay đổi Như có khung nhìn cập nhật được, có khung nhìn cập nhật có khung nhìn cập nhật phận 3.5.3 Vấn đề cập nhật qua khung nhìn Các nguyên tắc hầu hết hệ thống dùng để kiểm soát định cho phép cập nhật CSDL xảy qua khung nhìn: Được phép cập nhật thông qua khung nhìn, khung nhìn định nghĩa câu truy vấn đơn giản liên quan đến quan hệ sở chứa khóa khóa dự tuyển quan hệ sở Không cập nhật thông qua khung nhìn, khung nhìn liên quan đến nhiều quan hệ sở Không cập nhật thông quan khung nhìn, khung nhìn liên quan đến (được xác định từ) hàm kết tập hàm gộp nhóm .. .Chương MÔ HÌNH QUAN HỆ 3. 1 Mô hình quan hệ 3. 2 Các khái niệm mô hình quan hệ 3. 3 Tính toàn vẹn quan hệ 3. 4 Các ngôn ngữ quan hệ 3. 5 Khung nhìn 3. 1 Mô hình quan hệ Mô hình sở liệu quan hệ. .. thao tác liệu phép toán tập hợp, phép toán quan hệ Ràng buộc toàn vẹn quan hệ 3. 2 Các khái niệm mô hình quan hệ 3. 2.1 Miền (Domain) 3. 2.2 Thuộc tính (Attribute) 3. 2 .3 Lược đồ quan hệ (Relation... Descartes hay nhiều miền Quan hệ gọi thuật ngữ khác bảng (table) Bậc (degree) quan hệ số thuộc tính quan hệ Bản số (cardinality) quan hệ số (tuple) mà chứa đựng 3. 2 .3 Quan hệ (tt) Ví dụ: