I MƠ HÌNH QUAN HỆ LAØ GÌ
1 Quan hệ (relation )
Mơ hình quan hệ xoay quan các khái niệm quan hệ, bộ (tuple) và thuộc tính (attribute). Những khái niệm này tương ứng với các khái niệm tập thực thể, thực thể và thuộc tính. HỌC VIÊN MƠN HỌC 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 mã mơn học tên mơn học thời lượng
Hình 3.1 - Mơ hình ER và mơ hình quan hệ của vấn đề Trường cao đẳng cộng đồng núi Ayers ghi danh vào
được ghi danh bởi Mơ hình ER
Mơ hình quan hệ
HỌC VIÊN (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, mã mơn học) MƠN HỌC (mã mơn học, tên mơn học, thời lượng)
Hình 3.1 trình bày mơ hình ER và mơ hình quan hệ tương ứng của vấn đề Trường Cao Đẳng Cộng Đồng Núi Ayers. Mơ hình quan hệ chỉ là một dạng trình bày khác của mơ hình ER. Cuối chương này, chúng ta sẽ biết làm thế nào để chuyển đổi mơ hình ER thành mơ hình quan hệ.
2 Thực thể, quan hệ, và bảng (table)
Tiến trình giải bài tốn csdl được phát triển từ mơ hình dữ liệu sang mơ hình quan hệ rồi cuối cùng sang bảng trong csdl.
MƠ HÌNH DỮ LIỆU
Hình 3.2 - Sự tiến triển qua các giai đoạn khác nhau
từ mơ hình dữ liệu đến việc thực hiện bảng trong HQTCSDL MƠ HÌNH QUAN HỆ
BẢNG TRONG CSDL
Ví dụ: RFC là nhà buơn sỉ thiết bị điện và điện tử. Họ bán nhiều mặt hàng cho ngành cơng nghiệp điện tử. Cơng việc đầu tiên mà Cơng ty mong muốn thực hiện là lưu trữ dữ liệu hàng hĩa trong một csdl. Họ đặc biệt quan tâm lưu trữ về mã hàng, mơ tả, loại hàng, tỉ suất thuế bán ra, đơn giá sỉ, đơn giá lẻ, đơn giá chục.
MẶT HAØNG mãmơ mặ tảt hàng loại hàng tỉ suất thuế bán ra đơn giá sỉ đơn giá lẻ đơn giá chục Mơ hình ER Mơ hình quan hệ
MẶT HAØNG (mã mặt hàng, mơ tả, loại hàng, tỉ suất thuế bán ra, đơn giá sỉ, đơn giá lẻ, đơn giá chục) Bảng trong HQTCSDL
mã mặt hàng mơ tả loại hàng tỉ suấbán rat thuế đơn giá sỉ đơn giá lẻ đơn giá chục
1003 tụ điện 1000 ufd 22 0.68 1.24 1.08 1007 tụ điện 2200 ufd 22 0.83 1.52 1.32 1012 tụ điện 3300 ufd 22 1.27 1.69 1.47 3156 đầu nối BNC 15 1.16 2.00 1.73 3159 đầu nối TNC 15 2.48 4.28 3.71 3258 đầu nối N-MALE 15 5.45 9.40 8.15 3259 đầu nối N-BNC 15 7.45 11.70 9.95 1773 điện trở 5k6 22 0.04 0.07 0.05 1174 điện trở 6.8 22 0.04 0.07 0.05 6745 trimpot 10k (log) 22 1.26 2.31 2.00 thực thể, dịng, bộ, mẫu tin thuộc tính, cột hay vùng giá trị thuộc tính, giá trị cột hay giá trị vùng Hình 3.1 - Mơ hình ER, mơ hình quan hệ và bảng của vấn đề RFC
MƠ HÌNH THỰC
THỂ MƠ HÌNH QUAN HỆ BẢNGHQTCSDL TRONG
tập thực thể quan hệ Bảng
thực thể bộ dịng hay mẫu tin
thuộc tính thuộc tính cột hay vùng giá trị thuộc tính giá trị thuộc tính giá trị vùng Bảng 3.1 – Mối tương quan giữa các khái niệm qua các mơ hình
3 Bộ (tuple)
là một bộ các giá trị của các thuộc tính trong một dịng của quan hệ.
thứ tự xuất hiện các thuộc tính trong một bộ thì khơng ảnh hưởng đến kết quả tính tốn.
một bộ cĩ tính duy nhất trong quan hệ. Nghĩa là trong một quan hệ khơng thể cĩ hai bộ giống nhau (giá trị các thuộc tính đều giống nhau).
Một thuộc tính hay nhĩm các thuộc tính dùng để phân biệt bộ này với bộ kia trong quan hệ được gọi là khố chính.
khĩa chính trong một quan hệ lại xuất hiện trong một quan hệ khác được gọi là khĩa ngoại.
4 Thuộc tính (attribute)
Phần giao giữa dịng và cột là giá trị thuộc tính. Giá trị của thuộc tính phải là giá trị đơn khơng đa trị hay cấu trúc. Một quan hệ cĩ giá trị
thuộc tính như vậy thì quan hệ này đạt dạng chuẩn một. Ví dụ sau cho thấy một quan hệ mà giá trị thuộc tính đơn giaù là đa trị.
Bảng 3.4a - Quan hệ khơng đạt dạng chuẩn 1
mã mặt hàng mơ tả loại hàng tỉ suấbán rat thuế Đơn giáđơn giá lẻ sỉ
đơn giá chục 1003 tụ điện 1000 ufd 22 0.681.24 1.08 1007 tụ điện 2200 ufd 22 0.83 1.52 1.32 1012 tụ điện 3300 ufd 22 1.27 1.69 1.47 5 Ký hiệu
Tên quan hệ được ghi bằng chữ hoa trước ngoặc trịn và tất cả thuộc tính được liệt kê trong ngoặc trịn.
Khĩa chính gạch chân. Khĩa ngoại viết nghiêng
II KHĨA
1 Khố (key , candidate key )
Là tập hợp nhỏ nhất các thuộc tính mà giá trị của nĩ dùng để phân biệt bộ này với bộ kia trong một quan hệ.
2 Khĩa hợp (composite key )
Là khĩa cĩ trên một thuộc tính.
3 Khĩa chính (primary key )
Là khĩa được chọn để cài đặt trong một HQTCSDL. Khi chọn khĩa chính ta phải chú ý các tính chất sau: áp dụng, duy nhất, nhỏ nhất, ổn định.
Khĩa cĩ tính áp dụng khi nĩ khơng bỏ sĩt bất kỳ trường hợp nào của vấn đề.
Khĩa phải cĩ tính duy nhất dùng để phân biệt bộ này với bộ kia trong quan hệ.
Khĩa cĩ tính nhỏ nhất khi ta bỏ bất kỳ thuộc tính nào của nĩ thì nĩ khơng cịn tính duy nhất nữa. Khĩa cĩ tính ổn định khi giá trị của khĩa khơng
thay đổi. Ví dụ về khĩa chính khơng ổn định
WSE bán lẻ đồ điện, là cửa hàng được cung cấp hàng bởi NSD. Thỏa thuận giữa WSE và NSD là WSE phải mua tối thiểu 90% hàng của NSD. WSE cĩ thể mua tối đa 10% hàng của những nhà cung ứng độc lập khác.
WSE đang thiết lập một hệ máy tính cho điều hành và xử lý đơn hàng. Hệ sử dụng cùng mã sản phẩm với NSD và tạo mã riêng cho nguồn hàng mua từ nơi khác.
Khi NSD thay đổi mã hàng thì mã hàng của WSE sẽ bị thay đổi theo gây ra tính mất ổn định.
Khi một mặt hàng vừa được cung ứng từ nhà cung ứng độc lập và từ NSD thì sẽ gây ra tình trạng một mặt hàng cĩ tới hai mã hàng khác nhau. Để tránh tình trạng này buộc lịng phải thay đỗi mã hàng.
4 Khĩa ngoại (foreign key )
Trong mơ hình quan hệ, để diễn tả mối kết hợp, người ta chép khĩa chính từ quan hệ này sang quan hệ kia. Trong quan hệ nhận, khố được chép sang gọi là khĩa ngoại.
HỌC VIÊN MƠN HỌC 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 mã mơn học tên mơn học thời lượng
Hình 3.1 - Mơ hình ER và mơ hình quan hệ của vấn đề Trường cao đẳng cộng đồng núi Ayers ghi danh vào
được ghi danh bởi Mơ hình ER
Mơ hình quan hệ
HỌC VIÊN (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, mã mơn học) MƠN HỌC (mã mơn học, tên mơn học, thời lượng)
khĩa ngoại
5 Khĩa dự tuyển và khĩa khác
Ví dụ về khĩa dự tuyển.
ANFD (Liên hiệp các nhà phân phối thực phẩm quốc tế) là một tập đồn phục vụ khách hàng thơng qua mạng lưới các văn phịng buơn bán cấp quốc gia và nĩ cĩ trên 150 văn phịng như vậy. ANFD quản lý chi tiết xe của các văn phịng đại diện bằng quan hệ sau:
XE(số đăng bộ, qui cách, hình dáng, màu sắc, số sườn, số máy, mã xe, quốc gia)
Bước đầu, cĩ một số nhĩm thuộc tính cĩ khả năng phân biệt xe này với xe kia. Các nhĩm thuộc tính này được gọi là khĩa dự tuyển: (số đăng bộ, quốc gia), (số sườn), (số máy), (mã xe)
Khĩa dự
tuyển Điều kiện
chọn lựa
Diễn giải
Số đăng bộ,
quốc gia Áp dụng Gây ra vấn đề khi cần lưu trữ thơng tin về xe chưa đăng bộ Oån định Gây ra vấn đề vì số đăng bộ cĩ khả năng thay đổi. Khi số đăng bộ thay đổi (khi bán xe) ta phải sửa lại giá trị số đăng bộ của xe đĩ làm cho khĩa chính khơng ổn định
Duy nhất Chỉ riêng số đăng bộ khơng cĩ tính duy nhất từ quốc gia này sang quốc gia khác
Nhỏ
nhất Khơng nhỏ nhất trong phạm vi một quốc gia
Số sườn Áp dụng Khơng cĩ vấn đề vì mỗi xe cĩ số sườn khác nhau
Oån định Khơng cĩ vấn đề vì số sườn khơng thay đổi Duy nhất Duy nhất cho mỗi xe
Nhỏ
nhất Chỉ gồm một thuộc tính thì đương nhiên nhỏ nhất Số máy Áp dụng Khơng vấn đề
Oån định Cĩ vấn đề vì máy cĩ khả năng được thay mới Duy nhất Khơng cĩ vấn đề
Nhỏ
nhất Chỉ gồm một thuộc tính thì đương nhiên nhỏ nhất Mã xe Áp dụng Khơng cĩ vấn đề vì do cơng ty tạo ra
Oån định Khơng cĩ vấn đề vì do cơng ty tạo ra
Duy nhất Khơng cĩ vấn đề vì cơng ty tự chịu trách nhiệm bảo đảm chúng phải khác nhau
Nhỏ
nhất Chúng chỉ gồm một thuộc tính nên đương nhiên nhỏ nhất Qua bảng phân tích trên thì khĩa chính cĩ khả năng là một trong hai thuộc tính sau: Số sườn và mã xe
Do số sườn thường dài và khơng đồng nhất nên khơng tiện trong cơng tác quản lý của cơng ty. Cơng ty tự tạo ra mã xe là giải pháp chọn lựa cĩ tính thực tiễn cao.
số đăng bộ
Hình 3.6 - Mối quan hệ giữa khĩa dự tuyển, khĩa khác, và khĩa chính của vấn đề ANFD loại vì khơng cĩ tính duy nhất số đăng bộ, số máy, số sườn mã xe khĩa phụ khĩa chính khĩa dự tuyển
6 Khĩa nhân tạo (khĩa đại diện) artificial key
( surrogate key )
Đơi khi việc xác định khĩa chính khơng phải lúc nào cũng thực hiện được do bốn tính chất ràng buộc: áp dụng, ổn định, duy nhất, nhỏ nhất. Trong các trường hợp như vậy, buộc ta phải đưa vào một thuộc tính với mục đích làm khĩa chính được gọi là khĩa nhân tạo (artificial key), đơi khi cịn gọi là khĩa đại diện (surrogate key). Các khĩa nhân tạo như: mã nhân viên, mã khách hàng, số hĩa đơn, mã tài sản cố định.
Khĩa nhân tạo luơn luơn thỏa 4 tính chất áp dụng, ổn định, duy nhất, nhỏ nhất. Khi sử dụng khĩa nhân tạo ta cần chú ý các điều sau:
Khơng gắn ngữ nghĩa của vấn đề vào khĩa như mã khách hàng từ 1 đến 1000 là khách hàng của các chi nhánh phía bắc, mã khách hàng lớn hơn 1000 là khách hàng của các chi nhánh phía nam.
Khơng dùng lại giá trị khĩa đã xĩa cho một bộ giá trị mới vì ảnh hưởng đến dữ liệu cũ.
Kiểm tra trường hợp nhập hai bộ giá trị của một đối tượng.
7 Khĩa phụ (Secondary keys )
Khĩa phụ là một thuộc tính hay một nhĩm các thuộc tính thường hay được sử dụng trong khai thác dữ liệu. Ví dụ vấn đề Trường cao đẳng cộng đồng núi Ayers cĩ thuộc tính tên học viên và thuộc tính tên mơn học hay được dùng trong tìm kiếm nên chúng được sắp xếp để đẩy nhanh tốc độ xử lý. Những vùng này được gọi là khĩa phụ.
III NHỮNG TÍNH CHẤT KHÁC CỦA MƠ HÌNH QUAN HỆ
Những tính chất khác của mơ hình quan hệ là:
Đại số quan hệ, phép tính quan hệ và Ràng buộc tồn vẹn
1 Đại số quan hệ, phép tính quan hệ
Đại số quan hệ và phép tính quan hệ tạo ra một số chức năng như: Trích một số dịng trong quan hệ.
Trích một số cột trong quan hệ.
Kết nối quan hệ thơng qua khĩa ngoại
Các chức năng này được thể hiện trong HQTCSDL quan hệ qua ngơn ngữ SQL. SQL là ngơn ngữ phi thủ tục chúng khai thác dữ liệu bằng cách mơ tả truy xuất cái gì hơn là truy xuất như thế nào.
2 Ràng buộc tồn vẹn
Mơ hình quan hệ định nghĩa ba mức ràng buộc:
Ràng buộc tồn vẹn thực thể (Entity integrity constraint)
Ràng buộc tồn vẹn tham chiếu (Referential integrity constraint)
Ràng buộc tồn vẹn loại dữ liệu (Data type integrity constraint)
Ràng buộc miền giá trị (Domain integrity constraint)
Ràng buộc thực thể (entity Integrity )
Thực chất của ràng buộc thực thể là các ràng buộc trên khĩa chính thỏa mãn các tính chất: duy nhất, khơng rỗng, nhỏ nhất.
Ràng buộc phụ thuộc tồn tại (referential Integrity )
Ràng buộc tồn tại địi hỏi giá trị khĩa ngoại trong một quan hệ phải tồn tại trong quan hệ cĩ khĩa chính tương ứng.
HỌC VIÊN MƠN HỌC Mã học viên Tên học viên … Mã mơn học Mã mơn học Tên mơn học Thờ i lượn g
91215 Jenny BBW BKE Cử nhân cơng
nghệ bay 36
92325 Mun
93642 Alexande
r … DFA BBW Cử nhân nuơi chim 24
… … … … DFA Văn bằng cắm
hoa 18
… … … ….
96789 Sarah DJK ?
Hình 3.7 – Ràng buộc sư tồn tại bị vi phạm bởi học viên 96789
Ràng buộc loại dữ liệu (data type integrity )
Ràng buộc loại dữ liệu địi hỏi giá trị thuộc tính phải là loại dữ liệu của thuộc tính.
Ví dụ Trường cộng đồng núi Ayers quyết định thu học phí các mơn học và học phí của mỗi mơn học thì khác nhau. Ta lưu trữ thơng tin này bằng cách thêm thuộc tính học phí vào quan hệ mơn học. Ta được:
MƠN HỌC(mã mơn học, tên mơn học, thời lượng, học phí)
Loại dữ liệu của thuộc tính học phí là loại tiền tệ như các giá trị sau: $280.00,$65.95,$890.99
3 Kết nối quan hệ
Tốn tử kết nối quan hệ được cài đặt trong cơng cụ SQL của HQTCSDL. Ví dụ: để khai thác chi tiết về học viên đang học mơn học gì thì quan hệ HỌC VIÊN và MƠN HỌC phải được kết nối thơng qua mã mơn học
4 Miền giá trị (data domain integrity )
Miền giá trị là các giá trị cĩ thể cĩ trong loại dữ liệu. Ví dụ Trường cộng đồng núi Ayers quyết định mức học phí của từng mơn học khơng lớn hơn $300.00. Như vậy miền giá trị là từ 0 đến $300.00. Miền giá trị nằm trong qui tắc quản lý của doanh nghiệp, thường hay thay đổi cịn loại giá trị thì ít thay đổi.
5 Ràng buộc do người dùng (user constraint )
Học sinh khuyết tật được giảm 10% học phí
Đơn mua hàng cĩ giá trị lớn hơn $10.000 được giảm 5%.
IV QUI TẮC BIẾN ĐỔI MƠ HÌNH ER THAØNH MƠ HÌNH QUAN HỆ
Hình: Kiểm tra yêu cầu chức năng trong qui trình PTTKHT THIẾT KẾ HỆ THỐNG
(SY STEMS DESIGN )
THỰC HIỆN VAØ VẬN HAØNH HỆ THỐNG
(SY STEMS IMPLEMENTATION AND OPERATION )
1. Thiết kế giao diện con người (designing the human interface) 2. Thiết kế cơ sở dữ liệu (designing database)
a) Thiết kế csdl logic (designing logical database)
-Biến đổi mơ hình ER thành mơ hình quan hệ
- Kiểm tra yêu cầu chức năng - Chuẩn hĩa cơ sở dữ liệu
b) Thiết kế csdl vật lý (designing physical database)
- Chuyển các quan hệ đạt chuẩn thành các đặc tả tập tin máy tính
1 Qui tắc biến đổi mơ hình ER
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 quan hệ.
Mỗi thuộc tính trong mơ hình ER được chuyển thành thuộc tính trong quan hệ tương ứng.
Thuộc tính nhận diện trong mơ hình ER được chuyển thành khĩa chính trong quan hệ tương ứng. Trường hợp khĩa chính khơng thỏa 4 tính chất chọn lựa, thì phải chọn khĩa chính khác hay đưa vào khĩa nhân tạo.
Thể hiện mối kết hợp thơng qua khĩa ngoại.
2 Qui tắc thể hiện mối kết hợp thơng qua khĩa
ngoại Mối kết hợp 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
Mơ hình ER NGƯỜI LÁI XE BẰNG LÁI mã người lái xe tên địa chỉ ngày sinh mã bằng lái loại bằng lái ngày hết hạn sở hữu
được sở hữu bởi
Hình 3.9 - Mơ hình ER và mơ hình quan hệ của vấn đề Người lái xe và bằng lái Mơ hình quan hệ
NGƯỜI LÁI XE (mã người lái xe, tên, địa chỉ, ngày sinh)
BẰNG LÁI(mã bằng lái, loại bằng lái, ngày hết hạn, mã người lái xe)
NGƯỜI LÁI XE (mã người lái xe, tên, địa chỉ, ngày sinh, mã bằng lái) BẰNG LÁI(mã bằng lái, loại bằng lái, ngày hết hạn)
hay
Mối kết hợp một-nhiều
Chuyển khĩa chính từ bên một sang bên nhiều.
HỌC VIÊN MƠN HỌC 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 mã mơn học tên mơn học thời lượng
Hình 3.1a - Mơ hình ER và mơ hình quan hệ của vấn đề Trường cao đẳng cộng đồng núi Ayers ghi danh vào
được ghi danh bởi Mơ hình ER
Mơ hình quan hệ
HỌC VIÊN (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, mã mơn học) MƠN HỌC (mã mơn học, tên mơn học, thời lượng)
khĩa ngoại
Mối kết hợp nhiều nhiều được giải bằng tập kết hợp
HỌC VIÊN MƠN HỌC mã học viên tên học viên địa chỉ ngày sinh số điện thoại mã mơn học tên mơn học thời lượng ghi nhận đào tạo về
thuộc về PHIẾU GHI DANH mã học viên mã mơn học ngày nhập học cĩ
được ghi nhận đào tạo bởi Mơ hình ER
Mơ hình quan hệ
HỌC VIÊN (mã học viên, tên học viên, địa chỉ, ngày sinh, số điện thoại)
PHIẾU GHI DANH (mã học viên, mã mơn học, ngày nhập học)
Hình 3.10 - Mơ hình ER và mơ hình quan hệ của vấn đề Trường Cao Đẳng Cộng Đồng Núi Xanh
Trong quan hệ PHIẾU GHI DANH cĩ các khĩa chính khĩa ngoại như sau: