Tabela kategorii produktów

 

Dzisiaj krótka notka o przygotowaniu do podjęcia kolejnego zagadnienia, jakim będzie utworzenie menu. W swojej aplikacji chciałbym mieć możliwość przeglądania produktów dodanych do bazy pod kątem ich przynależności do wybranej kategorii żywieniowej. Menu będzie generowane na podstawie zawartości odpowiedniej tabeli, która rzecz jasna w razie potrzeby może ulec zmianie. Stąd konieczność utworzenia najpierw stosownej tabeli.

Do utworzenia kategorii dla produktów korzystam w dużej mierze z Piramidy Zdrowego Żywienia. Ponadto uzupełniona zostanie ona o wybrane przeze mnie kategorie, które mają na celu usprawnienia procesu przeglądania produktów. Przy pierwszym podejściu proponuje zatem następujące kategorie:

  • Produkty zbożowe
  • Warzywa i owoce
  • Przetwory mleczne
  • Mięso
  • Napoje
  • Słodycze
  • Inne

Co do wyglądu samej tabeli nie ma się zbytnio co rozpisywać, bowiem prostsza chyba nie może być:

USE ShoppingAppDb;
GO

IF OBJECT_ID('dbo.ProductsCategories') IS NOT NULL
    DROP TABLE dbo.ProductsCategories;
   
CREATE TABLE dbo.ProductsCategories
(
    ProductsCategories_ID tinyint IDENTITY(1, 1) not null,
    Name varchar(30) not null,
);
W przypadku, gdy tabeli już istnieje jest ona usuwana i tworzona nowa, która składa się z dwóch kolumn. Pierwsza zawiera unikatowy identyfikator kategorii, który automatycznie ulega inkrementacji po uzupełnieniu danymi. Typ tinyint pozwala na przechowanie do 255 kategorii (zawsze należy w miarę możliwości wybierać najmniejszy typ). Druga zawiera nazwę kategorii, która w dodatku nie może być pusta, gdyż nie miałoby sensu przynależenie do nieznanej kategorii.
 

W kolumnie z identyfikatorem założony został klucz główny, który pozwala na jednoznaczne zidentyfikowanie kategorii:

-- Add primary key
ALTER TABLE dbo.ProductsCategories
ADD CONSTRAINT PK_ProductsCategories PRIMARY KEY(ProductsCategories_ID);
Kolumna z nazwą musi mieć natomiast atrybut unikalności, gdyż duplikowanie się kategorii nie jest pożądane:
 
-- Add unique to Name column
ALTER TABLE dbo.ProductsCategories
ADD CONSTRAINT UQ_Name UNIQUE (Name);
Tak utworzona i zmodyfikowana tabela została wypełniona wypunktowanymi na początku kategoriami, a jej zastosowanie będzie prześledzić w kolejnym poście, do którego przeczytania zachęcam, mam nadzieje, już jutro.
Reklamy

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Log Out / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Log Out / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Log Out / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Log Out / Zmień )

Connecting to %s

%d blogerów lubi to: