Rysowanie bazy danych

0

Moja przygoda z bazami się dopiero zaczyna, a więc mógłby ktoś mi sprawdzić czy ten rysunek jest bardzo zły?

1
Dropek napisał(a):

Moja przygoda z bazami się dopiero zaczyna, a więc mógłby ktoś mi sprawdzić czy ten rysunek jest bardzo zły?

No jest pole do poprawy

  1. W praktyce PESEL jest wyjątkowo kiepskim kluczem głównym. w 99% przypadków używa się jakiegoś autogenerowanego klucza - sekwencja ew. UUID - jak na zadanie do szkoły może być.
  2. Pogubiłeś się w zębach - każdy ząb jest przypisany do jednego pacjenta i potencjalnie do wielu zabiegów na rysunku masz łącze do zabiegu, które jednak nie jest możliwe do zrealizowania w oparciu o istniejące pola. Masz id pacjenta (pesel) zapisany w zębie (i dobrze), ale nie masz narysowanej relacji 1..* pacjent zęby. To czego ci brakuje to relacja .. zabiegi zęby, którą powinieneś zrealizować za pomocą tabeli pośredniej:
    leczone_zęby
    id<PK>
    id_zabiegu <FK>
    id_zęba <FK>
1

Pierwsze spostrzeżenie:
Tabela pacjenci powinna mieć klucz główny - pole id (auto increment)
Tabela zęby pacjenta powinna mieć klucz obcy idpacjenta (odwołujący się do pacjenci.id).
W tabeli wizyty brakuje powiązania z tabelą pacjenci (powinno być analogicznie do tabeli zęby pacjenta).

Co do powiązania tabeli zabieg z tabelą zęby pacjenta to zależy czy:
1 zabieg = 1 ząb
czy
1 zabieg = 1 lub więcej zębów.

2

Jeśli chcemy obsłużyć temat zadania to proponowałbym poniższy diagram erd. Robiony na szybko ale wydaje się, że wszystkie wymagania spełnia i daje spore możliwości rozwoju.dentysta.png

1 użytkowników online, w tym zalogowanych: 0, gości: 1