ITA 101 Modul 03

background image

ITA-101 Bazy Danych

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski

Moduł 3

Wersja 1.0

Definiowanie i zarządzanie bazą

danych

Spis treści

Definiowanie i zarządzanie bazą danych ............................................................................................. 1

Informacje o module ........................................................................................................................... 2

Przygotowanie teoretyczne ................................................................................................................. 3

Przykładowy problem ................................................................................................................. 3

Podstawy teoretyczne ................................................................................................................. 3

Przykładowe rozwiązanie .......................................................................................................... 10

Porady praktyczne .................................................................................................................... 15

Uwagi dla studenta ................................................................................................................... 16

Dodatkowe źródła informacji .................................................................................................... 16

Laboratorium podstawowe ............................................................................................................... 17

Problem 1 (czas realizacji 45 min) ............................................................................................. 17

Laboratorium rozszerzone ................................................................................................................ 27

Zadanie 1 (czas realizacji 90 min) .............................................................................................. 27

background image

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski

Moduł 3

ITA

-

101 Bazy Danych

Instalacja i konfiguracja MS SQL Server 2008

Strona 2/27

Informacje o module

Opis modułu

Dobry administrator Systemu Zarządzania Bazami Danych wie wszystko o
bazach danych. W dzisiejszych czasach rola administratora nie ogranicza się
do zarządzania istniejącymi bazami danych, ale również wymaga
umiejętności zakładania, konserwacji oraz aktualizacji baz danych
znajdujących się pod jego opieką. Moduł przybliży wszystkie te zagadnienia.

Cel modułu

Celem tego dwiczenia jest przedstawienie czytelnikowi typowych zagadnieo
związanych z zakładaniem i konserwacją bazy danych na serwerze MS SQL
Server 2008.

Uzyskane kompetencje

Po zrealizowaniu modułu będziesz:

potrafił zaplanowad instalację bazy danych

rozumiał czym są pliki bazy, tabele, diagramy, klucze

wiedział, jak wykonad kopię bezpieczeostwa bazy oraz jak przywrócid
bazę w razie awarii

Wymagania wstępne

Przed przystąpieniem do pracy z tym modułem powinieneś:

wiedzied, jak używad oprogramowania Microsoft Virtual PC

znad podstawy obsługi systemu Windows 2000 lub nowszego

rozumied, jakie są elementy diagramu ERD i powiązania między nimi

znad podstawy obsługi narzędzia SQL Server Management Studio

Mapa zależności modułu

Zgodnie z mapą zależności przedstawioną na Rys. 1, istnieje koniecznośd
wykonania wcześniej modułu 1 i modułu 2.

Moduł 3

Dodatek

Moduł 1

Moduł 2

Moduł 4

Moduł 5

Moduł 6

Moduł 7

Moduł 8

Moduł 9

Moduł 10

Moduł 11

Moduł 12

Moduł 13

Rys. 1 Mapa zależności modułu

background image

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski

Moduł 3

ITA

-

101 Bazy Danych

Instalacja i konfiguracja MS SQL Server 2008

Strona 3/27

Przygotowanie teoretyczne

Przykładowy problem

Jesteś administratorem systemu bazodanowego w firmie National Insurance. Analitycy w dziale
deweloperskim stworzyli diagramach bazy danych dla nowego produktu firmy. Diagram zawiera
informacje o wszystkich tabelach i relacjach bazy. Wskazuje też na możliwe do użycia typy danych.
Diagram bazy danych przedstawiony jest na Rys. 2.

PracaDyplomowa

PK

ID_pracy

Data

Ocena

FK1

ID_rodzajup

FK2

ID_nosnika

ID_promotora

Autor

PK,FK1

ID_osoby

PK,FK2

ID_pracy

OSOBA

PK,FK3

ID_osoby

imie

nazwisko

nr_indeksu

FK1

ID_stopnian

ID_pracy

Recenzent

PK,FK1

ID_osoby

PK,FK2

ID_pracy

Nosnik

PK

ID_nosnika

nosnik

RodzajPracy

PK

ID_rodzajup

rodzaj

SlowoKluczowe

PK

ID_sk

slowo

StopienNaukowy

PK

ID_stopnian

stopien

1:n

1

:n

n:1

1: (1...3)

n

:1

SLOWNIK

PK,FK1

ID_sk

PK,FK2

ID_pracy

n

:1

1

:n

n:1

n

:1

1:n

Rys. 2 Schemat działania perspektyw

Twoim zadaniem jest założenie bazy danych wraz z odpowiednimi tabelami. Ustanowienie kluczy
głównych, powiązao między nimi i określenie dogodnych typów danych. W koocowej fazie
powinieneś wypełnid bazę przykładowymi danymi i zapewnid jej kopię bezpieczeostwa.

Podstawy teoretyczne

Dysponując gotowym projektem relacyjnej bazy danych, jesteś na początku długiej drogi, zanim
baza powstanie na serwerze i rozpocznie swoje życie. Zanim zaimplementujesz bazę danych, musisz
zaplanowad wiele ustawieo dotyczących różnych aspektów działania bazy.

background image

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski

Moduł 3

ITA

-

101 Bazy Danych

Instalacja i konfiguracja MS SQL Server 2008

Strona 4/27

Rozmieszczenie plików bazy danych
Baza danych składa się z plików. Plik bazy można podzielid na pliki danych i pliki dziennika
transakcji. W plikach danych przechowywane są obiekty baz danych, takie jak tabele (wraz z
danymi), indeksy czy procedury składowane. W plikach dziennika transakcji system zapisuje strony
(w przypadku systemów SQL Server strona to blok 8 KB, ale można go zwiększyd) zawierające
modyfikacje danych.

