Chào các bạn! Truyen4U chính thức đã quay trở lại rồi đây!^^. Mong các bạn tiếp tục ủng hộ truy cập tên miền Truyen4U.Com này nhé! Mãi yêu... ♥

kiem tra

I      MÔ HÌNH THỰC THỂ KẾT HỢP

1        Giới thiệu mô hình thực thể kết hợp

Các nhà phân tích thiết kế hệ thống thông tin thường xây dựng lược đồ cơ sở dữ liệu (C1.III.2.ii) từ mô hình thực thể kết hợp và mô hình này lại được xây dựng từ phần đặc tả vấn đề của một bài toán thực tế.

Lược đồ cơ sở dữ liệu xây dựng theo hướng này thông thường đạt tối thiểu dạng chuẩn 3 (3NF: third normal form) nghĩa là ở dạng có sự dư thừa dữ liệu ở mức tối thiểu, còn môn CSDL xây dựng lược đồ CSDL đạt dạng chuẩn 3 từ lược đồ cơ sở dữ liệu chưa đạt dạng chuẩn có kèm các tân từ (C1.III.2.ii). Ta hãy xem ví dụ sau:

i              Ví dụ – Mối quan hệ một-nhiều

(a)      Đặc tả vấn đề

Những người phụ trách đào tạo của Trường cao đẳng cộng đồng núi Ayers mong muốn tạo lập một CSDL về các môn đào tạo của trường (như: chứng chỉ leo núi, công nghệ bay) và học viên ghi danh vào những môn học này. Trường cũng có qui định là cùng một lúc, học viên chỉ có thể ghi danh vào một môn học. Họ chỉ quan tâm về dữ liệu của đợt ghi danh hiện tại. Một khi học viên kết thúc môn học thì nhà trường sẽ không còn quan tâm đến họ và những học viên này phải được xóa khỏi CSDL. Thông tin cần lưu trữ về một học viên bao gồm: mã học viên, tên học viên, địa chỉ, ngày sinh, số điện thoại, ngày nhập học

Thông tin về môn học gồm mã môn học, tên môn học, thời lượng

Phân tích:

-          phần đặc tả vấn đề chứa đựng các qui tắc quản lý và dữ liệu yêu cầu của vấn đề.

-          dữ liệu của vấn đề là: chi tiết về học viênmã học viên, tên học viên, địa chỉ, ngày sinh, số điện thoạingày nhập học chi tiết về môn họcmã môn học, tên môn họcthời lượng.

-          qui tắc quản lý gồm:

+        Cùng một lúc, một học viên chỉ có thể ghi danh vào một môn học.

+        Nhiều học viên có thể ghi danh vào một môn học.

+        Nhà trường chỉ quan tâm đến những học viên của môn học hiện tại.

(b)      Mô hình thực thể kết hợp (Mô hình ER)

Các tính chất trong mô hình thực thể kết hợp:

-          Hình chữ nhật được gọi là tập thực thể. Tên của tập thực thể được ghi bên trong hình chữ nhật và dùng danh từ để đặt tên cho tập thực thể.

-          Đường nối giữa hai tập thực thể được gọi là mối quan hệ (mối kết hợp). Mối quan hệ trong vấn đề trên là mối quan hệ một-nhiều (1:M). Nội dung của mối quan hệ được diễn tả theo hai chiều: “ghi danh vào”, “được ghi danh bởi” và chúng diễn tả hai nội dung sau:

+        Mỗi  HỌC VIÊN có thể ghi danh vào một MÔN HỌC

+        Mỗi MÔN HỌC phải được ghi danh bởi một hay nhiều HỌC VIÊN

-          Các dữ liệu ghi bên cạnh tập thực thể được gọi là thuộc tính. Chúng cung cấp thông tin chi tiết về tập thực thể. Có hai loại thuộc tính:

-          Thuộc tính nhận diện là thuộc tính để phân biệt thực thể này với thực thể kia trong tập thực thể.

-          Thuộc tính mô tả là thuộc tính cung cấp thông tin chi tiết hơn về thực thể trong tập thực thể.

-          Mối quan hệ của vấn đề trên là mối quan hệ một-nhiều. Tính chất này của mối quan hệ gọi là tính kết nối của mối quan hệ. Tính kết nối một-nhiều rất phổ biến trong mô hình thực thể kết hợp. Hai loại kết nối còn lại ít phổ biến hơn nhưng không kém phần quan trọng là mối quan hệ một-một và mối quan hệ nhiều-nhiều.

ii            Ví dụ – mối quan hệ một-một

(a)      Đặc tả vấn đề

