Witam robię projekt bazy danych na temat wybrany przeze mnie np. komis mam pytanie czy ta baza, która zrobiłem i relacje ma "ręce i nogi" ?

Projekt bazy danych komisu samochodowego
- Rejestracja: dni
- Ostatnio: dni
- Postów: 291
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Poznań
- Postów: 9023
Czemu masz adres klienta z klientem jako 1:1?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 1703
Czy kolumna Model w tabeli Pojazdy nie jest nadmiarowa skoro w Pojazdy mamy Markę, która to też ma Model?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 291
cerrato napisał(a):
Czemu masz adres klienta z klientem jako 1:1?
Dla każdego idKlienta odpowiadają wszystkie pola z AdresKlienta czyli powinno być jeden do wielu ? jednak nie wiem jak tutaj ustawić żeby było jeden do wielu ponieważ jak przeciągnę i połączę to robi się relacja jeden do jednego.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 1703
Raloseq napisał(a):
cerrato napisał(a):
Czemu masz adres klienta z klientem jako 1:1?
Dla każdego idKlienta odpowiadają wszystkie pola z AdresKlienta czyli powinno być jeden do wielu ? jednak nie wiem jak tutaj ustawić żeby było jeden do wielu ponieważ jak przeciągnę i połączę to robi się relacja jeden do jednego.
bo łączysz klucz główny z kluczem głównym, a klucz główny musi być unikatowy
- Rejestracja: dni
- Ostatnio: dni
- Postów: 291
Julian_ napisał(a):
Raloseq napisał(a):
cerrato napisał(a):
Czemu masz adres klienta z klientem jako 1:1?
Dla każdego idKlienta odpowiadają wszystkie pola z AdresKlienta czyli powinno być jeden do wielu ? jednak nie wiem jak tutaj ustawić żeby było jeden do wielu ponieważ jak przeciągnę i połączę to robi się relacja jeden do jednego.
bo łączysz klucz główny z kluczem głównym, a klucz główny musi być unikatowy
Masz jakiś pomysł może jak to rozwiązać bo robienie ipAdresKlienta wydaje się być głupie ?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 1703
Raloseq napisał(a):
Julian_ napisał(a):
Raloseq napisał(a):
cerrato napisał(a):
Czemu masz adres klienta z klientem jako 1:1?
Dla każdego idKlienta odpowiadają wszystkie pola z AdresKlienta czyli powinno być jeden do wielu ? jednak nie wiem jak tutaj ustawić żeby było jeden do wielu ponieważ jak przeciągnę i połączę to robi się relacja jeden do jednego.
bo łączysz klucz główny z kluczem głównym, a klucz główny musi być unikatowy
Masz jakiś pomysł może jak to rozwiązać bo robienie ipAdresKlienta wydaje się być głupie ?
Czemu głupie?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 291
Julian_ napisał(a):
Raloseq napisał(a):
Julian_ napisał(a):
Raloseq napisał(a):
cerrato napisał(a):
Czemu masz adres klienta z klientem jako 1:1?
Dla każdego idKlienta odpowiadają wszystkie pola z AdresKlienta czyli powinno być jeden do wielu ? jednak nie wiem jak tutaj ustawić żeby było jeden do wielu ponieważ jak przeciągnę i połączę to robi się relacja jeden do jednego.
bo łączysz klucz główny z kluczem głównym, a klucz główny musi być unikatowy
Masz jakiś pomysł może jak to rozwiązać bo robienie ipAdresKlienta wydaje się być głupie ?
Czemu głupie?
Ok to zrobię tak
- Rejestracja: dni
- Ostatnio: dni
- Postów: 6
Hej,
spróbuj od używania prefiksów w nazwach tabel, będzie łatwiej potem szukać w kodzie :-)
Co do adresu klienta, dobrze jest móc rejestrować więcej niż jeden adres. Kolejna sprawa typy kolumn.Nie widać ich na twoim projekcie. Tutaj masz propozycję:

No i jeszcze jedna rzecz teraz mi się nasunęła mianowicie typ transakcji. Bo komis sprzedaje i kupuje.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 597
Wyżej koledzy opisali problemy odnośnie nadmiarowości tabel, nazewnictwa klucza. Niemniej dam Ci do myślenia analizując typową pracę komisu samochodowego to:
- Nie mamy informacji o kwocie transakcji. Nie wiadomo za ile klient kupił auto.
- Jeżeli już pójdziemy w kwoty to może warto przyjąć cenę bazową i ile klient wytargował za auto.
- No jak mamy NIP to wypadałoby mieć nazwę firmy, bo klient może być prywatny lub przedsiębiorcą dobrze by mieć w jakiejś podstawowej formie rozróżniane np. jeżeli NIP nie przyjmuje wartości null no to mamy przedsiębiorcę.
- Przebieg, rok produkcji + więcej danych o pojeździe. Możesz wprowadzić wzorzec EAV jeżeli np. parametry auta nie będą stałe.
- Można pokusić się o jakiegoś pracownika obsługującego.
- Jeżeli byłbym właścicielem komisu to chciałbym by system dał mi jakieś raporty np. jaka jest sprzedaż w danych miesiącach, kwartałach etc. względem marki. To sobie wyciągnę u Ciebie zapytaniem odpowiednim niemniej jakbym był bardziej dociekliwy to chciałbym wiedzieć jak zmieniała się cena bazowa auta, które nie schodziło by szacować przyszłe ceny za podobne modele i roczniki.
Oczywiście te punkty to takie sugestie, które można by wdrożyć.