Tworzenie modelu logicznego i fizycznego danych.



Podobne dokumenty
Autor: Joanna Karwowska

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Wykład 8. SQL praca z tabelami 5

Język SQL. Rozdział 9. Język definiowania danych DDL, część 2.

Widok Connections po utworzeniu połączenia. Obszar roboczy

Instytut Mechaniki i Inżynierii Obliczeniowej fb.com/groups/bazydanychmt/

D D L S Q L. Co to jest DDL SQL i jakie s jego ą podstawowe polecenia?

PODSTAWY BAZ DANYCH. 5. Modelowanie danych. 2009/ Notatki do wykładu "Podstawy baz danych"

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

Wykład 4. SQL praca z tabelami 1

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Laboratorium nr 1. Temat: Wprowadzenie do MySQL-a

3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota

Aspekty aktywne baz danych

Instrukcja CREATE TABLE

Transformacja modelu ER do modelu relacyjnego

SIECI KOMPUTEROWE I BAZY DANYCH

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Relacji między tabelami klucze obce. Schemat bazy danych, wczytanej z pliku create_tables.sql. Klucz obcy jako ograniczenie dla kolumny

Wykład 05 Bazy danych

Tworzenie baz danych i tabel

Wybór EUROPEAN będzie rozpoznawał dzień przed miesiącem, natomiast US miesiąc przed dniem.

Przykładowa baza danych BIBLIOTEKA

Transformacja modelu ER do modelu relacyjnego

Język SQL, zajęcia nr 1

Bazy danych - Materiały do laboratoriów VIII

Aplikacje bazodanowe. Laboratorium 1. Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, / 37

Plan bazy: Kod zakładający bazę danych: DROP TABLE noclegi CASCADE; CREATE TABLE noclegi( id_noclegu SERIAL NOT NULL,

Bazy danych 6. Klucze obce. P. F. Góra

Odnawialne Źródła Energii I rok. Tutorial PostgreSQL

Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki Instrukcja do zajęć laboratoryjnych

Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski.

Bazy danych 1. Wykład 5 Metodologia projektowania baz danych. (projektowanie logiczne)

ACESS- zadania z wykorzystaniem poleceń SQL

Wykład :45 BD-1 W_3

LAB 3 (część 1 Projektu)

BAZA DANYCH SIECI HOTELI

Bazy danych Ćwiczenia projektowe

BAZY DANYCH LABORATORIUM. Studia niestacjonarne I stopnia

Komunikacja z bazą danych psql

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Bazy Danych - Projekt. Zasady przygotowania i oceny projektów

SIECI KOMPUTEROWE I BAZY DANYCH

Podstawowe informacje o bazach danych. Technologie Informacyjne

Projektowanie systemów baz danych

LAB 6 BEGIN TRANSACTION, COMMIT, ROLLBACK, SET TRANSACTION ISOLATION LEVEL,

Modelowanie wymiarów

Projekt dziennika lekcyjnego

Projekt Bazy Danych. Artur Janas, Łukasz Gawroński 9 czerwca Streszczenie Tematem projektu jest System Obsługi Biblioteki

Paweł Cieśla. Dokumentacja projektu

Język SQL, zajęcia nr 2

kończy wysyłanie danych do pliku tworzy strukturę tabeli wyświetla opis struktury tabeli zmiana nazwy tabeli usuwanie tabeli

1. Połączenie z bazą danych. W wybranym edytorze tworzymy plik sqltest.py i umieszczamy w nim poniższy kod. #!/usr/bin/python3 import sqlite3

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Modelowanie związków encji

SQL SERVER 2016 IN MEMORY

Bazy danych i usługi sieciowe

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

TRANSFORMACJA MODELU ER DO MODELU RELACYJNEGO

Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion. Autor: Joanna Karwowska

Administracja i programowanie pod Microsoft SQL Server 2000

Wykład 5. SQL praca z tabelami 2

Laboratorium 2. Określanie ważności atrybutów.

Hurtownia Świętego Mikołaja projekt bazy danych

Wykład 6. SQL praca z tabelami 3

Dane wejściowe. Oracle Designer Generowanie bazy danych. Wynik. Przebieg procesu

Bazy danych. Polecenia SQL

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

I. Język manipulowania danymi - DML (Data Manipulation Language). Polecenia INSERT, UPDATE, DELETE

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Bazy Danych i Usługi Sieciowe

Bazy Danych. Ćwiczenie 4: Zapoznanie się z wybranym programem wspomagającym projektowanie relacyjnych baz danych

SQL DDL DML TECHNOLOGIE BAZ DANYCH. Wykład 5: Język DDL i DML. Małgorzata Krętowska

Politechnika Gdańska, międzywydziałowy kierunek INŻYNIERIA BIOMEDYCZNA. Instrukcja do laboratorium z przedmiotu: Bazy danych. Laboratorium nr 2.

Bazy danych Ćwiczenia projektowe

Bazy danych: zadania ćwiczebne na tempo i dykcję

Aby uruchomić program klienta i połączyć się z serwerem, należy komendę:

Wprowadzenie do BD Operacje na bazie i tabelach Co poza zapytaniami? Algebra relacji. Bazy Danych i Systemy informacyjne Wykład 2.

1 Projekt fizyczny 1. 3 Perspektywy słownika danych Źródła 12

Bazy danych i usługi sieciowe

WPROWADZENIE DO JĘZYKA SQL

Bazy danych dla producenta mebli tapicerowanych. Bartosz Janiak Marcin Sikora Wrocław r.

Paweł Rajba

PODSTAWY BAZ DANYCH. 10. Partycjonowanie tabel i indeksów. 2009/ Notatki do wykładu "Podstawy baz danych"

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Bazy danych 10. SQL Widoki

Wykład 2. Relacyjny model danych

Bazy danych Język SQL część 1 Wykład dla studentów matem

BAZY DANYCH. CREATE TABLE dbo.wydzialy (ID INT, Akronim VARCHAR(4) NOT NULL, Wydzial VARCHAR(30) NOT NULL, CONSTRAINT Kluczyk PRIMARY KEY(ID) )

Bazy danych. Dr inż. Paweł Kasprowski

Bazy danych 9. SQL Klucze obce Transakcje

SQL - DDL. 1 Tabele systemowe. 2 Typy danych

Bazy danych - wykład wstępny

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

Typy Oracle atrybutów relacji Typ NUMBER (1)

Typy Oracle atrybutów relacji Typ NUMBER (1)

Projektowanie baz danych za pomocą narzędzi CASE

Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski.

Wykład IV Modelowanie danych, projektowanie systemu informatycznego Modelowanie konceptualne implementacyjne Modelowanie pojęciowe na encjach

Transkrypt:

Tworzenie modelu logicznego i fizycznego danych. W celu stworzenia modelu danych wykorzystamy program ata Architect wchodzący w skład pakietu narzędzi CASE Power esigner, który pozwala utworzyć tzw. logiczny konceptualny model danych) CM), fizyczny model danych PM) 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 CM 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 CM): 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 klientów i pracowników, z wyszczególnieniem atrybutów poszczególnych encji wraz z ich dziedzinami), kluczy głównych podkreślone atrybuty) oraz związków pomiędzy encjami. klient status data_rejestracji punkty VA10 I zawiera zawarta przez umowa nr_umowy data_umowy przedmiot_umowy opłata I VA40 C5,2 osoba nr_osoby I imię VA10 nazwisko VA30 adres VA40 sporządza sporządzona przez szkolenie nr_szkolenia I nazwa VA30 data_od data_do odbywane przez posiada pracownik pesel data_zatrudnienia zarobki etat A11 C6,2 C3,2 pracuje w zatrudnia dział ozn_działu nazwa A3 VA30 posiada wprowadza dotyczy wprowadzona przez historia_zmian_zarobków data_zmiany poprzednie_zarobki kwota_zmiany C6,2 C6,2 Rys..2 Schemat przykładowego modelu logicznego utworzony za pomocą programu ata Architect z pakietu Power esigner. Encja OSOBA posiada dwa podtypy KLIENT oraz PRACOWNIK. Oznacza to, że dana osoba może być klientem lub pracownikiem. Związki tego typu określa się mianem dziedziczenia. W powyższym przykładzie osoba może być jednocześnie pracownikiem i klientem, natomiast rysunek 3 przedstawia dziedziczenie, w którym osoba może być albo pracownikiem, albo klientem, tzn. oba te podtypy się wzajemnie wykluczają. klient status data_rejestracji punkty VA10 I osoba nr_osoby I imię VA10 nazwisko VA30 adres VA40 pracownik pesel A11 data_zatrudnienia zarobki C6,2 etat C3,2 Rys. 3. Przykład dziedziczenia.

