SQL Server: Lược đồ Thực thể-Quan hệ (Entity-Relationship Diagram - E-R D)


Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên

1. Giới thiệu

Mô hình dữ liệu là một nhóm các công cụ ý niệm mô tả dữ liệu, các mối quan hệ cũng như ngữ nghĩa của nó. Nó cũng bao gồm các ràng buộc nhất quán mà dữ liệu tuân theo. Thực thể-Mối quan hệ, Quan hệ, Mô hình mạng và phân cấp là những ví dụ về mô hình dữ liệu. Sự phát triển của mọi cơ sở dữ liệu bắt đầu với bước cơ bản là phân tích dữ liệu của nó để xác định mô hình dữ liệu phù hợp nhất đại diện cho nó. Sau khi hoàn thành bước này, mô hình dữ liệu được áp dụng cho dữ liệu.

2. Mô hình hóa dữ liệu

Quá trình áp dụng một mô hình dữ liệu thích hợp cho dữ liệu để tổ chức và cấu trúc nó được gọi là mô hình hóa dữ liệu.

Mô hình hóa dữ liệu là điều cần thiết để phát triển cơ sở dữ liệu cũng như lập kế hoạch và thiết kế cho bất kỳ sự phát triển dự án nào. Xây dựng cơ sở dữ liệu mà không có mô hình dữ liệu tương tự như phát triển một dự án mà không có kế hoạch và thiết kế.

Mô hình dữ liệu giúp các nhà phát triển cơ sở dữ liệu xác định các bảng quan hệ, khóa chínhkhóa ngoại, thủ tục lưu trữ (SP)trigger được yêu cầu trong cơ sở dữ liệu.

Mô hình hóa dữ liệu có thể được chia thành ba bước sau:

► Bước 1: Mô hình hóa dữ liệu mức ý niệm (Conceptual Data Modeling):

    Trình mô hình hóa dữ liệu xác định mức độ cao nhất của các mối quan hệ trong dữ liệu.

► Bước 2: Mô hình hóa dữ liệu mức logic:

    Trình mô hình hóa dữ liệu mô tả chi tiết dữ liệu và các mối quan hệ của nó. Trình mô hình hóa dữ liệu tạo ra một mô hình logic của cơ sở dữ liệu.

► Bước 3: Mô hình hóa dữ liệu mức vật lý:

    Trình mô hình hóa dữ liệu chỉ định cách mô hình logic được thực hiện về mặt vật lý. Hình dưới đây cho thấy các bước khác nhau liên quan đến mô hình dữ liệu.

Các bước mô hình hóa dữ liệu
Các bước mô hình hóa dữ liệu

3. Mô hình Thực thể-Mối quan hệ (Entity-Relationship - E-R)

Mô hình dữ liệu có thể được phân loại thành ba nhóm khác nhau:

  • Các mô hình logic dựa trên đối tượng
  • Các mô hình logic dựa trên bản ghi
  • Mô hình vật lý

Mô hình Thực thể-Mối quan hệ (E-R) thuộc cách phân loại đầu tiên. Mô hình dựa trên một ý tưởng đơn giản. Dữ liệu có thể được coi là các đối tượng trong thế giới thực được gọi là các thực thể và các mối quan hệ tồn tại giữa chúng.

Ví dụ: dữ liệu về nhân viên (Employees) làm việc cho một tổ chức có thể được coi là một tập hợp các nhân viên và một tập hợp các bộ phận (Departments) khác nhau tạo thành tổ chức. Cả nhân viên và bộ phận đều là các đối tượng trong thế giới thực. Một nhân viên thuộc về một bộ phận. Do đó, mối quan hệ 'thuộc về' liên kết một nhân viên với một bộ phận cụ thể.

Mối quan hệ giữa nhân viên và bộ phận có thể được mô hình hóa như trong hình dưới đây.

Mô tả mô hình E-R của một tổ chức
Mô tả mô hình E-R của một tổ chức

Một mô hình E-R bao gồm năm thành phần cơ bản. Chúng như sau:

► Thực thể

Thực thể là một đối tượng trong thế giới thực tồn tại về mặt vật lý và có thể phân biệt được với các đối tượng khác. Vì ví dụ, nhân viên, bộ phận, sinh viên, khách hàng, phương tiện, tài khoản, ... là các thực thể.

► Mối quan hệ

Mối quan hệ là một liên kết hoặc liên kết tồn tại giữa một hoặc nhiều thực thể. Ví dụ, thuộc về, sở hữu, làm việc cho, tiết kiệm, mua, v.v.

► Thuộc tính

Thuộc tính là các đặc tính mà một thực thể có. Các thuộc tính giúp phân biệt mọi thực thể với nhau. Ví dụ, các thuộc tính của một sinh viên sẽ là roll_number (mã sinh viên), name (tên), date_of_birth (ngày sinh), semester (học kỳ), v.v.

