Przejdź do treści
Read this post in: de_DEen_USes_ESfr_FRid_IDjapl_PLpt_PTru_RUvizh_CNzh_TW
Home » Data Modeling / Database » Opanowanie modelowania ER: Przewodnik krok po kroku z przykładami z życia wziętymi (Część 2 z 5)

Opanowanie modelowania ER: Przewodnik krok po kroku z przykładami z życia wziętymi (Część 2 z 5)

Doskonalenie diagramów encji-relacji (ERD) w celu skutecznego projektowania baz danych

Opis problemu: Modelowanie ER – System wypożyczalni samochodów

Wypożyczalnia samochodów musi stworzyć bazę danych do zarządzania swoimi operacjami biznesowymi. Firma posiada dużą flotę samochodów, które są wynajmowane klientom na krótko- i długoterminowo. Firma ma kilka oddziałów w różnych lokalizacjach, a każdy oddział ma własną flotę samochodów.

Firma chce śledzić samochody dostępne do wynajęcia, klientów, którzy wynajęli samochody, okresy wynajmu oraz koszty za każdy wynajem. Chce również śledzić harmonogramy konserwacji dla każdego samochodu oraz wykonane działania konserwacyjne.

From conceptual to logical to physical ERD

Firma ma następujące wymagania dotyczące swojej bazy danych:

  1. Samochody mogą być wynajmowane klientom na określony okres wynajmu.
  2. Klient może wynajmować wiele samochodów, a samochód może być wynajmowany przez wielu klientów.
  3. Koszty wynajmu za każdy samochód powinny być obliczane na podstawie okresu wynajmu oraz dodatkowych kosztów, takich jak ubezpieczenie lub koszty paliwa.
  4. Firma chce śledzić harmonogramy konserwacji dla każdego samochodu oraz wykonane działania konserwacyjne.
  5. Firma chce mieć możliwość przeglądania raportów dotyczących wykorzystania swoich samochodów, w tym liczby wynajmów, okresów wynajmu oraz generowanego przychodu.
  6. Firma chce mieć możliwość przeglądania raportów dotyczących wykonanych działań konserwacyjnych na swoich samochodach, w tym rodzaj wykonanej konserwacji, datę jej wykonania oraz koszt.
  7. Firma chce śledzić klientów, którzy wynajmują jej samochody, w tym ich dane osobowe, takie jak imię, adres, numer telefonu i adres e-mail.
  8. Firma chce mieć możliwość przeglądania raportów dotyczących swoich klientów, w tym liczby wynajmów, okresów wynajmu oraz przychodu generowanego przez każdego klienta.

Aby spełnić te wymagania, można stworzyć diagram encji-relacji (ER), aby zamodelować system wypożyczalni samochodów. Diagram będzie zawierał encje takie jak Samochody, Klienci, Wynajmy i Konserwacja, oraz relacje takie jak Wynajem, Wynajem Klienta i Konserwacja Samochodu.

Przewodnik krok po kroku tworzenia diagramu ER dla bazy danych

Oto przewodnik krok po kroku tworzenia diagramu ER dla bazy danych:

  1. Zidentyfikuj encje:Zacznij od zidentyfikowania różnych encji, które będą zawarte w bazie danych. Encje mogą dotyczyć ludzi, miejsc, rzeczy lub pojęć związanych z dziedziną bazy danych. Na przykład w systemie wypożyczalni samochodów encje mogą obejmować Samochody, Klientów, Wynajmy i Konserwację.
  2. Określ atrybuty:Następnie określ atrybuty każdej encji. Atrybuty to cechy lub własności opisujące encję. Na przykład atrybuty encji Samochód mogą obejmować Markę, Model, Rok i Numer rejestracyjny.
  3. Zidentyfikuj relacje:Po zidentyfikowaniu encji i ich atrybutów określ relacje między encjami. Relacje to połączenia lub powiązania między encjami. Na przykład relacja między encjami Samochód i Wynajem polega na tym, że samochód może być wynajęty na określony okres wynajmu.
  4. Określ liczność:Liczność opisuje liczbę wystąpień jednej encji, które mogą być powiązane z wystąpieniami innej encji. Na przykład liczność między encjami Samochód i Wynajem może wynosić jeden do wielu, co oznacza, że jeden samochód może być wynajęty przez wielu klientów.
  5. Określ stopień relacji:Stopień relacji odnosi się do liczby encji uczestniczących w relacji. Na przykład relacja między encjami Samochód i Wynajem jest relacją dwuargumentową, co oznacza, że dotyczy tylko dwóch encji.
  6. Stwórz wstępną wersję diagramu:Wykorzystaj informacje zebraną w poprzednich krokach, aby stworzyć wstępną wersję diagramu ER. Diagram ten powinien zawierać encje, atrybuty, relacje, liczność i stopień relacji.
  7. Doskonal diagram: Wpopraw diagram ER, przeglądając go pod kątem dokładności, kompletności i spójności. Wprowadź wszelkie konieczne zmiany lub modyfikacje, aby zapewnić, że diagram poprawnie odzwierciedla wymagania bazy danych.
  8. Dodaj ograniczenia: Dodaj do diagramu dowolne ograniczenia, które pomogą zapewnić integralność i spójność danych. Ograniczenia to zasady lub warunki ograniczające dane, które mogą być wprowadzone do bazy danych. Na przykład ograniczeniem może być wymóg, aby encja Car musiała mieć ważny numer rejestracyjny.
  9. Zakończ diagram: Po wpoprawieniu diagramu ER i dodaniu ograniczeń, zakończ diagram. Ostateczny diagram powinien dokładnie odzwierciedlać bazę danych i jej wymagania.
  10. Wygeneruj bazę danych: Korzystając z zakończonego diagramu ER, wygeneruj schemat bazy danych. Schemat bazy danych definiuje strukturę bazy danych, w tym tabele, kolumny oraz relacje między nimi.

