Các chức năng con của chức năng quản trị loại thực thể chính là gì?

Sử dụng mô hình dữ liệu khái niệm mức cao để thiết kế cơ sở dữ liệu

Các giai đoạn thiết kế cơ sở dữ liệu

Hình trên chỉ ra tiến trình thiết kế cơ sở dữ liệu một cách đơn giản. Bước đầu tiên là tập hợp và phân tích yêu cầu hệ thống. Trong bước này, người thiết kế cơ sở dữ liệu phải tiến hành thu thập yêu cầu của người sử dụng, sau đó viết tài liệu những yêu cầu dữ liệu. Kết quả của bước này là viết ra được tập hợp những yêu cầu tất cả các đối tượng người dùng một cách xúc tích. Từ đó, ta xác định được yêu cầu chức năng [Funtional Requirements] của hệ thống.

Sau khi tất cả các yêu cầu đã được tập hợp và phân tích, bước tiếp theo là xây dựng lược đồ khái niệm[conceptual schema] cho cơ sở dữ liệu. Lược đồ khái niệm là nơi biểu diễn xúc tích những yêu cầu của người sử dụng và biểu diễn chi tiết những kiểu thực thể [entity types],quan hệ [relationships] và những ràng buộc [constraints] của dữ liệu, phần này sử dụng những khái niệm được cung cấp trong mô hình dữ liệu mức cao [High level data model]. Mô hình dữ liệu mức cao là mô hình dữ liệu được dùng để giao tiếp với người sử dụng bình thường vì thế nó rất dễ hiểu, nó chỉ ra cái gì cần được lưu trong cơ sở dữ liệu chứ không chỉ ra cụ thể dữ liệu được thực hiện như thế nào.

Bước tiếp theo trong quá trình thiết kế là cài đặt cơ sở dữ liệu trên một mô hình dữ liệu thực hiện, sử dụng các Hệ quản trị cơ sở dữ liệu nào đó [Hầu hết các hệ quản trị cơ sở dữ liệu hiện nay sử dụng mô hình dữ liệu quan hoặc hướng đối tượng]. Vì thế, chúng ta cần thiết phải chuyển từ mô hình dữ liệu mức cao sang những mô hình dữ liệu thực hiện. Bước này được gọi là thiết kế logic [Logical design] hoặc ánh xạ mô hình dữ liệu [Data model mapping] và kết quả của bước này là lược đồ cơ sở dữ liệu trong mô hình cơ sở dữ liệu thực hiện.

Bước cuối cùng là thiết kế vật lý cho cơ sở dữ liệu [physical design], bao gồm việc thiết kế những cấu trúc lưu trữ dữ liệu bên trong, đường dẫn truy cập, tổ chức file của các file dữ liệu.

Trong chương này, chúng ta sẽ sử dụng mô hình khái niệm ER cho thiết kế lược đồ khái niệm [Conceptual Schema].

Mục đích của mô hình khái niệm ER[Entity – Relationship Model]

Qua bước xem xét tổng quát trên, ta thấy rằng, mô hình E-R là một mô tả logic chi tiết dữ liệu của một tổ chức hay một lĩnh vực nghiệp vụ. Nó giúp người thiết kế cơ sở dữ liệu mô tả thế giới thực gần gũi với quan niệm và cách nhận nhìn nhận bình thường của con người. Nó là công cụ để phân tích thông tin nghiệp vụ.

Mục đích của mô hình E – R

  • Làm thống nhất quan điểm về dữ liệu của những người tham gia hệ thống: Người quản lý, người dùng cuối, người thiết kế hệ thống
  • Xác định các xử lý về dữ liệu cũng như các ràng buộc trên các dữ liệu.
  • Giúp đỡ việc thể hiện cơ sở dữ liệu về mặt cấu trúc: Sử dụng thực thể và các mối liên kết giữa các thực thể. Biểu diễn mô hình quan hệ thực thể bằng một sơ đồ.

Ví dụ về một cơ sở dữ liệu ứng dụng

Trong phần này, chúng ta sẽ tìm hiểu một ví dụ về cơ sở dữ liệu ứng dụng - gọi là COMPANY để minh hoạ các khái niệm trong mô hình ER và sử dụng nó trong khi thiết kế lược đồ khái niệm.

Cơ sở dữ liệu COMPANYcần lưu trữ thông tin về nhân viên [employees], phòng/ban [departments], và các dự án [projects] trong công ty. Sau khi tập hợp được tất cả các yêu cầu của hệ thống, người thiết kế cơ sở dữ liệu tiến hành mô tả lại miniworld bằng mô hình ER.

Sau đây là các quy tắc nghiệp vụ của hệ thống cơ sở dữ liệu COMPANY, chúng ta sẽ xây dựng mô hình ER từng bước để giới thiệu các khái niệm của mô hình ER.

  • Công ty [COMPANY] có nhiều phòng/ban [DEPARTMENTs]. Mỗi phòng/ban có tên [name], mã số [number] duy nhất và có một nhân viên [employee] làm quản lý [manages] phòng/ban. Chúng ta lưu lại ngày bắt đầu [start date] làm quản lý phòng/ban của nhân viên đó.
  • Mỗi phòng/ban có thể có nhiều địa điểm khác nhau [locations].
  • Mỗi phòng/ban điều hành một số dự án [PROJECTs]. Mỗi dự án có tên [name], mã số [number] duy nhất và chỉ có một địa điểm [location].
  • Với mỗi nhân viên, chúng ta lưu lại những thông tin sau: tên [name], số bảo hiểm xã hội [social security number], địa chỉ [address], lương [salary], giới tính [sex], và ngày sinh [birthdate].
  • Mỗi nhân viên làm việc ở một phòng/ban, nhưng có thể làm việc cho nhiều dự án. Chúng ta lưu lại số giờ làm việc [the number of hours per week] của từng nhân viên trong từng dự án.
  • Chúng ta lưu lại thông tin về người quản lý trực tiếp [direct supervisor], của mỗi nhân viên. Người quản lý trực tiếp cũng là một nhân viên.
  • Mỗi nhân viên có những người phụ thuộc vào họ [DEPENDENTs]. Mỗi người phụ thuộc ta lưu lại thông tin về tên [name], giới tính [sex], ngày sinh [birthdate] và quan hệ [relationship].

Hình minh hoạ sau sẽ chỉ ra sơ đồ ER của cơ sở dữ liệu COMPANY dựa trên những ký hiệu đồ hoạ được quy định trong mô hình ER.

Sơ đồ ER của cơ sở dữ liệu COMPANYTrên đây chỉ là giới thiệu sơ bộ về mô hình ER, các bạn chưa cần phải hiểu được toàn bộ sơ đồ trên.

Phần tiếp theo chúng ta sẽ giới thiệu về mô hình ER. Các khái niệm cơ bản trong mô hình ER gồm có Thực thể [Entity],Thuộc tính [Attributes], và Quan hệ [Relationship].

Kiểu thực thể[Entity Type], Thuộc tính [Attributes], Khoá [Keys]

Thực thể [Entities] và thuộc tính [Attributes]

Thực thể

  • Các thực thể vốn tồn tại trong thế giới thực. Một thực thể là một khái niệm để chỉ một lớp các đối tượng cụ thể hay các khái niệm có cùng những đặc tính chung mà ta quan tâm.
  • Tên thực thể: Là tên của một lớp đối tượng. Trong 1 CSDL, tên thực thể không được trùng nhau.
  • Ký hiệu: Trong mô hình E-R, thực thể được biểu diễn bằng một hình chữ nhật có tên bên trong.
Ví dụ thực thể

Thuộc tính

  • Thuộc tính là các đặc trưng [properties]được sử dụng để biểu diễn thực thể.

