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



Podobne dokumenty
Bazy danych - wykład wstępny

Posługiwanie się tabelami

Język SQL Złączenia. Laboratorium. Akademia Morska w Gdyni

Technologia informacyjna

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

Baza danych. Modele danych

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

Modelowanie danych, projektowanie systemu informatycznego

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

Baza danych. Baza danych to:

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Dr Michał Tanaś(

PRZYKŁAD. Prosta uczelnia. Autor: Jan Kowalski nr indeksu: (przykładowy projekt)

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych

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

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

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

2017/2018 WGGiOS AGH. LibreOffice Base

Bazy danych TERMINOLOGIA

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

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

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

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

Transformacja modelu ER do modelu relacyjnego

Wprowadzenie do baz danych

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

SIECI KOMPUTEROWE I BAZY DANYCH

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

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM, regulski@metal.agh.edu.pl

Karta (sylabus) modułu/przedmiotu Mechanika i Budowa Maszyn Studia I stopnia

Technologie baz danych

Model logiczny SZBD. Model fizyczny. Systemy klientserwer. Systemy rozproszone BD. No SQL

Podstawowe zagadnienia z zakresu baz danych

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

WPROWADZENIE DO BAZ DANYCH

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

FUNKCJE SZBD. ZSE - Systemy baz danych 1

1 Projektowanie systemu informatycznego

Autor: Joanna Karwowska

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

WYMAGANIA EDUKACYJNE

Przykłady normalizacji

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

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

RELACYJNE BAZY DANYCH I ICH ZNACZENIE W SYSTEMACH INFORMACJI GEOGRAFICZNEJ

Zasady transformacji modelu DOZ do projektu tabel bazy danych

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

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

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

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

Co to są relacyjne bazy danych?

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

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM,

Projektowanie relacyjnych baz danych

Wykład I. Wprowadzenie do baz danych

Projektowanie baz danych za pomocą narzędzi CASE

Wykład 2. Relacyjny model danych

SIECI KOMPUTEROWE I BAZY DANYCH

Wprowadzenie do baz danych

MySQL. Darmowa baza danych. Æwiczenia praktyczne

Literatura. Bazy danych s.1-1

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Systemy informatyczne. Modelowanie danych systemów informatycznych

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

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

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4

Projektowanie Systemów Informacyjnych

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

Systemy GIS Systemy baz danych

Model relacyjny bazy danych

Krakowska Akademia im. Andrzeja Frycza Modrzewskiego. Karta przedmiotu. obowiązuje studentów, którzy rozpoczęli studia w roku akademickim 2015/2016

Projektowanie bazy danych przykład

5-6. Struktura dokumentu html. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

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

PHP: bazy danych, SQL, AJAX i JSON

Bazy danych. wprowadzenie teoretyczne. Piotr Prekurat 1

Program nauczania. Systemy baz danych. technik informatyk

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

Biblioteka. Bazy danych I dokumentacja projektu. Cel projektu:

Język UML w modelowaniu systemów informatycznych

Projektowanie internetowej bazy danych część 1

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

Funkcjonalność systemów zarządzania bazami danych przestrzennych w kartografii internetowej (PosrtgreSQL/PostGIS) Krzysztof Kuśnierek

REFERAT O PRACY DYPLOMOWEJ

Świat rzeczywisty i jego model

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

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

PRZEWODNIK PO PRZEDMIOCIE

BAZA DANYCH. Informatyka. ZESPÓŁ SZKÓŁ ELEKTRYCZNYCH Prowadzący: inż. Marek Genge

Projektowanie baz danych

Usługi analityczne budowa kostki analitycznej Część pierwsza.

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

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

Microsoft Access materiały pomocnicze do ćwiczeń cz. 1

Monitoring procesów z wykorzystaniem systemu ADONIS. Krok po kroku

Transformacja modelu ER do modelu relacyjnego

Bazy Danych i Usługi Sieciowe

PLAN REALIZACJI MATERIAŁU NAUCZANIA Z INFORMATYKI II. Uczeń umie: Świadomie stosować się do zasad regulaminów (P).

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

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

Transkrypt:

Akademia Morska w Gdyni Gdynia 2004

1. Podstawowe definicje Baza danych to uporządkowany zbiór danych umożliwiający łatwe przeszukiwanie i aktualizację. System zarządzania bazą danych (DBMS) to oprogramowanie pozwalające na utrzymanie, przetwarzanie i udostępnianie informacji. Jednakże przyjęło się również określać systemy DBMS jako bazy danych. Jednym z najpopularniejszych typów baz są relacyjne bazy danych, w których to dane przechowywane są w tabelach powiązanych ze sobą wzajemnymi zależnościami (związkami). Systemy zarządzania relacyjnymi bazami danych (RDBMS) to systemy pozwalające na utrzymanie, przetwarzanie i udostępnianie tabelarycznych danych powiązanych wzajemnymi zależnościami. Jeden system RDBMS może zarządzać dowolną liczbą instancji baz danych. Przykładem systemu RDBMS jest MySQL. System zarządzania relacyjnymi bazami danych (RDBMS) DB1 DB2 DBn Rysunek 1 - RDBMS i relacyjne bazy danych 2. Relacyjne bazy danych w praktyce (głównie bazy relacyjne) są nieodzownym elementem większości użytkowych systemów komputerowych dzisiejszych czasów. W szczególności systemy w architekturze klient-serwer, tzn. takie systemy, które udostępniają dane wielu użytkownikom, gromadzą swoje dane w bazie danych w systemie RDBMS na serwerze i udostępniają je poprzez aplikację kliencką swoim użytkownikom. Często są to systemy oparte na technologii serwera WWW i przeglądarek internetowych na tej zasadzie działają np. systemy do obsługi sklepów internetowych. DB Serwer systemu dla sklepu internetowego INTERNET Klient 1 Klient 2 Klient 3 Rysunek 2 - Schemat przykładowego systemu klient-serwer wykorzystującego bazę danych Joanna Szłapczyńska (asiasz@am.gdynia.pl) Strona 2 z 6

3. Projektowanie bazy danych Aby prawidłowo zaprojektować bazę danych na potrzeby danego systemu informatycznego należy kolejno wykonać następujące kroki: 1) Wyodrębnienie interesującego nas zagadnienia ze świata rzeczywistego (baza danych ma gromadzić dane związane z tym zagadnieniem) 2) Modelowanie tego zagadnienia za pomocą diagramu związków encji (E-R) 3) Przekształcenie diagramu związków encji w strukturę bazy danych 4. Modelowanie świata rzeczywistego Encja to elementarna, możliwa do wyodrębnienia kategoria logiczna (klasa) elementów świata zewnętrznego. Każda encja charakteryzuje się zbiorem własności (atrybutów) określających jej cechy. Przykłady encji: samochód, człowiek, statek, itd. Zbiór encji to zbiór, którego elementami są encje tego samego typu. Przykłady zbiorów encji: samochody, ludzie, statki, itd. Notacja graficzna zbiorów encji: <nazwa zbioru encji> np: Samochody Ludzie Statki Rysunek 3 - Notacja graficzna i przykłady zbiorów encji Atrybut encji (zbioru encji) to cecha, specyficzna własność, identyfikowalna dla każdej encji w zadanym zbiorze encji. Przykładowy zbiór atrybutów dla zbioru encji samochody to: marka model pojemność silnika kolor nadwozia typ nadwozia rocznik produkcji Notacja graficzna zbiorów i atrybutów encji: SAMOCHODY Model Marka Pojemność silnika Kolor nadwozia Typ nadwozia Rocznik produkcji Nazwa zbioru encji Atrybut zbioru encji Rysunek 4 - Notacja graficzna i przykładowe atrybuty zbioru encji Joanna Szłapczyńska (asiasz@am.gdynia.pl) Strona 3 z 6