Rozmieszczenie plików odgrywa znaczącą rolę w procesie tworzenia i optymalizacji bazy danych.
Istnieje szereg zasad przydatnych w planowaniu fizycznej implementacji bazy danych. Zasady te to
m.in.:

Pliki dziennika transakcji należy umieszczad na innym dysku fizycznym niż pliki danych – w
przypadku awarii jednego z dysków tracimy tylko częśd bazy.

Tabele często występujące razem w złączeniach (ang. joins) należy umieszczad w osobnych
plikach (grupach plików) na osobnych dyskach fizycznych – dzięki temu możliwe jest
równoległe pobieranie danych z tych tabel.

Indeksy nieklastrowane należy umieszczad na innych dyskach fizycznych niż ich bazowe
tabele – zyskujesz większą wydajnośd zapisu danych.

Tabele często modyfikowane należy oddzielid fizycznie (umieścid na innym dysku) od tabel
rzadko modyfikowanych – w przypadku większych baz danych upraszcza to proces
wykonywania kopii zapasowych.

W przypadku naprawdę dużych instancji bazy stosowane są dedykowane rozwiązania
programowo-sprzętowe typu klastry z wydajnymi macierzami dyskowymi.

Jednoczesne spełnienie wszystkich wymienionych punktów jest raczej niemożliwe, ale w idealnym
przypadku oddzielenie dziennika transakcji od danych i maksymalne rozczłonkowanie danych
pomiędzy tak wiele dysków, jak się da, byłoby rozwiązaniem dającym maksymalne bezpieczeostwo
i wydajnośd bazy.

Bezpieczeństwo fizyczne danych
Dane, jak i dziennik transakcji można dodatkowo zabezpieczyd przed ewentualnymi awariami
dysków fizycznych. Do tego celu należy użyd macierzy dyskowych z zaimplementowanymi
konfiguracjami RAID (ang. Redundant Array of Independent Disks).

Istnieje wiele konfiguracji RAID, ale do najbardziej znanych i zarazem najczęściej stosowanych
należą: RAID-0, RAID-1, RAID-5 oraz RAID-10. Implementacja RAID może byd rozwiązana drogą
sprzętową lub programową w systemie operacyjnym. Rozwiązania różnią się wydajnością i… ceną.

Więcej o systemach RAID i bezpieczeostwie systemów bazodanowych znajdziesz w module 11.

Przy tworzeniu bazy danych administrator musi zdecydowad o jej konfiguracji. Konfiguracja ta
dotyczy nie tylko plików bazy danych, ale także pewnych ustawieo samej bazy danych. Ustawienia
te decydują o tym, jak będzie się zachowywała baza w trakcie swojego cyklu życia.

Ustawienia dotyczące plików
Po wybraniu odpowiedniej struktury bazy i określeniu jej nazwy przychodzi pora na ustawienie
pewnych właściwości plików bazy danych. Ustawienia te to:

ilośd i lokalizacja plików

wielkośd początkowa plików

sposób powiększania plików (powinien zostad wybrany automatyczny przyrost rozmiaru)

maksymalny rozmiar dla każdego z plików (alternatywnie można maksymalny rozmiar
pozostawid nieokreślony, ale wówczas administrator jest zmuszony do monitorowania
wolnego miejsca na dysku twardym)

nazwy logiczne plików

background image

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski

Moduł 3

ITA

-

101 Bazy Danych

Instalacja i konfiguracja MS SQL Server 2008

Strona 5/27

Rys. 3 Właściwości przykładowej bazy danych w SQL Server 2008

W praktyce należy pamiętad o takim ustawieniu rozmiaru początkowego plików, by znalazło się w
nich miejsce na nowe dane. Proces powiększania rozmiaru pliku może niepotrzebnie obciążyd bazę
danych. Co za tym idzie, należy też zadbad o to, by przyrost rozmiaru pliku nie był zbyt mały.

Najlepszym nawykiem jest manualne powiększanie rozmiarów plików poza godzinami, w których
baza jest używana przez największą liczbę użytkowników. Opcja automatycznego powiększania
plików może byd ustawiona na wszelki wypadek (gdyby administrator zapomniał o swoich
obowiązkach lub wystąpiła nieoczekiwana sytuacja wymagająca powiększenia pliku). Niemniej
jednak taka automatyzacja jest dyskusyjna ponieważ wpływa na wydajnośd bazy.

Dziennik transakcji należy ustawid na początek na 20-30% rozmiaru plików danych. W trakcie pracy
bazy danych rozmiar ten można zmienid wedle potrzeb.

Ustawienia dotyczące bazy danych
Równie ważne jak ustawienia plików są ustawienia samej bazy danych. Ustawienia te to na
przykład:

ustawienia dotyczące języka, metod sortowania tekstu, znaków dialektycznych

ustawienia dotyczące zapisu zmian w dzienniku transakcji (tzw. model przywracania bazy,
ang. recovery model)

ustawienia dotyczące statystyk (statystyki to zapis rozkładu danych w kolumnach najczęściej
wykorzystywanych w tabelach, mogą byd tworzone i utrzymywane automatycznie)

ustawienia dotyczące dostępu do bazy danych (w niektórych sytuacjach niezbędne jest
ograniczenie dostępu do bazy danych dla użytkowników, np. przy przywracaniu bazy danych
z kopii zapasowej)

background image

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski

Moduł 3

ITA

-

101 Bazy Danych

Instalacja i konfiguracja MS SQL Server 2008

Strona 6/27

Rys. 4 Opcje przykładowej bazy danych w SQL Server 2008

