Udostępnij za pośrednictwem


Tworzenie bazy danych

autor: Microsoft

Pobierz plik PDF

Jest to krok 2 bezpłatnego samouczka aplikacji "NerdDinner" , który zawiera instrukcje dotyczące tworzenia małej, ale kompletnej aplikacji internetowej przy użyciu ASP.NET MVC 1.

Krok 2 przedstawia kroki tworzenia bazy danych zawierającej wszystkie dane kolacji i RSVP dla naszej aplikacji NerdDinner.

Jeśli używasz ASP.NET MVC 3, zalecamy skorzystanie z samouczków Wprowadzenie With MVC 3 lub MVC Music Store.

NerdDinner — Krok 2: Tworzenie bazy danych

Będziemy używać bazy danych do przechowywania wszystkich danych dinner i RSVP dla naszej aplikacji NerdDinner.

Poniższe kroki pokazują tworzenie bazy danych przy użyciu bezpłatnej wersji SQL Server Express (którą można łatwo zainstalować przy użyciu wersji 2 Instalator platformy Microsoft Web). Cały kod, który napiszemy, działa zarówno z SQL Server Express, jak i z pełną SQL Server.

Tworzenie nowej bazy danych SQL Server Express

Zaczniemy od kliknięcia prawym przyciskiem myszy projektu internetowego, a następnie wybrania polecenia menu Dodaj nowy> element :

Zrzut ekranu przedstawiający okno dialogowe Eksplorator rozwiązań. Opcja Dodaj jest zaznaczona, a pozycja Nowy element jest wyróżniona.

Spowoduje to wyświetlenie okna dialogowego "Dodawanie nowego elementu" programu Visual Studio. Filtrujemy według kategorii "Dane" i wybierzemy szablon elementu "SQL Server Database":

Zrzut ekranu przedstawiający okno dialogowe Dodawanie nowego elementu programu Visual Studio. Baza danych serwera S Q L jest wyróżniona. Dane są wyróżnione.

Nadamy nazwę SQL Server Express bazie danych, którą chcemy utworzyć "NerdDinner.mdf" i trafimy ok. Program Visual Studio zapyta nas, czy chcemy dodać ten plik do katalogu \App_Data (który jest katalogiem, który jest już skonfigurowany przy użyciu list ACL zabezpieczeń odczytu i zapisu):

Zrzut ekranu przedstawiający okno dialogowe programu Microsoft Visual Studio. Wartość Tak jest wyróżniona.

Klikniemy pozycję "Tak", a nasza nowa baza danych zostanie utworzona i dodana do naszej Eksplorator rozwiązań:

Zrzut ekranu przedstawiający drzewo nawigacji Eksplorator rozwiązań. Nerd Dinner dot m d f jest wyróżniony i zaznaczony.

Tworzenie tabel w bazie danych

Mamy teraz nową pustą bazę danych. Dodajmy do niej tabele.

W tym celu przejdziemy do okna karty "Eksplorator serwera" w programie Visual Studio, co umożliwia zarządzanie bazami danych i serwerami. SQL Server Express bazy danych przechowywane w folderze \App_Data naszej aplikacji będą automatycznie wyświetlane w Eksploratorze serwera. Opcjonalnie można użyć ikony "Połącz z bazą danych" w górnej części okna "Eksplorator serwera", aby dodać dodatkowe bazy danych SQL Server (zarówno lokalne, jak i zdalne) do listy, jak również:

Zrzut ekranu przedstawiający drzewo nawigacji Eksploratora serwera. Połączenia danych są rozwinięte, a wyróżniono pozycję Nerd Dinner dot m d f.

Dodamy dwie tabele do bazy danych NerdDinner — jedną do przechowywania naszych kolacji, a drugą do śledzenia akceptacji RSVP. Możemy utworzyć nowe tabele, klikając prawym przyciskiem myszy folder "Tabele" w naszej bazie danych i wybierając polecenie menu "Dodaj nową tabelę":

Zrzut ekranu przedstawiający drzewo nawigacji Eksploratora serwera. Tabele są rozwinięte i wyróżnione. Opcja Dodaj nową tabelę jest wyróżniona.

Spowoduje to otwarcie projektanta tabel, który umożliwia skonfigurowanie schematu tabeli. W naszej tabeli "Kolacje" dodamy 10 kolumn danych:

Zrzut ekranu przedstawiający okno dialogowe Kolacja Nerd. Zostanie wyświetlony schemat tabeli.

Chcemy, aby kolumna "DinnerID" byłaby unikatowym kluczem podstawowym dla tabeli. Możemy to skonfigurować, klikając prawym przyciskiem myszy kolumnę "DinnerID" i wybierając element menu "Ustaw klucz podstawowy":

Zrzut ekranu przedstawiający elementy menu Identyfikator kolacji. Element menu Ustaw klucz podstawowy jest wyróżniony.

Oprócz utworzenia identyfikatora DinnerID klucza podstawowego chcemy również skonfigurować go jako kolumnę "tożsamość", której wartość jest automatycznie zwiększana w miarę dodawania nowych wierszy danych do tabeli (co oznacza, że pierwszy wstawiony wiersz kolacji będzie miał wartość DinnerID 1, drugi wstawiony wiersz będzie miał identyfikator DinnerID 2 itd.).