Phòng cảnh sát mong muốn quản lý lý lịch cá nhân những người lái xe và bằng lái của họ. Một người chỉ lấy được một bằng lái và một bằng lái chỉ thuộc về một người. Thông tin về lái xe mà phòng cảnh sát quan tâm là: mã người lái xe, tên, địa chỉ, ngày sinh

Thông tin về bằng lái cần lưu trữ là: mã bằng lái, loại bằng lái, ngày hết hạn

(b)      Mô hình thực thể kết hợp

-          mỗi NGƯỜI LÁI XE phải sở hữu một BẰNG LÁI

-          mỗi BẰNG LÁI phải được sở hữu bởi một NGƯỜI LÁI XE

iii          Ví dụ – mối quan hệ nhiều-nhiều

(a)      Đặc tả vấn đề

Người phụ trách đào tạo Trường cao đẳng cộng đồng núi xanh mong muốn thiết lập một csdl về các môn học mà họ cung cấp (như chứng chỉ leo núi, cử nhân công nghệ bay) và các học viên ghi danh vào các môn học này. Nhà trường qui định là một học viên được ghi danh học tối đa ba môn học trong cùng một lúc. Họ chỉ quan tâm đến dữ liệu của môn học hiện tại. Một khi học viên kết thúc môn học, họ sẽ không còn thuộc diện quản lý của nhà trường và phải được xóa khỏi csdl trừ khi học viên này ghi danh học tiếp môn mới. Thông tin về một học viên gồm: mã học viên, tên học viên, địa chỉ, ngày sinh, số điện thoại, ngày nhập học

Thông tin về môn học gồm: mã môn học, tên môn học, thời lượng

(b)      Mô hình ER

+        Mỗi HỌC VIÊN có thể ghi danh vào một hay nhiều MÔN HỌC

+        Mỗi MÔN HỌC phải được ghi danh bởi một hay nhiều HỌC VIÊN

Mô hình ER trên có mối quan hệ nhiều nhiều.

(c)       Loại bỏ tính kết nối nhiều nhiều (nếu được)

Mô hình trên gặp phải khuyết điểm sau:

-          Ngày nhập học là thuộc tính gắn liền với tập thực thể HỌC VIÊN sẽ không hợp lý vì không diễn tả được trường hợp học viên học cùng lúc nhiều môn học.

-          Còn nếu ngày nhập học là thuộc tính của MÔN HỌC thì không diễn tả được tình trạng cùng môn học nhưng có các ngày nhập học khác nhau.

Để giải quyết vấn đề này ta phải đưa vào:

-          một tập thực thể làm trung gian giữa HỌC VIÊN và MÔN HỌC gọi là tập kết hợp PHIẾU GHI DANH.

-          Thuộc tính nhận diện của tập kết hợp là sự kết hợp giữa thuộc tính nhận diện của tập thực thể HỌC VIÊN và MÔN HỌC

-          thuộc tính mô tả của tập kết hợp PHIẾU GHI DANH là ngày nhập học

-          tính kết nối của tập kết hợp với tập thực thể là một-nhiều

Nội dung của mối quan hệ giữa các tập thực thể là:

-          mỗi HỌC VIÊN có thể có một hay nhiều PHIẾU GHI DANH

-          mỗi PHIẾU GHI DANH phải thuộc về một HỌC VIÊN

-          mỗi PHIẾU GHI DANH phải ghi nhận đào tạo về một MÔN HỌC

-          mỗi MÔN HỌC có thể được ghi nhận đào tạo bởi một hay nhiều PHIẾU GHI DANH

Các qui tắc phải tuân thủ khi thêm tập kết hợp làm trung gian để loại bỏ tính kết nối nhiều nhiều:

-          Phải nhận diện được thuộc tính mô tả của tập kết hợp.

-          Nếu có thuộc tính mô tả thì tạo tập kết hợp làm trung gian giữa hai tập thực thể.

-          Nếu không có thuộc tính mô tả thì vẫn giữ nguyên mô hình như hình 1.4.4

2        Chuyển từ mô hình thực thể kết hợp sang lược đồ CSDL.

i              Qui tắc chung

Khi biến đổi mô hình ER thành các mô hình quan hệ ta áp dụng các qui tắc sau:

-          Mỗi tập thực thể trong mô hình ER được chuyển thành một lược đồ quan hệ.

-          Mỗi thuộc tính trong mô hình ER được chuyển thành thuộc tính trong lược đồ quan hệ tương ứng

-          Mỗi thuộc tính nhận diện trong mô hình ER được chuyển thành khóa chính trong lược đồ quan hệ tương ứng.

-          Mỗi mối quan hệ trong ER được chuyển thành khóa ngoại theo qui tắc sau

