Nhằm làm rõ hơn các khái niệm của vấn đề, người ta phải xây dựng từ điển dữ liệu để giải thích thêm ý nghĩa của các tập thực thể và thuộc tính. Ví dụ tập thực thể hàng
Sẽ cĩ từ điển dữ liệu như sau:
Thực thể MẶT HAØNG
Tên khác hàng, sản phẩm, hàng hĩa
Mơ tả Hàng là những thứ được mua với số lượng khác nhau từ các nhà cung ứng, được lưu trữ trong kho và bán cho khách hàng
Thuộc tính Mã hàng: Mơ tả: Đơn giá: thuế suất:
Là một số dùng để phân biệt mặt hàng này với mặt hàng kia. Giá trị cĩ dạng 0001->9999
Mơ tả mặt hàng gồm qui cách và hình dáng. Loại dữ liệu chuỗi gồm 100 ký tự. Cĩ thể cĩ giá trị rỗng
Đơn giá hiện tại của mặt hàng. Cĩ loại dữ liệu số với 2 số thập phân, cĩ giá trị từ 10 đến 50. Giá trị mặc nhiên là 0
Tỉ suất thuế bán của mặt hàng được ghi dưới dạng phần trăm. Cĩ loại dữ liệu số, cĩ giá trị từ 0 đến 99. Giá trị mặc nhiên 0 Thuộc tính cần đề cập các nội dung sau:
- Giải thích ngữ nghĩa. - Xác định kiểu dữ liệu. - Xác định miền giá trị - Xác định giá trị mặc nhiên - Cho phép để rỗng khơng - Xác định các ràng buộc khác VII BAØI TẬP 1 Bài 2.1
Trường Cao đẳng cộng đồng núi xanh xem xét lại vấn đề học viên/mơn học và quyết định đưa chi tiết về chủ đề vào cơ sở dữ liệu của họ. Thơng tin về chủ đề cĩ mã chủ đề, tên chủ đề, thời lượng (mơn học khơng cịn thuộc tính thời lượng). Hãy sửa đổi mơ hình ER sao cho nĩ thể hiện được các qui tắc quản lý sau:
(a) Một học viên cĩ thể ghi danh học nhiều chủ đề và một chủ đề được học bởi nhiều học viên. (b) Một mơn học bao gồm một số chủ đề và một chủ đề chỉ thuộc về một mơn học.
(c) Một số chủ đề cĩ tính bắt buộc cịn một số cĩ tính nhiệm ý. (d) Điểm của học viên của mỗi chủ đề cũng được ghi nhận.
2 Bài 2.2
HT mua hàng (nhận diện bởi mã hàng) từ các nhà cung cấp (nhận diện bởi mã nhà cung cấp) khác nhau. Việc giao hàng được thực hiện theo thơng lệ thơng thường và số lượng của từng mặt hàng trong mỗi lần giao của từng nhà cung cấp được ghi nhận. Một nhà cung cấp cĩ thể cung cấp cùng mặt hàng nhưng khơng cùng ngày. Đơn giá cung cấp của một mặt hàng cĩ thể khác nhau trong từng chuyến hàng. HT mong muốn ghi nhận mơ tả mặt hàng và đơn giá cũng như số lượng đã được cung cấp. Tên, địa chỉ, số điện thoại và số fax của nhà cung cấp cũng được lưu vào cơ sở dữ liệu.
Hãy xây dựng mơ hình ER và phiếu thực thể thuộc tính của vấn đề.
3 Bài 2.3
Hãy sửa đổi bài tập 2.1 cho phép sự thay đổi về qui tắc quản lý của trường cao đẳng cộng đồng núi xanh sao cho:
(a) Một chủ đề cĩ thể nằm trong nhiều mơn học.
(b) Một học viên cĩ thể ghi danh vào một chủ đề nhiều lần (chẳng hạn Maria rút khỏi cơ khí máy dầu ở học kỳ 1 năm 1995 và cĩ kế hoạch ghi danh lại trong học kỳ 2. John đã rớt trong kỳ thi thực hành nghề nấu ăn thượng hạng nhưng được phép ghi danh lại vào học kỳ tiếp vì anh đã đạt kết quả tốt trong các chủ đề khác.
4 Bài 2.4
NOS là một nhà cung cấp đồ dùng văn phịng và trang thiết bị văn phịng cho các tổ chức doanh nghiệp trong cả nước. Họ sử dụng đường bưu điện để nhận và gởi đơn hàng, ca-ta-lơ theo thơng lệ thơng thường. Cĩ nhiều loại ca-ta-lơ, chẳng hạn loại ca-ta-lơ tuần, loại ca-ta-lơ tháng, loại ca-ta-lơ qúi. Họ cũng cĩ các loại ca-ta-lơ chuyên mục về một số mặt hàng, chẳng hạn:
– Loại ca-ta-lơ OE chuyên về trang thiết bị văn phịng.
– Loại ca-ta-lơ PS chuyên về sản phẩm giấy và đồ dùng văn phịng.
– Loại ca-ta-lơ CE chuyên về trang thiết bị máy tính và các phụ kiện.
NOS mong muốn lưu trữ chi tiết về sản phẩm mà họ cung cấp cụ thể mã hàng, mơ tả, màu sắc và đơn vị tính. Chủng loại các mặt hàng trong mỗi loại ca-ta-lơ thì khác nhau từ vài trăm cho loại ca-ta-lơ tuần đến vài ngàn cho loại ca-ta-lơ quí. Một sản phẩm cĩ thể xuất hiện trên nhiều loại ca-ta-lơ.
NOS phát hành các loại ca-ta-lơ theo từng đợt xuất bản. Một sản phẩm chỉ xuất hiện một lần trên một ca-ta-lơ nhưng cĩ thể cĩ các giá khác nhau trên các đợt xuất bản khác nhau. Mỗi ca-ta-lơ cĩ một ngày bắt đầu khuyến mãi và ngày kết thúc khuyến mãi. Thời gian khuyến mãi của các ca-ta-lơ khác nhau cĩ thể trùng lên nhau chẳng hạn:
– trùng một phần: ca-ta-lơ tuần cĩ thời gian khuyến mãi trùng một phần với ca-ta-lơ quí.
– trùng tồn bộ: ca-ta-lơ CE cĩ thể cĩ cùng thời gian khuyến mãi với ca-ta-lơ tuần.
Hãy xây dựng mơ hình ER của vấn đề và chú ý đến sự kiện giá một mặt hàng thì khác nhau trong các ca-ta-lơ khác nhau, trong các khoảng thời gian khác nhau.
5 Bài 2.5
Sửa đổi bài tập 2.4 sao cho NOS cĩ thể ghi nhận hàng đã cung cấp cho khách hàng. Thơng tin về khách hàng cĩ mã khách hàng, họ tên, địa chỉ. Khi một khách hàng đặt mua hàng từ NOS thì mã ca-ta-lơ (như OE, PS) và đợt xuất bản được ghi kèm theo mã hàng trong đơn hàng. Điều này cho phép NOS cung cấp cho khách hàng, sản phẩm cĩ giá đúng với ca-ta-lơ của khách hàng. Một đơn hàng cĩ nhiều mặt hàng và mỗi mặt hàng đều cĩ số lượng đặt mua. Thơng tin về đơn hàng cĩ số đơn hàng (duy nhất), ngày đơn hàng và chi tiết khách hàng.
6 Trắc nghiệm
6.1) Which of the following is not correct? Answer ?
A) Entity Relationship Diagrams use four items; Rectangles, circles, lines, degree of relation (such as one to many).
B) Entity Relationship Diagrams show entities, how the entities interact and the attributes. C) In trasforming Entity Relationship Diagrams to a Database, entities become tables.
D) Entity Relationship Diagrams are a graphical approach to modeling that helps the user design systems
6.2) A type of documentation that contains the definition and the characteristics of the data elements within a data base is known as a:
A) record layout B) data dictionary C) data model D) data flow diagram
E) entity-relationship model.
6.3) An entity type whose existence depends on another entity type is called a (n) _____entity A) Co dependent
B) Variant C) Strong D) Weak
6.4) An entity that associates the instances of one or more entity types and contains attributes specific to the relationships is called a(n)
A) Associative entity B) Intersectional entity C) All of the above D) Connecting entity
6.5) A persons name, birthday, and social security number are all examples of A) Descriptors
B) None of the above C) Relationships D) Entities E) Attributes 6.6) A data model is
A) Shown as an entity-relationship diagram
B) A logical representation of the structure of the database. C) Transformed into tables and ralationships
D) All of the above
6.7) One of the important properties of an attribute is whether or not it is required A) False
B) True
Chương 4.
MƠ HÌNH QUAN HỆ
(THE RELATIONAL MODEL)
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ì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.