Bazy danych. Plan wykáadu. Proces modelowania i implementacji bazy danych. Elementy ERD

Podobne dokumenty
Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD)

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD)

Technologie baz danych

Bazy danych. Plan wykładu. Podstawy modeli relacyjnych. Diagramy ER. Wykład 3: Relacyjny model danych. SQL

Plan wykładu. Elementy ERD BAZY DANYCH. Proces modelowania i implementacji bazy danych. Diagramy związków encji. SQL podzapytania

Bazy danych. Plan wykładu. Dekompozycja relacji. Anomalie. Wykład 5: Projektowanie relacyjnych schematów baz danych. SQL - funkcje grupujce

Bazy danych. Plan wykáadu. Powtórzenie BCNF i 3NF. Nowa forma redundancji. Wykáad 6: Postaci normalne. SQL - zapytania záo*one.

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych

Bazy danych. Plan wykładu. Zalenoci funkcyjne. Wykład 4: Relacyjny model danych - zalenoci funkcyjne. SQL - podzapytania A B

Bazy danych. Plan wykáadu. Zale*noci funkcyjne. Wykáad 4: Relacyjny model danych - zale*noci funkcyjne. A B

Bazy danych i usługi sieciowe

Bazy danych. Plan wykładu. Podzapytania - wskazówki. Podzapytania po FROM. Wykład 5: Zalenoci wielowartociowe. Sprowadzanie do postaci normalnych.

Bazy danych. Plan wykładu. Zależności funkcyjne. Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL.

Plan wykładu. Problemy w bazie danych. Problemy w bazie danych BAZY DANYCH

Bazy danych. Plan wykładu. Pierwsza posta normalna. Druga posta normalna. Wykład 7: Sprowadzanie do postaci normalnych. DDL, DML

Bazy danych. Plan wykáadu. Diagramy ER. Podstawy modeli relacyjnych. Wykáad 3: Relacyjny model danych. SQL - zmienne podstawienia, funkcje

Bazy danych Podstawy teoretyczne

Tworzenie bazy danych Biblioteka tworzenie tabel i powiza, manipulowanie danymi. Zadania do wykonani przed przystpieniem do pracy:

Technologie baz danych

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

SQL (ang. Structured Query Language)

Systemy GIS Tworzenie zapytań w bazach danych

Bazy danych. Plan wykładu. Operacje w algebrze relacji. Pojcie algebry relacji. Wykład 8: Algebra relacji. SQL - cd

Bazy danych. Zaliczenie. Literatura. Strony WWW. Wykáad 1: Wprowadzenie do baz danych

TECHNOLOGIE BAZ DANYCH

Technologie baz danych

Bazy danych. Zaliczenie. Literatura. Strony WWW. Wykáad 1: Wprowadzenie do baz danych

Bazy danych. Plan wykładu. Definicja zalenoci funkcyjnych. Zalenoci funkcyjne. Wykład 4: Relacyjny model danych - zalenoci funkcyjne.

Przestrzenne bazy danych Podstawy języka SQL

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

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

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Podstawowe zapytania SELECT (na jednej tabeli)

Wprowadzenie do języka SQL

Język SQL. Rozdział 4. Funkcje grupowe Funkcje grupowe, podział relacji na grupy, klauzule GROUP BY i HAVING.

Wykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania.

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

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

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

Relacyjne bazy danych. Podstawy SQL

BAZY DANYCH algebra relacyjna. Opracował: dr inż. Piotr Suchomski

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

RELACYJNE BAZY DANYCH TEORIA. Bazy danych to uporzdkowany zbiór informacji z okrelonej dziedziny lub tematyki przeznaczony do wyszukiwania

Oracle PL/SQL. Paweł Rajba.

Projektowanie Systemów Informacyjnych

Model relacyjny. Wykład II

Materiały szkoleniowe. Podstawy jzyka SQL. Prowadzcy Anna Pijanowska - Kunierz Paweł ołnierczyk

Wykład 2. Relacyjny model danych

Bazy Danych egzamin poprawkowy, 2012 rozwiazania

- język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji

Widok Connections po utworzeniu połączenia. Obszar roboczy

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

Grupowanie i funkcje agregujące

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

Modelowanie konceptualne model EER

Zasady transformacji modelu DOZ do projektu tabel bazy danych

Relacyjne bazy danych. Podstawy SQL

WPROWADZENIE DO BAZ DANYCH

1 Wstęp do modelu relacyjnego

Wybór wszystkich danych: SELECT * FROM employee Wybór określonych kolumn lub wyrażeń: SELECT first_name, last_name, salary FROM employee

TEST E.14 BAZY DANYCH

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