Các thuộc tính của một chiếc ô tô sẽ là số đăng ký, kiểu xe, nhà sản xuất, màu sắc, giá cả, chủ sở hữu, v.v.

► Tập thực thể

Tập thực thể là tập hợp các thực thể giống nhau. Ví dụ, các nhân viên của một tổ chức gọi chung là một tập thực thể gọi là tập thực thể nhân viên.

► Tập mối quan hệ

Tập hợp các mối quan hệ tương tự giữa hai hoặc nhiều tập thực thể được gọi là tập mối quan hệ hay tập quan hệ. Ví dụ, nhân viên làm việc trong một bộ phận cụ thể. Tập hợp tất cả các quan hệ 'làm việc trong' tồn tại giữa các nhân viên và bộ phận được gọi là tập hợp mối quan hệ 'làm việc trong'.

Các thành phần khác nhau của mô hình E-R có thể được thấy trong hình dưới đây.

Các thành phần của mô hình E-R
Các thành phần của mô hình E-R

Mối quan hệ liên kết một hoặc nhiều thực thể và có thể có ba loại. Chúng như sau:

► Mối quan hệ tự thân (Self-relationships)

Mối quan hệ giữa các thực thể của cùng một tập thực thể được gọi là mối quan hệ tự thân. Ví dụ, một người quản lý và thành viên trong nhóm của anh ta, cả hai đều thuộc tập hợp thực thể nhân viên. Thành viên trong nhóm làm việc cho người quản lý. Do đó, mối quan hệ, 'làm việc cho', tồn tại giữa hai thực thể nhân viên khác nhau của cùng một tập thực thể nhân viên được hiểu là mối quan hệ tự thân.

Mối quan hệ tự thân có thể trông giống như hình dưới đây.

Quan hệ tự thân
Mối quan hệ tự thân

► Mối quan hệ nhị phân

Mối quan hệ tồn tại giữa các thực thể của hai tập thực thể khác nhau được gọi là mối quan hệ nhị phân.

Ví dụ, một nhân viên thuộc một bộ phận. Mối quan hệ tồn tại giữa hai thực thể thuộc về hai tập thực thể khác nhau. Thực thể nhân viên thuộc về tập thực thể nhân viên. Thực thể bộ phận thuộc về tập hợp thực thể bộ phận.

Mối quan hệ có thể được nhìn thấy như trong hình dưới đây.

Mối quan hệ nhị phân
Mối quan hệ nhị phân

► Mối quan hệ bậc ba

Các mối quan hệ tồn tại giữa ba thực thể của các tập thực thể khác nhau được gọi là mối quan hệ bậc ba.

Ví dụ, một nhân viên làm việc trong bộ phận tài khoản của chi nhánh khu vực. Mối quan hệ, 'công việc' tồn tại giữa cả ba tập thực thể nhân viên, bộ phận và vị trí.

Mối quan hệ này có thể được thấy như hình dưới đây.

Mối quan hệ bậc 3
Mối quan hệ bậc ba

Các mối quan hệ cũng có thể được phân loại theo các bản đồ ánh xạ. Các bản đồ ánh xạ khác nhau là như sau:

♦ Một-Một (1-1)

Loại ánh xạ này tồn tại khi một thực thể của một tập thực thể chỉ có thể được liên kết với một thực thể của một tập hợp khác.

Xem xét mối quan hệ giữa một chiếc xe và đăng ký của nó. Mỗi phương tiện đều có một đăng ký. Không có hai phương tiện nào có thể có các chi tiết đăng ký giống nhau. Mối quan hệ ở đây sẽ là một-một, nghĩa là, một xe-một đăng ký.

Ánh xạ quan hệ một-một
Ánh xạ quan hệ một-một

♦ Một-Nhiều (1-N)

Loại ánh xạ này tồn tại khi một thực thể của một tập hợp có thể được liên kết với nhiều thực thể của một tập thực thể khác.

Xem xét mối quan hệ giữa khách hàng và phương tiện di chuyển của khách hàng. Một khách hàng có thể có nhiều hơn hơn một phương tiện di chuyển. Do đó, ánh xạ là ánh xạ một-nhiều, nghĩa là một khách hàng-một hoặc nhiều phương tiện di chuyển.

Sơ đồ ánh xạ có thể được nhìn thấy trong hình dưới đây.

Ánh xạ quan hệ Một-Nhiều
Ánh xạ quan hệ Một-Nhiều

♦ Nhiều-Một (N-1)