Możemy to zrobić, wybierając kolumnę "DinnerID", a następnie używając edytora "Właściwości kolumny", aby ustawić właściwość "(Is Identity)" w kolumnie na wartość "Tak". Użyjemy wartości domyślnych standardowej tożsamości (zacznij od 1 do 1 i przyrostu 1 w każdym nowym wierszu kolacji):

Zrzut ekranu przedstawiający kartę Właściwości kolumny. Specyfikacja tożsamości jest wyróżniona.

Następnie zapiszemy naszą tabelę, wpisując klawisze Ctrl-S lub za pomocą polecenia menu File-Save>. Spowoduje to wyświetlenie monitu o nadenie tabeli nazwy. Nadamy mu nazwę "Dinners":

Zrzut ekranu przedstawiający okno dialogowe Wybieranie nazwy. Kolacje są zapisywane w polu Wprowadź nazwę tabeli.

Nowa tabela Dinners zostanie wyświetlona w naszej bazie danych w Eksploratorze serwera.

Następnie powtórzymy powyższe kroki i utworzymy tabelę "RSVP". Ta tabela z 3 kolumnami. Skonfigurujemy kolumnę RsvpID jako klucz podstawowy, a także ustawimy ją jako kolumnę tożsamości:

Zrzut ekranu przedstawiający okno dialogowe Nerd Dinner (Kolacja w programie Nerd). R S V P I D jest wyróżniony w kategorii Nazwa kolumny.

Zapiszemy go i nadamy mu nazwę "RSVP".

Konfigurowanie relacji klucza obcego między tabelami

Teraz mamy dwie tabele w naszej bazie danych. Ostatnim krokiem projektowania schematu będzie skonfigurowanie relacji "jeden do wielu" między tymi dwiema tabelami, aby umożliwić skojarzenie każdego wiersza kolacji z co najmniej zerem wierszy RSVP, które mają do niego zastosowanie. W tym celu skonfigurujemy kolumnę "DinnerID" tabeli RSVP, aby mieć relację klucza obcego z kolumną "DinnerID" w tabeli "Dinners".

W tym celu otworzymy tabelę RSVP w projektancie tabel, klikając ją dwukrotnie w Eksploratorze serwera. Następnie wybierzemy w niej kolumnę "DinnerID", kliknij prawym przyciskiem myszy i wybierzemy pozycję "Relacje..." polecenie menu kontekstowego:

Zrzut ekranu przedstawiający elementy menu Obiad I D. Relacje są wyróżnione.

Spowoduje to wyświetlenie okna dialogowego, za pomocą którego można skonfigurować relacje między tabelami:

Zrzut ekranu przedstawiający okno dialogowe Relacje kluczy obcych.

Kliknij przycisk "Dodaj", aby dodać nową relację do okna dialogowego. Po dodaniu relacji rozwiń węzeł widok drzewa "Tabele i specyfikacja kolumny" po prawej stronie okna dialogowego, a następnie kliknij przycisk "..." po prawej stronie:

Zrzut ekranu przedstawiający okno dialogowe Relacje kluczy obcych. Wyróżniono tabele i specyfikacje kolumn. Strzałka wskazuje przycisk elipsy po prawej stronie.

Kliknięcie przycisku "..." Przycisk wyświetli kolejne okno dialogowe, które pozwala nam określić, które tabele i kolumny są zaangażowane w relację, a także pozwoli nam na nadenie relacji nazwy.

Zmienimy tabelę klucza podstawowego na "Obiady", a następnie wybierzemy kolumnę "DinnerID" w tabeli Dinners jako klucz podstawowy. Tabela RSVP będzie tabelą klucza obcego i rsVP. Kolumna DinnerID zostanie skojarzona jako klucz obcy:

Zrzut ekranu przedstawiający okno dialogowe Tabele i kolumny. Tabela kluczy podstawowych i tabela kluczy obcych są wyróżnione.

Teraz każdy wiersz w tabeli RSVP będzie skojarzony z wierszem w tabeli Dinner. SQL Server zachowa integralność referencyjną — i uniemożliwi nam dodanie nowego wiersza RSVP, jeśli nie wskaże prawidłowego wiersza kolacji. Uniemożliwi to również usunięcie wiersza kolacji, jeśli nadal istnieją wiersze RSVP odwołujące się do niego.

Dodawanie danych do naszych tabel

Zakończmy, dodając przykładowe dane do tabeli Obiady. Możemy dodać dane do tabeli, klikając je prawym przyciskiem myszy w Eksploratorze serwera i wybierając polecenie "Pokaż dane tabeli":

Zrzut ekranu przedstawiający Eksploratora serwera. Pokaż dane tabeli zostało wyróżnione.

Dodamy kilka wierszy danych obiadowych, których możemy użyć później podczas wdrażania aplikacji:

Zrzut ekranu przedstawiający dane kolacji w programie Microsoft Visual Studio.

Następny krok

Zakończyliśmy tworzenie bazy danych. Teraz utwórzmy klasy modeli, których możemy użyć do wykonywania zapytań i aktualizowania.