1. Projektowanie schematu bazy danych w modelu E-R:

Model E-R pozwala na duż± elastyczno¶ć przy tworzeniu schematu bazy danych. Projektuj±cy może wybrać spo¶ród następuj±cych alternatyw:

Fazy projektowania

Przykładowe projektowanie bazy danych obsługuj±cej bank:

a. Gromadzenie potrzebnych informacji:

Wstępne specyfikacje powinny zostać ustalone na podstawie rozmów z przyszłymi użytkownikami systemu oraz jego pomysłodawcami.

Lista najważniejszych informacji dotycz±cych infrastruktury banku:

b. Okre¶lanie elementów logicznych (wraz z atrybutami): c. Okre¶lanie relacji elementów: d. Diagram E-R dla przedsięwzięcia bankowego

2. Redukcja schematu E-R do tablic:

Baza danych która odpowiada schematowi E-R może być przedstawiona przez zbiór tablic. Dla każdego zbioru elementów i relacji w bazie danych istnieje osobna tabela o nazwie nawi±zuj±cego zbioru. Każda tabela zawiera kolumny, każda z nich ma inn± nazwę.

Modele E-R oraz relacyjnej bazy danych s± abstrakcyjne, s± logicznymi reprezentacjami przedsiębiorstw realnego ¶wiata. Ponieważ te dwa modele kieruj± się podobnymi zasadami, możemy przetworzyć projekt E-R w relacyjny. Przetwarzaj±c reprezentację bazy danych z diagramu E-R w tabele, jest podstaw± wyprowadzania projektu relacyjnej bazy danych z diagramu E-R. Chociaż istniej± znaczne różnice pomiędzy relacj± i tablic±, nieformalnie, relacja może być uważana za tablicę warto¶ci.

  1. tablicowa reprezentacja silnie zwi±zanych elementów
  2. Niech E będzie zbiorem silnie zwi±zanych elementów, a a1, a2, ..., an będ± atrybutami opisuj±cymi te elementy. Możemy przedstawić ten zbiór tabel± E zawieraj±c± n różnych kolumn, każda z nich nawi±zuje do jednego z atrybutów E. Każdy wiersz w tej tabeli nawi±zuje do jednego elementu ze zbioru elementów E.

    Przykład:

    Tabela “kredyt”

    Numer kredytu

    Kwota

    L-17

    1000

    L-23

    2000

    L-15

    1500

    L-14

    1500

    L-93

    500

    L-11

    900

    L-16

    1300

    E – zbiór elementów typu “kredyt”

    a1- atrybut “numer kredytu”

    a2- atrybut “kwota”

    Reprezentujemy ten zbiór przez tablicę o nazwie “kredyt”, z dwoma kolumnami. Wiersz: (L-17, 1000) w tablicy “kredyt” oznacza, że kredyt numer L-17 jest na kwote $1000. Możemy dodać nowy element do bazy danych przez wstawienie wiersza do tabeli. Możemy również skasować lub modyfikować wiersze.

    Prykład II:

    Tabela “klient”

    Nazwisko klienta

    Numer pesel

    Ulica

    Miasto

    Rogoz

    321-12-3123

    Main

    Harrrison

    Szczypta

    019-28-3746

    North

    Rye

    Piekarz

    677-89-9011

    Main

    Harrison

    Sendrowicz

    244-66-8800

    North

    Rye

    Hara

    336-66-9999

    Park

    Pittsfiled

    Kowalski

    182-73-6091

    Putnam

    Stamford

    Nowak

    963-96-3963

    Nassau

    Princeton

    Wolak

    335-57-7991

    Spring

    Pittsfiled

    Smoleń

    192-83-7465

    Alma

    Palo Alto

  3. tablicowa reprezentacja słabo zwi±zanych elementów
  4. Niech A będzie zbiorem silnie zwi±zanych elementów, a a1, a2, ..., am będ± atrybutami opisuj±cymi te elementy. Niech B będzie zbiorem silnie zwi±zanych elementów od których A jest zależny. Niech klucz podstawowy zbioru B składa się z atrybutów b1, b2, ..., bn .Możemy przedsawić zbiór A tabel± tabel± A, w której jedna kolumna zawiera jeden atrybut ze zbioru:

    {a1, a2, ..., am} È {b1, b2, ..., bn}

    Przykład: Tabela “rata”

    Numer kredytu

    Numer wpłaty

    Data wpłaty

    Kwota wpłaty

    L-17

    5

    10.V.1996

    50

    L-23

    11

    17.V.1996

    75

    L-15

    22

    23.V.1996

    300

    L-14

    69

    28.V.1996

    500

    L-93

    103

    3.VI.1996

    900

    L-17

    6

    7.VI.1996

    50

    L-11

    53

    7.VI.1996

    125

    L-93

    104

    13.VI.1996

    200

    L-17

    7

    17.VI.1996

    100

    L-16

    58

    18VI.1996

    135

    A – zbiór elementów typu “rata”

    a1- atrybut “numer wpłaty”

    a2- atrybut “data wpłaty”

    a3- atrybut “kwota wpłaty”

    b1- atrybut “numer kredytu” - podstawowy klucz zbioru “kredyt” od którego zbiór

    “rata” jest zależny.

  5. tablicowa reprezentacja relacji