Loại ánh xạ này tồn tại khi nhiều thực thể của một tập hợp được liên kết với một thực thể của tập hợp khác bộ. Sự liên kết này được thực hiện bất kể thực thể sau đã được liên kết với hoặc nhiều thực thể của tập thực thể cũ.

Xem xét mối quan hệ giữa một chiếc xe và nhà sản xuất của nó. Mỗi phương tiện chỉ có một công ty sản xuất hoặc liên minh liên kết với nó theo mối quan hệ, 'được sản xuất bởi', nhưng cùng một công ty hoặc liên minh có thể sản xuất nhiều loại phương tiện.

Ánh xạ có thể được thấy như hình dưới đây.

Ánh xạ quan hệ Nhiều-Một
Ánh xạ quan hệ Nhiều-Một

♦ Nhiều-Nhiều (N-M)

Loại ánh xạ này tồn tại khi bất kỳ số lượng thực thể nào của một tập hợp có thể được liên kết với bất kỳ số thực thể của tập thực thể khác.

Xem xét mối quan hệ giữa khách hàng của ngân hàng và tài khoản của khách hàng. Một khách hàng có thể có nhiều tài khoản và một tài khoản có thể có nhiều khách hàng được liên kết với nó trong trường hợp đó là một tài khoản chung hoặc tương tự. Do đó, ánh xạ là nhiều-nhiều, nghĩa là một hoặc nhiều khách hàng được liên kết với một hoặc nhiều tài khoản.

Ánh xạ nhiều-nhiều có thể được thấy như hình dưới đây.

Ánh xạ quan hệ Nhiều-Nhiều
Ánh xạ quan hệ Nhiều-Nhiều

Một số khái niệm bổ sung trong mô hình E-R như sau:

♦ Khóa chính

Khóa chính là một thuộc tính có thể xác định duy nhất một thực thể trong một tập thực thể. Xem xét bảng dưới đây chứa thông tin chi tiết của học sinh trong một trường học.

Bảng chi tiết sinh viên
Bảng chi tiết học sinh

Trong một trường học, mỗi học sinh có một số đăng ký duy nhất (chẳng hạn như register_number trong bảng trên), là duy nhất cho học sinh. Bất kỳ học sinh nào cũng có thể được xác định dựa trên đăng ký số. Do đó, thuộc tính register_number đóng vai trò là khóa chính trong bảng học sinh ở trên.

♦ Tập thực thể yếu

Các tập thực thể không có đủ thuộc tính để thiết lập khóa chính được gọi là tập thực thể yếu.

♦ Tập thực thể mạnh

Các tập thực thể có đủ thuộc tính để thiết lập khóa chính được gọi là tập thực thể mạnh.

Hãy xem xét tình huống của một cơ sở giáo dục mà vào cuối mỗi học kỳ, học sinh (student) bắt buộc phải hoàn thành và nộp một tập hợp các bài tập (assignment). Giáo viên theo dõi các bài tập do các sinh viên nộp. Bây giờ, một bài tập và một học sinh có thể được coi là hai thực thể. Thực thể bài tập được mô tả bởi thuộc tính assignment_number và subject.

Thực thể học sinh được mô tả bằng roll_number, name và semester. Các thực thể bài tập có thể được nhóm lại để tạo thành một tập thực thể bài tập và các thực thể học sinh có thể được nhóm lại để tạo thành một tập thực thể học sinh. Các tập thực thể được liên kết bởi quan hệ 'submitted by - được gửi bởi'. Mối quan hệ này là được mô tả trong hình dưới đây.

Mối quan hệ sinh viên bài thi
Mối quan hệ sinh viên-bài thi

Các thuộc tính assignment_number và subject không đủ để xác định một thực thể bài thi duy nhất. Chỉ riêng thuộc tính roll_number là đủ để xác định duy nhất một thực thể học sinh bất kỳ. Do đó, roll_number là một khóa chính cho tập thực thể sinh viên. Tập thực thể bài thi là một tập thực thể yếu vì nó thiếu khóa chính. Tập thực thể sinh viên là một tập thực thể mạnh do với sự hiện diện của thuộc tính roll_number.

3.1. Lược đồ thực thể-mối quan hệ

Lược đồ E-R là một biểu diễn đồ họa của mô hình E-R. Lược đồ E-R, với sự trợ giúp của các biểu tượng, thể hiện hiệu quả các thành phần khác nhau của mô hình E-R.

Các ký hiệu được sử dụng cho các thành phần khác nhau được thể hiện như hình dưới đây.

Các ký hiệu dùng cho E-R D
Các ký hiệu dùng cho E-R D

Các thuộc tính trong mô hình E-R có thể được phân loại thêm như sau:

♦ Thuộc tính đa trị (Multi-value Attribute)

