Giới thiệu
Sơ đồ Entiti-Mối quan hệ (ERD) là những công cụ thiết yếu trong thiết kế cơ sở dữ liệu và kỹ thuật phần mềm. Chúng cung cấp một biểu diễn trực quan về cấu trúc dữ liệu và các mối quan hệ giữa các thực thể khác nhau trong một hệ thống. Bài viết này nhằm mục đích trở thành một hướng dẫn toàn diện để hiểu rõ ERD, khám phá các khái niệm chính và trình bày một ví dụ thực tế để minh họa ứng dụng thực tiễn của chúng.
Các khái niệm chính của ERD
Các thực thể
Các thực thể là những đối tượng hoặc khái niệm cơ bản trong cơ sở dữ liệu. Chúng đại diện cho những thực thể trong thế giới thực, chẳng hạn như khách hàng, sản phẩm hoặc đơn hàng. Mỗi thực thể có các thuộc tính mô tả các đặc tính của nó. Ví dụ, một thực thể “Khách hàng” có thể có các thuộc tính như “MãKháchHàng”, “Tên”, “Họ”, và “Email”.
Các mối quan hệ
Các mối quan hệ xác định cách các thực thể tương tác với nhau. Chúng có thể là một-đối-một, một-đối-nhiều hoặc nhiều-đối-nhiều. Ví dụ, một thực thể “Khách hàng” có thể có mối quan hệ một-đối-nhiều với thực thể “Đơn hàng”, cho thấy một khách hàng có thể đặt nhiều đơn hàng.
Các thuộc tính
Các thuộc tính là các đặc tính hoặc đặc điểm của một thực thể. Chúng cung cấp thông tin chi tiết về thực thể. Ví dụ, các thuộc tính của thực thể “Phim” có thể bao gồm “Tiêu đề”, “NămPhátHành”, và “XếpHạng”.
Khóa chính
Khóa chính là một định danh duy nhất cho một thực thể. Nó đảm bảo rằng mỗi bản ghi trong thực thể có thể được xác định duy nhất. Ví dụ, “MãKháchHàng” có thể là khóa chính cho thực thể “Khách hàng”.
Khóa ngoại
Khóa ngoại là các thuộc tính trong một thực thể tham chiếu đến khóa chính của một thực thể khác. Chúng thiết lập và đảm bảo các mối quan hệ giữa các thực thể. Ví dụ, một thực thể “Đơn hàng” có thể có khóa ngoại “MãKháchHàng” tham chiếu đến thực thể “Khách hàng”.
Ví dụ thực tế: Hệ thống cho thuê phim
Để minh họa ứng dụng thực tiễn của ERD, hãy cùng xem xét một ví dụ thực tế về hệ thống cho thuê phim. ERD cho hệ thống này được thể hiện trong sơ đồ được cung cấp.

