Zakład Informatyki Gospodarczej
Wydział Zarządzania Politechniki Warszawskiej
Laboratorium Baz Danych
Instrukcja nr 2:
MODELOWANIE
BAZY
DANYCH
Z
WYKORZYSTANIEM
NARZĘDZIA
POWER
DESIGNER
I
TECHNOLOGII
MS
SQL
SERVER
Opracowanie:
dr inż. Teresa Ostrowska
dr inż. Katarzyna Rostek
Spis treści
Tworzenie modelu konceptualnego bazy danych w PD ................................... 2
Generowanie modelu fizycznej bazy danych w PD .......................................... 8
Generowanie skryptu definiującego bazę danych .......................................... 11
Modyfikacja modelu bazy danych w MS SQL Server .................................... 17
W a r s z a w a 2011
opracowanie: dr inż. T. Ostrowska, dr inż. K. Rostek
2/I2
in2_modelowanie_bazy_danych, 2011-09-28
materiały do użytku wewnętrznego
1. Sformułowanie zadania
Należy przeprowadzić modelowanie bazy danych z wykorzystaniem technologii
PowerDesigner i MS SQL Server w zakresie:
zdefiniowania i sprawdzenia poprawności modelu konceptualnego w systemie
PowerDesigner (pp. 2.1),
wygenerowania w systemie PowerDesigner modelu fizycznej bazy danych dla
środowiska MS SQL Server oraz sprawdzenia poprawności modelu (pp. 2.2),
wygenerowania w systemie PowerDesigner skryptu, generującego model bazy danych w
środowisku MS SQL Server (pp. 2.3),
założenie bazy danych (pp. 2.4),
sprawdzenia poprawności i modyfikacje modelu bazy danych w środowisku MS SQL
Server (pp. 2.5).
2. Wykonanie zadania
2.1.
Tworzenie modelu konceptualnego bazy danych w PD
Model konceptualny bazy danych Biblioteka, wynikający z analizy procesu wypożyczenia
książki oraz przypadków użycia, opisanych w instrukcji nr 1, został przedstawiony na Rys. 1
w postaci diagramu związków encji. Model. ten zostanie zapisany w technologii
PowerDesigner. Na rysunku zamieszczono legendę, zawierającą najczęściej stosowane
oznaczenia opcjonalności i obligatoryjności występowania encji w związkach.
Rys. 1 Diagram związków encji, definiujący zestaw i strukturę danych dla procesu wypożyczenia książki
CZYTELNIK
idCzytelnika
nazwiskoC
imie1C
imie2C
kodMiastoC
ulNrdNrmC
nrTelefonuC
adresMailowyC
dataUrodzeniaC
nrDowoduTozsamosci
wyksztalcenie
PRACOWNIK
idPracownika
nazwiskoP
imieP
nrTelP
AUTOR
idAutora
nazwiskoA
imieA
EGZEMPLARZ
idEgzemplarza
znDostMagazynowej
znWypozyczenia
WYPOZYCZENIE
idWypozyczenia
dataWypozyczenia
KSIAZKA
idKsiazki
tytulKsiazki
nazwaW
rokWydania
dziedzina
1,1 (jeden i tylko jeden)
1,n (jeden lub wiele)
0,1 (zero lub jeden)
0,n (zero lub wiele)
opracowanie: dr inż. T. Ostrowska, dr inż. K. Rostek
3/I2
in2_modelowanie_bazy_danych, 2011-09-28
materiały do użytku wewnętrznego
Dla skonstruowania modelu konceptualnego, należy uruchomić program PowerDesigner.
Utworzyć nowy model (File->New Model) i wskazać model Conceptual Data Model.
Następnie uzupełnić własność Model name jako ModelKonceptBiblioteka.
W celu wprowadzenia do modelu poszczególnych encji należy wybrać ikonę Entity
Rys. 2 Ikona Entity
Prawidłowe rozmieszczenie encji prezentuje Rys. 3.
Rys. 3 Lista encji
Każda encja zawiera listę atrybutów, którą należy zdefiniować wchodząc we właściwości
encji (np. podwójnym kliknięciem myszy) i wybierając zakładkę Attributes (Rys. 4).
Rys. 4 Wprowadzanie atrybutów encji
opracowanie: dr inż. T. Ostrowska, dr inż. K. Rostek
4/I2
in2_modelowanie_bazy_danych, 2011-09-28
materiały do użytku wewnętrznego
Poszczególne kolumny okna Attributes przechowują następujące informacje:
o Name – nazwa atrybutu: powinna być jednoczłonowa i składać się z liter, cyfr oraz
znaku podkreślenia (nie należy wprowadzać spacji i znaków diakrytycznych języka
polskiego),
o Code – jeżeli nazwa atrybutu jest długa, to można wprowadzić skrócone oznaczenie
kodowe, które będzie służyło do identyfikacji atrybutu; jeżeli użytkownik nie
zadecyduje inaczej to Code = Name,
o Data Type – typ danych przechowywanych w polu, wybierany spośród typów
standardowych dostępnych po wybraniu przycisku z trzema kropkami z prawej strony
pola (Rys. 5).
Rys. 5 Opis atrybutów encji i tabela danych standardowych
Tabela danych standardowych zawiera typy podzielone na grupy.
(a) Największa grupa to typy numeryczne, umieszczone w pierwszej kolumnie po lewej
stronie tabeli. Integer, Short integer, Long integer, Byte i Number to typy liczb całkowitych.
Decimal, Float, Short float, Long float to typy liczb rzeczywistych. Money to typ walutowy.
Serial to automatyczny numer przydzielany przez system i bez możliwości jego zmiany przez
użytkownika (wykorzystywany najczęściej w identyfikatorach encji; UWAGA! W każdej
encji typ Serial może być wykorzystany najwyżej jeden raz). Boolean to typ logiczny
przyjmujący wartości Tak/Nie.
opracowanie: dr inż. T. Ostrowska, dr inż. K. Rostek
5/I2
in2_modelowanie_bazy_danych, 2011-09-28
materiały do użytku wewnętrznego
(b) Górna grupa umieszczona w środkowej kolumnie tabeli to typy tekstowe o różnej
maksymalnej długości pola. Pola tekstowe, o długości nie przekraczającej 500 znaków, to:
Characters, Variable characters, Long characters, Long var characters i Text. Typy
Multibyte oraz Variable multibyte to okienka tekstowe, które mogą pomieścić kilka bajtów
tekstu.
(c) Ostatnia kolumna prezentuje typy niestandardowe, takie jak: typy binarne (Binary,
Variable binary, Long binary), typy graficzne (Bitmap, Image), hiperlinki (OLE) oraz typy
własne użytkownika (Other). I chociaż tablica dopuszcza także brak definicji typu
(Undefined), to jednak przy dalszych etapach generowania modelu fizycznego oraz bazy
danych do konkretnego systemu zarządzania bazą danych, brak typu będzie traktowany jako
błąd.
o Length – rozmiar pola, który ogranicza maksymalną dopuszczalną długość pola do
wartości zadeklarowanej przez użytkownika (jest to ważne przy dużych rozmiarach
baz danych, gdzie baza danych nie powinna posiadać pól, które tylko w nieznacznej
części są wypełnione),
o Precision – liczba miejsc po przecinku (dla pól numerycznych typu rzeczywistego),
o M (Mandatory) - wskazanie, czy wprowadzenie wartości atrybutu jest obligatoryjne
(własność aktywna), czy opcjonalne (własność nieaktywna),
o P (Primary) - wskazanie, czy atrybut jest identyfikatorem encji,
o D (Display) - wskazanie, czy atrybut ma być wyświetlany na diagramie.
Podobnie należy wypełnić atrybuty w pozostałych encjach modelu (Rys. 6). Symbol
#
przed nazwą atrybutu oznacza, że jest to identyfikator encji (klucz główny). Symbol
*
oznacza, że wartość atrybutu jest obligatoryjna (Mandatory). Symbol
o
oznacza, że wartość
atrybutu jest opcjonalna.
Rys. 6 Encje wraz z atrybutami
Do wskazania związków między encjami należy wykorzystać ikonę Relationship (Rys. 7).
Rys. 7 Ikona Relationship
opracowanie: dr inż. T. Ostrowska, dr inż. K. Rostek
6/I2
in2_modelowanie_bazy_danych, 2011-09-28
materiały do użytku wewnętrznego
Związki typu 1,n tworzymy łącząc encję po stronie 1 związku (początek połączenia) z
encją stojącą po stronie n w związku (koniec połączenia, Rys. 8).
Rys. 8 Tworzenie związku typu 1,n
Aby utworzyć związek typu n,m należy utworzyć dowolny związek pomiędzy encjami,
wejść w jego własności (np. dwukrotnie klikając w linię połączenia), aktywować zakładkę
Cardinalities i wskazać w niej prawidłowy typ związku (Rys. 9).
Rys. 9 Tworzenie związku typu n,m
Korzystając z własności związku oraz zakładki Cardinalities, należy dla wszystkich
związków zdefiniować ustaloną na diagramie związków encji (Rys. 1) obligatoryjność /
opcjonalność występowania poszczególnych encji w związku. Przykładowo na Rys. 10
przedstawiono definicję związku pomiędzy encją Wypozyczenie i Czytelnik. Czytelnik (już
opracowanie: dr inż. T. Ostrowska, dr inż. K. Rostek
7/I2
in2_modelowanie_bazy_danych, 2011-09-28
materiały do użytku wewnętrznego
zarejestrowany) może wypożyczyć egzemplarz książki ale nie musi. Zatem związek
czytelnika z Wypozyczeniem jest opcjonalny. Wypożyczenie każdego egzemplarza jest
(i musi być) związane tylko z jednym czytelnikiem, zatem związek wypożyczenia
z czytelnikiem ma charakter obligatoryjny, co zostało zaznaczone przez aktywację
własności Mandatory w sekcji Wypozyczenie to Czytelnik (Rys. 10).
Rys. 10 Definiowanie obligatoryjności występowania encji w związku
Model konceptualny w postaci diagramu związków encji, po zdefiniowaniu wszystkich
związków oraz obligatoryjności i opcjonalności występowania poszczególnych encji
w tych związkach, prezentuje Rys. 11. W notacji przyjętej w PowerDesigner, oprócz
opisu liczności związku, opcjonalność jest zaznaczona linią przerywaną (np. książka może
mieć wiele egzemplarzy), a obligatoryjność linią ciągłą (np. egzemplarz musi być
egzemplarzem jednej książki).
Rys. 11 Model konceptualny danych dla bazy danych dla procesu wypożyczenia książki
opracowanie: dr inż. T. Ostrowska, dr inż. K. Rostek
8/I2
in2_modelowanie_bazy_danych, 2011-09-28
materiały do użytku wewnętrznego
Dla sprawdzenia poprawności modelu, należy z menu Tools wybrać opcję Check Model
(Rys. 12 lub użyć klawisza F4).
Rys. 12 Sprawdzanie poprawności modelu
Jeżeli okienko wyników testu jest puste (Rys. 13), to oznacza, że model jest poprawny
i można przejść do generowania modelu fizycznego. Jeżeli pojawiły się błędy (Errors) lub
ostrzeżenia (Warnings), należy je usunąć i powtórnie zlecić sprawdzenie poprawności
modelu – aż do wyeliminowania wszelkich nieprawidłowości.
Rys. 13 Wynik wskazujący na poprawność modelu konceptualnego
Poprawny
model
konceptualny należy zapisać na pulpicie w folderze
Laboratorium\Projekt.
2.2.
Generowanie modelu fizycznej bazy danych w PD
Model konceptualny definiuje zestaw danych, ich strukturę i zależności, które są danymi
wymaganymi podczas realizacji określonego procesu lub zbioru procesów. Dane te są
konieczne bez względu na to, czy proces jest wspomagany systemem informatycznym czy
jest realizowany bez udziału systemu. Model konceptualny jest konstruowany bez
uwzględniania jego implementacji w jakimkolwiek systemie informatycznym, jest
prezentowany w formie graficznej za pomocą diagramu związków encji. Dla usprawnienia
budowy baz danych, takie narzędzia jak Power Designer, wspierają fazę budowy modelu
konceptualnego i zapewniają jego transformację w model fizyczny danych (ściślej: model
fizycznej bazy danych), z uwzględnieniem wskazanego systemu zarządzania bazą danych.
Jeżeli docelowa baza danych jest bazą relacyjną, to:
o na podstawie encji modelu logicznego są generowane opisy tabel bazy,
o
każdy związek 1,n pomiędzy encjami jest odwzorowywany przez wprowadzenie do
tabel będących w związku po stronie n tzw. kluczy obcych, które są kluczami
głównymi (podstawowymi) tabel będących w związku po stronie 1,
o
każdy związek n,m pomiędzy dwiema encjami jest zamieniany na dwa związki 1,n i
rozdzielającą je tabelę (nazywaną asocjacyjną), zawierającą klucze główne tabel
będących w związku n,m.
opracowanie: dr inż. T. Ostrowska, dr inż. K. Rostek
9/I2
in2_modelowanie_bazy_danych, 2011-09-28
materiały do użytku wewnętrznego
W celu wygenerowania modelu fizycznego, przy widoczności na ekranie modelu
konceptualnego, należy wybrać z menu Tools opcję Generate Physical Data Model (Rys.
14).
Rys. 14 Generowanie fizycznego modelu bazy danych
Następnie należy zdefiniować następujące własności modelu fizycznego (Rys. 15):
o DBMS – czyli system zarządzania bazą danych, który będzie wykorzystany do
technicznej realizacji bazy danych (MS SQL Server 2008),
o Name – nazwa modelu fizycznego (ModelFizycznyBiblioteka).
Rys. 15 Definiowanie własności modelu fizycznego
opracowanie: dr inż. T. Ostrowska, dr inż. K. Rostek
10/I2
in2_modelowanie_bazy_danych, 2011-09-28
materiały do użytku wewnętrznego
Po wciśnięciu klawisza OK model fizyczny jest generowany oraz sprawdzana jest jego
poprawność.
Model fizyczny (Rys. 16) może mieć nieco zmienione (w stosunku do modelu
konceptualnego) nazwy typów danych. Wynika to z konieczności dostosowania modelu
do wymagań systemu zarządzania bazą danych, wskazanego przy generowaniu modelu.
W tabelach pozostających w związku, po stronie n pojawiają się klucze obce (fk), które
umożliwiają utworzenie relacji z tabelą pozostającą w związku po stronie 1.
Związek n,m w modelu konceptualnym został zastąpiony dwiema relacjami typu 1,n oraz
dodatkową tabelą (należy zmienić jej nazwę na AutorKsiazki) zawierającą identyfikatory
tabel, które łączy.
Model fizyczny będzie podstawą do wygenerowania skryptu (programu),
umożliwiającego założenie bazy danych w środowisku MS SQL Server.
Rys. 16 Model fizycznej bazy danych dla systemu SIW
Przed przystąpieniem do generowania bazy danych należy sprawdzić, czy model fizyczny
bazy danych nie zawiera błędów. Po wciśnięciu klawisza F4 (lub wybór opcji: Tools -
Check Model) pojawi się komunikat ostrzegający użytkownika o powtórzeniu się
indeksów w utworzonej tabeli AutorKsiazki (Rys. 17).
Rys. 17 Ostrzeżenie w wynikach sprawdzenia modelu fizycznego
Aby wyeliminować tę usterkę, należy we właściwościach tabeli AutorKsiazki, otworzyć
zakładkę Indexes i usunąć dwa ostatnie indeksy na liście (których nazwa zakończona jest
literami _FK, Rys. 18).
opracowanie: dr inż. T. Ostrowska, dr inż. K. Rostek
11/I2
in2_modelowanie_bazy_danych, 2011-09-28
materiały do użytku wewnętrznego
Rys. 18 Usuwanie indeksów
Poprawny model fizyczny danych należy zapisać w umieszczonym na pulpicie maszyny
wirtualnej folderze: Laboratorium\Projekt.
2.3.
Generowanie skryptu definiującego bazę danych
W celu wygenerowania skryptu, umożliwiającego utworzenie bazy danych, należy z menu
Database wybrać opcję Generate Database (Rys. 19).
Rys. 19 Generowanie bazy danych
W oknie własności generowania bazy danych należy uzupełnić Directory (miejsce, gdzie
wygenerowany skrypt będzie zapisany: na pulpicie folder Laboratorium\Projekt), File
name (nazwa skryptu) oraz zaznaczyć Script generation (Rys. 20).
Rys. 20 Definiowanie własności generowania skryptu
opracowanie: dr inż. T. Ostrowska, dr inż. K. Rostek
12/I2
in2_modelowanie_bazy_danych, 2011-09-28
materiały do użytku wewnętrznego
Po wciśnięciu klawisza OK, nastąpi wygenerowanie pliku ze skryptem w języku SQL
i zapisanie go w podanej lokalizacji. Wykonanie skryptu w określonym wcześniej
środowisku (w naszym przypadku w systemie MS SQL Server), spowoduje wprowadzenie
do bazy danych (założonej wcześniej w systemie MS SQL Server), tabel o strukturze
i zawartości odpowiadającej modelowi fizycznemu, na podstawie którego został
wygenerowany skrypt.
Na tym etapie zostały zakończone prace związane z przygotowaniem modelu bazy, które
były realizowane z wykorzystaniem programu PowerDesigner. Baza danych, zgodnie
z wcześniejszą deklaracją, zostanie założona w systemie MS SQL Server.
2.4.
Założenie bazy danych
Po zamknięciu programu PowerDesigner i uruchomieniu programu MS SQL Server
Management Studio, w oknie dialogowym należy zlecić połączenie z serwerem, przez
wybór przycisku Connect (Rys. 21).
Rys. 21 Okno łączenia z serwerem
W oknie eksploratora obiektów (Object Explorer), na obiekcie Databases należy
uaktywnić menu podręczne (menu pod prawym klawiszem myszy) i wybrać opcję New
Database (Rys. 22).
Rys. 22 Tworzenie nowej bazy danych w MS SQL Server
opracowanie: dr inż. T. Ostrowska, dr inż. K. Rostek
13/I2
in2_modelowanie_bazy_danych, 2011-09-28
materiały do użytku wewnętrznego
W oknie własności nowej bazy danych (Rys. 23) należy podać jej nazwę (Database name)
oraz ścieżkę składowania (Path) pliku z danymi oraz pliku z rejestrem transakcji. Przycisk
z trzema kropkami po prawej stronie nazwy ścieżki służy do tego, żeby wybraną
lokalizację wskazać myszką, zamiast wprowadzać ją ręcznie. Właściwa lokalizacja bazy
danych Biblioteka to zamieszczony na pulpicie maszyny wirtualnej folder:
Laboratorium\Baza danych.
Rys. 23 Definiowanie własności nowej bazy danych
Utworzona w ten sposób baza danych jest pusta (nie posiada żadnych tabel, co można
sprawdzić w oknie eksploratora obiektów (Rys. 24).
Rys. 24 Pusta baza danych Biblioteka
Żeby odtworzyć, zaprojektowaną w PowerDesigner, strukturę bazy danych, należy
uruchomić wygenerowany skrypt. W tym celu z menu File należy wybrać opcje Open-
>File (Rys. 25).
Rys. 25 Otwieranie skryptu
opracowanie: dr inż. T. Ostrowska, dr inż. K. Rostek
14/I2
in2_modelowanie_bazy_danych, 2011-09-28
materiały do użytku wewnętrznego
Następnie należy wskazać plik BD_Bilioteka w jego lokalizacji i wybrać Open (Rys. 26).
Rys. 26 Wybieranie pliku do otwarcia
Plik zostanie otwarty w oknie roboczym. Należy sprawdzić, czy w oknie Available
Databases aktywna jest baza Biblioteka (jeżeli nie, trzeba ją wybrać z listy), a następnie
można uruchomić program wybierając przycisk Execute (Rys. 27).
Rys. 27 Uruchamianie skryptu
Jeżeli w oknie wynikowym (Rys. 28), w zakładce Messages pojawił się komunikat:
Command(s) completed successfully, a w eksploratorze obiektów w obiekcie Tables jest
widoczna lista wszystkich tabel struktury bazy danych Biblioteka, to oznacza, że zadanie
zostało zakończone pomyślnie i w bazie danych, założonej w MS SQL Server, znalazły się
wszystkie zaprojektowane tabele, opisane encjami w modelu konceptualnym bazy
danych.
opracowanie: dr inż. T. Ostrowska, dr inż. K. Rostek
15/I2
in2_modelowanie_bazy_danych, 2011-09-28
materiały do użytku wewnętrznego
Rys. 28 Poprawne zakończenie wykonania skryptu
Do bazy danych zostały wprowadzone struktury tabel, natomiast nie jest automatycznie
odtwarzany diagram (model graficzny) bazy danych. Musi on zostać odtworzony w
sposób manualny. W tym celu, w eksploratorze obiektów (Rys. 29) należy wybrać opcję
Database Diagrams. Po wybraniu tego obiektu pojawi się komunikat widoczny na Rys.
29. Należy wybrać przycisk Yes.
Rys. 29 Deklaracja tworzenia relacji między obiektami bazy danych
Pojawi się okno dodawania tabel Add Table do diagramu relacji (Rys. 30). Należy
zaznaczyć wszystkie tabele w oknie i wybrać przycisk Add. Po wstawieniu tabel do okna
relacji zamknąć okno dodawania tabel przyciskiem Close.
Rys. 30 Dodawanie tabel do diagramu relacji
opracowanie: dr inż. T. Ostrowska, dr inż. K. Rostek
16/I2
in2_modelowanie_bazy_danych, 2011-09-28
materiały do użytku wewnętrznego
Tabele w oknie relacji należy poustawiać w sposób podobny do uporządkowania
w modelu konceptualnym i fizycznym bazy danych, a następnie należy przywrócić
łączące je relacje. Wykonuje się to przeciągając myszką klucz podstawowy tabeli
pozostającej w związku po stronie 1 (np. idPracownika z tabeli Pracownik) na
odpowiadający mu klucz obcy w tabeli, która w związku pozostaje po stronie n (np.
idPracownika w tabeli Wypozyczenie). Pojawia się okno potwierdzające poprawność
tworzonej relacji (Rys. 31).
Rys. 31 Definicja relacji
Po dwukrotnym wybraniu klawisza OK relacja zostanie utworzona (Rys. 32).
Rys. 32 Relacja Pracownik-Wypozyczenie
W ten sposób należy zdefiniować wszystkie relacje w strukturze bazy danych Biblioteka
(Rys. 33).
opracowanie: dr inż. T. Ostrowska, dr inż. K. Rostek
17/I2
in2_modelowanie_bazy_danych, 2011-09-28
materiały do użytku wewnętrznego
Rys. 33 Struktura relacji bazy danych Biblioteka
Wykonany diagram należy zapamiętać pod nazwą Relacje (Rys. 34).
Rys. 34 Nazwa diagramu relacji
2.5.
Modyfikacja modelu bazy danych w MS SQL Server
Podczas projektowania bazy danych w narzędziu PowerDesigner pominięto dwie encje:
Jednostka, której atrybutami są dane kontaktowe jednostki, wykorzystywane podczas
redagowania raportów oraz Wydawnictwo, której atrybutami są dane kontaktowe
wydawnictw, z których pochodzą książki Biblioteki. Uzupełnioną strukturę bazy danych
Biblioteka prezentuje Rys. 35. Aby dokonać koniecznych uzupełnień, można byłoby cofnąć
się aż do poziomu modelu konceptualnego w narzędziu PowerDesigner i wykonać całą
procedurę modelowania jeszcze raz. Niezbędne modyfikacje można także wykonać
bezpośrednio w środowisku MS SQL Server.
opracowanie: dr inż. T. Ostrowska, dr inż. K. Rostek
18/I2
in2_modelowanie_bazy_danych, 2011-09-28
materiały do użytku wewnętrznego
Rys. 35 Zmodyfikowany model związków encji
W tym celu na obiekcie Tables w eksploratorze obiektów należy wybrać New Table
(menu podręczne, Rys. 36).
Rys. 36 Tworzenie nowej tabeli
W oknie roboczym należy zdefiniować kolumny tabeli podając: Name (nazwę), Data
Type (typ danych) oraz Allow Nulls (czy pole może pozostać puste?). Należy w ten sposób
zdefiniować dwie nowe tabele: Jednostka (Rys. 37) oraz Wydawnictwo (Rys. 38).
Rys. 37 Definicja tabeli Jednostka
CZYTELNIK
idCzytelnika
nazwiskoC
imie1C
imie2C
kodMiastoC
ulNrdNrmC
nrTelefonuC
adresMailowyC
dataUrodzeniaC
nrDowoduTozsamosci
wyksztalcenie
PRACOWNIK
idPracownika
nazwiskoP
imieP
nrTelP
AUTOR
idAutora
nazwiskoA
imieA
EGZEMPLARZ
idEgzemplarza
znDostMagazynowej
znWypozyczenia
WYPOZYCZENIE
idWypozyczenia
dataWypozyczenia
KSIAZKA
idKsiazki
tytulKsiazki
rokWydania
dziedzina
WYDAWNICTWO
idWydawnictwa
nazwaW
skrotNazwy
kodMiastoW
ulNrdNrmW
telTelW
internetW
JEDNOSTKA
idJednostki
nazwaJedn
nazwaJednNadrzednej
kodMiastoJedn
ulNrdNrmJedn
telJedn
opracowanie: dr inż. T. Ostrowska, dr inż. K. Rostek
19/I2
in2_modelowanie_bazy_danych, 2011-09-28
materiały do użytku wewnętrznego
Rys. 38 Definicja tabeli Wydawnictwo
W każdej z tabel trzeba uaktywnić klucz główny, którym jest odpowiednio idJednostki
w tabeli Jednostka oraz idWydawnictwa w tabeli Wydawnictwo. W tym celu, będąc
w wybranym polu, należy z menu podręcznego wybrać opcję Set Primary Key (Rys. 39).
Rys. 39 Uaktywnianie klucza głównego tabeli
Polem łączącym tabele Ksiazka i Wydawnictwo jest klucz główny idWydawnictwa.
Należy zatem uzupełnić definicję tabeli Ksiazka o to pole. W tym celu należy uruchomić
tryb projektowania tabeli Ksiazka, co można zrobić wybierając z menu podręcznego na
obiekcie Ksiazka opcję Design (Rys. 40).
Rys. 40 Aktywowanie trybu projektowania tabeli
opracowanie: dr inż. T. Ostrowska, dr inż. K. Rostek
20/I2
in2_modelowanie_bazy_danych, 2011-09-28
materiały do użytku wewnętrznego
Należy usunąć pole nazwaW oraz zdefiniować nowe pole idWydawnictwa (Rys. 41),
pełniące rolę klucza obcego w tej tabeli. Przy manualnym wprowadzaniu klucza obcego
należy pamiętać o tym, żeby typ klucza obcego był zgodny z typem odpowiadającego mu
klucza głównego.
Rys. 41 Zmiany w definicji tabeli Ksiazka
Nowozdefiniowane tabele muszą zostać wprowadzone do diagramu relacji. Należy
podwójnym kliknięciem otworzyć diagram relacji i z paska narzędziowego przywołać
okno Add Table (Rys. 42).
Rys. 42 Otwieranie okna Add Table
Należy dodać do modelu obydwie utworzone tabele i umieścić je w strukturze zgodnie z
Rys. 35. Struktura relacji bazy danych Biblioteka po uzupełnieniach i zmianach powinna
wyglądać tak jak na Rys. 43.
opracowanie: dr inż. T. Ostrowska, dr inż. K. Rostek
21/I2
in2_modelowanie_bazy_danych, 2011-09-28
materiały do użytku wewnętrznego
Rys. 43 Zmodyfikowana struktura bazy danych Biblioteka
opracowanie: dr inż. T. Ostrowska, dr inż. K. Rostek
22/I2
in2_modelowanie_bazy_danych, 2011-09-28
materiały do użytku wewnętrznego
Uznając, że zawartość i struktura bazy danych są już poprawne, można wprowadzić dane
i rozpocząć testowanie bazy danych. Dane można wprowadzać do bazy kilkoma
sposobami, np.:
o
za pomocą formularzy ekranowych (pp. instrukcja nr 3)
o
pisząc właściwe skrypty w języku SQL (pp. instrukcja nr 4),
o
bezpośrednio poprzez tabele.
Wykorzystując ostatni z wymienionych sposobów, należy wybrać opcję Edit Top 200
Rows z menu podręcznego na tabeli, do której mają być wprowadzane dane (Rys. 44).
Rys. 44 Edycja danych tabeli
Dane należy wprowadzać ręcznie do kolejnych wierszy tabeli (Rys. 45).
Rys. 45 Wprowadzanie danych do tabeli
UWAGA! Przy wprowadzaniu danych do bazy danych należy pamiętać, że jeżeli zostaną
ustalone więzy integralności, to narzucają one konieczność zachowania określonego
porządku wprowadzania danych do tabel. Aby wprowadzić dane do tabeli, która w relacji
występuje po stronie n, muszą być wcześniej wprowadzone dane do tabeli, która w relacji
występuje po stronie 1.
Powyższy sposób wprowadzania danych nie jest efektywny. Dlatego też należy utworzyć
aplikacje, które ułatwią użytkowanie bazy danych, uproszczą wprowadzanie
i wyszukiwanie danych oraz stanowić będą pewne zabezpieczenie przed błędami
użytkowników podczas współpracy z bazą danych. Elementy aplikacji i interfejsu
użytkownika zostaną wykonane w narzędziu MS Access (pp. Instrukcja nr od 3 do 7).