Niech R będzie zbiorem relacji, niech a1, a2, ..., am będ± zbiorem artybutów, który powstał z unii podstawowych kluczy zbiorów uczestnicz±cych w relacji R, i niech b1, b2, ..., bn będ± atrybutami opisuj±cymi relację R. Możemy przedsawić relację tabel± R, w której jedna kolumna zawiera jeden atrybut ze zbioru:

{a1, a2, ..., am} È {b1, b2, ..., bn}

Przykład:

Tabela “kredytobiorca”

Numer pesel

Numer kredytu

321-12-3123

L-17

019-28-3746

L-23

677-89-9011

L-15

555-55-5555

L-14

244-66-8800

L-93

019-28-3746

L-11

963-96-3963

L-17

335-57-7991

L-16

R – zbiór relacji typu “kredytobiorca”

a1- atrybut “Numer pesel” – podstawowy klucz zbioru “klient”

a2- atrybut “Numer kredytu” – podstawowy klucz zbioru “kredyt”

Przypadek zbioru relacji ł±cz±cy zbiór elementów silnie zwi±zanych z nawi±zuj±cym do niego zbiorem elementów słabo zwi±zanych jest wyj±tkowy. Jak zauważyli¶my wcze¶niej, te relacje s± postaci “many to one” i nie maj± żadnych opisuj±cych t± relację atrybutów. Ponadto, podstawowy klucz zbioru słabo zwi±zanych elementów zawiera podstawowy klucz zbioru silnie zwi±zanych elementów.

Przykład:

Zbiór słabo zwi±zanych elementów “rata” jest zależny od zbioru silnie zwi±zanych elementów “kredyt” przez zbiór relacji “kredyt-rata”. Podstawowy klucz zbioru “rata” jest {numer kredytu, numer raty}, a zbioru “kredyt” jest {numer kredytu}. Relacja “kredyt-rata” nie ma dodatkowych atrybutów okre¶laj±cych t± relacje, więc tablica “kredyt-rata” będzie miała dwie kolumny “numer kredytu” i “numer raty”. Tabela dla zbioru “rata” ma cztery kolumny: “numer kredytu”, “numer raty”, “data wpłaty” i “kwota wpłaty”. Więc tabela “kredyt-rata” jest redundantna.

Podsumowuj±c, tabela dla zbioru relacji ł±cz±cych zbiór elementów silnie zwi±zanych z nawi±zuj±cym do niego zbiorem elementów słabo zwi±zanych jest redundantny i nie trzeba go przedsawiać w tablicowej reprezentacji diagramu E-R.