Wprowadzenie do baz danych

Technologia informacyjna

Zaawansowane bazy danych i hurtownie danych studia zaoczne II stopnia, sem. I

Bazy danych SQL. Wstp. SQL (Structured( Query Language) strukturalny jzyk zapyta

Konstruowanie Baz Danych DQL agregacja danych

Bazy danych 8. Podzapytania i grupowanie. P. F. Góra

Agnieszka Ptaszek Michał Chojecki

Autor: Joanna Karwowska

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Przykładowa baza danych BIBLIOTEKA

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

SQL do zaawansowanych analiz danych część 1.

3. Podzapytania, łączenie tabel i zapytań

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu:

1: 2: 3: 4: 5: 6: 7: 8: 9: 10:

Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne.

Agregacja i Grupowanie Danych. Funkcje Agregacji. Opcje GROUP BY oraz HAVING

Zadania do wykonaj przed przyst!pieniem do pracy:

Język SQL. instrukcja laboratoryjna. Politechnika Śląska Instytut Informatyki. laboratorium Bazy Danych

Bazy danych. Plan wykładu. Metody organizacji pliku rekordów. Pojcie indeksu. Wykład 11: Indeksy. Pojcie indeksu - rodzaje indeksów

SBQL. język zapytań dla obiektowych baz danych. Kamil Adamczyk. Uniwersytet Warszawski 20.IV.2009

Informatyka sem. III studia inżynierskie Transport 2018/19 LAB 2. Lab Backup bazy danych. Tworzenie kopii (backup) bazy danych

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy)

Podstawy języka SQL cz. 2

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny technologiczny Politechnika Śląska

Autor: Joanna Karwowska

Język DML. Instrukcje DML w różnych implementacjach SQL są bardzo podobne. Podstawowymi instrukcjami DML są: SELECT INSERT UPDATE DELETE

SQL praca z tabelami 4. Wykład 7

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

Autor: Joanna Karwowska

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

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

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

Paweł Rajba

Przykłady wyrae uywanych w kwerendach i filtrach

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,

PODZAPYTANIE (SUBSELECT)

Typy bazy danych Textract

Transkrypt:

Plan wykáadu Wykáad 2: Diagramy zwizków encji (ERD) SQL - áczenie tabel, zapytania grupujce Diagramy zwizków encji elementy ERD licznoci zwizków podklasy klucze zbiory sáabych encji Maágorzata Krtowska, Agnieszka Oniko Wydziaá Informatyki Politechnika Biaáostocka SQL - zapytanie proste, áczenie tabel 2 Proces modelowania i implementacji bazy danych Elementy ERD Diagram zwizków encji - Entity-Relationship Diagram E/R (ERD) Analiza informacji, które bd zawarte w bazie danych System zarzdzania relacyjn baz danych Zbiory encji Encja - rozró*nialny obiekt Zbiór encji (typ encji) - zbiór podobnych encji Zbiór encji (typ encji) Diagram E/R Schemat bazy danych (Model relacyjny) WykáDGRZFD KrWRZVND0DáJRU]DWD OniNR$JQLHV]ND Sosnowski Zenon... Encje (Instancje danego typu encji) 3 4

Elementy ERD Atrybuty - informacje opisujce encj Imi Nazwisko PRACOWNIK Id Elementy diagramu E/R Zwizki - powizania pomidzy dwiema lub wiksz liczb encji (zbiorów encji) Jakie mog istnieü powizania pomidzy nastpujcymi encjami: Szkoáy Rodzice Dzieci Powizania bezporednie dziecko-szkoáa rodzic - dziecko Powizania porednie: rodzic - szkoáa Encja1 Nazwa zwizku Encja2 5 6 Przykáad Baza danych filmów Przykáad Baza danych filmów Wystpuje Wystpuje Potop )XUHN Kingsajz Kingsajz Seksmisja Daniel Olbrychski Katarzyna Figura Katarzyna Figura Jerzy Stuhr Jerzy Stuhr 7 8

Przykáad Baza danych filmów Liczebnoü zwizków encji Potop )XUHN Kingsajz Seksmisja Studio1 Studio2 Studio1 Studio3 N:N 1:N 1:1 9 10 Liczebnoü zwizków encji Zwizki wieloargumentowe N:N Wystpuje 1:N 1:1 Kieruje Prezesi Reprezentacja w postaci trzech wartoci: (studio, aktor, film) 11 12

