Hệ quản trị cơ sở dữ liệu - Cơ sở dữ liệu quan hệ

pdf 45 trang vanle 5440
Bạn đang xem 20 trang mẫu của tài liệu "Hệ quản trị cơ sở dữ liệu - Cơ sở dữ liệu quan hệ", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfhe_quan_tri_co_so_du_lieu_co_so_du_lieu_quan_he.pdf

Nội dung text: Hệ quản trị cơ sở dữ liệu - Cơ sở dữ liệu quan hệ

  1. CƠ SỞ DỮ LIỆU QUAN HỆ ThS. Nguyễn Thị Tâm 45 tiết Lý thuyết tamntam@gmail.com Sites.google.com/site/tamntam
  2. Hình thức đánh giá Hình thức đánh giá: Bài tập lớn Chia nhóm: 3 SV/ 1 đề tài Cách tính điểm:  10%: Chuyên cần  20%: Điểm giữa kỳ Kiểm tra BTVN Lên bảng  70%: Kết thúc môn BTL: 35% Thi viết: 35% 20/09/2012 2
  3. Cách đánh giá điểm chuyên cần Học phần 30 tiết 45 tiết 60 tiết 75 tiết Nội dung Vắng không phép - 2 điểm/tiết - 1.5 điểm/tiết - 1 điểm/buổi - 0.5 điểm/tiết - 0.5 - 0.25 Vắng có phép - 1 điểm/tiết - 0.5 điểm/tiết điểm/buổi điểm/tiết - 0.5 - 0.25 Đến lớp trễ - 0.5 điểm/lần - 0.5 điểm/lần điểm/buổi điểm/lần 20/09/2012 3
  4. Mục đích Trang bị cho sinh viên các kiến thức sau: Các khái niệm về cơ sở dữ liệu Thành thạo các phép toán đại số quan hệ Các khái niệm cơ bản của cơ sở dữ liệu quan hệ Các dạng chuẩn cơ bản Phương pháp thiết kế cơ sở dữ liệu Ngôn ngữ truy vấn bằng đại số quan hệ 20/09/2012 4
  5. Yêu cầu Kết thúc chương trình, sinh viên cần nắm vững: Các khái niệm cơ bản về CSDL Quan hệ Nắm được các ràng buộc dữ liệu trong CSDL Hiểu và biết cách vận dụng các mô hình thực thể liên kết (ER) để đặc tả CSDL của hệ thống thực Nắm vững phương pháp và thiết kế được CSDL theo chuẩn 3NF hoặc chuẩn Boyce – Codd Viết được các biểu thức truy vấn CSDL Quan hệ bằng đại số quan hệ 20/09/2012 5
  6. Nhiệm vụ của sinh viên Tham gia lớp học đầy đủ: lên lớp nghe giảng thảo luận Hoàn thành các bài tập về nhà và bài kiểm tra tại lớp 20/09/2012 6
  7. Nội dung Các khái niệm cơ bản Mô hình thực thể liên kết Mô hình quan hệ Phụ thuộc hàm, hệ tiên đề Amstrong Bao đóng, rút gọn phụ thuộc hàm Khóa Chuẩn của lược đồ quan hệ Thiết kế cơ sở dữ liệu Khai thác CSDL: biểu thức đại số quan hệ, SQL, 20/09/2012 7
  8. Tài liệu tham khảo Cơ sở dữ liệu, Khoa CNTT, Viện Mở Hà Nội Nhập môn CSDL, Nguyễn Tuệ, NXB Đại học Quốc Gia, 2008. Giáo trình nhập môn CSDL quan hệ - Lê Tiến Vương – NXB Giáo dục 2004 Cơ sở dữ liệu, Đỗ Trung Tuấn Cơ sở dữ liệu - lý thuyết và thực hành - Nguyễn Bá Tường Fundamentals of Database Systems, 3rd+ edition, John Wiley & Sons, Inc, 2000. 20/09/2012 8
  9. CHƯƠNG I: CÁC KHÁI NIỆM CƠ BẢN 20/09/2012 9
  10. Vì sao phải học CSDL? Ví dụ 1: Để quản lý bán hàng tại một cửa hàng điện thoại di động, giả sử người ta tổ chức 1 tập tin lưu trữ có dạng như sau: STT Tên điện thoại Đơn giá Số lượng Thành tiền 01 V3i 176 $ 2 325 $ 02 Samsung E250 117 $ 1 117 $ 03 V3i 176 $ 1 176 $ 04 V3i 176 $ 2 325 $ . 20/09/2012 10
  11. Ví dụ 2: Tại một trường Đại học, để nâng cao chất lượng đào tạo và nghiên cứu khoa học. Giả sử người ta tổ chức lưu trữ hồ sơ cán bộ trong trường và một số thông tin khác để tiện theo dõi. Thông tin về cán bộ gồm mã cán bộ, họ, tên, học vị, học hàm, khoa Trong khi đó ở mỗi khoa của trường do yêu cầu công việc riêng, khoa cũng tổ chức lưu trữ cán bộ trong khoa (hồ sơ được trích ra từ phòng đào tạo) 20/09/2012 11
  12. Khi chưa có máy tính người ta lưu trữ dữ liệu như thế nào? Cách lưu trữ dữ liệu bằng các tệp tin truyền thống. Vd: Các file .xls, .doc . Tổ chức riêng rẽ Phục vụ cho một mục đích Ưu: Đáp ứng yêu cầu nhanh chóng Ít cần đầu tư tiền của, chất xám, Nhược: Thông tin không nhất quán Thiếu sự kế thừa, chia sẻ thông tin. Không phù hợp với các hệ thống thông tin lớn!!! 20/09/2012 12
  13. Vì những nhược điểm nêu trên, nên người ta đã xây dựng lý thuyết thiết kế CSDL nhằm mang lại những mô hình CSDL tối ưu theo nghĩa: Không dư thừa dữ liệu Bảo đảm tính nhất quán Không có dị thường xảy ra Bảo đảm tính dùng chung. 20/09/2012 13
  14. I. Cơ sở dữ liệu là gì? Cơ sở dữ liệu (Database): là tập hợp dữ liệu có cấu trúc được lưu trữ trên các thiết bị trữ tin nhằm thỏa mãn đồng thời cho nhiều người sử dụng khác nhau với các mục đích khác nhau CSDL bao gồm các loại dữ liệu: âm thanh, tiếng nói, chữ viết, văn bản, đồ họa, hình ảnh, được mã hóa và lưu trữ dưới dạng file cụ thể Lưu trữ thông tin Người dùng CSDL Cho phép truy cập thông tin 20/09/2012 14
  15. Ví dụ: Cơ sở dữ liệu quản lý học tập trong trường đại học: Thông tin về sinh viên Thông tin về môn học Thông tin về điểm,  -> là các thông tin có ý nghĩa, có liên quan đến nhau, được lưu trên máy tính và có nhiều người sử dụng! 20/09/2012 15
  16. Các yêu cầu cơ bản của CSDL Tính cấu trúc Tính toàn vẹn Tính nhất quán Tính an toàn và bảo mật Tính độc lập Tính không dư thừa 20/09/2012 16
  17. Các vấn đề CSDL cần giải quyết: Tính chủ quyền của dữ liệu Tính bảo mật và quyền khai thác thông tin Tranh chấp dữ liệu Đảm bảo an toàn dữ liệu khi có sự cố 20/09/2012 17
  18. Các mức biểu diễn của CSDL Gồm 3 mức : Mức ngoài : là tập tất cả các dữ liệu mà người sử dụng cụ thể có thể nhìn thấy và được phép truy cập, là mức của người sử dụng và các chương trình ứng dụng  thể hiện một phần CSDL mà người dùng cần khai thác Mức khái niệm (mức trung gian): giải quyết vấn đề lưu trữ dữ liệu loại gì, lưu trữ bao nhiêu, mối quan hệ trong CSDL và mối quan hệ giữa các loại dữ liệu này như thế nào  cho biết dữ liệu nào được lưu trữ trong hệ CSDL Mức trong (mức vật lý): Đây là mức lưu trữ dữ liệu. Mục đích của mức này giải quyết vấn đề dữ liệu là gì, dữ liệu được lưu trữ như thế nào và nhằm mục đích gì  Tập hợp các file dữ liệu Một CSDL chỉ có một CSDL vật lý, một CSDL khái niệm nhưng có nhiều khung nhìn khác nhau 20/09/2012 18
  19. * Sự phân mức một CSDL User 1 View 1 CSDL CSDL User 2 View 2 mức mức khái . vật niệm lý User k View k Mức ngoài Mức trung gian Mức vật lý 20/09/2012 19
  20. *Phân loại cơ sở dữ liệu Cơ sở dữ liệu dạng file: được lưu dưới dạng các file văn bản, như: text, doc, dbf, Cơ sở dữ liệu quan hệ: dữ liệu được lưu trữ trong các bảng, giữa các bảng có quan hệ với nhau Cơ sở dữ liệu hướng đối tượng: dữ liệu cũng được lưu trữ trong các bảng nhưng các bảng có bổ sung thêm các tính năng hướng đối tượng (lưu trữ hành vi đối tượng) Cơ sở dữ liệu bán cấu trúc: được lưu dưới định dạng XML, mô tả về đối tượng thể hiện trong các thẻ 20/09/2012 20
  21. Các ứng dụng của cơ sở dữ liệu: trong hầu hết các lĩnh vực Kinh doanh: thông tin sản phẩm, khách hàng, nhà cung cấp, Doanh nghiệp: cán bộ, lương, công việc, Giáo dục: học sinh, điểm, môn học, giáo viên, Thư viện: tài liệu, tác giả, độc giả Y tế: bệnh nhân, thuốc, bác sỹ, điều trị,  Các đối tượng sử dụng CSDL: Những người sử dụng CSDL không chuyên Các chuyên viên biết khai thác CSDL – lập trình. Người quản trị CSDL 20/09/2012 21
  22. II. Hệ quản trị CSDL: Một hệ quản trị CSDL là: Một tập hợp các phần mềm quản lý CSDL và cung cấp các dịch vụ xử lý CSDL cho các nhà phát triển ứng dụng và người dùng cuối HQTCSDL cung cấp một giao diện giữa người sử dụng và dữ liệu Một Hệ quản trị CSDL phải có ít nhất các chức năng sau: Định nghĩa dữ liệu → DDL (Data Definition Language) Thêm, sửa, xóa dữ liệu → DML (Data Manipulation Language) Truy vấn dữ liệu → SQL (Structured Query Language) Quản lý dữ liệu → DCL (Data Control Language) Sắp xếp, tìm kiếm  Đa số HQT CSDL đều sử dụng ngôn ngữ truy vấn cấu trúc SQL 20/09/2012 22
  23. Để khai thác và lưu trữ thông tin trong máy tính cần có: •Cơ sở dữ liệu •Hệ quản trị cơ sở dữ liệu •Các thiết bị vật lý 20/09/2012 23
  24. Ưu điểm của HQT CSDL: Quản lý được dữ liệu dư thừa Đảm bảo tính nhất quán cho dữ liệu Tạo khả năng chia sẻ dữ liệu nhiều hơn Cải tiến tính toàn vẹn cho dữ liệu Nhược điểm: HQT CSDL tốt thì khá phức tạp HQT CSDL tốt thường rất lớn, chiếm nhiều dung lượng bộ nhớ Giá cả khác nhau tùy theo môi trường và chức năng HQT CSDL được viết tổng quát cho nhiều người dùng thì thường chậm 20/09/2012 24
  25. *Phân loại Hệ QTCSDL Theo mô hình dữ liệu: Mô hình dữ liệu Hệ QT CSDL Quan hệ Hệ QT CSDL quan hệ Mạng Hệ QT CSDL mạng Phân cấp Hệ QT CSDL phân cấp Theo số người sử dụng đồng thời: Hệ QT CSDL đơn Hệ QT CSDL đa người dùng Theo vị trí đặt CSDL: Hệ QT CSDL tập trung Hệ QT CSDL phân tán 20/09/2012 25
  26. * Các thành phần trong hệ QT CSDL: • CSDL cho phép nhiều người sử dụng, nhiều chương trình ứng dụng cùng chia sẻ, dùng để lưu trữ dữ liệu • Người sử dụng (user): Là những người có nhu cầu truy cập vào CSDL để thực hiện một thao tác nào đó. VD: các lập trình viên ứng dụng, những người sử dụng thiết bị cuối từ xa ) • Phần mềm QT CSDL. • Phần cứng: Các thiết bị nhớ thứ cấp được sử dụng để lưu trữ dữ liệu 20/09/2012 26
  27. *. Người dùng: Người dùng: khai thác CSDL thông qua HQT CSDL, phân thành ba loại: quản trị CSDL: quản lý và bảo trì CSDL phát triển ứng dụng và lập trình: người chuyên nghiệp về máy tính, có trách nhiệm thiết kế, tạo dựng và bảo trì hệ thống người dùng cuối: người không chuyên về máy tính, các chuyên gia trong các lĩnh vực khác có trách nhiệm cụ thể trong tổ chức 20/09/2012 27
  28. *. Ràng buộc dữ liệu Ràng buộc dữ liệu là mối quan hệ, ràng buộc lần nhau giữa các thực thể dữ liệu Ràng buộc chính là: Tập các quy tắc, quy định yêu cầu dữ liệu trong CSDL phải thỏa mãn Phân loại ràng buộc dữ liệu: Ràng buộc kiểu: loại ràng buộc thấp nhất, mô tả tính chất của thuộc tính khi tạo lập CSDL Ràng buộc giải tích: là ràng buộc giữa các thuộc tính, được biểu diễn bằng biểu thức toán học Ràng buộc logic: thể hiện mối quan hệ giữa các thuộc tính với nhau, không phải là ràng buộc giải tích được gọi là phụ thuộc hàm 20/09/2012 28
  29. III. Mô hình cơ sở dữ liệu? Mô hình cơ sở dữ liệu là sự trừu tượng hóa môi trường thực Khái niệm: Mô hình CSDL là tập hợp các khái niệm dùng để biểu diễn các cấu trúc của cơ sở dữ liệu. Bao gồm: Kiểu dữ liệu Mối liên kết Các ràng buộc Mô hình CSDL là hệ hình thức toán học gồm có hai phần: Một hệ thống các ký hiệu để mô tả dữ liệu Một tập hợp các phép toán thao tác trên dữ liệu đó. Đặc trưng của một mô hình dữ liệu: Tính ổn định khi thiết kế mô hình dữ liệu Tính đơn giản: dễ hiểu và dễ thao tác Tính dư thừa phải kiểm tra kỹ càng Cơ sở lý thuyết vững chắc 20/09/2012 29
  30. Lịch sử của mô hình CSDL 20/09/2012 30
  31. Một vài mô hình dữ liệu Mô hình phân cấp Mô hình mạng Mô hình quan hệ Mô hình thực thể liên kết Mô hình hướng đối tượng Mô hình bán cấu trúc Mô hình dữ liệu của XML 20/09/2012 31
  32. Mô hình dữ liệu quan hệ thường được dùng trong các hệ quản trị CSDL, mô hình này không được trực quan => thường dùng một mô hình trung gian đó là mô hình thực thể kết hợp. Hiện nay mô hình thực thế kết hợp được coi là mô hình chuẩn để thiết kế hệ thống thông tin. 20/09/2012 32
  33. a. Mô hình dữ liệu quan hệ Mô hình dữ liệu quan hệ do E.F. Codd đề xuất. Nền tảng cơ bản của nó là khái niệm lý thuyết tập hợp trên các quan hệ, tức là tập các bộ giá trị. Mô hình này: Biểu thị dữ liệu trong một CSDL như một tập các quan hệ. Một quan hệ là một bảng các giá trị gồm các dòng và các cột Mã SV Họ và tên Ngày sinh Địa chỉ 0001 Nguyen 12/12/1989 Hà nội 0002 An 2/3/1990 20/09/2012 33
  34. b. Mô hình dữ liệu phân cấp Mô hình dữ liệu phân cấp là một cây (Tree) trong đó mỗi nút của cây biểu diễn một thực thể, giữa nút con và nút cha được liên hệ với nhau theo một mối quan hệ xác định. Như vậy, mối liên hệ từ mẫu tin chủ tới các mẫu tin thành viên là 1-n, và từ mẫu tin thành viên tới mẫu tin chủ là 1-1. Ưu điểm: biểu diễn tốt mối quan hệ 1 - N 34 20/09/2012 34
  35. Ví dụ : TOÀN QUỐC HÀ NỘI HẢI PHÒNG NAM ĐỊNH ĐÔNG ANH BA ĐÌNH CỔ LOA NAM HỒNG HỘ 1 HỘ 2 NK 1 NK 1 20/09/2012 35
  36. c. Mô hình dữ liệu mạng Mô hình dữ liệu mạng (lưới) là mô hình được biểu diễn bởi một đồ thị có hướng. Sử dụng kiến trúc phân cấp, cho phép các bảng con có thể có nhiều bảng cha Dữ liệu được lưu trong các bộ thay vì trong định dạng cây phân cấp. Ưu điểm: biểu diễn tốt mối quan hệ N-N 20/09/2012 36
  37. PHÒNG LÝ LỊCH 1-n Gồm Có 1-1 NHÂN VIÊN n-1 Cùng làm 1-n CÔNG VIỆC quản lý Mô hình dữ liệu mạng ( Network Model) 20/09/2012 37
  38. d. Mô hình dữ liệu hướng đối tượng Là loại mô hình tiên tiến nhất hiện nay, dựa trên cách tiếp cận hướng đối tượng Sử dụng các khái niệm như lớp, sự kế thừa, kế thừa bội Phương pháp tiếp cận này còn mới mẻ và các hệ quản trị CSDL hướng đối tượng hiện nay vẫn chưa nhiều và chưa thuần nhất 20/09/2012 38
  39. e. Mô hình dữ liệu Kho dữ liệu Kho dữ liệu là một tập các dữ liệu có những đặt điểm sau: tập trung vào một chủ đề, tổng hợp từ nhiều nguồn dữ liệu khác nhau, từ nhiều thời gian, và không sửa đổi. Được dùng trong việc hỗ trợ ra quyết định trong công tác quản lý Kho dữ liệu: Data Warehouse 20/09/2012 39
  40. *Các bước xây dựng một hệ CSDL 20/09/2012 40
  41. Lợi ích khi sử dụng CSDL - HQTCSDL Hạn chế dư thừa dữ liệu Có tính chia sẻ Ngăn cản truy cập bất hợp pháp Lưu trữ lâu dài Cho phép suy dẫn dữ liệu Cung cấp giao diện đa người dùng Biểu diễn được các mối quan hệ phức tạp của dữ liệu Đảm bảo ràng buộc toàn vẹn dữ liệu Cho phép sao lưu phục hồi khi có sự cố. 20/09/2012 41
  42. V. Đối tượng sử dụng CSDL Đối tượng trực tiếp: là những người tham gia thiết kế, xây dựng, bảo trì và sử dụng một CSDL. Đối tượng gián tiếp: những người phân tích, phát triển và thực hiện tạo ra môi trường hệ thống và phần mềm của hệ QTCSDL. -> Không trực tiếp thao tác trên một HQTCSDL cụ thể. 20/09/2012 42
  43. 1. Đối tượng trực tiếp Quản trị viên – Database Administrator: người quản lý và chịu trách nhiệm với nguồn dữ liệu Tổ chức nội dung Phân quyền truy cập Đảm bảo an toàn, bảo mật, sao lưu,, phục hồi, Thiết kế viên: Phỏng vấn người sử dụng để nắm được yêu cầu Xác định dữ liệu cần lưu trữ Lựa chọn cấu trúc thích hợp để biểu diễn Phân tích thiết kế hệ thống sau khi thống nhất được các yêu cầu. 20/09/2012 43
  44. Người dùng cuối: Truy vấn Cập nhật Thống kê Lập trình viên: thực hiện các yêu cầu thông qua lập trình sử dụng ngôn ngữ phù hợp Viết code Chạy thử Chữa lỗi, gỡ rối Viết tài liệu hướng dẫn sử dụng Bảo trì hệ thống. 20/09/2012 44
  45. 2. Đối tượng gián tiếp Người phân tích và xây dựng hệ QTCSDL Người phát triển công cụ Người kiểm tra và bảo trì phần cứng và phần mềm của hệ thống 20/09/2012 45