Vytvoření databáze
od Microsoftu
Toto je krok 2 bezplatného kurzu aplikace NerdDinner , který vás provede sestavením malé, ale úplné webové aplikace pomocí ASP.NET MVC 1.
Krok 2 ukazuje postup vytvoření databáze, která obsahuje všechna data večeře a RSVP pro naši aplikaci NerdDinner.
Pokud používáte ASP.NET MVC 3, doporučujeme postupovat podle kurzů Začínáme S MVC 3 nebo MVC Music Store.
NerdDinner Krok 2: Vytvoření databáze
Budeme používat databázi k ukládání všech dat Dinner a RSVP pro naši aplikaci NerdDinner.
Následující postup ukazuje vytvoření databáze pomocí bezplatné edice SQL Server Express (kterou můžete snadno nainstalovat pomocí verze 2 Instalace webové platformy Microsoft). Veškerý kód, který napíšeme, funguje s SQL Server Express i s úplným SQL Server.
Vytvoření nové databáze SQL Server Express
Začneme tak, že klikneme pravým tlačítkem na náš webový projekt a pak vybereme příkaz nabídky Přidat> novou položku :
Tím se zobrazí dialogové okno Přidat novou položku v sadě Visual Studio. Vyfiltrujeme podle kategorie Data a vybereme šablonu položky "SQL Server Database":
Databázi SQL Server Express, kterou chceme vytvořit, pojmenujeme "NerdDinner.mdf" a stiskneme ok. Visual Studio se nás pak zeptá, jestli chceme tento soubor přidat do adresáře \App_Data (což je adresář, který už je nastavený s seznamy řízení přístupu pro čtení i zápis):
Klikneme na Ano a naše nová databáze se vytvoří a přidá do Průzkumník řešení:
Vytváření tabulek v rámci naší databáze
Teď máme novou prázdnou databázi. Pojďme do něj přidat nějaké tabulky.
Za tímto účelem přejdeme do okna karty Průzkumník serveru v sadě Visual Studio, které nám umožní spravovat databáze a servery. SQL Server Express databáze uložené ve složce \App_Data naší aplikace se automaticky zobrazí v Průzkumníku serveru. Volitelně můžeme pomocí ikony Připojit k databázi v horní části okna Průzkumník serveru přidat do seznamu také další databáze SQL Server (místní i vzdálené):
Do naší databáze NerdDinner přidáme dvě tabulky – jednu pro ukládání večeří a druhou pro sledování přijetí rsVP pro ně. Nové tabulky můžeme vytvořit tak, že v naší databázi klikneme pravým tlačítkem na složku Tabulky a zvolíme příkaz nabídky Přidat novou tabulku:
Otevře se návrhář tabulky, který nám umožní nakonfigurovat schéma naší tabulky. Do tabulky Večeře přidáme 10 sloupců dat:
Chceme, aby sloupec DinnerID byl jedinečným primárním klíčem tabulky. To můžeme nakonfigurovat tak, že klikneme pravým tlačítkem na sloupec DinnerID a vybereme položku nabídky Nastavit primární klíč:
Kromě toho, že se DinnerID stane primárním klíčem, chceme ho také nakonfigurovat jako sloupec identity, jehož hodnota se automaticky zvýší s tím, jak se do tabulky přidají nové řádky dat (to znamená, že první vložený řádek Večeře bude mít HODNOTU DinnerID 1, druhý vložený řádek bude mít Hodnotu DinnerID 2 atd.).
Můžeme to udělat tak, že vybereme sloupec "DinnerID" a pak pomocí editoru "Vlastnosti sloupce" nastavíme vlastnost "(Is Identity)" ve sloupci na "Ano". Použijeme standardní výchozí hodnoty identity (na každém novém řádku Večeře začneme na 1 a přírůstek 1):
Tabulku pak uložíme tak, že zadáme Ctrl-S nebo pomocí příkazu nabídky File-Save> (Uložit soubor ). Zobrazí se výzva k pojmenování tabulky. Pojmenujeme ho "Večeře":
Naše nová tabulka Dinners se pak zobrazí v naší databázi v průzkumníku serveru.
Pak zopakujeme výše uvedené kroky a vytvoříme tabulku RSVP. Tato tabulka má 3 sloupce. Sloupec RsvpID nastavíme jako primární klíč a také ho nastavíme jako sloupec identity:
Uložíme ho a pojmenujeme ho RSVP.
Nastavení relace cizího klíče mezi tabulkami
V naší databázi teď máme dvě tabulky. Naším posledním krokem návrhu schématu bude nastavení relace "1:N" mezi těmito dvěma tabulkami, abychom mohli přidružit každý řádek Večeře k nule nebo více řádků RSVP, které se na něj vztahují. Provedeme to tak, že nakonfigurujeme sloupec "DinnerID" tabulky RSVP tak, aby měl relaci cizího klíče se sloupcem DinnerID v tabulce Večeře.
Za tímto účelem otevřeme tabulku RSVP v návrháři tabulek poklikáním v průzkumníku serveru. Pak v něm vybereme sloupec "DinnerID" (Id večeře), klikneme pravým tlačítkem a zvolíme "Relace...". Příkaz místní nabídky:
Zobrazí se dialogové okno, které můžeme použít k nastavení relací mezi tabulkami:
Kliknutím na tlačítko Přidat přidáme do dialogového okna novou relaci. Po přidání relace rozbalíme uzel stromového zobrazení Tabulky a specifikace sloupců v mřížce vlastností napravo od dialogového okna a potom klikneme na ikonu "..." napravo od něj:
Kliknutí na ikonu "..." zobrazí další dialogové okno, které nám umožní určit, které tabulky a sloupce jsou součástí relace, a také nám umožní pojmenovat relaci.
Změníme tabulku primárního klíče na Večeře a jako primární klíč vybereme sloupec DinnerID v tabulce Dinners. Naše tabulka RSVP bude tabulka cizího klíče a RSVP. Sloupec DinnerID se přidružuje jako cizí klíč:
Teď bude každý řádek v tabulce RSVP přidružený k řádku v tabulce Večeře. SQL Server pro nás zachová referenční integritu – a zabrání nám v přidání nového řádku RSVP, pokud neodkazuje na platný řádek Večeře. Zabrání nám také odstranit řádek Večeře, pokud na něj stále odkazují řádky RSVP.
Přidání dat do tabulek
Na závěr přidáme ukázková data do tabulky Večeře. Data do tabulky můžeme přidat tak, že na ni klikneme pravým tlačítkem v Průzkumníkovi serveru a zvolíme příkaz Zobrazit data tabulky:
Přidáme několik řádků dat večeře, které můžeme použít později, když začneme aplikaci implementovat:
Další krok
Dokončili jsme vytváření databáze. Pojďme teď vytvořit třídy modelu, které můžeme použít k dotazování a aktualizaci.