ii            Qui tắc chuyển mối quan hệ thành khóa ngoại

(a)      Mối quan hệ một-một

Chuyển khóa chính từ quan hệ 1 sang quan hệ 2 hay ngược lại. Ví dụ vấn đề người lái xe và bằng lái sẽ có mô hình quan hệ là một trong hai mô hình quan hệ sau

(b)      Mối quan hệ một-nhiều

Chuyển khóa chính từ bên một sang bên nhiều.

(c)       Mối quan hệ nhiều nhiều đến tập kết hợp

Trong quan hệ PHIẾU GHI DANH có các khóa chính khóa ngoại như sau:

+        mã học viên là khóa ngoại

+        mã môn học là khóa ngoại

+        mã học viên và mã môn học là khóa chính

(d)      Mối quan hệ nhiều-nhiều

Tạo một quan hệ mới có khóa chính là sự kết hợp các khóa chính của hai quan hệ có tính kết nối nhiều nhiều.

Ví dụ giả sử Trường Cao Đẳng Cộng Đồng Núi Xanh không quan tâm đến ngày nhập học của học viên thì mô hình ER sẽ có mối quan hệ nhiều nhiều như sau:

II   BÀI TẬP

1        Phép toán tập hợp và phép toán quan hệ

Cho lược đồ cơ sở dữ liệu dùng để quản lý hồ sơ sinh viên bao gồm các quan hệ Sv(sinh viên), Lop(Lớp), kh(khoa), Mh(môn học), Kq(kết quả) được mô tả bởi các lược đồ quan hệ như sau:

Sv(MASV,HOTEN,NU,NGAYSINH,MALOP,TINH,HOCBONG)

Tân từ:             Mỗi sinh viên có mỗi MASV duy nhất. Mỗi MASV  xác định tất cả các thuộc tính còn lại của sinh viên đó.

Lop(MALOP,TENLOP,SISO,MAKHOA)

Tân từ:             Mỗi lớp có một mã lớp duy nhất, mỗi lớp chỉ thuộc về  một khoa nào đó.

Kh(MAKHOA,TENKHOA,SOCBGD)

Tân từ:             Mỗi khoa có mỗi MAKHOA duy nhất. Mỗi MAKHOA xác định tất cả các thuộc tính còn lại của khoa đó.

Mh(MAMH,TENMH,SOTIET)

Tân từ:             Môi Môn học có một MAMH  duy nhất. Mỗi MAMH xác định tất cả các thuộc tính còn lại của môn học đó.

Kq(MASV,MAMH,DIEMTHI)

Tân từ:           Mỗi sinh viên cùng với một môn học xác dịnh duy nhất một điểm thi

YÊU CẦU:

1.      Tìm khóa cho mỗi lược đồ quan hệ trên.

2.      Hãy thực hiện các câu hỏi sau bằng ngôn ngữ đại số quan hệ

a.       Lập danh sách sinh viên gồm MASV, HOTEN, HOCBONG

b.      Lập danh sách sinh viên nữ khoa ‘CNTT’,danh sách cần MASV, HOTEN, HOCBONG

c.       Lập bảng điểm cho tất cả sinh viên khoa ‘CNTT’, bảng điểm gồm các cột MASV, HOTEN, TENMH, DIEMTHI

d.      Lập phiếu điểm cho sinh viên có MASV=”99001”

e.       Lập  danh sách sinh viên gồm MASV,HOTEN,TENLOP, TENKHOA

f.        Lập bảng điểm môn học có mã môn học là CSDL cho tất cả sinh viên có mã lớp là “CĐTH2B”

g.      Lập danh sách sinh viên của lớp có mã lớp là “CĐTH2B” và có điểm thi môn học lớn hơn hay bằng 8.

2        Mô hình thực thể kết hợp

Dựa vào các phân tích sơ bộ dưới đây, hãy lập mô hình thực thể kết hợp cho mỗi bài toán quản lý sau:

i              QUẢN LÝ LAO ĐỘNG

Để quản lý việc phân công các nhân viên tham gia vào xây dựng các công trình. Công ty xây dựng ABC tổ chức quản lý như sau:

Cùng lúc công ty có thể tham gia xây dựng nhiều công trình, mỗi công trình có một mã số công trình duy nhất (MACT), mỗi mã số công trình xác định các thông tin như: tên gọi công trình (TENCT), địa điểm(ĐIAĐIEM), ngày công trình được cấp giấy phép xây dựng (NGAYCAPGP), ngày khởi công (NGAYKC), ngày hoàn thành (NGAYHT).