Ustawienia opcji bazy danych zmieniają się w trakcie działania bazy. Zmiany dokonywane są przy
pomocy narzędzi graficznych (np. SQL Server Management Studio) lub poleceo SQL (np. ALTER
DATABASE). Do ciekawszych opcji należą polecenia Auto Shrink, która optymalizuje rozmiar plików
(z taką samą wadą jak automatyczne zwiększanie rozmiaru) i Auto Create Statistics, która generuje
automatycznie statystyki na podstawie dystrybucji wartości w kolumnie danych. Informacja ta jest
używana przez SQL Server Query Optimizer do generowania planu zapytao bazującego na kosztach
używania różnych kolumn.

Tabela bazy danych
Tabela jest dwuwymiarowym zbiorem wzajemnie powiązanych danych dotyczących wspólnego
obszaru lub encji. Składa się ona z kolumn, w których przechowywane są dane, np. w tabeli
„Pracownicy” przeważnie znajdziemy kolumny takie jak „Nazwisko” czy „PESEL”. W relacyjnej bazie
danych relację zachodzą właśnie pomiędzy danymi w poszczególnych kolumnach nazywanych także
atrybutami tabeli.

Pojedynczy rząd obejmujący kolumny reprezentuje instancję danych, czyli rekord (ang. record).
Większośd operacji na bazie danych wykonuje się na rekordach lub, częściej, zbiorach rekordów
(ang. recordset).

Do jednoznacznej identyfikacji tabeli służy klucz główny (ang. primary key), który przeważnie jest
dodatkową kolumną z unikatowymi wartościami. Dzięki znajomości tych wartości możemy szybko
wskazad interesujący nas rekord w danej tabeli, a następnie odczytad go lub zmodyfikowad.

Tabele możemy utworzyd za pomocą narzędzi graficznych, np. w Management Studio rozwijając w
Object Explorer odpowiednie menu.

Możemy też posłużyd się odpowiednim poleceniem języka SQL (i tak najczęściej postępuje się w
praktyce):

CREATE TABLE nazwa_tabeli (kolumny_tabeli)

Więcej na ten temat znajdziesz w module 6.

Podczas tworzenia tabeli należy zdefiniowad chociaż jedną kolumnę zawierającą dane.
Przechowywane dane mogą byd tylko ściśle określonego typu. Typ ten jest wspólny dla całej
kolumny.

background image

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski

Moduł 3

ITA

-

101 Bazy Danych

Instalacja i konfiguracja MS SQL Server 2008

Strona 7/27

Typy danych
Typ danych jest pierwszą wielkością jaką definiuje użytkownik dla kolumny tabeli. Typ danych
kolumny kontroluje typ informacji jaka może byd przechowywana w kolumnie. Należy zdefiniowad
typ danych przez wpisanie za nazwą kolumny słowa kluczowego, może ono wymagad parametrów.
Po zdefiniowaniu typy danych kolumny tabeli , jest on stałą właściwością i nie może byd zmieniany.

Można również wykorzystad typy danych do definicji innych struktur przechowujących dane, takich
jak parametry i lokalne zmienne.

Przegląd typów danych dostępnych na platformie MS SQL Server prezentuje Tab. 1.

Tab. 1 Podstawowe typy danych dostępne w MS SQL Server
Kategoria

Opis

Typ danych

Szczegóły

Typy binarne Dane zawierają łaocuchy binariów

zapisanych w postaci liczb w
systemie szesnastkowym
(heksadecymalnym).

binary

Dane o stałej przypisanej długości (do 8 KB).

varbinary

Dane o różnej długości aż do zdefiniowanej
maksymalnej (do 8 KB).

image

Dane mogą byd różnej długości i przekroczyd
rozmiarem 8 KB.

Typy
tekstowe

Dane są kombinacją liter, cyfr i
symboli.

char

Dane o stałej przypisanej długości (do 8 KB).

varchar

Dane o różnej długości aż do zdefiniowanej
maksymalnej (do 8 KB).

text

Dane tekstowe o rozmiarze przekraczającym
8 znaków

Data i czas

Dane są kombinacją dobrze
sformatowanej daty i czasu. Nie
istnieją typy danych opisujące
osobno datę i czas.

datetime

Data z zakresu od 1 stycznia 1753 do 31
grudnia 9999 (jedna wartośd zajmuje 8 B).

smalldatetime

Data z zakresu od 1 stycznia 1900 do 6 lipca
2079 (jedna wartośd zajmuje 4 B).

Typy liczb
dziesiętnych

Dane liczbowe o dokładności do
ostatniej znaczącej cyfry.

decimal

Maksymalnie 38 cyfr, z czego wszystkie
mogą znajdowad się po prawej stronie
przecinka. Typ przechowuje dane dokładne
(nie przybliżone).

numeric

W SQL Server jest to odpowiednik typu
decimal.

Typy liczb o
zmiennej
precyzji

Dane są przybliżonymi liczbami
zmiennoprzecinkowymi o
dokładności takiej, jaka może w
danej chwili byd obsłużona przez
mechanizmy obliczeniowe.

float

Liczba zmiennoprzecinkowa z zakresu od
-1,79E+308 do 1,79E+308.

real

Liczba zmiennoprzecinkowa z zakresu od–
2.40E + 38 do 2.40E + 38.

Typy liczb
całkowitych

Dane są liczbami całkowitymi.

bigint

Liczba całkowita z zakresu od –2^63 (–
9223372036854775808) do 2^63–1
(9223372036854775807). Rozmiar jednej
liczby 8 B.

int

Liczba całkowita z zakresu od –
2 147 483 648 do 2,147,483,647. Rozmiar
jednej liczby to 4 B.

smallint

Liczba całkowita z zakresu od –32,768 do
32,767. Rozmiar jednej liczby to 2 B.

tinyint

Liczba całkowita z zakresu od zera do 255.
Rozmiar jednej liczby to 1 B.

Typy

Dane reprezentują ujemne lub

money

Wartośd monetarna z zakresu od –

