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       16 677×

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 Hackerský kongres přiveze v září do Prahy špičky světové kryptoanarchie

Hackerský kongres přiveze v září do Prahy špičky světové kryptoanarchie

Hackerský kongres HCPP16 pořádá od 30. září do 2. října nezisková organizace Paralelní Polis již potřetí, a to ve stejnojmenném bitcoinovém prostoru v pražských Holešovicích. Letos přiveze na třídenní konferenci přes 40 většinou zahraničních speakerů – lídrů z oblastí technologií, decentralizované ekonomiky, politických umění a aktivismu. Náměty jejich přednášek budou také hacking, kryptoměny, věda, svoboda nebo kryptoanarchie.

Reklama
Reklama
Obrázek ke článku ICT PRO školení zaměřené nejenom na ICT

ICT PRO školení zaměřené nejenom na ICT

Dovolte, abychom se představili. Jsme zaměstnanci společnosti ICT Pro, profesionálové v oblasti poskytování komplexních ICT služeb. Neboli služeb spojených s informačními a komunikačními technologiemi, které dnes - ve 21. století - tvoří  nedílnou součást běžného provozu všech moderních firem.

loadingtransparent (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();
Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý