Jak stworzyć bazę relacyjną?

Odpowiedz Nowy wątek
2018-11-25 11:39
0

Mam do zaprojektowania bazę relacyjną na dowolny temat. Wybrałam bazę dla hurtowni herbaty i zrobiłam wstępny zarys jak ma wyglądać ta baza i jakie relacje występują pomiędzy poszczególnymi tabelami. I moje pytanie dotyczy tego, czy taka baza relacyjna może być i czy odpowiednio zapisałam te relacje?

Raz jeszcze: relacja jest synonimem słowa tabela (https://pl.wikipedia.org/wiki/Model_relacyjny). Połączenie dwóch tabel to złączenie. - Patryk27 2018-11-25 12:28
czyli jednak da się coś wyskrobać samemu... - abrakadaber 2018-11-26 00:10
@Patryk27, nie mieszaj dziewczynie w głowie :), słowo relacja nie jest synonimem słowa tabela, piszę to jako praktyk, mówimy "dwie tabele są w relacji" albo "relacja pomiędzy dwoma tabelami jest taka a taka" albo pytamy "Jaka tu jest relacja pomiędzy tabelami ?" - goJavaGo 2018-11-26 00:19
to że słowo relacja ma wiele znaczeń potocznych to inna sprawa - Miang 2018-11-26 00:32
@goJavaGo: słowo relacja fachowo jest synonimem słowa tabela, na co przytoczyłem argument (link do artykułu Model relacyjny). Uczenie fachowego, poprawnego słownictwa nie powinno być IMO wrzucane do kategorii mieszanie w głowie. - Patryk27 2018-11-26 06:52

Pozostało 580 znaków

2018-11-25 12:29
2

Zrób zdjęcie w lepszej jakości lub - lepiej - nie marnuj papieru i przygotuj diagram na komputerze (https://www.draw.io/), ponieważ z aktualnej wersji niewiele da się odczytać.


edytowany 2x, ostatnio: Patryk27, 2018-11-25 12:29

Pozostało 580 znaków

2018-11-26 00:16
0

Dobrze to wygląda.
Brakuje Ci jeszcze oznaczeń PK (klucze główne) oraz FK (kluczy obcych).
Przydałoby się jeszcze oznaczenie typu relacji, wszystkie Twoje relacje są relacjami typu wiele do jeden (może oprócz relacji pomiędzy tabelami RABAT i SPRZEDAŻ oraz PŁATNOŚĆ i SPRZEDAŻ, one są chyba 1:1 ?).
Moim zdaniem cena powinna być w tabeli PRODUKT.
Ponadto nazwy kolumn powinny sobie odpowiadać tzn. jeżeli id produktu w tabeli PRODUKT, to również id produktu w tabeli SPRZEDAŻ.
Po tych poprawkach i zrobieniu tego w xml na stronce, którą podlinkował kolega wyżej dostaniesz piątkę :)

Może ktoś jeszcze coś, bo dawno tego na schematach nie robiłem...

edytowany 1x, ostatnio: goJavaGo, 2018-11-26 00:22

Pozostało 580 znaków

2018-11-26 05:47
cw
0

Nigdzie nie ma daty przydatności do spożycia, a to jest podstawą przy produktach spożywczych. Ogólnie obwiązuje zasada FIFO - first input first output, co pierwsze wchodzi do magazynu (co ma najkrótszą datę spożycia) to pierwsze wychodzi z magazynu.

Pozostało 580 znaków

2018-11-26 08:56
2

Podstawowym błędem jest brak tabeli transakcja, dokument, faktura itp (jak zwał tak zwał). To co masz w swojej tabeli sprzedaz, to jest pomieszanie z poplątaniem. Część tych informacji powinna być właśnie w tabeli faktura, a część w tabeli pozycje_faktury.
i tak w nagłówku dokumentu powinny być takie informacje jak:

  • numer dokumentu
  • data dokumentu
  • data sprzedaży
  • id klienta
  • rabat (od całości)
  • rodzaj płatności (ew rodzaje, jeśli dopuszczasz np albo kilka walut, albo np. możliwość płatności punktami)
    w pozycjach powinno być:
  • id produktu
  • ilość
  • rabat (od pozycji)
  • cena jednostkowa
  • stawka vat
  • ew. inne np. numery seryjne

Jeszcze może być dodatkowa tabela np. z podsumowaniem dokumentu:

  • vat rozbity na stawki
  • vat ogółem
  • koszt dostawy
    itp

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