Mô hình Cơ sở dữ liệu Quan hệ

Bài viết Mô hình Cơ sở dữ liệu Quan hệ thuộc chủ đề về Wiki How thời gian này đang được rất nhiều bạn quan tâm đúng không nào !! Hôm nay, Hãy cùng https://HuongLiYa.vn/ tìm hiểu Mô hình Cơ sở dữ liệu Quan hệ trong bài viết hôm nay nhé ! Các bạn đang xem chủ đề về : “Mô hình Cơ sở dữ liệu Quan hệ”

Những ý tưởng đầu tiên của mô hình cơ sở dữ liệu quan hệ (gọi tắt là mô hình quan hệ) đã được Edgar F Codd đề xuất vào năm 1970 và sau đó được sự đóng góp của nhiều người khác để ngày càng hoàn thiện hơn. Do những ưu điểm nổi bật của nó so với những mô hình trước đó, như mô hình phân cấp hay mô hình mạng, mà mô hình quan hệ đã được sử dụng rộng rãi hơn cả để tổ chức cơ sở dữ liệu.

Khái quát về mô hình quan hệ

Theo mô hình quan hệ (relational model), dữ liệu được tổ chức và lưu trữ trong một số quan hệ (relation). Mỗi quan hệ được biểu diễn bằng một bảng (có thể xem như đại diện cho một thực thể). Mỗi cột của bảng tương ứng với một thuộc tính, mỗi dòng, còn được gọi là một bộ (tuple) hay bản ghi (record), đại diện cho một cá thể. Để có thể truy cập đến từng cá thể, người ta chọn hay đưa thêm vào bảng một khóa chính. Để tạo mối liên kết giữa các thực thể, khóa chính của bảng này được sử dụng làm thuộc tính của bảng kia và được gọi là khóa ngoại.

Cách tổ chức này đơn giản hóa một cách đáng kể các mối liên hệ trong CSDL. Các quá trình có liên quan như thiết kế, triển khai, tạo mới, cập nhập, truy cập trở nên dễ dàng hơn rất nhiều.

Ghi chú về thuật ngữ “quan hệ”

Lý do mà Codd sử dụng thuật ngữ “quan hệ” thay vì “bảng” được giải thích như sau:

Giả sử bảng dữ liệu gồm 2 thuộc tính là X và Y. X có 6 giá trị khác nhau và Y có 5 giá trị khác nhau. Nếu ta kết hợp 2 thuộc tính này để tạo các cặp số (X, Y) thì ta có 30 tổ hợp khác nhau. Nhưng rõ ràng là bảng dữ liệu của chúng ta không có nhiều phần tử đến như thế, thí dụ chỉ có 6 như được biểu diễn trên Hình 1. Do đó giữa X và Y phải có những “quan hệ” nhất định.

X Y

Hình 1 Quan hệ giữa X và Y

Bạn cũng có thể tìm hiểu thêm về khái niệm “quan hệ” trong các tài liệu liên quan đến “Lý thuyết tập hợp”.

Một số khái niệm

Mô hình quan hệ có một số khái niệm cơ bản. Nếu trình bày theo ngôn ngữ của cơ sở dữ liệu, ta có:

  • Quan hệ, ký hiệu là R, được biểu diễn bằng một bảng, đại diện cho một thực thể.
  • Bảng này gồm n cột, ký hiệu A1, A2, . . . , An. Mỗi cột Ai của bảng này tương ứng với một thuộc tính i của thực thể. Như vậy ta có thể ký hiệu quan hệ dưới dạng R(A1, A2, . . . , An). Số cột n này cũng được gọi là bậc của quan hệ.
  • Tập hợp tất cả các giá trị của một thuộc tính Ai nào đó được gọi là miền hay miền xác định (domain) của Ai, được ký hiệu là dom(Ai).
  • Mỗi dòng j của bảng này thể hiện một bộ (tuple), ký hiệu là tj, tương ứng với một cá thể j. Vậy bộ là một tập hợp của n phần tử, mỗi phần tử i của bộ ấy tương ứng với giá trị xij của thuộc tính Ai của cá thể j, và được ký hiệu là tj = < x1j , x2j , … , xnj >.
  • Như vậy, một quan hệ của một thực thể cụ thể gồm m cá thể, được ký hiệu r(R), là một tập hợp của m bộ tj, ký hiệu là r = t1, t2, … , tm . Lưu ý rằng tập hợp này không cần có thứ tự. m còn được gọi là bản số (cardinality) của quan hệ.
  • Về mặt toán học, r(R) là một tập hợp con của tích Descartes của các dom(Ai) :

    r(R) ⊆ dom(A1) × dom(A2) × … × dom(An)

Mọi Người Xem :   Trên tay Adidas ZNE Travel Hoodie, chiếc áo khoác gây chấn động cộng đồng thể thao trong thời gian qua

