logo xDuLieu.com

Trang trướcMột số khái niệm cơ bản về mô hình cơ sở dữ liệu quan hệTrang sau

Để có thể nắm bắt được những nét chính của mô hình cơ sở dữ liệu quan hệ (gọi tắt là mô hình quan hệ), ta phải có một số hiểu biết nhất định về các khái niệm cơ bản của mô hình này. Phần trình bày dưới đây xem xét một cách khái quát những khái niệm ấy.

Thực thể

 

Trong phần thế giới thực mà chúng ta khảo sát, có nhiều đối tượng khác nhau. Cơ sở dữ liệu xem mỗi đối tượng này là một thực thể. Vậy thực thể (entity) là một đối tượng tồn tại trong thế giới thực và có thể phân biệt với các đối tượng khác.

Thí dụ sinh viên Nguyễn Văn A, sinh viên Lê Thị B, Khoa Khoa học Máy tính, Môn học Cơ sở dữ liệu, Giáo trình Toán Cao cấp là các thực thể trong một trường đại học H và chúng khác biệt với nhau. Trong một công ty C, nhân viên Trần Văn X, phân xưởng Y, sản phẩm U, nguyên liệu V, lần xuất hàng Z là các thực thể. Qua đó, ta thấy thực thể có thể cụ thể như sản phẩm U, sinh viên Nguyễn Văn A, hay trừu tượng như môn học Cơ sở dữ liệu, lần xuất hàng Z.

Cơ sở dữ liệu được xây dựng để lưu trữ dữ liệu về thực thể

Kiểu thực thể & Cá thể

Trong phần thế giới thực mà ta đang xem xét, các thực thể có một số điểm giống nhau nào đó được gộp chung thành nhóm và gọi là kiểu thực thể. Thí dụ kiểu thực thể sinh viên, kiểu thực thể giáo trình, kiểu thực thể sản phẩm.

Một thực thể nào đó trong một kiểu thực thể còn được gọi là một cá thể. Thí dụ trong kiểu thực thể sinh viên, sinh viên Nguyễn Văn A là một cá thể, sinh viên Lê Thị B là một cá thể khác. Trong kiểu thực thể nguyên liệu (của công ty sản xuất bánh), thì bột mì là một cá thể, đường là một cá thể khác.

Ghi chú

Để việc trình bày được đơn giản và gọn gàng hơn, chúng tôi sẽ dùng thuật ngữ “thực thể” thay cho “kiểu thực thể”, ngoại trừ những trường hợp cần thật rõ ràng. Thuật ngữ “cá thể” được sử dụng để chỉ mỗi đối tượng riêng biệt của thực thể.


Thuộc tính

 

Thuộc tính (attribute) là những đặc điểm, tính chất dùng để đặc trưng một thực thể. Giá trị của thuộc tính giúp ta phân biệt được cá thể này với cá thể khác. Thí dụ đối với thực thể sinh viên, những thuộc tính là mã số sinh viên, họ tên, giới tính, năm sinh, khoa theo học, ngành đào tạo. Đối với (kiểu) thực thể sản phẩm, những thuộc tính là tên sản phẩm, ký hiệu sản phẩm, phân xưởng sản xuất, khối lượng sản phẩm, giá thành, giá bán.

Thuộc tính đơn và thuộc tính kết hợp

Các thuộc tính mà giá trị không thể chia nhỏ hơn nữa được gọi là thuộc tính đơn (atomic), thí dụ như giới tính. Nếu ta có thể chia nhỏ giá trị thành một số phần thì thuộc tính được gọi là kết hợp (composite), thí dụ như ngày (ngày + tháng + năm) hay họ tên (họ + tên lót + tên).

Trong nhiều trường hợp, sự phân biệt này chỉ mang tính tương đối hay theo quy ước. Thí dụ trong một số trường hợp không quá phức tạp, ta có thể xem ngày như một thuộc tính đơn.

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

Một số thuộc tính có thể có nhiều giá trị khác nhau cho cùng một cá thể. Thí dụ một nhân viên có thể có hai số điện thoại khác nhau. Khi ấy, số điện thoại của nhân viên là thuộc tính đa trị. Nếu thuộc tính chỉ có một giá trị cho mỗi cá thể, thí dụ như ngày sinh của sinh viên, thì thuộc tính ấy là đơn trị.

Thuộc tính định danh

Có những thuộc tính mà giá trị cho một số cá thể có thể giống nhau. Thí dụ trong thực thể Sinh viên, có rất nhiều sinh viên có giới tính là nữ, có nhiều sinh viên cùng học môn Toán cao cấp. Tuy nhiên có những thuộc tính mà không hai cá thể nào có giá trị giống nhau. Thí dụ trong thực thể Sinh viên, mã số sinh viên của mọi sinh viên đều khác nhau. Các thuộc tính này được gọi là thuộc tính định danh (identifier) hay khóa (key).

Trong một số phần mềm quản lý dữ liệu, nếu ta không chọn thuộc tính nào để định danh thì phần mềm sẽ tự thêm một thuộc tính để định danh. Thuộc tính thêm vào ấy được gọi là khóa đại diện (surrogate key). Đó thường là số thứ tự của cá thể khi nhập vào cơ sở dữ liệu.