background image

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski

Moduł 3

ITA

-

101 Bazy Danych

Instalacja i konfiguracja MS SQL Server 2008

Strona 8/27

Kategoria

Opis

Typ danych

Szczegóły

monetarne

dodatnie sumy pieniędzy.

922,337,203,685,477.5808 do
+922,337,203,685,477.5807. Rozmiar jednej
wartości to 8 B.

smallmoney

Wartośd monetarna z zakresu od –
214,748.3648 do 214,748.3647. Rozmiar
jednej wartości to 4 B.

Typy
specjalne

Dane specjalne to dane, które nie
pasują do innych kategorii.

bit

Dane zawierają wartośd 1 albo 0. Używaj ich,
gdy chcesz przedstawid zagadnienia typu
PRAWDA lub FAŁSZ albo TAK lub NIE.

cursor

Typ danych używany przez zmienne lub
parametry wyjściowe procedur
składowanych, które zawierają referencje do
kursora.

timestamp

Typ danych używany do wskazania ciągu
aktywności

uniqueidentifier Dane są 16-bajtowymi szesnastkowymi

liczbami wskazującymi na globalnie unikalne
identyfikatory (GUID). GUID są użyteczne,
gdy wiersz musi byd unikalny pośród wielu
wierszy.

SQL_variant

Ten typ danych przechowuje wartości
różnych typów z wyjątkiem typów text,
ntext, timestamp, image oraz
sql_variant.

table

Typ danych przechowujący zestaw wyników
do dalszego przetwarzania. Może byd
używany tylko do definiowania zmiennych
lokalnych lub wartości zwracanych przez
funkcje użytkownika.

Typy Unicode Dane tekstowe zapisane w postaci

Unicode. Zajmują one dwukrotnie
więcej miejsca niż zwykłe dane
tekstowe.

nchar

Dane o stałej przypisanej długości (do 4000
znaków Unicode).

nvarchar

Dane o różnej długości aż do zdefiniowanej
maksymalnej (do 4000).

ntext

Dane mogą długością przekraczad 4000
znaków Unicode.


Oczywiście nie będziesz używad wszystkich typów danych, ale kilku będziesz używad prawie zawsze
podczas pracy z serwerem MS SQL.

Perspektywy
W najprostszym rozumieniu perspektywa (ang. view) jest wirtualną tabelą. W szerokim znaczeniu
perspektywa jest odwzorowaniem globalnego schematu bazy danych na schemat "zewnętrzny",
przystosowany do potrzeb i przyzwyczajeo konkretnego użytkownika.

Perspektywy stosujemy, aby uprościd (sobie lub użytkownikowi) życie. Powodów stosowania
perspektyw jest wiele:

Uproszczenie z punktu widzenia użytkownika modeli pojęciowych – dzięki temu możemy
znacznie uprościd schemat bazy, a tym samym ułatwid użytkownikowi dostęp do danych.

background image

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski

Moduł 3

ITA

-

101 Bazy Danych

Instalacja i konfiguracja MS SQL Server 2008

Strona 9/27

Dostosowanie się do punktu widzenia i terminologii dziedziny zastosowao BD – zmiana
schematu wprowadzana przez perspektywę może byd wykorzystana na przykład do
dostosowania nazw tabel i kolumn do języka, którym posługuje się użytkownik.

Ograniczenie dostępu do obiektów – perspektywy powodują ukrycie przez użytkownikiem
koocowym prawdziwego schematu bazy danych; może to mied również pozytywny wpływ na
poprawę bezpieczeostwa danych, gdyż użytkownik nie ma bezpośredniego dostępu do
schematu rzeczywistego.

Współdziałanie systemów heterogenicznych (wspólny schemat) – w wypadku systemów
rozproszonych, zbudowanych z różnych systemów baz danych perspektywa może pomóc w
ukryciu różnic.

Przystosowanie starszych systemów do nowszych technologii i wymagao.

Z punktu widzenia użytkownika (i innych procesów) perspektywa powinna byd dla niego
przezroczysta, to znaczy, że można na niej wykonywad takie same operacje, jak na "prawdziwych"
tabelach. Warunek przezroczystości perspektyw jest bardzo trudny do spełnienia, gdyż dla
pewnych odwzorowao danych przyjęte środki definicji perspektyw (np. SQL) mogą okazad się
niewystarczające.

Rys. 5 Schemat działania perspektyw

Rodzaje perspektyw
Perspektywy dzielimy na dwie grupy:

perspektywy wirtualne

perspektywy zmaterializowane

Perspektywy wirtualne

Perspektywa wirtualna istnieje wyłącznie w postaci definicji. Wyliczenie (czyli wyznaczenie zbioru
krotek danej perspektywy, zwane też materializacją perspektywy) następuje w momencie
odwołania się do perspektywy. Wynik ten nie jest później nigdzie przechowywany. Oznacza to, że
każde wywołanie perspektywy wirtualnej powoduje jej ponowne wyliczenie (materializację), co
obciąża zasoby systemu.

Wadą perspektyw wirtualnych jest obciążanie systemu za każdym odwołaniem do procedury
wirtualnej, a tym samym dłuższy czas oczekiwania na materializację perspektywy. Perspektywy
wirtualne mają też szereg zalet.

W sytuacji stosowania perspektyw wirtualnych nie ma dublowania danych oraz problemów z
aktualizacją danych i problemów z przetwarzaniem transakcji.

background image

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski

Moduł 3

ITA

-

101 Bazy Danych

Instalacja i konfiguracja MS SQL Server 2008

Strona 10/27

Perspektywy zmaterializowane

