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:
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:
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:
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 đó:
Những lợi ích mà DBMS mang lại:
4 - Cấu trúc của một DBMS Các thành phần của một DBMS gồm:
Các kiểu thao tác với DBMS gồm:
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: https://voer.edu.vn/m/tong-quan-ve-cac-he-thong-co-so-du-lieu/583a66bf http://fit.lqdtu.edu.vn/files/DanhSach/HQTCSDL08.pdf |