Đối chiếu với bảng dữ liệu

Nếu ta đối chiếu với cách trình bày thông thường, ta thấy các bảng dữ liệu có một số điểm gần gũi với các khái niệm thực thể và thuộc tính mà ta vừa trình bày trên. Mỗi bảng có thể xem tương ứng với một thực thể, mỗi dòng tương ứng với một cá thể, mỗi cột tương ứng với một thuộc tính, trong mỗi ô là giá trị của một thuộc tính tương ứng với một cá thể.


Liên kết

 

Giữa các thực thể có thể có mối quan hệ với nhau. Trong cơ sở dữ liệu, người ta gọi mối quan hệ này là liên kết (relationship). Thí dụ:

  • Sinh viên A THEO HỌC Khoa B
  • Đơn vị C SẢN XUẤT Sản phẩm D
  • Khách hàng E ĐẶT CHỖ cho Chuyến xe F

Qua đó ta thấy các thực thể Sinh viên và Khoa có quan hệ là THEO HỌC; các thực thể Đơn vị và Sản phẩm có quan hệ là SẢN XUẤT; các thực thể Khách hàng và Chuyến xe có quan hệ ĐẶT CHỖ.

Lưu ý rằng các liên kết này là hai chiều (hay thuận nghịch). Ta có thể trình bày lại thí dụ trên dưới dạng:

  • Khoa B CÓ Sinh viên A THEO HỌC
  • Sản phẩm D SẢN XUẤT BỞI Đơn vị C
  • Chuyến xe F ĐƯỢC ĐẶT CHỖ BỞI Khách hàng E

Bậc của liên kết

Bậc của liên kết là số thực thể tham gia vào liên kết.

  • Trong trường hợp liên kết bậc 1 (unary hay recursive), các cá thể của cùng một thực thể liên kết với nhau. Thí dụ Sinh viên A LÀM BẠN VỚI Sinh viên B. Vậy LÀM BẠN VỚI là liên kết bậc 1 của thực thể Sinh viên.
  • Bậc của liên kết là 2 (binary) khi có 2 thực thể tham gia vào liên kết như trong các thí dụ ở trên. Đây cũng là trường hợp phổ biến nhất.
  • Liên kết có bậc 3 (ternary) khi có 3 thực thể tham gia vào liên kết. SOẠN GIÁO TRÌNH là một liên kết bậc 3, cần 3 thực thể là Giáo viên, Môn học, và Giáo trình.

Loại liên kết

Trong trường hợp liên kết bậc 2, tùy theo số cá thể tham gia vào liên kết mà ta có những loại liên kết sau:

  • Liên kết 1:1 (liên kết một-một) : Mỗi thực thể có 1 cá thể tham gia vào liên kết. Thí dụ liên kết giữa thực thể quốc gia và thực thể thủ đô : mỗi quốc gia chỉ CÓ 1 thủ đô và một thủ đô chỉ THUỘC VỀ 1 quốc gia. Trong cơ sở dữ liệu, nhìn chung, mối liên kết này không phổ biến lắm và trong nhiều trường hợp, ta có thể kết hợp 2 thực thể này làm một.
  • Liên kết 1:N (liên kết một-nhiều) : thực thể thứ nhất có 1 cá thể tham gia vào liên kết, nhưng thực thể thứ hai lại có nhiều cá thể tham gia. Thí dụ liên kết giữa thực thể nhân viên và đơn vị, mỗi nhân viên chỉ THUỘC VỀ về 1 đơn vị, nhưng 1 đơn vị lại CÓ nhiều nhân viên. Đây là loại liên kết rất phổ biến trong cơ sở dữ liệu.
  • Liên kết N:N (liên kết nhiều-nhiều) : cả hai thực thể đều có nhiều cá thể tham gia vào liên kết. Thí dụ liên kết giữa thực thể nguyên liệu và thực thể nhà cung ứng : mỗi nhà cung ứng CUNG CẤP nhiều loại nguyên liệu cho công ty, và ngược lại, mỗi loại nguyên liệu ĐƯỢC CUNG ỨNG BỞI một số nhà cung ứng.

Bản số

Bản số (cardinality) là số cá thể tham gia vào liên kết tương ứng với một thực thể nào đó. Trong một số loại lược đồ, người ta trình bày hai loại bản số tương ứng với:

  • số cá thể lớn nhất có thể tham gia vào liên kết,
  • số cá thể bé nhất tham gia vào liên kết. Nếu con số này là 0, sự tham gia của thực thể vào liên kết được gọi là tùy chọn (optional), nghĩa là thực thể có thể tham gia vào liên kết hay không. Thí dụ giữa thực thể Nhân viên và thực thể Trình độ chuyên môn có liên kết : Nhân viên CÓ Trình độ chuyên môn. Tuy nhiên vẫn có một số nhân viên chẳng có trình độ chuyên môn gì. Nếu con số này là 1, sự tham gia của thực thể vào liên kết được gọi là bắt buộc (mandatory). Thí dụ mỗi nhân viên phải LÀM VIỆC CHO ít nhất là một đơn vị.


Trang trướcVề đầu chươngTrang sau


Trang web này được cập nhật lần cuối ngày 25/11/2018