Zrozumienie różnic między modelowaniem koncepcyjnym, logicznym i fizycznym

Modelowanie koncepcyjne, logiczne i fizyczne to trzy główne etapy modelowania danych, czyli procesu projektowania bazy danych w celu przedstawienia danych i relacji wewnątrz organizacji lub systemu.

Oto przegląd tego, co obejmuje każdy etap:

  1. Model danych koncepcyjny: Ten etap skupia się na zrozumieniu ogólnego obrazu danych i relacji między nimi. Jest niezależny od konkretnej technologii lub systemu zarządzania bazami danych (DBMS). Głównym celem jest identyfikacja głównych encji, ich relacji i atrybutów. Wynikiem tego etapu jest model danych koncepcyjny, który służy do kierowania rozwojem modelu danych logicznego.
  2. Model danych logiczny: Ten etap skupia się na szczegółowym zdefiniowaniu struktur danych i relacji. Obejmuje schemat logiczny, który odnosi się do koncepcji modelu danych zidentyfikowanych w etapie koncepcyjnym, przy użyciu diagramu entytetów-relacji (ERD) lub podobnego narzędzia. Model danych logiczny przedstawia wymagania biznesowe pod kątem struktury danych i relacji i jest niezależny od fizycznej architektury bazy danych. Wynikiem tego etapu jest model danych logiczny, który służy do kierowania rozwojem modelu danych fizycznego.
  3. Model danych fizyczny: Ten etap skupia się na przekształceniu modelu danych logicznego w konkretny system zarządzania bazami danych, biorąc pod uwagę wydajność, wymagania dotyczące przechowywania oraz ograniczenia techniczne docelowego DBMS. Model danych fizyczny opisuje obiekty bazy danych, takie jak tabele, kolumny i indeksy, a także ich typy danych, rozmiary i ograniczenia. Wynikiem tego etapu jest model danych fizyczny, który służy do tworzenia i wdrażania bazy danych.

Podsumowując, etap koncepcyjny definiuje encje danych i ich relacje na wysokim poziomie, etap logiczny definiuje szczegółowe struktury danych i relacje, a etap fizyczny przekształca model danych logiczny na konkretną technologię bazy danych, uwzględniając aspekty wydajności i przechowywania.

Tworzenie diagramu ER koncepcyjnego na podstawie opisu problemu

Diagram ER zawiera cztery encje: Car, Customer, Rental i Maintenance. Każda encja ma swoje atrybuty, takie jak car_id, model, make, year, daily_rate, fuel_type, is_available dla encji Car, first_name, last_name, email, phone_number i address dla encji Customer, start_date, end_date, rental_rate, insurance_charge, fuel_charge dla encji Rental oraz type, description, cost i maintenance_date dla encji Maintenance.

Diagram ER pokazuje również relacje między encjami, w tym relację Rental między encjami Car i Rental, relację Customer Rental między encjami Rental i Customer oraz relację Car Maintenance między encjami Car i Maintenance.

Car rental conceptual ERD

Wpopraw diagram ER koncepcyjny do diagramu ER logicznego

Diagram ER logiczny zawiera bardziej formalną, szczegółową notację, skupiającą się na tabelach, kolumnach, kluczach i relacjach. W szczególności przedstawione są typy danych kolumn. Dodatkowo do relacji dodawane są etykiety („rents”, „rented by” i „requires”), aby wskazać charakter każdej relacji.

