Giới thiệu về mô hình thực thể kết hợp. Mô hình thực thể kết hợp được đề xuất bởi P. Chen (1976) và được sử dụng để biểu diễn CSDL ở mức khái niệm. Mô hình thực thể kết hợp bao gồm có các thực thể, danh sách thuộc tính và những mối kết hợp. Biểu diễn mô hình thực thể kết hợp dưới dạng sơ đồ thực thể liên kết (Entity Relationship Diagram – ERD)
Mô hình thực thể kết hợp – Sơ đồ ERD
Thực thể
Là đối tượng cần quản lý, được biểu diễn thực thể bởi hình chữ nhật và có những đặc trưng như: tên thực thể, danh sách các thuộc tính và thuộc tính khóa. Sau đây là một ví dụ về thực thể nhân viên
Mối kết hợp
Thể hiện mối liên quan giữa hai hay nhiều thực thể. Mỗi liên kết có một tên gọi (thường dùng động từ), danh sách các thuộc tính (nếu có) và được biểu diễn bởi hình thoi.
Ví dụ thực thể NHANVIEN và PHONGBAN có thể có các quan hệ: Một Nhân viên Làm việc tại một Phòng ban nào đó và một Nhân viên có thể là Trưởng phòng của một Phòng ban.
Mối kết hợp giữa hai thực thể có thể là: Mối kết hợp Một-Một (1-1), Mối kết hợp Một-Nhiều (1-N) và Mối kết hợp Nhiều-Nhiều (N-N)
Mô hình thực thể kết hợp – Mối kết hợp 1 – 1
Mỗi đối tượng của thực thể thứ nhất tương ứng với 1 và chỉ 1 đối tượng của thực thể thứ 2 và ngược lại.
Ví dụ
Diễn giải
- Mỗi giảng viên được cấp 1 và chỉ một máy tính
- Một máy tính chỉ được cấp cho 1 và chỉ một giảng viên
Mô hình thực thể kết hợp – Mối kết hợp 1 – N
Mỗi đối tượng của thực thể thứ nhất tương ứng với nhiều đối tượng của thực thể thứ 2.
Ví dụ
Diễn giải
- Mỗi sinh viên thuộc một và chỉ một lớp
- Một lớp có nhiều sinh viên
Mô hình thực thể kết hợp – Mối kết hợp N – N
Mỗi đối tượng của thực thể thứ nhất tương ứng với nhiều đối tượng của thực thể thứ 2 và ngược lại.
Ví dụ
Diễn giải
- Mỗi sinh viên học một hoặc nhiều môn học
- Một môn học có một hoặc nhiều sinh viên học
Mô hình thực thể kết hợp – Ví dụ sơ đồ ERD
Quản lý hóa đơn khách hàng
Mô hình thực thể kết hợp – Các bước tạo sơ đồ ERD
- Xác định thực thể và thuộc tính của nó bao gồm thuộc tính khoá và thuộc tính đa trị
- Xác định mối quan hệ có thể có giữa các thực thể, thuộc tính mối kết hợp
Tổng kết bài học mô hình thực thể kết hợp
- Mô hình thực thể kết hợp để biểu diễn mối liên kết giữa các thực thể trong thiết kế mô hình mức khái niệm
- Các thành phần chủ yếu của mô hình thực thể liên kết là:
- Các thực thể
- Mối kết
- Hạn chế của mô hình thực thể liên kết: không thể hiện được sự di chuyển của các luồng dữ liệu.
Mô hình thực thể kết hợp – Bài tập thực hành
Bài thực hành số 1: Quản lý danh bạ điện thoại
- Thông tin về một danh bạ điện thoại cần lưu trong CSDL gồm: số điện thoại, tên liên lạc, email và ghi chú. Số điện thoại là duy nhất và chỉ thuộc một tài khoản duy nhất.
- Thông tin tài khoản được tổ chức trong CSDL gồm: tên đăng nhập, mật khẩu. Tên đăng nhập là duy nhất để phân biệt với các tài khoản khác. Một tài khoản có thể có nhiều số danh bạ điện thoại.
Bài thực hành số 2: Để quản lý thông tin về một diễn đàn (Forum), người ta tổ chức một cơ sở dữ liệu chi tiết như sau:
- Thông tin các thành viên tham gia diễn đàn có các thuộc tính như mã số thành viên là duy nhất, họ tên thành viên và mật khẩu.
- Thông tin các bài viết, có các thuộc như mã số bài viết, thuộc tính khóa, tiêu đề của bài viết và nội dung của nó.
- Thông tin các chủ đề của các bài viết có các thuộc tính mã số chủ đề, thuộc tính khóa) và tên của chủ đề.
Biết rằng:
- Mỗi bài viết được đăng bởi một thành viên và mỗi thành viên có thể đăng nhiều bài viết.
- Một bài viết phải thuộc một chủ đề và một chủ đề có thể có nhiều bài viết.
Bài thực hành số 3: Khoa Công nghệ thông tin cần tổ chức một cơ sở dữ liệu (CSDL) hiện hành để quản lý các phòng máy thực hành. Cho biết các thông tin như sau:
- Thông tin về mỗi phòng máy bao gồm: số phòng và tên người quản lý phòng máy.
- Các máy tính được đánh số, mỗi máy có một số máy duy nhất. Ngoài ra, mỗi một máy tính còn có các thông tin về cấu hình như: tốc độ CPU, dung lượng RAM,… Các máy tính được bố trí trong các phòng máy.
- Để tiện bố trí cho việc thực hành. Mỗi một môn học (có thực hành) ở phòng máy có các thông tin có mã số môn học, tên môn học và thời lượng học. Mỗi môn học có thể được thực hành ở các phòng máy khác nhau và một phòng máy có thể đăng ký cho nhiều môn học khác nhau. Khi đăng ký phải biết ngày đăng ký.
Bài thực hành số 4: Trường Cao đẳng XYZ cần tổ chức một cơ sở dữ liệu (CSDL) để quản lý điểm cho sinh viên trong trường.Yêu cầu cụ thể như sau:
- Mỗi sinh viên cần quản lý các thông tin như: họ tên, ngày tháng năm sinh, giới tính, nơi sinh, số điện thoại và e-mail. Mỗi sinh viên được cấp một mã số sinh viên duy nhất để phân biệt với các sinh viên khác trong trường và mỗi sinh viên chỉ thuộc về một lớp.
- Mỗi lớp học có một mã số lớp duy nhất để phân biệt với tất cả các lớp học khác trong trường, có một tên lớp và mỗi lớp chỉ thuộc về một khoa.
- Mỗi khoa có một tên khoa và một mã số khoa duy nhất để phân biệt với các khoa khác.
- Mỗi môn học có một tên môn học, số giờ và ứng với môn học có một mã số môn học duy nhất để phân biệt với các môn học khác.
- Mỗi giảng viên cần quản lý các thông tin như: họ và tên giảng viên, một chuyên ngành và được cấp một mã số duy nhất để phân biệt với các giảng viên khác. Mỗi giảng viên thuộc một khoa.
- Mỗi sinh viên với một môn học được phép thi tối đa 2 lần, mỗi lần thi, điểm thi.
- Mỗi môn học ở mỗi lớp học chỉ phân công cho một giảng viên dạy và một giảng viên thì có thể dạy nhiều môn ở một lớp.
Bài thực hành số 5: Một công ty phần mềm thực hiện nhiều dự án công nghệ thông
tin. Các đối tượng cần quản lý của công ty chính là các phòng ban và các nhân viên của công ty. Hoạt động cần quản lý của công ty chính là việc thực hiện các dự án.
Thông tin về mỗi phòng ban bao gồm:
- Mỗi phòng phải có tên và có một trưởng phòng
- Mỗi phòng có thể có nhiều trụ sở làm việc khác nhau
Thông tin cần quản lý của mỗi dự án bao gồm:
- Mỗi dự án phải có tên và nơi triển khai dự án
- Một phòng có thể giám sát nhiều dự án
Quản lý thông tin về các nhân viên của công ty bao gồm:
- Các thông tin cá nhân của nhân viên
- Một nhân viên chỉ được làm việc trong một phòng nhưng có thể tham gia nhiều
dự án.
Bài thực hành số 6:
Siêu thị CopShop cần một cơ sở dữ liệu để quản lý. Quy tắc quản lý của siêu thị như sau:
Siêu thị chia thành nhiều khu vực, mỗi khu vực có một mã số phân biệt và có 1 tên, chuyên bán 1 loại hàng.
Mỗi loại hàng đều có một mã số phân biệt, có tên và bao gồm nhiều mặt hàng.
Mỗi mặt hàng trong siêu thị có một mã số phân biệt, có tên, đơn vị tính, đơn giá bán hiện hành. Mỗi mặt hàng có thể cung cấp bởi nhiều nhà cung ứng.
Mỗi nhân viên chỉ làm việc tại một khu vực và có một mã số phân biệt, ngoài ra cần lưu trữ các thông tin như: họ tên, ngày sinh ,địa chỉ, ngày vào làm việc.
Mỗi nhà cung cấp có một mã số phân biệt, tên công ty, địa chỉ, số phone, số fax và các mặt hàng mà nhà cung ứng đó cung cấp. Lưu ý, mỗi nhà cung cấp có thể có nhiều số điện thoại.
Mỗi khách hàng khi mua hàng, quầy tính tiền sẽ in ra 1 một hóa đơn gồm số hóa đơn, ngày lập hóa đơn, tên khách mua, địa chỉ, và danh sách các mặt hàng mua kèm theo đơn giá bán.