Perspektywa zmaterializowana jest wyliczana (materializowana) w czasie pierwszego użycia.
Następnie wynik tego wyliczenia (dane) są przechowywane, aby móc ich użyd przy ponownym
wywołaniu perspektywy. Dzięki temu kolejne wywołanie perspektywy nie obciąża systemu, a czas
dostępu do danych znacznie się zmniejsza.

Przykładowe rozwiązanie

Posiadając gotowe, przetestowane środowisko bazodanowe przystępujemy do założenia pierwszej
bazy danych. Do zarządzanie bazami danych, w tym ich tworzenia jaki i usuwania służy narzędzie
Management Studio dostępne wraz z podstawową instalacją SQL Server.

Po uruchomieniu narzędzia i połączeniu się z danym serwerem widzimy okno Object Explorer wraz
z drzewem obiektów Databases. Wybierając opcję tworzenia nowej bazy musimy sprecyzowad jej
kilka podstawowych parametrów. Oprócz nazwy dla nowej bazy podajemy lokację i początkową
wielkośd dla pliku dla danych i pliku dla dziennika transakcji. Plików tych może byd sprecyzowanych
więcej jednakże minimum to określenie jednego pliku każdego typu co pokazuje Rys. 6.

Rys. 6 Tworzenie nowej bazy danych

Zaraz po utworzeniu bazy warto przyjrzed się dostępnym opcjom i od razu dokonad wstępnej
konfiguracji. Przed wypełnieniem bazy danymi należy określid parametry takie jak poziom
kompatybilności bazy z poprzednimi wersjami serwera SQL, dostępnośd i widocznośd przez
poszczególne grupy użytkowników czy zachowanie plików bazy w przypadku zbliżenia się do
poziomu zapełnienia danymi. Rys. 7 przedstawia fragment możliwych parametrów bazy.

background image

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski

Moduł 3

ITA

-

101 Bazy Danych

Instalacja i konfiguracja MS SQL Server 2008

Strona 11/27

Rys. 7 Tworzenie nowej bazy danych

Jedną z ważniejszych opcji, która należy zainteresowad się od samego początku jest Recovery
model
. Opcja ta decyduje o tym, jak dużo informacji o modyfikacjach danych będzie zapisywana do
dziennika transakcji bazy danych.
Listę opcji bazy danych znajdziesz w Books Online pod hasłem database options (najszybciej
znajdziesz ten fragment pomocy używając indeksu dostępnego w Books Online)W tym kroku
dodamy wymagane tabele bazy danych i określimy ich atrybuty.

Po ustaleniu podstawowych parametrów bazy można przejśc do kroku okreśnia jej wyglądu czyli
tabel i związków pomiędzy nimi. Rozwijając w Object Explorer drzewo naszej bazy danych widzimy
wszystkie obiekty wchodzące w jej sklad, w tym tabele. Po wybraniu opcji tworzenia nowej tabeli
należy sprecyzowad przynajmniej jeden atrybut czyli kolumnę. Dla danej kolumny wybieramy
nazwę i typ danych które będzie ona przechowywała. Tutaj należy zdecydowad czy kolumna ma
zawsze zawierad jakieś dane czy może przechowywad wartości puste (ang. null). Do kontroli nad
warościami pustymi służy pole Allow Nulls co ilustruje Rys. 8.

Rys. 8 Określenie nazwy i typu danych dla kolumny

background image

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski

Moduł 3

ITA

-

101 Bazy Danych

Instalacja i konfiguracja MS SQL Server 2008

Strona 12/27

Pozostało nam jeszcze ustalid identyfikator naszej tabeli – klucz główny. Kolumna zawierająca
unikalne dane jest dobrym kandydatem dla klucza głównego.

Rys. 9Tworzenie klucza głównego tabeli

Typowa tabela zawiera wiele kolumn o różnych typach danych oraz klucz główny. Dane
przechowywane w poszczególnych kolumnach są ze sobą skojarzone np.: dla tabeli zawierającej
dano o pracy dyplomowej studenta będą tam kolumny takie jak Temat pracy, Data obrony czy
Ocena z obrony.

Rys. 10 Głowna tabela bazy PraceDyplomowe

Najczęstrzym typem związku pomiędzy dwiema tabelami jest wiele-do-wielu. Niestety, tego typu
związku nie można w bezpośredni sposów zamodelowad w relacyjnej bazie danych. Aby obejśd ten
problem tworzymy niejako sztuczną, pośrednią tablę. Tabela ta posiada tylko z dwie kolumny
wskazujące na łączone tabele.
Ponieważ dla tej tabeli unikalna będzie zarówno jedna jak i druga kolumna klucz główny możemy
założyd na obydwu jednocześnie. Ilustruje to Rys. 11

background image

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski

Moduł 3

ITA

-

101 Bazy Danych

Instalacja i konfiguracja MS SQL Server 2008

Strona 13/27

Rys. 11 Tabela Autorzy z kluczem głównym na dwóch kolumnach

Posiadając zdefiniowane wszystkie tabele w bazie danych następnym krokiem jest utworzenie
związków pomiędzy nimi. Najwygodniej utworzyd je na graficznym diagramie bazodanowym
dostępnym z poziomu Management Studio.
Związki można utworzyd po prstu przeciągając kursor myszki pomiędzy odpowiednimi atrybutami
tabel co ilustruje Rys. 12.

Rys. 52 Tworzenie związku pomiędzy tabelami

Dla przykładowych tabel po stworzeniu związku zostanie utworzony klucz obcy w tabeli Autorzy
jako identyfikator powiązanej tabeli Osoba.

Jako rezultat powinniśmy posiadad diagram tabel i związków pomiędzy nimi bardzo zbliżony do
początkowego diagramu ERD.

background image

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski

Moduł 3

ITA

-

101 Bazy Danych

Instalacja i konfiguracja MS SQL Server 2008

Strona 14/27

