1 Bài tập 1
Đối với vấn đề sau đây hãy:
• (a) xây dựng mơ hình ER
• (b) đề xuất về thuộc tính nhận diện và thuộc tính mơ tả một cách thích hợp.
• (c) chuyển mơ hình ER thành mơ hình quan hệ và cho biết khĩa chính, khĩa ngoại.
• (d) kê thêm các giả định của vấn đề.
Một nhân viên cĩ thể yêu cầu được cung cấp vật tư từ người quản lý. Nếu người quản lý đồng ý với bản yêu cầu thì các vật tư từ bản yêu cầu được chọn theo nhà cung cấp để tạo các đơn mua hàng và gởi cho các nhà cung cấp thích hợp.
2 Trắc nghiệm
2.1) A table’s primary key field
A) Guaranties that each row is unique
B) Is always referenced by a foreign key in another table C) Is a combination of two keys that make a foreign key D) In a one to many relationship is also its own foreign key. E) Is always stored in one column
2.2) Entity integrity is when:
A) There are no composite primary keys B) Referential integrity has been upheld. C) None of the above.
D) Primary key values are unique. E) Entity relationship diagram is correct
2.3) The field used to id records in a database table is known as the: A) Query Identifier
B) Primary key C) Relational Column D) Header
2.4)Which of the following is correct about referential integrity? A) Ensures tables are up to date
B) Prevents data tables from having orphans C) Shows how tables are related to each other
Chương 5.
PHÂN TÍCH DỮ LIỆU VAØ YÊU CẦU CHỨC NĂNG
(DATA ANALYSIS AND FUNCTIONAL REQUIREMENTS)
I GIỚI THIỆU
1 Hoạt động kiểm tra yêu cầu chức năng
Hoạt động kiểm tra yêu cầu chức năng đơi khi cịn gọi là lượng giá mơ hình (validating the model, data model validation) nhằm phát hiện sai sĩt trong mơ hình dữ liệu, làm cho mơ hình dữ liệu phù hợp với yêu cầu của hệ thống hơn. Kiểm tra yêu cầu chức năng là hoạt động nằm trong giai đoạn thiết kế csdl logic (hình).
2 Phân tích hệ thống thơng tin
Phân tích hệ thống thơng tin cĩ các khía cạnh sau:
¾ Phương pháp tiếp cận từ trên xuống (từ tổng quát đến chi tiết) (top down approach)
¾ Tập trung chú ý vào dữ liệu yêu cầu và mối kết hợp của chúng.
¾ Phân tích hệ thống thơng tin tạo điều kiện cho việc dùng lại dữ liệu.
3 Phân tích dữ liệu
Ngược lại với phân tích hệ thống thơng tin, phân tích dữ liệu chỉ tập trung vào một ứng dụng trong một tổ chức như hệ đơn đặt hàng, hệ cơng nợ. Lợi ích của phân tích dữ liệu là chi phí và thời gian ước lượng cho dự án là tương đối chính xác. Bất lợi là dữ liệu dùng chung cĩ thể bị trùng lắp.
II NGUỒN DỮ LIỆU
1 Các phương pháp thu thập thơng tin
Dữ liệu yêu cầu và mối tương quan giữa các dữ liệu được thu thập bằng các phương pháp sau:
+ Phỏng vấn và lắng nghe (interviewing and listening)
+ Bảng câu hỏi (administering questionnaires)
+ Quan sát (observing)
+ Phân tích qui trình (Procedure) và tài liệu (màn hình, báo cáo phát sinh của máy tính và Biểu mẫu hiện hữu)
2 Phân tích mẫu biểu
CUNG ỨNG VVP QUỐC GIA
Văn phịng chính: 1234 Pacific Highway Newtown NSW 2199 ĐT: 81231234 Fax: 81231235
Ngày: 10.07.96 Số đơn hàng: 134277
ĐƯỢC ĐẠT BỞI GIAO CHO
Cơng ty: Western Stationery Cơng ty: Western Stationery
Người đặt hàng: Tanya Mã khách hàng: W123 Người nhận hàng: Carlo
Địa chỉ: 22B St Georges Tce Địa chỉ: 862 Welshpool road
Thành phố: Perth Bang: WA Thành phố: Kewdale Bang: WA
Mã thư tín: 6000 Số ĐT: 8321 3214 Mã thư tính: 6104 Số ĐT: 84331111
Số lượng Mã hàng Đơn vị tính Màu sắc Mơ tả Đơn gía Thành tiền
40 A7211 Cái trắng Giấy A4 5.97 238.80 12 B7123 Cái trắng cuộn giấy fax 3.65 43.80
1 A7216 tá cuộn băng keo 2.64 20.64
1 J2312 cái màu be Tủ 268.95 268.95
1 N0002 hộp nâu cuộn nơ 3.27 3.27
Miễn phí giao hàng cho đơn hàng cĩ giá trị trên 50.00 Phí giao hàng: 1.50
Tổng cộng: 575.47 Hồn trả sản phẩm trong vịng 30 ngày sẽ được hồn tiền mua hàng
Hình 4.2 – Mẫu biểu đơn đặt hàng và tập thực thể / thuộc tính được nhận diện
i Tính chất
Trước khi phân tích mẫu biểu, ta cĩ nhận xét sau:
¾ tên mẫu biểu cĩ thể giống tên tập thực thể nhưng chúng hồn tồn khác nhau như: tập thực thể HĨA ĐƠN và mẫu biểu hĩa đơn
¾ phân tích mẫu biểu để nhận diện tập thực thể, mối tương quan giữa chúng và thuộc tính của vấn đề.
¾ Một mẫu biểu thường cĩ các thơng tin in sẵn mà chúng ta khơng cần quan tâm trong việc xây dựng mơ hình dữ liệu.
¾ mẫu biểu chứa thuộc tính của nhiều tập thực thể.
ii Phân tích
Từ mẫu đơn đặt hàng ta rút ra những điều sau: 1. Thơng tin in sẵn trên đơn đặt hàng:
+ Tên cơng ty, địa chỉ và điện thoại liên hệ
+ Tên mẫu biểu
+ Thơng tin quảng cáo
2. Số đơn hàng và ngày đơn hàng là các thơng tin của một đơn hàng. Vậy ĐƠN HAØNG là một tập thực thể.
3. Phần được đặt bởi là các thơng tin về khách hàng đặt hàng. Vậy ta cĩ tập thực thể KHÁCH HAØNG
4. Phần nơi giao hàng là các thơng tin về người nhận hàng. Người nhận hàng cĩ thể là người đặt hàng cũng cĩ thể là người khác. Thơng tin người mhận hàng chỉ nhằm mục đích mơ tả thêm về đơn hàng là hàng giao cho ai mà khơng cĩ mục đích gì khác chẳng hạn như cĩ bao nhiêu người nhận mặt hàng H vì thế chúng ta đưa chúng vào tập thực thể ĐƠN HAØNG.
5. Thơng tin trên phần chi tiết là danh sách các mặt hàng cung ứng. Ta gọi mỗi dịng như vậy là một thực thể của tập thực thể DỊNG ĐƠN HAØNG
6. Cột thành tiền của đơn hàng là giá trị được tính bằng cách nhân đơn giá bán với số lượng, nên thơng tin này khơng cần đưa vào mơ hình ER.
7. Những thơng tin như đơn vị tính, mã hàng, màu sắc, mơ tả, đơn giá là các thuộc tính của mặt hàng vậy MẶT HAØNG là tập thực thể. Như vậy chỉ cĩ thuộc tính số lượng là thuộc tính của tập thực thể DỊNG ĐƠN HAØNG.
8. Bên dưới đơn hàng là chi phí giao hàng và tổng giá trị đơn hàng. Chi phí giao hàng là chi phí của một đơn hành nên chúng là thuộc tính của tập thực thể ĐƠN HAØNG. Tổng giá trị của đơn hàng được tính bằng cách cộng các giá trị trên cột thành tiền và chi phí giao hàng nên chúng khơng được đưa vào mơ hình ER.
9. Thơng thường các thơng tin trên một mẫu biễu khơng nhĩm chung để diễn tả một thực thể. Trong các trường hợp như vậy địi hỏi ta phải biết gán thuộc tính thích hợp cho từng thực thể
Những thành phần chính của mẫu biểu đơn đặt hàng:
o Tập thực thể KHÁCH HAØNG
o Tập thực thể ĐƠN HAØNG
o Tập thực thể DỊNG ĐƠN HAØNG
o Tập thực thể HAØNG
o Các vùng tính tốn như thành tiền, tổng cộng
III KIỂM TRA YÊU CẦU CHỨC NĂNG
1 Nguyên tắc chung
¾ Mỗi bảng trong mơ hình cần phải kiểm tra 4 chức năng CRUD (create, retrieve, update, delete/archive) sau:
o Thêm mới mẫu tin vào bảng: chú ý trước khi thêm giá trị cho khĩa ngoại phải thêm giá trị của khĩa chính tương ứng trước (thêm bên một rồi thêm bên nhiều).
o Khai thác mẫu tin: khi khai thác ta cĩ thể kết nối thơng tin thơng qua các vùng (thường khĩa chính và khĩa ngoại). Kết quả của việc khai thác cho hiện lên màn hình hay in ra báo cáo.
o Sửa dữ liệu: trường hợp sửa dữ liệu trên vùng khĩa ta phải chú ý ràng buộc phụ thuộc tồn tại
o Xĩa: lưu rồi xĩa.
¾ Mơ hình ER dùng để kiểm tra chức năng phải cĩ thuộc tính và khĩa ngoại.
¾ Kiểm tra các chức năng nhằm mục đích phát hiện những thiếu sĩt trong mơ hình dữ liệu.
2 Ví dụ:
Mơ hình dữ liệu trên cĩ các yêu cầu chức năng sau: 1. Thêm đơn hàng mới.
2. Liệt kê đơn hàng và tên cơng ty đặt đơn hàng đĩ. 3. Sửa tên khách hàng của một đơn hàng
4. Sao lưu rồi xĩa bỏ các đơn hàng cĩ ngày đặt hàng trước một ngày nào đĩ.
5. In báo cáo các đơn hàng và tên cơng ty đặt đơn hàng đĩ theo thứ tự ngày đơn hàng giảm dần. 6. Cho hiện mãhàng, mơ tả của các mặt hàng của một khách hàng.
ĐƠN HAØNG KHÁCH HAØNG ngày đơn hàng cơng ty nhận người nhận địa chỉ nhận thành phố nhận bang nhận mã thư tín nhận chi phí giao hàng số điện thoại nhận mã khách hàng hàng tên cơng ty tên khách hàng địa chỉ thành phố bang mã thư tính số điện thoại
Hình 4.5 - Mơ hình ER và mơ hình quan hệ cĩ khĩa ngoại được đặt bởi đặ t DỊNG ĐƠN HAØNG MẶT HAØNG chứ a thuộc về ke â được kê bởi số đơn hàng số thứ tự số lượng đơn giá bán mã hàng mơ tả đơn vị tính màu sắc đơn giá hiện hành
ĐƠN HAØNG(số đơn hàng,ngày đơn hàng, cơng ty nhận,người nhận,địa chỉ nhận,thành phố nhận,
bang nhận,mã thư tín nhận,chi phí giao hàng,số điện thoại nhận, )
DỊNG ĐƠN HAØNG(số đơn hàng,số thứ tự số lượng,đơn
giá bán)
MẶT HAØNG(mã hàng,mơ tả ,đơn vị tính,màu sắc,đơn giá hiện hành)
KHÁCH HAØNG(mã khách hàng,tên cơng ty,tên khách hàng,địa chỉ,thành phố,bang,mã thư tính,số điện thoại)
Chúng ta sẽ lần lượt thực hiện các yêu cầu chức năng trên:
1. Chức năng thêm mới một đơn hàng. Ta lần lượt thêm mới theo thứ tự sau:
• Nếu là khách hàng mới thì thêm thơng tin về khách hàng vào bảng KHÁCH HAØNG.
• Thêm số đơn hàng, ngày đơn hàng,... vào bảng ĐƠN HAØNG.
• Ở mỗi dịng trên biểu mẫu đơn hàng ta lần lượt thực hiện:
o Nếu là mặt hàng mới thì thêm thơng tin về mặt hàng vào bảng MẶT HAØNG.
o Thêm số đơn hàng, số thứ tự, ... vào bảng DỊNG ĐƠN HAØNG
• Quá trình thêm đơn hàng mới sẽ khơng cĩ vấn đề khi thứ tự trên được tơn trọng. 2. Chức năng khai thác:
• Giả sử dữ liệu đã cĩ đầy đủ.
• Để khai thác ĐƠN HAØNG và Tên cơng ty ta:
o Lần lượt khai thác từng mẫu tin trong bảng ĐƠN HAØNG.
o Liệt kê các giá trị của các vùng của ĐƠN HAØNG.
o Ưùng với mỗi mẫu tin của ĐƠN HAØNG ta sử dụng giá trị vùng Mã khách hàng để tìm mẫu tin cĩ cùng giá trị trên vùng Mã khách hàng trong KHÁCH HAØNG và khai thác
Tên cơng ty.
3. Chức năng sửa:
• Trong bảng KHÁCH HAØNG tìm mẫu tin của khách hàng cần sửa và sửa Tên khách hàng
• Muốn xĩa một mẫu tin của đơn hàng ta phải biết biết đơn hàng nào đã gởi, đơn hàng nào chưa. Mơ hình hiện tại khơng thể hiện điều này. Để đáp ứng yêu cầu chức năng này, địi hỏi ta phải thêm thuộc tính Đã gởi vào tập thực thể ĐƠN HAØNG.
• Lần lượt khai thác các mẫu tin trong bảng ĐƠN HAØNG, chọn mẫu tin cĩ giá trị đúng trên vùng Đã gởi và cĩ Ngày đơn hàng trước ngày cần xĩa rồi chép lưu và xĩa.
5. Chức năng khai thác:
• Lần lượt khai thác các mẫu tin trong ĐƠN HAØNG theo thứ tự Ngày đặt hàng giảm dần.
• Ưùng với mỗi mẫu tin trong ĐƠN HAØNG, ta sử dụng giá trị vùng Mã khách hàng để tìm mẫu tin cĩ cùng giá trị Mã khách hàng trong KHÁCH HAØNG và khai thác Tên cơng ty.
• Ưùng với mỗi mẫu tin trong ĐƠN HAØNG, ta sử dụng giá trị vùng Số đơn hàng lần lượt tìm mẫu tin cĩ cùng giá trị Số đơn hàng trong DỊNG ĐƠN HAØNG và khai thác ,
• và ứng với mỗi mẫu tin trong DỊNG ĐƠN HAØNG, ta sử dụng giá trị vùng mã hàng tìm mẫu tin cĩ cùng giá trị mã hàng trong bảng MẶT HAØNG và khai thác các giá trị các vùng trong bảng MẶT HAØNG.
• Kết thúc mỗi đơn hàng tính tổng giá trị của đơn hàng. 6. Chức năng khai thác
• Dùng thơng tin về khách hàng cần tìm, tìm mẫu tin tương ứng trong bảng KHÁCH HAØNG và khai thác các giá trị của các vùng của mẫu tin này.
• Lần lượt khai thác các mẫu tin trong bảng ĐƠN HAØNG chọn mẫu tin cĩ giá trị Mã khách hàng bằng với gía trị mã khách hàng tìm thấy ở bước trên.
• Ưùng với mẫu tin của bảng ĐƠN HAØNG được chọn, lần lượt khai thác các mẫu tin của dịng đơn hàng cĩ cùng giá trị mã đơn hàng.
• Ưùng với mỗi mẫu tin của DỊNG ĐƠN HAØNG, sử dụng mã hàng để tìm mẫu tin hàng tương ứng trong bảng MẶT HAØNG.
• Ứng với mẫu tin của bảng MẶT HAØNG tìm thấy ở bước trên cho hiện giá trị của các vùng mã hàng, mơ tả.
MƠ HÌNH DỮ LIỆU
Biến đổi mơ hình ER thành mơ hình quan hệ
QUAN HỆ TUYỂN CHỌN
Hình 3.14 - Yêu cầu chức năng trong các bước phân tích thiết kế dữ liệu dựa vào yêu cầu chức năng để kiểm tra mơ hình dữ liệu
IV BAØI TẬP 4.1
ĐỒ GỖ THUNG LŨNG ĐƯỜNG ỐNG HĨA ĐƠN BÁN HAØNG
Số hĩa đơn: 913-A36-01
Ngày hĩa đơn: 11-10-2001
Bán cho: Mã khách hàng: 1273
Họ tên: Contemporary Designs Địa chỉ: 123 Oak Street
Thành phố: Keydale...Bang:TX...Zip:28384 Số điện thoại: 8 565 895
Nhân viên bán hàng: Jenny
Mã sản phẩm Mơ tả Số lượng Đơn giá Thành tiền
M128 Kệ sách 4 200 800 B381 Tủ nhiều ngăn 2 150 300 B210 Bảng 1 500 500 G200 Ghế 8 400 3200 Cộng: 4800 Giảm giá: 5% 240 Tổng cộng: 4560
Hãy phân tích biểu mẫu trên:
(a) Xây dựng mơ hình ER cĩ đưa vào bản số, tính bắt buộc hay khơng bắt buộc và tên mối kết hợp theo hai chiều.
(b) Diễn tả nội dung mối kết hợp giữa các tập thực thể. (c) Chuyển mơ hình ER thành mơ hình quan hệ. (d) Kiểm tra chức năng:
1. thêm một hĩa đơn mới. 2. In một hĩa đơn đã cĩ.
V TRẮC NGHIỆM
1) To do fact finding, the analyst does the following
A) Interviews personal, prepares questionnaires, observers current system
B) Gathers forms and documents currently in use
C) Cost-benefit analysis
2) Establishing team standards is part of which step in the data modeling process? A) creating the data model
B) validating the model C) planning the project
D) determining system requirements
E) It is not part of any of the above steps in the data modeling process.
Chương 6.
TÍNH BẮT BUỘC, KHƠNG BẮT BUỘC TRONG MỐI KẾT HỢP
(RELATIONSHIP OPTIONALITY)
I NGỮ NGHĨEA MỐI KẾT HỢP
Trong chương này ta bổ sung thêm ngữ nghĩa (qui tắc quản lý) vào mối kết hợp và biểu diễn chúng trong mơ hình ER. Mơ hình ER như vậy được gọi là mơ hình thực thể kết hợp mở rộng (Extended Entity Relationship).
1 Tính khơng bắt buộc của mối kết hợp
Trước đây, chúng ta vẫn ngầm hiểu mọi thực thể đều tham gia vào mối kết hợp như mơ hình ER sau:
Mơ hình này diễn tả qui tắc quản lý:
¾ Mỗi KHÁCH HAØNG đặt một hay nhiều ĐƠN ĐẶT HAØNG
¾ Mỗi ĐƠN ĐẶT HAØNG được đặt bởi một KHÁCH HAØNG
và mơ hình này cĩ mơ hình thực thể thể hiện sau:
Mơ hình trên cho thấy một đơn đặt hàng bất kỳ phải thuộc về một khách hàng và một khách hàng bất kỳ phải cĩ đặt một đơn đặt hàng. Nhưng trên thực tế cĩ khách hàng cĩ đơn đặt hàng, cĩ khách hàng khơng cĩ đơn đặt hàng do một trong các lý do sau:
o Khách hàng mới
o Khách hàng sẽ đặt hàng trong tương lai.
o Khách hàng nằm trong chiến dịch quảng cáo. như mơ hình thực thể thể hiện sau:
Mơ hình trên cho thấy kháh hàng Ace 4WD Supplies khơng cĩ đơn đặt hàng.
Vậy để diễn tả tình trạng cĩ khách hàng khơng cĩ đơn đặt hàng, qui tắc quản lý trước đây được sửa thành:
¾ Mỗi KHÁCH HAØNGcĩ thể đặt một hay nhiều ĐƠN ĐẶT HAØNG
¾ Mỗi ĐƠN ĐẶT HAØNGphải được đặt bởi một KHÁCH HAØNG
Và mơ hình ER tương ứng được sửa đổi bằng cách bổ sung thêm tính bắt buộc hay khơng bắt buộc vào mối kết hợp:
KHÁCH HAØNG
ĐƠN ĐẶT HAØNG
Hình 5.3 - Mơ hình ER cĩ sửa đổi của vấn đề khách hàng và đơn đặt hàng mà họ đặt được đặt bởi đặ t mã khách hàng tên địa chỉ số đơn hàng ngày đơn