Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 110 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
110
Dung lượng
2,41 MB
Nội dung
Hệ quản trị Cơ sở liệu Biên soạn: Nguyễn Vũ Duy PHẦN I – NHẬP MÔN CƠ SỞ DỮ LIỆU QUAN HỆ (Tổng số: 15 tiết, Lý thuyết: 15 tiết) CHƯƠNG – TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU (Tổng số: tiết, Lý thuyết: tiết) NHỮNG KHÁI NIỆM CƠ BẢN VỀ CƠ SỞ DỮ LIỆU I SỰ CẦN THIẾT CỦA CƠ SỞ DỮ LIỆU Trong năm gần đây, thuật ngữ “Cơ sở liệu” (CSDL - Database) trở nên quen thuộc không riêng với người làm Tin học mà người làm nhiều lĩnh vực khác Thống kê, Kinh tế, Quản lý Doanh nghiệp v.v… Các ứng dụng Tin học vào công tác quản lý ngày nhiều đa dạng Có thể nói hầu hết lĩnh vực kinh tế, xã hội, giáo dục, y tế v.v… ứng dụng thành tựu Tin học vào phục vụ cơng tác chun mơn Chính lẽ mà ngày nhiều người quan tâm đến lĩnh vực thiết kế xây dựng CSDL Mục đích Chương đơn giản cung cấp khái niệm CSDL để học viên có nhìn ban đầu CSDL hệ quản trị CSDL Trước hết tìm hiểu lý cần phải có CSDL Hệ thống tập tin cổ điển (File System): Cho đến số đơn vị kinh tế, hành nghiệp v.v… sử dụng mơ hình hệ thống tập tin cổ điển: Chúng tổ chức riêng rẽ, phục vụ cho mục đích đơn vị hay đơn vị trực thuộc cụ thể Chẳng hạn, ta xét ví dụ sau: Ví dụ: Tại cơng ty người ta trang bị máy vi tính cho tất phịng, ban nghiệp vụ Bộ phận Văn phòng sử dụng máy vi tính để soạn thảo văn Microsoft Word thủ trưởng yêu cầu tình hình hoạt động đơn vị, có tiêu tổng số cơng nhân viên chức chia theo trình độ chun mơn đào tạo Phịng Kế tốn sử dụng máy vi tính để tính lương in danh sách lương phận đơn vị dựa danh sách cán viên chức hệ số lương hệ số phụ cấp họ phòng Tổ chức cung cấp Thơng tin mà phịng Kế tốn quản lý khai thác là: Họ Tên, Hệ số lương, Hệ số phụ cấp, Phụ cấp khác cơng nhân viên chức (CNVC) xếp theo phịng ban sử dụng cơng cụ văn phịng Microsoft Excel Phịng Tổ chức quản lý thơng tin lý lịch CNVC chi tiết gồm: Họ, Tên (để riêng thành cột “Tên” để tiện xếp Alphabet), Giới tính, Ngày sinh, Ngày tuyển dụng, Hồn cảnh gia đình, Q trình đào tạo, Hệ số lương, Hệ số phụ cấp, Ngày xếp lương trên… thiếu thông tin Phụ cấp khác CNVC Phần mềm sử dụng để quản lý FoxPro for Windows Trong đó, Tổng cơng ty họ, phịng ban nghiệp vụ trang bị máy vi tính Phịng Tổ chức cán Tổng công ty sử dụng phần mềm Microsoft Access để quản lý CNVC gồm cán chủ chốt từ trường phó phịng, quản đốc phó quản đốc xí nghiệp trở lên cơng ty trực thuộc Thông tin quản lý giống thơng tin quản lý phịng tổ chức công ty Nhận xét: Ưu điểm: - Việc xây dựng hệ thống tập tin riêng đơn vị quản lý tốn thời gian khối lượng thông tin cần quản lý khai thác nhỏ, khơng địi hỏi đầu tư vật chất chất xám nhiều, triển khai ứng dụng nhanh - Thông tin khai thác phục vụ cho mục đích hẹp nên khả đáp ứng nhanh chóng, kịp thời -1- Hệ quản trị Cơ sở liệu Biên soạn: Nguyễn Vũ Duy Nhược điểm: - Do thông tin tổ chức phòng ban khác, phần mềm công cụ để triển khai nơi khác nên phối hợp tổ chức khai thác phịng ban khó khăn Thơng tin phịng ban khơng sử dụng cho phòng ban khác, đơn vị với đơn vị cấp Cùng thông tin nhập vào máy nhiều nơi khác gây lãng phí công sức nhập tin không gian lưu trữ vật mang tin Sự trùng lắp thơng tin dẫn đến tình trạng khơng qn liệu Chẳng hạn, nhân viên Nguyễn Văn Quang ghi đầy đủ phịng Tổ chức, phịng Kế tốn ghi tắt Nguyễn V Quang - Thông tin tổ chức nhiều nơi nên việc cập nhật dễ làm tính quán liệu Một cán chủ chốt cơng ty có thay đổi hồn cảnh gia đình (mới cưới vợ / lấy chồng, sinh thêm con…) cập nhật đơn vị sau thời gian cập nhật Tổng công ty - Do hệ thống tổ chức thành hệ thống tập tin riêng lẻ nên thiếu chia sẻ thông tin nơi Việc kết nối hệ thống hay việc nâng cấp ứng dụng khó khăn Qua phân tích nhận thấy việc tổ chức liệu theo hệ thống tập tin có nhiều nhược điểm Việc xây dựng hệ thống tin đảm bảo tính chất qn liệu, khơng trùng lặp thông tin mà đáp ứng nhu cầu khai thác đồng thời tất phòng ban công ty tổng công ty thực cần thiết II NHỮNG KHÁI NIỆM CƠ BẢN VỀ CƠ SỞ DỮ LIỆU Khái niệm sở liệu Cơ sở liệu (CSDL) tập hợp có tổ chức (có cấu trúc) liệu có liên quan luận lý với nhau, lưu trữ thiết bị lưu trữ thông tin (băng từ, đĩa từ…) để thỏa mãn u cầu khai thác thơng tin đồng thời nhiều người sử dụng hay nhiều chương trình ứng dụng với nhiều mục đích khác Ví dụ: Để quản lý hoạt động học tập trường Đại học, quản lý liệu thông tin sinh viên, mơn học, điểm thi… Do đó, tổ chức liệu thành bảng lưu giữ chúng vào sổ sách sử dụng phần mềm máy tính để lưu giữ chúng máy tính Ta có tập hợp liệu có liên quan đến mang nhiều ý nghĩa, CSDL Hình: CSDL quản lý sinh viên Trước hết, cần nhấn mạnh CSDL phải tập hợp thơng tin mang tính hệ thống khơng phải thơng tin rời rạc, khơng có mối quan hệ với Các thơng tin phải có cấu trúc tập hợp thơng tin phải có khả đáp ứng nhu cầu khai thác nhiều người sử dụng cách đồng thời Đó đặc trưng CSDL Các tính chất sở liệu Một CSDL biểu thị khía cạnh giới thực hoạt động công ty, nhà trường, ngân hàng… Những thay đổi giới thực phải phản ánh -2- Hệ quản trị Cơ sở liệu Biên soạn: Nguyễn Vũ Duy cách trung thực vào CSDL Những thông tin đưa vào CSDL tạo thành không gian CSDL “thế giới nhỏ” Một CSDL tập hợp liệu liên kết với cách logic mang ý nghĩa cố hữu Một CSDL tập hợp tuỳ tiện Một CSDL thiết kế phổ biến cho mục đích riêng Nó có nhóm người sử dụng có chủ định có số ứng dụng xác định phù hợp với mối quan tâm người sử dụng Nói cách khác, CSDL có nguồn cung cấp liệu, mức độ tương tác với kiện giới thực nhóm người quan tâm tích cực đến nội dung Một CSDL có cỡ tuỳ ý có độ phức tạp thay đổi Có CSDL gồm vài trăm ghi (như CSDL phục vụ việc quản lý lương quan nhỏ), có CSDL có dung lượng lớn (như CSDL phục vụ cho việc tính cước điện thoại, quản lý nhân phạm vi tổng công ty lớn) Các CSDL phải tổ chức quản lý cho người sử dụng tìm kiếm liệu, cập nhật liệu lấy liệu cần thiết Một CSDL tạo trì cách thủ cơng Tin học hóa CSDL tài ngun thơng tin dùng chung cho nhiều người Bất kỳ người sử dụng mạng máy tính, thiết bị đầu cuối, nguyên tắc có quyền truy nhập khai thác toàn hay phần liệu theo chế độ trực tuyến hay tương tác mà không phụ thuộc vào vị trí địa lý người sử dụng với tài nguyên CSDL hệ ứng dụng khai thác ngôn ngữ liệu chương trình ứng dụng để xử lý, tìm kiếm, tra cứu, sửa đổi, bổ sung hay loại bỏ liệu Tìm kiếm tra cứu thơng tin chức qua trọng phổ biến dịch vụ CSDL Hệ quản trị CSDL (Database Management System - DBMS) phần mềm điều khiển hoạt động truy nhập CSDL Khi người sử dụng đưa yêu cầu truy nhập ngôn ngữ liệu đó, HQTCSDL tiếp nhận thực thao tác CSDL lưu trữ Ưu điểm sở liệu Tổ chức lưu trữ liệu theo lý thuyết CSDL có ưu điểm sau: - Giảm bớt dư thừa liệu lưu trữ: Trong ứng dụng lập trình truyền thống, phương pháp tổ chức lưu trữ liệu vừa tốn kém, lãng phí nhớ thiết bị lưu trữ, vừa dư thừa thơng tin lưu trữ Nhiều chương trình ứng dụng khác xử lý liệu nhau, dẫn đến dư thừa đáng kể liệu - Tổ chức lưu trữ liệu theo lý thuyết CSDL tránh không quán lưu trữ liệu bảo đảm tính tồn vẹn liệu: Nếu thuộc tính mô tả nhiều tệp liệu khác lặp lại nhiều lần thực việc cập nhật, sửa đổi, bổ sung liệu không sửa hết nội dung mục Nếu liệu nhiều sai sót cập nhật, bổ sung lớn Khả xuất mâu thuẫn, không quán thông tin nhiều, dẫn đến không quán liệu lưu trữ Tất yếu kéo theo dị thường thông tin, thừa, thiếu mâu thuẫn thông tin - Tổ chức lưu trữ liệu theo lý thuyết CSDL triển khai đồng thời nhiều ứng dụng CSDL Điều có nghĩa ứng dụng không chia sẻ chung tài nguyên liệu mà cịn CSDL triển khai đồng thời nhiều ứng dụng khác thiết bị đầu cuối khác - Tổ chức liệu theo lý thuyết CSDL thống tiêu chuẩn, thủ tục biện pháp bảo vệ, an toàn liệu Các hệ CSDL quản lý tập trung người hay nhóm người quản trị CSDL, hệ quản trị CSDL Người quản trị CSDL áp dụng thống tiêu chuẩn, quy định, thủ tục chung quy định thống mẫu biểu báo cáo, thời gian bổ sung, cập nhật liệu Điều làm dễ dàng cho cơng việc bảo trì liệu -3- Hệ quản trị Cơ sở liệu Biên soạn: Nguyễn Vũ Duy Người quản trị CSDL bảo đảm việc truy nhập tới CSDL, kiểm tra, kiểm sốt quyền truy nhập người sử dụng Ngăn chặn truy nhập trái phép, sai quy định từ từ vào… Những vấn đề cần giải Để đạt hiệu sử dụng CSDL, ta cần giải vấn đề đặt sau đây: - Tính chủ quyền liệu: Do tính chia sẻ CSDL nên tính chủ quyền liệu bị lu mờ làm mờ nhạt tinh thần trách nhiệm, thể vấn đề an toàn liệu, khả biểu diễn mối liên hệ ngữ nghĩa liệu, tính xác liệu Điều có nghĩa người khai thác CSDL phải có nghĩa vụ cập nhật thơng tin CSDL - Tính bảo mật quyền khai thác thông tin người sử dụng: Do có nhiều người phép khai thác CSDL cách đồng thời nên cần phải có chế bảo mật phân quyền hạn khai thác CSDL Các hệ điều hành nhiều người sử dụng hay hệ điều hành mạng cục (Novell Netware, Windows for Workgroup, WinNT…) có cung cấp chế - Tranh chấp liệu: Nhiều người phép truy nhập vào tài nguyên liệu CSDL với mục đích khác xem, thêm, xóa sửa liệu, cần phải có chế ưu tiên truy nhập liệu Cơ chế ưu tiên thực việc cấp quyền ưu tiên cho người khai thác - người cấp quyền hạn ưu tiên cao ưu tiên truy nhập liệu trước; dựa thời điểm truy nhập - có yêu cầu truy xuất trước có quyền truy nhập liệu trước… - Đảm bảo liệu có cố: Việc quản lý liệu tập trung làm tăng khả mát sai lệch thông tin có cố điện đột xuất, phần đĩa lưu trữ CSDL bị hư hỏng v.v… Một số hệ điều hành mạng có cung cấp dịch vụ lưu ảnh đĩa cứng (cơ chế sử dụng đĩa cứng dự phòng - RAID), tự động kiểm tra khắc phục lỗi có cố, Tuy nhiên, bên cạnh dịch vụ hệ điều hành, để đảm bảo CSDL ln ln ổn định, CSDL thiết phải có chế khôi phục liệu cố bất ngờ xảy Giá phải trả cho ứng dụng CSDL Như với định kinh doanh nào, ứng dụng theo hướng CSDL cần trả giá chịu vài rủi ro cần đến nhân chuyên sâu, chi phí quản lý thực hiện, giải va chạm tâm lý… - Nhu cầu nhân mới, chuyên môn: Cần phải thuê hay tự đào tạo chuyên gia công nghệ thông tin để phân tích, thiết kế, thực CSDL tổ chức Mặc khác, công nghệ ngày phát triển nhanh khiến hệ thống CSDL thường xuyên cập nhật tri thức cho cán - Chi phí quản lý, thực hiện: Hệ thống quản trị CSDL nhiều người dùng thường lớn phức tạp, đòi hỏi nhiều người tham gia bảo trì Người ta cần tính đến chi phí thiết bị máy tính, chi phí phần mềm, chi phí truyền thơng - Chi phí chuyển đổi hệ thống: Trước áp dụng CSDL, tổ chức xử lý liệu theo phương pháp thủ công, hay sử dụng hệ thống xử lý tập tin Để chuyển công nghệ xử lý liệu sang cách tiếp cận mới, tổ chức cần có kinh phí chuyển mơ hình cũ sang mơ hình mới, chuyển đổi liệu cho phù hợp với môi trường - Va chạm quan điểm sử dụng CSDL: Trước CSDL áp dụng tổ chức, người ta cần thống mô tả liệu, khuôn dạng thể liệu… Sau hình thành CSDL, việc sử dụng liệu CSDL cần đạt hiệu Cần khuyến khích phận phát huy tốt hệ thống CSDL số phận muốn độc quyền thông tin hay e ngại dùng hệ thống tự động hố, có xu hướng giảm hiệu CSDL -4- Hệ quản trị Cơ sở liệu Biên soạn: Nguyễn Vũ Duy Các đối tượng sử dụng CSDL - Người sử dụng CSDL không chuyên lĩnh vực tin học CSDL, CSDL cần có cơng cụ người sử dụng khơng chun sử dụng để khai thác CSDL cần thiết - Chuyên viên Tin học biết khai thác CSDL: Những người xây dựng ứng dụng khác phục vụ cho mục đích khác CSDL - Người quản trị CSDL: Đây người hiểu biết tin học, hệ quản trị CSDL hệ thống máy tính Họ người tổ chức CSDL (khai báo cấu trúc CSDL, ghi nhận yêu cầu bảo mật cho liệu cần bảo vệ…), họ phải nắm rõ vấn đề kỹ thuật CSDL để phục hồi liệu có cố Họ người cấp quyền hạn khai thác CSDL, họ giải vấn đề tranh chấp liệu, có Các ứng dụng sở liệu Hiện nay, CSDL gắn liền với ứng dụng Tin học; chẳng hạn việc quản lý hệ thống thông tin quan nhà nước, việc lưu trữ xử lý thông tin doanh nghiệp, lĩnh vực nghiên cứu khoa học, công tác giảng dạy, việc tổ chức thông tin đa phương tiện… -5- Hệ quản trị Cơ sở liệu Biên soạn: Nguyễn Vũ Duy KIẾN THỨC TỔNG QUÁT CỦA HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU I HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU – HỆ CƠ SỞ DỮ LIỆU Khái niệm hệ quản trị sở liệu Như biết, kích thước độ phức tạp CSDL khác Ví dụ: - Danh bạ điện thoại quốc gia, thành phố… chứa tới hàng triệu số thông tin cần thiết khách hàng - Trong trường Đại học có tới hàng ngàn sinh viên Nhà trường phải quản lý tất thông tin liên quan đến sinh viên như: Tên, ngày sinh, quê quán, địa chỉ, kết học tập… Ta thấy, nhớ vấn đề cần phải giải Tuy nhiên, vấn đề quan trọng lại cách thức tổ chức liệu CSDL để phục vụ cho việc truy cập, tìm kiếm, cập nhật… nhanh chóng an toàn Để giải tốt tất vấn đề đặt cho CSDL nêu trên, cần phải có hệ thống phần mềm chuyên dụng gọi hệ quản trị CSDL (Database Management System - DBMS) Đó cơng cụ hỗ trợ tích cực cho nhà phân tích thiết kế CSDL người khai thác CSDL Các khái niệm: Một hệ quản trị CSDL tập hợp chương trình giúp cho người sử dụng quản lý cấu trúc liệu CSDL, điều khiển truy xuất liệu CSDL, trì khai thác CSDL Định nghĩa CSDL: Tạo cấu trúc liệu tương ứng với mơ hình liệu chọn, bao gồm việc đặc tả kiểu liệu, cấu trúc ràng buộc cho liệu lưu trữ CSDL Xây dựng CSDL: Là trình lưu trữ liệu phương tiện lưu trữ hệ quản trị CSDL kiểm soát Thao tác CSDL: Bao gồm chức truy vấn CSDL để lấy liệu cụ thể, cập nhật CSDL để phản ánh thay đổi giới nhỏ tạo báo cáo từ liệu Cho đến có nhiều hệ quản trị CSDL mạnh đưa thị trường như: Visual FoxPro, Microsoft Access, SQL Server, DB2, Sybase, Paradox, Informix, Oracle… với chất lượng khác Các chức hệ quản trị sở liệu Một hệ quản trị CSDL thực chức sau: a Cung cấp môi trường tạo lập CSDL Một hệ quản trị CSDL phải cung cấp môi trường cho người dùng dễ dàng khai báo kiểu liệu, cấu trúc liệu thể thông tin ràng buộc liệu Với hệ quản trị CSDL nay, người dùng tạo lập CSDL thông qua giao diện đồ hoạ Để thực chức này, hệ quản trị CSDL cung cấp cho người dùng ngôn ngữ định nghĩa liệu Ta hiểu ngơn ngữ định nghĩa liệu thực chất hệ thống ký hiệu để mô tả CSDL b Cung cấp môi trường cập nhật khai thác liệu -6- Hệ quản trị Cơ sở liệu Biên soạn: Nguyễn Vũ Duy Ngôn ngữ để người dùng diễn tả yêu cầu cập nhật hay tìm kiếm, kết xuất thơng tin gọi ngôn ngữ thao tác liệu Thao tác liệu gồm: - Cập nhật: Nhập thêm, sửa, xố liệu - Khai thác: Tìm kiếm, kết xuất liệu Trong thực tế, ngôn ngữ định nghĩa liệu ngôn ngữ thao tác liệu thành phần ngôn ngữ CSDL Ngôn ngữ CSDL sử dụng phổ biến SQL (Structured Query Language) c Cung cấp công cụ kiểm sốt, điều khiển truy cập vào CSDL Để góp phần đảm bảo yêu cầu đặt cho hệ CSDL, hệ quản trị CSDL phải có chương trình thực nhiệm vụ sau: - Phát ngăn chặn truy cập không phép: Chức góp phần đáp ứng yêu cầu an tồn bảo mật thơng tin - Duy trì tính quán liệu - Tổ chức điều khiển truy cập đồng thời để bảo vệ ràng buộc tồn vẹn tính qn - Khơi phục CSDL có cố phần cứng hay phần mềm - Quản lí mơ tả liệu Nói chung, hệ quản trị CSDL cung cấp chương trình nêu trên, hệ quản trị CSDL khác có chất lượng khả khác đáp ứng nhu cầu thực tế Chẳng hạn, hệ quản trị CSDL dùng máy tính cá nhân cung cấp phương tiện bảo vệ liệu, trì tính qn liệu, khôi phục liệu cách hạn chế Trong đó, hệ quản trị CSDL lớn, phục vụ lúc cho nhiều người dùng, phương tiện kể có thêm chức khác xử lí truy cập đồng thời… Các hệ quản trị CSDL phát triển theo hướng đáp ứng đòi hỏi ngày cao người dùng, chức hệ quản trị CSDL ngày mở rộng Các thành phần hệ quản trị sở liệu Các hệ CSDL có thành phần sau: - Ngôn ngữ giao tiếp người sử dụng CSDL, bao gồm: + Ngôn ngữ mô tả liệu (Data Definition Language - DDL): Cho phép khai báo cấu trúc CSDL, khai báo mối liên hệ liệu (Data RelationShip) quy tắc (Rules, Constraint) quản lý áp đặt lên liệu + Ngơn ngữ thao tác liệu (Data Manipulation Language - DML): Cho phép người sử dụng thêm (Insert), xóa (Delete), sửa (Update) liệu CSDL + Ngôn ngữ truy vấn liệu (Data Query Language - DQL): Cho phép người khai thác (chuyên nghiệp không chuyên) sử dụng để tìm kiếm thơng tin cần thiết CSDL + Ngôn ngữ quản lý liệu (Data Control Language - DCL): Cho phép người quản trị hệ thống khai báo bảo mật thông tin cấp quyền hạn khai thác CSDL cho người sử dụng - Từ điển liệu (Data Dictionary): Dùng để ghi nhận thành phần cấu trúc CSDL, mô tả ánh xạ liên kết, mật mã, quyền hạn sử dụng, chương trình ứng dụng… -7- Hệ quản trị Cơ sở liệu Biên soạn: Nguyễn Vũ Duy - Có biện pháp phân quyền bảo mật tốt có yêu cầu bảo mật - Cơ chế giải vấn đề tranh chấp liệu Mỗi hệ quản trị CSDL cài đặt chế riêng để giải vấn đề Một số biện pháp sau sử dụng: + Cấp quyền ưu tiên cho người sử dụng (người quản trị CSDL thực hiện) + Đánh dấu yêu cầu truy xuất liệu, phân chia thời gian, người có u cầu trước có quyền truy xuất liệu trước - Hệ quản trị CSDL phải có chế lưu (Backup) phục hồi (Restore) liệu có cố xảy - Hệ quản trị CSDL phải cung cấp giao diện (Interface) tốt, dễ sử dụng, dễ hiểu cho người sử dụng không chuyên - Hệ quản trị CSDL phải bảo đảm tính độc lập liệu chương trình: Khi có thay đổi liệu (như sửa đổi cấu trúc lưu trữ bảng liệu…) chương trình ứng dụng chạy CSDL khơng cần phải viết lại, hay không làm ảnh hưởng đến người sử dụng khác Hệ sở liệu Người ta gọi CSDL hệ quản trị CSDL thuật ngữ chung hệ CSDL Môi trường hệ CSDL mơ tả hình vẽ đây: Hình: Hệ sở liệu Hệ CSDL hệ thống gồm người dùng, phần mềm ứng dụng, hệ quản trị CSDL CSDL Trong đó, người dùng cần thao tác trực tiếp với chương trình ứng dụng, chương trình ứng dụng thơng qua hệ quản trị CSDL để truy cập CSDL thực công việc bên dưới, đáp ứng yêu cầu người dùng II MƠ HÌNH CƠ SỞ DỮ LIỆU Khái niệm mơ hình sở liệu Các loại cấu trúc CSDL mối liên hệ chúng đóng vai trị lớn việc xác định tính hiệu hệ quản trị CSDL Vì vậy, thiết kế CSDL trở thành hoạt động mơi trường CSDL Việc thiết kế CSDL thực đơn giản nhiều ta sử dụng mơ hình Các mơ hình trừu tượng đơn giản kiện giới thực Các trừu tượng cho phép ta khảo sát đặc điểm thực thể mối liên hệ tạo thực thể Việc thiết kế mơ hình tốt đưa CSDL tốt sở có ứng dụng tốt Một mơ hình CSDL tập hợp khái niệm, luật hay quy tắc dùng để biểu diễn, mô tả cách trừu tượng cấu trúc CSDL Cấu trúc CSDL kiểu liệu, -8- Hệ quản trị Cơ sở liệu Biên soạn: Nguyễn Vũ Duy mối liên kết ràng buộc phải tn theo liệu Nhiều mơ hình cịn có thêm tập hợp phép tốn để đặc tả thao tác CSDL Thông qua mơ hình liệu, người thiết kế mơ tả toàn cảnh CSDL thiết kế bao gồm: - Các đối tượng, thực thể quản lý - Các mối quan hệ đối tượng - Các ràng buộc liệu thể quy tắc quản lý ảnh hưởng đến đối tượng quản lý Các mơ hình sở liệu Có nhiều mơ hình đề nghị, khảo sát mơ hình đặc trưng nhất: a Mơ hình phân cấp Mơ hình phân cấp hay mơ hình CSDL dạng tổ chức theo cấu trúc từ xuống giống lộn ngược Mỗi nút tương ứng với kiểu liệu, có nhiều trường, mô tả thực thể nhánh tạo nên liên kết kiểu liệu với kiểu liệu khác Mỗi nút có nút cha nhiều nút con, trừ nút gốc nút cha Ví dụ mơ hình phân cấp quản lý nhân Cơng ty: Phịng ban Nhân viên Kỹ Dự án Cấp Thiết bị Hình: Mơ hình phân cấp Tuy nhiên, mơ hình thể quan hệ 1-n (một-nhiều), tức mô tả trường hợp nút cha có nhiều nút phịng có nhiều nhân viên hay phịng có nhiều dự án, cịn trường hợp ngược lại khơng Chẳng hạn dự án mà thuộc nhiều phịng dự án phải lưu nhiều nơi khác Điều gây dư thừa liệu lãng phí khơng gian lưu trữ Điểm bật thủ tục truy xuất đến đối tượng mơ hình phân cấp đường dẫn từ gốc đến phần tử cần xét phân cấp b Mơ hình mạng Mơ hình mạng biểu diễn đồ thị có hướng Dữ liệu biểu diễn tập ghi, mối quan hệ biểu diễn mối nối (links) xem trỏ Xuất phát từ đối tượng (biểu diễn ghi), nối với nút để biểu diễn liên kết 1-n thông qua trỏ liên kết, có nhiều mối quan hệ đến đối tượng khác Sự khác hệ thống mạng hệ thống phân cấp mơ hình mạng khơng ràng buộc số hướng liên kết thiết lặp nút -9- Hệ quản trị Cơ sở liệu Biên soạn: Nguyễn Vũ Duy Ví dụ 1: Mơ hình quản lý nhân Cơng ty Phịng ban Nhân viên Dự án Cấp Thiết bị Ví dụ 2: Người quản lý Công chức Quản lý Nơi làm Ngân hàng Tài khoản - Ngân hàng Khách hàng Tài khoản Chủ tài khoản Tài khoản - Khách hàng Đăng ký c Mơ hình quan hệ Cơ sở liệu quan hệ xây dựng theo lý thuyết E.F.Codd giới thiệu năm 1970 Thuật ngữ “quan hệ” bảng liệu chiều Codd gọi bảng quan hệ Mơ hình quan hệ từ năm 1980 trở thành mơ hình dùng rộng rãi để phát triển hệ quản trị CSDL Đặc điểm mơ hình liệu quan hệ: - Dữ liệu thể bảng Các bảng gọi “quan hệ” Mỗi bảng gồm dịng cột, cột có tên Các dòng gọi “bộ”, cột “thuộc tính” - Mỗi dịng cho thơng tin đối tượng cụ thể, bao gồm giá trị tương ứng với cột, giá trị thể thơng tin thuộc tính đối tượng đó, tên thuộc tính tên cột mà giá trị hiển thị - Mối liên kết đối tượng thể mối liên kết bảng nhờ vào xuất trùng lặp số thuộc tính bảng Ví dụ: Ta có bảng liệu CSDL sau: KHACH_HANG MaKH Khách hàng Khách hàng Khách hàng HoTen Nguyễn Văn Quang Hồ Hải Hà Dương Quốc Toản - 10 - Tuoi DiaChi 16 68, Nguyễn Du 18 23/10, Nguyễn Trãi 21 32/7, Nguyễn Trãi Hệ quản trị Cơ sở liệu Biên soạn: Nguyễn Vũ Duy - Chọn tên trường muốn hiển thị báo cáo - Chọn tên trường muốn nhóm liệu (grouping levels), chọn nhiều trường muốn nhóm nhiều cấp Theo ví dụ báo cáo danh sách sinh viên theo khoa, nên trường để phân nhóm liệu Mã khoa (MAKHOA) - 96 - Hệ quản trị Cơ sở liệu Biên soạn: Nguyễn Vũ Duy Trường liệu nhóm - Chọn tên trường dùng làm tiêu chí xếp liệu nhóm (nếu cần) - Chọn Summary Options muốn tổng hợp số liệu theo nhóm Theo ví dụ báo cáo bao gồm tổng hợp số liệu học bổng sinh viên khoa nên ta chọn phép toán Sum trường học bổng (HOCBONG) Chọn OK - Chọn hướng giấy in (Orientation) chế độ nhìn (Layout) cho Report Chọn chế độ Layout cho ví dụ Stepped - 97 - Hệ quản trị Cơ sở liệu Biên soạn: Nguyễn Vũ Duy - Nhập vào tiêu đề cho báo cáo Chọn Finish để kết thúc - Kết quả: - 98 - Hệ quản trị Cơ sở liệu Biên soạn: Nguyễn Vũ Duy Chỉnh sửa báo cáo Nhấp chuột phải Report cần chỉnh sửa, chọn Design View Ta có giao diện thiết kế báo cáo theo ví dụ gồm thành phần sau: - Report header: tiêu đề đầu báo cáo - Page header: tiêu đề đầu trang, báo cáo chia thành nhiều trang nội dung lặp lại đầu trang - MAKHOA Header (Group header): tên trường phân nhóm liệu, tiêu đề đầu nhóm - Detail: phần chi tiết, hiển thị phần nội dung báo cáo - MAKHOA Footer (Group Footer): tiêu đề cuối nhóm, chứa cơng thức tính tốn theo nhóm riêng - Page Footer: tiêu đề cuối trang, thường ghi số trang, ngày, giờ,… Nếu báo cáo chia thành nhiều trang nội dung lặp lại cuối trang - Report Footer: tiêu đề cuối báo cáo Tính tốn nhóm Một số hàm thường sử dụng thiết kế báo cáo: [Page]: chèn số trang hành báo cáo [Pages]: chèn tổng số trang báo cáo Date(): chèn ngày tháng năm hành hệ thống Now(): chèn ngày tháng năm, hành hệ thống Các hàm thống kê, tổng cộng liệu nhóm: Count, Sum, Min, Max, Avg III XUẤT DỮ LIỆU Thiết lập trang in - Nhấp chuột phải Report cần định dạng trang in, chọn Design View - Chọn menu tab Page Setup, chọn biểu tượng Page Setup Chọn tab Print Options để canh lề cho trang in: - 99 - Chọn tab Page để chọn khổ giấy (size) hướng giấy: Hệ quản trị Cơ sở liệu Biên soạn: Nguyễn Vũ Duy In liệu - Chọn Report cần in, chọn menu File / Print / Print - Xuất hộp thoại Print sau: Name: Chọn máy in Print range: All - In tất cả; Page from - định trang cần in - Chọn OK để in - 100 - Hệ quản trị Cơ sở liệu Biên soạn: Nguyễn Vũ Duy BÀI TẬP THỰC HÀNH Bài tập sở liệu Quản lý sinh viên: A Tạo bảng liệu (Table Design) Tạo cấu trúc bảng mơ tả với trường gạch chân khóa bảng Bảng KHOA Field Name Data Type Field Size Format Caption MAKHOA Text Mã khoa TENKHOA Text 30 Tên khoa Field Name Data Type Field Size MAMH Text Mã môn học TENMH Text 25 Tên môn học SOTC Number Byte Số tín Bảng MONHOC Format Caption Bảng SINHVIEN Field Name Data Type Field Size Format Caption MASV Text Mã sinh viên HOSV Text 15 Họ sinh viên TENSV Text Tên sinh viên PHAI Yes/No NGAYSINH Date/Time NOISINH Text 15 Nơi sinh MAKHOA Text Mã khoa HOCBONG Number Double Học bổng Phái Short Date Ngày sinh Bảng KETQUA Field Name Data Type Field Size MASV Text Mã sinh viên MAMH Text Mã môn học DIEM Number Single Điểm - 101 - Format Caption Description Phái:Yes (Nam); No (Nữ) Hệ quản trị Cơ sở liệu Biên soạn: Nguyễn Vũ Duy B Thiết lập mối quan hệ (Relationships) C Ràng buộc liệu (Input Mask / Validation) Mã sinh viên bắt buộc có 03 ký tự, ký tự đầu chữ cái, ký tự sau chữ số Mã khoa bắt buộc có 02 ký tự chữ Trường liệu Mã khoa sinh viên không để trống Ngày sinh không phép nhập sau ngày Học bổng không phép nhập số âm Giá trị mặc định Học bổng Điểm thi phải số phạm vi từ đến 10 Số tín mơn học phải từ trở lên D Nhập liệu cho bảng Bảng SINHVIEN MASV HOSV TEN SV PHAI NGAY SINH NOISINH MA KHOA A01 Nguyễn Thu Hải No 23/02/1995 Đồng Nai AV 100000 A02 Trần Văn Chính Yes 24/12/1997 Đồng Nai TH 100000 A03 Lê Thu Bạch Yến No 21/02/1996 Lâm Đồng AV 140000 A04 Trần Anh Tuấn Yes 08/12/1998 Long An LS 80000 A05 Trần Thanh Triều Yes 01/02/1995 Lâm Đồng VL 80000 B01 Trần Thanh Mai No 20/12/1996 Bến Tre TH 200000 B02 Trần Thị Thu Thủy No 13/02/1997 Bình Thuận TH 30000 B03 Trần Thị Thanh No 31/12/1996 Bình Thuận TH 50000 Bảng KETQUA MASV MAMH HOC BONG Bảng MONHOC DIEM MAMH TENMH SOTC A01 01 10 01 Nhập mơn máy tính A01 02 02 Trí tuệ nhân tạo - 102 - Hệ quản trị Cơ sở liệu Biên soạn: Nguyễn Vũ Duy A01 05 03 Truyền tin A01 06 04 Đồ họa A02 01 05 Văn phạm A03 02 06 Đàm thoại A03 04 10 07 Vật lý nguyên tử A03 06 A04 02 Bảng KHOA A04 04 MAKHOA TENKHOA B01 01 AV Anh văn B01 04 LS Lịch sử B02 03 TH Tin học B02 04 TR Triết B03 02 10 VL Vật lý B03 03 SH Sinh học E Sắp xếp, trích lọc liệu bảng (Sort / Filter) Trong bảng SINHVIEN, xếp liệu tăng dần theo Mã khoa, khoa tăng dần theo Tên sinh viên Trong bảng SINHVIEN, lọc sinh viên thuộc khoa có mã “AV” Trong bảng SINHVIEN, lọc sinh viên khơng thuộc khoa có mã “TH” Trong bảng SINHVIEN, lọc sinh viên thuộc khoa có mã “TH” có Học bổng lớn 100,000 Trong bảng SINHVIEN, lọc sinh viên có tên bắt đầu chữ “T” Trong bảng SINHVIEN, lọc sinh viên có ký tự thứ phần tên “H” Trong bảng SINHVIEN, lọc sinh viên mà phần tên có chứa chữ “T” Trong bảng SINHVIEN, lọc sinh viên có ngày sinh tháng 12 F Truy vấn (Query) Truy vấn lựa chọn công cụ QBE Hiển thị tất sinh viên theo thứ tự tăng dần Tên, bao gồm thông tin: Mã sinh viên, Họ tên sinh viên, Ngày sinh, Nơi sinh, Học bổng Liệt kê danh sách sinh viên, tên có chứa chữ N - 103 - Hệ quản trị Cơ sở liệu Biên soạn: Nguyễn Vũ Duy Lập danh sách sinh viên có ký tự đầu phần tên nằm khoảng từ A đến M Danh sách gồm thông tin: Mã sinh viên, Họ tên sinh viên, Ngày sinh, Nơi sinh Gợi ý: Left([TENSV],1) Between A And M Lập danh sách sinh viên khoa “Anh văn” khoa “Tin học”, gồm thông tin: Mã sinh viên, Tên khoa, Phái Liệt kê nam sinh viên khoa có tên “Tin học”, gồm thông tin: Mã sinh viên, Họ tên sinh viên, Phái, Tên khoa Cho biết sinh viên có ngày sinh từ ngày 01/01/1996 đến ngày 01/06/1996, gồm thông tin: Mã sinh viên, Họ tên sinh viên, Ngày sinh, Nơi sinh Lập danh sách sinh viên sinh năm 1997 Danh sách gồm thông tin: Mã sinh viên, Họ tên sinh viên, Ngày sinh Lập danh sách sinh viên có ngày tháng năm sinh từ tháng đến tháng Danh sách gồm thông tin: Mã sinh viên, Họ tên sinh viên, Ngày sinh Gợi ý: Month([NGAYSINH]) Between And Lập danh sách sinh viên gồm thông tin: Mã sinh viên, Họ tên, Phái, Tuổi 10 Lập danh sách gồm: Mã sinh viên, Họ tên, Ngày sinh sinh viên có sinh nhật ngày hôm (ngày hành hệ thống) 11 Lập bảng điểm mơn “Trí tuệ nhân tạo” sinh viên khoa “Tin học”, gồm thông tin: Họ tên, Ngày sinh, Điểm Danh sách xếp tăng dần theo Tên sinh viên 12 Lập bảng điểm theo mẫu sau: Mã sinh viên, Họ tên, Tên môn học, Điểm, Kết Biết Kết “Đậu” điểm từ trở lên, ngược lại Kết “Rớt” Truy vấn truyền tham số Trong bảng SINHVIEN, xem danh sách sinh viên theo Mã khoa truyền tham số Trong bảng SINHVIEN, xem danh sách sinh viên theo Tên sinh viên truyền tham số Tìm xác tìm gần theo Tên sinh viên Trong bảng SINHVIEN, xem danh sách sinh viên theo Ngày sinh (hoặc theo tháng, năm sinh) Trong bảng SINHVIEN, xem danh sách thông tin sinh viên theo Ngày sinh khoảng giá trị truyền tham số (Xem danh sách sinh viên có ngày sinh từ [Ngày 1] đến [Ngày 2], với [Ngày 1] [Ngày 2] nhập từ bàn phím) Xem danh sách sinh viên theo Mã sinh viên truyền tham số, danh sách gồm thông tin: Họ tên, Phái, Ngày sinh, Nơi sinh, Tên khoa, Học bổng Xem bảng điểm sinh viên theo Mã sinh viên truyền tham số, danh sách gồm thông tin: Mã sinh viên, Họ tên, Tên môn học, Điểm thi, Kết (Đậu/Rớt) Truy vấn cập nhật (Update Query) Tạo Query tăng học bổng 10% cho tất sinh viên Tạo Query tăng học bổng 10% cho sinh viên thuộc khoa có tên “Tin học” Tạo Query tăng số tín thêm cho môn học Tạo Query tăng thêm điểm thi cho sinh viên thi mơn có tên “Văn phạm” Tạo Query tăng thêm điểm thi cho sinh viên khoa “Tin học” thi môn tên “Đồ họa” Tạo Query tăng học bổng thêm 100000 cho sinh viên đạt điểm 10 mơn học có tên “Nhập mơn máy tính” - 104 - Hệ quản trị Cơ sở liệu Biên soạn: Nguyễn Vũ Duy Truy vấn tính toán thống kê liệu (Total / Group by) Cho biết điểm thi cao môn học “Nhập mơn máy tính” Cho biết trung bình điểm thi theo môn, gồm thông tin: Mã môn, Tên mơn, Trung bình điểm thi Danh sách số mơn thi sinh viên, gồm thông tin: Họ tên sinh viên, Tên khoa, Tổng số môn thi Cho biết tổng số sinh viên khoa, gồm thông tin: Tên khoa, Tổng số sinh viên Cho biết điểm cao sinh viên, gồm thông tin: Họ tên, Điểm cao Cho biết tổng số sinh viên nam Khoa bao nhiêu, thông tin gồm: MaKhoa, TenKhoa, TongSVNam Cho biết tổng số sinh viên nữ Khoa bao nhiêu, thông tin gồm: MaKhoa, TenKhoa, TongSVNu Cho biết độ tuổi trung bình sinh viên Khoa thông tin gồm: MaKhoa, TenKhoa, TuoiTB Gợi ý: Avg(Year(Date())-Year([NGAYSINH])) Hiển thị bảng điểm tổng hợp sinh viên gồm thông tin: MaSV, HoTenSV, DiemTB, TongSoMonThi Trong DiemTB điểm trung bình Mơn thi, TongSoMonThi tổng số môn thi sinh viên Điểm TB lấy số lẻ 10 Cho biết Tổng Sinh viên Môn học thông tin gồm: TenMH, TongSoSV Truy vấn sử dụng Query Wizard Lập danh sách gồm Mã sinh viên, Họ tên sinh viên có Nơi sinh với Lập danh sách gồm Mã sinh viên, Họ tên sinh viên có Tên với Lập danh sách gồm Mã sinh viên, Họ tên sinh viên chưa thi môn học Lập danh sách gồm Mã khoa, Tên khoa khoa mà chưa có sinh viên theo học Lập danh sách gồm Mã môn, Tên môn môn học mà chưa có sinh viên thi Truy vấn tổng hợp / Truy vấn chéo (Crosstab Query) Danh sách điểm môn sinh viên: Điểm môn trung bình điểm mơn Làm trịn Điểm trung bình lấy số lẻ - 105 - Hệ quản trị Cơ sở liệu Biên soạn: Nguyễn Vũ Duy Thống kê điểm môn, số môn đậu, số môn rớt sinh viên Gợi ý: Số môn đậu: Sum(IIf([DIEM]>=5,1,0)) G Biểu mẫu (Form) Thiết kế Form xem điểm sinh viên: Yêu cầu: - Tạo nút di chuyển đến ghi tiếp theo, đến ghi trước - Tạo nút Form - Tạo cơng thức xét kết quả, điểm từ trở lên kết “Đậu”, ngược lại ghi kết “Thi lại” Thiết kế Form nhập thông tin sinh viên: Yêu cầu: Tạo nút thoát Form, nút di chuyển đến ghi tiếp theo, ghi trước đó… - 106 - Hệ quản trị Cơ sở liệu Biên soạn: Nguyễn Vũ Duy Thiết kế Form xem điểm sinh viên theo dạng Form phụ: Yêu cầu: - Tạo nút thoát Form, nút di chuyển đến ghi tiếp theo, ghi trước - Tạo cơng thức tính Điểm trung bình tích lũy môn sinh viên ĐTB = (Điểm môn * TC môn + Điểm môn * TC mơn + …) / Tổng số tín tích lũy - Tạo công thức xét kết xếp loại dựa theo Điểm trung bình, ĐTB từ trở lên kết “Giỏi”, ĐTB từ trở lên kết “Khá”, ĐTB từ trở lên kết “Trung bình”, ngược lại (ĐTB