![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 124 Pomógł: 0 Dołączył: 25.11.2014 Ostrzeżenie: (10%) ![]() ![]() |
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Klient/Pracownik - zbędne dublowanie danych
Logowanie - bezsensowne, bo nic z tej tabeli nie wynika Powinieneś zdublować dane w przypadku zamówionych produktów. O ile teoretycznie nazwa książki się nie zmienia, to dobrze jest mieć dane na podstawie których została wystawiona faktura np. w przypaku usunięcia produktów z BD. To tak na szybko. Klucze obce musza mieć unikalne nazwy w obrębie bazy. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 124 Pomógł: 0 Dołączył: 25.11.2014 Ostrzeżenie: (10%) ![]() ![]() |
Logowanie - bezsensowne, bo nic z tej tabeli nie wynika Logowanie, by w jednym miejscu mieć wszystkie loginy. Nie będę się upierac, że ma to większy sens. Powinieneś zdublować dane w przypadku zamówionych produktów. Czyli np do tabeli faktura mogę wrzucić te dane? Klucze obce musza mieć unikalne nazwy w obrębie bazy. a czy nie wystarczy w fragmencie
(zakładając, że powtarzającym się w bazie kluczem obcym jest `idLogowanie`) zmienić nazwę przy CONSTRAINT `idLogowanie`na inną? czy muszę zmienić w tabelach wszystkie powtarzające się nazwy pól FK. Ten post edytował twojastara 4.02.2015, 21:43:31 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Logowanie, by w jednym miejscu mieć wszystkie loginy. Nie będę się upierac, że ma to większy sens. Po co, jak wywalisz tabele pracownik to i login nie potrzebne. Już 2 tabele mniej Cytat Czyli np do tabeli faktura mogę wrzucić te dane? Nie, do zamówienie produkt bo to tam trzymasz dane o pozycjach faktury. Dane adresowe faktury masz już w innej tabeli, co może w sumie zostać, ale też nie musi. Chyba że Dane_sprzedawcy użyjesz również jako dane do FV jak i dane do Wysyłki (razem 2 adresy) Ad FK, to sama nazwa Klucza (constraint) musi być unikalna. Nazwy kluczy w tabelach nie muszą być unikalne. |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 124 Pomógł: 0 Dołączył: 25.11.2014 Ostrzeżenie: (10%) ![]() ![]() |
Wolę się się upewnić.
Dublowanie danych polega na tym, że w tabeli z dublowanymi danymi wstawiam pola, oznaczam je jako FK i podaję REFERENCES `tabelaRodzic`(poleDublowane). I by nie zmieniały swoich wartości w przyszłości podaję
Bo ja sobie wcześniej po prostu wpisałem w tabelę`Zamowienie_Produkt`powtórzone pola z tabeli `Ksiazka`, bez oznaczenia ich jak FK. |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Nie, dublowanie to dublowanie czyli masz stworzyć pole np. Nazwa_ksiazki i wpisać tam dokładnie to samo co jest nazwą książki. Żadnych kluczy itp. Bo co Ci da jak dasz klucze FK, nawet jak dasz No Action to jak wywalisz oryginał z tabeli książki to już nie odzyskasz tytułu na zamówieniu.
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 124 Pomógł: 0 Dołączył: 25.11.2014 Ostrzeżenie: (10%) ![]() ![]() |
Dobra, już jasne. Dzięki. (Strasznie głupie to pytanie poprzednie, teraz aż się dziwie, że mnie zrozumiałeś. Przez chwilę nie ogarniałem do czego służy tabela `Zamowienie_Produkt`)
Ten post edytował twojastara 4.02.2015, 23:22:29 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 09:09 |