Mỗi nhân viên của công ty ABC có một mã số nhân viên(MANV) duy nhất, một mã số nhân viên xác định các thông tin như: Họ tên (HOTEN), ngày sinh (NGAYSINH), phái (PHAI), địa chỉ (ĐIACHI). Mỗi nhân viên phải chịu sự quản lý hành chánh bởi một phòng ban. Tất nhiên một phòng ban quản lý hành chánh nhiều nhân viên. Công ty có nhiều phòng ban (Phòng kế toán, phòng kinh doanh, phòng kỹ thuật, phòng tổ chức, phòng chuyên môn, Phòng phục vụ,…). Mỗi phòng ban có một mã số phòng ban(MAPB) duy nhất, mã phòng ban xác định tên phòng ban (TENPB).

Công ty phân công các nhân viên tham gia vào các công trình, mỗi công trình có thể được phân cho nhiều nhân viên và mỗi nhân viên cùng lúc cũng có thể tham gia vào nhiều công trình. Với mỗi công trình một nhân viên có một số lượng ngày công (SLNGAYCONG) đã tham gia vào công trình đó.

ii            QUẢN LÝ THƯ VIỆN

Một thư viện tổ chức việc cho mượn sách như sau:

Mỗi quyển sách được đánh một mã sách (MASH) dùng để phân biệt với các quyển sách khác (giả sử nếu một tác phẩm có nhiều bản giống nhau hoặc có nhiều tập thì cũng xem là có mã sách khác nhau), mỗi mã sách xác định các thông tin khác như : tên sách (TENSACH), tên tác giả (TACGIA), nhà xuất bản (NHAXB), năm xuất bản (NAMXB).

Mỗi đọc giả được thư  viên cấp cho một thẻ thư viện, trong đó có ghi rõ mã đọc giả (MAĐG), cùng với các thông tin khác như : họ tên (HOTEN), ngày sinh (NGAYSINH), địa chỉ (ĐIACHI), nghề nghiệp(NGHENGHIEP).

Cứ mỗi lượt mượn sách, đọc giả phải ghi các quyển sách cần mượn vào một phiếu mượn, mỗi phiếu mượn có một số phiếu mượn (SOPM) duy nhất, mỗi phiếu mượn xác định các thông tin như: ngày mượn (NGAYMUON), đọc giả mượn, các quyển sách mượn và ngày trả (NGAYTRA). Các các quyển sách trong cùng một phiếu mượn không nhất thiết phải trả trong trong cùng một ngày.

iii          QUẢN LÝ BÁN HÀNG

Mỗi khách hàng có một mã khách hàng (MAKH) duy nhất, mỗi MAKH xác định được các thông tin về khách hàng như : họ tên khách hàng (HOTEN), địa chỉ (ĐIACHI), số điện thoại (ĐIENTHOAI). Các mặt hàng được phân loại theo từng nhóm hàng, mỗi nhóm hàng có một mã nhóm (MANHOM) duy nhất, mỗi mã nhóm hàng xác định tên nhóm hàng (TENNHOM), tất nhiên một nhóm hàng có thể có nhiều mặt hàng. Mỗi mặt hàng được đánh một mã số (MAHANG) duy nhất, mỗi mã số này xác định các thông tin về mặt hàng đó như : tên hàng (TENHANG), đơn giá bán (ĐONGIA), đơn vị tính (ĐVT). Mỗi hóa đơn bán hàng có một số hóa đơn (SOHĐ) duy nhất, mỗi hóa đơn xác định được khách hàng và ngày lập hóa đơn (NGAYLAPHĐ), ngày bán hàng (NGAYBAN). Với mỗi mặt hàng trong một hóa đơn cho biết số lượng bán (SLBAN) của mặt hàng đó.

iv          QUẢN LÝ LỊCH DẠY - HỌC

Để quản lý lịch dạy của các giáo viên và lịch học của các lớp, một trường tổ chức như sau:

Mỗi giáo viên có một mã số giáo viên (MAGV) duy nhất, mỗi MAGV xác định các thông tin như: họ và tên giáo viên (HOTEN), số điện thoại (DTGV). Mỗi giáo viên có thể dạy nhiều môn cho nhiều khoa nhưng chỉ thuộc sự quản lý hành chánh của một khoa nào đó.

Mỗi môn học có một mã số môn học (MAMH) duy nhất, mỗi môn học xác định tên môn học (TENMH). Ưng với mỗi lớp thì mỗi môn học chỉ được phân cho một giáo viên.

Mỗi phòng học có một số phòng học (SOPHONG) duy nhất, mỗi phòng có một chức năng (CHUCNANG); chẳng hạn như phòng lý thuyết, phòng thực hành máy tính, phòng nghe nhìn, xưởng thực tập cơ khí,…

