Wprowadzenie
Diagramy encji-relacji (ERD) to istotne narzędzia w projektowaniu baz danych i inżynierii oprogramowania. Zapewniają wizualne przedstawienie struktury danych oraz relacji między różnymi encjami w systemie. Niniejszy artykuł ma na celu stanowić kompletny przewodnik pozwalający zrozumieć ERD, zbadanie kluczowych koncepcji oraz przedstawienie przypadku badawczego ilustrującego ich zastosowanie praktyczne.
Kluczowe koncepcje ERD
Encje
Encje to podstawowe obiekty lub koncepcje w bazie danych. Reprezentują rzeczywiste rzeczy, takie jak klienci, produkty lub zamówienia. Każda encja ma atrybuty opisujące jej właściwości. Na przykład encja „Klient” może mieć atrybuty takie jak „IDKlienta”, „Imię”, „Nazwisko” i „Adres e-mail”.
Relacje
Relacje określają sposób, w jaki encje wzajemnie się oddziałują. Mogą być jedno do jednego, jedno do wielu lub wiele do wielu. Na przykład encja „Klient” może mieć relację jedno do wielu z encją „Zamówienie”, co oznacza, że jeden klient może złożyć wiele zamówień.
Atrybuty
Atrybuty to właściwości lub cechy encji. Zapewniają szczegółowe informacje o encji. Na przykład atrybuty encji „Film” mogą obejmować „Tytuł”, „Rok wydania” i „Ocena”.
Klucze główne
Klucz główny to unikalny identyfikator encji. Gwarantuje, że każdy rekord w encji może być jednoznacznie identyfikowany. Na przykład „IDKlienta” może być kluczem głównym dla encji „Klient”.
Klucze obce
Klucze obce to atrybuty w jednej encji, które odnoszą się do klucza głównego innej encji. Są one odpowiedzialne za tworzenie i utrzymywanie relacji między encjami. Na przykład encja „Zamówienie” może mieć klucz obcy „IDKlienta”, który odnosi się do encji „Klient”.
Przypadek badawczy: System wynajmu filmów
Aby ilustrować zastosowanie praktyczne ERD, rozważmy przykład systemu wynajmu filmów. ERD dla tego systemu przedstawiono na podanym diagramie.

Encje i atrybuty
- Film: Reprezentuje filmy dostępne do wynajęcia.
- Atrybuty: IDFilmu, Tytuł, Opis, RokWydania, CzasWynajmu, StawkaWynajmu, Długość, KosztZastępowania, Ocena, CechySpecjalne, TekstPełny
- Kategoria: Reprezentuje gatunki lub kategorie filmów.
- Atrybuty: IDKategorii, Nazwa
- KategoriaFilmu: Reprezentuje relację wiele do wielu między filmami a kategoriami.
- Atrybuty: IDFilmu, IDKategorii
- Język: Reprezentuje języki, w których są dostępne filmy.
- Atrybuty: LanguageID, Name
- Aktor: Reprezentuje aktorów w filmach.
- Atrybuty: ActorID, FirstName, LastName
- Aktor filmowy: Reprezentuje relację wiele do wielu między filmami i aktorami.
- Atrybuty: FilmID, ActorID
- Inwentarz: Reprezentuje stan filmów dostępnych do wypożyczenia.
- Atrybuty: InventoryID, FilmID
- Wypożyczenie: Reprezentuje transakcje wypożyczeń.
- Atrybuty: RentalID, StaffID, CustomerID, InventoryID, RentalDate, ReturnDate
- Płatność: Reprezentuje płatności dokonane za wypożyczenia.
- Atrybuty: PaymentID, RentalID, CustomerID, Amount, PaymentDate
- Klient: Reprezentuje klientów systemu wypożyczalni.
- Atrybuty: CustomerID, AddressID, FirstName, LastName, Email, Active, CreateDate
- Adres: Reprezentuje adresy klientów i personelu.
- Atrybuty: AddressID, CityID, Address, Address2, District, PostalCode, Phone
- Miasto: Reprezentuje miasta, w których zamieszkują klienci i personel.
- Atrybuty: CityID, City, CountryID
- Kraj: Reprezentuje kraje, w których zamieszkują klienci i personel.
- Atrybuty: CountryID, Country
- Personel: Reprezentuje członków personelu systemu wypożyczalni.
- Atrybuty: StaffID, AddressID, StoreID, FirstName, LastName, Email, Active, PictureURL
- Sklep: Reprezentuje sklepy wynajmu.
- Atrybuty: StoreID, AddressID
Relacje
- Film i Kategoria: Relacja wiele do wielu poprzez Kategoria filmu encję.
- Film i Aktor: Relacja wiele do wielu poprzez Aktor filmu encję.
- Film i Inwentarz: Relacja jeden do wielu, gdzie jeden film może mieć wiele pozycji w inwentarzu.
- Inwentarz i Wypożyczenie: Relacja jeden do wielu, gdzie jedna pozycja w inwentarzu może być wypożyczona wiele razy.
- Wypożyczenie i Płatność: Relacja jeden do jednego, gdzie każde wypożyczenie ma jedną płatność.
- Wypożyczenie i Klient: Relacja wiele do jednego, gdzie wiele wypożyczeń może być dokonanych przez jednego klienta.
- Klient i Adres: Relacja jeden do jednego, gdzie każdy klient ma jeden adres.
- Adres i Miasto: Relacja wiele do jednego, gdzie wiele adresów może znajdować się w jednym mieście.
- Miasto i Kraj: Relacja wiele do jednego, gdzie wiele miast może znajdować się w jednym kraju.
- Personel i Sklep: Relacja wiele do jednego, gdzie wielu pracowników może pracować w jednym sklepie.
- Sklep i Adres: Relacja jeden do jednego, gdzie każdy sklep ma jeden adres.
Wnioski
Diagramy encji-relacji (ERD) to potężne narzędzia do projektowania i zrozumienia struktur baz danych. Poprzez wizualne przedstawienie encji, atrybutów i relacji, ERD pomagają tworzyć efektywne i dobrze zorganizowane bazy danych. Przykład systemu wypożyczalni filmów pokazuje, jak ERD można wykorzystać do modelowania skomplikowanych systemów i zapewnienia integralności oraz spójności danych. Niezależnie od tego, czy jesteś projektem bazy danych, inżynierem oprogramowania czy analitykiem danych, panowanie nad ERDjest niezbędne do skutecznego zarządzania bazami danych i projektowania systemów.
Ten post dostępny jest również w Deutsch, English, Español, فارسی, Français, Bahasa Indonesia, 日本語, Portuguese, Ру́сский, Việt Nam, 简体中文 and 繁體中文