Rys. 13 Tworzenie pozostałych kluczy obcych

Posiadając gotową bazę danych warto zrobid jej kopię zapasową przed dalszymi eksperymentami.
Narzędzie Management Studio umożliwia łatwe wykonywanie kopii zapasowej i przywracanie z niej
bazy danych. Rozpoczęcie procedury tworzenia kopii bezpieczeostwa ilustruje Rys. 14.

Rys. 14 Uruchomienie procedury kopii bezpieczeostwa

background image

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski

Moduł 3

ITA

-

101 Bazy Danych

Instalacja i konfiguracja MS SQL Server 2008

Strona 15/27

Jeżeli jest to tylko możliwe należy zmienid nazwę pliku kopii bezpieczeostwa i jego domyślną
lokację. Przeważnie w sieci istnieje dedykowany serwer plików, na którym przechowywane są pliki
kopii bezpieczeostwa.

Rys. 15 Tworzenie kopii bezpieczeostwa zakooczone sukcesem

W celu weryfikacji pliku kopii wygodnie jest odzyskad tak utworzoną bazę do innej, roboczej bazy
danych. Taką roboczą bazę można przeglądad pod względem zgodności i testowad nawet na innym
serwerze bazodanowym. Procedurę odzyskiwania dazy z kopii bezpieczeostwa ilustruje Rys. 16.

Rys. 16 Odzyskiwanie bazy danych z pliku backup

Porady praktyczne

Zanim przystąpisz do implementacji bazy danych na serwerze, uważnie przyjrzyj się
diagramowi ERD lub diagramowi bazodanowemu. Zrozumienie relacji zawartych na tych
diagramach umożliwi uniknięcie wykonania błędów w logice bazy.

Upewnij się, że każda tabela ma założony klucz główny. Bez niego nie zdziałasz za wiele.

background image

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski

Moduł 3

ITA

-

101 Bazy Danych

Instalacja i konfiguracja MS SQL Server 2008

Strona 16/27

Należy uważnie przemyśled sprawę doboru typów danych. Nie mogą byd one za małe dla
przechowywanej wartości, z drugiej strony szastanie zbyt obszernymi typami sumarycznie
zmniejsza wydajnośd bazy.

Zawsze zapisuj tworzone obiekty typu tabele, diagramy. System nie robi tego
automatycznie!

Uwagi dla studenta

Jesteś przygotowany do realizacji laboratorium jeśli:

rozumiesz, co oznacza relacja i czym różni się od powiązania w relacyjnych bazach danych

rozumiesz zasady przypisywania odpowiednich typów danych do atrybutów tabeli

wiesz jak założyd bazę danych i ustalid jej podstawowe parametry

umiesz podad przykład diagramu ERD dla typowego zbioru danych

Pamiętaj o zapoznaniu się z uwagami i poradami zawartymi w tym module. Upewnij się, że
rozumiesz omawiane w nich zagadnienia. Jeśli masz trudności ze zrozumieniem tematu zawartego
w uwagach, przeczytaj ponownie informacje z tego rozdziału i zajrzyj do notatek z wykładów.

Dodatkowe źródła informacji

1. William R. Stanek, Vademecum Administratora Microsoft SQL Server 2005, Microsoft Press,

2006

2. Wiesław Dudek, Bazy danych SQL. Teoria i praktyka, Helion, 2006










background image

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski

Moduł 3

ITA

-

101 Bazy Danych

Instalacja i konfiguracja MS SQL Server 2008

Strona 17/27

Laboratorium podstawowe

Problem 1 (czas realizacji 45 min)

W firmie National Insurance trwa właśnie sezon urlopowy. Jako jedyny obecny administrator baz
danych postanowiłeś przetestowad implementacje bazy danych Prace Dyplomowe, która jest
częścią twojego semestralnego projektu zaliczeniowego. Wytyczne do bazy jasno określa
zaprojektowany przez kolegę z zespołu diagram. Postanowiłeś użyd dostępnego systemu MS SQL
Server 2008 wraz z graficznym interfejsem Management Studio do wykonania tego zadania.

Zadanie

Tok postępowania

1. Tworzenie
bazy danych

Uruchom maszynę wirtualną BD2008.

— Jako nazwę użytkownika podaj Administrator.
— Jako hasło podaj P@ssw0rd.

Jeśli nie masz zdefiniowanej maszyny wirtualnej w MS Virtual PC,
dodaj nową maszynę używając wirtualnego dysku twardego z pliku
D:\VirtualPC\Dydaktyka\BD2008.vhd.

Kliknij Start. Z grupy programów Microsoft SQL Server 2008 uruchom
SQL Server Management Studio.

W oknie logowania kliknij Connect.

W oknie Object Explorer kliknij prawym przyciskiem myszy folder
Databases i z menu kontekstowego wybierz New Database.

W pole Database name wpisz nazwę bazy danych PraceDyplomowe.

Ustaw początkowe wielkości plików na 4 MB dla pliku danych i 1 MB dla
pliku dziennika transakcji.

Rys. 16 Tworzenie nowej bazy danych

Kliknij przycisk OK.

2. Ustawienie
opcji bazy danych

Kliknij prawym przyciskiem myszy na bazie danych PraceDyplomowe i z
menu kontekstowego wybierz Properties.

background image

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski

Moduł 3

ITA

-

101 Bazy Danych

Instalacja i konfiguracja MS SQL Server 2008

Strona 18/27

W oknie Database Properties - PraceDyplomowe kliknij po lewej
stronie opcję Options.

Zmieo ustawienie opcji Recovery model na Simple.

Rys. 17 Tworzenie nowej bazy danych

Kliknij przycisk OK.

Listę opcji bazy danych znajdziesz w Books Online pod hasłem
database options (najszybciej znajdziesz ten fragment pomocy
używając indeksu dostępnego w Books Online)