Role w zwizkach Atrybuty zwizku Przykáad Studio, które podpisaáo kontrakt z aktorem mo*e podpisaü kontrakt z innym studiem po to, by umo*liwiü aktorowi udziaá w filmie. Reprezentacja zwizku: (studio1, studio2, aktor, film) Gdzie umieciü wynagrodzenie aktora? wynagrodzenie Studio producenta Studio aktora Role studia: producent filmu wáaciciel aktora 13 14 Przesunicie atrybutu do zbioru encji wynagrodzenie Przeksztaácanie w zwizki binarne Zwizek kontrakty: (studio1, studio2, film, aktor) Ga*e Studio producenta Studio aktora 15 stworzenie dodatkowego zbioru encji, którego elementy traktuje si tak samo jak krotki zbioru zwizków dla zwizku wieloargumentowego (áczcy zbiór encji) stworzenie zwizków wiele do jeden ze zbioru áczcego do poszczególnych zbiorów encji wchodzcych w skáad pierwotnego zwizku wieloargumentowego 16

Podklasy w ERD Podklasa = specjalny przypadek = mniej encji = wicej wáasnoci Przykáad: Kreskówki i kryminaáy to podklasy filmów do aktorów dubbinguje Kreskówki isa isa Kryminaáy bro 17 Podklasy i dziedziczenie w ERD Zakáadajc, *e C jest podklas klasy D na diagramach E/R nale*y: wprowadziü pomidzy zbiorami encji C i D specjalny typ zwizku isa ( an A is a B ) - wierzchoáek trójkta wskazuje klas nadrzdn wszystkie atrybuty i zwizki, które odnosz si wyácznie do encji C s doczepione do prostokta oznaczajcego C atrybuty i zwizki, które opisuj zarówno C jak i D s doczepione do prostokta oznaczajcego D. Dziedziczenie w ERD: encje mo*na ogldaü jako záo*one ze skáadowych, które nale* do ró*nych zbiorów encji, stanowicych czci hierarchii isa skáadowe te s powizane w caáoü zwizkiem isa encja ma te wszystkie atrybuty, które nale* do którejkolwiek skáadowej oraz wchodzi we wszystkie zwizki, w które s wáczone jej skáadowe 18 Klucze Integralnoü referencyjna Klucze - atrybuty lub zbiory atrybutów, które jednoznacznie identyfikuj encj wewntrz zbioru encji. W zbiorze encji nie mog wystpowaü dwie encje, które miaáyby identyczne wartoci atrybutów tworzcych klucz. Atrybuty, które wchodz w skáad klucza na diagramach ER s podkrelone. W hierarchii isa, tylko zbiór encji z klasy nadrzdnej (korze drzewa) mo*e zawieraü klucz, który jednoznacznie identyfikuje encje równie* w podklasach. Ka*dy zbiór encji musi mieü zdefiniowany klucz. 19 Wizy integralnoci referencyjnej narzucaj wymaganie, aby wartoü, któr wskazuje encja faktycznie znajdowaáa si w bazie. E R Interpretacja: strzaáka o zaokrglonym grocie: zwizek jest typu wiele do jeden ze zbioru E do F i w zbiorze F musi istnieü encja odpowiadajca encji ze zbioru E E Interpretacja: strzaáka o ostrym grocie: zwizek jest typu wiele do jeden ze zbioru E do F i w zbiorze F mo*e istnieü co najwy*ej jedna encja odpowiadajca encji ze zbioru E. R F F 20

Integralnoü referencyjna - przykáad Inne e wizów Interpretacja: Studio posiadajce pewien film zawsze musi istnieü w zbiorze encji Studio kierowanego przez pewnego prezesa musi istnieü w zbiorze Studio ma co najwy*ej jednego prezesa, ale w pewnych momentach mo*e go nie mieü Usunicie studia z bazy powoduje usunicie prezesa Kieruje Prezesi Wizy domenowe - wymagania, aby wartoü atrybutu nale*aáa do okrelonego zbioru wartoci specyficznych lub znajdowaáa si w okrelonym zakresie Wizy zasadnicze - arbitralnie narzucone warunki, których speánienie musi byü bezwzgldnie przestrzegane w definiowanej bazie danych Wystpuje <100 21 22 Zbiory sáabych encji Wymagania dla zbiorów sáabych encji Zbiory sáabych encji - zbiory encji, dla których niektóre lub wszystkie atrybuty klucza wybiera si z innego zbioru encji. Przykáad: Mamy dwa zbiory encji: Piákarze (, wiek) oraz Dru*yny (). Jak mo*na zdefiniowaü klucz dla zbioru encji Piákarze? zbiór sáabych encji - prostokt o podwójnych krawdziach zwizki áczce ten zbiór z innymi to zwizki wiele do jeden - romby o podwójnych krawdziach Piákarze wiek numer gra Dru*yny 23 Je*eli E jest zbiorem sáabych encji, wów zbiór encji F, który dostarcza atrybutów klucza do E, musi pozostawaü z E w pewnym zwizku R oraz Zwizek R musi byü binarny, typu wiele do jeden z E do F Atrybuty wchodzce w skáad klucza E a pochodzce z F musz byü czci klucza w F Je*eli zbiór F jest zbiorem sáabym, to kluczowe atrybuty z F przekazywane do E mog pochodziü z pewnego innego zbioru encji, z którym F jest powizany poprzez zwizek typu wiele do jednego. Uogólniajc: je*eli zbiór encji jest oznaczony podwójn ramk, to musi byü sáaby. Jego klucz skáada si z tych jego wáasnych atrybutów, które s podkrelone oraz atrybutów klucza tych zbiorów encji, z którymi zbiór sáaby jest poáczony przez zwizki typu wiele do jeden, a które oznaczono podwójnymi krawdziami. 24