Rozwarzmy zbiór relacji “many to one” AB ze zbioru elementów A do zbioru elementów B. Używaj±c naszego schematu do tworzenia tablic, dostajemy trzy tablice: A, B i AB. Jednakże, jeżeli istnieje zależno¶ć A od B (dla każdego el. a z A, istnienie el. a zależy od istnienia niektórych el. zb. B), wtedy możemy połaczyć tabele A i AB, twoż±c w ten sposób jedn± tabelę zawieraj±ca unie kolumn z obu tablic.

Przykład:

Zbiór relacji “konto-filia” jest typu “many to one” z zbioru “konto” do zbioru “filia”. Podwujna linia oznacza uczestnictwo zbioru “konto” w zbiorze relacji “konto-filia” jest całkowite. Ponadto, “konto” nie może istnieć bez przynależno¶ci do poszczególnej “filii”. W tym wypadku potrzebujemy dwóch tablic:

  1. wielowarto¶ciowe atrybuty
  2. Dla wielowarto¶ciowego atrybutu M, tworzymy tabelę T, zawieraj±c± kolumnę C, która nawi±zuje do M, oraz kolumny nawi±zuj±ce do podstawowego klucza zbioru elementów lub relacji, którego M jest atrybutem.

    Przykład:

    Dla wielowarto¶ciowego atrybutu “zależne nazwisko”, twożymy tablice o tej nazwie, z kolumnami “znazwisko”, odnosz±ce się do “zależne nazwisko”, będ±cego atrybutem “pracownika”, i z kolumn± “numer pesel pracownika”, reprezentuj±c± podstawowy klucz zbioru “pracownik”. Każdy klient zależny od

    pracownika jest przedstawiony w oddzielnym wierszu w tabeli.

  3. tablicowa reprezentacja generalizacji

Istniej± dwie oddzielne metody przetwarzania do tablicowej postaci diagramu E-R zawieraj±cego generalizacje.

Przykład:

- Jeżeli generalizacja jest rozł±czna i kompletna – żaden element nie jest członkiem dwóch zbiorów elementów niższego poziomu, natomiast należy do zbioru elementów wyższego poziomu, oraz jeżeli każdy element w zbiorze elementów wyższego poziomu jest również członkiem jednego ze zbioru elementów niższego poziomu – wtedy jest możliwa alternatywna reprezentacja. Nie twożymy żadnej tabeli dla zbioru elementów wyższego poziomu. Zamiast tego, Dla każdego zbioru elementów niższego poziomu, stworzyć tabele zawieraj±c± dla każdego z atrybutów z tego zbioru oraz ze zbioru elementów wyższego poziomu kolumnę.

Relacje “konta oszczędno¶ciowego” oraz “konta rozliczeniowo-oszczędno¶ciowego” nawi±zuj±ce do tych tablic maj± “stan” jako podstawowy klucz.

Jeżeli druga metoda została użyta do pokrycia generalizacji, jakie¶ warto¶ci, takie jak “stan” mog± być przechowywane dwa razy. Podobnie, jeżeli generalizacja była nikompletna – niektóre “konta” nie były ani rozliczeniowo ani rozliczeniowo-oszczędno¶ciowe wtedy takie “konto” nie mogło by być reprezentowane drugim sposobem.

  1. tablicowa reprezentacja agregacji

Przekształcanie w tablicow± postać diagramu E-R zawieraj±cego agregację.

Tablica dla zbioru realacji “kredyt-urzędnik” zawiera dla każdego atrybutu w podstawowym kluczu ze zbioru “pracownik" i zbioru relacji “kredytobiorca” kolumnę. Ona zawiera równierz kolumnę dla atrybutów opisuj±cych, je¶li jakie¶ istniej±. Używaj±c tej samej procedury dla reszty, stworzymy następuj±ce tabele:

Podsumowanie: