background image

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 

1.  Sformułowanie zadania ........................................................................................... 2 

2.  Wykonanie zadania ................................................................................................. 2 

2.1. 

Tworzenie modelu konceptualnego bazy danych w PD ................................... 2 

2.2. 

Generowanie modelu fizycznej bazy danych w PD .......................................... 8 

2.3. 

Generowanie skryptu definiującego bazę danych .......................................... 11 

2.4. 

Założenie bazy danych ................................................................................... 12 

2.5. 

Modyfikacja modelu bazy danych w MS SQL Server .................................... 17 

 
 

W a r s z a w a  2011

background image

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) 

background image

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

 

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 

background image

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

background image

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 

background image

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 CzytelnikCzytelnik (już 

background image

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  

background image

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,  

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, 

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. 

background image

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 

background image

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

background image

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 

background image

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 

background image

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 

background image

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. 

background image

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. Na
leż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 

background image

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

background image

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

background image

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 

background image

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 

 
 
 

background image

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. 

background image

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 

background image

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

za pomocą formularzy ekranowych (pp. instrukcja nr 3) 

pisząc właściwe skrypty w języku SQL (pp. instrukcja nr 4), 

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