Mỗi khoa có một mã khoa (MAKHOA) duy nhất, mỗi khoa xác định các thông tin như: tên khoa (TENKHOA), điện thoại khoa(DTKHOA).

Mỗi lớp có một mã lớp (MALOP) duy nhất, mỗi lớp có một tên lớp (TENLOP), sĩ số lớp (SISO). Mỗi lớp có thể học nhiều môn của nhiều khoa nhưng chỉ thuộc sự quản lý hành chính của một khoa nào đó.

Hàng tuần, mỗi giáo viên phải lập lịch báo giảng cho biết giáo viên đó sẽ dạy những lớp nào, ngày nào (NGAYDAY), môn gì?, tại phòng nào, từ tiết nào (TUTIET) đến tiết nào (DENTIET),tựa đề bài dạy (BAIDAY), ghi chú (GHICHU) về các tiết dạy này, đây là giờ dạy lý thuyết (LYTHUYET) hay thực hành - giả sử nếu LYTHUYET=1 thì đó là giờ dạy thực hành và nếu LYTHUYET=2 thì đó là giờ lý thuyết, một ngày có 16 tiết, sáng từ tiết 1 đến tiết 6, chiều từ tiết 7 đến tiết 12, tối từ tiết 13 đến 16.

Chương 3.          RÀNG BUÔC TOÀN VẸN QUAN HỆ

(entegrity constraint)

I      RÀNG BUỘC TOÀN VẸN - CÁC YẾU TỐ CỦA RÀNG BUỘC TOÀN VẸN

1        Ràng Buộc Toàn Vẹn

Trong mỗi CSDL luôn tồn tại nhiều mối liên hệ giữa các thuộc tính, giữa các bộ. Sự liên hệ này có thể xảy ra trong một lược đồ quan hệ hoặc trong các lược đồ quan hệ của một cơ sở dữ liệu. Các mối liên hệ này là những điều kiện bất biến mà tất cả các bộ của những quan hệ có liên quan trong CSDL đều phải thỏa mãn ở mọi thời điểm. Những điều kiện bất biến đó được gọi là ràng buộc toàn vẹn. Trong thực tế ràng buộc toàn vẹn là các quy tắc quản lý được áp đặt trên các đối tượng của thế giới thực.

Nhiệm vụ của người phân tích thiết kế là phải phát hiện càng đầy đủ và chính xác các ràng buộc toàn vẹn càng tốt và mô tả chúng một cách chính xác trong hồ sơ phân tích thiết kế - đó là một việc làm rất quan trọng và rất cần thiết.

Trong một cơ sở dữ liệu, ràng buộc toàn vẹn được xem như là một công cụ để diễn đạt ngữ nghĩa của CSDL. Một CSDL được thiết kế cồng kềnh nhưng nó thể hiện được đầy đủ ngữ nghĩa của thực tế vẫn có giá trị cao hơn rất nhiều so với một cách thiết kế gọn nhẹ nhưng nghèo nàn về ngữ nghĩa vì thiếu các ràng buộc toàn vẹn của cơ sở dữ liệu.

Công việc kiểm tra ràng buộc toàn vẹn thường được tiến hành vào thời điểm cập nhật dữ liệu ( thêm, sửa, xóa). Những ràng buộc toàn vẹn phát sinh cần phải được ghi nhận và xử lý một cách tường minh (thường là bởi một hàm chuẩn hoặc một đoạn chương trình).

2        Các Yếu Tố Của Ràng Buộc Toàn Vẹn

Mỗi ràng buộc toàn vẹn có 3 yếu tố: điều kiện, bối cảnh và tầm ảnh hưởng.

i              Điều kiện

Điều kiện của một ràng buộc toàn vẹn R có thể được biểu diễn bằng ngôn ngữ tự nhiên, thuật giải, ngôn ngữ đại số tập hợp, đại số quan hệ,… ngoài ra điều kiện của ràng buộc toàn vẹn cũng có thể được biểu diễn bằng phụ thuộc hàm. Chẳng hạn, với lược đồ quan hệ SV thì có một ràng buộc toàn vẹn như sau:

Với r là một quan hệ của Sv ta có ràng buộc toàn vẹn sau

" t1,t2Î r

   t1.MASV ¹ t2.MASV

cuối"

ii            Bối cảnh

Bối cảnh của một ràng buộc toàn vẹn là những quan hệ mà ràng buộc đó có hiệu lực hay nói một cách khác, đó là những quan hệ cần phải được kiểm tra  ràng buộc toàn vẹn. Bối cảnh của một ràng buộc toàn vẹn có thể là một hoặc nhiều quan hệ. Chẳng hạn với ràng buộc toàn vẹn trên thì bối cảnh là một quan hệ Sv

