Projekt bazy danych komisu samochodowego

Projekt bazy danych komisu samochodowego
Raloseq
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 291
0

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" ?
screenshot-20200507143624.png

cerrato
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Poznań
  • Postów: 9023
0

Czemu masz adres klienta z klientem jako 1:1?

Julian_
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1703
1

Czy kolumna Model w tabeli Pojazdy nie jest nadmiarowa skoro w Pojazdy mamy Markę, która to też ma Model?

Raloseq
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 291
0
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.

Julian_
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1703
0
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

Raloseq
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 291
0
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 ?

Julian_
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1703
0
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?

Raloseq
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 291
0
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

Tomasz L
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6
0

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ę:

schemat bazy komisu

No i jeszcze jedna rzecz teraz mi się nasunęła mianowicie typ transakcji. Bo komis sprzedaje i kupuje.

mariano901229
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 597
0

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:

  1. Nie mamy informacji o kwocie transakcji. Nie wiadomo za ile klient kupił auto.
  2. Jeżeli już pójdziemy w kwoty to może warto przyjąć cenę bazową i ile klient wytargował za auto.
  3. 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ę.
  4. Przebieg, rok produkcji + więcej danych o pojeździe. Możesz wprowadzić wzorzec EAV jeżeli np. parametry auta nie będą stałe.
  5. Można pokusić się o jakiegoś pracownika obsługującego.
  6. 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ć.

Raloseq
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 291
0

Dzięki, panowie za podpowiedzi szkoda tylko, że tak późno :D

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.