ASP.NET MVC v praxi od A do Z, 2. díl – Databáze
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama

ASP.NET MVC v praxi od A do Z, 2. díl – DatabázeASP.NET MVC v praxi od A do Z, 2. díl – Databáze

 

ASP.NET MVC v praxi od A do Z, 2. díl – Databáze

Google       Google       11. 8. 2009       19 068×

V tomto díle si připravíme databázi s párem tabulek, kterou bude naše aplikace hojně využívat.

Reklama
Reklama

V databázi budeme ukládat seznam naplánovaných večeří (v tabulce Dinners) a přihlášené hosty (v tabulce RSVP).

Začneme kliknutím pravého tlačítka na složku App_Data v projektu NerdDinner, zvolíme Add > New Item a z nabídky vybereme SQL Server Database, pojmenujeme ji NerdDinner.mdf. Všechny podobné věci se dávají právě do složky App_Data, protože se do ní nikdo jiný než aplikace nemůže dostat.

Vytvoření tabulek

Máme prázdnou databázi, takže teď si vytvoříme zmíněné dvě tabulky. Otevřeme si Server Explorer (Ctrl+W, L). Proklikáme se až k „adresáři“ Tables, na který klikneme pravým tlačítkem a zvolíme Add New Table. Podle následujícího obrázku nadefinujeme sloupce tabulky a sloupec DinnerID nastavíme jako primární pomocí označené ikonky klíče:

K tomu ještě sloupec DinnerID nastavíme jako tzv. „identity column“, to znamená, že se jeho hodnota bude při každém novém záznamu v tabulce inkrementovat o (například) jedničku. Uděláme to tak, že označíme sloupec DinnerID a v okýnku Column Properties najdeme položku Identity Specification, tu rozklikneme a položku „Is Identity“ nastavíme na Yes.

Nyní stiskneme Ctrl+S pro uložení tabulky a pojmenujeme ji Dinners.

Stejný postup použijeme i pro vytvoření tabulky RSVP. Sloupce budou tři (opět podle obrázku níže), sloupec RsvpID bude primární a identity.

Relace mezi tabulkami

Už máme v databázi dvě tabulky a dalším krokem bude nastavení tzv. „one to many“ relace. To nám umožní přiřadit jednu večeři více hostům (tedy jeden zápis v tabulce Dinners můžeme přiřadit nula nebo více zápisům v tabulce RSVP). Uděláme to tak, že sloupec DinnerID tabulky RSVP bude mít vazbu pomocí cizího klíče na sloupec DinnerID v tabulce Dinners.

Proto si otevřeme v Server Exploreru tabulku RSVP, zvolíme sloupec DinnerID, klikneme na něj pravým tlačítkem a zvolíme položku „Relationships“.

To zobrazí dialog, ve kterém můžeme nastavit relace:

Pro přidání relace klikneme na tlačítko Add v levém dolním rohu okna, po kliknutí se přidá relace pojmenovaná FK_RSVP_RSVP*. Rozbalíme větev Tables and Column Specification a klikneme na tlačítko vpravo (označené na obrázku).

V novém dialogu vidíme všechny tabulky a sloupce nějak zahrnuté v relaci, stejně jako jméno samotné relace. Primary Key Table nastavíme na „Dinners“ a sloupec DinnerID z tabulky Dinners nastavíme jako primární klíč. Jako cizí klíč nám poslouží sloupec RSVP.DinnerID. Potvrdíme tlačítkem OK.

Odteď bude každý řádek tabulky RSVP asociovaný s řádkem v tabulce Dinners. SQL server se postará o zaručení integrity dat za nás, tedy přesněji, zabrání nám přidat řádek do tabulky RSVP, pokud neodkazuje na platný řádek tabulky Dinners. Zároveň s tím nám zakáže smazat řádek z Dinners, pokud na něj odkazují nějaké řádky z RSVP.

Přidávání dat do databáze

Posledním krokem bude naplnění tabulky Dinners nějakými daty (večeřemi), abychom měli později s čím pracovat. Dělá se to tak, že klikneme v Server Exploreru na tabulku Dinners pravým tlačítkem a zvolíme Show Table Data a můžeme přidávat řádky. Bohatě bude stačit čtyři pět večeří, inspirovat se můžete na obrázku níže.

To je zase pro jednou vše, v dalším díle náš čeká sestavení modelu a pohrajeme si i s LINQ to SQL.

Zdroj: http://nerddinnerbook.s3.amazonaws.com/Part2.htm

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

Hlasování bylo ukončeno    
0 hlasů
Google
(fotka) Jakub KottnauerJakub studuje informatiku na FIT ČVUT, jeho oblíbenou platformou je .NET.
Web     Twitter     Facebook     LinkedIn    

Nové články

Obrázek ke článku NVIDIA shrnuje přehled novinek na E3 2018

NVIDIA shrnuje přehled novinek na E3 2018

Společnost NVIDIA si u příležitosti E3 2018 připravila řadu novinek, které uvádí v kompletním přehledu, Například nové hry s podporou NVIDIA Highlights, která je součástí aplikace GeForce Experience, i nadále nabírá na obrátkách. Kromě výše zmíněné Shadow of the Tomb Raider získaly podporu také hry Dirty Bomb a Switchblade.

Reklama
Reklama
Obrázek ke článku SODAT vidí budoucnost datové bezpečnosti ve strojovém učení

SODAT vidí budoucnost datové bezpečnosti ve strojovém učení

Firmy chrání svá citlivá data často nedostatečně. Podle průzkumu společnosti SODAT se v minulém roce setkalo až 80 % z nich s bezpečnostním incidentem ztráty nebo úniku dat. Jedna z pilotních firem, která testovala novou verzi řešení SODAT Protection & Analytics 2.0pro bezpečností analýzu a monitoring dat díky novince zjistila, kdo z disku smazal důležité výkresy a mohla na incident včas reagovat.

Obrázek ke článku Kontrolujete pracovní emaily i na dovolené? 7 tipů odborníka, jak nepřijít o data

Kontrolujete pracovní emaily i na dovolené? 7 tipů odborníka, jak nepřijít o data

Letní měsíce jsou pro většinu zaměstnanců spojené s každoroční dovolenou. Z údajů Českého statistického úřadu vyplývá, že v roce 2017 podnikli Češi přes 13 milionů delších cest (tzn. s více než čtyřmi noclehy). Přitom právě na období července, srpna a září připadá více než 7,5 milionů z nich. Nicméně tradiční představu o dovolené jako o čase, kdy má práci na starost někdo jiný, Češi boří. 

Obrázek ke článku 10 SEO mýtů, které už nemusíte v roce 2018 řešit

10 SEO mýtů, které už nemusíte v roce 2018 řešit

„Kolik má být na stránce klíčových slov?“, „Nemáš vyplněný meta tag keywords, to nebude fungovat.“, „Katalogy jsou mrtvý“. Také jste už slyšeli některé z těchto otázek? Pojďme si na ně konečně jednou provždy odpovědět.

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032018 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý