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
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
ii 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.
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) MƠN HỌC (mã mơn học, tên mơn học, thời lượng)
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 Xanh
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
iv Mối kết hợp 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ĩ bản số 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 kết hợp nhiều nhiều như sau:
MƠ HÌNH DỮ LIỆU
QT 1: Mỗi tập thực thể trong mơ hình ER được chuyển thành một quan hệ
QT 2: 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 QT 3: 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.
QT 4: Thể hiện mối quan hệ thơng qua khĩa ngoại:
1 : 1 Chuyển khĩa chính từ quan hệ 1 sang quan hệ 2 hay ngược lại. 1 :M Chuyển khĩa chính từ bên một sang bên nhiều.
M:M Tạo quan hệ tồn khĩa
QUAN HỆ DỰ TUYỂN
Hình 3.14 - Tĩm tắt các qui tắc biến đổi mơ hình ER thành mơ hình quan hệ trên khung của các giai đoạn
DỮ LIỆU YÊU CẦU
PHÂN TÍCH
THIẾT KẾ
V BAØI TẬP
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