Związek pomiędzy zbiorami encji to wzajemne logiczne powiązanie (zależność) elementów tych zbiorów. Wyróżniamy 3 podstawowe typy takich związków: związki jeden-do-jeden mamy 2 zbiory encji A i B i z każdym elementem ze zbioru A związany jest co najwyżej jeden element ze zbioru B i na odwrót, np. (przy założeniu, że samochód ma tylko jednego właściciela i żaden z właścicieli nie ma kilku samochodów): Samochody Właściciele Rysunek 5 - Przykład związku jeden-do-jeden związki jeden-do-wiele mamy 2 zbiory encji A i B i z każdym elementem ze zbioru A może być związanych wiele elementów ze zbioru B. Jednocześnie danemu elementowi ze zbioru B może być przyporządkowany co najwyżej jeden element ze zbioru A, np. (przy założeniu, że dany kierunek może istnieć tylko na jednym wydziale): Wydziały 1 * Kierunki Rysunek 6 - Przykład związku jeden-do-wiele związki wiele-do-wiele mamy 2 zbiory encji A i B i z każdym elementem ze zbioru A może być związanych wiele elementów ze zbioru B. Jednocześnie danemu elementowi ze zbioru B może być przyporządkowanych wiele elementów ze zbioru A, np. (przy założeniu, że student może jednocześnie studiować na kilku uczelniach): Uczelnie * * Studenci Rysunek 7 - Przykład związku wiele-do-wiele Diagram związków encji (Entity-Relationship diagram, E-R) prezentuje zbiory encji i przynależne im atrybuty. Na diagramie zaznaczone są wzajemne związki pomiędzy zbiorami encji. Joanna Szłapczyńska (asiasz@am.gdynia.pl) Strona 4 z 6

