Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
pl:dydaktyka:ztb:2011:projekty:restauracje:logiczny:index [2011/06/06 13:50]
ztb2011
pl:dydaktyka:ztb:2011:projekty:restauracje:logiczny:index [2019/06/27 15:50] (aktualna)
Linia 87: Linia 87:
 W tym punkcie należy sprawdzić czy nasza baza jest w trzeciej postaci normalnej (3NF). Pierwszym krokiem jest sprawdzenie drugiej postaci normalnej (2NF) a następnie czy wszystkie atrybuty niekluczowe są zależne tylko od parametrów kluczowych. W tym punkcie należy sprawdzić czy nasza baza jest w trzeciej postaci normalnej (3NF). Pierwszym krokiem jest sprawdzenie drugiej postaci normalnej (2NF) a następnie czy wszystkie atrybuty niekluczowe są zależne tylko od parametrów kluczowych.
  
-== Druga postać normalna ​===+== Sprawdzenie 2NF ===
  
 Specyfika pracy z Django sprawia, że uzyskane tabele składają się tylko z kluczy prostych, z tego powodu baza napewno jest w drugiej postaci normalnej. Specyfika pracy z Django sprawia, że uzyskane tabele składają się tylko z kluczy prostych, z tego powodu baza napewno jest w drugiej postaci normalnej.
  
  
-== Brak zależności pomiędzy atrybutami niekluczowymi ==+== Sprawdzenie ​zależności pomiędzy atrybutami niekluczowymi ==
  
   * **auth_user** - informacje o użytkowniku systemu   * **auth_user** - informacje o użytkowniku systemu
Linia 118: Linia 118:
     * phone      * phone 
 Wszystkie pola zależne od klucza głównego Wszystkie pola zależne od klucza głównego
- +
   * **accounts_userprofile** - informacje o profilu użytkownika   * **accounts_userprofile** - informacje o profilu użytkownika
     * id PRIMARY KEY     * id PRIMARY KEY
Linia 133: Linia 133:
     * dish_id - FOREIGN KEY     * dish_id - FOREIGN KEY
 Parametry niekluczowe (user_comment,​ ratio) zależne od klucza głównego. Parametry niekluczowe (user_comment,​ ratio) zależne od klucza głównego.
-  + 
-  * **accounts_basket** -  koszyki zleceń+  * **accounts_basket** - koszyki zleceń
     * id - PRIMARY KEY,     * id - PRIMARY KEY,
     * user_id - FOREIGN KEY     * user_id - FOREIGN KEY
Linia 160: Linia 160:
     * id -  PRIMARY KEY,     * id -  PRIMARY KEY,
     * name - zależne od klucza     * name - zależne od klucza
 +
  
   * **restaurants_description** - informacje o restauracjach   * **restaurants_description** - informacje o restauracjach
Linia 175: Linia 176:
     * order_id - FOREIGN KEY     * order_id - FOREIGN KEY
  
-  * restaurants_order - tabela z zamówieniami+  ​* **restaurants_order** - tabela z zamówieniami
     * id -  PRIMARY KEY,     * id -  PRIMARY KEY,
     * state      * state 
Linia 182: Linia 183:
 Oba atrybuty state oraz order_date są specyficzne dla zamówienia,​ dlatego są zależne od klucza. Oba atrybuty state oraz order_date są specyficzne dla zamówienia,​ dlatego są zależne od klucza.
  
 +== Wynik ==
 +Na postawie tej analizy wynika, że są spełnione oba założenia zatem możemy stwierdzić,​ że nasza bazie __**jest w trzeciej postaci normalnej**__ (3NF).
 +====-. Operacje na danych====
  
-Na postawie tej analizy możemy stwierdzićże nasza bazie __jest w trzeciej postaci normalnej__ (3NF) i __spełnia__ założenia projektowe+==Pobranie listy restauracji== 
 +<​code>​SELECT "​restaurants_restaurant"​."​id"​"​restaurants_restaurant"​."​user_id",​ "​restaurants_restaurant"​."​is_promo",​ "​restaurants_restaurant"​."​activation_key",​ "​restaurants_restaurant"​."​contact_data_id",​ "​restaurants_restaurant"​."​description_id"​ FROM "​restaurants_restaurant"</​code>​
  
-====-. ​Operacje ​na danych====+==Rejestracja użytkownika== 
 +  * User  
 + 
 +<​code>​NSERT INTO "​auth_user"​ ("​username",​ "​first_name",​ "​last_name",​ "​email",​ "​password",​ "​is_staff",​ "​is_active",​ "​is_superuser",​ "​last_login",​ "​date_joined"​) VALUES (restauracja,​ , , restauracja@gmail.com,​ sha1$2cde6$02b068ba3bf0bdb0b40878d357c879bd4c716c47,​ False, True, False, 2011-06-16 02:00:20.516032, 2011-06-16 02:​00:​20.516032)</​code>​ 
 +  * ContactData  
 + 
 + 
 +<​code>​INSERT INTO "​accounts_contactdata"​ ("​city",​ "​street",​ "​flat_number",​ "​pna",​ "​phone",​ "​lat",​ "​lng"​) VALUES (city, street, flat_number,​ zip, phone_number,​ None, None)</​code>​ 
 +  * UserProfile  
 + 
 + 
 +<​code>​INSERT INTO "​accounts_userprofile"​ ("​user_id",​ "​contact_data_id",​ "​activation_key"​) VALUES (2, 1, a1d96ad94e96abc3247c41c888fbf7bc4c7a9770)</​code>​ 
 + 
 +==Rejestracja restauracji== 
 +  * User  
 + 
 +<​code>​INSERT INTO "​auth_user"​ ("​username",​ "​first_name",​ "​last_name",​ "​email",​ "​password",​ "​is_staff",​ "​is_active",​ "​is_superuser",​ "​last_login",​ "​date_joined"​) VALUES (user, , , user@gmail.com,​ sha1$d3c29$db8cca0d71b4a26d5a2a5ee01db6f13a3161f090,​ False, True, False, 2011-06-16 01:​51:​41.714921,​ 2011-06-16 01:​51:​41.714921)</​code>​ 
 +  * ContactData  
 + 
 + 
 +<​code>​INSERT INTO "​accounts_contactdata"​ ("​city",​ "​street",​ "​flat_number",​ "​pna",​ "​phone",​ "​lat",​ "​lng"​) VALUES (krakow, lea, 5, zip, tel, 50.0694749, 19.9237717)</​code>​ 
 +  * Description 
 + 
 +<​code>​INSERT INTO "​restaurants_description"​ ("​name",​ "​description",​ "​img"​) VALUES (Nazwa, Opis, )</​code>​ 
 + 
 +  * Restaurant  
 + 
 + 
 +<​code>​INSERT INTO "​restaurants_restaurant"​ ("​user_id",​ "​is_promo",​ "​activation_key",​ "​contact_data_id",​ "​description_id"​) VALUES (4, False, 1e7628f58f2ef403653e42fbd9ed2a4891fa5907,​ 2, 2)</​code>​ 
 +  * Category 
 + 
 +<​code>​INSERT INTO "​restaurants_category"​ ("​name",​ "​restaurant_id"​) VALUES (Dania z kurczaka, 1)</​code>​ 
 + 
 + 
 +<​code>​INSERT INTO "​restaurants_category"​ ("​name",​ "​restaurant_id"​) VALUES (Dania z wieprzowiny,​ 1)</​code>​ 
 + 
 + 
 +<​code>​INSERT INTO "​restaurants_category"​ ("​name",​ "​restaurant_id"​) VALUES (Napoje, 1)</​code>​ 
 + 
 +==Logowanie== 
 +<​code>​SELECT "​auth_user"​."​id",​ "​auth_user"​."​username",​ "​auth_user"​."​first_name",​ "​auth_user"​."​last_name",​ "​auth_user"​."​email",​ "​auth_user"​."​password",​ "​auth_user"​."​is_staff",​ "​auth_user"​."​is_active",​ "​auth_user"​."​is_superuser",​ "​auth_user"​."​last_login",​ "​auth_user"​."​date_joined"​ FROM "​auth_user"​ WHERE "​auth_user"​."​username"​ = restauracja</​code>​ 
 + 
 + 
 +<​code>​SELECT "​django_session"​."​session_key",​ "​django_session"​."​session_data",​ "​django_session"​."​expire_date"​ FROM "​django_session"​ WHERE ("​django_session"​."​session_key"​ = 897afbf7b884bf9afd90aaaa214f321f AND "​django_session"​."​expire_date"​ > 2011-06-16 02:​06:​12.307045 )</​code>​ 
 + 
 + 
 +<​code>​SELECT "​django_session"​."​session_key",​ "​django_session"​."​session_data",​ "​django_session"​."​expire_date"​ FROM "​django_session"​ WHERE "​django_session"​."​session_key"​ = 35d4742a49267bfae806fd8f55b210bf</​code>​ 
 + 
 + 
 +<​code>​INSERT INTO "​django_session"​ ("​session_key",​ "​session_data",​ "​expire_date"​) VALUES (35d4742a49267bfae806fd8f55b210bf,​ ZjEwOTM1YzhhMjFhNzVmNWY3ZjlmNzViNTIyNGRlY2JmNzk0ZmE0YTqAAn1xAS4= , 2011-06-30 02:​06:​12.341886)</​code>​ 
 + 
 +==Dodawanie potrawy do menu restauracji== 
 + 
 +<​code>​SELECT "​restaurants_restaurant"​."​id",​ "​restaurants_restaurant"​."​user_id",​ "​restaurants_restaurant"​."​is_promo",​ "​restaurants_restaurant"​."​activation_key",​ "​restaurants_restaurant"​."​contact_data_id",​ "​restaurants_restaurant"​."​description_id"​ FROM "​restaurants_restaurant"​ WHERE "​restaurants_restaurant"​."​user_id"​ = 4</​code>​ 
 + 
 + 
 +<​code>​SELECT "​restaurants_category"​."​id",​ "​restaurants_category"​."​name",​ "​restaurants_category"​."​restaurant_id"​ FROM "​restaurants_category"​ WHERE "​restaurants_category"​."​name"​ = Dania z kurczaka</​code>​ 
 + 
 + 
 +<​code>​INSERT INTO "​restaurants_dish"​ ("​name",​ "​description",​ "​price",​ "​category_id",​ "​restaurant_id"​) VALUES (Kurczak ​na ostro, kurczak w ostrym sosie, ryż, surówka, 22, 1, 1)</​code>​ 
 + 
 +==Pobieranie menu restauracji== 
 + 
 +<​code>​SELECT "​restaurants_dish"​."​id",​ "​restaurants_dish"​."​name",​ "​restaurants_dish"​."​description",​ "​restaurants_dish"​."​price",​ "​restaurants_dish"​."​category_id",​ "​restaurants_dish"​."​restaurant_id"​ FROM "​restaurants_dish"​ WHERE "​restaurants_dish"​."​restaurant_id"​ = 1</​code>​ 
 + 
 +==Pobieranie komentarzy o restauracji== 
 + 
 +<​code>​SELECT "​accounts_comment"​."​id",​ "​accounts_comment"​."​user_comment",​ "​accounts_comment"​."​ratio",​ "​accounts_comment"​."​user_id",​ "​accounts_comment"​."​restaurant_id",​ "​accounts_comment"​."​dish_id"​ FROM "​accounts_comment"​ WHERE "​accounts_comment"​."​restaurant_id"​ = 1</​code>​ 
 + 
 +==Pobieranie komentarzy o potrawie== 
 + 
 +<​code>​SELECT "​accounts_comment"​."​id",​ "​accounts_comment"​."​user_comment",​ "​accounts_comment"​."​ratio",​ "​accounts_comment"​."​user_id",​ "​accounts_comment"​."​restaurant_id",​ "​accounts_comment"​."​dish_id"​ FROM "​accounts_comment"​ WHERE "​accounts_comment"​."​dish_id"​ = 1</​code>​ 
 + 
 +==Pobieranie koszyka niezalogowanego użytkownika== 
 + 
 +<​code>​SELECT "​accounts_basket"​."​id",​ "​accounts_basket"​."​user_id",​ "​accounts_basket"​."​session"​ FROM "​accounts_basket"​ WHERE "​accounts_basket"​."​session"​ = b015e7e807f1d0474a870df8cafe570b</​code>​ 
 + 
 +==Dodawanie potrawy do koszyka oraz do zamówień restauracji== 
 + 
 +<​code>​SELECT "​accounts_basket"​."​id",​ "​accounts_basket"​."​user_id",​ "​accounts_basket"​."​session"​ FROM "​accounts_basket"​ WHERE "​accounts_basket"​."​session"​ = e8974ec8edc1b95284a6bc351f949f3b</​code>​ 
 + 
 + 
 +<​code>​INSERT INTO "​accounts_basket"​ ("​user_id",​ "​session"​) VALUES (None, e8974ec8edc1b95284a6bc351f949f3b)</​code>​ 
 + 
 + 
 +<​code>​INSERT INTO "​restaurants_orderingdish"​ ("​count",​ "​dish_id",​ "​basket_id",​ "​order_id"​) VALUES (1, 3, 1, None)</​code>​ 
 + 
 + 
 +==Zamawianie potrawy== 
 + 
 +<​code>​SELECT "​accounts_basket"​."​id",​ "​accounts_basket"​."​user_id",​ "​accounts_basket"​."​session"​ FROM "​accounts_basket"​ WHERE "​accounts_basket"​."​session"​ = e8974ec8edc1b95284a6bc351f949f3b</​code>​ 
 + 
 + 
 +<​code>​INSERT INTO "​accounts_contactdata"​ ("​city",​ "​street",​ "​flat_number",​ "​pna",​ "​phone",​ "​lat",​ "​lng"​) VALUES (Krakow, Lea, 100/5, 32-300, 600600600, None, None)</​code>​ 
 + 
 + 
 +<​code>​INSERT INTO "​restaurants_order"​ ("​state",​ "​order_date",​ "​contact_data_id",​ "​restaurant_id"​) VALUES (0, 2011-06-16, 3, 1)</​code>​ 
 + 
 + 
 +<​code>​SELECT "​restaurants_orderingdish"​."​id",​ "​restaurants_orderingdish"​."​count",​ "​restaurants_orderingdish"​."​dish_id",​ "​restaurants_orderingdish"​."​basket_id",​ "​restaurants_orderingdish"​."​order_id"​ FROM "​restaurants_orderingdish"​ WHERE "​restaurants_orderingdish"​."​basket_id"​ = 1</​code>​ 
 + 
 + 
 +<​code>​UPDATE "​restaurants_orderingdish"​ SET "​count"​ = 1, "​dish_id"​ = 3, "​basket_id"​ = NULL, "​order_id"​ = 1 WHERE "​restaurants_orderingdish"​."​id"​ = 1</​code>​ 
 + 
 +==Dodawania komentarza o restauracji i potrawie== 
 + 
 +<​code>​INSERT INTO "​accounts_comment"​ ("​user_comment",​ "​ratio",​ "​user_id",​ "​restaurant_id",​ "​dish_id"​) VALUES (Dobry, 5, None, None, 3)</​code>​ 
 + 
 + 
 +<​code>​INSERT INTO "​accounts_comment"​ ("​user_comment",​ "​ratio",​ "​user_id",​ "​restaurant_id",​ "​dish_id"​) VALUES (Super, 6, None, 1, None)</​code>​ 
 + 
 +==Przyjęcie zamówienia do realizacji== 
 + 
 +<​code>​SELECT "​restaurants_restaurant"​."​id",​ "​restaurants_restaurant"​."​user_id",​ "​restaurants_restaurant"​."​is_promo",​ "​restaurants_restaurant"​."​activation_key",​ "​restaurants_restaurant"​."​contact_data_id",​ "​restaurants_restaurant"​."​description_id"​ FROM "​restaurants_restaurant"​ WHERE "​restaurants_restaurant"​."​user_id"​ = 4</​code>​ 
 + 
 + 
 +<​code>​SELECT "​restaurants_order"​."​id",​ "​restaurants_order"​."​state",​ "​restaurants_order"​."​order_date",​ "​restaurants_order"​."​contact_data_id",​ "​restaurants_order"​."​restaurant_id"​ FROM "​restaurants_order"​ WHERE "​restaurants_order"​."​id"​ = 1</​code>​ 
 + 
 + 
 +<code sql>​UPDATE "​restaurants_order"​ SET "​state"​ = 1, "​order_date"​ = 2011-06-16, "​contact_data_id"​ = 3, "​restaurant_id"​ = 1 WHERE "​restaurants_order"​."​id"​ = 1</​code>​
pl/dydaktyka/ztb/2011/projekty/restauracje/logiczny/index.1307361037.txt.gz · ostatnio zmienione: 2019/06/27 15:57 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0