Bài giảng Hệ quản trị cơ sở dữ liệu - Chương I: Kiến trúc tổng quát của một hệ quản trị cơ sở dữ liệu
Tóm tắt Bài giảng Hệ quản trị cơ sở dữ liệu - Chương I: Kiến trúc tổng quát của một hệ quản trị cơ sở dữ liệu: ...ự xây dựng những truy vấn phức tạp cho công việc Kỹ sư, nhà khoa học, người phân tích, Định nghĩa hệ quản trị cơ sở dữ liệu Là một hệ thống phần mềm cung cấp các công cụ để xây dựng và quản lý CSDL Định nghĩa cấu trúc dữ liệu (DDL). Cung cấp khả năng thao tác trên CSDL (MDL). Hỗ trợ l...ame: string; customer-street: string; cusomter-city: string; end; 16 Các thành phần chính của DBMS Quản lý khôi phục Xử lý truy vấn Ngôn ngữ giao tiếp Quản lý giao tác Quản lý lưu trữ 17 Ngôn ngữ giao tiếp DBMS cung cấp giao diện lập trình để sử dụng với một ngôn ngữ lập trì...cord được tổ chức thành tập các đồ thị tùy ý Johnson 192-83-7465 Alma Palo Alto Smith 019-28-3746 North Rye Hayes 677-89-9011 Main Harison Tuner 182-73-6091 Putnam Stamford Jones 321-12-3123 Main Harison Lindsay 336-66-9999 Park Pittsfield TênKH MãKH ĐịaChỉ ThànhPhố A-101 500 A-215 700 A-1...
Chương I. Kiến trúc tổng quát của một hệ quản trị cơ sở dữ liệu 1 Nội dung Quá trình phát triển của các hệ xử lý dữ liệu bằng máy tính. Định nghĩa hệ quản trị cơ sở dữ liệu. Các đặc trưng của dữ liệu trên CSDL. Ba mức trừu tượng của dữ liệu. Các loại hệ quản trị CSDL. 2 Quá trình phát triển của các hệ xử lý dữ liệu bằng máy tính. Hệ thống tập tin cổ điển (file systems) Cơ sở dữ liệu (Database) Các đối tượng sử dụng CSDL 3 Hệ thống tập tin cổ điển (file systems) CSDL được lưu trữ dưới dạng tập hợp các files Mỗi file là một tập các records, thường có cùng một loại Một record là một chuỗi các fields Ví dụ: Xét hệ thống tập tin quản lý nhân sự của một đơn vị: Phòng Tổ chức hành chánh: Lý lịch chi tiết của CBCNV Phòng kế tóan: Phòng, họ tên, lương, phụ cấp, ngày công, Quản đốc phân xưởng: Họ tên, ngày công, ngày nghỉ, 4 Hệ thống tập tin cổ điển (file systems) Ưu điểm: Gọn nhẹ, phù hợp thực tiễn. Ít tốn thời gian, chi phí thấp Khả năng đáp ứng khai thác nhanh chóng và kịp thời Nhược điểm: Thông tin lưu nhiều nơi, dư thừa, không nhất quán Lãng phí thời gian cập nhật dữ liệu và lưu trữ Phối hợp tổ chức và khai thác là khó khăn Thiếu sự chia sẽ thông tin giữa các đơn vị và bộ phận. Khó khi nâng cấp ứng dụng. Không có người quản trị dữ liệu, mọi người có quyền sử dụng thêm, xóa, sửa không an tòan, không bảo mật thông tin 5 Cơ sở dữ liệu (Database) Là HTTT có cấu trúc, được lưu trữ trên các thiết bị mang tin từ tính, phục vụ việc khai thác thông tin của nhiều người sử dụng một cách đồng thời với nhiều mục đích khác nhau. Các vấn đề cần giải quyết Tính chủ quyền bị vi phạm Tính nhất quán CSDL Vấn đề bảo mật Tính an tòan dữ liệu Vấn đề tranh chấp dữ liệu Chia sẽ thông tin cho nhiều người sử dụng một cách đồng thời Đảm bảo dữ liệu truy xuất đồng thời theo nhiều cách khác nhau Tính độc lập giữa dữ liệu và chương trình / hệ thống ứng dụng 6 Các đối tượng sử dụng CSDL Quản trị viên (Database Administrator - DBA) Thiết kế viên (Database Designer) Người dùng cuối (End User) 2 cách khai thác CSDL: Trực tiếp: không thông qua chương trình ứng dụng viết trước và truy cập qua khung nhìn hay sql. Gián tiếp: thông qua chương trình ứng dụng viết trước. 7 Quản trị viên 8 Có trách nhiệm quản lý hệ CSDL Cấp quyền truy cập CSDL Điều phối và giám sát việc sử dụng CSDL Thiết kế viên 9 Chịu trách nhiệm về Lựa chọn cấu trúc phù hợp để lưu trữ dữ liệu Quyết định những dữ liệu nào cần được lưu trữ. Liên hệ với người dùng để nắm bắt được những yêu cầu và đưa ra một thiết kế CSDL thỏa yêu cầu này. Có thể là 1 nhóm các DBA quản lý các CSDL sau khi việc thiết kế hoàn tất Người dùng cuối 10 Người ít sử dụng Ít khi truy cập CSDL, nhưng cần những thông tin khác nhau trong mỗi lần truy cập và dùng những câu truy vấn phức tạp Người quản lý Người sử dụng thường xuyên Thường xuyên truy vấn và cập nhật CSDL nhờ vào một số các chức năng đã được xây dựng sẳn Nhân viên Người sử dụng đặc biệt Thông thạo về HQT CSDL, tự xây dựng những truy vấn phức tạp cho công việc Kỹ sư, nhà khoa học, người phân tích, Định nghĩa hệ quản trị cơ sở dữ liệu Là một hệ thống phần mềm cung cấp các công cụ để xây dựng và quản lý CSDL Định nghĩa cấu trúc dữ liệu (DDL). Cung cấp khả năng thao tác trên CSDL (MDL). Hỗ trợ lưu trữ dữ liệu. Điều khiển truy xuất dữ liệu giữa nhiều người dùng. 11 Các đặc trưng của dữ liệu trên CSDL Giảm thiểu sự trùng lắp thông tin. Bảo đảm tính nhất quán. Dữ liệu có thể chia sẽ cho nhiều người dùng một cách đồng thời. Bảo đảm dữ liệu có thể truy cập theo nhiều cách khác nhau. Có thể khôi phục khi có sự cố 12 13 Có tính độc lập Vật lý (physical): Khi thay đổi tổ chức vật lý của CSDL thì không làm ảnh hưởng đến chương trình đang khai thác CSDL đó Luận lý (logical): Khi thay đổi mức quan niệm không làm ảnh hưởng đến các chương trình đang khai thác CSDL Bảo mật thông tin được đảm bảo chặt chẽ. Mỗi người sử dụng sẽ được cấp một quyền hạn sử dụng những dữ liệu thuộc phạm vi của mình vào những thời điểm nhất định An tòan trước sự cố thông qua các cơ chế sao lưu và phục hồi dữ liệu một cách tự động Giải quyết tranh chấp dữ liệu thông qua các cơ chế cài đặt sẵn Các đặc trưng của dữ liệu trên CSDL Ba mức trừu tượng của dữ liệu. 14 Kiến trúc 3 lược đồ Người dùng Lược đồ ngoài 1 Lược đồ ngoài n Lược đồ quan niệm Lược đồ trong Người dùng Ánh xạ ngoài/ Ánh xạ quan niệm Mức ngoài Mức quan niệm Mức trong Ánh xạ quan niệm/ Ánh xạ trong Mức khung nhìn (mức ngoài) Mô tả 1 phần nào đó của toàn bộ hệ thống Mức quan niệm Những thông tin gì được lưu trữ trong CSDL Có những mối quan hệ nào giữa những thông tin đó Mức vật lý (mức trong) Dữ liệu được lưu trữ như thế nào 15 Ba mức trừu tượng của dữ liệu. Ví dụ Mức vật lý Mẫu tin customer là 1 block các byte liên tiếp nhau Mức luận lý customer và các mối liên kết được định nghĩa Mức khung nhìn Người sử dụng chỉ được truy xuất đến 1 phần thông tin của customer type customer = record customer-id: string; customer-name: string; customer-street: string; cusomter-city: string; end; 16 Các thành phần chính của DBMS Quản lý khôi phục Xử lý truy vấn Ngôn ngữ giao tiếp Quản lý giao tác Quản lý lưu trữ 17 Ngôn ngữ giao tiếp DBMS cung cấp giao diện lập trình để sử dụng với một ngôn ngữ lập trình CSDL SQL Server: Transaction-SQL (T-SQL) Oracle: PL/SQL Ngôn ngữ bao gồm Định nghĩa dữ liệu Thao tác dữ liệu 18 Quản lý giao tác Thành phần quản lý các giao tác có ảnh hưởng đến CSDL Giao tác là một nhóm các hành động mà nếu thực hiện được thì phải thực hiện hết tất cả các hành động trong giao tác đó, ngược lại xem như không thực hiện hành động nào transaction 1 2 3 4 5 7 8 19 Quản lý khôi phục Để CSDL được bền vững (durable), mọi thay đổi lên CSDL phải được ghi nhận lại. Log manager – ghi chép nhật ký. Đảm bảo CSDL vẫn nguyên vẹn khi có sự cố xảy ra. Recovery manager – khôi phục. Dựa vào nhật ký để phục hồi lại CSDL về trạng thái nhất quán trước đó. Trạng thái thỏa tất cả các RBTV của CSDL đó. 20 Xử lý truy vấn Biểu diễn câu truy vấn ở dạng ngôn ngữ cấp cao (SQL) và thực hiện câu truy vấn có hiệu quả Query compiler – biên dịch Query parser Xây dựng cấu trúc hình cây từ câu truy vấn Query preprocessor Kiểm tra ngữ nghĩa của câu truy vấn Chuyển đổi cấu trúc cây sang ngôn ngữ đại số quan hệ Query optimizer Sắp xếp các phép toán nhằm mục đích tối ưu hóa câu truy vấn 21 Quản lý lưu trữ Thành phần có nhiệm vụ điều khiển việc đọc/ghi dữ liệu qua lại giữa bộ nhớ và thiết bị lưu trữ Làm việc với các khái niệm Tập tin dữ liệu Từ điển dữ liệu Lưu trữ các metadata về cấu trúc của CSDL, đặc biệt là lược đồ của CSDL Chỉ mục 22 Các loại hệ quản trị CSDL Theo mô hình dữ liệu Mạng (Network) Phân cấp (Hierarchical) Quan hệ (Relation) Hướng đối tượng (Oriented-Object) XML Theo kiến trúc Đơn người dùng Client/Server Khác Multimedia Hypertext23 Mô hình mạng Dữ liệu ~ tập các record Mối quan hệ giữa các dữ liệu ~ các link Các record được tổ chức thành tập các đồ thị tùy ý Johnson 192-83-7465 Alma Palo Alto Smith 019-28-3746 North Rye Hayes 677-89-9011 Main Harison Tuner 182-73-6091 Putnam Stamford Jones 321-12-3123 Main Harison Lindsay 336-66-9999 Park Pittsfield TênKH MãKH ĐịaChỉ ThànhPhố A-101 500 A-215 700 A-102 400 A-305 350 A-201 900 A-217 750 A-222 700 MãTK SốDư Downtown Brooklyn 9000000 Perryridge Horseneck 1700000 Round Hill Horseneck 8000000 Mianus Woodside 1000000 Redwood Princeton 2000000 Brighton Brooklyn 7000000 TênCN ThànhPhố TổngTiền Khách hàng Tài khoản Chi nhánh24 Mô hình phân cấp Dữ liệu và mối quan hệ được biểu diễn bằng các record và link Các record được tổ chức dưới dạng tập các cây Johnson 192-83-7465 Hayes 677-89-9011 Tuner 182-73-6091 ... A-101 500 A-215 700 A-102 400 A-305 350 A-201 900 A-217 750 Smith 019-28-3746 A-201 900 John 321-12-3123 ... 25 Mô hình quan hệ Sử dụng bảng 2 chiều (quan hệ) để biểu diễn cho dữ liệu và mối quan hệ Johnson 192-83-7465 Alma Palo Alto Smith 019-28-3746 North Rye Hayes 677-89-9011 Main Harison Tuner 182-73-6091 Putnam Stamford Jones 321-12-3123 Main Harison Lindsay 336-66-9999 Park Pittsfield TênKH MãKH ĐịaChỉ ThànhPhố MãTK A-101 A-215 A-102 A-305 Johnson 192-83-7465 Alma Palo Alto A-201 A-217 A-222 A-101 500 A-215 700 A-102 400 A-305 350 A-201 900 A-217 750 A-222 700 MãTK SốDư Khách hàng Tài khoản 26 Mô hình hướng đối tượng Cấu trúc 1 đối tượng Biến (variables) Thông điệp (messages) Phương thức (methods) Các khái niệm của CSDL hướng đối tượng Lớp (class) Định danh đối tượng (Object Identity) Đóng gói (Encapsulation) Kế thừa (Inheritance) 27 XML Dữ liệu và mối quan hệ được biểu diễn thông qua ngôn ngữ đánh dấu (markup language) Cấu trúc của dữ liệu XML Thẻ Element 1 cặp thẻ mở/đóng Dữ liệu dưới dạng text Ngôn ngữ truy vấn – Xquery, Xpath Ngôn ngữ định nghĩa – DTD, XML Schema (XSD) 28 Theo kiến trúc Hệ thống tập trung: Các hệ CSDL tập trung chạy trên máy đơn và không trao đổi với các máy khác. Các hệ thống như vậy trải từ các hệ CSDL một người sử dụng chạy trên các máy cá nhân ( PC ) đến các hệ CSDL hiệu năng cao chạy trên các hệ mainframe. 29 Theo kiến trúc (tt) Hệ thống Client-Server: Các hệ thống server được phân thành 2 loại: server giao dịch (transaction server) và server dữ liệu (data server). 30 Quá trình phát triển các HQT CSDL Những năm thập niên 60-70 người ta đã xây dựng các HQT CSDL theo 2 hướng: mạng và phân cấp. Năm 70 các nhà sản xuất đã đưa ra HQT CSDL có tên là CODASYL Năm 76 IBM đưa ra HQT CSDL đầu tiên theo mô hình quan hệ của CODD mang tên SYSTEM-R và đã tồn tại được khỏang 2-3 năm sau đó. Năm 80, IBM đưa ra DB2 (hiện nay vẫn còn sử dụng). Các nhà sản xuất khác cũng đưa ra nhiều hệ CSDL khác, nhưng nổi tiếng nhất cho đến nay là 3 phần mềm quản trị CSDL: Oracle, SQL, Informix và sysbase. Tới năm 90 người ta nghiên cứu các các hệ QT CSDL theo hướng đối tượng. Tuy nhiên các HQTCSDL như thế hiện nay vẫn còn ít phần lớn vẫn đi theo mô hình quan hệ. 31
File đính kèm:
- bai_giang_he_quan_tri_co_so_du_lieu_chuong_i_kien_truc_tong.pdf