Ta seria samouczka następuje po fabule, która jest następująca: ojciec właśnie umarł i zostawił trochę pieniędzy dla swojego syna. Syn postanowił zainwestować pieniądze w sklep wygody. Sklep jest już zaopatrzony, a sprzedaż klientom już się zaczęła.
Na początku branży zarówno syn, który jest właścicielem, jak i jego pracownicy, zwani Clerks w tej serii samouczków, nie wiedział nic o normalnych formach.
Ty, czytelnik, zakończyłeś tę pięć normalnych serii samouczków formularzy, a także jesteś programistą bazy danych. Właścicielem jest twój przyjaciel. Odwiedziłeś sklep cztery razy, raz dziennie, w ciągu ostatnich czterech dni. W ciągu pierwszych trzech dni uczyłeś zarówno właściciela, jak i jego pracowników o 1NF, 2NF i 3NF.
Wczoraj odwiedziłeś tylko właściciela w jego biurze i wyszkoliłeś go na BCNF, 4NF i 5NF. Dzisiaj odwiedziłeś tylko właściciela, aby poprawić tabelę produktów, przedstawić wszystkie tabele i wyjaśnić, jak obliczyć zysk lub stratę.
Najpierw podsumowujesz zasady dla wszystkich normalnych form.
Zasady normalnej formy
Teoretycznie można stworzyć tabelę i okazuje się być w piątej normalnej formie, ponieważ każda normalna forma ma zasady, które nie powinny być naruszone w przeciwieństwie do zasad, które należy wdrożyć. Jednak tabela jest sprawdzana od pierwszego, drugiego, trzeciego, Boyce Codd, czwarta i do piątych normalnych form.
Tabela jest w 1NF, jeśli żadna z poniższych zasad nie jest naruszona:
Tabela jest w 2nf, jeśli żadna z poniższych zasad nie jest naruszona:
Tabela jest w 3NF, jeśli żadna z poniższych zasad nie jest naruszona:
Tabela jest w BCNF, jeśli żadna z poniższych zasad nie jest naruszona:
Tabela jest w 4NF, jeśli żadna z poniższych zasad nie jest naruszona:
Tabela jest w 5nf, jeśli żadna z poniższych zasad nie jest naruszona:
Na dowolnym etapie, jeśli tabela nie jest zgodna z formą normalną, tabela jest podzielona w celu dostosowania.
Stoły
Tabela produktów
Tabela produktów, którą dotarliśmy do tej pory, to:
Produkty (ProductID, CategoryID, SuppierId, ProductName, UnitPrice, IllityInstock, ReorderLevel)CategoryID i dostawca to klucze zagraniczne, które są odpowiednio takie same jak główne klucze tabeli kategorii i tabeli dostawców.
Ta tabela jest w 5nf, jeśli wartość jednostkowa i ilość. Nawet dostawca określonego produktu może się zmienić. Jednak dla uproszczenia zmiana dostawcy nie zostanie rozwiązana w tym samouczku. Cena jednostkowa dla każdego produktu zmienia się w czasie, choć powoli. W tej chwili cena jednostkowa dla wielu produktów na całym świecie wzrosła z powodu wojny Rosji-Ukraila. Ponieważ klienci indywidualne kupują w sklepie, zmienia się ilość w akcjach (ogranicza się najpierw przed uzupełnieniem). Ilość konkretnego produktu w magazynie jest sumą tego, co jest na półce i co jest w sklepie (kopia zapasowa). Dla uproszczenia ta separacja nie jest dokonana w tej serii samouczków.
Z tymi zmieniającymi się kolumnami ta tabela jest teraz w 1NF. Tabela musi zostać podzielona na dwie.
Stoły dla dzieci stają się:
Produkty (produktId, CategoryID, SuppierId, ProductName, ReorderLevel)I
ProductStates (UnitPrice, IllityInstock)Nowa tabela nazywa się Stanami Produktu. Potrzebuje własnego identyfikatora, a także identyfikatora produktu. Tabela powinna być:
ProductStates (ProductStateID, ProductID, data, jednostka, ilośćProductStateID jest automatycznie zbliżony, zaczynając od 1. Kolumna daty dodaje się, aby wskazać, kiedy nastąpiła zmiana. Kluczem podstawowym tabeli ProductStates jest klucz złożony składający się z produktStateID i produktdID. Dwie tabele są połączone przez kolumnę ProductID. Tabela ProductStates jest w 2NF, ponieważ nie ma częściowej zależności. W każdym z jego wierszy albo wartości daty, wartości jednostkowej lub ilościowe określają oba klucze. W rzeczywistości oba tabele są teraz w 5NF, ponieważ żadne z nich nie narusza żadnej z zasad normalnej formy.
Jeśli dwa poprzednie tabele nie są przechowywane w komputerze z kopią zapasową, powinny być przechowywane w księdze. Pierwsza połowa księgi może mieć tabelę produktów, a druga połowa może mieć tabelę ProductStates. Tabela ProductStates rośnie z czasem.
Do prawego końca tabeli produktów można dodać zaprzestaną kolumnę typu boolowskiego, aby wskazać, czy produkt został przerwany; to znaczy sklep nie zajmuje się tym konkretnym produktem.
Tabele produktów i reszta tabel w bazie danych znajdują się teraz w piątej normalnej formie.
Tabela dostawców
Notacja tabeli dla tabeli dostawców to:
Dostawcy (dostawca, nazwa, telefon, adres, miasto, region, kod pocztowy, kraj)Jeśli ta tabela nie jest przechowywana w komputerze z kopią zapasową, powinna być przechowywana w księdze. Można dodać kolumnę daty, aby wskazać pierwszy dzień, w którym dostawca zaręczył. Można również dodać zaprzestaną kolumnę.
Tabela klientów
Notacja tabeli dla tabeli klientów to:
Klienci (CustomerId, CustomerName, telefon, adres, miasto, region, kod pocztowy, kraj)Jeśli ta tabela nie jest przechowywana w komputerze z kopią zapasową, powinna być przechowywana w księdze. Można dodać kolumnę z datą, aby wskazać pierwszy dzień, w którym klient zaręczył się ze sklepem wygodnym.
Jeden klient może być dla przechodniów: ludzie, którzy odwiedzili miasto i przebywają w hotelach, wakacyjnych, turystach itp.
Sprzedawanie stolików
Trzy stoły sprzedaży to:
Sprzedaż (SaleId, datesold, CustomerId, EmployeEID)Kolumna pożyczkowa typu boolean jest wprowadzana w tabeli Saledetails, na wypadek, gdyby można zaufać klientowi. Tylko właściciel powinien zezwolić na pożyczki. W tabeli Dowód kategorii dodaje się kolumna kosztu transportu do i FRO dla dostawy.
Jeśli te tabele nie są przechowywane w komputerze z kopią zapasową, powinny być przechowywane w księdze zwanej księgą sprzedaży. Lewa połowa księgi może być używana do tabel sprzedaży i Saledetails (patrz poniżej). Prawa połowa księgi może być używana do tabeli dostawy kategorii.
Gdyby tabele są przechowywane w księdze, stół Saledetails byłby:
SaleDetails (SaleId, produktId, jednostki, ilość, pożyczki, rabat, totalsold, totallent)Z kolumnami Totalsold i Totallent dodanych. Te kolumny powinny być wypełnione codziennie pod koniec dnia lub co tydzień pod koniec tygodnia przez ciebie, właściciel.
Jeśli tabele są przechowywane w komputerze z kopią zapasową, oprogramowanie bazy danych (program) obliczy sumy.
Rzędy Saledetails odpowiadające rządowi sprzedaży są zwykle więcej niż jeden. Tak więc dla lewej połowy księgi sprzedaży lewa strona otwartej księgi ma dane sprzedaży, a właściwa strona ma dane dotyczące sprzedaży, w następujący sposób:
Tabela sprzedaży/saledetails
Jeśli klient przyszedł i zapłacił za niektóre produkty i pożyczył inne, powinny to być dwa saledetails. total_sold = u.S.P x Ilość. Podobne obliczenia odbywa się dla total_lent. Wielkie sumy dla Totasold i ogółem, dla dolnej części stołu można obliczyć pod koniec dnia lub pod koniec tygodnia lub końca miesiąca, w zależności od częstotliwości sprzedaży. Wszystkie sumy powinny być obliczane przez Ciebie, właściciela, który pełni funkcję menedżera.
Zamawia tabele
Tabele zamówień to:
Zamówienia (OrderId, datesold, dostawca, pracownik)Jeśli te tabele nie są przechowywane w komputerze z kopią zapasową, powinny być przechowywane w księdze zwanej księgą zakupu. W takim przypadku tabela OrderDetails powinna być:
OrderDetails (OrderId, ProductID, UnitCostPrice, ilość, pożyczka, rabat, ogółboga, całkowita zabura)Jeśli sklep zapłacił za niektóre zamówienia i pożyczył niektóre, powinny to być dwa Orderdetails.
Tutaj nie ma odpowiedniej tabeli dostawy. Zapisy dotyczące zamówień i zamówień powinny być dokonywane w księdze zakupu w podobny sposób, że sprzedaż i saledetails są dokonywane w księdze sprzedaży.
Wszystkie tabele w 5NF
Rachunek zysków i strat
Wyciąg zysków i strat to sprawozdanie finansowe, które pokazuje dochody i wydatki firmy. Pokazuje również, czy firma zarabia zysk, czy strata przez dany okres. Wyciąg zysków i strat jest składany co miesiąc lub kwartalnie. Kwartalnik oznacza co trzy miesiące: marzec, czerwiec, wrzesień, grudzień. To stwierdzenie powinno być przechowywane we własnej księdze.
Główne elementy zysku i strat
Te elementy są tutaj opisane w odniesieniu do sklepu wygody.
Przychód
Inną nazwą przychodów jest sprzedaż. To jest pierwsza sekcja wyciągu zysków i strat. Jest to kwota wszystkich, co zostało sprzedane w tym okresie (Grand Total for Totalsold kolumna).
Koszt sprzedawanych produktów
Powinna to być druga sekcja wyciągu zysków i strat. Jest to koszt wszystkich produktów sprzedawanych w tym okresie (Grand Total for Total Kolumna).
Zysk brutto
To jest:
Zysk brutto = przychód - Cost_of_productsna okres.
Zyski
Jeśli sprzedany jest nieużywany pojazd, to jest zysk (patrz amortyzacja na następującej ilustracji). Zysk z zysku nieprzewidzianej umowy, zamawiając i dostarczając partii napoje i herbatniki. Działalność biznesowa takiej umowy nie jest rejestrowana w poprzednich księgach.
Wydatki
Komisja, którą podajesz pracownikowi za sprzedaż więcej, jest przykładem wydatków. Wkład emerytalny dla pracownika jest przykładem kosztów. Długi, które klienci są winni, możesz tu pójść. Długi, które jesteś winien dostawcom, mogą również iść tutaj.
Wydatki reklamowe
Pieniądze opłacone za reklamowanie sklepu wygody lokalne stacje radiowe i telewizyjne, media społecznościowe itp.
Koszty administracyjne
Czynsze dla apartamentu sklepowego, pensje personelu, w tym twoje, właściciel (kierownik), dostawy biurowe (komputery, telefony, księgi, długopisy itp.), Transport dostawy i inne koszty podróży itp.
Deprecjacja
Komputer można kupić, kupiono półkę, kupiono stół itp. Amortyzacja oznacza, że podzielisz koszt każdego z takich urządzeń w ciągu życia sprzętu (aż do tego, że nie będziesz już potrzebować aktywów).
Przegrywać
Ustalenie pozwu klienta jest przykładem utraty.
Zarabianie przed opodatkowaniem
Zarysowania_bore_taxes = all_incomes - all_expensePodatki
Wszelkie podatki zapłacone w tym okresie.
Dochód netto
Net_income = (przychody + zyski) - (wydatki + straty)Aby rozwinąć działalność, oszczędności powinny pochodzić stąd.
Przykład wyciągu zysków i strat
Dochód netto w tej hipotetycznej tabeli wynosi 1000 USD, co jest bardzo dobre!
Wniosek
Minimalna liczba tabel z minimalną liczbą kolumn w 5NF podano w przykładzie dla sklepu wygodnego. Jak określić również zysk lub stratę.
Ty, deweloper bazy danych mówi: „Doszliśmy do końca programu szkoleniowego. Oboje mamy 30 lat. Nadal mamy przed sobą nasze życie (dorosły). Podczas wakacji trenowałem ciebie i twoich facetów. Oszczędzam pieniądze na założenie własnej firmy oprogramowania za około dziesięć lat. Mogę również instalacja i tworzenie sieci komputerów."
Właściciel, syn zmarłego człowieka, reaguje: „Boże, chęć, skomputeryzuję mój biznes za sześć miesięcy. Jeśli zysk w wysokości 1000 USD miesięcznie będzie kontynuowany po usunięciu wynagrodzenia, będę oszczędzał. Za maksymalnie dziesięć miesięcy będę mieć supermarket w centrum komercyjnym. Mam nadzieję, że za około sześć miesięcy dam ci umowę na zakup i zainstalowanie komputerów, umieszczenie sieci i programowanie."
Właściciel kontynuuje: „Znasz mnie. Zarezerwowałem niektóre pieniądze, które mój ojciec zostawił mi, aby skomputeryzować sklep. Teraz Brytyjczycy mówią: „Praca bez gry sprawia, że Jack jest nudnym chłopcem”. Więc zarezerwowałem również trochę pieniędzy na rozrywkę. W ten sobotni wieczór zapraszam cię do najdroższej restauracji w mieście, aby zjeść najdroższe jedzenie i pić najdroższy napój, aby uczcić naszą przyjaźń i nasze obecne osiągnięcia (trening)."
Wieczorem idą do restauracji. Po odejściu zrobili piątkę, aby komunikować się za pośrednictwem wiadomości e-mail.