ZSE - Systemy baz danych 1 ZASADY PROJEKTOWANIA BAZ DANYCH

Podobne dokumenty
Autor: Joanna Karwowska

Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym

FUNKCJE SZBD. ZSE - Systemy baz danych 1

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Modelowanie danych Diagramy ERD

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Diagramu Związków Encji - CELE. Diagram Związków Encji - CHARAKTERYSTYKA. Diagram Związków Encji - Podstawowe bloki składowe i reguły konstrukcji

030 PROJEKTOWANIE BAZ DANYCH. Prof. dr hab. Marek Wisła

Krzysztof Kadowski. PL-E3579, PL-EA0312,

WYKŁAD 1. Wprowadzenie do problematyki baz danych

Modelowanie danych, projektowanie systemu informatycznego

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

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

KARTA PRZEDMIOTU. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI Ogólne umiejętności posługiwania się komputerem

Podstawy programowania III WYKŁAD 4

Dział Temat lekcji Ilość lekcji. godz. 1 Organizacja zajęć Omówienie programu nauczania 3

Relacyjny model baz danych, model związków encji, normalizacje

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

Technologia informacyjna

Systemy informatyczne. Modelowanie danych systemów informatycznych

Program nauczania. Systemy baz danych. technik informatyk

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

Projektowanie baz danych za pomocą narzędzi CASE

Wprowadzenie do metodologii modelowania systemów informacyjnych. Strategia (1) Strategia (2) Etapy Ŝycia systemu informacyjnego

Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)

PRZEWODNIK PO PRZEDMIOCIE

poziom: Core wersja: 2.6 moduł: B : Wytwarzanie SYLLABUS

Baza danych to zbiór wzajemnie powiązanych ze sobą i zintegrowanych danych z pewnej dziedziny.

WPROWADZENIE DO BAZ DANYCH

Bazy Danych. Modele danych. Krzysztof Regulski WIMiIP, KISiM,

PRZEWODNIK PO PRZEDMIOCIE

Wykład I. Wprowadzenie do baz danych

PROJEKT Z BAZ DANYCH

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

Bazy Danych. C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Normalizacja baz danych

Pojęcie bazy danych. Funkcje i możliwości.

Bazy danych i ich aplikacje

Informatyka II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny) kierunkowy (podstawowy / kierunkowy / inny HES)

Systemy baz danych. mgr inż. Sylwia Glińska

Bazy danych i usługi sieciowe

Program wykładu. zastosowanie w aplikacjach i PL/SQL;

1 Projektowanie systemu informatycznego

Projektowanie BAZY DANYCH

Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d.

K1A_W11, K1A_W18. Egzamin. wykonanie ćwiczenia lab., sprawdzian po zakończeniu ćwiczeń, egzamin, K1A_W11, K1A_W18 KARTA PRZEDMIOTU

Wykład 1 Inżynieria Oprogramowania

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

Egzamin / zaliczenie na ocenę* 0,5 0,5

PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W NOWYM SĄCZU SYLABUS PRZEDMIOTU. Obowiązuje od roku akademickiego: 2011/2012

Spis treúci. 1. Wprowadzenie... 13

Świat rzeczywisty i jego model

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II

Sylabus do programu kształcenia obowiązującego od roku akademickiego 2014/15

Baza danych. Modele danych

Grupa kursów: Wykład Ćwiczenia Laboratorium Projekt Seminarium 15 30

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA. Modelowanie danych. Model związków-encji

Egzamin / zaliczenie na ocenę*

Zasady organizacji projektów informatycznych

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I

Język UML w modelowaniu systemów informatycznych

PLAN WYKŁADU BAZY DANYCH ZALEŻNOŚCI FUNKCYJNE

PRZEWODNIK PO PRZEDMIOCIE

Baza danych. Baza danych to:

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

RELACYJNE BAZY DANYCH

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38

Podrozdziały te powinny zawierać informacje istotne z punktu widzenia przyjętego celu pracy

Bazy danych Wykład zerowy. P. F. Góra

Inżynieria oprogramowania. Wykład 6 Analiza i specyfikowanie wymagań

Bazy danych. Zachodniopomorski Uniwersytet Technologiczny w Szczecinie. Wykład 3: Model związków encji.

Podstawowy Wykład z Systemów Baz Danych

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

E-1IZ s2. Informatyka II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

System zarządzania bazą danych SZBD (ang. DBMS -Database Management System)

