Bài giảng Cơ sở dữ liệu - Chương1. Khái quát về các hệ CSDL - Hồ Cẩm Hà

pdf 40 trang phuongnguyen 4910
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Cơ sở dữ liệu - Chương1. Khái quát về các hệ CSDL - Hồ Cẩm 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:

  • pdfbai_giang_co_so_du_lieu_chuong1_khai_quat_ve_cac_he_csdl_ho.pdf

Nội dung text: Bài giảng Cơ sở dữ liệu - Chương1. Khái quát về các hệ CSDL - Hồ Cẩm Hà

  1. Cơ sở dữ liệu Mục tiêu ắCung cấp những kiến thức cơ bản về nguyên lý tổ chức và khai thác đúng đắn một hệ CSDL, đặc biệt trong mô hình quan hệ. ắCung cấp và rèn cho sinh viên khả năng thiết kế (logic) một hệ CSDL quan hệ. ắThực hành cài đặt các ràng buộc toàn vẹn và tối −u hóa biểu thức tìm kiếm trên SQL Server Hồ Cẩm Hà - ĐH Sư phạm Hà nội1
  2. Tài liệu tham khảo 1.Hồ Thuần, Hồ Cẩm Hà, Các hệ cơ sở dữ liệu: Lí thuyết và thực hành, 2 tập, NXBGD 2004-2005. 2 Nguyễn Kim Anh, Nguyên lí các hệ CSDL, NXB Đại học quốc gia, 2004 3. Jeffrey D. Ullman, Nguyên lý các hệ cơ sở dữ liệu và cơ sở tri thức, Biên dịch : Trần Đức Quang tập 1, tập 2, NXB Thống kê, 1999. 4. Đỗ Trung Tuấn, Cơ sở dữ liệu quan hệ, NXB Giáo dục, 1998 Hồ Cẩm Hà - ĐH Sư phạm Hà nội2
  3. Tài liệu tham khảo 5. Date C.J., “An introduction to database systems”, seventh edition, Addison. Wesley, 2000. 6. Hector Garcia - Monila, Ullman J.D., Jennifer Widom “Database Systems: The complete Book", Prentice Hal, 2002 . 7. Thomas Connolly, Carolyn Begg, Anne Strachan, "Database systems. A Practical Approach to Design, Implementation, and Management", Second Edition, Addison Wesley Longman Limited 1999. 8. Ullman J.D., J. Widom “A first course in Database Systems", Prentice - Hall, 1997. Hồ Cẩm Hà - ĐH Sư phạm Hà nội3
  4. HỆ THỐNG THễNG TIN
  5. Chương1. Khỏi quỏt về cỏc hệ CSDL 1.CSDL là gỡ? „ tớch hợp cỏc dữ liệu phản ỏnh hoạt động (operational data) của một tổ chức „ lưu trữ trờn cỏc thiết bị nhớ „ nhiều người dựng với cỏc mục đớch khỏc nhau Tại sao cần đến cỏc hệ CSDL Hồ Cẩm Hà - ĐH Sư phạm Hà nội5
  6. Hệ quản trị cơ sở dữ liệu là gì? Phần mềm cho phép ng−ời dùng giao tiếp với CSDL, cung cấp môi tr−ờng thuận lợi và hiệu quả để tìm kiếm và l−u trữ thông tin của CSDL
  7. 2. Kiến trúc ba mức của một hệ CSDL Mục đích : sự tách biệt quan niệm về CSDL của nhiều ng−ời sử dụng với những chi tiết biểu diễn về vật lý của CSDL
  8. 3. L−ợc đồ và thể hiện của CSDL „ l−ợc đồ CSDL (database schema) „ thể hiện của CSDL (database instance) Hồ Cẩm Hà - ĐH Sư phạm Hà nội8
  9. 4. Độc lập dữ liệu Lược đồ ngoài Lược đồ ngoài Lược đồ ngoài Ánh xạ mức ngoài / mức khỏi niệm Độc lập dữ liệu mức logớc Lược đồ khỏi niệm Ánh xạ mức khỏi Độc lập dữ liệu mức vật lý niệm / mức trong Lược đồ trong Hồ Cẩm Hà - ĐH Sư phạm Hà nội9
  10. Độc lập dữ liệu „ Độc lập vật lý (là gì? vì sao phải thay đổi l−ợc đồ vật lý) „ Độc lập logic (là gì? vì sao phải thay đổi l−ợc đồ logic) Hồ Cẩm Hà - ĐH Sư phạm Hà nội10
  11. The Range of Database Applications „ Personal Database – standalone desktop database „ Workgroup Database – local area network (<25 users) „ Department Database – local area network (25-100 users) „ Enterprise Database – wide-area network (hundreds or thousands of users) Hồ Cẩm Hà - ĐH Sư phạm Hà nội11
  12. Typical data from a personal computer database Hồ Cẩm Hà - ĐH Sư phạm Hà nội12
  13. Workgroup database with local area network Hồ Cẩm Hà - ĐH Sư phạm Hà nội13
  14. An enterprise data warehouse Hồ Cẩm Hà - ĐH Sư phạm Hà nội14
  15. Components of the Database Environment „ CASE Tools – computer-aided software engineering „ Repository – centralized storehouse of metadata „ Database Management System (DBMS) –software for managing the database „ Database – storehouse of the data „ Application Programs – software using the data „ User Interface – text and graphical displays to users „ Data Administrators – personnel responsible for maintaining the database „ System Developers – personnel responsible for designing databases and software „ End Users – people whoHồ C ẩusem Hà - theĐH S ưapplications phạm Hà nội15 and databases
  16. Components of the database environment Hồ Cẩm Hà - ĐH Sư phạm Hà nội16
  17. 5.Những cách tiếp cận một CSDL Mô hình dữ liệu là một tập các khái niệm và ký pháp dùng để mô tả dữ liệu, các mối quan hệ của dữ liệu, các ràng buộc trên dữ liệu của một tổ chức. Hồ Cẩm Hà - ĐH Sư phạm Hà nội17
  18. Mô hình dữ liệu „ phần mô tả cấu trúc của CSDL; „ phần mô tả các thao tác, định nghĩa các phép toán đ−ợc phép trên dữ liệu; „ phần mô tả các ràng buộc toàn vẹn để đảm bảo sự chính xác của dữ liệu. Hồ Cẩm Hà - ĐH Sư phạm Hà nội18
  19. Mô hình dữ liệu „ Các mô hình logic trên cơ sở đối t−ợng (Object-Based Data Models) „ Các mô hình logic trên cơ sở bản ghi (Record-Based Data Models) Hồ Cẩm Hà - ĐH Sư phạm Hà nội19
  20. Mô hình dữ liệu (Object-Based Data Models) „ Mô hình thực thể - mối quan hệ „ Mô hình h−ớng đối t−ợng „ Mô hình dữ liệu ngữ nghĩa „ Mô hình dữ liệu chức năng Hồ Cẩm Hà - ĐH Sư phạm Hà nội20
  21. 6. Hệ quản trị cơ sở dữ liệu Một hệ quản trị cơ sở dữ liệu ( Database Management System, viết tắt là DBMS) là một tập hợp các ch−ơng trình cho phép ng−ời dùng định nghĩa, tạo lập, bảo trì các CSDL và cung cấp các truy cập có điều khiển đến các CSDL này (a)Ngôn ngữ định nghĩa dữ liệu (Data Definition Language, DDL): (b)Ngôn ngữ thao tác dữ liệu (Data Manipulation Language, DML) (c)Các kiểm soát, các điều khiển đối với việc truy cập vào CSDL Hồ Cẩm Hà - ĐH Sư phạm Hà nội21
  22. 6.Database Management System Application #1 Application #2 Database DBMSDBMS containing centralized shared data Application #3 DBMS manages data resources like an operating system manages hardware resources Hồ Cẩm Hà - ĐH Sư phạm Hà nội22
  23. Ngôn ngữ định nghĩa dữ liệu (DDL): Cho phép ng−ời dùng định nghĩa CSDL: cho phép ng−ời dùng đặc tả các kiểu và các cấu trúc dữ liệu, đặc tả các ràng buộc trên các dữ liệu l−u trữ trong CSDL. „ Từ điển dữ liệu là một tệp các dữ liệu về dữ liệu. „ Cấu trúc l−u trữ và các ph−ơng pháp truy cập của hệ CSDL sẽ đ−ợc đặc tả bởi một tập định nghĩa viết bằng một DDL xác định. Hồ Cẩm Hà - ĐH Sư phạm Hà nội23
  24. Ngôn ngữ thao tác dữ liệu (DML) „ Tìm kiếm thông tin l−u trữ trong CSDL; „ Chèn thêm thông tin mới vào CSDL; „ Xoá bỏ thông tin khỏi CSDL; „ Sửa đổi thông tin đ−ợc l−u trữ trong CSDL. Tính thủ tục/phi thủ tục (procedure/nonprocedure) Hồ Cẩm Hà - ĐH Sư phạm Hà nội24
  25. Các kiểm soát, các điều khiển đối với việc truy cập vào CSDL „ hệ thống an ninh (security) „ hệ thống ràng buộc toàn vẹn duy trì tính nhất quán của dữ liệu „ hệ thống điều khiển t−ơng tranh „ hệ thống điều khiển khôi phục cơ sở dữ liệu „ từ điển dữ liệu (catalog). Hồ Cẩm Hà - ĐH Sư phạm Hà nội25
  26. Chất l−ợng DBMS „ Về cơ bản hệ quản trị CSDL cung cấp các ph−ơng tiện nêu trên, nh−ng các hệ khác nhau sẽ khác nhau về chất l−ợng và khả năng đáp ứng nhu cầu thực tế. „ Các hệ quản trị CSDL luôn phát triển theo h−ớng đáp ứng các đòi hỏi ngày càng cao hơn của ng−ời dùng, bởi vậy các chức năng của DBMS ngày càng đ−ợc mở rộng hơn. Hồ Cẩm Hà - ĐH Sư phạm Hà nội26
  27. Vài nét về quá trình phát triển DBMSs „ 1960: Một trong những hệ quản trị đầu tiên là IMS (Information Management System) của hãng IBM (mô hình dữ liệu phân cấp). „ Giữa những năm 60 (thế kỷ 20), IDS (Integrated Data Store) ra đời đánh dấu sự xuất hiện đầu tiên của một hệ quản trị CSDL dựa trên mô hình dữ liệu mạng. Thế hệ thứ nhất. „ Năm 1976, hệ quản trị CSDL đầu tiên dựa trên mô hình quan hệ của hãng IBM mang tên System-R ra đời. Từ những năm 1980 đến nay hàng trăm hệ quản trị CSDL kiểu quan hệ ra đời cho cả môi tr−ờng máy tính lớn và cả máy tính cá nhân. Thế hệ thứ hai. „ Từ những năm 1990, bắt đầu xây dựng DBMS kiểu h−ớng đối t−ợng và h−ớng đối t−ợng-quan hệ. Thế hệ thứ ba. Hồ Cẩm Hà - ĐH Sư phạm Hà nội27
  28. Evolution of DB Systems „ Flat files - 1960s - 1980s „ Hierarchical – 1970s - 1990s „ Network – 1970s - 1990s „ Relational – 1980s - present „ Object-oriented – 1990s - present „ Object-relational – 1990s - present „ Data warehousing – 1980s - present „ Web-enabledHồ C–ẩm 1990sHà - ĐH Sư ph-ạmp Hàresent nội28
  29. Các chức năng của một hệ quản trị CSDL (1) Cung cấp cho ng−ời dùng khả năng l−u trữ, truy xuất và cập nhật dữ liệu. (2) Cung cấp cho ng−ời dùng một từ điển dữ liệu (catalog) (3) Hỗ trợ các giao tác (transaction) (4) Cung cấp các dịch vụ điều khiển t−ơng tranh để đảm bảo tính nhất quán dữ liệu khi có nhiều phiên làm việc với CSDL (5) Cung cấp một cơ chế để khôi phục dữ liệu (6) Cung cấp các dịch vụ bản quyền (7) Hỗ trợ cho truyền thông dữ liệu (8) Cung cấp các dịch vụ đảmHồ C ẩbảom Hà tính- ĐH S toànư phạm vẹn Hà n ộdữi29liệu.
  30. Các chức năng của một hệ quản trị CSDL (tiếp) Ngoài 8 chức năng trên ng−ời ta còn mong muốn hệ quản trị CSDL cung cấp thêm hai dịch vụ nữa: (9) Cung cấp các dịch vụ hỗ trợ cho tính độc lập dữ liệu. (10) Cung cấp một số dịch vụ tiện ích giúp DBA. Hồ Cẩm Hà - ĐH Sư phạm Hà nội30
  31. Kiến trúc của một hệ quản trị CSDL Trỡnh ứng dụng Truy vấn Lược đồ cơ sở dữ liệu DBMS Bộ tiền xử lớ Bộ xử lớ truy vấn Chương trỡnh ngụn ngữ thao dịch ngụn ngữ tỏc dữ liệu khai bỏo dữ liệu Mó chương trỡnh Bộ quản lớ cơ sở Bộ quản lớ từ dữ liệu điển Phương thức Bộ quản lớ tệp truy cập Bộ đệm của hệ thống Cơ sở dữ liệu và từ điển dữ liệu Hồ Cẩm Hà - ĐH Sư phạm Hà nội31
  32. Mó đớch Bộ xử lý yờu cầu Bộ quản lý chương trỡnh từ điển dữ liệu DM Trỡnh quản lý quyền truy cập Trỡnh kiểm tra Trỡnh xử lý Trỡnh tối ưu húa tớnh toàn vẹn cõu lệnh cõu hỏi Trỡnh quản lý Trỡnh lập lịch cỏc giao tỏc DM Trỡnh quản lý Trỡnh quản lý khụi bộ nhớ đệm phục dữ liệu Phương phỏp truy cập Bộ quản lớ tệp Cỏc vựng nhớ đệm của hệ thống Hồ CẩCmơ sHàở dữ -li ệĐu vHà tShưư m phục ạm Hà nội32 hệ thống/ từ điển dữ liệu
  33. Hoạt động của một ch−ơng trình ứng dụng thông qua các thành phần của DBMS Vựng đệm 1àm việc của Lược đồ ngoài chương trỡnh 10 Chương trỡnh (External ứng dụng A ứng dụng A a Scheme) 9 2 8b Hệ quản trị cơ sở dữ liệu Lược đồ khỏi niệm (logical Vựng đệm 1àm 8a b Scheme) việc của hệ quản trị cơ sơ dữ liệu 3 7 Hệ điều hành 6 c Lược đồ vật lý 4 4 (Physical Scheme) CSDL 5 Hệ quản lớ Nhập / xuất (I/O) Hồ Cẩm Hà - ĐH Sư phạm Hà nội33
  34. Sơ l−ợc về các kiến trúc hệ quản trị CSDL đa ng−ời dùng Hình 1.11 Kiến trúc hệ xử lý từ xa (teleprocessing) Hồ Cẩm Hà - ĐH Sư phạm Hà nội34
  35. Sơ l−ợc về các kiến trúc hệ quản trị CSDL đa ng−ời dùng Trạm làm việc 2 Trạm làm việc 1 LAN Trạm làm việc 3 Cỏc yờu cầu về dữ Cỏc tệp được gửi về trạm làm việc liệu Cơ sở dữ liệu File-server Hình 1.12 Kiến trúc tệp-máy chủ (file - server) File - server l−u giữ các tệp dữ liệu mà các ứng dụng và hệ QTCSDL cần đến. Tuy nhiên các ứng dụng và hệ QTCSDL chạy trên mỗi trạm làm việc (workstation) và yêu cầu các tệp dữ liệu ở file -HsồerverCẩm Hà khi - ĐH cầnSư ph ạđếnm Hà nội35
  36. Sơ l−ợc về các kiến trúc hệ quản trị CSDL đa ng−ời dùng Mỏy khỏch 2 Mỏy khỏch 1 LAN Mỏy khỏch 3 Cỏc yờu cầu về dữ liệu Dữ liệu được chọn gửi về mỏy khỏch Cơ sở dữ liệu Máy chủ (với DBMS) Các tiến trình t−ơng tác với nhau tạo nên hệ thống: tiến trình máy khách yêu cầu cung cấp tài nguyên nào đó và tiến trình máy chủ cung cấp tài nguyên đó. Hai tiến trình này không nhất thiết phải nằm trên cùng một máy tính. Hồ Cẩm Hà - ĐH Sư phạm Hà nội36
  37. Kiến trúc máy khách-máy chủ (client - server) „ Khả năng truy cập rộng rãi đến các CSDL. „ Nâng cao khả năng thực hiện: nếu tiến trình server và các tiến trình client ở trên các máy tính khác nhau thì các CPU khác nhau có thể cùng chạy song song, mỗi CPU thực hiện tiến trình của nó. „ Chi phí cho phần cứng có thể đ−ợc giảm do chỉ cần server có cấu hình đủ mạnh để l−u trữ và quản trị cơ sở dữ liệu. „ Chi phí cho truyền thông đ−ợc giảm do một phần trong các thao tác của ứng dụng đ−ợc giải quyết trên client, truyền thông trên mạng chỉ gồm: yêu cầu về truy cập cơ sở dữ liệu của client gửi đến server và dữ liệu kết quả từ server gửi cho client. „ Nâng cao đ−ợc khả năng đảm bảo tính nhất quán của dữ liệu. Server có thể kiểm soát đ−ợc tính toàn vẹn bởi các ràng buộc này đ−ợc định nghĩa và kiểm tra chỉ tại đó. „ Kiến trúc này phù hợp với việc xây dựng các hệ thống có tính mở. Hồ Cẩm Hà - ĐH Sư phạm Hà nội37
  38. Vai trò của con ng−ời trong hệ CSDL „ Ng−ời quản trị CSDL „ Ng−ời thiết kế CSDL „ Ng−ời lập trình ứng dụng „ Ng−ời sử dụng đầu cuối Hồ Cẩm Hà - ĐH Sư phạm Hà nội38
  39. Tóm tắt ch−ơng 1 „ Khái niệm CSDL, hệ quản trị CSDL „ Chức năng, vai trò, kiến trúc của DBMS „ Kiến trúc của một hệ CSDL „ Khái niệm mô hình dữ liệu „ Mô hình quan hệ „ Kiến trúc Clien-Server Hồ Cẩm Hà - ĐH Sư phạm Hà nội39
  40. Xin cảm ơn !