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

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       22 723×

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

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
Jakub studuje informatiku na FIT ČVUT, jeho oblíbenou platformou je .NET.
Web     Twitter     Facebook     LinkedIn    

Nové články

Obrázek ke článku Stavebnice umělé inteligence 1

Stavebnice umělé inteligence 1

Článek popisuje první část stavebnice umělé inteligence. Obsahuje lineární a plošnou optimalizaci.  Demo verzi je možné použít pro výuku i zájmovou činnost. Profesionální verze je určena pro vývojáře, kteří chtějí integrovat popsané moduly do svých systémů.

Obrázek ke článku Hybridní inteligentní systémy 2

Hybridní inteligentní systémy 2

V technické praxi využíváme často kombinaci různých disciplín umělé inteligence a klasických výpočtů. Takovým systémům říkáme hybridní systémy. V tomto článku se zmíním o určitém typu hybridního systému, který je užitečný ve velmi složitých výrobních procesech.

Obrázek ke článku Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Vedení týmu v oboru informačních technologií se nijak zvlášť neliší od jiných oborů. Přesto však IT manažeři čelí výzvě v podobě velmi rychlého rozvoje a tím i rostoucími nároky na své lidi. Udržet pozornost, motivaci a efektivitu týmu vyžaduje opravdu pevné manažerské základy a zároveň otevřenost a flexibilitu pro stále nové výzvy.

Obrázek ke článku Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Za poslední rok se podoba práce zaměstnanců změnila k nepoznání. Především plošné zavedení home office, které mělo být zpočátku jen dočasným opatřením, je pro mnohé už více než rok každodenní realitou. Co ale dělat, když se při práci z domova ztrácí motivace, zaměstnanci přestávají komunikovat a dříve fungující tým se rozpadá na skupinu solitérů? Odborníci na personalistiku dali dohromady několik rad, jak udržet tým v chodu, i když pracovní podmínky nejsou ideální.

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