Księgarnia PWN: Michael J. Hernandez Bazy danych dla zwykłych śmiertelników

SZKOLENIE: Administrator baz danych. Cel szkolenia

KARTA PRZEDMIOTU 1,5 1,5

Diagramy przepływu danych I

Bazy danych 2. Wykład 1

Projektowanie Systemów Informacyjnych

forma studiów: studia stacjonarne Liczba godzin/tydzień: 1, 0, 2, 0, 0

Alicja Marszałek Różne rodzaje baz danych

Tom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania

Normalizacja baz danych

Projektowanie baz danych

Systemy baz danych w zarządzaniu przedsiębiorstwem. W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi

Bazy danych 2. dr inż. Tadeusz Jeleniewski

Technologie baz danych

Związki pomiędzy tabelami

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, O STRUKTURZE PRZEDMIOTOWEJ

PRZEWODNIK PO PRZEDMIOCIE

E-I2SG-2010-s1. Informatyka II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

BAZY DANYCH LABORATORIUM. Studia niestacjonarne I stopnia

Wykład II Encja, atrybuty, klucze Związki encji. Opracowano na podstawie: Podstawowy Wykład z Systemów Baz Danych, J.D.Ullman, J.

Wprowadzenie do baz danych

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

1. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI

PRZEWODNIK PO PRZEDMIOCIE

Transkrypt:

ZSE - Systemy baz danych 1 ZASADY PROJEKTOWANIA BAZ DANYCH

ZSE - Systemy baz danych 2 rzeczywistość uzyskanie od użytkowników początkowych informacji i wymagań dotyczących przetwarzania danych analiza wymagań modelowanie koncepcyjne modelowanie logiczne modelowanie schematów przekształcając wymagania oraz ich integracja dostosowanie do określonej konfiguracji oprogramowania / sprzętu określenie zawartości bazy, bez konkretnej implementacji fizycznej modelowanie fizyczne system bazy danych

ZSE - Systemy baz danych 3 JOD język opisu danych np. utwórz tabelę DDL JML język manipulacji danych np. dopisz do tabeli, skasuj z tabeli DML DML (ang. Data Manipulation Language język manipulacji danymi ) SQL DDL (ang. Data Definition Language język definicji danych ) SQL DCL (ang. Data Control Language - język kontroli nad danymi ) SQL DQL (ang. Data Query Language strukturalny definiowania zapytań ) SQL (ang. Struetured Query Language- strukturalny język zapytań )

ZSE - Systemy baz danych 4 Cały proces projektowania bazy danych możemy podzielić na kilka etapów: 1. Planowanie bazy danych. 2. Tworzenie modelu konceptualnego (diagramu ERD). 3. Transformacja modelu konceptualnego na model relacyjny. 4. Proces normalizacji bazy danych. 5. Wybór struktur i określenie zasad dostępu do bazy danych.

ZSE - Systemy baz danych 5 Projektowanie modelu bazy danych powinno składać się z następujących działań: 1. Określenie występujących zbiorów encji. 2. Określenie atrybutów przypisanych do poszczególnych encji. 3. Określenie dziedziny poszczególnych atrybutów. 4. Ustalenie kluczy podstawowych. 5. Określenie typów występujących związków. 6. Zweryfikowanie utworzonego modelu.

ZSE - Systemy baz danych 6 Projektowanie baz danych ERD Model relacyjny SQL Encja1 Encja2 Encja3 Relacja1 Relacja2 Relacja3 Create Table1 Create Table2 Create Table3 Grant/Revoke Replikacja

ZSE - Systemy baz danych 7

ZSE - Systemy baz danych 8 Konceptualne (pojęciowe) projektowanie bazy danych to proces konstrukcji modelu danych, który jest niezależny od wszelkich aspektów fizycznych (reprezentacja obiektów w uniwersalnym modelu niezależnym od modelu implementacyjnego np. ERD, modele UML) Logiczne projektowanie bazy danych to proces konstrukcji modelu, który jest oparty na specyficznym modelu danych (np. model relacyjny, model obiektowy) ale niezależny od konkretnego BDMS i innych aspektów fizycznych. Fizyczne projektowanie bazy danych to proces tworzenia opisu implementacji bazy danych w pamięci zewnętrznej. Opis ten zawiera bazowe relacje oraz organizacje plików i indeksów zapewniających efektywny dostęp do danych, realizacje więzów integralności i środków bezpieczeństwa danych.

