Thuộc tính phức hợp là gì cho ví dụ

Mã hóa số 11 bằng 2 cách (Tin học - Lớp 6)

1 trả lời

Tính tỉ lệ phần trăm của từng loại cây (Tin học - Lớp 9)

1 trả lời

Giải thích lý do bồ câu có thể đưa thư (Tin học - Lớp 9)

1 trả lời

**Chào các bạn, hôm nay mình tiếp tục viết tiếp phần 2 cho series Nhập môn lý thuyết cơ sở dữ liệu. Phần 1 mình đã đưa ra những định nghĩa, tổng quan về Cơ sở dữ liệu. Trong bài này chúng ta tìm hiểu về Mô hình thực thể liên kết ER (Entity Relationship). **

Đây là một ví dụ về mô hình ER có thể các bạn đã bắt gặp ở đâu đó.

**Mô hình thực thể liên kết ER bao gồm các mô tả chi tiết của:

  • Thực thể (Entity Sets)
  • Thuộc tính (Attributes)
  • Liên kết (Relationship) và các ràng buộc

1. Thực thể

Thực thể là một vật hoặc đối tượng (cụ thể hay trừu tượng) trong thế giới thực, có sự tồn tại độc lập và có thể phân biệt với các vật hoặc đối tượng khác. • Ví dụ: một người, một bài hát, một bức ảnh, một trò chơi, … Kiểu thực thể là tập hợp các thực thể có thuộc tính giống nhau. • Ví dụ: tập hợp các thực thể sinh viên sẽ tạo ra kiểu Thực thể SINHVIEN. • Phân loại: • Thực thể mạnh: tồn tại độc lập với thực thể khác.

• Thực thể yếu: không có thuộc tính khóa, sự tồn tại của nó phải phụ thuộc vào thực thể khác.

2. Thuộc tính

• Thuộc tính: là các tính chất đặc trung của thực thể, là yếu tố thông tin cho biết rõ hơn về thực thể. VD: Người có tên, tuổi, cân nặng, số chứng minh thư, … • Mỗi thuộc tính có một miền giá trị. VD: tên người là chuỗi ký tự, tuổi là số nguyên dương. Nếu thuộc tính chưa có giá trị thì qui ước giá trị đó là null

• Các kiểu thuộc tính:

  • Thuộc tính đơn và phức hợp
  • Thuộc tính đơn trị và đa trị
  • Thuộc tính suy dẫn và lưu trữ

2.1 Thuộc tính nguyên tố và phức hợp

  • Thuộc tính nguyên tố: là thuộc tính không thể chia nhỏ thành các phần riêng biệt nhỏ hơn và có ý nghĩa.
  • VD: cân nặng, chiều cao,..
  • Thuộc tính phức hợp: là thuộc tính có thể phân chia được thành các phần nhỏ hơn, để biểu diễn các thuộc tính cơ bản hơn với các ý nghĩa độc lập.
  • VD: tên người gồm: họ, tên đệm, tên.

2.2 Thuộc tính đơn trị và đa trị

  • Thuộc tính đơn trị: là thuộc tính chỉ có thể nhận một giá trị duy nhất cho một thực thể cụ thể.
  • VD: Ngày_sinh, CMT,..
  • Thuộc tính đa trị: là thuộc tính có thể nhận một hoặc một vài giá trị cho một thực thể <=> nhận nhiều giá trị đồng thời
  • Kí hiệu: vòn elip kép (elip nét đôi)
  • VD: Điện_thoại, Kỹ_năng,..

2.3 Thuộc tính lưu trữ và suy dẫn

  • Thuộc tính lưu trữ: là thuộc tính mà giá trị của nó phải được nhập vào khi cài đặt cơ sở dữ liệu <=> phải nhập từ bàn phím.
  • Thuộc tính suy dẫn: là thuộc tính của nó có thể có thể được suy ra từ giá trị của các thuộc tính khác liên quan theo một nguyên tắc nào đó <=> không phải nhập, được tính không qua các thuộc tính khác.
  • Kí hiệu: bằng một hình elip có nét đứt.
  • VD: năm sinh của một người thì được lưu trữ trong CSDL, còn tuổi của người đó sẽ được tính toán từ năm sinh.

