Pierwsza własna baza danych

Odpowiedz Nowy wątek
2015-08-18 10:34
Biały Terrorysta
0

Chciałem spytać czy w miarę dobrze myślę jeśli bym chciał napisać bazę danych np.dla salonu samochodowego. Na razie znam tylko podstawy języka.

Zrobiłbym tabele z:

  • danymi sprzedawców (tabela by miała klucz główny)
  • samochodami na sprzedaż (tabela zawierała by klucz główny)
  • sprzedane samochodu (tabela by zawierała klucz obcy tabeli sprzedawców oraz samochodów na sprzedaż)

Pozostało 580 znaków

2015-08-18 10:39
0

Czym się różni tabela by miała klucz główny od tabela zawierała by klucz główny?


"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."
To jest to samo. - krzysiek050 2015-08-18 10:44

Pozostało 580 znaków

2015-08-18 10:45
0

Przydałaby się również tabela klienci,modele, marki samochodów no i zależy czy w przyszłości chciałbyś otworzyć więcej takich salonów - wtedy przydalaby się tabela salony i tu też zależy czy w 1 salonie można sprzedać tylko 1 samochód - wtedy tworzyłaby się relacja wiele do wielu więc dodatkowa tabela. Też przydałyby się jakieś tabele na faktury zakupów, reklamacje, kraje z jakich samochód pochodzi nie wiem czy twój salon miałby sprzedawać tylko nowe samochody czy również używane - wtedy dochodzą również dodatkowe tabele :).

I obowiązkowo tabela na listę słodyczy które sprzedawcy będą wystawiać na stoły... - krzysiek050 2015-08-18 10:49
Jak już robić, to robić system a nie jakąś popierdółke ;> - Heheczek 2015-08-18 15:56
Jak już coś robić, to mierząc siły na zamiary. - krzysiek050 2015-08-18 15:58
Jak kto woli. Mierząc siły nad zamiary można się więcej nauczyć :) - Heheczek 2015-08-18 16:10

Pozostało 580 znaków

2015-08-18 10:52
0

Widzę że dopiero zaczynasz, dlatego nie polecam robić zbyt rozbudowanej bazy danych. To co masz teraz na początek starczy, a gdy zechcesz ją dalej rozwinąć, to po prostu dopiszesz to czego będziesz potrzebował.

To co jest ważne to zadbanie o normalizację. https://pl.wikipedia.org/wiki/Normalizacja_bazy_danych . Nie musisz bawić się w ostatnią postać, ale spróbuj chociaż zrobić pierwsze 2,3.

Pozostało 580 znaków

2015-08-18 10:55
0

Przykładowa baza z następującymi tabelami:
Sprzedawca (idSprzedawcy, imie, nazwisko,dataUrodzenia, adres) - można zastosować zamiast sztucznego klucza głównego, naturalny np. pesel, nip, idOdciskuPalca pomnożona przez wzrost - wiek etc.
Samochody (idSamochodu, marka, model)
Sprzedaz (idSprzedazy, idSamochodu - klucz obcy, idSprzedawcy - klucz obcy, dataSprzedazy, kwotaSprzedazy)

Cena może być umieszczona w tabeli samochody. Jeżeli jest to stała cena niepodlegająca negocjacjom.

edytowany 1x, ostatnio: mariano901229, 2015-08-18 10:55
taki naturalny klucz główny to nie najlepszy pomysł - Hrypa 2015-08-18 12:01
idOdciskuPalca pomnożona przez wzrost - wiek ? :D świetny :D , a co jeżeli sprzedawca podrobi tożsamość drugiego i będzie miał taki sam pesel na dowodzie :P haha - mariano901229 2015-08-18 12:05

Pozostało 580 znaków

2015-08-18 11:37
0

@mariano901229 Po co w bazie danych używać polskich nazw? Lepiej od razu nauczyć się stosowania angielskich odpowiednich zamienników. Nie polecałbym też nazywania kolumn typu ID z afiksem od nazwy tabeli

SELECT idSprzedawcy FROM sprzedawcy --poniekąd brzmi dziwnie
SELECT id FROM vehicle_vendor --dałem vehicle - bo możliwe że baza rozrośnie się o motocykle
edytowany 1x, ostatnio: axelbest, 2015-08-18 11:38

Pozostało 580 znaków

2015-08-18 11:42
0

Nie polecałbym też nazywania kolumn typu ID z afiksem od nazwy tabeli

Dlaczego nie?
Bardzo wygodnie i przejrzyście jest potem robić klucze obce na takie tabele.


Pozostało 580 znaków

2015-08-18 11:47
0

Sorry - źle się wyraziłem. U mnie najczęściej wygląda to tak
id | id_author | id_vehicle | id_owner...... czyli klucz główny (id najczęściej ) zostawiam bez afiksu, dlaczego? Skoro robimy selecta/joina/obcy klucz w związku z tabelą vehicle.... to po co dublować tą informację?

Pozostało 580 znaków

2015-08-18 12:08
0
axelbest napisał(a):

@mariano901229 Po co w bazie danych używać polskich nazw? Lepiej od razu nauczyć się stosowania angielskich odpowiednich zamienników. Nie polecałbym też nazywania kolumn typu ID z afiksem od nazwy tabeli

SELECT idSprzedawcy FROM sprzedawcy --poniekąd brzmi dziwnie
SELECT id FROM vehicle_vendor --dałem vehicle - bo możliwe że baza rozrośnie się o motocykle

Człowiek chce się nauczyć tworzyć bazy. Nie mieszajmy mu w głowie niech zrobi tak jak umie. Co do nazw. Widziałem wiele projektów gdzie nazwy angielskie są pomieszane z polskimi. Często stosuje Id z nazwą tabeli dla mnie takie rozwiązanie się sprawdza. Zresztą jest gdzieś napisane jak ma być nazwana kolumna z kluczem głównym. Ważna by była czytelna.

Masz rację :) ważna w tym wszystkim jest tylko konsekwencja.. - axelbest 2015-08-18 12:15

Pozostało 580 znaków

2015-08-18 13:24
Biały Terrorysta
0

Dlaczego pokazuje mi błąd w pierwszej linijce, jeśli dobrze nazwe wpisuje?

INSERT INTO SzczegoloweDaneCzlonkow
(
IdentyfikatorCzlonka,
Imie,
Nazwisko,
DataUrodzenia,
Ulica,
Miasto,
Wojewodztwo,
KodPocztowy,
Email,
DataPrzystapienia
)
VALUES
(
1,
'Katarzyna',
'Szewczyk',
'1977-01-09',
'ul.Główna',
'Łódź',
'łódzkie'
'12-456',
'[email protected]',
'2004-02-23'
);
Treść błędu pokaż nam - mariano901229 2015-08-18 13:27

Pozostało 580 znaków

2015-08-18 13:28
0

Jaki błąd?


"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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