ZSE - Systemy baz danych 9 Projektowanie konceptualne Konceptualne projektowanie bazy danych to konstruowanie schematu danych niezależnego od wybranego modelu danych, docelowego systemu zarządzania bazą danych, programów użytkowych czy języka programowania. Do tworzenia modelu graficznego schematu bazy danych wykorzystywane są diagramy związków encji, z których najpopularniejsze są diagramy ERD (ang. Entity Relationship Diagram). Pozwalają one na modelowanie struktur danych oraz związków zachodzących między tymi strukturami. Nadają się szczególnie do modelowania relacyjnych baz danych, ponieważ umożliwiają prawie bezpośrednie przekształcenie diagramu w schemat relacyjny.

ZSE - Systemy baz danych 10 Model związków encji Diagram związków encji lub Diagram ERD (od ang. Entity Relationship Diagram) rodzaj graficznego przedstawienia związków pomiędzy encjami używany w projektowaniu systemów informacyjnych do przedstawienia konceptualnych modeli danych używanych w systemie. Różne notacje ERD

ZSE - Systemy baz danych 11 ERD- Entity-Relationship Diagram Diagramy ERD składają się z trzech rodzajów elementów: Zbiorów encji Atrybutów encji Związków zachodzących między encjami. Narzędzia CASE (ang. Computer Aided Software Engineering) są wykorzystywane podczas projektowania różnego rodzaju oprogramowania, najczęściej wspomagają proces jego wytwarzania. Narzędzie te pozwalają tworzyć modele graficzne odpowiadające konstrukcjom programistycznym. Przykładem narzędzia typu CASE jest program DBDesigner4.

Pojęcie ENCJI Encja to pewien wyodrębniony logicznie i jednoznacznie określony byt (obiekt), rozpoznawalny w badanej rzeczywistości i pełniący w niej określoną rolę. Encja może być zarówno obiektem fizycznym (takim jak np. samochód, drzewo, książka itp.) jak również zdarzeniem (np. sprzedaż samochodu, zasadzenie drzewa, zakup książki itp.). Każda encja jest jednoznacznie identyfikowana na podstawie swojej nazwy. Przyjęło się, że nazwy encji są rzeczownikami w liczbie pojedynczej. Graficznie każda encja jest reprezentowana przez prostokąt. Badana rzeczywistość: organizacja zajęć dydaktycznych Kierunek Wykładowca Sala Przedmiot Student Grupa

Atrybuty ENCJI Atrybuty encji to cechy (własności) charakteryzujące daną encję w badanej rzeczywistości, którym przypisywane są określone wartości. Wartości poszczególnych atrybutów pozwalają odróżniać encje od siebie. Student Nazwisko Imię Rok_Studiów Nr_indeksu Sala Numer Rodzaj Ilość_miejsc Sprzęt Encje posiadające te same własności tworzą typy (zbiory) encji. W praktyce, dla uproszczenia przyjęto używać określenia encja zarówno w odniesieniu do typu encji, jak również do określonego wystąpienia encji (określonej instancji encji). Typ Encji: Studenci Instancja encji: Nazwisko: Kowalski Imię: Jan Rok_Studiów: I Nr_indeksu: R-10/03 Instancja encji: Nazwisko: Nowak Imię: Anna Rok_Studiów: IV Nr_indeksu: R-24/99

Związki ENCJI Związki określają powiązania pomiędzy poszczególnymi encjami. W najprostszych modelach uwzględniane są związki występujące pomiędzy dwoma encjami. Pomiędzy dwoma różnymi encjami może zachodzić wiele związków, ale pomiędzy dwoma tymi samymi encjami może zachodzić tylko jeden związek. Każdy związek posiada swoją nazwę. Przyjęło się, że nazwy związków są czasownikami. Graficznie związek jest zwykle reprezentowany przez romb połączony liniami z encjami, pomiędzy którymi zachodzi wraz z oznaczeniem jego liczebności (a) lub też przez samą linię zakończoną symbolami określającymi jego liczebność (b). W niektórych notacjach nazwy związków się pomija. Student a) Student b) M Zawiera 1 Grupa Grupa

