1. Xác định kiểu thực thể
Trong kỹ thuật xây dựng mô hình thực thể thì việc xác định các kiểu thực thể là rất quan trọng. Bớc đầu, cần xác định đợc những kiểu thực thể chính của hệ thống. Có thể dựa vào gợi ý, những kiểu thực thể quan trọng trong hệ thống thờng liên quan tới một trong các loại thông tin sau:
a, Thông tin liên quan tới các giao dịch chính của hệ thống( ví dụ nh đơn hàng, phiếu xuất, phiếu nhập, phiếu đăng kí nhập học).
b) Thông tin liên quan tới tài nguyên của hệ thống ( ví dụ nh mặt hàng, nhà cung cấp, khách hàng, nhân sự, sinh viên, giáo viên, môn học, phòng học ).
c) Thông tin liên quan đến thống kê, kế hoạch ( ví dụ nh ngân sách hàng năm, bảng lơng tháng, lịch công tác tuần, thời khoá biểu học kỳ, kế hoạch mua hàng trong tuần).
Trong nhiều trờng hợp, những gợi ý trên chỉ có tác dụng ở thời điểm đầu của quá trình phân tích. Với hầu hết các hệ thống, các thông tin loại này thờng là dễ xác định.
để xác định các kiểu thực thể khác không dễ dàng nhìn thấy ngay trong hệ thống, cần xem xét tới sự cần thiết của những thông tin đang đợc phân tích đối với hệ thống và khả năng hình thành một bản để lu trữ. Trong những trờng hợp phức tạp nh vậy, cần xem xét dựa vào câu hỏi:
- Thông tin này có cần cho hệ thống không?
Công ty Căn hộ
Sở hữu
Cho thuê
- Có thể tổ chức lu trữ các thông tin này để phục vụ cho các nhu cầu khai thác thông tin sau này hay không? Nói cách khác, nếu tổ chức các thông tin này thành một kiểu thực thể thì có thể phân biệt đợc các thực thể với nhau hay không?
2. Xác định thuộc tính
Sau khi đã xác định đợc các thực thể, bớc tiếp theo là làm rõ các thành phần thông tin đối với mỗi thực thể, tức là xác định các thuộc tính ( attribute ) của thực thể.
- Mỗi thuộc tính thể hiện một giá trị để mô tả một khía cạnh nào đó của thực thể. Nhng cũng cần lu ý rằng không phải bất kì đặc điểm nào của thực thể cũng cần xem xét nh là thuộc tính của thực thể. Dựa vào vai trò, các thuộc tính đợc chia ra làm ba loại:
- Thuộc tính định danh ( hay thuộc tính khoá), - Thuộc tính kết nối ( hay khóa ngoài ), và - Thuộc tính mô tả
Sự có mặt của các thuộc tính mô tả đảm bảo cho tính đầy đủ của thông tin. Vì vậy, xác định đúng đắn các thuộc tính mô tả là rất quan trọng một số phân loại các thuộc tính mô tả sau đây có thể là những gợi ý tốt khi xác định các thuộc tính của một kiểu thực thể:
a) Thành phần dữ liệu ít biến động, hoặc hầu nh không biến động ( họ tên, địa chỉ, nghành nghề ) và thành phần dữ liệu thờng xuyên biến động ( chức vụ, nơi làm việc, công việc ).
b) Thành phần dữ liệu tham gia vào các xử lý dạng tính toán ( điểm thi, số lợng hàng nhập ) hoặc là kết quả của một số phép tính xử lý ( điểm trung bình, số lợng hàng tồn kho, danh sách sinh viên thi lại hoặc danh sách sinh viên tốt nghiệp ).Thành phần dữ liệu bền vững ( lợng hàng, giá trị tiền trong một hoá đơn, điểm thi một môn học của một sinh viên) hay không bền vững ( số lợng hàng tồn kho, số con của một nhân viên, địa chỉ của nhân viên).
c) Thành phần là dữ liệu mang tính lịch sử ( chức vụ đã qua, công việc đã thực hiện, các dự án đã tham gia ) hoặc mang tính hoạt động hiện tại ( chức vụ, mức lơng ).
Dù là dữ liệu về con ngời, về cơ sở vật chất hay về khía cạnh tổ chức của hệ thống thực thì trong các thành phần của chúng cũng đợc phân loại nh trên.
Cách làm thông thờng là sau khi đã xác định đợc các thực thể trong hệ thống, tiếp tục xác định các thuộc tính của từng kiểu thực thể. Tuy nhiên, cũng có thể thực hiện theo cách khác: trớc tiên, xác định các thuộc tính trong hệ thống nh là những thông tin cơ bản ( sơ đẳng), sau đó gộp các thuộc tính này thành từng nhóm theo một số chủ đề mô tả. Mỗi nhóm thuộc tính đợc tổ chức thành một kiểu thực thể. Phân tích viên cũng có thể sử dụng phối hợp của hai cách trên.
Bớc tiếp theo là xác định các thuộc tính định danh ( khoá ) và các thuộc tính kết nối ( khoá ngoặc ) đối với mỗi kiểu thực thể. Trong trờng hợp không có sẵn thuộc tính định danh có thể xây dựng thuộc tính định danh mới ( ví dụ nh Mã SV, Mã Môn học ).
Thuộc tính kết nối có thể xác định bằng cách đơn giản là dò tìm những thuộc tính có mặt trong kiểu thực thể, không phải là khoá, nhng là thuộc tính khoá trong kiểu thực thể khác.
3. Xác lập liên kết
sau khi đã xác định đợc các kiểu thực thể cùng với thuộc tính của chúng cần phải xác định các mối liên kết giữa các kiểu thực thể. Việc tìm liên kết hai ngôi có thể thực hiện theo hai cách:
a) Tìm trên danh sách các thuộc tính của kiểu thực thể A nào đó những thuộc tính kết nối. Một kiểu thực thể B, chứa thuộc tính này và nhận thuộc tính này làm khoá, có liên kết với kiểu thực thể A. Ví dụ, trong kiểu thực thể “ Đơn hàng” có chứa thuộc tính “ Mã KH” , trong khi đó, ở kiểu thực thể “ Khách hàng”, thuộc tính “ Mã KH” là thuộc tính khoá. Nh vậy trong kiểu thực thể “ Đơn hàng” thuộc tính “ Mã KH” là thuộc tính kết nối. Điều này chúng tỏ giữa hai kiểu thực thể “ Đơn hàng” và “ Khách hàng” phải có một liên kết.
b) Xem xét ý nghĩa của các kiểu thực thể, xem xét quy tắc quản lý, quy tắc xử lý thông tin, quy trình thực hiện công tác nghiệp vụ, để từ đó có thể phát hiện ra những kết nối tự nhiên giữa các kiểu thực thể. Ví dụ, ta đã biết là trong hệ thống có các kiểu thực thể “ Đơn hàng” và “Khách hàng”. theo quy trình thực hiện công tác nghiệp vụ thì khách hàng phải đăng kí việc mua hàng của mình thông qua đơn hàng. Từ quy trình này mà có thể phát hiện ra mối liên kết giữa hai kiểu thực thể “ Đơn hàng” và “ Khách hàng”.
4.Xử lý kiểu thực thể con
Trong các hệ thống thờng có hiện tợng một số thực thể khá giống nhau, ví dụ nh nhân viên làm hợp đồng theo tháng và nhân viên làm hợp đồng theo giờ, giáo viên hợp đồng dài hạn và giáo viên hợp đồng theo môn học, chuyên viên hợp đồng dài hạn và chuyên viên hợp đồng theo dự án, hợp đồng thay thế và hợp đồng giờ công sửa chữa xe. Các thực thể này có một số thuộc tính chung nhng cũng có một số thuộc tính riêng. Câu hỏi đặt ra là: mô tả chúng nh thế nào? có thể các lựa chọn sau:
a) Gộp các kiểu thực thể này thành một kiểu thực thể chung với các thuộc tính là tổ hợp các thuộc tính của các kiểu thực thể. Nếu cần thiết thì thêm một thuộc tính phân nhóm để phân loại các kiểu thực thể con.
b) Xác định chúng nh các thực thể riêng rẽ. Theo cách này thì rõ ràng là những thuộc tính chung có nguy cơ bị trùng lặp.
c) Xác định một kiểu thực thể chính gồm những thuộc tính chung và các kiểu thực thể con với những thuộc tính riêng. Trong kiểu thực thể chính và các kiểu thực thể con đều có chung một thuộc tính để mô tả liên kết giữa kiểu thực thể chính và các kiểu thực thể con.
5. Các quy tắc nghiệp vụ
Các quy tắc nghiệp vụ( business rules ) là các đặc tả đảm bảo tính toàn vẹn của mô hình dữ liệu khái niệm hoặc mô hình dữ liệu lôgic. Có bốn quy tắc cơ bản là toàn vẹn thực thể ( entity integrity ) toàn vẹn tham chiếu ( referential integrity constraints ), toàn vẹn giá trị ( domains integrity ) và toàn vẹn thao tác ( triggering operations integrity ). Sau đây là trình bày vắn tắt về các quy tắc nghiệp vụ toàn vẹn thực thể, toàn vẹn giá trị và toàn vẹn thao tác.
5.1. Toàn vẹn thực thể dựa trên các yêu cầu:
- Trong kiểu thực thể, mỗi thực thể có một định danh ( khoá ) duy nhất, khác rỗng. Nói cách khác, trong kiểu thực thể có một thuộc tính khoá chính và thuộc tính khoá này phải khác rỗng.
- Với mỗi kiểu thực thể, cần xác định đợc thuộc tính mô tả và thuộc tính kết nối ( khoá ngoài ), xác định đợc thuộc tính và điều kiện tham chiếu đến các thực thể, xác định đợc thuộc tính đợc dùng làm cơ sở để thực hiện việc sắp xếp, tìm kiếm.
- Xác lập đợc kiểm soát an toàn và quyền truy cập
- Xác lập đợc thời điểm truy cập và thời hạn sử dụng dữ liệu - Xác lập đợc liên kết và bậc của liên kết giữa các kiểu thực thể.
5.2. Toàn vẹn tham chiếu
Là quy tắc liên quan đến xác lập mối liên kết giữa các kiểu thực thể. Các quy tắc này sẽ đợc diễn đạt đầy đủ hơn khi trình bày về mô hình dữ liệu quan hệ trong mục sau.
Miền giá trị là một tập hợp, gồm có kiểu dữ liệu và giới hạn những giá trị mà một thuộc tính có thể nhận. Mỗi miền giá trị thờng đợc xác định bởi các đặc trng sau đây của các thuộc tính: kiểu dữ liệu, độ dài, khuôn dạng, phạm vị giá trị, ý nghĩa, tính duy nhất và các giá trị ngầm định ( có hay không cho phép gía trị trống ). Ví dụ, kiểu thực thể Sổ điểm có các thuộc tính: Mã SV, Mã MH, Điểm. Miền giá trị của thuộc tính “ Điểm” có thể đợc xác định nh sau:
Tên : Điểm
ý nghĩa : Điểm thi hết môn học của sinh viên Kiểu dữ liệu: Số thực
Khuôn dạng : nn. n
Giới hạn : Các giá trị 0, 0.5, 1.0,...,9.0, 9.5, 10 tính duy nhất : không duy nhất
giá trị ngầm định : null
5.3 Toàn vẹn thao tác
Là quy tắc đảm bảo tính đúng đắn giá trị các thuộc tính khi tiến hành các thao tác với dữ liệu nh cập nhật, chèn hoạc xoá. Phạm vi của tác động có thể chỉ giới hạn trong phạnm vi giá trị thuộc tính của một thực thể nào đó, nhng cũng có thể là gía trị thuộc tính của một số thực thể. Toàn vẹn thao tác bao gồm:
- Quy tắc sử dụng: là mệnh đề thể hiện công việc bắt buộc phải đợc thực hiện một khi thao tác đợc kích hoạt.
- Sự kiện: là các thao tác với dữ liệu ( cập nhật, chèn, xoá ). - Tên kiểu thực thể: là tên kiểu thực thể liên quan tới thao tác. - Điều kiện: là điều kiện thao tác đợc kích hoạt.
- Hành động: là hành động thời gian xảy ra khi thao tác đợc kích hoạt.