Thiết kế cơ sở dữ liệu - Chương 1: Giới thiệu tổng quan

Hệ thống CSDL của một ứng dụng tin học là 1 tập hợp dữ liệu được tổ chức 1 cách chọn lọc, ghi trên các thiết bị trữ tin, nhằm phục vụ đồng thời cho nhiều người, với nhiều mục đích xử lý và khai thác khác nhau.

pdf54 trang | Chia sẻ: lylyngoc | Lượt xem: 1626 | Lượt tải: 3download
Bạn đang xem trước 20 trang tài liệu Thiết kế cơ sở dữ liệu - Chương 1: Giới thiệu tổng quan, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐH CÔNG NGHỆ THÔNG TIN Số tiết lý thuyết: 45 tiết Số tiết thực hành: 30 tiết 1 GVHD: Dương Khai Phong – Email khaiphong@gmail.com 2  Chương 1: Giới thiệu tổng quan  Chương 2: Mô hình dữ liệu và các phụ thuộc dữ liệu  Chương 3: Phương pháp chuẩn hóa Lược đồ CSDL  Chương 4: Lý thuyết đồ thị quan hệ  Chương 5: Thiết kế CSDL ở mức vật lý  Nội dung môn học: Nội dung đánh giá Tỷ lệ điểm Ghi chú BÀI TẬP TẠI LỚP 30% Bài tập có thể làm việc theo nhóm (từ 2-3 sv)BÀI TẬP THỰC HÀNH THI HẾT MÔN 70% Theo lịch thi PĐT 3  Hình thức đánh giá: 4  Chương 1: Giới thiệu tổng quan  Chương 2: Mô hình dữ liệu và các phụ thuộc dữ liệu  Chương 3: Phương pháp chuẩn hóa Lược đồ CSDL  Chương 4: Lý thuyết đồ thị quan hệ  Chương 5: Thiết kế CSDL ở mức vật lý  Nội dung môn học: 5 Các giai đoạn thiết kế CSDL  Chương 1: Giới thiệu tổng quan Giới thiệu Chu kỳ sống của một CSDL 6 Khái niệm Hệ thống cơ sở dữ liệu:  Chương 1: Giới thiệu tổng quan Hệ thống CSDL của một ứng dụng tin học là 1 tập hợp dữ liệu được tổ chức 1 cách chọn lọc, ghi trên các thiết bị trữ tin, nhằm phục vụ đồng thời cho nhiều người, với nhiều mục đích xử lý và khai thác khác nhau. Ví dụ: Trong một công ty phần mềm: Bộ phận quản lý tiền lương có nhu cầu lập bảng lương cho đơn vị vđi các thông tin ghi trên bảng lương như sau: STT, họ tên, hệ số lương, tiền lương, Chữ ký Trong đó, Tiền lương = hệ số lương X 500000; hệ số lương được phân chia dựa trên học vị. Bộ phận quản lý dự án có nhu cầu lập danh sách phân công nhân viên cho các dự án, với các thông tin: STT, họ tên, chuyên môn, dự án. Trong đó, nhân viên được phân công phải có chuyên môn phù hợp vđi yêu cầu chuyên môn của từng dự án. 7 Khái niệm Hệ thống cơ sở dữ liệu:  Chương 1: Giới thiệu tổng quan Hệ thống CSDL của một ứng dụng tin học là 1 tập hợp dữ liệu được tổ chức 1 cách chọn lọc, ghi trên các thiết bị trữ tin, nhằm phục vụ đồng thời cho nhiều người, với nhiều mục đích xử lý và khai thác khác nhau. Ví dụ: Trong một công ty phần mềm: Hệ thống CSDL được xây dựng sao cho có thể phục vụ cho các mục tiêu trên của các phòng ban? 8 Khái niệm Hệ thống cơ sở dữ liệu:  Chương 1: Giới thiệu tổng quan Hệ thống CSDL của một ứng dụng tin học là 1 tập hợp dữ liệu được tổ chức 1 cách chọn lọc, ghi trên các thiết bị trữ tin, nhằm phục vụ đồng thời cho nhiều người, với nhiều mục đích xử lý và khai thác khác nhau. Ví dụ: Trong một công ty phần mềm: Bộ phận quản lý tiền lương có nhu cầu lập bảng lương cho đơn vị vđi các thông tin ghi trên bảng lương như sau: STT, họ tên, hệ số lương, tiền lương, Chữ ký Trong đó, Tiền lương = hệ số lương X 500000; hệ số lương được phân chia dựa trên học vị. Bộ phận quản lý dự án có nhu cầu lập danh sách phân công nhân viên cho các dự án, với các thông tin: STT, họ tên, chuyên môn, dự án. Trong đó, nhân viên được phân công phải có chuyên môn phù hợp vđi yêu cầu chuyên môn của từng dự án. Môi trường CSDL CT QLTL CT QLDA Bảng Lương Bảng Phân công Danh mục HSL Danh mục Dự án Nhân viên 9 Mục tiêu chính của thiết kế CSDL:  Chương 1: Giới thiệu tổng quan  Làm thế nào chuyển đổi nhu cầu lưu trữ và khai thác dữ liệu của người dung thành một hệ thống CSDL hiệu quả?  Tính hiệu quả được thể hiện cụ thể bởi các tính chất:  Tính không trùng lắp.  Tính nhất quán dữ liệu.  Tính dễ khai thác.  Dễ kiểm tra các qui tắc quản lý bởi các ràng buộc toàn vẹn.  Dễ cập nhật và nâng cấp hệ thống. 10 Mục tiêu chính của thiết kế CSDL:  Chương 1: Giới thiệu tổng quan Ví dụ: Thiết kế CSDL dữ liệu cho công ty phần mềm trên, với cùng các nhu cầu lưu trữ và khai thác dữ liệu, có thể có nhiều cấu trúc CSDL khác nhau: o Thiết kế 1: NhanVien(MaNV, HoTen, ChuyenMon, HSLg, TienLuong, ChuKy) DanhMucDuAn( MaDA, TenDuAn,...) o Thiết kế 2: NhanVien(MaNV, HoTen, ChuyenMon, Hocvi) DMHSLuong(Hocvi, HeSoLuong) DanhMucDuAn( MaDA, TenDuAn,...) PhanCong(MaDA, MaNV) 11  Tiêu chuẩn để lựa chọn một cấu trúc CSDL hiệu quả:  Chương 1: Giới thiệu tổng quan • Thời quan truy xuất dữ liệu đáp ứng cho một yêu cầu khai thác? • Thời gian phục hồi CSDL khi có sự cố ? • Chi phí tổ chức và cài đặt CSDL ? • Dễ bảo trì, nâng cấp, sửa đổi khi phát sinh những nhu cầu mới hay không? 12  Các thông tin vào / ra quy trình thiết kế:  Chương 1: Giới thiệu tổng quan (1) Yêu cầu về thông tin: dùng CSDL cho vấn đề gì? Xuất phát từ người sử dụng có nhu cầu và quan điểm? (2) Yêu cầu về xử lý: mỗi nhóm người sử dụng sẽ nêu ra các yêu cầu xử lý của riêng mình; Tần suất xử lý và khối lượng dữ liệu. (3) Đặc trưng kỹ thuật của hệ quản trị CSDL cần sử dụng để cài đặt CSDL. (4) Cấu hình thiết bị tin học gì để đáp ứng với (1), (2) và (3). Thông tin vào Thông tin ra (1) Cấu trúc quan niệm CSDL. (2) Cấu trúc Logic CSDL. (3) Cấu trúc Vật lý CSDL. 13  Các thông tin vào / ra quy trình thiết kế:  Chương 1: Giới thiệu tổng quan Quy trình TK CSDLL Y/c Thông tin Y/c Xử lý Phần mềm Phần cứng CTQN CSDL CTLG CSDL CTVL CSDL 14 Các giai đoạn thiết kế CSDL  Chương 1: Giới thiệu tổng quan Giới thiệu Chu kỳ sống của một CSDL 15  Chu kỳ sống của một CSDL:  Chương 1: Giới thiệu tổng quan Một ứng dụng tin học được triển khai thực hiện trải qua các giai đoạn: E F G Giai đoạn xây dựng CSDL Giai đoạn thử nghiệm và khai thác 16  Chu kỳ sống của một CSDL:  Chương 1: Giới thiệu tổng quan  Giai đoạn xây dựng CSDL (A) Phân tích các nhu cầu của người sử dụng. (B) Thiết kế CSDL ở mức quan niệm: nghĩa là xác định nội dung CSDL (chứa những thông tin gì ?). Chỉ quan tâm ở mức dữ liệu. (C) Thiết kế CSDL ở mức Logic: Chia vấn đề cần xử lý ra thành nhiều bước. Ở đây chỉ chú ý đến các xử lý đặt ra, nhưng chưa chú ý đến phần mềm và phần cứng. (D) Thiết kế CSDL ở mức vật lý: Cài đặt CSDL như thế nào? Giải quyết những vấn đề mang tính kỹ thuật. Ví dụ: Sử dụng phần mềm nào? Với cấu hình máy ra sao?.  Giai đoạn thử nghiệm và khai thác (E) Cài đặt và chạy thử nghiệm: Nếu có sai sót thì phải hiệu chỉnh lại cấu trúc CSDL ở các mức quan niệm; logic; vật lý. (F) Đưa cho người sử dụng khai thác. (G) Thích ứng CSDL theo những nhu cầu mới. 17 Các giai đoạn thiết kế CSDL  Chương 1: Giới thiệu tổng quan Giới thiệu Chu kỳ sống của một CSDL 18  Các giai đoạn thiết kế CSDL:  Chương 1: Giới thiệu tổng quan Cấu trúc vật lý CSDL Quy trình thiết kế CSDL Phân tích nhu cầu Bản đặc tả các nhu cầu Thiết kế quan niệm Cấu trúc quan niệm CSDL Thiết kế logic Cấu trúc logic CSDL Thiết kế vật lý Y/c Thông tin Y/c Xử lý Đặc trưng kỹ thuật phần mềm Đặc trưng kỹ thuật phần cứng 19  Chương 1: Giới thiệu tổng quan Phân tích nhu cầu Đây là bước khó nhất trong quá trình thiết kế vì nó được thực hiện thông qua sự tiếp xúc giữa người thiết kế và người sử dụng.  Nội dung: • Thu thập thông tin về dữ liệu và xử lý từ người sử dụng, từ các tài liệu, chứng từ, biểu mẫu thống kê liên quan đến CSDL và cả những tài liệu của CSDL cũ (nếu có). • Sau khi thu thập phải tổng hợp và phân tích những nhu cầu đó. Kiểm tra xem có những mâu thuẩn giữa các nhu cầu không?  Yêu cầu xác định: • Mục tiêu sử dụng, khai thác. • Nội dung, yêu cầu chi tiết cần thực hiện. • Thời gian đáp ứng và hình thức xử lý. • Khối lượng dữ liệu, tần suất khai thác • Yêu cầu về tính an toàn và bảo mật.  Các giai đoạn thiết kế CSDL: 20  Chương 1: Giới thiệu tổng quan  Ví dụ: Thiết kế CSDL cho các dịch vụ  Cách thực hiện: • Phỏng vấn tực tiếp. • Phỏng vấn gián tiếp: tự lập ra các câu hỏi trên giấy để User trả lời. • Đối tượng phỏng vấn Ban giám đốc, các phòng ban có liên quan. DỊCH VỤ BÁN VÉ DỊCH VỤ MƯỢN SÁCH THƯ VIỆN TÍNH LƯƠNG SẢN XUẤT T ÍN H C H Ấ T - Xử lý tức thời - Xử lý riêng từng trường hợp. - Có độ trễ - Xử lý riêng từng trường hợp. - Có định kỳ - Xử lý chung toàn bộ. Phân tích nhu cầu  Các giai đoạn thiết kế CSDL: 21  Chương 1: Giới thiệu tổng quan  Kết quả: • Lập sơ đồ: luân chuyển thông tín giữa những User liên quan hoặc những nhóm Users liên quan. • Đưa ra những dữ liệu cần thiết nhất. • Phải có bộ hồ sơ hệ thống hoá những nhu cầu và viết theo ngôn ngữ bình thường để người dùng đọc lại và bổ sung những yêu cầu của họ. • Bộ hồ sơ này còn được dùng để nghiệm thu CSDL. Phân tích nhu cầu  Các giai đoạn thiết kế CSDL: 22  Chương 1: Giới thiệu tổng quan  Mục đích: • Xác định nội dung dữ liệu, mối quan hệ giữa các dữ liệu bên trong CSDL. • Xác định đúng và đầy đủ dữ liệu, loại bỏ các dữ liệu thừa (Chưa cần quan tâm cách cài đặt). • Công cụ: Dùng một mô hình dữ liệu nào đó để biểu diễn tùy người thiết kế.  Cách thực hiện: • Phân chia các nhu cầu ra thành từng mảng. Điều đó dẫn đến sẽ có nhiều mô hình quan niệm dữ liệu, mỗi mô hình liên quan đến 1 mảng. • Cuối cùng cần tích hợp các mô hình đó lại. Khi tổng hợp, cần phải xác định tất cả các ràng buộc toàn vẹn và tạo ra từ điển dữ liệu. Phân tích nhu cầu Thiết kế quan niệm  Các giai đoạn thiết kế CSDL: 23  Chương 1: Giới thiệu tổng quan  Ví dụ: Thiết kế CSDL quản lý một công ty gồm có 2 đối tượng: nhóm người quản trị kinh doanh và nhóm người quản lý kho Phân tích nhu cầu Thiết kế quan niệm Đối với người quản trị kinh doanh: chỉ quan tâm đến các thành phẩm: Mã thành phẩm, tên, số lượng tồn, đơn giá bán. Đối với người quản lý kho: ngoài thông tín thành phẩm, người quản lý kho còn quan tâm đến các chứng từ liên quan đến các thành phẩm: số đợt, giá thành, số lượng.  Các giai đoạn thiết kế CSDL: 24  Chương 1: Giới thiệu tổng quan  Mục đích: • Dựa trên nhu cầu xử lý, nghiên cứu cách sử dụng dữ liệu thông qua xử lý các thông tin cần: tần suất, khối lượng ... • Trong giao đoạn thiết kế quan niệm, dữ liệu cần loại bỏ những thông tin trùng lắp. Nhưng ở giai đọan thiết kế logic, cần phải cân nhắc, dựa trên hiệu quả xử lý, để quyết định có hay không có cài đặt thông tin trùng lắp.  Cách thực hiện: • Chọn cấu trúc logic gần vđi phần mềm sẽ sử dụng cài đặt CSDL. • Ở giai đọan này , người ta thường thể hiện thông tin theo mô hình Quan hệ. Phân tích nhu cầu Thiết kế quan niệm Thiết kế logic  Các giai đoạn thiết kế CSDL: 25  Chương 1: Giới thiệu tổng quan  Mục đích: • Xây dựng một cấu trúc vật lý phụ thuộc vào phần mềm và cấu hình phần cứng mà ta đã lựa chọn để cài đặt CSDL. Giai đoạn này, đơn giản hay phức tạp tùy thuộc vào đặc trưng kỹ thuật của phần mềm và phần cứng..  Cách thực hiện: • Chọn lựa phần mềm phù hợp với độ phức tạp của dự án. • Chọn lựa cấu hình phần cứng. • Quyết định những vấn đề liên quan đến an toàn dữ liệu (cấp phát quyền truy cập) và phục hồi dữ liệu. • Cài đặt vật lý: danh mục quan hệ (có thể gộp hay không gộp các quan hệ  khác biệt so với giai đoạn thiết kế ban đầu), xác định quan hệ chính, phụ,… Phân tích nhu cầu Thiết kế quan niệm Thiết kế logic Thiết kế vật lý  Các giai đoạn thiết kế CSDL: ĐH CÔNG NGHỆ THÔNG TIN 26 27  Chương 1: Giới thiệu tổng quan Bài 1 Hãy thiết kế CSDL cho bài toán quản lý bán hàng dựa trên các mô tả và các quy tắc như sau: a) Cửa hàng có cho khách hàng mua hàng đăng ký làm thành viên, thông tin đăng ký: họ tên, ngày sinh, cmnd, doanh số và sau đó cửa hàng cung cấp một mã ID cho khách hang đã đăng ký. b) Các nhân viên làm việc được lưu trữ các thông tin: mã nhân viên, họ tên, ngày sinh, địa chỉ, ngày vào làm việc và lương. c) Mỗi sản phẩm được bán có thể cung cấp bởi nhiều nhà cung ứng (thông tin về mỗi mặt hàng bao gồm: mã sản phẩm, tên sản phẩm, giá và đơn vị tính). Mỗi nhà cung ứng cần lưu tên công ty, địa chỉ, số phone, số fax. d) Mỗi khách hàng mua hàng thì chọn lựa hàng và sau đó đến quầy tính tiền. Ở quầy tính tiền sẽ in ra 1 bill gồm số hóa đơn, ngày lập hóa đơn, tên khách mua, tên người bán và danh sách các mặt hàng mua kèm theo đơn giá bán. Câu hỏi : Liệt kê các quan hệ cần quản lý trên. 28  Chương 1: Giới thiệu tổng quan Bài 2 (Mã số giảng viên) MS_GV (Mã số môn học) MS_MH (Tên Giảng viên) TEN_GV (Học hàm Giảng viên) HH_GV (Mức lương Giảng viên) ML_GV (Tổng số sinh viên) TSSV 3217 CA01 Ng.V.A GVC 425 87 3217 CA02 Ng.V.A GVC 425 32 4096 MA03 Tr.T.B PGS 500 49 4371 CA11 Lê.V.C GS 600 36 4371 CA21 Lê.V.C GS 600 37 4371 CA41 Lê.V.C GS 600 32 4589 MA11 Võ.V.X GVC 425 47 4589 MA13 Võ.V.X GVC 425 69 4672 CA22 Hồ.T.Y GVC 425 28 4672 CA01 Hồ.T.Y GVC 425 96 Cho dữ liệu của việc quản lý thông tin giảng dạy tại một Trường như sau: Xây dựng bản đặc tả cho các CSDL dựa trên các thông tin trên. 29  Chương 1: Giới thiệu tổng quan Bài 3 Hãy thiết kế CSDL cho bài toán quản lý giáo vụ của một trường dựa trên các mô tả và các quy tắc như sau: a) Lưu trữ thông tin: Học viên , giáo viên, môn học b) Xếp lớp cho học viên, chọn lớp trưởng cho lớp. c) Phân công giảng dạy: giáo viên dạy lớp nào với môn học gì, ở học kỳ, năm học nào. d) Lưu trữ kết quả thi: học viên thi môn học nào, lần thi thứ mấy, điểm thi bao nhiêu. Câu hỏi : Liệt kê các quan hệ cần quản lý trên. ĐH CÔNG NGHỆ THÔNG TIN 30  MÔ HÌNH DỮ LIỆU QUAN HỆ MÔ HÌNH  Thuộc tính  Quan hệ  Bộ giá trị  Thể hiện của quan hệ  Tân từ  Phép chiếu  Khóa  Lược đồ quan hệ và lược đồ CSDL Thuộc tính Là một tính chất riêng biệt của một đối tượng cần được lưu trữ trong CSDL,bao gồm: • Tên gọi: dãy ký tự (gợi nhớ) • Kiểu dữ liệu: Số, Chuỗi, Thời gian, Luận lý, OLE. • Miền giá trị: tập giá trị mà thuộc tính có thể nhận. Ký hiệu miền giá trị của thuộc tính A là Dom(A). 08:11:33 8 MÔ HÌNH  Thuộc tính  Quan hệ  Bộ giá trị  Thể hiện của quan hệ  Tân từ  Phép chiếu  Khóa  Lược đồ quan hệ và lược đồ CSDL Quan hệ Là một tập hữu hạn các thuộc tính. Ký hiệu: Q(A1,A2,..,AN) Trong đó Q là tên quan hệ, Q+(A1,A2,..,AN) là tập các thuộc tính của quan hệ Q 08:11:33 9  MÔ HÌNH DỮ LIỆU QUAN HỆ MÔ HÌNH  Thuộc tính  Quan hệ  Bộ giá trị  Thể hiện của quan hệ  Tân từ  Phép chiếu  Khóa  Lược đồ quan hệ và lược đồ CSDL Bộ  Là các thông tin của một đối tượng thuộc quan hệ, được gọi là mẫu tin (record), dòng.  Quan hệ là một bảng (table) với các cột là các thuộc tính và mỗi dòng được gọi là bộ.  Một bộ của quan hệ Q(A1,A2,..,AN) là q(a1,a2,..,aN) với ai Dom(Ai)  Ví dụ: HOCVIEN(Mahv, Hoten, Ngsinh, Noisinh) có q=(1003,Nguyen Van Lam, 1/1/1987,Dong Nai) nghĩa là học viên có mã số là 1003, họ tên là Nguyen Van Lam, sinh ngày 1/1/1987 ở Dong Nai. 08:11:33 10  MÔ HÌNH DỮ LIỆU QUAN HỆ MÔ HÌNH  Thuộc tính  Quan hệ  Bộ giá trị  Thể hiện của quan hệ  Tân từ  Phép chiếu  Khóa  Lược đồ quan hệ và lược đồ CSDL Thể hiện của quan hệ  Là tập hợp các bộ giá trị của quan hệ tại một thời điểm nhất định. Ký hiệu: Thể hiện của quan hệ Q là TQ 08:11:33 11  MÔ HÌNH DỮ LIỆU QUAN HỆ MÔ HÌNH  Thuộc tính  Quan hệ  Bộ giá trị  Thể hiện của quan hệ  Tân từ  Phép chiếu  Khóa  Lược đồ quan hệ và lược đồ CSDL Tân từ  Là một quy tắc dùng để mô tả một quan hệ. Ký hiệu: ||Q|| 08:11:33 12  MÔ HÌNH DỮ LIỆU QUAN HỆ MÔ HÌNH  Thuộc tính  Quan hệ  Bộ giá trị  Thể hiện của quan hệ  Tân từ  Phép chiếu  Khóa  Lược đồ quan hệ và lược đồ CSDL Phép chiếu  Là phép dùng để trích giá trị của một số thuộc tính trong danh sách các thuộc tính của quan hệ. Ký hiệu: phép chiếu quan hệ R lên tập thuộc tính A là R[A] hoặc R.A.  Chiếu của một bộ lên tập thuộc tính: dùng để trích chọn các giá trị cụ thể của bộ giá trị đó theo các thuộc tính được chỉ ra trong danh sách thuộc tính của một quan hệ. Ký hiệu: chiếu của một bộ giá trị t lên tập thuộc tính A của quan hệ R là tR[A] hoặc t[A]. Nếu A có 1 thuộc tính tR.A 08:11:33 13  MÔ HÌNH DỮ LIỆU QUAN HỆ MÔ HÌNH  Thuộc tính  Quan hệ  Bộ giá trị  Thể hiện của quan hệ  Tân từ  Phép chiếu  Khóa  Lược đồ quan hệ và lược đồ CSDL Khoá Siêu khóa (super key) Khóa (key) Khóa chính (primary key) Khóa ngoại (foreign key) 08:11:33 14  MÔ HÌNH DỮ LIỆU QUAN HỆ MÔ HÌNH  Thuộc tính  Quan hệ  Bộ giá trị  Thể hiện của quan hệ  Tân từ  Phép chiếu  Khóa  Lược đồ quan hệ và lược đồ CSDL Khoá  Siêu khoá: là một tập con các thuộc tính của tập thuộc tính Q+ mà giá trị của chúng có thể phân biệt 2 bộ khác nhau trong cùng 1 thể hiện TQ bất kỳ. Nghĩa là:  t1, t2  TQ, t1[K] t2[K] K là siêu khóa của Q. Một quan hệ có ít nhất một siêu khóa (Q+) và có thể có nhiều siêu khóa. 08:11:33 15  MÔ HÌNH DỮ LIỆU QUAN HỆ MÔ HÌNH  Thuộc tính  Quan hệ  Bộ giá trị  Thể hiện của quan hệ  Tân từ  Phép chiếu  Khóa  Lược đồ quan hệ và lược đồ CSDL Khoá  Khoá: là khóa của quan hệ R, thỏa mãn 2 điều kiện: - K là một siêu khóa. - K là siêu khóa “nhỏ nhất” (chứa ít thuộc tính nhất và khác rỗng) nghĩa là ¬K1 K, K1  , K1 là siêu khóa. - Thuộc tính tham gia vào một khóa gọi là thuộc tính khóa, ngược lại là thuộc tính không khóa. 08:11:33 16  MÔ HÌNH DỮ LIỆU QUAN HỆ MÔ HÌNH  Thuộc tính  Quan hệ  Bộ giá trị  Thể hiện của quan hệ  Tân từ  Phép chiếu  Khóa  Lược đồ quan hệ và lược đồ CSDL Khoá  Khoá chính: khi cài đặt trên một DBMS cụ thể, nếu quan hệ có nhiều hơn một khóa, ta chỉ được chọn một và gọi là khóa chính Ký hiệu: các thuộc tính nằm trong khóa chính khi liệt kê trong quan hệ phải được gạch dưới. 08:11:33 17  MÔ HÌNH DỮ LIỆU QUAN HỆ MÔ HÌNH  Thuộc tính  Quan hệ  Bộ giá trị  Thể hiện của quan hệ  Tân từ  Phép chiếu  Khóa  Lược đồ quan hệ và lược đồ CSDL Khoá  Khoá ngoại: cho R(U), S(V). K1U là khóa chính của R,K2V Ta nói K2 là khóa ngoại của S tham chiếu đến khóa chính K1 của R nếu thỏa các điều kiện sau: - K1 và K2 có cùng số lượng thuộc tính và ngữ nghĩa của các thuộc tính trong K1 và K2 cũng giống nhau. - Giữa R và S tồn tại mối quan hệ 1-n trên K1 và K2, - s  S, !r  R sao cho r.K1=s.K2 08:11:33 18  MÔ HÌNH DỮ LIỆU QUAN HỆ MÔ HÌNH  Thuộc tính  Quan hệ  Bộ giá trị  Thể hiện của quan hệ  Tân từ  Phép chiếu  Khóa  Lược đồ quan hệ và lược đồ CSDL Lược đồ quan hệ  Là lược đồ nhằm mục đích mô tả cấu trúc của một quan hệ và các mối liên hệ giữa các thuộc tính trong quan hệ đó.  Cấu trúc của một quan hệ là tập thuộc tính hình thành nên quan hệ đó.  Một lược đồ quan hệ gồm: - Một tập thuộc tính của quan hệ - Mô tả bằng tân từ để xác định ý nghĩa và mối liên hệ giữa các thuộc tính 08:11:33 19  MÔ HÌNH DỮ LIỆU QUAN HỆ MÔ HÌNH  Thuộc tính  Quan hệ  Bộ giá trị  Thể hiện của quan hệ  Tân từ  Phép chiếu  Khóa  Lược đồ quan hệ và lược đồ CSDL Lược đồ CSDL  Là tập hợp gồm các lược đồ quan hệ và các mối liên hệ giữa chúng trong cùng một hệ thống quản lý. Các CSDL Hệ Quản Trị CSDL Các quan hệ 08:11:33 20  MÔ HÌNH DỮ LIỆU QUAN HỆ ĐH CÔNG NGHỆ THÔNG TIN 44  CÁC NGÔN NGỮ LIÊN QUAN CSDL Chọn kết hợp các cặp câu sau cho phù hợp: Select G#,TG From G WHERE year(NVL) = 2013 1 dD (d.SL = count(s.S#) Với sS (s.D# = d.D#) 2 Tìm giáo viên hướng dẫn các đề tài 3 G[G#] – (D:(year(NB)=2010))[G#] 4 Ngôn ngữ tự nhiên a Ngôn ngữ đại số quan hệ b Ngôn ngữ SQL c Ngôn ngữ tân từ d 08:11:33 24 Cho CSDL QLDETAI (Quản lý đề tài) gồm các quan hệ: G Giáo viên: G# Mã giáo viên, TG tên giáo viên, GT giới tính, DC địa chỉ, NVL ngày vào làm D Đề tài: D# mã đề tài, TD tên đề tài, NB ngày bắt đầu, NK ngày kết thúc, G# giáo viên hướng dẫn, SL số lượng sinh viên S Sinh viên: S# mã sinh viên, TS tên sinh viên, D# mã đề tài 08:11:33 25  CÁC NGÔN NGỮ LIÊN QUAN CSDL Cho CSDL QLDIEM (Quản lý điểm) gồm các quan hệ: S sinh viên: S# Mã sinh viên, TS tên sinh viên, GT giới tính, K khoá, SoMonDat số môn đạt, DTB điểm trung bình M Môn học: M# mã môn học, TM tên môn học, SoTC số tín chỉ K Kết quả thi: S#, M#, D điểm thi 08:11:33 26  CÁC NGÔN NGỮ LIÊN QUAN CSDL  Bài tập trên 1 quan hệ Cho CSDL QLDETAI, viết các câu truy vấn sau bằng NN ĐSQH: 1. Liệt kê giáo viên (mã giáo viên, tên giáo viên) vào làm trong