Các quy tắc của mô hình quan hệ

Theo Codd, một mô hình quan hệ phải tuân thủ 12 quy tắc sau :

  1. Quy tắc về thông tin : Mỗi dữ liệu chỉ được trình bày theo một cách duy nhất, theo đúng thứ tự của các thuộc tính.
  2. Quy tắc về tiếp cận : Mỗi giá trị của CSDL được truy cập theo tên thực thể, tên thuộc tính, tên cá thể. Tên cá thể được truy cập theo giá trị của thuộc tính định danh (khóa chính).
  3. Xử lý dữ liệu thiếu : Dữ liệu thiếu phải được xử lý riêng, khác với giá trị 0 hay một chuỗi trống.
  4. Truy cập siêu dữ liệu : Các người dùng được phép, có thể tiếp cận cấu trúc của cơ sở dữ liệu (siêu dữ liệu) đặt trong các từ điển CSDL bằng cách sử dụng cùng loại ngôn ngữ với ngôn ngữ truy vấn.
  5. Quy tắc về ngôn ngữ : Hệ CSDL phải hỗ trợ ít nhất là một ngôn ngữ dùng để tương tác với người dùng và trong các chương trình ứng dụng. Ngôn ngữ ấy phải hỗ trợ việc định nghĩa dữ liệu, thao tác trên dữ liệu, chức năng kiểm soát dữ liệu.
  6. Quy tắc về cập nhật các hiển thị : Các hiển thị có thể được cập nhật thì phải được cập nhật bởi hệ.
  7. Hệ phải hỗ trợ việc cài thêm, cập nhật và xóa bỏ nhiều cá thể trong một thao tác duy nhất.
  8. Sự độc lập của dữ liệu về mặt vật lý : Thay đổi cách lưu trữ dữ liệu phải không ảnh hưởng đến các chương trình ứng dụng.
  9. Sự độc lập của dữ liệu về mặt logic : Thay đổi các bảng phải không ảnh hưởng đến các chương trình ứng dụng. Thí dụ thêm một cột vào bảng sẽ không làm gián đoạn một chương trình ứng dụng nào đó đang truy cập một dòng.
  10. Sự độc lập của tính toàn vẹn. Các ràng buộc về tính toàn vẹn phải được đặc tả độc lập với các chương trình ứng dụng và được lưu trữ trong từ điển của CSDL.
  11. Sự độc lập về mặt phân phối : Sự phân phối các phần của CSDL tại các vị trí phải không ảnh hưởng đến hoạt động của các chương trình ứng dụng.
  12. Quy tắc không bị phá vỡ : Không thể sử dụng các thông tin được hiển thị để phá vỡ sự an toàn hay các ràng buộc về tính toàn vẹn.
Mọi Người Xem :   [Bài 12] - Các tham số Event trong C#

Sau đó vào 1990, Codd thêm một quy tắc, gọi là quy tắc số không như sau:

Một hệ cơ sở dữ liệu được gọi là theo mô hình quan hệ, phải thực hiện được đầy đủ các tính năng của mô hình quan hệ, cho dù nó được tăng cường thêm tính năng gì đi chăng nữa.

Thật sự ra, người ta thấy rằng chưa có HQTCSDL nào trên thị trường đáp ứng đầy đủ các quy tắc của Codd. Các quy tắc này được xem như một đích để hướng tới.

Các thành phần của mô hình quan hệ

Hai thành phần quan trọng của mô hình quan hệ là lược đồ quan hệ và thể hiện quan hệ.

  • Lược đồ quan hệ (relation schema) cho ta biết tên của quan hệ, tên của các thuộc tính và kiểu dữ liệu của các thuộc tính ấy, thuộc tính được chọn làm khóa chính. Thí dụ :

    Sinh_Vien ( MaSoSV : INT, HoTen : VARCHAR(40), NgaySinh : DATE, DonVi : VARCHAR(25) )

    Trong thí dụ trên, quan hệ Sinh_Vien gồm 4 thuộc tính là MaSoSV có kiểu số nguyên, HoTen có kiểu chuỗi với số ký tự có thể thay đổi nhưng không quá 40 ký tự, NgaySinh có kiểu ngày tháng, DonVi có kiểu chuỗi với số ký tự thay đổi nhưng không quá 25 ký tự. Thuộc tính MaSoSV được chọn làm khóa chính.

  • Thể hiện của quan hệ (relation instance) là tập hợp các bộ, mỗi bộ đại diện cho một cá thể, chứa một số phần tử, còn được gọi là trường (field). Như vậy, thể hiện của quan hệ có thể được trình bày bằng một bảng có số cột là số trường, số dòng là số cá thể.

