1 2 CÁC HỆ THỐNG THÔNG TIN THÔNG DỤNG
4.2.4. Các phương pháp xây dựng mô hình
4.2.4.1. Hai cách tiến hành: trên xuống và dưới lên
Các thông tin được đưa vào mô hình thực thể liên kết dưới 3 hình thức: thực thể, liên kết và thuộc tính. Để phát hiện các kiểu thực thể và các kiểu thuộc tính của chúng có thể tiến hành theo hai cách ngược nhau:
Cách (1):trước hết đối sánh với thực tế để tìm ra các kiểu thực thể, rồi sau đó đối với mỗi kiểu thực thể đã chọn, tìm các kiểu thuộc tính mô tả nó.
Cách (2): tìm tập hợp các kiểu thuộc tính như là những loại thông tin sơ đẳng xuất hiện trong hệ thống, rồi gom nhóm, tổ chức chúng lại thành từng cụm theo chủ đề mô tả. Mỗi cụm đó trở thành một kiểu thực thể
Tuy nhiên cách tốt nhất là hỗn hợp cả hai cách làm trên bằng cách lặp đi lặp lại nhiều lần: Từ các kiểu thực thể, tìm ra các kiểu thuộc tính, rồi từ kiểu thuộc tính ta tổ chức lại, chỉnh sửa và bổ xung thành các kiểu thực thể, vòng đi vòng lại cho đến khi thỏa đáng.
Một thực thể, như ta đã định nghĩa ở trên, là một vật thể cụ thể hay trừu tượng, tồn tại thực sự và khá ổn định trong thế giới thực mà ta muốn phản ánh nó trong hệ thống thông tin. Mặt hàng SH mặt hàng Tên hàng Màu Nhà CC SH nhà CC Họ tên Địa chỉ Catalô SH mặt hàng Tên hàng Màu
81
Tuy nhiên, không phải mọi vật thể có trong thực tế đều trở thành thực thể, mà phải có sự tuyển chọn khi đưa vào mô hình. Sự tuyển chọn đó dựa trên hai tiêu chí:
- Có ích cho việc quản lý.
- Có cách để phân biệt với các thực thể khác.
Một thuộc tính, như đã định nghĩa ở trên, là một giá trị (dữ liệu) mô tả một khía cạnh nào đó của một thực thể.
Cũng không phải mọi đặc điểm có thể của một thực thể đều được xem là thuộc tính cho nó, mà phải có sự tuyển chọn theo yêu cầu quản lý.
Xét về vai trò của kiểu thuộc tính trong một kiểu thực thể, ta phân biệt ba loại kiểu thuộc tính:
- Thuộc tính khóa
- Thuộc tính kết nối (hay khóa ngoại) - Thuộc tính mô tả.
Về các thuộc tính khóa và kết nối, ta sẽ đề cập ở dưới cùng với việc xem xét các liên kết. Còn đối với các thuộc tính mô tả, để tuyển chọn chúng ta dựa vào một số cách phân loại, đề cập ở hai mục nhỏ tiếp sau đây.
4.2.4.2. Phân loại các thuộc tính theo nội dung diễn tả
Các dữ liệu trong một hệ thống thông tin quản lý (nói ở đây là các thuộc tính và từ đó là các thực thể) có thể tách làm hai loại theo nội dung diễn tả:
- Các dữ liệu phản ánh cấu trúc tĩnh của hệ thống kinh doanh dịchvụ. Có thể nói đó là phần mô tả hạ tầng cơ sở của hệ thống kinh doanh dịch vụ và môi trường của nó, và là phần ổn định nhất trong CSDL, bao gồm:
+ Về nhân lực: Nhân viên, Khách hàng, Nhà cung cấp....
+ Về tài sản, thiết bị nguyên vật liệu: Nhà xưởng, Cửa hàng, máy ôtô, Mặt hàng, nguyên liệu ....
+ Về tổ chức và cơ cấu: Phòng ban, Phân xưởng, Khoa, Bộ môn, Lớp,.v.v... - Các dữ liệu phản ánh các sự kiện trong hoạt động kinh doanh như :
+ Các giao dịch: Đặt hàng, Đăng kí, Giao hàng, Thanh toán,... + Các báo cáo, tổng kết thống kê.
82
- Các dữ liệu sống: là các dữ liệu phản ánh thực tế hiện tại và đang được sử dụng. Các dữ liệu này phải luôn luôn được cập nhật cho khỏi lạc hậu với thực tế.
Ví dụ :Lý lịch các nhân viên đang tại chức, Đơn hàng đang xử lý (chưa hoàn tất). - Các dữ liệu lịch sử: là các dữ liệu phản ánh quá khứ của hệ thống kinh doanh dịch vụ, được chuyển sang lưu giữ, không cập nhật, không dùng trong các tính toán xử lý, và chỉ có thể tham khảo khi cần. Thường thì các dữ liệu lịch sử được lưu trên bộ nhớ tách biệt với các dữ liệu sống (cho nên thường được gọi là “Cơ sở ngoài luồng”).
Ví dụ:Hồ sơ về các nhân viên đã ra khỏi cơ quan, Đơn hàng đã hoàn tất, tài khoản đã đóng ...
4.2.4.3. Phân loại các thuộc tính theo đặc điểmvề giá trịcủa nó
Xét về đặc điểm của giá trị mà thuộc tính có thể nhận, thì ta có thể phân loại dựa trên hai tiêu chí sau:
- Thuộc tính tính toán hay thuộc tính không tính toán ; - Thuộc tính vững bền hay thuộc tínhkhông bền vững.
Thuộc tính tính toán là thuộc tính mà giá trị của nó thu được bởi sự tính toán theo một công thức (hay quy trình) xuất phát từ giá trị của một hoặc một số thuộc tính khác.
Ví dụ:Thành tiền = đơn giá x số lượng
Nhớ rằng hai yêu cầu đối với lược đồ về khái niệm dữ liệu là các thông tin phải đủ và không dư thừa. Thế thì các thuộc tính tính toán là dư thừa, vậy về nguyên tắc là không được đưa vào lược đồ. Tuy nhiên các thuộc tính tính toán không phải là không có ích. sau này đến giai đoạn thiết kế, khi xét thêm hai yêu cầu mới là: Tiện lợi và nhanh chóng, thì rất có thể là lại phải đưa chúng vào cơ sở dữ liệu. Vậy ở giai đoan phân tích, ta hãy ghi nhận chúng lại để sau này trở lại xem xét, thậm chí nếu thấy vai trò của chúng là không thể thiếu.
Thuộc tính không tính toán (còn được gọi là thuộc tính nguyên thuỷ ) là thuộc tính mà giá trị của nó được cung cấp từ bên ngoài hệ thống (không thể suy ra được từ bên trong hệ thống ).
Thuộc tính bền vững là thuộc tính mà giá trị của nó khi đã có thì không thay đổi được nữa. Ngược lại là thuộc tính không bền vững.
83
+ Thuộc tính tính toán và bền vững, chẳng hạn : Tổng tiền của một hoá đơn, Tiền lương (của một nhân viên trong tháng hiện tại ).
+ Thuộc tính tính toán và không bền vững, chẳng hạn: Lượng hàng tồn kho, Số dư tiết kiệm.
+Thuộc tính không tính toán và bền vững, chẳng hạn: Ngày sinh, Giới tính (của một người ).
+ Thuộc tính không tính toán và không bền vững, chẳng hạn: Số các con của một nhân viên, địa chỉ một khách hàng.
4.2.4.4. Các thuộc tính khoá,thuộc tính kếtnối và các liên kết.
Một kiểu thuộc tính khoá của một kiểu thực thể là một kiểu thuộc tính mà giá trị của nó tương ứng với mỗi thực thể là riêng biệt cho thực thể đó.Vậy khoá cho phép chỉ định mỗi thực thể,cho phép phân biệt các thực thể với nhau.
Trong bước đầu phân tích, có thể chưa cần quan tâm vội đến việc chọn khoá. Song cuối cùng thì trong lược đồ dữ liệu hoàn chỉnh , mỗi kiểu thực thể đều phải có khoá.
Thuộc tính khoá có thể chọn trong số các thuộc tính tự nhiên, miễn là giá trị của nó là khác biệt cho mỗi thực thể. Chẳng hạn nếu tên chính thức cho mỗi công ty đều đã được đăng ký với nhà nước và bảo đảm không trùng lặp, thì có thể lấy Tên công ty làm khoá cho các công ty. Nếu trong một khách sạn, các phòng được sơn màu sắc khác nhau, thì có thể lấy màu làm khoá chỉ định các phòng trong khách sạn đó.
Tuy nhiên, ít khi tìm được một thuộc tính tự nhiên làm khoá bây giờ người ta dùng thuộc tính khóa nhân tạo ấy là các mã, các số hiệu, như là mã hàng, Số hiệu đơn hàng...
Trong một kiểu thực thể, một kiểu thuộc tính được gọi là kiểu thuộc tính kết nối (hay là còn gọi là một tham chiếu) nếu nó không phải là khoá của kiểu thực thể đó, nhưng lại là khoá của một kiểu thực thể khác.
Sau khi đã có tập hợp các kiểu thực thể, thì ta cần nghiên cứu phát hiện các kiểu liên kết giữa hai kiểu thức thể.
Việc tìm các kiểu liên kết có thể làm theo hai cách:
- Dựa trên ý nghĩa các kiểu thực thể ( thực thể trong đó, có thể đóng vai trò gì?), dựa theo các quy tắc quản lý hay các quy trình giao dịch mà ta phát hiện ra các kiểu liên kết.
84
Ví dụ:Quy trình bán hàng bắt đầu bằng một khách hàng đưa đến đơn đặt hàng. Từ sự kiện ta phát hiện ra có mối liên quan giữa khách hàng và đơn hàng.
- Tìm trên danh sách các kiểu thuộc tính của các kiểu thực thể (đã lập ở bước trước) hoặc tìm trên các chứng từ giao dịch, ta có thể phát hiện ra các tham chiếu. Mỗi tham chiếu là biểu hiện cho một kiểu liên kết.
Ví dụ:Xem các Đơn hàng, ta thấy đơn hàng nào cũng có Tên ( hay Mã số khách hàng). Đó chính là một tham chiếu. Vậy phải có một kiểu liên kết giữa hai kiểu thực thể Đơn hàng và khách hàng.
Ví dụ: Xây dựng mô hình thực thể liên kết cho hệ thống QL CƯVT
Các kiểu thực thể sơ bộ có thể phát hiện là:
- Về nhân lực, tài nguyên có phân xưởng, người cung cấp, Mặt hàng,… - Về giao dịch có dự trù, Đơn hàng, Giao hàng, Hoá đơn, Phát hàng,…
Tiếp đó ta phát hiện các kiểu liên kết giữa chúng bằng cách duyệt lại quá trình giao dịch( từ khi phân xưởng đưa dự trù đến khi phân xưởng nhận được hàng) qua đó ta sẽ thấy được các mối liên hệ giữa các kiểu thực thể.
Bổ sung các kiểu thuộc tính cho mỗi kiểu thực thể (trên hình không ghi chi tiết các thuộc tính mô tả). Riêng việc chọn khoá, ta lưu ý một điểm sau:
- Các SH-đơn hàng, SH-giao hàng, SH-phân xưởng, Mã hàng đã được quản lý thống
nhất, vậy có thể làm khoá (đơn) của các kiểu thực thể tương ứng.
- Trái lại SH-dự trù, SH-giao hàng,SH-hoá đơn là khoá ngoại đối với hệ thống, có thể xảy trùng lặp, vậy muốn dùng chúng làm khoá thì SH-dự trù phải kèm với SH-phân xưởng, SH-giao hàng và SH- hoá đơn phải kèm SH nhà cung cấp .
Ta có các mô hình thực thể liên kếtnhư sau: - Mô hình thực thể liên kết mở rộng,
- Mô hình thực thể liên kết kinh điển - Mô hình thực thể liên kết hạn chế.
85
Hình 4.1:Lược đồ dữ liệu theo mô hình thực thể liên kết mở rộng Xuất Nhập kho Mã hàng Ngày XN X_N Lượng XN Điều chỉnh Tồn kho Mã hàng Lượng TK Ngưỡng Dự trù SH-DT SH-PX Ngày DT Mã hàng Lượng DT Gồm Phát cho Phát hàng SH-PH Ngày PH Mã hàng Lượng PH Nhập vào Mặt hàng Mã hàng Chi tiết MH Gồm Giao hàng SH-GH Tên NCC Ngày GH Mã hàng Lượng GH Gồm Phát theo Gồm Gồm Người CC Tên NCC Chi tiết NCC Gửi cho Cung ứng Xuất cho Phân xưởng SH_PX Chi tiết PX Lập Đưa vào Đơn hàng SH-ĐH Ngày ĐH Mã hàng Lượng ĐH Theo Lập Hoá đơn SH-HĐ Tên NCC Ngày HĐ Tổng tiền Mã hàng Lượng HĐ Tính theo Thực hiện
86
Trong lược đồ trên dùng tam giác để chỉ hướng đọc mối liên kết và dùng thuộc tính in nghiêng để đánh dấu các thuộc tính đa trị.