3. Dodanie tabel
bazy danych

W tym kroku dodamy wymagane tabele bazy danych i określimy ich
atrybuty. Zaczniemy od prostych tabel.

Kliknij prawym przyciskiem myszy pole Tables w rozwiniętym drzewie
bazy PraceDyplomowe.

Kliknij opcję NewTable.

Określimy teraz pierwszą kolumnę tej tabeli wraz z typem danych.

Kliknij pole Column name i wpisz nazwę ID_TypStudiow.

Kliknij na polu data type i z listy rozwijanej wybierz smallint.

Odznacz pole Allow null w celu zapobiegania wpisywania do tej
kolumny wartości null.

background image

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski

Moduł 3

ITA

-

101 Bazy Danych

Instalacja i konfiguracja MS SQL Server 2008

Strona 19/27

Rys. 19 Określenie nazwy i typu danych dla kolumny

Ustal nazwę dla nowej tabeli klikając ikonę dyskietki z górnego paska
zadao.

Wprowadź nazwę TypStudiow i kliknij przycisk OK.

Rys. 20 Tworzenie nowej tabeli

4. Ustalenie
klucza głównego
dla tabeli

Kliknij prawym klawiszem nazwę kolumny.

Kliknij opcję Set Primary Key.

Zapisz tabelę klikając ikonę dyskietki.

background image

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski

Moduł 3

ITA

-

101 Bazy Danych

Instalacja i konfiguracja MS SQL Server 2008

Strona 20/27

Rys. 21 Tworzenie klucza głównego tabeli

5. Tworzenie
pozostałych
prostych table

Bazując na poprzednim schemacie postępowania utwórz tabele Stopien
i SlowoKlucz zawierające odpowiednio kolumny ID_Stopien i
ID_SlowoKlucz, obydwie z typem danych varchar(25).

Jako rezultat powinieneś zobaczyd listę trzech tabel w polu Tables bazy
PraceDyplomowe.

Rys. 22 Pozostałe proste tabele bazy PraceDyplomowe

6. Utworzenie
głównych tabel
bazy

Pora na utworzenie głównej tabeli naszej bazy danych. Tabela
PracaDyplomowa jest punktem centralnym bazy i zawiera kolumny
ID_Pracy, Temat, Data, Ocena.

Kliknij prawym przyciskiem myszy pole Tables i wybierz opcję
NewTable.

— Wprowadź nazwę dla nowej kolumny ID_Pracy.
— Ustal typ danych dla tej kolumny jako smallint.
— Wprowadź nazwę dla następnej kolumny jako Temat.
— Ustal typ danych jako varchar(100).
— Wprowadź nazwę dla trzeciej kolumny jako Data.
— Jako typ danych ustal datetime.

background image

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski

Moduł 3

ITA

-

101 Bazy Danych

Instalacja i konfiguracja MS SQL Server 2008

Strona 21/27

— Wprowadź nazwę dla ostatniej kolumny jako Ocena.
— Jako typ danych ustal smallint.

Dla każdej kolumny odznacz opcję Allow null.

Ustal klucz główny klikając prawym przyciskiem myszy kolumnę
ID_Pracy i wybierając opcję Set Primary Key.

Zapisz tabelę pod nazwą PracaDyplomowa klikając ikonę dyskietki.

Rys. 23 Głowna tabela bazy PraceDyplomowe

Następną dużą tabelą jest tabela Osoba przechowująca informacje o
osobach wykonujących prace dyplomowe oraz wykładowcach i
recenzentach

Kliknij prawym przyciskiem myszy pole Tables i wybierz opcję
NewTable.

— Wprowadź nazwę dla nowej kolumny ID_Osoby.
— Ustal typ danych dla tej kolumny jako smallint
— Wprowadź nazwę dla następnej kolumny jako Imie.
— Ustal typ danych jako varchar(50).
— Wprowadź nazwę dla trzeciej kolumny jako Nazwisko.
— Jako typ danych ustal varchar(50).
— Wprowadź nazwę dla ostatniej kolumny jako Nr_Indeksu.
— Jako typ danych ustal varchar(10).

Dla każdej kolumny odznacz opcję Allow null.

Ustal klucz główny klikając prawym przyciskiem myszy na kolumnie
ID_Osoby i wybierając opcję Set Primary Key .

Zapisz tabelę pod nazwą Osoba klikając ikonę dyskietki.

Rys. 24 Tabela Osoba

background image

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski

Moduł 3

ITA

-

101 Bazy Danych

Instalacja i konfiguracja MS SQL Server 2008

Strona 22/27

7. Utworzenie
tabel
pomocniczych

Kliknij prawym przyciskiem myszy pole Tables i wybierz opcję
NewTable.

— Wprowadź nazwę dla nowej kolumny ID_Osoby.
— Ustal typ danych dla tej kolumny jako smallint.
— Wprowadź nazwę dla następnej kolumny jako ID_Pracy
— Ustal typ danych jako smallint

Dla każdej kolumny odznacz opcję Allow null

Ponieważ dla tej tabeli unikalna będzie zarówno jedna jak i druga
kolumna klucz główny możemy założyd na obydwu jednocześnie

Zaznacz z wciśniętym klawiszem SHIFT obydwie kolumny.

Ustal klucz główny klikając prawym przyciskiem myszy na zaznaczeniu i
wybierz opcję Set Primary Key.

Zapisz tabelę pod nazwą Autorzy klikając ikonę dyskietki.

Rys. 25 Tabela Autorzy z kluczem głównym na dwóch kolumnach

8. Utworzenie
pozostałych tabel
pomocniczych