Liczebność związku ENCJI Liczebność (stopień) związku encji określa liczbę instancji biorących udział w danym związku. Rozróżnia się związki: - jednojednoznaczne (jeden-dojeden, 1:1) każdej instancji pierwszej encji odpowiada dokładnie jedna instancja drugiej encji i odwrotnie; - jednoznaczne (jeden-do-wiele, 1:M) każdej instancji pierwszej encji odpowiada M instancji drugiej encji, ale każdej instancji drugiej encji odpowiada tylko jedna instancja pierwszej encji; - wieloznaczne (wiele-do-wiele, M:N) każdej instancji pierwszej encji odpowiada M instancji drugiej encji, a każdej instancji drugiej encji odpowiada N instancji pierwszej encji. Student Student Student Dyplom Grupa Przedmiot

ZSE - Systemy baz danych 16 PRZYKŁADY ZWIĄZKÓW Opcjonalność ( może) wymagany ( musi)

Przykład ERD ZSE - Systemy baz danych 17

Przykład ERD ZSE - Systemy baz danych 18

Przykład ERD ZSE - Systemy baz danych 19

ZSE - Systemy baz danych 20 Przerysuj do programu DBDesigner

Projekt i implementacja bazy danych obejmuje następujące fazy: ZSE - Systemy baz danych 21 I. projekt koncepcji, założenia II. projekt diagramów (projekt konceptualny) III. projekt logiczny IV. implementacja

ZSE - Systemy baz danych 22 projekt koncepcji, założenia 1. Sformułowanie zadania projektowego: podanie przedmiotu projektowania, jego celów, przeglądu zadań, specyfiki i uwarunkowań. 2. Analiza stanu wyjściowego; analiza stanu zastanego, uwarunkowań prawnych, przyjętego obiegu istniejącej dokumentacji, analiza występujących problemów, etc. pomocne mogą być scenariusze postępowania i ich analiza (elementy/obiekty, charakterystyki/atrybuty, struktura/przepływ danych, powiązania/relacje). 3. Analiza wymagań użytkownika (wstępna); na tym etapie należy określić podstawowe cele, zadania i funkcjonalność jakie mają być realizowane przez projektowaną bazę danych oraz ew. wymagania dotyczące projektu i dokumentacji. 4. Określenie scenariuszy użycia. Scenariusze użycia pozwolą na konstrukcję diagramów DFD i STD oraz hierarchii funkcji. 5. Identyfikacja funkcji. Określenie podstawowych funkcji realizowanych w bazie danych.

ZSE - Systemy baz danych 23 projekt diagramów (projekt konceptualny) 1. Analiza hierarchii funkcji projektowanej aplikacji; określenie struktury zależności hierarchicznych pomiędzy jednostkami analizowanego systemu, zwłaszcza w zakresie specyfikacji wymagań funkcjonalnych. 2. Budowa i analiza diagramu przepływu danych (DFD); ma na celu określenie przepływu danych (wejścia, wyjścia, operacje, przechowywanie) oraz elementów sterowania tym przepływem, co może być pomocne dla tworzenia aplikacji. Specyfikacja danych wejściowych i wyjściowych. 3. Wybór encji (obiektów) i ich atrybutów. 4. Projektowanie powiązań (relacji) pomiędzy encjami. Konstrukcja diagramu ERD; jest to zasadniczy etap procesu projektowania struktury bazy danych. Identyfikacja klas encji, ich atrybutów, zdefiniowanie (określenie) kluczy. Tablica krzyżowa powiązań, eliminacja powiązań wiele-do-wielu. Konstrukcja diagramu ERD. 5. Projekt diagramów STD (diagramy przejść pomiędzy stanami). Wykonanie w oparciu o scenariusze użycia i strukturę bazy danych.

ZSE - Systemy baz danych 24 projekt logiczny 1. Projektowanie tabel, kluczy, indeksów, w oparciu o zdefiniowany diagram ERD; na tym etapie następuje sprecyzowanie struktury bazy danych wraz ze szczegółami technicznymi. Projekt bazy w języku SQL. 2. Słowniki danych. Specyfikacja słownika danych. Specyfikacja dziedzin i ograniczeń. 3. Analiza zależności funkcyjnych i normalizacja tabel (dekompozycja do 3NF, BCNF, 4NF, 5NF); na tym etapie dokonuje się sprawdzenia, czy tabele spełniają warunki zakładanych postaci normalnych i ew. dekompozycji w celu normalizacji. 4. Denormalizacja struktury tabel; ma ona na celu optymalizację przetwarzania, przechowywania danych archiwalnych, dostosowanie do specyficznych wymagań użytkownika. 5. Projektowanie operacji na danych: zdefiniowanie kwerend dla realizacji funkcji wyspecyfikowanych w projekcie; (zgodnie z wymaganiami użytkownika; na tym etapie mogą one zostać uszczegółowione bądź zmodyfikowane). Projekt w języku SQL.

