Ví dụ về toàn vẹn cấu trúc cơ sở dữ liệu

RÀNG BUỘC TOÀN VẸN1. RBTV, Các yếu tố của RBTV2. Phân loại ràng buộc toàn vẹnRàng buộc toàn vẹn [RBTV] là một quy tắc địnhnghĩa trên một [hay nhiều] quan hệ do môi trườngứng dụng quy định. Đó chính là quy tắc để đảm bảotính nhất quán của dữ liệu trong CSDL. Mỗi RBTV được định nghĩa bằng một thuật toántrong CSDL.

Bạn đang xem: Ràng buộc toàn vẹn là gì

Xem thêm: Dụng Cụ Ứng Dụng Phản Xạ Toàn Phần, Ứng Dụng Của Hiện Tượng Phản Xạ Toàn Phần

Bạn đang xem trước 20 trang tài liệu Bài giảng Cơ sở dữ liệu - Chương 2: Ràng buộc toàn vẹn, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên

Xem thêm: Góc Tò Mò: Triết Học Là Hệ Thống Các Quan Điểm Lí Luận Chung Nhất

1RÀNG BUỘC TOÀN VẸN1. RBTV, Các yếu tố của RBTV2. Phân loại ràng buộc toàn vẹn21. RBTV, Các yếu tố của RBTV1.1. Định nghĩa1.2. Các yếu tố của RBTV31.1. Định nghĩa Ràng buộc toàn vẹn [RBTV] là một quy tắc định nghĩa trên một [hay nhiều] quan hệ do môi trường ứng dụng quy định. Đó chính là quy tắc để đảm bảo tính nhất quán của dữ liệu trong CSDL. Mỗi RBTV được định nghĩa bằng một thuật toán trong CSDL. 41.1. Định nghĩa Ví dụ R1 : Mỗi lớp học có 1 mã số duy nhất để phân biệt với mọi lớp học khác.  R2 : Mỗi lớp học phải thuộc một KHOA của trường.  R3 : Mỗi học viên có 1 mã số riêng biệt, không trùng với các học viên khác.  R4 : Mỗi học viên phải đăng ký vào một lớp của trường. 51.1. Định nghĩa Khóa nội, Khóa ngoại, NOT NULL ... là những RBTV về miền giá trị của các thuộc tính.  Trong thực tế, tất cả các RBTV của một CSDL phải được phát hiện đầy đủ  Trong một CSDL, RBTV được xem như một công cụ để diễn đạt ngữ nghĩa của CSDL đó.  Trong suốt quá trình khai thác CSDL, các RBTV đều phải được thỏa mãn ở bất kỳ thời điểm nào6Phương pháp kiểm tra RBTV Hệ quản trị CSDL có các cơ chế tự động kiểm tra các RBTV về miền giá trị của Khóa nội, Khóa ngoại, NOT NULL qua khai báo cấu trúc các bảng Thông qua những thủ tục kiểm tra và xử lý vi phạm RBTV do những người phân tích - thiết kế cài đặt7Thời điểm kiểm tra RBTV Kiểm tra ngay khi thực hiện 1 thao tác cập nhật CSDL [thêm, sửa, xóa]. Thao tác cập nhật chỉ được xem là hợp lệ nếu như nó không vi phạm bất cứ một RBTV nào.  Kiểm tra định kỳ hay đột xuất. Đối với những trường hợp vi phạm RBTV, hệ thống sẽ có những xử lý thích hợp.81.2. Các yếu tố của RBTV Điều kiện: tức là nội dung của RBTV, từ đó xác định cách biểu diễn.  Bối cảnh xảy ra RBTV: trên một hay nhiều quan hệ, cụ thể trên các quan hệ nào.  Tầm ảnh hưởng của RBTV: Khả năng tính toàn vẹn dữ liệu bị vi phạm  Hành động cần phải có khi phát hiện có RBTV bị vi phạm. 91.2. Các yếu tố của RBTV Điều kiện của RBTV: Điều kiện của RBTV là sự mô tả, và biểu diễn hình thức nội dung của nó, có thể được biểu diễn bằng ngôn ngữ tự nhiên, thuật giải [bằng mã giả - Pseudo Code, ngôn ngữ tựa Pascal], ngôn ngữ đại số tập hợp, đại số quan hệ hoặc bằng các phụ thuộc hàm 101.2. Các yếu tố của RBTV Điều kiện của RBTV – Ví dụ: Cho 1 CSDL quản lý hóa đơn bán hàng gồm các bảng sau:  HÓAĐƠN [Số-hóa-đơn, Số-mặt-hàng, Tổng-trị-giá].  DM_HÀNG [Mã-hàng, Tên-hàng, Đơn-vị-tính].  CHITIẾT-HĐ [Số-hóa-đơn, Mã-hàng, Số-lượng-đặt, Đơn-giá, Trị-giá]. 111.2. Các yếu tố của RBTV Điều kiện của RBTV – Ví dụ: R1 :“Mỗi hóa đơn có 1 Số hóa đơn riêng biệt, không trùng với hóa đơn khác”:  hđ1, hđ2  HÓAĐƠN, hđ1  hđ2  hđ1.Số-hóa-đơn  hđ2. Số-hóa-đơn.  R2 : “Số-mặt-hàng = số bộ của CHITIẾT_HĐ có cùng Số-hóa-đơn”:  hđ  HÓAĐƠN thì: hđ.Số-mặt-hàng = COUNT [cthđ  CHITIẾT_HĐ, cthđ.Số-hóa-đơn = hđ.Số-hóa-đơn]121.2. Các yếu tố của RBTV Điều kiện của RBTV – Ví dụ: R3 : “Tổng các trị giá của các mặt hàng trong CHITIẾT_HĐ có cùng Số-hóa-đơn phải bằng Tổng-trị-giá ghi trong HÓAĐƠN”:  hđ  HÓAĐƠN thì: hđ.Tổng-trị-giá = SUM [cthđ.Trị-giá] đối với các cthđ  CHITIẾT_HĐ sao cho : cthđ. Số-hóa-đơn= hđ. Số-hóa-đơn. 131.2. Các yếu tố của RBTV Điều kiện của RBTV – Ví dụ: R4 : “Mỗi bộ của CHITIẾT_HĐ phải có mã hàng thuộc về danh mục hàng”: CHITIẾT_HĐ  DM_HÀNG cthđ  CHITIẾT_HĐ,  hh  DM_HÀNG, sao cho: cthđ.Mã-hàng=hh.Mã-hàng. 141.2. Các yếu tố của RBTV Bối cảnh của RBTV: Bối cảnh có thể định nghĩa trên một quan hệ cơ sở hay nhiều quan hệ cơ sở. Đó là những quan hệ mà RBTV được áp dụng trên đó 151.2. Các yếu tố của RBTV Bối cảnh của RBTV – ví dụ: Trong ví dụ trên, bối cảnh của các ràng buộc toàn vẹn như sau R1 :chỉ là một quan hệ HÓAĐƠN R2 : 2 quan hệ HÓAĐƠN và CHITIẾT_HĐ;  R3 : 2 quan hệ HÓAĐƠN và CHITIẾT_HĐ;  R4 : 2 quan hệ CHITIẾT_HĐ và DM_HÀNG. 161.2. Các yếu tố của RBTV Tầm ảnh hưởng của RBTV: Một RBTV có thể liên quan đến một số quan hệ, và chỉ khi có thao tác cập nhật [Thêm, Sửa, Xóa] mới có nguy cơ dẫn đến vi phạm RBTV, đo đó cần xác định rõ thao tác nào dẫn đến việc cần phải kiểm tra RBTV. 171.2. Các yếu tố của RBTV Tầm ảnh hưởng của RBTV: Trong quá trình phân tích, thiết kế một CSDL, người phân tích cần lập bảng xác định tầm ảnh hưởng cho mỗi ràng buộc toàn vẹn nhằm xác định khi nào thì phải tiến hành kiểm tra các ràng buộc toàn vẹn đó 181.2. Các yếu tố của RBTV Bảng Tầm ảnh hưởng: Bảng tầm ảnh hưởng gồm 4 cột: cột 1 chứa tên các bảng liên quan tới RBTV; 3 cột tiếp theo là thao tác Thêm / Sửa / Xóa 1 bộ giá trị  Nếu RBTV có nguy cơ bị vi phạm thì tại ô đó người ta đánh dấu bằng dấu cộng [+], và có thể chỉ rõ thêm các thuộc tính nào nếu được cập nhật mới dẫn đến vi phạm RBTV bằng cách liệt kê chúng dưới dấu [+]. 191.2. Các yếu tố của RBTV Bảng Tầm ảnh hưởng [tt]: Nếu RBTV không có nguy cơ bị vi phạm khi cập nhật CSDL thì đánh dấu trừ [-] Nếu không bị vi phạm vì không được phép sửa đổi thì ký hiệu là trừ với dấu sao [ -[*] ]. 201.2. Các yếu tố của RBTV Tầm ảnh hưởng của RBTV – ví dụ:Bảng tầm ảnh hưởng của R1 Quan heä Theâm Söûa XoùaHOÙAÑÔN + - [*] [Soá-hoùa-ñôn] -Bảng tầm ảnh hưởng của R2 Quan heä Theâm Söûa XoùaHOÙAÑÔN CHITIEÁT_HÑ++ + [Soá-maët-haøng]+ lần trước:kq KQUẢ-THINếu kq.Lần-thi = 1 thì 0  kq.Điểm  10 hoặc: Nếu kq.Lần thi > 1 thì kq’ KQUẢ-THI Sao cho kq’.Lần-thi = kq.Lần-thi - 1 và kq.Điểm  kq’.Điểm 322.Phân loại ràng buộc toàn vẹnRBTV về phụ thuộc – tồn tại RBTV về phụ thuộc tồn tại còn được gọi là phụ thuộc về khóa ngoại. Đây là loại RBTV phổ biến trong các CSDL.  Bộ giá trị của quan hệ này được thêm vào một cách hợp lệ nếu tồn tại một bản ghi tương ứng của 1 quan hệ khác.  Phụ thuộc tồn tại xảy ra nếu có một trong hai trường hợp sau:  Có sự hiện diện của khóa ngoại.  Có sự lồng khóa giữa các quan hệ. 332.Phân loại ràng buộc toàn vẹnRBTV về phụ thuộc – tồn tại Ví dụ: Mỗi sinh viên phải thuộc 1 lớp Mỗi lớp phải thuộc 1 khoa Mỗi Điểm phải của 1 sinh viên, 1 môn Mỗi nhân viên phải thuộc 1 phòng Mỗi Mã-hàng trong Chitiết-HĐ phải tồn tại trong quan hệ Hàng-hóa Mỗi Số-hóa-đơn trong Chitiết-HĐ phải tồn tại trong quan hệ Hóa-Đơn342.Phân loại ràng buộc toàn vẹnRBTV liên thuộc tính – liên quan hệ:Một thuộc tính trong 1 quan hệ này có mối liên hệ với 1thuộc tính trong 1 quan hệ khác.Ví dụ: Ngày giao hàng phải sau ngày đặtHóađơn.Ngày-giao >= Đặthàng. Ngày-đặt Trưởng phòng phải từ 40 tuổi trở lênYear[NgayNhChuc] – Year[Ngsinh] >= 40352.Phân loại ràng buộc toàn vẹnRBTV liên bộ – liên quan hệ:Một thuộc tính của quan hệ này có mối liên hệ với các bộcủa 1 quan hệ khác.Ví dụ: Mỗi giáo viên phải dạy ít nhất 1 lớp Hóađơn.Sốmặthàng = số bộ của Chitiết-HĐ có cùngsố hóa đơn Mỗi phiếu mượn chỉ được mượn tối đa 3 quyển sách.362.Phân loại ràng buộc toàn vẹnRBTV do có chu trình Biểu diễn cấu trúc CSDL dưới dạng đồ thị như sau: Mỗi nút của đồ thị biểu diễn 1 quan hệ hoặc 1 thuộc tính.  Quan hệ được biểu diễn bằng nút tròn trắng [] Thuộc tính được biểu diễn bởi một nút tròn đen nhỏ hơn [].  Các nút được chỉ rõ bằng tên của quan hệ hoặc thuộc tính. Thuộc tính thuộc một quan hệ được biểu diễn bởi một cung nối giữa nút tròn trắng và nút tròn đen đó.372.Phân loại ràng buộc toàn vẹnRBTV do có chu trìnhNếu trên đồ thị, ta thấy xuất hiện 1 đường khép kín thì tanói rằng trong lược đồ CSDL có sự hiện diện củachu trình.Sự hiện diện này làm nảy sinh một vấn đề mới: Xác địnhkhả năng đảm bảo tính nhất quán của dữ liệu, đó làmột RBTV, do sự hiện diện của chu trình.382.Phân loại ràng buộc toàn vẹnRBTV do có chu trìnhVí dụ: Q1 [Mã-nhân-viên, Mã-phòng]  Q2 [Mã-phòng, Mã-đề-án]  Q3 [Mã-đề-án, Tên-đề-án]  Q4 [Mã-đề-án, Mã-nhân-viên]392.Phân loại ràng buộc toàn vẹn Giả thiết 1: Với tân từ sau:Mỗi nhân viên được phân công vào tất cả các đề án do phòng đó phụ trách. 2 con đường mang ý nghĩa giống nhau. Đường dài hơn Q1 kết nối với Q2 [ký hiệu là Q1 I>Tài liệu liên quan

1 - Khái niệm dữ liệu và cơ sở dữ liệu:

Dữ liệu là các thông tin liên quan đến đối tượng [ví dụ như người, vật, sự việc,...] được lưu trữ trên máy tính. Dữ liệu được mô tả dưới nhiều dạng khác nhau [như ký tự, ký hiệu, hình ảnh, , âm thanh...]

Dữ liệu về đối tượng có thể khác nhau tùy thuộc vào mục địch quản lý. Ví dụ: cùng là dữ liệu về đối tượng sinh viên nhưng với mục đích quản lý khác nhau thì sẽ khác nhau, cụ thể như sau:

  • Với mục đích quản lý điểm, dữ liệu về đối tượng sinh viên sẽ bao gồm: Tên, Mã sinh viên, Điểm môn 1, Điểm môn 2, Điểm môn 3
  • Với mục đích quản lý thông tin cá nhân, dữ liệu về đối tượng sinh viên sẽ bao gồm: Tên, Địa chỉ, Ngày Sinh, Quê Quán, Lớp

Cơ sở dữ liệu là tâp hợp dữ liệu được tổ chức một cách có cấu trúc liên quan với nhau và được lưu trữ trong máy tính. Cơ sở dữ liệu được thiết kế, xây dựng cho phép người dùng lưu trữ dữ liệu, truy xuất thông tin hoặc cập nhật dữ liệu

Lợi ích của việc quản lý dữ liệu bằng cơ sở dữ liệu:

  • Giúp dữ liệu được lưu trữ một cách hiệu quả và có tổ chức
  • Tránh dư thừa, trùng lặp dữ liệu
  • Đảm bảo sự nhất quán trong CSDL
  • Các dữ liệu được lưu trữ có thể được chia sẻ
  • Duy trì tính toàn vẹn dữ liệu
  • Đảm bảo dữ liệu được bảo mật

Ví dụ về dữ liệu và cơ sở dữ liệu:

2 - Các mô hình cơ sở dữ liệu:

**a - Mô hình dữ liệu file phẳng [Flat file]: **

Dùng cho các CSDL đơn giản. CSDL dạng file phẳng thường là file kiểu văn bản chứa dữ liệu dạng bảng

Ví dụ:

b - Mô hình dữ liệu mạng [Network model]:

Các file trong mô hình dữ liệu mạng được gọi là các bản ghi. Tập hợp các bản ghi cùng kiểu tạo thành một kiểu thực thể dữ liệu.

Các kiểu thực thể kết nối với nhau thông qua mối quan hệ cha-con. Mô hình này được biểu diễn bởi một đồ thị có hướng và các mũi tên chỉ từ kiểu thực thể cha sang kiểu thực thể con. Ví dụ như sau:

Ưu điểm của mô hình này là có thể biểu diễn được các mối quan hệ phức tạp

Nhược điểm là truy xuất chậm và không thích hợp với các CSDL có quy mô lớn

c - Mô hình dữ liệu phân cấp [Hierarchical model]:

Tổ chức theo hình cây, mỗi nút biểu diễn một thực thể dữ liệu. Mỗi nút cha có thể có một hoặc nhiều nút con nhưng mỗi nút con chỉ có một nút cha. Do đó mô hình dữ liệu phân cấp có thể có các kiểu quan hệ: 1-1, 1-N. Nhược điểm của mô hình này là một nút con không thể có quá một nút cha nên không biểu diễn được các quan hệ phức tạp

d - Mô hình dữ liệu quan hệ [Relational model]:

Trong mô hình dữ liệu quan hệ không có các liên kết vật lý. Dữ liệu được biểu diễn dưới dạng bảng với các hàng và các cột. Dữ liệu trong hai bảng liên kết với nhau thông qua các cột chung và có các toán tử để thao tác trên các hàng của bảng

Ví dụ:

e - Mô hình dữ liệu hướng đối tượng [Object-Oriented model]

Mô hình này ra đời vào khoảng đầu những năm 90, dựa trên cách tiếp cận của phương pháp lập trình hướng đối tượng

Cơ sở dữ liệu bao gồm các đối tượng:

  • Mỗi đối tượng bao gồm các thuộc tính, phương thức của đối tượng
  • Các đối tượng trao đổi với nhau thông qua các phương thức
  • Một dối tượng có thể được sinh ra từ việc kế thừa từ đối tượng khác

Ví dụ:

3 - Hệ quản trị cơ sở dữ liệu là gì:

Hiện nay, một lượng vô cùng lớn các thông tin hữu ích với chúng ta đang tồn tại ở dạng văn bản. Việc của chúng ta là phải biết cách quản lý và sử dụng chúng sao cho thật hiệu quả. Để quản lý một lượng dữ liệu lớn phức tạp, người sử dụng phải có những công cụ hỗ trợ tính năng đơn giản trong thao tác nhưng lại hiệu quả trong trích lọc thông tin.Từ thực tế đó, hệ quản trị cơ sở dữ liệu ra đời.

Hệ quản trị cơ sở dữ liệu [Database Management System - DBMS]: Là một hệ thống phần mềm cho phép tạo lập cơ sở dữ liệu và cung cấp cơ chế lưu trữ, truy cập dựa trên các mô hình CSDL

Trên thị trường phần mềm hiện nay ở Việt Nam xuất hiện khá nhiều phần mềm hệ quản trị cơ sở dữ liệu như: Microsoft Access, Foxpro, SQL Server, Oracle...Trong đó:

  • SQL Server, Microsoft Access, Oracle là các hệ quản trị CSDL điển hình cho mô hình quan hệ
  • IMS của IBM là hệ quản trị CSDL điển hình cho mô hình dữ liệu phân cấp
  • IDMS là hệ quản trị CSDL điển hình cho mô hình dữ liệu mạng

Những lợi ích mà DBMS mang lại:

  • Quản trị các CSDL
  • Cơ chế an toàn, bảo mật cao
  • Hỗ trợ các ngôn ngữ giao tiếp. Ví dụ như ngôn ngữ truy vấn dữ liệu có cấu trúc - SQL, ngôn ngữ thao tác dữ liệu - DML, ngôn ngữ mô tả, định nghĩa dữ liệu - DDL

4 - Cấu trúc của một DBMS

Các thành phần của một DBMS gồm:

  • Dữ liệu, Siêu dữ liệu: Đáy kiến trúc là thiết bị nhớ ngoài lưu trữ dữ liệu và siêu dữ liệu. Trong phần này không chỉ chứa dữ liệu được lưu trữ trong CSDL mà còn chứa cả các siêu dữ liệu, tức là thông tin cấu trúc của CSDL. Ví dụ như tên của các quan hệ, tên các thuộc tính của quan hệ và các kiểu dữ liệu của các thuộc tính này.
  • Bộ quản lý lưu trữ: Nhiệm vụ của bộ quản lý lưu trữ là lấy ra các thông tin được yêu cầu từ những thiết bị lưu trữ dữ liệu và thay đổi những thông tin này khi được yêu cầu bởi các mức trên nó của hệ thống.
  • Bộ xử lý câu hỏi: Bộ xử lý câu hỏi không chỉ điều khiển các câu hỏi mà còn điều khiển cả các yêu cầu thay đổi dữ liệu hay siêu dữ liệu. Nhiệm vụ của nó là tìm ra cách tốt nhất để thực hiện một thao tác được yêu cầu và phát ra lệnh đối với bộ quản lý lưu trữ và thực thi thao tác đó.
  • Bộ quản lý giao dịch: Bộ quản lý giao dịch có trách nhiệm đảm bảo tính toàn vẹn của hệ thống. Nó phải đảm bảo rằng các thao tác thực hiện thông suốt đồng thời không cản trở các thao tác khác và đảm bảo hệ thống không bị mất dữ liệu thậm chí cả khi lỗi hệ thống xảy ra.

Các kiểu thao tác với DBMS gồm:

  • Các truy vấn: Đây là thao tác hỏi đáp về dữ liệu được lưu trữ trong CSDL và được thực hiện thông qua giao diện truy vấn chung hoặc thông qua giao diện của các chương trình ứng dụng
  • Cập nhật dữ liệu: Đây là các thao tác, thêm, sửa, xóa dữ liệu trong CSDL. Giống như các truy vấn, chúng có thể được thực hiện thông qua giao diện chung hoặc thông qua giao diện của các chương trình ứng dụng
  • Thay đổi sơ đồ: Các lệnh này thường được thực hiện bởi những người sử dụng được cấp phép, thường là những người quản trị CSDL mới được phép thay đổi sơ đồ của CSDL hoặc tạo lập các CSDL mới.

Trên đây là một số kiến thức tổng quan về cơ sở dữ liệu và hệ quản trị cơ sở dữ liệu được tham khảo từ các nguồn sau: //voer.edu.vn/m/tong-quan-ve-cac-he-thong-co-so-du-lieu/583a66bf //fit.lqdtu.edu.vn/files/DanhSach/HQTCSDL08.pdf

Video liên quan

Chủ Đề