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

Podobne dokumenty
Zachodniopomorski Uniwersytet Technologiczny w Szczecinie. Bazy danych. Wykład 4: Model SERM. dr inż. Magdalena Krakowiak

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

Modelowanie danych, projektowanie systemu informatycznego

1 Projektowanie systemu informatycznego

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

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

Diagramy związków encji ERD Ćwiczenia w modelowaniu danych

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

Bazy danych TERMINOLOGIA

BAZY DANYCH model związków encji. Opracował: dr inż. Piotr Suchomski

Systemy informatyczne. Modelowanie danych systemów informatycznych

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

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

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

PLAN WYKŁADU BAZY DANYCH GŁÓWNE ETAPY PROJEKTOWANIA BAZY MODELOWANIE LOGICZNE

Przykład, który rozpatrujemy to układ Lekarz- Pacjent. Pierwszą czynnością jaką trzeba wykonać jest odpowiedź na kilka pytań

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

Przykłady normalizacji

PLAN WYKŁADU BAZY DANYCH MODEL DANYCH. Relacyjny model danych Struktury danych Operacje Integralność danych Algebra relacyjna HISTORIA

TRANSFORMACJA MODELU ER DO MODELU RELACYJNEGO

Transformacja modelu ER do modelu relacyjnego

Bazy danych i usługi sieciowe

Projektowanie Systemów Informacyjnych

Transformacja modelu EER do postaci relacyjnego modelu danych. Zbyszko Królikowski

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

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

WPROWADZENIE DO BAZ DANYCH

Posługiwanie się tabelami

Świat rzeczywisty i jego model

Wykład 2. Relacyjny model danych

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

1 Wstęp do modelu relacyjnego

Bazy danych. Andrzej Łachwa, UJ, /15

Technologia informacyjna

Projektowanie bazy danych przykład

Autor: Joanna Karwowska

Projekt aplikacji prywatnej przychodni weterynaryjnej

Projektowanie baz danych

Model relacyjny. Wykład II

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA Relacyjny model danych. Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe

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

Systemy baz danych. 1. Plan: 2. Zadania: Projekt Bazy Danych - wybór tematów, wstępna kategoryzacja 8. Projekt Bazy Danych - diagram ER

Wykład I. Wprowadzenie do baz danych

Bazy danych wykład trzeci. trzeci Modelowanie schematu bazy danych 1 / 40

Projektowanie logiki aplikacji

Modelowanie danych Model związków-encji

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

Technologie baz danych

Modelowanie związków encji

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Bazy danych. wprowadzenie teoretyczne. Piotr Prekurat 1

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

Analiza i projektowanie obiektowe 2016/2017. Wykład 8: Przypisywanie obiektom odpowiedzialności (2)

Modelowanie związków encji. Oracle Designer: Diagramy związków encji. Encja (1)

Autor: Joanna Karwowska

Podstawy Programowania Obiektowego

Paweł Kurzawa, Delfina Kongo

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

Normalizacja baz danych

Bazy danych - wykład wstępny

FUNKCJE SZBD. ZSE - Systemy baz danych 1

Podstawy projektowania systemów komputerowych

Agnieszka Ptaszek Michał Chojecki

Diagram wdrożenia. Rys. 5.1 Diagram wdrożenia.

Analiza i projektowanie obiektowe 2017/2018. Wykład 3: Model wiedzy dziedzinowej

Modelowanie konceptualne model EER

WYKŁAD 1. Wprowadzenie do problematyki baz danych

Tworzenie warstwy zasobów projektowanie metodą strukturalną

Projektowanie i wdrażanie systemów informatycznych (materiały do wykładu cz. II)

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

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

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

Baza danych. Baza danych to:

Modelowanie związków encji. Etapy budowy systemu informatycznego przedsiębiorstwa (1/4) Etapy budowy systemu informatycznego przedsiębiorstwa (2/4)

Modelowanie związków encji. Etapy budowy systemu informatycznego przedsiębiorstwa (1/4) Etapy budowy systemu informatycznego przedsiębiorstwa (2/4)

Model relacyjny bazy danych

DIAGRAM KLAS. Kamila Vestergaard. materiał dydaktyczny

