Trong mô hình dữ liệu quan hệ không có hai bộ nào trong một bảng giống nhau hoàn toàn thuộc về

Xem toàn bộ tài liệu Lớp 12: tại đây

Giải Bài Tập Tin Học 12 – Bài 10: Cơ sở dữ liệu quan hệ giúp HS giải bài tập, giúp cho các em hình thành và phát triển năng lực sử dụng công nghệ thông tin và truyền thông:

    • Sách Giáo Viên Tin Học Lớp 12

    Bài 1 trang 86 Tin học 12: Theo em khi xét một mô hình dữ liệu quan hệ ta cần quan tâm những yếu tố nào?

    Lời giải:

    – Ta cần quan tâm những yếu tố sau:

    • Cấu trúc dữ liệu: Dữ liệu được lưu trong các bảng. Mỗi bảng gồm các hàng và các cột thể hiện thông tin về một chủ thể.

    • Các thao tác, phép toán trên dữ liệu: Thêm, xóa, sửa các bản ghi trong một bảng. Các kết quả tìm kiếm thông tin qua truy vấn dữ liệu có được nhờ thực hiện các thao tác trên dữ liệu.

    • Ràng buộc dữ liệu: Dữ liệu trong các bảng phải thỏa mãn một số ràng buộc, chẳng hạn không được có hai bộ nào trong một bảng giống nhau hoàn toàn.

    Bài 2 trang 86 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ệ.

    Lời giải:

    – Những khái niệm cơ bản về hệ CSDL quan hệ:

    – Cơ sở dữ liệu quan hệ là cơ sở dữ liệu được xây dựng dựa trên mô hình dữ liệu quan hệ.

    – Hệ quản trị cơ sở dữ liệu quan hệ là hệ quản trị cơ sở dữ liệu dùng để tạo lập, cập nhật và khai thác CSDL quan hệ.

    – Khóa: Các thuộc tính có thể được dùng để phân biệt các cá thể.

    – Khóa chính: Trong các khóa của một bảng người ta thường chọn một khóa làm khóa chính.

    – Liên kết: Thực chất là sự liên kết giữa các bảng được xác lập dựa trên thuộc tính khóa.

    Bài 3 trang 86 Tin học 12: Những tiêu chí nào giúp ta chọn khóa chính cho bảng? Hãy cho ví dụ và giải thích.

    Lời giải:

    – Có 2 tiêu chí giúp ta chọn khóa chính cho bảng:

    – Tập thuộc tính phải đủ để phân biệt các cá thể trong một bảng.

    – Số lượng thuộc tính nên là ít nhất.

    – Ví dụ: Trong bảng Sinhvien có các thuộc tính id,ten,ngaysinh. ID có thề giúp chúng ta phân biệt được các cá thể trong một bảng. Id,ten có thể giúp chúng ta phân biệt được các cá thể trong một bảng. Id,ten,ngaysinh cũng có thể giúp ta phân biệt được các cá thể trong một bảng. Tuy nhiên ta chọn id làm khóa chính vì vừa có ít thuộc tính nhất lại vừa đảm bảo điều kiện của khóa.

    Một trong những lợi ích đối với việc nhập dữ liệu bằng bổ trợ Power Pivot là đôi khi Power Pivot có thể phát hiện ra các mối quan hệ và tạo mối quan hệ mới trong Mô hình Dữ liệu mà nó tạo trong Excel.

    Khi bạn nhập nhiều bảng, Power Pivot tự động phát hiện bất kỳ mối quan hệ hiện có nào giữa các bảng. Đồng thời khi bạn tạo PivotTable, Power Pivot phân tích dữ liệu trong các bảng. Nó phát hiện các mối quan hệ có thể có chưa được xác định và đề xuất các cột thích hợp để đưa vào các mối quan hệ đó.

    Thuật toán phát hiện sử dụng dữ liệu thống kê về giá trị và siêu dữ liệu của các cột để đưa ra các suy luận về xác suất của các mối quan hệ.

    • Các kiểu dữ liệu trong tất cả các cột liên quan phải tương thích với nhau. Tính năng phát hiện tự động chỉ hỗ trợ các kiểu dữ liệu số nguyên và văn bản. Để biết thêm thông tin về các kiểu dữ liệu, xem Các kiểu dữ liệu được hỗ trợ trong Mô hình Dữ liệu.

    • Để phát hiện thành công mối quan hệ, số khóa duy nhất trong cột tra cứu phải lớn hơn các giá trị trong bảng ở bên nhiều. Nói cách khác, cột khóa ở bên nhiều của mối quan hệ không được chứa bất kỳ giá trị nào không có trong cột khóa của bảng tra cứu. Ví dụ, giả sử bạn có bảng liệt kê các sản phẩm cùng với ID của chúng (bảng tra cứu) và bảng bán hàng liệt kê các giao dịch bán hàng cho từng sản phẩm (bên nhiều của mối quan hệ). Nếu các bản ghi bán hàng của bạn chứa ID của một sản phẩm không có ID tương ứng trong bảng Products, chương trình không thể tạo tự động mối quan hệ, nhưng bạn có thể tạo mối quan hệ theo cách thủ công. Để Excel phát hiện được mối quan hệ, trước tiên bạn cần cập nhật bảng tra cứu Product với ID của các sản phẩm bị thiếu.

    • Hãy đảm bảo rằng tên của cột khóa ở bên nhiều tương tự như tên của cột khóa trong bảng tra cứu. Các tên không cần phải giống nhau hoàn toàn. Ví dụ: trong thiết đặt doanh nghiệp, bạn thường có các biến thể về tên của cột về cơ bản là cùng một dữ liệu: ID Emp, IDnhân viên, ID nhân viên, EMP_ID, v.v.. Thuật toán phát hiện các tên tương tự và gán xác suất cao hơn cho những cột có tên tương tự hoặc khớp chính xác. Do đó, để tăng xác suất tạo mối quan hệ, bạn có thể thử đổi tên các cột trong dữ liệu mà bạn nhập vào dữ liệu tương tự như cột trong bảng hiện có của bạn. Nếu Excel nhiều mối quan hệ có thể có thì mối quan hệ đó sẽ không tạo ra mối quan hệ.

    Thông tin này có thể giúp bạn hiểu vì sao không phải tất cả các mối quan hệ đều được phát hiện và những thay đổi với siêu dữ liệu--như tên trường và kiểu dữ liệu--có thể cải thiện kết quả phát hiện tự động mối quan hệ như thế nào. Để biết thêm thông tin, xem Khắc phục sự cố cho Mối quan hệ.

    Tự động Phát hiện Tệp có Tên

    Các mối quan hệ không được phát hiện tự động giữa các Bộ có Tên và các trường liên quan trong PivotTable. Bạn có thể tạo các mối quan hệ này theo cách thủ công. Nếu bạn muốn dùng tính năng phát hiện tự động mối quan hệ, hãy loại bỏ từng Bộ có Tên và thêm trực tiếp các trường riêng rẽ từ Bộ có Tên vào PivotTable.

    Suy luận Mối quan hệ

    Trong một số trường hợp, mối quan hệ giữa các bảng được ghép nối tự động. Ví dụ, nếu bạn tạo một mối quan hệ giữa hai bộ bảng dưới đây, một mối quan hệ được suy luận là tồn tại giữa hai bảng khác và mối quan hệ được thiết lập tự động.

    Sản phẩm và Thể loại -- được tạo theo cách thủ công

    Sản phẩm và Thể loại con -- được tạo theo cách thủ công

    Sản phẩm và Thể loại con -- mối quan hệ được suy ra

    Để ghép nối tự động các mối quan hệ, các mối quan hệ phải đi theo một chiều, như được hiển thị ở trên. Nếu có các mối quan hệ ban đầu giữa Sales và Products, và Sales và Customers, không có mối quan hệ nào được suy luận. Đây là vì mối quan hệ giữa Products và Customers là quan hệ nhiều-đến-nhiều.

    1.1. Mô hình dữ liệu

    – Mô hình dữ liệu là một tập khái niệm dùng để mô tả cấu trúc dữ liệu, các thao tác dữ liệu, các ràng buộc dữ liệu của một CSDL.

    – Các loại mô hình dữ liệu:

    • Mô hình lôgic (mô hình dữ liệu bậc cao) cho mô tả CSDL ở mức khái niệm và mức khung nhìn.

    • Mô hình vật lí (mô hình dữ liệu bậc thấp) cho biết dữ liệu được lưu trũ thế nào.

    1.2. Mô hình dữ liệu quan hệ

    – Mô hình dữ liệu quan hệ được  E. F. Codd đề xuất năm 1970. Trong khoảng ba mươi năm trở lại đây, các hệ CSDL xây dựng theo mô hình quan hệ được dùng rất phổ biến.

    – Trong mô hình quan hệ:

    • Về mặt cấu trúc: Dữ liệu được thể hiện trong các bảng (hàng, cột).
    • Về mặt thao tác trên dữ liệu: Có thể cập nhật dữ liệu như thêm, xóa hay sửa bản ghi trong một bảng. Các kết quả tìm kiếm thông tin qua truy vấn dữ liệu có được nhờ thực hiện các thao tác trên dữ liệu.
    • Về mặt các ràng buộc dữ liệu:  Dữ liệu trong các bảng phải thoả mãn một số ràng buộc. Chẳng hạn, không được có hai bộ nào trong một bảng giống nhau hoàn toàn.

    1.3. Cơ sở dữ liệu quan hệ

    a. Khái niệm

    • CSDL quan hệ: CSDL được xây dựng trên mô hình dữ liệu quan hẹ.

    • Hệ QTCSDL quan hệ: dùng để tạo lập, cập nhật và khai thác CSDL quan hệ.

    b. Các đặc trưng của một quan hệ

    – Mỗi quan hệ có tên để phân biệt với các quan hệ khác.

    – Các bộ là phân biệt và thứ tự các bộ là không quan trọng.

    – Mỗi thuộc tính có một tên phân biệt và thứ tự các thuộc tính không quan trọng.

    – Quan hệ không có thuộc tính đa trị hay phức hợp.

    Lưu ý:

    • Quan hệ là bảng
    • Thuộc tính là trường (cột)
    • Bộ là bản ghi (hàng).

    Ví dụ: Để quản lí việc học sinh mượn sách ở một trường học, thông thường quản lí các thông tin sau:

    – Thông tin người mượn sách.

    – Thông tin sách

    – Thông tin mượn sách (ai mượn sách, mượn sách gì, thời gian mượn/ trả)

    Trong mô hình dữ liệu quan hệ không có hai bộ nào trong một bảng giống nhau hoàn toàn thuộc về

    1.4. Khóa và liên kết giữa các bảng

    a. Khóa: Khoá của một bảng là một tập gồm một hay một số thuộc tính của bảng pân biệt dược các cá thể.

    b. Khóa chính

    • Một bảng có thể có nhiều khóa. Trong các khóa của một bảng người ta thường chọn (chỉ định) một khóa làm khoá chính (primary key). 

    • Khi nhập dữ liệu cho một bảng, giá trị của mọi bộ tại khóa chính không được để trống. 

    • Các hệ QTCSDL quan hệ kiểm soát điều đó và đảm bảo sự nhất quán dữ liệu, tránh trường hợp thông tin về một đối tượng xuất hiện hơn một lần sau những cập nhật dữ liệu. Trong mô hình quan hệ, ràng buộc như vậy về dữ liệu còn được gọi là ràng buộc toàn vẹn thực thể (hay gọi ngắn gọn là ràng buộc khóa).

    Chú ý:

    • Mỗi bảng có ít nhất một khóa. Việc xác định khoá phụ thuộc vào quan hệ lôgic của các dữ liệu chứ không phụ thuộc vào giá trị các dữ liệu.

    • Nên chọn khoá chính là khoá có ít thuộc tính nhất.

    c. Liên kết giữa các bảng

    Thực chất sự liên kết giữa các bảng là dựa trên thuộc tính khóa. Chẳng hạng thuộc tính số thẻ là khóa của bảng người mượn xuất hiện lại ở bảng mượn sách đó tạo nên liên kết giữa hai bảng này

    2. Bài tập minh họa

    Câu 1: Chỉ ra các điều kiện trong mô hình dữ liệu quan hệ Ql_hoctap

    Trong mô hình dữ liệu quan hệ không có hai bộ nào trong một bảng giống nhau hoàn toàn thuộc về

    Hướng dẫn giải

    • Cấu trúc dữ liệu: là các bảng dữ liệu, bảng hoc_sinh, Mon_hoc, Bang_diem gồm có các trường dữ liệu, các bản ghi.

    • Các ràng buộc: khoá chính, trong bảng hoc_sinh thì dữ liệu trong trường khoá chính là duy nhất.

    • Các thao tác cập nhật dữ liệu (thêm, sửa, xoá), khai thác dữ liệu, thống kê dữ liệu theo một điều kiện nào đó, có thể thực hiện trên một bảng hoặc nhiều bảng.

    Câu 2: Trong CSDL quan hệ Ql_hoctap ở ví dụ trên (ví dụ 1), xác định quan hệ, thuộc tính và bộ.

    Hướng dẫn giải

    • Quan hệ Hoc_sinh

    • Có các thuộc tính: ma_hoc_sinh, Ho_dem, Ten.

    • Vì lớp có 50HS nên có 50 bộ, bộ thứ 10 là {12A9, Nguyễn Thị Thanh, An}

    3. Luyện tập

    3.1. Bài tập tự luận

    Câu 1: Khi xét một mô hình dữ liệu, ta cần quan tâm đến những yếu tố nào?

    Câu 2: Nêu khái niệm CSDL quan hệ.

    Câu 3: Nêu tiêu chí chọn khóa chính trong bảng. Nêu ví dụ và giải thích.

    3.2. Bài tập trắc nghiệm

    Câu 1: Thuật ngữ “quan hệ” dùng trong hệ CSDL quan hệ là để chỉ đối tượng:

    A. Kiểu dữ liệu của một thuộc tính

    B. Bảng

    C. Hàng

    D. Cột

    Câu 2: Thuật ngữ “bộ” dùng trong hệ CSDL quan hệ là để chỉ đối tượng:

    A. Kiểu dữ liệu của một thuộc tính

    B. Bảng

    C. Hàng

    D. Cột

    Câu 3: Mô hình phổ biến để xây dựng CSDL quan hệ là:

    A. Mô hình phân cấp

    B. Mô hình dữ liệu quan hệ

    C. Mô hình hướng đối tượng

    D. Mô hình cơ sỡ quan hệ

    Câu 4: Các khái niệm dùng để mô tả các yếu tố nào sẽ tạo thành mô hình dữ liệu quan hệ?

    A. Cấu trúc dữ liệu

    B. Các ràng buộc dữ liệu

    C. Các thao tác, phép toán trên dữ liệu

    D. Tất cả câu trên

    Câu 5: Thao tác trên dữ liệu có thể là:

    A. Sửa bản ghi

    B. Thêm bản ghi

    C. Xoá bản ghi

    D. Tất cả đáp án trên

    Câu 6: Phát biểu nào về hệ QTCSDL quan hệ là đúng?

    A. Phần mềm dùng để xây dựng các CSDL quan hệ

    B. Phần mềm dùng để tạo lập, cập nhật và khai thác CSDL quan hệ

    C. Phần mềm Microsoft Access

    D. Phần mềm để giải các bài toán quản lí có chứa các quan hệ giữa các dữ liệu

    4. Kết luận

    Sau khi học xong Bài 10: Cơ sở dữ liệu quan hệ, các em cần nắm vững các nội dung trọn tâm:

    • Khái niệm và phân loại mô hình dữ liệu.
    • Khái niệm mô hình dữ liệu quan hệ và các đặt trưng cơ bản của mô hình dữ liệu quan hệ.
    • Khái niệm CSDL quan hệ, khóa, khóa chính và liên kết giữa các bảng.