Tworzenie modelu fizycznego. Model logiczny jest podstawą do wygenerowania tzw. fizycznego modelu danych PM) - Rys.4. Model ten uwzględnia konkretny system baz danych. W tym przypadku Interbase 4.x. KLIENT NR_KLIENTA IMIE NAZWISKO ARES STATUS ATA_REJESTRACJI PUNKTY VARCHAR10) VARCHAR30) VARCHAR40) VARCHAR10) ATE NR_KLIENTA=NR_KLIENTA UMOWA NR_UMOWY ATA_UMOWY ATE PRZEMIOT_UMOWY VARCHAR40) OPLATA NUMERIC5,2) NR_KLIENTA NR_PRAC PRACOWNIK SZKOLENIA_PRAC NR_SZKOLENIA NR_PRAC NR_PRAC=NR_PRAC NR_PRAC IMIE NAZWISKO ARES PESEL ATA_ZATRUNIENIA ZAROBKI ETAT OZN_ZIALU VARCHAR10) VARCHAR30) VARCHAR40) CHAR11) ATE NUMERIC6,2) NUMERIC3,2) CHAR3) OZN_ZIALU=OZN_ZIALU NR_PRAC=NR_PRAC ZIAL OZN_ZIALU CHAR3) NAZWA VARCHAR30) NR_SZKOLENIA=NR_SZKOLENIA NR_PRAC=NR_PRAC KTO_ZMIENIL=NR_PRAC SZKOLENIE NR_SZKOLENIA NAZWA VARCHAR30) ATA_O ATE ATA_O ATE HISTORIA_ZMIAN_ZAROBKOW NR_PRAC ATA_ZMIANY ATE POPRZENIE_ZAROBKI NUMERIC6,2) KWOTA_ZMIANY NUMERIC6,2) KTO_ZMIENIL Rys. 4. Przykładowy fizyczny model danych PM). W modelu fizycznym tabele zostały uzupełnione o kolumny kluczy obcych na podstawie odpowiednich związków istniejących pomiędzy encjami w modelu fizycznym. Istnienie związku wiele do wielu pomiędzy encjami PRACOWNIK oraz SZKOLENIE spowodowało powstanie dodatkowej tabeli SZKOLENIA_PRAC.

Tworzenie skryptu SQL Na podstawie modelu fizycznego można wygenerować, w postaci pliku tekstowego, skrypt SQL opisujący schemat bazy danych poniżej). /* atabase name: MOEL_1 /* BMS name: InterBase 4.0 /* Created on: 2008-02-15 07:16 /* Table: KLIENT create table KLIENT NR_KLIENTA not null, IMIE VARCHAR10), NAZWISKO VARCHAR30), ARES VARCHAR40), STATUS VARCHAR10), ATA_REJESTRACJI ATE, PUNKTY, constraint PK_KLIENT primary key NR_KLIENTA) /* Table: SZKOLENIE create table SZKOLENIE NR_SZKOLENIA not null, NAZWA VARCHAR30), ATA_O ATE, ATA_O ATE, constraint PK_SZKOLENIE primary key NR_SZKOLENIA)

/* Table: ZIAL create table ZIAL OZN_ZIALU CHAR3) not null, NAZWA VARCHAR30), constraint PK_ZIAL primary key OZN_ZIALU) /* Table: PRACOWNIK create table PRACOWNIK NR_PRAC not null, IMIE VARCHAR10), NAZWISKO VARCHAR30), ARES VARCHAR40), PESEL CHAR11), ATA_ZATRUNIENIA ATE, ZAROBKI ECIMAL6,2), ETAT ECIMAL3,2), OZN_ZIALU CHAR3) not null, constraint PK_PRACOWNIK primary key NR_PRAC) /* Table: UMOWA create table UMOWA NR_UMOWY not null, ATA_UMOWY ATE, PRZEMIOT_UMOWY VARCHAR40), OPLATA ECIMAL5,2), NR_KLIENTA not null, NR_PRAC not null, constraint PK_UMOWA primary key NR_UMOWY)

/* Table: HISTORIA_ZMIAN_ZAROBKOW create table HISTORIA_ZMIAN_ZAROBKOW NR_PRAC not null, ATA_ZMIANY ATE not null, POPRZENIE_ZAROBKI ECIMAL6,2), KWOTA_ZMIANY ECIMAL6,2), KTO_ZMIENIL, constraint PK_HISTORIA_ZMIAN_ZAROBKOW primary key NR_PRAC, ATA_ZMIANY) /* Table: SZKOLENIA_PRAC create table SZKOLENIA_PRAC NR_SZKOLENIA not null, NR_PRAC not null, constraint PK_SZKOLENIA_PRAC primary key NR_SZKOLENIA, NR_PRAC) alter table PRACOWNIK add constraint FK_PRAC_ZIAL foreign key OZN_ZIALU) references ZIAL; alter table UMOWA add constraint FK_UMOWA_KLIENT foreign key NR_KLIENTA) references KLIENT; alter table UMOWA add constraint FK_UMOWA_PRAC foreign key NR_PRAC) references PRACOWNIK; alter table HISTORIA_ZMIAN_ZAROBKOW add constraint FK_HISTORIA_ZMIANY_PRAC foreign key NR_PRAC) references PRACOWNIK; alter table HISTORIA_ZMIAN_ZAROBKOW add constraint FK_HISTORIA_KTO_ZMIEN foreign key KTO_ZMIENIL) references PRACOWNIKNR_PRAC alter table SZKOLENIA_PRAC add constraint FK_OBYWANE_SZKOL foreign key NR_SZKOLENIA) references SZKOLENIE; alter table SZKOLENIA_PRAC add constraint FK_SZKOL_PRAC foreign key NR_PRAC) references PRACOWNIK;