iii          Tầm ảnh hưởng

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 tầm ảnh hưởng  cho một ràng buộc toàn vẹn nhằm xác định thời điểm cần phải tiến  hành kiểm tra các ràng buộc toàn vẹn đó. Các thời điểm cần phải kiểm tra RBTV chính là những thời điểm cập nhật dữ liệu  (thêm /sửa/ xóa)

Một bảng tâm ảnh hưởng của một RBTV có dạng sau:

(Tên RBTV)

Thêm(T)

Sửa(S)

Xóa(X)

r1

+

-

-

r2

...

...

..

..

...

...

...

...

rn

Bảng này chứa toàn các ký hiệu +  hoặc –

Chẳng hạn +    tại ô tương ứng với dòng r1, cột thêm thì có nghĩa là khi thêm một bộ vào quan hệ r1 thì cần phải kiểm tra RBTV

Dấu - Tại ô tương ứng với dòng r1, cột sửa thì có nghĩa là khi sửa một bộ trên quan hệ r1 thì không cần phải kiểm tra RBTV này,…

II   PHÂN LOẠI RÀNG BUỘC TOÀN VẸN

Trong quá trình phân tích thiết kế cơ sở dữ liệu, người phân tích phải phát hiện tất cả các ràng buộc toàn vẹn tiềm ẩn trong CSDL đó. Việc phân loại các ràng buộc toàn vẹn là rất có ích, nó nhằm gíúp cho người phân tích có được một định hướng, tránh bỏ sót những ràng buộc toàn vẹn. Các ràng buộc toàn vẹn có thể được chia làm hai loại chính như sau:

+        Ràng buộc toàn vẹn trên phạm vi là một quan hệ bao gồm :Ràng buộc toàn vẹn miền giá trị, ràng buộc toàn vẹn liên thuộc tính, ràng buộc toàn vẹn liên bộ.

+        Ràng buộc toàn vẹn trên phạm vi nhiều quan hệ bao gồm :Ràng buộc toàn vẹn phụ thuộc tồn tại, ràng buộc toàn vẹn liên bộ - liên quan hệ, ràng buộc toàn vẹn liên thuộc tính - liên quan hệ.

Để minh họa cho phần lý thuyết của chương này, ta nêu ví dụ sau đây        

Ví dụ

Cho một CSDL C dùng để quản lý việc đặt hàng và giao hàng của một công ty. Lược đồ CSDL C gồm các lược đồ quan hệ như sau:

Q1: Khach (MAKH,TENKH,DCKH,DT)

Tân từ: Mỗi khách hàng có một mã khách hàng (MAKH) duy nhất, mỗi MAKH xác định một tên khách hàng (TENKH), một địa chỉ (DCKH), một số điện thoại (DT).

Q2: Hang(MAHANG,TENHANG,QUYCACH,DVTINH)

Tân từ: Mỗi mặt hàng có một mã hàng (MAHANG) duy nhất, mỗi MAHANG xác định một tên hàng (TENHANG), quy cách hàng (QUYCACH), đơn vị tính (DVTINH).

Q3: Dathang(SODH,MAHANG,SLDAT,NGAYDH,MAKH)

Tân  từ: Mỗi lần đặt hàng có số đặt hàng (SODH) xác định một  ngày đặt hàng (NGAYDH) và mã khách hàng tương ứng (MAKH). Biết mã số đặt hàng và mã mặt hàng thì biết được số lượng đặt hàng(SLDAT). Mõi khách hàng trong một ngày có thể có nhiều lần đặt hàng

Q4: Hoadon(SOHD, NGAYLAP, SODH, TRIGIAHD, NGAYXUAT)

Tân từ: Mỗi hóa đơn có một mã số duy nhất là SOHD, mỗi hóa đơn bán hàng có thể gồm nhiều mặt hàng. Mỗi hóa đơn xác định ngày lập hóa đơn (NGAYLAP), ứng với số đặt hàng nào (SODH). Giả sử rằng hóa đơn bán hàng theo yêu cầu của chỉ một đơn đặt hàng có mã số là SODH và ngược lại, mỗi đơn đặt hàng chỉ được giải quyết chỉ trong một hóa đơn. Do điều kiện khách quan có thể công ty không giao đầy đủ các mặt hàng cũng như số lượng từng mặt hàng như yêu cầu trong đơn đặt hàng nhưng không bao giờ giao vượt ngoài yêu cầu. Mỗi hóa đơn xác định một trị giá của các mặt hàng trong hóa đơn (TRIGIAHD) và một ngày xuất kho giao hàng cho khách (NGAYXUAT)