Các thực thể và thuộc tính
- Phim: Đại diện cho các bộ phim có sẵn để cho thuê.
- Thuộc tính: MãPhim, TiêuĐề, MôTả, NămPhátHành, ThờiGianThuê, GiáThuê, ĐộDài, ChiPhíThayThế, XếpHạng, ĐặcĐiểmĐặcBiệt, VănBảnToànBộ
- Thể loại: Đại diện cho các thể loại hoặc thể loại của phim.
- Thuộc tính: MãThểLoại, Tên
- Thể loại Phim: Đại diện cho mối quan hệ nhiều-đối-nhiều giữa phim và thể loại.
- Thuộc tính: MãPhim, MãThểLoại
- Ngôn ngữ: Đại diện cho các ngôn ngữ mà phim có sẵn.
- Thuộc tính: LanguageID, Name
- Diễn viên: Đại diện cho các diễn viên trong phim.
- Thuộc tính: ActorID, FirstName, LastName
- Diễn viên phim: Đại diện cho mối quan hệ nhiều-đa giữa phim và diễn viên.
- Thuộc tính: FilmID, ActorID
- Kho hàng: Đại diện cho số lượng phim sẵn sàng cho thuê.
- Thuộc tính: InventoryID, FilmID
- Thuê: Đại diện cho các giao dịch thuê.
- Thuộc tính: RentalID, StaffID, CustomerID, InventoryID, RentalDate, ReturnDate
- Thanh toán: Đại diện cho các khoản thanh toán được thực hiện cho các giao dịch thuê.
- Thuộc tính: PaymentID, RentalID, CustomerID, Amount, PaymentDate
- Khách hàng: Đại diện cho khách hàng của hệ thống thuê.
- Thuộc tính: CustomerID, AddressID, FirstName, LastName, Email, Active, CreateDate
- Địa chỉ: Đại diện cho địa chỉ của khách hàng và nhân viên.
- Thuộc tính: AddressID, CityID, Address, Address2, District, PostalCode, Phone
- Thành phố: Đại diện cho các thành phố nơi khách hàng và nhân viên sinh sống.
- Thuộc tính: CityID, City, CountryID
- Quốc gia: Đại diện cho các quốc gia nơi khách hàng và nhân viên sinh sống.
- Thuộc tính: CountryID, Country
- Nhân viên: Đại diện cho các thành viên nhân viên của hệ thống thuê.
- Thuộc tính: StaffID, AddressID, StoreID, FirstName, LastName, Email, Active, PictureURL
- Cửa hàng: Đại diện cho các cửa hàng cho thuê.
- Thuộc tính: StoreID, AddressID
Mối quan hệ
- PhimvàThể loại: Mối quan hệ nhiều-đa thông quaThể loại phimthực thể.
- PhimvàDiễn viên: Mối quan hệ nhiều-đa thông quaDiễn viên phimthực thể.
- PhimvàKho hàng: Mối quan hệ một-đa, trong đó một phim có thể có nhiều mặt hàng trong kho.
- Kho hàngvàCho thuê: Mối quan hệ một-đa, trong đó một mặt hàng kho có thể được thuê nhiều lần.
- Cho thuêvàThanh toán: Mối quan hệ một-một, trong đó mỗi lần cho thuê có một khoản thanh toán.
- Cho thuê và Khách hàng: Mối quan hệ nhiều-đơn, trong đó nhiều lần thuê có thể được thực hiện bởi một khách hàng.
- Khách hàng và Địa chỉ: Mối quan hệ một-đơn, trong đó mỗi khách hàng có một địa chỉ.
- Địa chỉ và Thành phố: Mối quan hệ nhiều-đơn, trong đó nhiều địa chỉ có thể nằm trong một thành phố.
- Thành phố và Quốc gia: Mối quan hệ nhiều-đơn, trong đó nhiều thành phố có thể nằm trong một quốc gia.
- Nhân viên và Cửa hàng: Mối quan hệ nhiều-đơn, trong đó nhiều nhân viên có thể làm việc tại một cửa hàng.
- Cửa hàng và Địa chỉ: Mối quan hệ một-đơn, trong đó mỗi cửa hàng có một địa chỉ.
Kết luận
Sơ đồ Entiti-Quan hệ (ERDs) là công cụ mạnh mẽ để thiết kế và hiểu cấu trúc cơ sở dữ liệu. Bằng cách biểu diễn trực quan các thực thể, thuộc tính và mối quan hệ, ERDs giúp tạo ra các cơ sở dữ liệu hiệu quả và được tổ chức tốt. Trường hợp nghiên cứu về hệ thống cho thuê phim minh họa cách ERDs có thể được sử dụng để mô hình hóa các hệ thống phức tạp và đảm bảo tính toàn vẹn và tính nhất quán của dữ liệu. Dù bạn là nhà thiết kế cơ sở dữ liệu, kỹ sư phần mềm hay nhà phân tích dữ liệu, thành thạo ERDslà điều cần thiết để quản lý cơ sở dữ liệu hiệu quả và thiết kế hệ thống.
This post is also available in Deutsch, English, Español, فارسی, Français, Bahasa Indonesia, 日本語, Polski, Portuguese, Ру́сский, 简体中文 and 繁體中文.












