Model ER definiuje konceptualny widok bazy danych. Działa on wokół bytów świata rzeczywistego i związków między nimi. Na poziomie widoku, model ER jest uważany za dobrą opcję do projektowania baz danych.
Entyt
Entytem może być obiekt świata rzeczywistego, ożywiony lub nieożywiony, który może być łatwo zidentyfikowany. Na przykład, w szkolnej bazie danych, uczniowie, nauczyciele, klasy i oferowane kursy mogą być uważane za jednostki. Wszystkie te podmioty mają pewne atrybuty lub właściwości, które dają im ich tożsamości.
Zestaw podmiotów jest zbiorem podobnych typów podmiotów. Zbiór encji może zawierać encje z atrybutem dzielącym podobne wartości. Na przykład, zbiór Students może zawierać wszystkich uczniów szkoły; podobnie zbiór Teachers może zawierać wszystkich nauczycieli szkoły ze wszystkich wydziałów. Zbiory encji nie muszą być rozłączne.
Atrybuty
Elementy są reprezentowane za pomocą ich właściwości, zwanych atrybutami. Wszystkie atrybuty mają wartości. Na przykład, student encja może mieć nazwę, klasę i wiek jako atrybuty.
Istnieje domena lub zakres wartości, które mogą być przypisane do atrybutów. Na przykład, imię ucznia nie może być wartością numeryczną. Musi być alfabetyczne. Wiek studenta nie może być ujemny, itd.
Typy atrybutów
-
Proste atrybuty – Proste atrybuty są wartościami atomowymi, które nie mogą być dalej dzielone. Na przykład, numer telefonu studenta jest wartością atomową składającą się z 10 cyfr.
-
Atrybut złożony – Atrybuty złożone są zbudowane z więcej niż jednego atrybutu prostego. Na przykład pełne imię i nazwisko studenta może mieć postać first_name i last_name.
-
Atrybut pochodny – Atrybuty pochodne to atrybuty, które nie istnieją w fizycznej bazie danych, ale ich wartości są wyprowadzane z innych atrybutów obecnych w bazie danych. Na przykład, średnia pensja w dziale nie powinna być zapisana bezpośrednio w bazie danych, zamiast tego może być wyprowadzona. Dla innego przykładu, wiek może być wyprowadzony z data_of_birth.
-
Atrybut jednowartościowy – Atrybuty jednowartościowe zawierają pojedynczą wartość. Na przykład – Social_Security_Number.
-
Multi-value attribute – Atrybuty wielowartościowe mogą zawierać więcej niż jedną wartość. Na przykład, osoba może mieć więcej niż jeden numer telefonu, email_adres, itp.
Te typy atrybutów mogą się łączyć w sposób taki jak –
- simple single-valued attributes
- simple multi-valued attributes
- composite single-valued attributes
- composite multi-valued attributes
Entity-Set and Keys
Key jest atrybutem lub zbiorem atrybutów, który jednoznacznie identyfikuje podmiot wśród zbioru podmiotów.
Na przykład, roll_number studenta sprawia, że można go zidentyfikować wśród studentów.
-
Klucz główny – Zestaw atrybutów (jeden lub więcej), które wspólnie identyfikują encję w zbiorze encji.
-
Klucz kandydujący – Minimalny klucz główny nazywany jest kluczem kandydującym. Zbiór encji może mieć więcej niż jeden klucz kandydujący.
-
Klucz główny – Klucz główny jest jednym z kluczy kandydujących wybranych przez projektanta bazy danych w celu jednoznacznej identyfikacji zbioru encji.
Relacje
Powiązanie między encjami nazywane jest relacją. Na przykład, pracownik pracuje w dziale, student zapisuje się na kurs. Tutaj, Works_at i Enrolls są nazywane relacjami.
Zbiór relacji
Zbiór relacji podobnego typu jest nazywany zbiorem relacji. Podobnie jak encje, relacje również mogą mieć atrybuty. Te atrybuty są nazywane atrybutami opisowymi.
Stopień relacji
Liczba uczestniczących podmiotów w relacji określa stopień relacji.
- Binarny = stopień 2
- Ternarny = stopień 3
- n-arny = stopień
Kardynalność mapowania
Kardynalność określa liczbę encji w jednym zbiorze encji, które mogą być powiązane z liczbą encji innego zbioru poprzez zbiór relacji.
-
Jeden do jednego – Jedna encja ze zbioru encji A może być powiązana z co najwyżej jedną encją ze zbioru encji B i odwrotnie.
-
One-to-many – Jeden podmiot ze zbioru podmiotów A może być powiązany z więcej niż jednym podmiotem ze zbioru podmiotów B, jednakże podmiot ze zbioru podmiotów B, może być powiązany z co najwyżej jednym podmiotem.
-
Many-to-one – Więcej niż jeden podmiot ze zbioru podmiotów A może być powiązany z co najwyżej jednym podmiotem ze zbioru podmiotów B, jednakże podmiot ze zbioru podmiotów B, może być powiązany z więcej niż jednym podmiotem ze zbioru podmiotów A.
-
Many-to-many – Jedna encja ze zbioru A może być skojarzona z więcej niż jedną encją ze zbioru B i odwrotnie.
.