Q5: Chitiethd (SOHD, MAHANG, GIABAN, SLBAN)

Tân từ: Mỗi SOHD, MAHANG xác định giá bán (GIABAN) và số lượng bán (SLBAN) của một mặt hàng trong một hóa đơn.

Q6: Phieuthu(SOPT, NGAYTHU, MAKH, SOTIEN)

Tân từ: Mỗi phiếu thu có một số phiếu thu (SOPT) duy nhất, mỗi SOPT xác định một ngày thu (NGAYTHU) của một khách hàng có mã khách hàng là MAKH và số tiền thu là SOTIEN. Mỗi khách hàng trong một ngày có thể có nhiều số phiếu thu.

1        Ràng buộc toàn vẹn liên bộ

Ràng buộc toàn vẹn liên bộ là sự ràng buộc toàn vẹn giữa các bộ trong cùng một quan hệ .

Ràng buộc toàn vẹn liên bộ hay còn gọi là ràng buộc toàn vẹn về khóa. Đây là loại ràng buộc toàn vẹn rất phổ biến, nó có mặt trong mọi lược đồ quan hệ của CSDL và thường được các hệ quản trị CSDL tự động kiểm tra.

Ví dụ: Với r là một quan hệ của Khach ta có ràng buộc toàn vẹn sau

R1:  " t1, t2Î r

          t1. MAKH ¹  t2. MAKH

     Cuối"

R1

Thêm

Sửa

Xóa

r

+

+

-

2        Ràng buộc toàn vẹn về phụ thuộc tồn tại:

Ràng buộc toàn vẹn về phụ thuộc tồn tại còn được gọi là ràng buộc toàn vẹn về khóa ngoại. Cũng giống như ràng buộc toàn vẹn về khóa chính, ràng buộc toàn vẹn về phụ thuộc tồn tại rất phổ biến trong CSDL

Ví dụ: Với r, s lần lượt là một quan hệ của Dathang, Khach ta có ràng buộc toàn vẹn sau

R2: r[MAKH] Í s[MAKH]

R2

Thêm

Sửa

Xóa

r

+

+

-

s

-

+

+

3        Ràng buộc toàn vẹn về miền giá trị

Ràng buộc toàn vẹn có liên quan đến miền giá trị của các thuộc tính trong một quan hệ. Ràng buộc này thường gặp. Một số hệ quản trị CSDL đã tự động kiểm tra  một số ràng buộc loại này.

Ví dụ: Với r là một quan hệ của Hoadon ta có ràng buộc toàn vẹn sau

R3: " t Î r

       t.TRIGIAHD > 0

               Cuối"

R3

Thêm

Sửa

Xóa

r

+

+

-

4        Ràng buộc toàn vẹn liên thuộc tính

Ràng buộc toàn vẹn liên thuộc tính là mối liên hệ giữa các thuộc tính  trong một lược đồ quan hệ.

Ví dụ: Với r là một quan hệ của Hoadon ta có ràng buộc toàn vẹn sau

R4: " t Î r

          t.NGAYLAP <= t.NGAYXUAT

      Cuối "

R4

Thêm

Sửa

Xóa

r

+

+

-

5        Ràng buộc toàn vẹn liên thuộc tính liên quan hệ

Ràng buộc loại này là mối liên hệ giữa các thuộc tính trong nhiều lược đồ quan hệ.

Ví dụ: Với r, s lần lượt là quan hệ của Dathang, Hoadon ta có ràng buộc toàn vẹn sau

R5: " t1Î r, t2Î s

       Nếu t1.SODH = t2.SODH thì

          t1.NGAYDH <= t2.NGAYXUAT

       Cuối"

R5

Thêm

Sửa

Xóa

r

+

+

+

s

+

+

+

6        Ràng buộc toàn vẹn về thuộc tính tổng hợp

Ràng buộc toàn vẹn về thuộc tính tổng hợp được xác định trong trường hợp  mỗi thuộc tính A của một lược đồ quan hệ  Q được tính toán giá trị  từ các thuộc tính của các lược đồ quan hệ khác.

IIIBÀI TẬP

1/ Hãy tìm các ràng buộc toàn vẹn có trong CSDL cho  các bài tập  được liệt kê trong chương 3.

2/ QUẢN LÝ THI TỐT NGHIỆP PTCS

Một phòng giáo dục huyện muốn lập một hệ thống thông tin để quản lý việc làm thi tốt nghiệp phổ thông cơ sở. Công việc làm thi được tổ chức như sau:

