• Model obiektowo – związkowy
– Obiekty w konkretnych związkach
– Obiekty tworzące związki
• Inaczej: model związków encji
– Encje i związki pomiędzy nimi
– Związki jakie tworzą encje (obiekty,
jednostki) pomiędzy sobą
• Model jednostka – związek
Model obiektowo -
związkowy
• Zwany jest czasem semantycznym modelem danych.
Zaproponowany został przez Chena w r. 1976 w cepu ułatwienia
projektowania bazy danych przez pozwolenie projektantom na
wyrażenie logicznych własności danych.
• Schematy bazy danych, który powstaje na tym etapie
projektowania bazy danych (zawiera jej opis) jest ważny dla
dowolnego systemu bazy danych. Graficznie schemat bazy danych
reprezentowany przez diagram wykonywany w pewnej notacji.
• Notacja to zestaw symboli graficznych oraz reguł dotyczących ich
użycia [ jakie kombinacje symboli są dozwolone] oraz reguł
dotyczących ich znaczenia [co oznacza dana kombinacja symboli],
służący do rysowania diagramów.
• Służy do tworzenia modelu koncepcyjnego i jego dokumentowania
oraz komunikacji z przyszłymi użytkownikami bazy danych.
• Sama notacja jak i jej wybór jest kwestią umowną.
Miniświat
• Wybrany fragment rzeczywistości, który chcemy przedstawić
w postaci modelu charakteryzuje się tym, że istnieją w nim
obiekty (jednostki) posiadające określone cechy (atrybut).
Obiekty są ze sobą wzajemnie powiązane – innymi słowy
pozostają w związkach między sobą i w związkach tych
pełnią określone role.
• Przykład:
• Biblioteka ma swoich pracowników i czytelników oraz
dysponuje zbiorem książek. Pracownik posiada numer
PESEL, imię, nazwisko, jest określonej płci ma określone
wykształcenie i staż pracy w bibliotece. Czytelnik
również posiada imię i nazwisko, mieszka pod określonym
adresem oraz posiada przydzielony mu przy zapisie do
biblioteki niepowtarzalny numer czytelnika.
Obiekt (encja, jednostka)
• Modelowanie dowolnego wycinka rzeczywistości
wiąże się z koniecznością rozpoznawania
występujących w nim obiektów.
• Obiekt to byt, który istnieje i daje się odróżnić od
innych obiektów. Przykładem obiektu jest osoba,
przedmiot, miejsce, wydarzenie lub pojęcie.
• Wyróżniamy 2 rodzaje obiektów:
– Obiekty materialne (osoba, przedmiot, książka, budynek)
– Obiekty pojęciowe (zamówienie, wycieczka, wydział).
• Każdy z obiektów jest jednoznacznie określony za
pomocą odpowiedniej nazwy.
• Do opisywania obiektów służą rzeczowniki.
Atrybut (cecha, właściwość)
• Obiekty różnią się pomiędzy sobą nie tylko nazwami,
ale również cechami charakterystycznymi. Do
modelowania tych cech służą atrybutu.
• Przykładem atrybutu może być numer PESEL,
nazwisko, wiek, kolor, data, czy_zdrowy.
• Atrybuty możemy dzielić na:
– Proste i złożone (złożone to adres, albo nazwisko i imię w
jednej komórce).
– Kluczowe i niekluczowe (klucz główne, i reszta)
– Obowiązkowe i opcjonalne (pierwsze imię, drugie imię)
• Atrybuty opisuje się przymiotnikami lub
rzeczownikami.
• Obiekty (jednostki, encje)
oznaczamy za pomocą prostokątów.
Wewnątrz prosstokąta umieszczamy
nazwę obiektu. Atrybuty oznaczamy
za pomocą elipsy, wewnątrz której
piszemy nazwę atrybutu.
• Podkreślenie nazwy atrybutu oznacza
klucz główny.
Związek (powiązanie)
•
Związek reprezentuje fakt istnienia powiązania
między dwoma lub większą liczbą obiektów. O
każdym takim obiekcie mówimy, że uczestniczy
w związku.
•
Związek, podobnie jak obiekty, może posiadać
atrybuty.
•
Związek opisuje się za pomocą czasowników.
•
Atrybuty może posiadać tylko i wyłącznie
związek N do N.
•
Związek oznaczamy za pomocą rombu,
wewnątrz którego umieszczamy nazwę związku.
Atrybuty i dziedziny
• Z każdym atrybutem związana jest dziedzina atrybutu
stanowiąca zbiór wartości danego atrybutu, które są jemu
przyporządkowane.
• Dana dziedzina może przybierać postać przedziału
wartości (np. przedziału liczb rzeczywistych), skończonego
zestawu wartości (np., rozmiar odzieży: S, M, L, XL) lub
wartości binarnych (T lub N, 0 lub 1).
• Każdemu atrybutowi w danym wystąpieniu encji lub
związku przyporządkowana jest tylko jedna wartość z
jego dziedziny. Jeżeli dziedzina obejmuje tylko jedną
wartość, mamy do czynienia nie z atrybutem, ale ze stałą.
• Dziedzina to nic innego jak typ danych (w rozumieniu
nowoczesnych języków programowania).
• Czytelnik
– #Nr czytelnika
– Imię
– Nazwisko
– Adres
• <Wypożycza>
• Książka
– #Nr. ISBN
– Tytuł
– Autor
– Rok wydania
• Liczba obiektów uczestniczących w
związku określa tzw. Stopień
związku.
• Najczęściej mamy do czynienia ze
związkami o stopniu nie
przekraczającym trzeciego:
– Unarnym (1 obiekt)
– Binarnym (2 obiekty)
– Ternarny (3 obiekty)
• Związek unarny
• Pracownik – jest szefem.
• Dział – wchodzi w skład.
Związek binarny
• [Pracownik] - <jest szefem> -
[instytut]
• [Dostawca] - <dostarcza> - [część]
Związek ternarny
• [lekarz ] - <wystawia> - [pacjent]
• |
[recepta]
• Każdy związek opisany jest tzw.
Typem asocjacji, określającym liczbę
obiektów danego typu, które
wchodzą w dany związek (krotność
obiektu).
• Wyróżniamy trzy podstawowe typy
asocjacji:
• Jeden do jeden 1:1
• Jeden do wielu 1:N
• Wiele do wiele N:N
1:1
• Jeden obiekt pierwszego typu jest
związany z dokładnie jednym
obiektem drugiego typu (i odwrotnie)
• [pracownik]1 - <wykorzystuje> -
1[komputer]
1:N
• [Nauczyciel]1 - <jest wychowawcą> -
N[uczeń]
N:N
• [student]N - <uczestniczy > -
N[projekt]