Bazy Danych Modele danych Krzysztof Regulski WIMiIP, KISiM, regulski@agh.edu.pl
Cele modelowania Strategia informatyzacji organizacji Cele informatyzacji Specyfikacja wymagań użytkownika Model procesów Model funkcji systemu Wymagania użytkownika Definiowanie funkcji systemu Model funkcji systemu Model procesów Definiowanie modelu procesów Model danych Model procesów Modyfikacja Weryfikacja modeli procesów i danych Model logiczny i fizyczny systemu Definiowanie modelu danych Modyfikacja Model danych Model danych Nowe wymagania Nowe wymagania STRATEGIA SPECYFIKACJA WYMAGAŃ MODELOWANIE KISIM, WIMiIP, AGH 2
Cele modelowania danych Dane każdej organizacji podlegają nieustannym zmianom. W miarę stabilne pozostają jedynie ich:» rodzaje» sposób przechowywania i przetwarzania Modelowanie danych jest techniką organizowania i dokumentowania danych. Poprzez uogólnienieich typów, cech i zależności między nimi można tworzyćmodele danych. Modele danych można opracowywaćna różnych poziomach abstrakcji czy szczegółowości. Najczęściej wyróżnia się:» podstawowe modele danych, (konceptualnebądźlogiczne), są ukierunkowane na potrzeby użytkownika, opisują dziedzinęprzedmiotową, niezależnie od technicznego sposobu jego wdrożenia.» wdrożeniowemodele danych dotycząwdrożenia modelu danych w konkretnej technologii baz danych. KISIM, WIMiIP, AGH 3
Cele modelowania danych Cele modelowania danych:» Otrzymanie dokładnego modelu potrzebinformacyjnych przedsiębiorstwa,» Dekompozycja i strukturalizacja problemu,» Sformalizowanie opisu z wykorzystaniem języka graficznego jednoznaczność i czytelność,» Mechanizm efektywnej komunikacjipomiędzy analitykiem i użytkownikiem, pomiędzy analitykami systemu, a nawet pomiędzy użytkownikami,» Poprawa jakości i efektywności projektowania bazy danych,» Opis danych niezależny od struktur logicznych i fizycznych,» Niezależnośćod implementacji pozwala na zastosowanie modelu do integracji istniejących baz danych,» Podstawa do zrozumieniaprocesów realizowanych w przedsiębiorstwie i jego reorganizacji,» Możliwośćprezentacji potrzeb informacyjnychna różnym poziomie. KISIM, WIMiIP, AGH 4
Modele danych Model konceptualny spojrzenie na dane jako całość, model najbardziej stabilny, powinien on być podstawą, na której opieraćsiębędzie przetwarzanie danych Model wewnętrzny, niskiego poziomu opisuje sposób przechowywania danych w pamięci komputerów i przedstawia formaty rekordów czy ścieżki dostępu, modelami takimi sąmetody adresowania, struktury łańcuchowe i pierścieniowe KISIM, WIMiIP, AGH 5
Historia rozwoju BD Sieciowy Hierarchiczny Semantyczny Relacyjny Dedukcyjny Obiektowy 1960 1970 1980 1990 Postrelacyjny 2000 Modele użytkowe stanowiąpodstawędo budowy systemu informatycznego:» hierarchiczny» sieciowy» relacyjny» obiektowy» postrelacyjny KISIM, WIMiIP, AGH 6
Diagramy ERD Diagramy związku encji (Entity Relationship Diagrams) to metoda graficznego modelowania struktur danych oraz relacji między nimi Przedstawiająstrukturędanych opisywanego systemu wraz z wszystkimi niezbędnymi atrybutami dla jego funkcjonowania. Modele danych można opracowywaćna różnych poziomach szczegółowości. Modelowanie z dołu do góry (normalizacja) konieczność zidentyfikowania całości zbioru danych przed projektowaniem Modelowanie z góry do dołu (modelowanie danych) zbiór danych powstaje w trakcie projektowania Modelowanie semantyczne KISIM, WIMiIP, AGH 7
Komponenty diagramu związków encji Komponent Encja Atrybut Związek Opis Rzecz mająca znaczenie, rzeczywista lub wymyślona, o której informacje naleŝy znać lub przechowywać. Element informacji słuŝący do klasyfikowania, identyfikowania, kwalifikowania, określania ilości lub wyraŝania stanu encji. Znaczący sposób, wjakimogąbyćze sobą powiązane dwie rzeczy tego samego typu lub róŝnych typów. KISIM, WIMiIP, AGH 8
Przykład prostego diagramu związków encji KLIENT * Nazwa * Adres o e_mail FAKTURA Atrybuty Związek Encja KISIM, WIMiIP, AGH 9
Encja Encja (ang. entity) jest to jednoznacznie identyfikowany składnik badanej rzeczywistości, októryminformacja jest lub może byćzbierana iprzechowywana. KISIM, WIMiIP, AGH 10
Encja cd. Przykładami encji są:» PRACOWNIK,» KLIENT,» DOSTAWCA,» ZAMÓWIENIE,» MAGAZYN,» KONTO itp. Uwaga: encje zazwyczaj opisuje się za pomocą rzeczowników lub wyrażeń rzeczownikowych w liczbie pojedynczej KISIM, WIMiIP, AGH 11
Atrybut Atrybut-jest cechą, elementem charakteryzującym encje i związki w badanej dziedzinie przedmiotowej. KISIM, WIMiIP, AGH 12
Atrybut cd. Atrybut ma jedno zpięciuzadań:»identyfikować,»opisywać,»klasyfikować,» określać ilość,»wyrażaćstan encji. KISIM, WIMiIP, AGH 13
Rodzaje atrybutów Przykład numer zamówienia opis towaru typ towaru ilość towaru w magazynie status płatności za zamówienie Przeznaczenie identyfikacja opis werbalny klasyfikacja określenie ilości wyraŝenie stanu KISIM, WIMiIP, AGH 14
Przykładowe atrybuty Encja STUDENT Wystąpienia encji: STUDENT # nr albumu * imię * nazwisko * data urodzenia * miejsce urodzenia Mat/123/04 Jan Kowalski 14-05-1990 Dobre Miasto Mat/345/04 Anna Nowak 21-05--1986 Dobre Miasto Encja SAMOCHÓD Wystąpienia encji: SAMOCHÓD # nr rejestracyjny * typ * rok produkcji * cena * kolor * pojemność silnika OLX 2361 Nissan Almera 2000 55000 Czerwony 1,6 m 3 OM- 2388 Renault 2004 62000 Złoty 1,4 m 3 KISIM, WIMiIP, AGH 15
Związek Związek stanowi naturalne powiązanie pomiędzy dwoma lub więcej encjami wbadanejdziedzinie przedmiotowej. Widentyfikowaniuimodelowaniu związków encji bierze siępod uwagęnastępujące cechy:»stopieńzwiązku (liczebnośćzwiązku)» opcjonalność(uczestnictwo encji). KISIM, WIMiIP, AGH 16
Stopieńzwiązku oznacza stosunek ilościowy między liczebnością wystąpieńposzczególnych encji, uczestniczących wdanymzwiązku, mówi otym, ile wystąpieńencji jednego rodzaju jest powiązanych zilomawystąpieniami encji innego rodzaju KISIM, WIMiIP, AGH 17
Przykłady związków encji Stopień związku 1:1 1:m 1: wiele m:n Wiele : wiele Przykład Dziekan- Wydział Wydział- Student KsiąŜka - Autor Znaczenie KaŜde wystąpienie encji Dziekan jest powiązane tylko z jednym wystąpieniem encji Wydział. Zatem jeden Dziekan kieruje jednym Wydziałem KaŜde wystąpienie encji Wydziałpowiązane jest jednym lub wieloma wystąpieniami encji Student, przy czym kaŝde wystąpienie encji Student powiązane jest tylko jednym wystąpieniem encji Wydział. Zatem Wydziałposiada wielu Studentów, natomiast Student studiuje wyłącznie na jednym Wydziale KaŜde wystąpienie encji KsiąŜka powiązane jest z wieloma wystąpieniami encji Autor i odwrotnie kaŝde wystąpienie encji Autor powiązane jest z wieloma wystąpieniami encji KsiąŜka. Jest to sytuacja, gdzie KsiąŜka moŝe być napisana przez jednego lub wielu autorów i jeden Autor jest podpisany pod jednym lub wieloma tytułami KsiąŜek. KISIM, WIMiIP, AGH 18
Formy zapisu związku KISIM, WIMiIP, AGH 19
Opcjonalność dotyczy zaangażowania encji w związek, zuwagina tęcechęwyróżnia siędwa typy związków:»wymagane (obowiązkowe) zachodzi wówczas, jeśli wszystkie wystąpienia encji muszą uczestniczyćwzwiązku;»opcjonalne-zachodzi wówczas, jeśli istnieje, co najmniej jedno wystąpienie encji, które nie uczestniczy w związku. KISIM, WIMiIP, AGH 20
Cechy związków encji (notacja Martina) Stopień związku Typ związku (opcjonalność) jeden - do - jednego związek opcjonalny jeden - do - wielu wiele - do - wielu związek wymagany (obowiązkowy) KISIM, WIMiIP, AGH 21
Diagramy Związków Encji Związki rekurencyjne (jednoargumentowe) Związki trójargumentowe rozbicie na dwie osobne relacje powoduje utratę informacji Role Atrybuty związków (możliwa konwersja do nowego zbioru encji) KISIM, WIMiIP, AGH 22
ERD Modelowanie upływu czasu KISIM, WIMiIP, AGH 23
Reguły czytania związków encji KaŜda Encja 1 musi być lub moŝe być nazwa związku jeden lub wiele lub jeden I tylko jeden Encja 2 Przykład: składa Klient Zamówienia jest zlecone KaŜdy Klient moŝe złoŝyć jedno lub wiele Zamówień. KaŜde Zamówienie musi być zlecone przez jedngo i tylko jednego Klienta. KISIM, WIMiIP, AGH 24
Terminologia relacyjna Pojęcie Relacja Krotka Atrybut Stopień relacji Liczebność relacji Opis Jest to podzbiór iloczynu kartezjańskiego reprezentowany przez zbiór krotek. Reprezentacją relacji jest tablica. Oznacza wiersz tablicy. Reprezentacją krotki w tablicy jest rekord. Oznacza kolumnę tablicy (a dokładnie są to róŝne wystąpienia tego samego atrybutu). Reprezentacją atrybutu w tablicy jest pole. Liczba typów atrybutów w relacji. Liczba krotek w relacji. Klucz główny Klucz obcy Kolumna lub kombinacja kolumn, których wartości jednoznacznie identyfikują wiersze w tablicy. Kolumna lub kombinacja kolumn, których wartości określają klucz główny innej tablicy. Dziedzina (atrybutu) Lista dostępnych wartości atrybutu, wszystkie tego samego typu. KISIM, WIMiIP, AGH 25
Stworzenie relacyjnego modelu danych każda encjastaje siętablicą, której nazwa jest zazwyczaj nazwą encji w liczbie mnogiej; każdy atrybutstaje siękolumną, ajegonazwa odpowiednio nazwą tej kolumny. Natomiast właściwości atrybutu stają się odpowiadającymi im właściwościami wprojekciedanych. Atrybuty obowiązkowe stająsiękolumnami NOT NULL (co oznacza, że nie jest możliwe by wartośćkolumny przyjmowała wartość NULL); unikalny identyfikator encji staje się kluczem głównym tabeli; każdy związek jest przekształcany w dwa obiekty. Kolumnę klucza obcego, zgodnązkluczemgłównym(lub unikalnym) tabeli, której dotyczy. Dziedziczy ona typ irozmiardanego klucza głównego. KISIM, WIMiIP, AGH 26
Przekształcanie encji Logiczny model danych Encja Klient Atrybuty nazwa unikalny identyfikator Klient # id_klient * nazwa * adres Relacyjny model danych Tabela Klienci Kolumny nazwa klucz głowny Klienci # id_klient * nazwa * adres Przekształcanie związków Klient # id_klient * nazwa * adres Zamówienie # id_zamówienia * data zamówienia Klienci # id_klient * nazwa * adres Zamówienia # id_zamowiania * data-zamówienia * id_klienta... Not NULL KISIM, WIMiIP, AGH 27
Przekształcenie diagramu ERD KISIM, WIMiIP, AGH 28
Przekształcenie diagramu ERD KISIM, WIMiIP, AGH 29
ToadData Modeler-ERD KISIM, WIMiIP, AGH 30
ToadData Modeler-ERD KISIM, WIMiIP, AGH 31