Tworzenie bazy danych w SQL Server 2012
W tym poście krok po kroku pokażę wizualny sposób tworzenia bazy danych na przykładzie prostej bazy danych złożonej z zaledwie kilku powiązanych ze sobą tabel.
Pracę rozpoczynamy od uruchomienia środowiska SQL Server Management Studio
. W tym celu z menu Start
wybieramy Wszystkie Programy->Microsoft SQL Server 2012
(lub inną zainstalowaną wersję tego serwera).
Zostanie uruchomione środowisko służące m.in. do wizualnego tworzenia baz danych. Po zalogowaniu, klikamy prawym przyciskiem na węźle Databases
i menu kontekstowego wybieramy New Database
.
Pojawi się okno New Database
, w którym w polu Database name
wpisujemy nazwę bazy danych. My utworzymy bazę danych o nazwie Polska, która będzie przechowywała regiony, województwa, podregiony, powiaty, gminy i miasta.
Następnie przechodzimy do kolejnych zakładek sprawdzając ustawienia.
W tym przypadku nic nie zmieniamy, klikamy na przycisk OK
.
W węźle Database
powinna być widoczna nowa baza danych. Jeśli nie jest, powinniśmy odświeżyć węzeł. Klikamy wówczas prawym przyciskiem myszy na węzeł Database
i wybieramy z menu kontekstowego Refresh
.
Teraz, gdy jest już baza przygotowana przystępujemy do utworzenia tabel. Rozpoczynamy od utworzenia tabeli niezależnej opisującej regiony. Rozwijamy węzeł Database
i klikamy prawym przyciskiem myszy na węźle Tables
. Z menu kontekstowego wybieramy New Table
.
Pojawi się zakładka projektowania tabeli.
Tworzymy dwie kolumny: id_region
– klucz podstawowy tabeli, który posłuży nam do powiązania rekordów z innymi tabelami oraz kolumnę nazwa_region
, przechowującą nazwę regionu. W pole pierwszej kolumny wpisujemy nazwę kolumny klucza głównego: id_region
, dla tej kolumny wybieramy typ danych int
( liczba całkowita ) i odznaczamy pole Allow Nulls
, nie zezwalając tym samym na pomijanie tej kolumny podczas wstawiania danych do tabeli.
Dla tej kolumny ustawiamy jeszcze właściwość autoinkrementacji, a więc automatycznego zwiększania wartości pola dla kolejnych rekordów i wstawiania w to pole tej wyliczonej wartości. W tym celu zaznaczamy klikając na strzałeczkę obok rekordu z danymi kolumny i w dolnej części właściwości tej kolumny rozwijamy węzeł Identity Specification
. Obok Identity
wybieramy z listy Yes
, Identity Seed
(wartość początkową pozostawiamy na 1) oraz Identity Increment
(wartość o którą będzie zwiększana ostatnia wartość) także pozostawiamy na 1.
Autoinkrementację ustawiliśmy, pozostało jeszcze ustawić tą kolumnę jako klucz główny tabeli. W tym celu klikamy prawym przyciskiem myszy na strzałeczce obok danych kolumny i wybieramy Set Primary Key
.
Obok danych kolumny pojawi się znak kluczyka.
Klikamy w puste pole pod id_region
i wpisujemy kolejną nazwę kolumny dla tabeli. Dla kolumny nazwa_region
wybieramy typ danych jako znakowy: varchar(150)
. Również odznaczamy pole Allow Nulls
.
Aby zapisać tabelę pod odpowiednią nazwą klikamy prawym przyciskiem myszy na pasku z domyślną nazwą tabeli i z menu kontekstowego wybieramy Save Table_1
.
Pojawi się okienko z domyślną nazwą tabeli.
Wpisujemy w pole nazwę tabeli region
.
Operację zatwierdzamy przyciskiem OK
. Nowa nazwa będzie widoczna w pasku tytułowym okienka tabeli.
Mamy utworzoną tabelę region
. Teraz tworzymy w podobny sposób tabelę wojwodztwo
z polami: id_wojewodztwo
( jako klucz główny tabeli ), nazwa_wojewodztwo
, id_region_fk
( klucz obcy przechowujący w postaci wartości int
klucz główny tabeli region
). Dla kolumny id_region_fk
ustawiamy tylko typ danych jako int
i blokujemy poprzez odznaczenie pola Allow Nulls
wstawiania wartości null
do tej kolumny. Gdy tabela jest już gotowa
Przystępujemy do powiązania ze sobą tych dwóch tabel.
W tym celu klikamy na strzałeczkę znajdującą się przy zaznaczonym polu id_region_fk
. Z menu kontekstowego wybieramy Relationship
.
Pojawi się okno Foreign Key Relationship
, w którym klikamy na przycisk Add
.
Pojawi się nowa zawartość w oknie. Rozwijamy węzeł Tables And Columns Specific
, zaznaczamy ten węzeł i klikamy na przycisk znajdujący się z prawej strony w linii nazwy węzła.
Pojawi się okno Tables and Columns
.
W oknie tym dla tabeli z kluczem podstawowym wybieramy nazwę tabeli region
i kolumnę klucza głównego, czyli id_region
. Natomiast dla tabeli wojewodztwo
z kluczem obcym wybieramy kolumnę id_region_fk
przechowującą klucz podstawowy tabeli region
.
Wybór zatwierdzamy przyciskiem OK
. W oknie Foreign Key Relationship
klikamy na przycisk Close
.
Relacje między tabelami możemy zobaczyć w diagramie bazy danych. Klikamy prawym przyciskiem myszy na węzeł Database Diagrams
i z menu kontekstowego wybieramy New Database Diagram
.
Pojawi się okno z zapytanie o utworzenie diagramu, w którym klikamy na przycisk Yes
.
Pojawi się okno Add Table
, w którym zaznaczamy wszystkie tabele i klikamy na przycisk Add
.
Zostanie wygenerowany diagram, z którego możemy odczytać sposób połączenia ze sobą tabel za pośrednictwem klucza podstawowego i klucza obcego.
W analogiczny sposób tworzymy kolejne tabele i łączymy je w relacje, aż uzyskamy zamierzony projekt bazy danych.