Bazy danych. Andrzej Łachwa, UJ, /14

Dr Michał Tanaś(

Plan wykładu: Relacyjny model danych: opis modelu, podstawowe pojęcia, ograniczenia, więzy.

Modelowanie związków encji

MAS dr. Inż. Mariusz Trzaska

Technologie baz danych

Wprowadzenie do baz danych

KSS: Modelowanie konceptualne przykład

Rysunek 1: Przykłady graficznej prezentacji klas.

Przykładowa baza danych BIBLIOTEKA

Związki pomiędzy tabelami

Bazy danych. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski

Informatyka Ćwiczenie 10. Bazy danych. Strukturę bazy danych można określić w formie jak na rysunku 1. atrybuty

Projektowanie Zorientowane na Dziedzinę. ang. Domain Driven Design

Relacyjne bazy danych. Normalizacja i problem nadmierności danych.

Transformacja modelu ER do modelu relacyjnego

Temat: Modelowanie schematu bazy danych za pomocą diagramów związków encji (Entity Relationship Diagrams ERD)

Podstawowe zagadnienia z zakresu baz danych

Projektowanie internetowej bazy danych część 1

Bazy danych. Algebra relacji

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

Wrota Parsęty II o bazie danych przestrzennych - wprowadzenie

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

Transkrypt:

Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Bazy danych Wykład 3: Model związków encji. dr inż. Magdalena Krakowiak makrakowiak@wi.zut.edu.pl

Co to jest model związków encji? Model związków encji jest semantycznym modelem danych przedstawionym po raz pierwszy w 1976 roku przez P.Chena. Daje projektantowi możliwość przedstawienie obiektów rzeczywistych i abstrakcyjnych miniświata oraz powiązań pomiędzy nimi w postaci diagramu związków encji ERD (ang. Entity Relationship Diagram). Miniświat przedstawiany jest na diagramie ERD w postaci: encji (ang. Entity) relacji (ang. Relationship).

Co to jest encja? Rzeczywisty lub abstrakcyjny obiekt świata rzeczywistego Osoba, miejsce, rzecz (obiekty rzeczywiste) lub pojęcie związane ze zjawiskami, cechami czy czynnościami (obiekty abstrakcyjne), które posiada intersujące cechy z punktu widzenia użytkownika i informacje o nich należy przechowywać Przykładowe encje miniświata Przychodnia lekarska : lekarz, badanie, wizyta, typ zabiegu, recepta

Właściwości encji Właściwości encji to cechy, które ją charakteryzują określane mianem atrybutu. Nazwy atrybutów w obrębie encji musza być unikalne. Przykładowe atrybuty encji lekarz: imię nazwisko specjalizacja rok rozpoczęcia pracy adres zamieszkania.

Klasyfikacja atrybutów Rozróżnia się wiele rodzajów atrybutów, co wynika z faktu, że każdy atrybut można opisać trzema właściwościami: złożoność Czy atrybut jest pojedynczy czy złożony? wielowartościowość Czy atrybut jest jedno- czy wielowartościowy? zapisanie Czy atrybut jest zapamiętany w bazie danych czy wyznaczany na podstawie wartości innych atrybutów?

Atrybuty pojedyncze i złożone Atrybut złożony, jak sugeruje nazwa, składa się z wielu części, które można traktować jako atrybuty podporządkowane. Przykład atrybutu złożonego: adres lekarza składający się z innych atrybutów takich jak ulica, miasto, nr domu, kod pocztowy Atrybut pojedynczy to taki, który nie składa się z innych atrybutów; stanowi niepodzielną cechę. Przykład atrybutu pojedynczego: imię lekarza

Atrybuty jedno- i wielowartościowe Atrybut jednowartościowy to taka cecha, która dla jednego konkretnego obiektu może przyjąć tylko jedną wartość. Przykład atrybutu jednowartościowego: rok rozpoczęcia pracy Atrybut wielowartościowy to taki, który dla jednego konkretnego obiektu może przyjąć wiele wartości. Przykład atrybutu wielowartościowego: adres lekarza (lekarz może mieć więcej niż jeden adres np. adres korespondencyjny, adres tymczasowy itp.)

Atrybuty zapamiętane i wyznaczone Atrybut zapamiętany to cecha obiektu trwale zarejestrowana w bazie danych. (Występuje w większości przypadków) Przykład atrybutu zapamiętanego: rok rozpoczęcia pracy Atrybut wyznaczony to taki, którego wartość jest wyliczana (wyznaczana) na podstawie wartości innego atrybutu. Przykład atrybutu wyznaczonego: staż pracy (liczba lat pracy wyliczona z różnicy pomiędzy rokiem bieżącym a rokiem rozpoczęcia pracy)

Modelowanie atrybutów W definicji encji umieszczamy: atrybuty, które są pojedyncze, jednowartościowe i zapamiętane atrybuty podporządkowane (składowe) atrybutów złożonych poprzedzone ewentualnym przedrostkiem informującym o przynależności do atrybutu (np. adr_ulica, adr_miasto itp.) Atrybuty wielowartościowe modelujemy jako nową encję. Atrybutów wyliczeniowych z reguły nie umieszczamy w definicji encji.

Typy encji Wszystkie obiekty (encje), które charakteryzują te same atrybuty łączone są w jeden typ encji. W ramach jednego typu encji obiekty mają te same właściwości, ale inne ich wartości tzn., że każda encja opisywana jest za pomocą tych samych atrybutów, które mogą przyjmować różne wartości dla różnych obiektów. Typ encji pozwala na jednoczesne sprawne zarządzanie wszystkimi jego obiektami. Np. Typ encji lekarz zarządza jednocześnie danymi wszystkich lekarzy.

Klucz główny W celu rozróżnienia poszczególnych encji w danym typie encji wprowadza się specjalny atrybut(y), który jednoznacznie zidentyfikuje obiekt w danym zbiorze. Taka cecha przyjmuje unikalne wartości dla każdego z obiektów i nie może być pozbawiona wartości (NOT NULL). W przypadku gdy jest to więcej niż jeden atrybut unikalność polega na braku powtórzenia kombinacji wartości tych atrybutów (pojedyncze wartości nie muszą być unikalne). Taki atrybut(y) nazwany jest kluczem głównym (ang. primary key). Przykład klucza głównego typu encji lekarz : nr identyfikacyjny lekarza

Atrybut lokalny Wszystkie atrybuty typu encji, które nie są kluczem głównym są atrybutami lokalnymi i domyślnie mogą przyjmować wartości powtarzające się czy puste. Przykład atrybutu lokalnego typu encji lekarz : specjalizacja

Atrybut jako nowa encja Nie zawsze cecha/właściwość jest modelowana jako atrybut danej encji. Niekiedy własność encji modelowana jest jako nowa encja. Taka sytuacja ma miejsce (jest wymagana), gdy wystąpi przynajmniej jeden z trzech warunków: potrzeba/chęć budowy słownika (dynamicznego zbioru danych) wartości danej cechy analizowana własność stanowi atrybut wielowartościowy analizowana własność sama opisana jest jeszcze dodatkowymi właściwościami

Słownik wartości danej cechy Słownik wartości danej cechy to dodatkowy typ encji stanowiący zbiór możliwych lub występujących wartości cechy. Nazwa słownika z reguły określa daną cechę (jest jej nazwą). Najczęściej słownik posiada dwa atrybuty: identyfikator dodatkowy numer stanowiący klucz główny nazwa wartość danej cechy wymagająca wpisu (NOT NULL) Przykład słownika wartości danej cechy (encji lekarz ) : encja specjalizacja

Korzyści wynikające ze słownika Trzy główne aspekty przemawiają za modelowaniem słowników wartości: jednoznaczność każdej wartości przypisujemy unikalny numer (identyfikator) łatwość wyszukiwania zazwyczaj jeden operand numeryczny w operacjach relacji (wynika z jednoznaczności) zamiast budowy wzorców tekstów redukcja pamięci zamiast pełnych nazw wartości (kilkanaście czy kilkadziesiąt bajtów) w podstawowej encji zapisujemy liczby (2, 4 lub 8 bajtów)

Kiedy nie tworzyć słowników? Pozbawione sensu jest modelowanie słowników, gdy: nie dotyczą wartości tekstowych (wartości numeryczne, daty, logiczne itp.) przewiduje się znikomą lub zerową powtarzalność wartości

Co to jest relacja i typ relacji? Relacja to zależność istniejąca pomiędzy dwoma lub kilkoma encjami. Dla dwu lub kilku typy encji może istnieć wiele encji, które pozostają względem siebie w tej samej relacji. Zbiór wszystkich zależności tej samej relacji nazywamy typem relacji. Liczba typów encji biorących udział w danym typie relacji nazywana jest stopniem typu relacji. Najczęściej stopień relacji wynosi 2. Rekursyjny typ relacji przypadek, gdy jeden typ encji bierze wielokrotnie udział w danym typie relacji. W celu rozróżnienia encji tego samego typu nadaje się im nazwę odpowiadająca roli jaką pełnią w typie relacji.

Złożoność typu relacji Jedną z ważniejszych cech typu relacji jest jego złożoność, która wyraża ograniczenia związane z liczbą relacji, w których bierze udział dana encja. Ograniczenia te podawane są formie stosunku pomiędzy dwa typami encji za pomocą notacji (1;M;N). Wyróżnia się trzy rodzaje stosunków (przypadków złożoności): jeden do jednego (1:1) jeden do wielu (1:N) wiele do wielu (M:N)

Złożoność typu relacji (1:1) Pomiędzy dwoma typami encji istnieje złożoność (1:1) wtedy, gdy dwie encje (po jednej z każdego typu) mogą wystąpić w danym typie relacji tylko raz. Jest to najrzadziej spotykany stosunek pomiędzy typami encji. Przykład: Rekursyjny typ relacji określający związek małżeński pomiędzy pacjentami. W danym momencie czasowym jeden pacjent może mieć tylko jedną żonę, a pacjentka tylko jednego męża. pacjent (mąż) pacjent (żona) (1:1)

Złożoność typu relacji (1:N) Pomiędzy dwoma typami encji istnieje złożoność (1:N) wtedy, gdy jedna encja z typu pierwszego może wejść w relację z wieloma encjami z typu drugiego, ale jedna encja z typu drugiego może wejść w relację tylko z jedną encją z typu pierwszego. Przykład: Typ relacji określający przeprowadzenie wizyty. Jeden lekarz może przeprowadzić wiele wizyt, ale jedna wizyta przeprowadzana jest tylko przez jednego lekarza. lekarz wizyta (1:N)

Złożoność typu relacji (M:N) Pomiędzy dwoma typami encji istnieje złożoność (M:N) wtedy, gdy jedna encja z typu pierwszego może wejść w relację z wieloma encjami z typu drugiego i jedna encja z typu drugiego może wejść w relację z wieloma encjami z typu pierwszego. Przykład: Typ relacji określający wykonywanie badań. Jeden pacjent może mieć wykonanych wiele badań i jedno badanie może być wykonane wielu pacjentom. pacjent - badanie (M:N)

Atrybuty typu relacji Podobnie jak typy encji, typy relacji także mogą charakteryzować się atrybutami. Z założenia należą do nich atrybuty kluczowe typów encji biorących udział w typie relacji i stanowią atrybuty kluczowe typu relacji. Wynika to z potrzeby identyfikacji danej relacji. Ponadto typ relacji może posiadać także atrybuty lokalne. Przykład: Rekursyjny typ relacji określający związek małżeński pomiędzy pacjentami będzie miał dwa atrybuty kluczowe identyfikatory pacjenta (żona i mąż) oraz może mieć atrybut lokalny np. data ślubu.

Słaby typ encji Słaby typ encji to taki typ, który w swoim kluczu głównym posiada atrybuty kluczowe innego typu encji. Zatem do identyfikacji encji słabego typu potrzebny jest identyfikator encji z typy powiązanego. Taki powiązany typ encji nazywany jest identyfikującym właścicielem, a relacja względem słabego typu relacją identyfikującą. Przy pomocy słabych typów encji można określać wzajemne warunki istnienia, ponieważ encja słabego typu może istnieć tylko wtedy, gdy istnieje encja identyfikującego ją typu, znajdująca się względem niej w relacji.

Koniec Dziękuję za uwagę!