Khái quát về các hệ CSDL Lưu trữ dữ liệu dạng tệp truyền thống Dư thừa dữ liệu và không nhất quán Khó khăn trong việc truy cập dữ liệu Sự cô lập của dữ liệu Các vấn đề toàn vẹn
Trang 1BCV: THS PHạM VĂN HUY
Bộ MÔN TOÁN – KHOA SƯ PHạM
Một số vấn đề về
Cơ sở dữ liệu
Trang 2Tài liệu tham khảo
Hồ Thuần, Hồ Cẩm Hà
Các hệ cơ sở dữ liệu: Lý thuyết và thực hành, NXBGD, 2009
Tô Văn Nam
Giáo trình Cơ sở dữ liệu
NXBGD, 2009
Jeffrey D.Ullman
Nguyên lý các hệ CSDL và Cơ sở tri thức (Tập 1 Mô hình dữ liệu và ngôn ngữ vấn tin)
Trang 3Giới thiệu
Thông tin
Sự hiểu biết của con người
Dữ liệu
là các số liệu rời rạc (con số, ký hiệu, hình ảnh, …)
chứa đựng thông tin cần quan tâm
Vd: Điểm thi, số điện thoại, tên nhân viên…
không có ý nghĩa nếu chưa được xử lý
Nghịch lý:
Xử lý thông tin làm nghèo thông tin
Trang 4Khái quát về các hệ CSDL
Lưu trữ dữ liệu dạng tệp truyền thống
Dư thừa dữ liệu và không nhất quán
Khó khăn trong việc truy cập dữ liệu
Sự cô lập của dữ liệu
Các vấn đề toàn vẹn
Các vấn đề về tính nguyên tố của các giao tác
Các dị thường của truy cập tương tranh
Các vấn đề về an toàn, bảo mật
Giải quyết nhờ Các hệ CSDL
Trang 5Khái quát về các hệ CSDL
Cơ sở dữ liệu
đích
Hệ quản trị Cơ sở dữ liệu
Phần mềm
Giúp người dùng giao tiếp với CSDL
Tạo 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
Access (dùng cho hệ thống nhỏ và vừa, dễ sử dụng)
FoxPro, SQL Server, Oracle, MySQL
Trang 7Tại sao lại quan tâm đến vấn đề này?
Mức logic (Mức khái niệm)
Mô tả dữ liệu nào cần được lưu trữ và mối quan hệ giữa chúng
Biểu diễn các thực thể, thuộc tính và các mối quan hệ
Các ràng buộc toàn vẹn
Mức khung nhìn (Mức ngoài)
Trang 8 Trình bày dữ liệu ở những khuôn dạng khác nhau (khung
nhìn)
Trang 10 CSDL thay đổi theo thời gian (do thêm, xóa, sửa, …)
Thể hiện CSDL = Toàn bộ dữ liệu tại một thời điểm nhất định
Có thể có nhiều thể hiện CSDL ứng với một lược đồ CSDL
Trang 11 Cần thiết khi nào?
Độc lập nào dễ thực hiện hơn?
Trang 12Khái quát về các hệ CSDL
Các cách tiếp cận một CSDL
Mô tả lược đồ như thế nào?
Ngôn ngữ định nghĩa dữ liệu của hệ QTCSDL Mức thấp
Mô hình dữ liệu Mức cao
Mô hình dữ liệu
Tập các khái niệm + ký pháp dùng để mô tả dữ liệu, các
mối quan hệ của dữ liệu và các ràng buộc trên dữ liệu
Trang 13Khái quát về các hệ CSDL
Trang 14 Các mô hình logic
Các mô hình dựa trên cơ sở đối tượng
Mô hình thực thể - mối quan hệ (liên kết)
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
Các mô hình dựa trên cơ sở bản ghi
Mô hình quan hệ
Mô hình mạng
Mô hình phân cấp
3 thế hệ của hệ CSDL?
Trang 15Khái quát về các hệ CSDL
Các mô hình logic
Sự khác nhau giữa các mô hình
Mô hình dựa trên cơ sở bản ghi
Cung cấp tính độc lập dữ liệu
tả tường minh các ràng buộc trên dữ liệu
• Đòi hỏi người dùng phải có những hiểu biết ở mức vật lý
Mô hình dựa trên cơ sở bản ghi
Cung cấp nhiều chất liệu có tính ngữ nghĩa để đặc tả ràng
buộc
Trang 16 Dữ liệu phải đảm bảo tính đúng đắn trong mọi trường hợp
Tính an toàn, bảo mật thông tin
Tính độc lập với các ứng dụng
Không dư thừa
Cho ví dụ?
Làm sao để khắc phục?
Trang 17Bài tập
Trang 18Khái quát về các hệ CSDL
Hệ quản trị CSDL
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
Cung cấp các truy cập có điều khiển đến CSDL
Hỗ trợ
Ngôn ngữ định nghĩa dữ liệu (DDL)
Hệ thống các ký hiệu cho phép người dùng định nghĩa
CSDL
Từ điển dữ liệu
• Dữ liệu về dữ liệu (meta-data)
• Cung cấp thông tin về dữ liệu cho hệ QTCSDL
Ngôn ngữ thao tác dữ liệu (DML)
Các kiểm soát, các điều khiển đối với các truy cập vào CSDL
Trang 19Khái quát về các hệ CSDL
Trang 20 Hệ quản trị CSDL
Hỗ trợ
Các kiểm soát, các điều khiển đối với các truy cập vào CSDL
Trang 21Khái quát về các hệ CSDL
Hệ quản trị CSDL
Các chức năng
Cung cấp khả năng lưu trữ, truy xuất, cập nhật dữ liệu
Cung cấp từ điển dữ liệu
Hỗ trợ các giao tác
Cung cấp các dịch vụ điều khiển tương tranh
Cung cấp cơ chế để khôi phục dữ liệu
Cung cấp dịch vụ phân quyền
Hỗ trợ cho truyền thông dữ liệu
Cung cấp dịch vụ đảm bảo tính toàn vẹn dữ liệu
…
Trang 22Khái quát về các hệ CSDL
Hệ quản trị CSDL
Kiến trúc của một hệ quản trị CSDL
Hoạt động của CTUD qua hệ quản trị CSDL
Trang 23Kiến trúc của một hệ quản trị CSDL
Trang 25 Người sử dụng đầu cuối
Người sử dụng đơn giản
Người sử dụng tinh tế
Trang 26Khái quát về các hệ CSDL
Kiến trúc hệ QTCSDL đa người dùng
Hệ xử lý từ xa
Một máy tính trung tâm + một số trạm đầu cuối
Trang 27Khái quát về các hệ CSDL
Kiến trúc hệ QTCSDL đa người dùng
Kiến trúc máy chủ tệp (file server)
Xử lý phân tán ở các trạm làm việc
• Chỉ chứa cơ sở dữ liệu
• Các ứng dụng + hệ QTCSDL
Nhược điểm
Trang 28Khái quát về các hệ CSDL
Kiến trúc hệ QTCSDL đa người dùng
Kiến trúc máy khách-máy chủ (Client-Server)
Xử lý phân tán ở các trạm làm việc
Máy trung tâm
• Chứa cơ sở dữ liệu + phần Server của hệ QTCSDL
Trạm làm việc
• Các ứng dụng + phần Client của hệ QTCSDL
Ưu điểm
Nâng cao khả năng thực hiện (song song)
Có thể giảm chi phí phần cứng, giảm lượng lưu thông trên mạng
Nâng cao khả năng đảm bảo tính nhất quán
Phù hợp với hệ thống có tính mở
Trang 29Mô hình dữ liệu quan hệ
Trang 30Mô hình dữ liệu quan hệ
Các khái niệm cơ bản
Miền (Domain) Kiểu dữ liệu
Tập hợp các giá trị nguyên tố
Tên miền, kiểu dữ liệu, khuôn dạng dữ liệu
Mỗi thuộc tính có một miền
Quan hệ (Relation) Bảng
Một tập con tích Decartest của một hay nhiều miền
r = { (a1, a2, …, an ) | a i Dom(A i ) với i=1, 2,…, n }
• Dom(Ai): Miền của thuộc tính Ai
• (a1, a2, …, an): Các bộ của quan hệ Các dòng
Lược đồ quan hệ (Relation Scheme)
Trang 31Mô hình dữ liệu quan hệ
Trang 32 Các khái niệm cơ bản
Các tính chất đặc trưng của một quan hệ
Có tên phân biệt
Miền chỉ gồm giá trị nguyên tố (không đa trị, phức hợp)
Các giá trị của một thuộc tính phải thuộc cùng một miền
Thứ tự thuộc tính là không quan trọng (ở mức logic)
Các bộ trong quan hệ là phân biệt
Thứ tự các bộ không quan trọng (về lý thuyết)
Trang 33Mô hình dữ liệu quan hệ
Các khái niệm cơ bản
Khóa của quan hệ
Siêu khóa
Trang 34Mô hình dữ liệu quan hệ
Xác lập dựa trên thuộc tính khóa
Sự lặp lại một hay nhiều thuộc tính trong hai quan hệ