Car rental logical ERD

Wpopraw diagram ER logiczny do diagramu ER fizycznego

Diagram ER fizyczny to „schemat bazy danych”, który zawiera wystarczające szczegóły do wdrożenia bazy danych w konkretnym DBMS. Nazewnictwo encji i kolumn jest zmienione w celu:

  • Obsługiwać specyficzny dla DBMS składni.
  • Zapewnić używanie słów niezastrzeżonych (np. order → purchase_order, desc → description)
  • Dopasować do zasady nazewnictwa specyficznej dla organizacji

Kolumna „desc” w encji Maintenance jest zmieniona na „description”.

Car rental physical ERD

Generowanie schematu bazy danych: przekształcanie ERD w schemat fizyczny

Schemat bazy danych to wizualne przedstawienie struktury bazy danych, które definiuje organizację danych w systemie zarządzania bazami danych relacyjnych. Schemat tworzony jest na podstawie diagramu entytetów-relacji (ERD), który służy do modelowania relacji między różnymi encjami w systemie.

W tym przypadku ERD najpierw został dopracowany do logicznego ERD, który określił relacje między encjami takimi jak Samochody, Klienci, Wynajmy i Konserwacja, oraz ich odpowiednimi atrybutami. Logiczny ERD pomógł ustalić relacje i liczność między encjami.

Po dopracowaniu logicznego ERD następnym krokiem było wygenerowanie fizycznego ERD, który definiuje rzeczywistą strukturę bazy danych z wszystkimi niezbędnymi typami danych, kluczami głównymi i obcymi oraz dowolnymi ograniczeniami. Fizyczny ERD odzwierciedla logiczny ERD, ale zawiera więcej szczegółów dotyczących sposobu przechowywania danych w bazie danych.

Na podstawie fizycznego ERD napisano kod SQL w celu utworzenia schematu bazy danych z odpowiednimi tabelami, kolumnami i relacjami między nimi. Każda tabela w schemacie reprezentuje encję w systemie, a kolumny reprezentują atrybuty tej encji. Klucze główne zostały zdefiniowane w celu jednoznacznego identyfikowania każdego rekordu w tabeli, a klucze obce zostały użyte do ustalenia relacji między tabelami.

UTWÓRZ TABELĘ Samochód (
car_id INT KLUCZ GŁÓWNY,
model VARCHAR(255),
marka VARCHAR(255),
rok INT,
rata_dzienna DECIMAL(10, 2),
rodzaj_paliwa VARCHAR(255),
is_available LOGICZNY
);

UTWÓRZ TABELĘ Klient (
customer_id INT KLUCZ GŁÓWNY,
imię VARCHAR(255),
nazwisko VARCHAR(255),
email VARCHAR(255),
nr_telefonu VARCHAR(255),
adres VARCHAR(255)
);

UTWÓRZ TABELĘ Wynajem (
rental_id INT KLUCZ GŁÓWNY,
data_rozpoczecia DATE,
data_zakonczenia DATE,
rata_wynajmu DECIMAL(10, 2),
opłata_ubezpieczenia DECIMAL(10, 2),
opłata_paliwa DECIMAL(10, 2),
car_id INT,
customer_id INT,
KLUCZ OBCE (car_id) ODNOŚNIK DO Car(car_id),
Klucz obcy (customer_id) ODWOŁUJE SIĘ DO Customer(customer_id)
);

UTWÓRZ TABELĘ Maintenance (
maintenance_id INT KLUCZ GŁÓWNY,
type VARCHAR(255),
description TEXT,
cost DECIMAL(10, 2),
maintenance_date DATE,
car_id INT,
Klucz obcy (car_id) ODWOŁUJE SIĘ DO Car(car_id)
);

Podsumowanie

Artykuł omawia proces ulepszania diagramów relacji encji (ERD), aby stworzyć skuteczny schemat bazy danych. Diagramy ERD są ulepszane od poziomu koncepcyjnego do poziomu logicznego, a następnie do poziomu fizycznego. Logiczny diagram ERD ustala relacje i liczność między encjami, podczas gdy fizyczny diagram ERD definiuje rzeczywisty schemat bazy danych z wszystkimi niezbędnymi typami danych, kluczami głównymi i obcymi oraz ograniczeniami.

Następnie kod SQL jest tworzony na podstawie fizycznego diagramu ERD w celu utworzenia schematu bazy danych z odpowiednimi tabelami, kolumnami i relacjami. Artykuł podkreśla znaczenie ulepszania diagramów ERD w celu skutecznego projektowania bazy danych i przedstawia wgląd w proces tworzenia schematu bazy danych na podstawie diagramu ERD.

Dodaj komentarz