Przykład 1: Narysuj diagram związków encji (E-R) dla encji: autor, książka, wydawnictwo. Wydawnictwa Nazwa Ulica Miasto Telefon Fax Numer konta 1 * Tytuł Cena ISBN Książki * * Autorzy Imię Nazwisko Tytuł naukowy Rysunek 8 - Przykładowy diagram związków encji (E-R) dla encji: autor, książka, wydawnictwo Ćwiczenie: narysuj diagram związków encji (E-R) dla następujących encji: uczelnia, wydział, kierunek, student. 5. Rozszerzanie diagramu związków encji Rozszerzenie diagramu związków encji do postaci umożliwiającej dalsze wykorzystanie w procesie projektowania bazy danych wymaga wykonania następujących czynności: 1) Każdy zbiór encji staje się tabelą (nazwa tabeli taka jak zbiór encji) 2) Każdy z atrybutów danej encji staje się kolumną w odpowiedniej tabeli. Można na tym etapie dodatkowo określić typ danej kolumny w zależności od typu danych, które mają odzwierciedlać atrybut. Podstawowe typy kolumn dla MySQL: int liczba całkowita bool wartość logiczna: prawda/ fałsz float liczba zmiennoprzecinkowa date data blob obiekt binarny char(n) łańcuch tekstowy o stałej długości n-znaków varchar(n) - łańcuch tekstowy o zmiennej długości, max. n-znaków 3) Każda tabela powinna posiadać swój klucz główny jest to taka kolumna tabeli bądź kombinacja kolumn, które jednoznacznie identyfikują dany wiersz tabeli. Najwygodniej jest dodać do każdej z tabel odpowiednią kolumnę o nazwie przechowującą liczbowe wartości całkowite (int) tzw. identyfikatory wierszy. Taka kolumna będzie stanowić klucz główny danej tabeli. Operację dodawania klucza głównego należy przeprowadzić dla wszystkich tabel określonych w pkt 1). 4) Wszystkie związki między zbiorami encji należy przenieść do rozszerzonego diagramu E-R zgodnie z regułą: a. Związki jeden-do-jeden scalamy tak połączone zbiory encji w jedną tabelę b. Związki jeden-do-wiele - należy umieścić na rozszerzonym diagramie E-R dodając klucz obcy (tj. nową kolumnę wskazującą na klucz główny innej tabeli) w tabeli po stronie wiele. Połączoną parę klucz główny-klucz obcy należy Joanna Szłapczyńska (asiasz@am.gdynia.pl) Strona 5 z 6

zaznaczyć za pomocą strzałki (przerywana linia) z obustronnym grotem. c. Związki wiele-do-wiele należy zdekomponować tworząc nową tabelę (najczęściej o nazwie powstałej w wyniku sklejenia obu nazw łączonych zbiorów encji) zawierającą klucz obcy dwuelementowy, odnoszący się do obu tabel łączonych jako wiele-do-wiele (tj. w nowej tabeli AB tworzymy dwie kolumny, jedna z nich jest kluczem obcym do tabeli A, a druga kluczem obcym do tabeli B, przy założeniu, że A i B pozostają w związku wiele-do-wiele ). Tak stworzona nowa tabela może, ale nie musi posiadać własnego klucza głównego w postaci dodatkowej kolumny. Przykład rozszerzonego diagramu związków encji: Wydawnictwa Książki Książki_autorzy Autorzy Nazwa Ulica Miasto Telefon Fax Numer konta Tytuł Cena ISBN Wydawnictwa_ Ksiazki_ Autorzy_ Imię Nazwisko Tytuł naukowy Legenda: klucz główny klucz obcy Rysunek 9 Rozszerzony diagram E-R dla przykładu 1 6. Co dalej? Mając gotowy rozszerzony diagram związków encji oraz znając składnię języka SQL można w niemalże mechaniczny sposób stworzyć kod w języku SQL tworzący pustą (pozbawioną na razie danych) bazę zgodną z danym schematem bazy danych. Postawy składni języka SQL oraz obsługa MySQL będą tematem kolejnych zajęć. Joanna Szłapczyńska (asiasz@am.gdynia.pl) Strona 6 z 6