Mở đầu 1 1 Tìm thông tin từ các cột của bảng – 1 1 Mệnh đề Select Chọn các dòng của bảng – Mệnh đề 2 2 Where Sắp xếp các dòng của bảng – Mệnh đề 1 1 Order by Câu lệnh truy vấn lồng nhau 2 2 Gom nhóm dữ liệu – mệnh đề Group by 2 2 Bài tập thực hành 10 10 Kiểm tra 1 1 III Bài 3: Ràng buộc toàn vẹn 4 3 1 Ràng buộc toàn vẹn 1 1 Phân loại ràng buộc toàn vẹn 2 2 Bài tập thực hành 1 1 IV Bài 4: Lý thuyết thiết kế cơ sở dữ liệu 24 14 9 1 Các vấn đề gặp phải khi tổ chức dữ liệu 1 2 Các phụ thuộc hàm 3 3 Bao đóng của tập phụ thuộc hàm và bao 3 3 đóng của tập thuộc tính Khóa của lược đồ quan hệ - Một số 3 3 thuật toán tìm khóa Phủ tối thiểu 3 3 Bài tập thực hành 9 9 Kiểm tra 1 1 Cộng: 60 30 27 3 6 Bài 1: TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU Mã bài: MĐ10-01 Giới thiệu: Bài này giới thiệu khái quát về các mô hình dữ liệu cơ bản, các thuật ngữ, khái niệm liên quan trong cơ sở dữ liệu. Thông qua bài học này người đọc sẽ hình dung được những vấn đề cần tiếp cận, khai thác trong mô đun cơ sở dữ liệu. Mô hình dữ liệu quan hệ là dạng mô hình cơ sở dữ liệu cơ bản, được khai thác về mặt lý thuyết khá triệt để, triển khai về mặt ứng dụng hiệu quả nhất so với các mô hình dữ liệu khác. Trong chương này, chúng ta sẽ tìm hiểu sâu hơn một số khái niệm, thuật ngữ.
Đồng thời tìm hiểu một trong những phương pháp xây dựng một mô hình dữ liệu quan hệ dựa trên các nguyên tắc chuyển đổi từ mô hình thực thể mối quan hệ. Mục tiêu: Trình bày sơ lược các khái niệm về cơ sở dữ liệu, các mô hình dữ liệu. Trình bày chi tiết mô hình thực thể kết hợp (ERD). Phân tích dữ liệu và thiết kế được mô hình thực thể kết hợp.
Trình bày cụ thể về mô hình dữ liệu quan hệ. Áp dụng được các quy tắc chuyển đổi từ mô hình ERD sang mô hình dữ liệu quan hệ. Rèn luyện tính cẩn thận, chính xác trong phân tích và giải quyết vấn đề. Một số khái niệm cơ bản Mục tiêu: Trình bày sơ lược các khái niệm về cơ sở dữ liệu.
Định nghĩa cơ sở dữ liệu Dữ liệu được lưu trữ trên các thiết bị lưu trữ theo một cấu trúc nào đó để phục vụ cho nhiều người dùng với nhiều mục đích khác nhau gọi là cơ sở dữ liệu. Ưu điểm của cơ sở dữ liệu - Giảm sự trùng lắp thông tin xuống mức thấp nhất và do đó bảo đảm được tính nhất quán và toàn vẹn dữ liệu. - Đảm bảo dữ liệu có thể truy xuất theo nhiều cách khác nhau. - Khả năng chia sẻ thông tin cho nhiều người sử dụng.
Các đặc trưng của phương pháp cơ sở dữ liệu - Tính chia sẻ dữ liệu: dữ liệu được chia sẻ bởi nhiều người dùng hợp pháp. - Tính giảm thiểu dư thừa dữ liệu: Dữ liệu dùng chung cho nhiều bộ phận được lưu một nơi theo cấu trúc thống nhất. - Tính tương thích: Việc loại bỏ dư thừa kéo theo hệ quả là sự tương thích. - Tính toàn vẹn dữ liệu: Đảm bảo một số ràng buộc toàn vẹn.
Khi người dùng chèn, xoá, sửa thì ràng buộc phải được kiểm tra chặc chẽ. - Tính bảo mật dữ liệu: Đảm bảo an toàn dữ liệu và bảo mật thông tin là quan trọng. - Tính đồng bộ dữ liệu: Thông thường cơ sở dữ liệu được nhiều người dùng truy cập đồng thời. Cần có cơ chế bảo vệ chống sự không tương thích.
7 - Tính độc lập dữ liệu: Sự tách biệt cấu trúc mô tả dữ liệu khỏi chương trình ứng dụng sử dụng dữ liệu gọi là độc lập dữ liệu. Điều này cho phép phát triển tổ chức dữ liệu mà không sửa đổi chương trình ứng dụng. Các đối tượng sử dụng CSDL Đối tượng sử dụng là người khai thác cơ sở dữ liệu thông qua hệ quản trị CSDL. Có thể phân làm ba loại đối tượng: Người quản trị CSDL, người phát triển và lập trình ứng dụng, người dùng cuối cùng.
Người quản trị CSDL: Là người hàng ngày chịu trách nhiệm quản lí và bảo trì CSDL như: + Sự chính xác, toàn vẹn và bảo mật của dữ liệu và ứng dụng trong CSDL. + Lưu trữ dự phòng và phục hồi CSDL. + Giữ liên lạc với người phát triển và lập trình ứng dụng, người dùng cuối. + Bảo đảm sự hoạt động hiệu quả của CSDL và hệ quản trị CSDL Người phát triển và lập trình ứng dụng: là những người chuyên nghiệp về lĩnh vực tin học có trách nhiệm thiết kế, tạo dựng và bảo trì thông tin cuối cùng cho người dùng.
Người dùng cuối là những người không chuyên trong lĩnh vực tin học, họ là các chuyên gia trong các lĩnh vực khác có trách nhiệm cụ thể trong công việc. Họ khai thác CSDL thông qua chương trình (phần mềm ứng dụng) được xây dựng bởi người phát triển ứng dụng hay công cụ truy vấn của hệ quản trị CSDL. Hệ Quản Trị Cơ Sở Dữ Liệu (Data Base Management System) Để giải quyết tốt những vấn đề mà cách tổ chức CSDL đặt ra như đã nói ở trên, cần thiết phải có những phần mềm chuyên dùng để khai thác chúng. Những phần mềm này được gọi là các hệ quản trị CSDL.
Các hệ quản trị CSDL có nhiệm vụ hỗ trợ cho các nhà phân tích thiết kế CSDL cũng như những người khai thác CSDL. Hiện nay trên thị trường phần mềm đã có những hệ quản trị CSDL hỗ trợ được nhiều tiện ích như: MS Access, Visual Foxpro, SQL Server, Oracle, … Mỗi hệ quản trị CSDL đều được cài đặt dựa trên một mô hình dữ liệu cụ thể. Dù là dựa trên mô hình dữ liệu nào, một hệ quản trị CSDL cũng phải hội đủ các yếu tố sau: - Ngôn ngữ giao tiếp giữa người sử dụng và CSDL, bao gồm: Ngôn ngữ mô tả dữ liệu: Để cho phép khai báo cấu trúc của CSDL, khai báo các mối liên hệ của dữ liệu và các quy tắc quản lý áp đặt lên các dữ liệu đó. Ngôn ngữ thao tác dữ liệu: Cho phép người sử dụng có thể cập nhật dữ liệu (thêm/sửa/xoá).
Ngôn ngữ truy vấn dữ liệu: cho phép người khai thác sử dụng để truy vấn các thông tin cần thiết trong Cơ sở dữ liệu. Ngôn ngữ quản lý dữ liệu: cho phép những người quản trị hệ thống thay đổi cấu trúc của các bảng dữ liệu, khai báo bảo mật thông tin và cấp quyền hạn khai thác CSDL cho người sử dụng.,… -Từ điển dữ liệu: Dùng để mô tả các ánh xạ liên kết, ghi nhận các thành phần cấu trúc của CSDL, các chương trình ứng dụng, mật mã, quyền hạn sử dụng,… - Cơ chế giải quyết vấn đề tranh chấp dữ liệu: Mỗi hệ quản trị CSDL cũng có thể cài đặt một cơ chế riêng để giải quyết các vấn đề này. Một số biện pháp sau đây thường được sử dụng: thứ nhất: cấp quyền ưu tiên cho từng người sử dụng; thứ hai: Đánh dấu yêu cầu truy xuất dữ liệu, phân chia thời gian, người nào có yêu cầu trước thì có quyền truy xuất dữ liệu trước,… - Hệ quản trị CSDL cũng phải có cơ chế sao lưu (backup) và phục hồi (restore) dữ liệu khi có sự cố xảy ra. Điều này có thể thực hiện sau một thời gian nhất 8 định hệ quản trị CSDL sẽ tự động tạo ra một bản sao CSDL, cách này hơi tốn kém, nhất là đối với CSDL lớn.
- Hệ quản trị CSDL phải cung cấp một giao diện thân thiện, dễ sử dụng. Các Ứng Dụng Của Cơ Sở Dữ Liệu Hiện nay, hầu như CSDL gắn liền với mọi ứng dụng của tin học; chẳng hạn như việc quản lý hệ thống thông tin trong các cơ quan nhà nước, việc lưu trữ và xử lý thông tin trong các doanh nghiệp, trong các lĩnh vực nghiên cứu khoa học, trong công tác giảng dạy, cũng như trong việc tổ chức thông tin đa phương tiện,… 2. Các mô hình dữ liệu Mục tiêu: Trình bày giới thiệu sơ lược các mô hình dữ liệu. Mô hình dữ liệu là sự trừu tượng hoá môi trường thực.
Mỗi loại mô hình dữ liệu đặc trưng cho một cách tiếp cận dữ liệu khác nhau của những nhà phân tích thiết kế CSDL. Mỗi loại mô hình dữ liệu đều có những ưu điểm và những mặt hạn chế của nó, nhưng vẫn có những mô hình dữ liệu nổi trội và được nhiều người quan tâm nghiên cứu. Sau đây chúng ta sẽ điểm qua lịch sử phát triển của các mô hình dữ liệu. - Vào những năm sáu mươi, thế hệ đầu tiên của CSDL ra đời dưới dạng mô hình thực thể kết hợp, mô hình mạng và mô hình phân cấp.
- Vào những năm bảy mươi, thế hệ thứ hai của CSDL ra đời. Đó là mô hình dữ liệu quan hệ do EF. Codd phát minh. Mô hình này có cấu trúc logic chặt chẽ.
Đây là mô hình đã và đang được sử dụng rộng khắp trong công tác quản lý trên phạm vi toàn cầu. Việc nghiên cứu mô hình dữ liệu quan hệ nhằm vào lý thuyết chuẩn hoá các quan hệ và là một công cụ quan trọng trong việc phân tích thiết kế các hệ CSDL hiện nay. Mục đích của nghiên cứu này nhằm bỏ đi các phần tử không bình thường của quan hệ khi thực hiện các phép cập nhật, loại bỏ các phần tử dư thừa. - Sang thập kỷ tám mươi, mô hình CSDL thứ ba ra đời, đó là mô hình cơ sở dữ liệu hướng đối tượng, mô hình cơ sở dữ liệu phân tán, mô hình cơ sở dữ liệu suy diễn,… Trong phần tiếp theo sau đây, chúng tôi sẽ trình bày về mô hình dữ liệu tiêu biểu nhất để thiết kế (bước đầu) một ứng dụng tin học, đó là mô hình thực thể kết hợp.
Trong các chương còn lại của giáo trình này chúng tôi sẽ trình bày về mô hình dữ liệu quan hệ. Mô hình thực thể kết hợp Mục tiêu: Trình bày chi tiết mô hình thực thể kết hợp (ERD), có thể phân tích dữ liệu và thiết kế được mô hình thực thể kết hợp. Hiện nay mô hình dữ liệu quan hệ thường được dùng trong các hệ quản trị CSDL, đây là mô hình dữ liệu ở mức vật lý.