Thực thể EMPLOYEE có các thuộc tính: Name, SSN, Address, Sex, BirthDate.

  • Thuộc tính được ký hiệu bằng hình oval, bên trong ghi tên của thuộc tính. Thuộc tính của thực thể nào thì sẽ được gắn với thực thể đó.
Thực thể EMPLOYEE và các thuộc tính của nó Thực thể DEPARTMENT và các thuộc tính của nó Một số ký hiệu của thuộc tính

Các kiểu thuộc tính trong mô hình ER

Thuộc tính đơn [simple] đối lập với thuộc tính tổ hợp [composite],thuộc tính đơn trị [single-value] đối lập với thuộc tính đa trị [multivalued], thuộc tính lưu trữ [stored] đối lập với thuộc tính suy diễn [derived].Sau đây ta sẽ tìm hiểu chi tiết về các loại thuộc tính này

Thuộc tính đơn [simple] hay còn gọi là thuộc tính nguyên tử [Atomic]: Chỉ có một giá trị trong một thuộc tính của một thực thể. Ví dụ: Thuộc tính Birthdate, Sex… của Employee là thuộc tính nguyên tử.

Thuộc tính tổ hợp [Composite]: là thuộc tính được kết hợp của một số thành phần. Ví dụ: Address[Apt#, House#, Street, City, State, ZipCode, County] hoặc Name [FirstName, MiddleName, LastName]là thuộc tính tổ hợp.

Thuộc tính tổ hợp có thể được biểu diễn phân cấp như sau

Biểu diễn phân cấp của thuộc tính tổ hợp

Thuộc tính đơn trị [single-value]: Là thuộc tính chỉ có một giá trị duy nhất ở một thời điểm. Ví dụ: Sex, Birthdate,…

Thuộc tính đa trị [multivalued]: Là thuộc tính có thể có nhiều giá trị tại một thời điểm. Ví dụ: PreviousDegrees…

Ký hiệu: {PreviousDegrees}

Thuộc tính tổ hợp và thuộc tính đa trị có thể làm tổ ở nhiều mức, mặc dù ít gặp trường hợp này. Ví dụ: PreviousDegrees của thực thể STUDENT là loại thuộc tính đó. Ký hiệu: {PreviousDegrees [College, Year, Degree, Field]}.

Thuộc tính lưu trữ [stored attribute] và thuộc tính suy diễn [derivedattribute]:Thuộc tính lưu trữ là thuộc tính mà giá trị của nó phải được lưu trữ, còn thuộc tính suy diễn là thuộc tính mà giá trị của nó có thể suy ra từ giá trị của những thuộc tính khác. Ví dụ: Age[derived attribute] được suy diễn từ BirthDate [stored attribute]

Giá trị rỗng của thuộc tính [Null Values]: Trong một vài trường hợp, một thực thể có thể không có giá trị tương ứng cho một thuộc tính, ví dụ thuộc tính NameDependent[Tên của người phụ thuộc], nếu một nhân viên nào đó trong thực thể EMPLOYEE chưa có người phụ thuộc thì thuộc tính NameDependent tương ứng với nhân viên đó sẽ không có giá trị. Hoặc trong trường hợp thuộc tính có giá trị nhưng chưa được biết, ví dụ thuộc tính PhoneNumber [Số điện thoại]. Trong trường hợp này, một giá trị đặc biệt được tạo ra, đó là giá trị Null.

Mỗi thuộc tính trong thực thể luôn có giá trị, ví dụ các thuộc tính trong thực thể EMPLOYEE có các giá trị sau: Name=‘John Smith’, SSN=‘123456789’, Address=‘731 Fondren, Houston, TX’, Sex=‘M’, BirthDate= ‘09-JAN-55’. Một bộ giá trị của một thực thể được gọi là một bản ghi[record].

Hai thực thể và giá trị thuộc tính của nó

Kiểu thực thể, Khoá và tập giá trị

Kiểu thực thể: là tập hợp những thực thể có cùng các thuộc tính cơ bản. Ví dụ, kiểu thực thể EMPLOYEE, kiểu thực thể PROJECT.

Khoá: Mỗi một kiểu thực thể phải có một hoặc một tập các thuộc tính mang giá trị duy nhất [unique value] để phân biệt giữa bản ghi này với bản ghi khác. Thuộc tính đó gọi là khoá của kiểu thực thể [Key attribute].Ví dụ: thuộc tính SSN của kiểu thực thể EMPLOYEE, hoặc thuộc tính NumberStudent[Mã sinh viên] của kiểu thực thể STUDENT. Chú ý là khoá có thể gồm một hoặc một tập các thuộc tính.

Tập giá trị hay còn gọi là miền xác định[Domain]: là tập những giá trị mà thuộc tính có thể nhận được. Ví dụ: Miền xác định của thuộc tính Sex là {Male, Female}, hoặc của Mark[Điểm] là từ 0..10.

Tập giá trị không được biểu diễn trong lược đồ ER.

Liên kết, Kiểu liên kết và các Ràng buộc liên kết

Định nghĩa liên kết và kiểu liên kết

Liên kết [Relationship] dùng để chỉ mối quan hệ giữa hai hay nhiều thực thể khác nhau. Ví dụ: Nhân viên [A] làm việc cho dự án [X], nhân viên B làm việc cho dự án [X]…

Những liên kết của cùng một kiểu được nhóm lại gọi là kiểu liên kết [RelationshipType], ví dụ kiểu liên kết WORK_ON [làm việc cho], kiểu liên kết MANAGES [ làm quản lý]…

Trong lược đồ ER, người ta sử dụng hình thoi và bên trong ghi tên kiểu liên kết để ký hiệu kiểu liên kết.

Ký hiệu:

Ký hiệu kiểu liên kếtKiểu liên kết cũng có thể có thuộc tính của nó.

Bậc của kiểu liên kết

Là số lượng các kiểu thực thể tham gia vào liên kết. Có các kiểu liên kết sau:

  • Kiểu liên kết bậc 1 [đệ quy] là mối quan hệ giữa cùng 1 kiểu thực thể.
  • Kiểu liên kết bậc 2 là mối liên kết giữa hai kiểu thực thể
  • Kiểu liên kết bậc 3 là mối liên kết giữa 3 kiểu thực thể

Mối quan hệ bậc 1

Mối quan hệ bậc 1 [đệ quy] là mối quan hệ giữa cùng 1 kiểu thực thể

Minh họa mối quan hệ bậc 1

Mối quan hệ bậc 2

Là mối quan hệ giữa 2 kiểu thực thể khác nhau.

Minh họa mối quan hệ bậc 2

Mối liên kết giữa hai kiểu thực thể DEPARTMENT và EMPLOYEE sau đây là kiểu liên kết bậc 2 vì nó có sự tham gia của hai kiểu thực thể.

Hình minh hoạ trên còn cho ta thấy, có thể có nhiều hơn một kiểu liên kết giữa hai kiểu thực thể khác nhau.

Mối quan hệ bậc 3

Là mối quan hệ giữa 3 kiểu thực thể khác kiểu.

Minh họa mối quan hệ bậc 3

Ràng buộc liên kết

Các kiểu liên kết thường có một số ràng buộc nào đó về các thực thể có thể kết hợp với nhau tham gia trong một liên kết phù hợp. Các ràng buộc này xác định từ tình huống thực tế mà liên kết thể hiện.Có các loại ràng buộc như sau:

Tỷ số lực lượng

Trong các kiểu liên kết bậc 2, tỷ số lực lượng chỉ rõ số thực thể tham gia vào liên kết. Các tỷ số lực lượng có thể là: 1:1, 1:N, N:1 và M:N.

Tỷ số 1:1: Một thực thể của kiểu A có liên kết với một thực thể của kiểu B và ngược lại.

Tỷ số 1:1

Một nhân viên [EMPLOYEE] quản lý một phòng [DEPARTMENT] , và một phòng chỉ có một nhân viên quản lý.

Ví dụ 1:1

Tỷ số 1:N: Một thực thể của kiểu A có liên kết với nhiều thực thể của kiểu B. Nhưng một thực thể của kiểu B lại có liên kết duy nhất với thực thể của kiểu A.

Tỷ số 1:N

Một nhân viên [EMPLOYEE] làm việc cho một phòng [DEPARTMENT], và một phòng có nhiều nhân viên làm việc.

Ví dụ 1:N

Tỷ số M:N: Một thực thể của kiểu A có liên kết với nhiều thực thể của kiểu B và ngược lại.

Tỷ số M:N Ví dụ M:N

Ràng buộc về sự tham gia liên kết [Participation constraint]

Ràng buộc về sự tham gia liên kết được xác định trên từng thực thể trong từng kiểu liên kết mà thực thể đó tham gia, bao gồm: lực lượng tham gia toàn bộ [total participation ] và lực lượng tham gia bộ phận [partial participation].

Trong kiểu liên kết Manages giữa hai kiểu thực thể EMPLOYEE và DEPARTMENT, lực lượng tham gia của kiểu thực thể DEPARTMENT là toàn bộ, vì DEPARTMENT nào cũng có người quản lý, còn lực lượng tham gia của kiểu thực thể EMPLOYEE là bộ phận vì không phải EMPLOYEE nào cũng làm quản lý [manages] của DEPARTMENT.

Trong sơ đồ ER, kiểu thực thể có lực lượng tham gia liên kết toàn bộ được nối với kiểu liên kết bằng gạch nối kép, còn kiểu thực thể có lực lượng tham gia bộ phận được nối với kiểu liên kết bằng gạch nối đơn.

Ràng buộc về sự tham gia liên kết

Lực lượng tham gia liên kết

Trong mối liên kết giữa các thực thể, ta cần quan tâm đến lực lượng tham gia liên kết, đó là số bản ghi lớn nhất và nhỏ nhất của thực thể tham gia vào liên kết đó.

Ký hiệu: Thêm [min,max] vào mối liên kết.

Trong đó

  • min là số bản ghi nhỏ nhất tham gia vào liên kết
  • max là số bản ghi lớn nhất tham gia vào liên kết
  • Mặc định, min=0, max=n
  • Chúng ta xác định lực lượng này từ khảo sát thực tế bài toán.

Tại một thời điểm, một phòng có duy nhất một người quản lý-người đó là nhân viên, một nhân viên chỉ quản lý duy nhất một phòng. Vì vậy, [0,1] là lực lượng của EMPLOYEE và [1,1] là lực lượng của DEPARTMENT tham gia trong liên kết Manages[quản lý].

Một nhân viên chỉ có thể làm việc cho một phòng nhưng một phòng có thể có bất kỳ số lượng nhân viên nào. Vì thế, [1,1] là lực lượng của EMPLOYEE và [0,n] là lực lượng của DEPARTMENT tham gia trong liên kết Works_For[làm việc cho].

Thuộc tính của kiểu liên kết

Kiểu liên kết cũng có thể có thuộc tính. Ví dụ: Số giờ nhân viên làm việc cho dự án [Hours] là thuộc tính của mối liên kết giữa hai kiểu thực thể EMPLOYEE và PROJECT.

Thuộc tính kiểu liên kết

Kiểu thực thể yếu[Weak Entity]

Kiểu thực thể yếu là kiểu thực thể tồn tại phụ thuộc vào thực thể khác [thực thể làm chủ hay còn gọi là xác định nó]. Kiểu thực thể yếu không có khoá.

Kiểu thực thể yếu được xác định bằng:

  • Một hay một tập các thuộc tính xác định kiểu thực thể yếu
  • Và thưc thể làm chủ [xác định] thực thể yếu.

Kiểu thực thể yếu luôn có lực lượng tham gia liên kết toàn bộ.

Tổng quát hóa và chuyên biệt hóa

Tổng quát hóa là khái niệm cho phép ta xem một vật thể nào đó [các thực thể] là một thực thể con của một vật thể khác tổng quát hơn.

SACH là một loại con của loại tổng quát hơn là TAILIEU nói chung.

Chuyên biệt hóa là khái niệm ngược lại với tổng quát hóa.

Ôtô, xeca, taxi gộp lại thành một thực thể tổng quát hơn là Phuongtienvantai.

Thực thể con và thực thể chính

Trong mô hình dữ liệu, cần phải mô tả một cách rõ ràng các thực thể gần như nhau: đó là các thực thể có các thuộc tính chung, nhưng cũng có một số các thuộc tính khác nhau.

Trong một Đơn vị có 3 loại nhân viên: SECRETARY, TECHNICIAN, ENGINEER. Các thực thể này có một số thuộc tính chung và một số thuộc tính riêng.

Trong trường hợp này, có thể có 3 hướng giải quyết sau

  • Cách đơn giản nhất là gộp tất cả các loại nhân viên vào một thực thể EMPLOYEE. Cách này dẫn đến dư thừa thông tin, vì có những thuộc tính luôn rỗng đối với mỗi loại nhân viên.
  • Cách thứ hai, định nghĩa riêng rẽ từng loại thực thể: SECRETARY, TECHNICIAN, ENGINEER. Cách này không khai thác được những thuộc tính chung của nhân viên.
  • Cách thứ ba, định nghĩa một thực thể chính gọi là EMPLOYEE, với 3 thực thể con là: SECRETARY, TECHNICIAN, ENGINEER. Những thuộc tính chung nằm trong thực thể chính, còn thực thể con sẽ chứa thuộc tính riêng của nó. Hình sau đây minh hoạ cách giải quyết này
Minh họa mối quan hệ giữa thực thể con và thực thể chính

Các thực thể con loại trừ

Trong mô hình trên, các thực thể con là loại trừ lẫn nhau.

Thực thể con loại trừ gồm 2 loại:

Thực thể con đầy đủ: Là tất cả các thực thể con xác định một thực thể chính. Trong ví dụ trên, tất cả các thực thể con là đầy đủ vì không thể bổ sung thực thể nào vào thực thể chính EMPLOYEE.

Thực thể con không đầy đủ: Tập các thực thể con không đầy đủ xác định thực thể chính.

Tập thực thể ÔTÔ, XEMAY chưa xác định được thực thể chính là PHUONGTIEN.

Các ký hiệu và quy ước đặt tên trong mô hình ER

Các ký hiệu

Trong xây dựng mô hình E-R, ta sử dụng các ký hiệu trong hình dưới

Bảng tổng hợp các ký hiệu trong mô hình ER

Quy tắc đặt tên

Quy tắc đặt tên

Xây dựng một mô hình ER.

Các bước xây dựng sơ đồ ER

Liệt kê, chính xác hóa và lựa chọn thông tin cơ sở

Xác định một từ điển bao gồm tất cả các thuộc tính [không bỏ sót bất cứ thông tin nào].

Chính xác hóa các thuộc tính đó. Thêm các từ cần thiết để thuộc tính đó mang đầy đủ ý nghĩa, không gây lầm lẫn, hiểu nhầm.

Để lựa chọn các đặc trưng cần thiết , ta duyệt từ trên xuống và chỉ giữ lại những thuộc tính đảm bảo yêu cầu sau

Thuộc tính cần phải đặc trưng cho một lớp các đối tượng được xét.

Chọn một thuộc tính một lần, nếu lặp lại thì bỏ qua.

Một thuộc tính phải là sơ cấp [Nếu giá trị của nó có thể suy ra từ các thuộc tính khác thì bỏ qua].

Xác định các thực thể và các thuộc tính của nó, sau đó xác định thuộc tính định danh cho từng thực thể.

Duyệt danh sách các thuộc tính từ trên xuống để tìm ra thuộc tính tên gọi. Mỗi thuộc tính tên gọi sẽ tương ứng với một thực thể.

Gán các thuộc tính cho từng thực thể.

Xác định thuộc tính định danh cho từng thực thể.

Xác định các mối quan hệ và các thuộc tính riêng của nó

Xét danh sách các thuộc tính còn lại, hãy tìm tất cả các động từ [ứng với thuộc tính đó]. Với mỗi động từ, hãy trả lời các câu hỏi: Ai? Cái gì? Ở đâu? Khi nào? Bằng cách nào?

Vẽ sơ đồ mô hình thực thể- mối quan hệ, xác định lực lượng tham gia liên kết cho các thực thể.

Chuẩn hóa sơ đồ và thu gọn sơ đồ

  • Vẽ sơ đồ.
  • Chuẩn hóa sơ đồ, nếu trong đó còn có chứa: các thuộc tính lặp, nhóm lặp và các thuộc tính phụ thuộc thời gian → sơ đồ chỉ còn các thực thể đơn và các thuộc tính đơn.

Thu gọn sơ đồ: Nếu một thực thể có tất cả các đặc trưng:

  • Là thực thể treo: là thực thể chỉ tham gia vào một mối quan hệ và chỉ chứa một thuộc tính duy nhất thực sự là của nó [có thể có thuộc tính thứ 2 thêm vào làm định danh].
  • Mối quan hệ là bậc hai và không có thuộc tính riêng.
  • Mối quan hệ là 1: N hay 1:1.
Trước khi thu gọn

Được thu gọn thành sơ đồ sau

Sau khi thu gọn

Mô hình ER cho cơ sở dữ liệu COMPANY

  • Qua Bước 1 và Bước 2 ta xác định được danh sách các thực thể và các thuộc tính của từng thực thể.
  • Qua bước 3 ta xác định được các kiểu liên kết như sau:

1. MANAGES: là kiểu liên kết 1:1 giữa hai kiểu thực thể EMPLOYEE và DEPARTMENT. Lực lượng tham gia kiên kết của kiểu thực thể EMPLOYEE là bộ phận, vì không phải nhân viên nào cũng tham gia quản lý. Còn lực lượng tham gia của DEPARTMENT là toàn bộ, vì tại bất kỳ thời điểm nào một phòng cũng có một nhân viên làm quản lý. Thuộc tính StartDate được gắn vào kiểu liên kết để ghi lại thời điểm bắt đầu làm quản lý của nhân viên cho phòng đó.

2. WORKS_FOR: là kiểu liên kết 1:N giữa hai kiểu thực thể DEPARTMENT và EMPLOYEE. Cả hai kiểu thực thể này đều có lực lượng tham gia toàn bộ vào liên kết.

3. CONTROLS: là kiểu liên kết 1:N giữa hai kiểu thực thể DEPARTMENT và PROJECT. Lực lượng tham gia của PROJECT là toàn bộ, của DEPARTMENT là bộ phận.

4. SUPERVISOR: là kiểu liên kết 1:N giữa hai kiểu thực thể EMPLOYEE và EMPLOYEE [Mỗi nhân viên có người quản lý cấp trên của mình, người đó cũng là một nhân viên]. Trong quá trình phỏng vấn các đối tượng người dùng, người thiết kế được trả lời rằng: Không phải nhân viên nào cũng làm quản lý nhân viên khác, và không phải nhân viên nào cũng có người quản lý trực tiếp mình. Vì vậy, cả hai kiểu thực thể này có lực lượng tham gia bộ phận.

5. WORK_ON: là kiểu liên kết M:N giữa hai kiểu thực thể EMPLOYEE và PROJECT, vì một dự án có nhiều nhân viên làm việc và một nhân viên có thể làm việc cho nhiều dự án. Thuộc tính Hours là thuộc tính của kiểu liên kết được dùng để ghi lại số giờ mỗi nhân viên làm việc cho một dự án nào đó. Cả hai kiểu thực thể này có lực lượng tham gia toàn bộ.

6. DEPENDENTS_OF: là kiểu liên kết 1:N giữa hai kiểu thực thể EMPLOYEE và DEPENDENT. Kiểu thực thể DEPENDENT là kiểu thực thể yếu, vì nó không tồn tại nếu không có sự tồn tại của kiểu thực thể EMPLOYEE. Lực lượng tham gia của EMPLOYEE là bộ phận, vì không phải nhân viên nào cũng có người phụ thuộc. Lực lượng tham gia của DEPENDENT là toàn bộ vì nó là kiểu thực thể yếu.

  • Qua bước 4 ta vẽ được mô hình ER
Mô hình ER của bài toán COMPANY

Bài tập

Xây dựng mô hình ER để quản lý các đơn vị sau

Quản lý hoạt động của một trung tâm đại học

Qua quá trình khảo sát, điều tra hoạt động của một trung tâm đại học ta rút ra các quy tắc quản lý sau

  • Trung tâm được chia làm nhiều trường và mỗi trường có 1 hiệu trưởng để quản lý nhà trường.
  • Một trường chia làm nhiều khoa, mỗi khoa thuộc về một trường.
  • Mỗi khoa cung cấp nhiều môn học. Mỗi môn học thuộc về 1 khoa [thuộc quyền quản lý của 1 khoa].
  • Mỗi khoa thuê nhiều giáo viên làm việc. Nhưng mỗi giáo viên chỉ làm việc cho 1 khoa. Mỗi khoa có 1 chủ nhiệm khoa, đó là một giáo viên.
  • Mỗi giáo viên có thể dạy nhiều nhất 4 môn học và có thể không dạy môn học nào.
  • Mỗi sinh viên có thể học nhiều môn học, nhưng ít nhất là môn. Mỗi môn học có thể có nhiều sinh viên học, có thể không có sinh viên nào.
  • Một khoa quản lý nhiều sinh viên chỉ thuộc về một khoa.
  • Mỗi giáo viên có thể được cử làm chủ nhiệm của lớp, lớp đó có thể có nhiều nhất 100 sinh viên.

Cho các thuộc tính, các quy tắc quản lý của một đơn vị.

1. Thuộc tính

  • Mã đơn vị, Tên đơn vị, Số điện thoại đơn vị, Địa chỉ đơn vị.
  • Mã nhân viên, Tên nhân viên, Giới tính nhân viên, Địa chỉ nhân viên, Số điện thoại của nhân viên.
  • Mã dự án, Tên dự án
  • Mã khách hàng, tên khách hàng, Địa chỉ khách hàng, Số điện thoại của khách hàng.
  • Mã hàng, Tên hàng, Số lượng trong kho.
  • Lượng đặt hàng, Ngày đặt hàng

2. Các quy tắc

  • Một đơn vị thuê 1 hoặc nhiều nhân viên
  • Một đơn vị được quản lý bởi 1 người quản lý. Đó là một nhân viên.
  • Một nhân viên chỉ làm việc cho 1 đơn vị
  • Một nhân viên có thể làm việc cho 1 dự án
  • Mỗi dự án có thể thuê 1 hoặc nhiều nhân viên
  • Một nhân viên có thể phục vụ cho 1 hoặc nhiều khách hàng
  • Một khách hàng có thể được 1 hoặc nhiều nhân viên phục vụ
  • Một khách hàng có thể đặt 1 hoặc 1 vài hàng hóa [Khách hàng nào cũng đặt hàng: 1 hoặc nhiều mặt hàng]
  • Mọi mặt hàng đều có ít nhất một khách hàng đặt mua
  • Một đơn đặt hàng chỉ có 1 mặt hàng.

Tuyển tập sử dụng module này

Chủ Đề