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ì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ặt hàngmơ tả 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ất thuếbán ra đơ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ẢNG TRONG HQTCSDL
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ị.
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.
Ví dụ trên dẫn tới hai vấn đề như sau:
¾ 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.
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 đề
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.
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ụ.