Thuộc tính đa giá trị được minh họa bằng hai hình elip lồng nhau, thuộc tính này có thể có nhiều hơn một giá trị cho ít nhất một trường hợp thực thể của nó. Thuộc tính này có thể có giới hạn trên và giới hạn dưới được chỉ định cho bất kỳ giá trị thực thể riêng lẻ nào.

Thuộc tính số điện thoại của một cá nhân có thể có một hoặc nhiều giá trị, tức là một cá nhân có thể có một hoặc nhiều số điện thoại. Do đó, thuộc tính điện thoại là một thuộc tính đa giá trị.

Biểu tượng và ví dụ về thuộc tính đa giá trị có thể được thấy trong hình dưới đây.

Ký hiệu và ví dụ cho thuộc tính đa trị
Ký hiệu và ví dụ cho thuộc tính đa trị

♦ Thuộc tính phức hợp (Composite Attribute)

Bản thân một thuộc tính phức hợp có thể chứa hai hoặc nhiều thuộc tính, các thuộc tính này đại diện cho các thuộc tính cơ bản có ý nghĩa độc lập với nhau.

Thuộc tính địa chỉ thường là thuộc tính phức hợp, bao gồm các thuộc tính như đường phố, khu vực, v.v.

Biểu tượng và ví dụ về thuộc tính tổng hợp có thể được xem trong hình dưới đây.

Ký hiệu và ví dụ cho thuộc tính phức hợp
Ký hiệu và ví dụ cho thuộc tính phức hợp

♦ Thuộc tính dẫn xuất (Derived Attribute)

Thuộc tính dẫn xuất là những thuộc tính mà giá trị của nó hoàn toàn phụ thuộc vào một thuộc tính khác và được biểu thị bằng dấu nét đứt.

Thuộc tính tuổi của một người là ví dụ tốt nhất cho các thuộc tính dẫn xuất. Đối với một thực thể người cụ thể, tuổi của một người có thể được xác định từ ngày hiện tại và ngày sinh của người đó.

Biểu tượng và ví dụ của một thuộc tính dẫn xuất có thể được nhìn thấy trong hình dưới đây.

Ký hiệu và ví dụ cho thuộc tính dẫn xuất
Ký hiệu và ví dụ cho thuộc tính dẫn xuất

Các bước để xây dựng một lược đồ E-R như sau:

1. Tập hợp tất cả dữ liệu cần được mô hình hóa.

2. Xác định dữ liệu có thể được mô hình hóa như các thực thể trong thế giới thực.

3. Xác định các thuộc tính cho mỗi thực thể.

4. Sắp xếp các tập thực thể thành các tập thực thể yếu hoặc mạnh.

5. Sắp xếp các thuộc tính thực thể làm thuộc tính khóa, thuộc tính đa trị, thuộc tính phức hợp, thuộc tính dẫn xuất, v.v.

6. Xác định các mối quan hệ giữa các thực thể khác nhau.

Sử dụng các ký hiệu khác nhau vẽ các thực thể, thuộc tính của chúng và mối quan hệ của chúng. Sử dụng các ký hiệu thích hợp trong khi vẽ các thuộc tính.

Ví dụ: Hãy xem xét kịch bản của một ngân hàng, bao gồm khách hàng và tài khoản. Lược đồ E-R cho kịch bản có thể được xây dựng như sau:

Bước 1: Thu thập dữ liệu

  Ngân hàng là một tập hợp các tài khoản được khách hàng sử dụng để tiết kiệm tiền.

Bước 2: Xác định các thực thể

  1. Khách hàng

  2. Tài khoản

Bước 3: Xác định các thuộc tính

  1. Khách hàng: customer_name, customer_address, customer_contact

  2. Tài khoản: account_number, account_owner, balance_amount

Bước 4: Sắp xếp các tập thực thể

  1. Tập thực thể khách hàng: tập thực thể yếu

  2. Tập thực thể tài khoản: tập thực thể mạnh

Bước 5: Sắp xếp các thuộc tính

  1. Tập hợp thực thể khách hàng: customer_address → thuộc tính phức hợp, customer_contact → thuộc tính đa trị

  2. Tập thực thể tài khoản: account_number → thuộc tính khóa, account_owner → thuộc tính đa trị

Bước 6: Xác định quan hệ

  Một khách hàng 'tiết kiệm trong' một tài khoản. Mối quan hệ là 'tiết kiệm trong'.

Bước 7: Vẽ sơ đồ bằng các ký hiệu

  Hình dưới đây mô tả sơ đồ E-R cho ngân hàng.

E-R D cho Ngân hàng
E-R D cho ngân hàng

» Tiếp: Chuẩn hóa dữ liệu (Normalization)
« Trước: FUNCTION (Hàm) tự tạo trong SQL Server
Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên
Copied !!!