2.4 Thuộc tính khóa

  • Là thuộc tính mà giá trị của nó là duy nhất cho mỗi thực thể, giúp phân biệt thực thể này và thực thể khác trong cùng một kiểu thực thể.
  • Một kiểu thực thể có thể có nhiều khóa
  • Ký hiệu: hình elip và một đường gạch chân dưới thuộc tính đó.
  • VD: số chứng minh thư, Mã môn học, ….

3. Liên kết

  • Liên kết 1-1 (một – một): Một thực thể kiểu A liên kết với một thực thể kiểu B và ngược lại.
  • Ký hiệu: thêm số 1 ở hai đầu thực thể
  • Ví dụ: Một lớp có một sinh viên làm lớp trường và ngược lại, một sinh viên chỉ làm lớp trưởng của một lớp.

  • Kiểu liên kết 1 – N (một-nhiều): 1 thực thể kiểu A liên kết với nhiều thực thể kiểu B; 1 thực thể kiểu B chỉ liên kết duy nhất với 1 thực thể kiểu A.
  • Ký hiệu: thêm số 1 ở đầu phía một, thêm n ở đầu phía nhiều
  • Ví dụ: Một nhân viên làm việc cho một phòng và một phòng có nhiều nhân viên làm việc.

  • Kiểu liên kết M – N (nhiều-nhiều): 1 thực thể kiểu A liên kết với nhiều thực thể kiểu B và ngược lại
  • Ký hiệu: thêm ký hiệu m và n ở hai đầu liên kết
  • Ví dụ:

4. Ràng buộc về sự tham gia liên kết

  • Ràng buộc tham gia được xác định trên từng thực thể trong từng kiểu liên kết mà thực thể đó tham gia.
  • Có hai kiểu ràng buộc tham gia:
    • Lực lượng tham gia toàn bộ (ký hiệu bằng gạch nối kép): tất cả các thực thể của kiểu thực thể phải tham gia vào liên kết.
    • Lực lượng tham gia bộ phận (ký hiệu bằng gạch nối đơn): chỉ một số thực thể của kiểu thực thể tham gia vào kiểu liên kết.
  • Ví dụ:

**Đến đây mình đã đưa ra những lý thuyết cơ bản về mô hình thực thể liên kết ER. Trong phần tiếp theo mình sẽ đi sâu hơn vào mô hình ER, đồng thời cung cấp một số bài tập cho các bạn vận dụng để vẽ mô hình. **

3. Luyện tập Bài 10 Tin học 12

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 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ệ;
  • Hai loại mô hình dữ liệu: mô hình lôgic và mô hình vật lí;
  • Khái niệm CSDL quan hệ, khóa, khóa chính và liên kết giữa các bảng.

3.1. Trắc nghiệm

Các em có thể hệ thống lại nội dung kiến thức đã học được thông qua bài kiểm tra Trắc nghiệm Tin học 12 Bài 10 cực hay có đáp án và lời giải chi tiết. 

Câu 4-10: Mời các em đăng nhập xem tiếp nội dung và thi thử Online để củng cố kiến thức về bài học này nhé!

3.2. Bài tập SGK

Các em có thể xem thêm phần hướng dẫn Giải bài tập Tin học 12 Bài 10 để giúp các em nắm vững bài học và các phương pháp giải bài tập.

Bài tập 1 trang 86 SGK Tin học 12

Bài tập 2 trang 86 SGK Tin học 12

Bài tập 3 trang 86 SGK Tin học 12

4. Hỏi đáp Bài 10 Tin học 12

Trong quá trình học tập nếu có thắc mắc hay cần trợ giúp gì thì các em hãy comment ở mục Hỏi đáp, Cộng đồng Tin học HOC247 sẽ hỗ trợ cho các em một cách nhanh chóng!