Bazując na poprzednim schemacie postępowania utwórz tabele Slownik
i Recenzent zawierające odpowiednio kolumny ID_SlowoKlucz,
ID_Pracy oraz ID_Osoby, ID_Pracy, wszystkie z typem danych smallint.

Jako rezultat powinieneś zobaczyd listę wszystkich tabel w polu Tables
bazy PraceDyplomowe.

Rys. 26 Wszystkie tabela bazy PraceDyplomowe

9. Utworzenie
związków

Kliknij prawym klawiszem myszy pole Database Diagrams bazy
PraceDyplomowe.

background image

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski

Moduł 3

ITA

-

101 Bazy Danych

Instalacja i konfiguracja MS SQL Server 2008

Strona 23/27

pomiędzy
tabelami

Wybierz opcję New Database Diagram.

W nowym oknie dodaj wszystkie nazwy tabel klikając przycisk Add.

Kliknij przycisk Close.

Kliknij i przeciągnij kursor myszki pomiędzy pole ID_Osoby tabeli Osoba
a polem ID_Osoby tabeli Autorzy.

Rys. 27 Tworzenie związku pomiędzy tabelami

W nowym oknie dotyczącym właściwości związku kliknij przycisk OK.

Zostanie utworzony klucz obcy w tabeli Autorzy jako identyfikator
powiązanej tabeli Osoba. Zatwierdź klikając przycisk OK.

Rys. 28 Tworzenie klucza obcego

Powtórz tą operację dla każdego związku pomiędzy tabelami zgodnie z
diagramem bazodanowym. Jako rezultat powinieneś otrzymad
następujący diagram:

background image

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski

Moduł 3

ITA

-

101 Bazy Danych

Instalacja i konfiguracja MS SQL Server 2008

Strona 24/27

Rys. 29 Tworzenie pozostałych kluczy obcych

10. Wykonanie
kopii zapasowej
bazy

Zamknij wszystkie okna z diagramem i definicjami tabel.

Kliknij prawym klawiszem myszy na pole PraceDyplomowe.

Z menu wybierz opcję Tasks -> Back Up.

Rys. 29 Uruchomienie procedury kopii bezpieczeostwa

W nowym oknie możesz zmienid nazwę pliku kopii bezpieczeostwa i
jego domyślną lokację. Kliknij przycisk OK.

Po chwili powinien pojawid się komunikat o prawidłowym zakooczeniu
tworzenia kopii bezpieczeostwa.

background image

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski

Moduł 3

ITA

-

101 Bazy Danych

Instalacja i konfiguracja MS SQL Server 2008

Strona 25/27

Rys. 30 Tworzenie kopii bezpieczeostwa zakooczone sukcesem

Kliknij przycisk OK.

11. Odzyskanie
bazy danych z
kopii
bezpieczeostwa

Załóż nową bazę danych o nazwie PraceDyplomowe_TMP

Kliknij prawym przyciskiem myszki na nazwie nowej bazy danych.

Z menu wybierz opcję Tasks -> Restore -> Database.

Rys. 31 Tworzenie kopii bezpieczeostwa zakooczone sukcesem

W nowym oknie kliknij pole From device.

Kliknij ikonę listy wyboru *…+

Kliknij przycisk Add.

Wskaż lokację pliku z kopią zapasową bazy danych.

background image

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski

Moduł 3

ITA

-

101 Bazy Danych

Instalacja i konfiguracja MS SQL Server 2008

Strona 26/27

Rys. 32 Wskazywanie pliku z kopią zapasową

Kliknij przycisk OK.

Kliknij pole Options z listy po lewej stronie.

Zaznacz pole Overwrite an existing database.

Kliknij przycisk OK.

Odzyskanie bazy danych PraceDyplomowe zakooczyło się sukcesem.
Możesz sprawdzid czy nic po drodze nie zginęło przeglądając strukturę
bazy w oknie Object Explorer.

background image

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski

Moduł 3

ITA

-

101 Bazy Danych

Instalacja i konfiguracja MS SQL Server 2008

Strona 27/27

Laboratorium rozszerzone

Zadanie 1 (czas realizacji 90 min)

Zachęcony sukcesem w utworzeniu bazy danych PraceDyplomowe postanowiłeś ją rozbudowad.
Przyglądając się uważnie diagramowi dostarczonemu wraz z dokumentacją bazy zauważyłeś, że
przy tworzeniu bazy umknęła ci tabela nośnik. W bazie nie ma też jak dotąd żadnych danych.
Postanowiłeś podjąd następujące kroki:

dodad tabelę z typem nośnika pracy dyplomowej

rozbudowad bazę o możliwośd przechowywania informacji o wydziale i kierunku studenta

dodad możliwośd zaznaczenia liczby dostarczonych kopii pracy z podziałem na wersję
papierową i elektroniczną

dodad możliwośd umieszczenia przez recenzenta recenzji pracy i własnej oceny

zastanawiasz się też, czy byłaby możliwośd automatycznego obliczania średniej z oceny z
recenzji, obrony i promotora pracy

zasilid bazę w odpowiednią ilośd danych

Tak przygotowaną bazę należy skopiowad do bezpiecznej lokacji. Bazując na opcjach dostępnych w
narzędziu Management Studio zastanów się, jak najprościej możesz zarządzad kopiami
bezpieczeostwa.


Wyszukiwarka

Podobne podstrony:
ITA 101 Modul 02
ITA 101 Modul 06
ITA 101 Modul 13
ITA 101 Modul 11
ITA 101 Modul 04
ITA 101 Modul 09
ITA 101 Modul Dodatek A
ITA 101 Modul 08
ITA 101 Modul 07
ITA 101 Modul 10
ITA 101 Modul 12
ITA 101 Modul 01
ITA 101 Modul 05
ITA 101 Modul 02 v2

więcej podobnych podstron