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).

z1

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.

z01

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.

e01

Następnie przechodzimy do kolejnych zakładek sprawdzając ustawienia.

e02

W tym przypadku nic nie zmieniamy, klikamy na przycisk OK.

e03

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.

e04

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 .

e05

Pojawi się zakładka projektowania tabeli.

e06

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.

e07

e08

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.

e09

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.

e10

Obok danych kolumny pojawi się znak kluczyka.

e11

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.

e12

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.

e14

Pojawi się okienko z domyślną nazwą tabeli.

e15

Wpisujemy w pole nazwę tabeli region.

e16

Operację zatwierdzamy przyciskiem OK. Nowa nazwa będzie widoczna w pasku tytułowym okienka tabeli.

e17

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

e18

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.

e20

Pojawi się okno Foreign Key Relationship , w którym klikamy na przycisk Add.

e21

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.

q1

Pojawi się okno Tables and Columns.

q2

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.

q3

Wybór zatwierdzamy przyciskiem OK. W oknie Foreign Key Relationship klikamy na przycisk Close.

q4

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.

a11

Pojawi się okno z zapytanie o utworzenie diagramu, w którym klikamy na przycisk Yes.

a12

Pojawi się okno Add Table, w którym zaznaczamy wszystkie tabele i klikamy na przycisk Add.

a13

Zostanie wygenerowany diagram, z którego możemy odczytać sposób połączenia ze sobą tabel za pośrednictwem klucza podstawowego i klucza obcego.

a14

W analogiczny sposób tworzymy kolejne tabele i łączymy je w relacje, aż uzyskamy zamierzony projekt bazy danych.