Lãnh đạo phòng giáo dục thành lập nhiều hội đồng thi (mỗi hội đồng thi gồm một trường hoặc một số trường gần nhau). Mỗi hội đồng thi có một mã số duy nhất (MAHĐT), một mã số hội đồng thi xác định tên hội đồng thi(TENHĐT), họ tên chủ tịch hội đồng(TENCT), địa chỉ (ĐCHĐT),điện thoại(ĐTHĐT).

Mỗi hội đồng thi được bố trí cho một số phòng thi, mỗi phòng thi có một số hiệu phòng(SOPT) duy nhất, một phòng thi xác định địa chỉ phòng thi (ĐCPT). Số hiệu phòng thi được đánh số khác nhau ở tất cả các hội đồng thi.

Giáo viên của các trường trực thuộc phòng được điều động đến các hội đồng để coi thi, mỗi trường có thể có hoặc không có thí sinh dự thi, mỗi trường có một mã trường duy nhất (MATR), mỗi mã trường xác định một tên trường(TENTR),địa chỉ (ĐCTR), loại hình đào tạo (LHĐT) (Công lập, chuyên, bán công, dân lập, nội trú,…). Giáo viên của một trường có thể làm việc tại nhiều hội đồng thi. Một giáo viên có một mã giáo viên(MAGV), một mã giáo viên xác định tên giáo viên (TENGV), chuyên môn giảng dạy  (CHUYENMON), chức danh trong hội đồng thi(CHUCDANH)

Các thí sinh dự thi có một số báo danh duy nhất(SOBD), mỗi số báo danh xác định tên thí sinh(TENTS), ngày sinh (NGSINH), giới tính (PHAI), mỗi thí sinh được xếp thi tại một phòng thi nhất định cho tất cả các môn, mỗi thí sinh có thể có chứng chỉ nghề (CCNGHE) hoặc không (thuộc tính CCNGHE kiểu chuỗi, CCNGHE=”x” nếu thí sinh có chứng chỉ nghề và CCNGHE bằng rỗng nếu thí sinh không có chứng chỉ nghề).Thí sinh của cùng một trường chỉ dự thi tại một hội đồng thi.

Mỗi môn thi có một mã môn thi duy nhất(MAMT), mỗi mã môn thi xác định tên môn thi(TENMT). Giả sử toàn bộ các thí sinh đều thi chung một số môn do sở giáo dục quy định. Mỗi môn thi được tổ chức trong một buổi của một ngày nào đó.

Ứng với mỗi môn thi một thí sinh có một điểm thi duy nhất(ĐIEMTHI)

Dựa vào phân tích ở trên, giả sử ta có lược đồ CSDL sau:

Q1:    HĐ(MAHĐT,TENHĐT, TENCT, ĐCHĐT,ĐTHĐT)

Q2:    PT(SOPT,ĐCPT,MAHĐT)

Q3:    TS(SOBD, TENTS,NGSINH,PHAI,CCNGHE, MATR,SOPT)

Q4:    MT(MAMT,TENMT,BUOI,NGAY)

Q5:    GV(MAGV,TENGV,CHUYENMON,CHUCDANH,MAHĐT,MATR)

Q6:    TR(MATR,TENTR,ĐCTR,LHĐT)

Q7:    KQ(SOBD,MAMT,ĐIEMTHI)

Yêu cầu:

a)      Hãy xác định khóa cho từng lược đồ quan hệ.

b)      Tìm tất cả các ràng buộc toàn vẹn có trong CSDL trên.

c)      Dựa vào lược đồ CSDL đã thành lập, hãy thực hiện các câu hỏi sau đây bằng ngôn ngữ đại số quan hệ.

1.      Danh sách các thí sinh thi tại phòng thi có số hiệu phòng thi (SOPT) là “100”. Yêu cầu các thông tin:SOBD,TENTS,NGSINH,TENTR

2.      Kết quả của môn thi có mã môn thi (MAMT) là “T” của tất cả các thí sinh có mã trường(MATR) là “NTMK”, kết quả được sắp theo chiều giảm dần của điểm thi(ĐIEMTHI). Yêu cầu các thông tin:SOBD,TENTS, ĐIEMTHI

3.      Kết quả thi của một học sinh có SOBD là MK01. Yêu cầu : TENMT,ĐIEMTHI

4.      Tổng số thí sinh có chứng chỉ nghề(CCNGHE) của mỗi trường, thông tin cần được sắp theo chiều tăng dần của TENTR. Yêu cầu các thông tin: MATR, TENTR, SOLUONGCC

Bạn đang đọc truyện trên: Truyen4U.Com

Tags: