Bài tập 1 trang 86 SGK Tin học 12
Theo em, khi xét một mô hình dữ liệu ta cần quan tâm những yếu tố nào?
Để xét một mô hình dữ liệu, chúng ta cần chú ý đến các yếu tố chính nhằm đảm bảo mô hình được thiết kế hiệu quả, dễ hiểu và phục vụ tốt các yêu cầu quản lý dữ liệu. Các yếu tố quan trọng bao gồm:
Thực thể (Entity):
Thực thể là các đối tượng chính trong hệ thống mà chúng ta cần quản lý, lưu trữ thông tin. Khi xét một mô hình dữ liệu, việc xác định các thực thể là bước đầu tiên và rất quan trọng. Mỗi thực thể đại diện cho một đối tượng cụ thể như khách hàng, sản phẩm, nhân viên, đơn hàng,...
Ví dụ: Trong một hệ thống quản lý thư viện, các thực thể có thể bao gồm: sách, bạn đọc, nhân viên thư viện, phiếu mượn sách.
Thuộc tính (Attribute):
Mỗi thực thể cần được mô tả thông qua các thuộc tính, là các đặc trưng của thực thể đó. Các thuộc tính giúp lưu trữ thông tin chi tiết của thực thể.
Ví dụ: Thực thể "Sách" có các thuộc tính như: mã sách, tên sách, tác giả, năm xuất bản, nhà xuất bản.
Mối quan hệ (Relationship):
Các thực thể trong một hệ thống thường có mối quan hệ với nhau. Xác định và biểu diễn rõ ràng các mối quan hệ giữa các thực thể là một yếu tố quan trọng khi xét một mô hình dữ liệu.
Ví dụ: Trong hệ thống quản lý thư viện, mối quan hệ "mượn" giữa bạn đọc và sách thể hiện việc bạn đọc mượn sách từ thư viện.
Ràng buộc dữ liệu (Constraints):
Ràng buộc là các quy tắc đặt ra để đảm bảo tính toàn vẹn của dữ liệu trong hệ thống. Có các loại ràng buộc như: ràng buộc miền giá trị, ràng buộc khóa, ràng buộc quan hệ.
Ví dụ: Ràng buộc "Mã sách" là duy nhất, không có hai cuốn sách nào có mã sách giống nhau.
Khả năng mở rộng và hiệu quả:
Mô hình dữ liệu cần đảm bảo tính linh hoạt, có khả năng mở rộng khi hệ thống phát triển, thêm các thực thể hoặc thuộc tính mới. Ngoài ra, nó cũng cần đảm bảo hiệu quả truy xuất và xử lý dữ liệu.
Dữ liệu thừa (Redundancy):
Dữ liệu thừa trong mô hình cần được giảm thiểu thông qua quá trình chuẩn hóa. Điều này giúp tránh trùng lặp thông tin và giảm thiểu khả năng xảy ra lỗi dữ liệu.
Tóm lại, khi xét một mô hình dữ liệu, cần chú ý đến các yếu tố về thực thể, thuộc tính, mối quan hệ, ràng buộc dữ liệu, khả năng mở rộng và hiệu quả, cùng việc giảm thiểu dữ liệu thừa. Điều này sẽ đảm bảo mô hình dữ liệu được thiết kế logic và hiệu quả.
Bài tập 2 trang 86 SGK Tin học 12
Hãy nêu các khái niệm cơ bản mà em biết về hệ CSDL quan hệ.
Hệ cơ sở dữ liệu quan hệ (Relational Database System) là một trong những mô hình dữ liệu phổ biến nhất hiện nay, dựa trên mô hình quan hệ. Dưới đây là các khái niệm cơ bản:
Cơ sở dữ liệu quan hệ:
Đây là một tập hợp dữ liệu được tổ chức theo dạng các bảng (table). Mỗi bảng đại diện cho một thực thể hoặc một mối quan hệ và chứa các bản ghi (record) về thực thể hoặc mối quan hệ đó.
Ví dụ: Trong hệ thống quản lý sinh viên, có bảng "Sinh viên" lưu trữ thông tin về các sinh viên và bảng "Môn học" lưu thông tin về các môn học.
Quan hệ (Relation):
Là bảng trong cơ sở dữ liệu. Mỗi quan hệ bao gồm các cột (thuộc tính) và các hàng (bộ dữ liệu).
Ví dụ: Bảng "Sinh viên" có các cột như mã sinh viên, tên, ngày sinh và mỗi hàng lưu thông tin của một sinh viên cụ thể.
Thuộc tính (Attribute):
Thuộc tính là cột trong một bảng, đại diện cho các thông tin cụ thể của một đối tượng.
Ví dụ: Thuộc tính "Họ và tên" trong bảng "Sinh viên" lưu tên của các sinh viên.
Bộ (Tuple):
Là một hàng trong bảng, đại diện cho một đối tượng cụ thể.
Ví dụ: Một bộ trong bảng "Sinh viên" có thể là: (SV001, Nguyễn Văn A, 01/01/2000).
Khóa (Key):
Khóa là một hoặc một tập hợp thuộc tính giúp xác định duy nhất một bản ghi trong bảng. Có các loại khóa:
Ví dụ: Trong bảng "Sinh viên", "Mã sinh viên" là khóa chính, và trong bảng "Đăng ký môn học", "Mã sinh viên" là khóa ngoại liên kết với bảng "Sinh viên".
Miền giá trị (Domain):
Là tập hợp tất cả các giá trị có thể nhận của một thuộc tính.
Ví dụ: Thuộc tính "Ngày sinh" có miền giá trị là các ngày hợp lệ từ lịch.
Ràng buộc toàn vẹn (Integrity Constraints):
Là các quy tắc để đảm bảo tính chính xác và nhất quán của dữ liệu trong cơ sở dữ liệu. Các ràng buộc chính gồm:
Hệ CSDL quan hệ dựa trên các khái niệm trên để lưu trữ, quản lý và truy xuất dữ liệu một cách hiệu quả, đáp ứng nhu cầu của người dùng.
Bài tập 3 trang 86 SGK Tin học 12
Những tiêu chí nào giúp ta chọn khóa chính trong bảng. Hãy cho ví dụ và giải thích.
Khóa chính (Primary Key) là một thuộc tính hoặc tập hợp thuộc tính được chọn để xác định duy nhất mỗi bản ghi trong một bảng. Để chọn khóa chính, cần xem xét các tiêu chí sau:
Tính duy nhất (Uniqueness):
Giá trị của khóa chính phải duy nhất cho mỗi bản ghi trong bảng. Điều này đảm bảo mỗi bản ghi có thể được nhận diện mà không nhầm lẫn với bản ghi khác.
Ví dụ: Trong bảng "Sinh viên", "Mã sinh viên" là khóa chính vì mỗi sinh viên có một mã duy nhất.
Tính không rỗng (Non-null):
Giá trị của khóa chính không được phép là giá trị null. Điều này đảm bảo mỗi bản ghi đều được xác định đầy đủ.
Ví dụ: Nếu "Mã sách" trong bảng "Sách" là khóa chính, thì tất cả các bản ghi phải có giá trị mã sách.
Tính ổn định (Stability):
Giá trị của khóa chính không được thay đổi thường xuyên để tránh ảnh hưởng đến các bảng khác có liên quan.
Ví dụ: Sử dụng số chứng minh nhân dân làm khóa chính trong bảng "Người dân" thay vì sử dụng họ và tên, vì họ và tên có thể thay đổi khi người dân sửa thông tin cá nhân.
Tính tối thiểu (Minimality):
Khóa chính nên được chọn sao cho số lượng thuộc tính trong khóa là tối thiểu, không cần dư thừa.
Ví dụ: Trong bảng "Hóa đơn", có thể chọn "Mã hóa đơn" làm khóa chính thay vì kết hợp cả "Ngày lập hóa đơn" và "Mã khách hàng".
Khả năng lập chỉ mục (Indexing):
Thuộc tính được chọn làm khóa chính nên dễ dàng lập chỉ mục để cải thiện hiệu suất truy vấn dữ liệu.
Ví dụ và giải thích:
Giả sử chúng ta có bảng "Sách" với các thuộc tính:
Mã sách (duy nhất)
Tên sách
Tác giả
Năm xuất bản
Trong bảng này, "Mã sách" là lựa chọn phù hợp cho khóa chính vì:
Mỗi mã sách là duy nhất.
Mã sách không rỗng.
Mã sách ổn định và không thay đổi.
Chỉ cần sử dụng một thuộc tính (tính tối thiểu).
Nếu chọn "Tên sách" làm khóa chính, sẽ gặp vấn đề vì có thể có nhiều sách trùng tên. Điều này làm mất tính duy nhất của khóa chính.
Tóm lại, các tiêu chí giúp chọn khóa chính bao gồm tính duy nhất, không rỗng, ổn định, tối thiểu và khả năng lập chỉ mục. Các tiêu chí này đảm bảo khóa chính hoạt động hiệu quả và hỗ trợ tốt cho quản lý dữ liệu.
Tìm kiếm tại đây