To tylko jedna z 3 stron tej notatki. Zaloguj się aby zobaczyć ten dokument.
Zobacz
całą notatkę
Tworzenie modelu logicznego i fizycznego danych.
W celu stworzenia modelu danych wykorzystamy program Data Architect wchodzący w skład
przykładowego pakietu narzędzi CASE Power Designer, który pozwala utworzyć tzw.
logiczny (konceptualny model danych) (CDM), fizyczny model danych (PDM) oraz
wygenerować skrypt SQL tworzący bazę danych.
Tworzenie modelu logicznego.
Na wstępie określa się zbiory encji oraz ich atrybuty (wraz z określeniem typu danych,
wymagalności, ograniczeń) i klucze główne. Pomiędzy tak zdefiniowanymi zbiorami encji
kreśli się relacje o określonych własnościach. Wszystko to odbywa się w trybie graficznym.
Rysunek 1 przedstawia symbole wykorzystywane na schematach modeli CDM (prostokąty
odpowiadają encjom, związki są prezentowane za pomocą linii łączących odpowiednie encje).
Rys.1. Symbole związków stosowane w modelu logicznym (CDM): jeden do jednego
(wymagany z jednej strony), jeden do wielu (nie wymagany z żadnej strony),wiele do jednego
(wymagany z jednej strony) ,wiele do wielu (nie wymagany).
Rysunek 2 przedstawia przykładowy model logiczny bazy danych do rejestracji danych osób,
ich numerów telefonów oraz rachunków telefonicznych, z wyszczególnieniem atrybutów
poszczególnych encji (wraz z typami danych), kluczy głównych oraz związków pomiędzy
encjami.
Rys. .2 Schemat przykładowego modelu logicznego utworzony za pomocą programu Data
Architect z pakietu Power Designer.
Tworzenie modelu fizycznego.
Model logiczny jest podstawą do wygenerowania tzw. fizycznego modelu danych (PDM) Rys.3. Model ten uwzględnia konkretny system baz danych. W tym przypadku – Interbase
6.x.
Rys. 3. Przykładowy fizyczny model danych (PDM).
Tworzenie skryptu SQL
Na podstawie modelu fizycznego można wygenerować, w postaci pliku tekstowego, skrypt
SQL opisujący schemat bazy danych (poniżej).
/*==============================================================*/
/* DBMS name: InterBase 6.x
*/
/* Created on: 2006-05-23 09:19:45
*/
/*==============================================================*/
/* Table: numer
*/
/*==============================================================*/
create table numer (
numer_tel
CHAR(9)
not null,
id_osoby
INTEGER
not null,
taryfa
VARCHAR(15),
typ_lacza
CHAR(6),
constraint PK_NUMER primary key (numer_tel)
);
/*==============================================================*/
/* Table: osoba
*/
/*==============================================================*/
create table osoba (
id_osoby
INTEGER
not null,
imie
VARCHAR(15)
not null,
nazwisko
VARCHAR(30)
not null,
adres
VARCHAR(50),
constraint PK_OSOBA primary key (id_osoby)
);
/*==============================================================*/
/* Table: rachunek
*/
/*==============================================================*/
create table rachunek (
nr
INTEGER
not null,
numer_tel
CHAR(9)
not null,
data
DATE
not null,
kwota_netto
DECIMAL(8,2),
stawka_vat
DECIMAL(3,2),
kwota_brutto
DECIMAL(8,2),
constraint PK_RACHUNEK primary key (nr)
);
alter table numer
add constraint
... zobacz całą notatkę
Komentarze użytkowników (0)