Chúc các em học tập tốt và luôn đạt thành tích cao trong học tập!

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.

Theo các mức mô tả chi tiết về CSDL, có thể phân chia các mô hình dữ liệu thành hai loại:

  • Mô hình lôgic (còn gọi là 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ô tả bản chất lôgic của dữ liệu được lưu trữ;
  • Mô hình vật lí (còn gọi là mô hình dữ liệu bậc thấp) cho mô tả CSDL ở mức vật lí, trả lời cho câu hỏi “Dữ liệu được lưu trữ như thế nào?”.

Có nhiều mô hình dữ liệu bậc cao nhưng ở đây ta chỉ đề cập đến mô hình dữ liệu quan hệ vì cho đến nay đó là mô hình phổ biến nhất trong thực tế xây dựng các ứng dụng CSDL.

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

Mô hình dữ liệu quan hệ (gọi tắt là mô hình 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.
    • Mỗi bảng bao gồm các hàng và các cột thể hiện thông tin về một chủ thể.
    • Các cột biểu thị các thuộc tính của chủ thể và tên cột thường là tên của thuộc tính.
    • Mỗi hàng biểu thị cho một cá thể, gồm một bộ các giá trị tương ứng với các 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.

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

a. Khái niệm

  • Cơ sở dữ liệu được xây dựng dựa trên mô hình dữ liệu quan hệ gọi là cơ sở dữ liệu quan hệ.
  • Hệ QTCSDL dùng để tạo lập, cập nhật và khai thác CSDL quan hệ gọi là hệ QTCSDL quan hệ.

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

Một quan hệ trong hệ CSDL quan hệ có các đặc trưng chính sau:

  • Mỗi quan hệ có tên để phân biệt với các quan hệ khác;
  • Các bộ là duy nhất và không phân biệt thứ tự;
  • Mỗi thuộc tính có tên phân biệt và không phân biệt thứ tự;
  • Quan hệ không có thuộc tính đa trị hay phức hợp.
    • Thuộc tính đa trị: 1 thuộc tính tương ứng trong nhiều bộ giá trị;
    • Phức hợp: Một thuộc tính có 2 giá trị.

Lưu ý:

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

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 thuộc tính gồm một hay một số thuộc tính của bảng có hai tính chất:
    • Không có hai bộ (khác nhau) trong bảng có giá trị bằng nhau trên khoá.
    • Không có tập con thực sự nào của tập thuộc tính này có tính chất.

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).
  • Trong một hệ QTCSDL quan hệ, 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ỉ ra các điều kiện trong mô hình dữ liệu quan hệ Ql_hoctap

Hình 1. Mô hình dữ liệu quan hệ Ql_hoctap

Gợi ý trả lời:

  • Cấu trúc dữ liệu: là các bảng dữ liệu, bảng hoc_sinhMon_hocBang_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.

Dạng 2: Cơ sở dữ liệu quan hệ

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ộ.

Gợi ý trả lờ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}

Câu 3

Trong CSDL quan hệ Ql_thuvien dưới đây, xác định thuộc tính đa trị và phức hợp.

Hình 2. Cơ sở dữ liệu quan hệ Ql_thuvien

Gợi ý trả lời:

  • Bảng có thuộc tính đa trị
Số thẻ Mã số sách Ngày mượn Ngày trả
TV_02 TO-012

TN-102

5/9/07

24/9/07

30/9/07

5/10/07

…..

Bảng 1. Bảng có thuộc tính đa trị

Vì giá trị Số thẻ TV_02 có 2 bộ giá trị

  • Bảng có thuộc tính phức hợp
Số thẻ Mã số sách Ngày mượn trả
Ngày mượn Ngày trả
…..

Bảng 2. Bảng có thuộc tính phức hợp

Ngày mượn trả có 2 cột Ngày mượn và Ngày trả.

Video liên quan

Chủ đề