Như vậy, sau khi đã xây dựng, cơ sở dữ liệu đi vào hoạt động, lược đồ quan hệ sẽ không thay đổi, nhưng thể hiện quan hệ có thể thay đổi vì số cá thể có thể tăng lên hay giảm đi.

Ghi chú

Thuộc tính đơn (atomic) chỉ có một trường, nhưng thuộc tính kết hợp có thể có một số trường. Thí dụ nếu ta xem thuộc tính HoTen là thuộc tính kết hợp thì thuộc tính này có thể gồm 3 trường tương ứng với họ, tên lót, và tên.

Thuộc tính định danh & Khóa

Có những thuộc tính mà giá trị của nó cho một số cá thể có thể giống nhau. Thí dụ trong thực thể Nhan_Vien của một công ty, có nhiều nhân viên thuộc đơn vị (thuộc tính DonVi) Phòng Kế Hoạch, có một số nhân viên có trình độ (thuộc tính TrinhDo) đại học. 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ụ MaSoNV. Các thuộc tính này được gọi là thuộc tính định danh (identifier) hay khóa (key)

Nếu ta chỉ cần một thuộc tính cũng đủ để phân biệt các cá thể với nhau thì ta gọi thuộc tính ấy là thuộc tính định danh đơn (hay khóa đơn). Còn nếu ta cần nhiều hơn một thuộc tính để định danh thì ta có thuộc tính định danh kép hay khóa kép (composite key). Thí dụ số chuyến bay (như 1342 của Vietnam Airline là chuyến bay từ TP Hồ Chí Minh đi Nha Trang khởi hành lúc 7:30 sáng) chưa đủ để phân biệt các cá thể của thực thể “Chuyen_Bay”, ta cần thêm một thuộc tính khác, thí dụ ngày tháng. Khi ấy khóa gồm 2 thuộc tính là số chuyến bay và ngày tháng.

Mọi Người Xem :   Review dòng sản phẩm phục hồi da hư tổn Vital C của Image Skincare

Một cách tổng quát hơn, tập hợp các thuộc tính dùng để phân biệt cá thể này với cá thể khác được gọi là siêu khóa (superkey). Mỗi thực thể có ít nhất là một siêu khóa (chứa tất cả các thuộc tính của thực thể) và có thể có nhiều siêu khóa.

Trong số các siêu khóa ấy, những siêu khóa nào có số thuộc tính ít nhất được gọi là khóa dự tuyển (candidate key), đôi khi được gọi vắn tắt là khóa. Ta chọn một trong các khóa dự tuyển làm khóa chính (primary key), các khóa dự tuyển còn lại được gọi là khóa thay thế (alternate key).

Các thuộc tính không được chọn làm khóa chính được gọi là những thuộc tính không khóa. Một thuộc tính không khóa được gọi là khóa ngoại (foreign key) nếu nó được dùng làm khóa chính trong một thực thể khác.

Trong một số phần mềm, nếu ta không chọn khóa chính cho thực thể, thì phần mềm sẽ tự thêm vào một thuộc tính để làm khóa chính để thuận tiện hơn cho sự hoạt động của cơ sở dữ liệu. 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 một thực thể nào đó của cơ sở dữ liệu.

Lưu ý

Trong cơ sở dữ liệu, thuật ngữ “khóa” còn được dùng cho một số khái niệm khác, có một số ý nghĩa khác.

Các câu hỏi về e.f.codd là gì


Nếu có bắt kỳ câu hỏi thắc mắt nào vê e.f.codd là gì hãy cho chúng mình biết nhé, mõi thắt mắt hay góp ý của các bạn sẽ giúp mình cải thiện hơn trong các bài sau nhé <3 Bài viết e.f.codd là gì ! được mình và team xem xét cũng như tổng hợp từ nhiều nguồn. Nếu thấy bài viết e.f.codd là gì Cực hay ! Hay thì hãy ủng hộ team Like hoặc share. Nếu thấy bài viết e.f.codd là gì rât hay ! chưa hay, hoặc cần bổ sung. Bạn góp ý giúp mình nhé!!

Các Hình Ảnh Về e.f.codd là gì


Các hình ảnh về e.f.codd là gì đang được chúng mình Cập nhập. Nếu các bạn mong muốn đóng góp, Hãy gửi mail về hộp thư [email protected] Nếu có bất kỳ đóng góp hay liên hệ. Hãy Mail ngay cho tụi mình nhé

Tra cứu thêm báo cáo về e.f.codd là gì tại WikiPedia

Bạn nên xem thêm nội dung về e.f.codd là gì từ web Wikipedia.◄ Tham Gia Cộng Đồng Tại

💝 Nguồn Tin tại: https://huongliya.vn/

💝 Xem Thêm Chủ Đề Liên Quan tại : https://huongliya.vn/hoi-dap/

Related Posts

About The Author

Add Comment