ZSE - Systemy baz danych 25 projekt logiczny 1. Zdefiniowanie interfejsów graficznych do prezentacji, edycji i obsługi danych (formularze; należy zaprojektować strukturę każdego formularza oraz powiązania miedzy nimi). 2. Zdefiniowanie dokumentów graficznych do przetwarzania i prezentacji danych (raporty; informacje generowane w raportach i ich struktura powinna odpowiadać dokumentów wymaganym w danej firmie.). 3. Zdefiniowanie panelu sterowania aplikacji (należy pamiętać o dostosowaniu do potrzeb użytkownika). 4. Zdefiniowanie makropoleceń dla realizacji typowych operacji; (określonych dla panelu sterowania i ew. innych formularzy). 5. Uruchamianie i testowanie aplikacji (on-site, przy współpracy użytkownika).

ZSE - Systemy baz danych 26 Normalizacja bazy danych Tabele w bazie danych powinny być logicznie uporządkowane i funkcjonalne. W każdym polu i rekordzie powinna być jak najmniejsza porcja informacji tak, aby dane nie były powielane i można było je łatwo znaleźć. Normalizacja to proces sprowadzania bazy danych do odpowiedniej postaci. Polega on przede wszystkim na dzieleniu tabeli na kilka połączonych kluczem tabel. Głównym powodem, dla którego normalizuje się bazę danych jest uniknięcie anomalii, które mogą wystąpić przy nieprawidłowo skonstruowanej strukturze bazy.

ZSE - Systemy baz danych 27 Anomalie w bazie danych Załóżmy, że mamy następującą strukturę bazy książek w bibliotece: W tej bazie wystąpią następujące anomalie:

ZSE - Systemy baz danych 28 cd. Anomalie w bazie danych Aby osiągnąć właściwe uporządkowanie danych i zminimalizować ich powtarzalność należy każdą tabelę poddać co najmniej trzem etapom normalizacji (w sumie jest ich sześć). Każda z następnych postaci normalnych jest bardziej wymagająca od poprzedniej i jest zgodna z poprzednimi postaciami normalizacji. Anomalie powstają gdy próbujemy w jednej tabeli (w żargonie matematycznym - relacji) umieścić zbyt wiele danych. Rozwiązaniem tych problemów są postacie normalne, które gwarantują, że takie anomalie nie będą miały miejsca.

ZSE - Systemy baz danych 29 Implementacja 1. Wprowadzanie danych (ręczne, automatyczne, import, on-line). 2. Wdrażanie systemu do użytkowania (stopniowe, modułami, z możliwością wycofania się, z dublowaniem danych i obliczeń). 3. Przeprowadzenie szkolenia użytkowników. 4. Zapewnienie dokumentacji technicznej i użytkowej (ten wymóg powinien postawić użytkownik!).

Wybór środowiska implementacji Implementacja bazy danych obejmuje realizację projektu z zastosowaniem określonej strategii i przy użyciu wybranego środowiska implementacji (systemu zarządzania bazami danych). Dokonując wyboru środowiska implementacji należy kierować się kilkoma aspektami, determinującymi jego użycie: ogólnym przeznaczeniem projektowanej bazy danych; postacią danych; sposobami ich użycia i prezentacji; zakresem dostępu do danych (przewidywaną ilością użytkowników oraz zakresem ich uprawnień); wymaganiami bezpieczeństwa i możliwościami oferowanymi w tym zakresie przez system. Istotnym etapem kończącym procedurę implementacji jest testowanie bazy danych, pozwalające na wyeliminowanie błędów.

ZSE - Systemy baz danych 31 Pojęcia: Modelowanie odwzorowanie rzeczywistych obiektów świata rzeczywistego w systemie informatycznym (bazie danych). Unified Modeling Language (UML zunifikowany język modelowania) język pół-formalny wykorzystywany do modelowania różnego rodzaju systemów. Przypadków użycia (ang. use case diagram)- graficzne przedstawienie przypadków użycia, aktorów oraz związków między nimi, występujących w danej dziedzinie przedmiotowej.

ZSE - Systemy baz danych 32