Zasady projektowania Unikanie redundancji unikanie redundancji - unikanie powtórze danych prostota - unikanie wprowadzania do projektu wicej elementów ni* naprawd potrzeba dobór wáaciwych elementów definiowanie zbioru encji - je*eli z elementem wi*e si kilka atrybutów definiowanie elementu jako atrybutu - z elementem wi*e si tylko jego limitowanie zbiorów sáabych encji - tworzenie identyfikatorów jako kluczy w zbiorach encji, je*eli to ma uzasadnienie. Redundancja wystpuje wów, gdy dana informacja jest powtórzona w zbiorze danych. Redundancja powoduje niespójnoü bazy danych oraz zajmuje miejsce na dysku. Przykáad redundancji: 25 26 Baza üwiczeniowa Záczenia tabel SELECT [ALL DISTINCT] wyra*enie [[AS] alias],... FROM tabela_1, tabela_2,..., tabela_n WHERE warunki_áczce_tabele minimalna liczba áczcych warunków = liczba tabel -1 27 28

Operator konkatenacji Funkcje grupowe Operator konkatenacji ( ) pozwala na áczenie kolumny z kolumn, z wyra*eniem arytmetycznym lub staá wartoci w celu utworzenia wyra*enia. Argumenty wystpujce po obu stromach operatora s áczone i tworz pojedyncz kolumn wynikow. select 'pracownik ' ename ' pracuje na stanowisku ' job from emp; 'PRACOWNIK' ENAME 'PRACUJENASTANOWISKU' JOB ---------------------------------------------------- pracownik SMITH pracuje na stanowisku CLERK pracownik ALLEN pracuje na stanowisku SALESMAN pracownik WARD pracuje na stanowisku SALESMAN select 'pracownik ' ename ' pracuje na stanowisku ' job "pracownicy i stanowiska" from emp; pracownicy i stanowiska ---------------------------------------------------- pracownik SMITH pracuje na stanowisku CLERK pracownik ALLEN pracuje na stanowisku SALESMAN 29 Funkcje grupowe s przeznaczone do dziaáania na grupach wierszy. Wynikiem dziaáania funkcji grupowej jest pojedyncza wartoü dla caáej grupy, a nie jedna wartoü dla ka*dego wiersza. Przykáady funkcji: AVG ([DISTINCT] wyra*enie) COUNT ([DISTINCT] wyra*enie) COUNT(*) MAX ([DISTINCT] wyra*enie) MIN ([DISTINCT] wyra*enie) STDDEV ([DISTINCT] wyra*enie) SUM ([DISTINCT] wyra*enie) VARIANCE ([DISTINCT] wyra*enie) Wszystkie funkcje grupowe, z wyjtkiem count(*) ignoruj NULL. 30 Zapytania grupujce SELECT lista pól FROM tabele WHERE warunki przed grupowaniem GROUP BY pola grupujce HAVING warunki po grupowaniu Zasady wykonania zapytania grupujcego Rozwa* wszystkie kombinacje wierszy tabel wystpujcych w klauzuli FROM Do ka*dego wiersza zastosuj warunek WHERE Podziel wiersze na grupy Do ka*dej grupy zastosuj warunek w klauzuli HAVING Dla ka*dego wiersza reprezenujcego grup oblicz wartoci wyra*e po SELECT 31 32

Zapytania grupujce - ograniczenia Na licie wyboru polecenia SELECT u*ywajcego grupowania wolno umieszczaü tylko te kolumny, które s przedmiotem dziaáania klauzuli GROUP BY chyba, *e wystpuj one wewntrz funkcji grupujacej. Ka*da kolumna lub wyra*enie wystepujce na licie SELECT, nie objte funkcj grupow musi byü przedmiotem grupowania klauzul GROUP BY. 33