![Page 1: Relacyjne Bazy Danych Wykład 01 Wojciech St. Mościbrodzki wojmos@wojmos](https://reader035.vdocuments.pub/reader035/viewer/2022062517/568134a4550346895d9ba93a/html5/thumbnails/1.jpg)
Relacyjne Bazy DanychWykład 01Wojciech St. Moś[email protected]
![Page 2: Relacyjne Bazy Danych Wykład 01 Wojciech St. Mościbrodzki wojmos@wojmos](https://reader035.vdocuments.pub/reader035/viewer/2022062517/568134a4550346895d9ba93a/html5/thumbnails/2.jpg)
Plan przedmiotuPlan przedmiotu
BAZY DANYCH – edycja 2010 zaoczne prowadzący:
• zajęcia 1-8: Wojciech Mościbrodzki wykład:
• część teoretyczna• zaliczenie w postaci egzaminu (WM)
laboratorium• praktyka baz danych• projekt
literatura:• R. Elmasari, S. B. Navathe, Wprowadzenie do systemów baz danych,
Helion, 2005• R. Stones, N.Matthew, Bazy danych i PostgreSQL, Helion, 2002 (seria
Wrox)• Jeffrey D. Ullman, Jennifer Widom, Podstawowy wykład z systemów baz
danych, WNT, 2001 (seria Klasyka Informatyki)• S. Sumathi, S. Esakkirajan Fundamentals of Relational Database
Management Systems• www.mysql.com
![Page 3: Relacyjne Bazy Danych Wykład 01 Wojciech St. Mościbrodzki wojmos@wojmos](https://reader035.vdocuments.pub/reader035/viewer/2022062517/568134a4550346895d9ba93a/html5/thumbnails/3.jpg)
Krótkie wprowadzenie do teorii i praktyki danychKrótkie wprowadzenie do teorii i praktyki danych
DANE = to wszystko co jest/może być przetwarzane
BAZA DANYCH pierwsze użycie pojęcia - 1963 zbiór danych (niekoniecznie w postaci elektronicznej) program do przetwarzania i zarządzania danymi (DBMS=SZBD) jeden ze zbiorów danych zarządzanych przez DBMS
Funkcje DBMS: zarządzanie danymi (dodawanie, usuwanie, modyfikacja) wyszukiwanie danych i informacji zarządzanie bazami danych zarządzenie bezpieczeństwem, wydajnością i awariami
![Page 4: Relacyjne Bazy Danych Wykład 01 Wojciech St. Mościbrodzki wojmos@wojmos](https://reader035.vdocuments.pub/reader035/viewer/2022062517/568134a4550346895d9ba93a/html5/thumbnails/4.jpg)
Modele danychModele danych
MODELE DANYCH plikowy sieciowy (kolejki i złożone struktury składające się na kolejki) hierarchiczny (pliki, rekordy, związki nadrzędny-podrzędny) relacyjny obiektowy strumieniowy XML
![Page 5: Relacyjne Bazy Danych Wykład 01 Wojciech St. Mościbrodzki wojmos@wojmos](https://reader035.vdocuments.pub/reader035/viewer/2022062517/568134a4550346895d9ba93a/html5/thumbnails/5.jpg)
Bazy danych, bazy wiedzyBazy danych, bazy wiedzy
Struktury informacji dane metadane wiedza inteligencja?
Wyzwania gromadzenie zarządzanie przetwarzanie wnioskowanie rozumienie wymyślanie
![Page 6: Relacyjne Bazy Danych Wykład 01 Wojciech St. Mościbrodzki wojmos@wojmos](https://reader035.vdocuments.pub/reader035/viewer/2022062517/568134a4550346895d9ba93a/html5/thumbnails/6.jpg)
Systemy ekspertoweSystemy ekspertowe
System ekspercki: jawna reprezentacja wiedzy oddzielenie wiedzy eksperckiej od procedur sterowania zdolność do wyjaśnień (ang. explanation facilities), w szczególności sposobu
rozwiązania danego problemu rozwiązanie powstaje z wykorzystaniem różnych metod wnioskowania przetwarzanie symboli zamiast typowych obliczeń numerycznych
![Page 7: Relacyjne Bazy Danych Wykład 01 Wojciech St. Mościbrodzki wojmos@wojmos](https://reader035.vdocuments.pub/reader035/viewer/2022062517/568134a4550346895d9ba93a/html5/thumbnails/7.jpg)
Serwery baz danych (baz komputerowych)Serwery baz danych (baz komputerowych)
Serwer infrastruktura sprzętowa bazy danych oprogramowanie SZBD
Konfiguracja typowa: Serwer = {baza1, baza2, ... bazaN} Komputer = {serwer1, serwer2, ... serwerN}
Model klastra serwerów baz relacyjnych: Kluster = {serwer1, serwer2, serwer3... serwer N}
• serwer1 = {baza1, baza2, baza3, ... bazaM}– baza1 = {encja1, encja2, ... encja3, ....relacja1, relacja2, ...}
![Page 8: Relacyjne Bazy Danych Wykład 01 Wojciech St. Mościbrodzki wojmos@wojmos](https://reader035.vdocuments.pub/reader035/viewer/2022062517/568134a4550346895d9ba93a/html5/thumbnails/8.jpg)
Bazy danych – SZBD, serwer, architekturyBazy danych – SZBD, serwer, architektury
Architektury plikowe, serwerowe i klastrowe
![Page 9: Relacyjne Bazy Danych Wykład 01 Wojciech St. Mościbrodzki wojmos@wojmos](https://reader035.vdocuments.pub/reader035/viewer/2022062517/568134a4550346895d9ba93a/html5/thumbnails/9.jpg)
Typowa architektura MySQLTypowa architektura MySQL
![Page 10: Relacyjne Bazy Danych Wykład 01 Wojciech St. Mościbrodzki wojmos@wojmos](https://reader035.vdocuments.pub/reader035/viewer/2022062517/568134a4550346895d9ba93a/html5/thumbnails/10.jpg)
Konfiguracja dostępu do MySQLKonfiguracja dostępu do MySQL
Pośród poleceń, które będziemy wykonywać można wyróżnić: Standardowe rozkazy SQL Dialekt SQL, zależny od serwera Polecenia klienta i serwera, wychodzące poza SQL
![Page 11: Relacyjne Bazy Danych Wykład 01 Wojciech St. Mościbrodzki wojmos@wojmos](https://reader035.vdocuments.pub/reader035/viewer/2022062517/568134a4550346895d9ba93a/html5/thumbnails/11.jpg)
Pierwsze podsumowaniePierwsze podsumowanie
Dane i zbiory danych
Model danych
System bazy danych = dane + system zarządzania
Serwery baz danych
![Page 12: Relacyjne Bazy Danych Wykład 01 Wojciech St. Mościbrodzki wojmos@wojmos](https://reader035.vdocuments.pub/reader035/viewer/2022062517/568134a4550346895d9ba93a/html5/thumbnails/12.jpg)
RELACYJNY MODEL DANYCH
![Page 13: Relacyjne Bazy Danych Wykład 01 Wojciech St. Mościbrodzki wojmos@wojmos](https://reader035.vdocuments.pub/reader035/viewer/2022062517/568134a4550346895d9ba93a/html5/thumbnails/13.jpg)
EncjeEncje
Encja – pojęcie pierwotne; niepowtarzalny, unikalny byt
Szerzej: rodzaj reprezentacji grupy obiektów opisywanych przez takie same własności; rodzaj nowotworzonego „typu” (analogia do języków programowania).
POPRAWNIEJ: ENCJA-TYP
PRZYJMUJE SIĘ JEDNAK: ENCJA = ENCJA-TYP
Tradycyjnie, nazwy encji oznaczamy liczbą pojedynczą (CZŁOWIEK, a nie: LUDZIE)
Przykład: encja SAMOCHÓD (przedmioty posiadajace kolor i tablicę rejestracyjną)
Dwa fizyczne przedmioty mogą należeć do tej samej encji lub nie (zależnie od założeń, definicji)
np. dwóch ludzi rozróżnianych tylko po PESEL – tak Człowiek-pracownik firmy i człowiek-obcokrajowiec - nie
![Page 14: Relacyjne Bazy Danych Wykład 01 Wojciech St. Mościbrodzki wojmos@wojmos](https://reader035.vdocuments.pub/reader035/viewer/2022062517/568134a4550346895d9ba93a/html5/thumbnails/14.jpg)
EncjeEncje
Atrybut encji – jedna z jej własności; przyjmuje się, że atrybuty mają określony pewien zakres dopuszczalnych wartości
Encja jest pewną abstrakcją, modelem, logiczną reprezentacją rzeczywistości – wygodnie o niej myśleć jak o tablicy o ustalonej strukturze („miejsce na atrybuty”) lub o zbiorze obiektów
SAMOCHÓD
NrRej Kolor RokProd
![Page 15: Relacyjne Bazy Danych Wykład 01 Wojciech St. Mościbrodzki wojmos@wojmos](https://reader035.vdocuments.pub/reader035/viewer/2022062517/568134a4550346895d9ba93a/html5/thumbnails/15.jpg)
Relacje i krotnościRelacje i krotności
Relacja (ściślej: relacja binarna), to związek, w którym pozostają ze sobą dwie encje (ich elementy).
Możliwe są następujące przypadki: Jednemu elementowi encji A odpowiada kilka elementów encji B, ale
każdemu elementowi B odpowiada jeden (lub zero) elementów encji A Jednemu elementowi encji A odpowiada kilka elementów encji B, a
każdemu elementowi B odpowiada kilka (lub zero) elementów encji A Jednemu elementowi encji A odpowiada jeden (lub zero) element encji B, a
każdemu elementowi B odpowiada jeden (lub zero) elementów encji A
UWAGA: jeśli element encji nie pozostaje w relacji, to nie „psuje” to krotności.
Czasami wyraźnie oznaczamy to nazwą np. „relacja 1-do-1 z opcją 0”
![Page 16: Relacyjne Bazy Danych Wykład 01 Wojciech St. Mościbrodzki wojmos@wojmos](https://reader035.vdocuments.pub/reader035/viewer/2022062517/568134a4550346895d9ba93a/html5/thumbnails/16.jpg)
Relacja jeden-do-jedenRelacja jeden-do-jeden
Przykład: CZŁOWIEK i PASZPORT
relacja 1-do-1
CZŁOWIEK PASZPORT
relacja 1-do-1
UWAGI:
Każdy człowiek może mieć tylko jeden paszport
Paszport może należeć tylko do jednego człowieka
Są ludzie, którzy nie mają paszportów
Są paszporty, które do nikogo nie należą (bo np. właściciel zmarł)
Taki model nie zakłada możliwości błędu (np. podwójnie wydany dokument!)
![Page 17: Relacyjne Bazy Danych Wykład 01 Wojciech St. Mościbrodzki wojmos@wojmos](https://reader035.vdocuments.pub/reader035/viewer/2022062517/568134a4550346895d9ba93a/html5/thumbnails/17.jpg)
Relacja jeden-do-wieleRelacja jeden-do-wiele
Przykład: CZŁOWIEK i PIES
relacja 1-do-
CZŁOWIEK PIES
relacja 1-do-
UWAGI:
Każdy człowiek może być właścicielem wielu psów
Jeden pies uznaje za swego pana tylko jednego człowieka
Są ludzie, którzy nie mają psów
Są bezpańskie psy
![Page 18: Relacyjne Bazy Danych Wykład 01 Wojciech St. Mościbrodzki wojmos@wojmos](https://reader035.vdocuments.pub/reader035/viewer/2022062517/568134a4550346895d9ba93a/html5/thumbnails/18.jpg)
Relacja wiele-do-wieleRelacja wiele-do-wiele
Przykład: CZŁOWIEK i SAMOCHÓD
relacja -do-
CZŁOWIEK SAMOCHÓD
relacja -do-
UWAGI:
Każdy człowiek może być właścicielem wielu samochodów
Każdy samochód może mieć wielu właścicieli (współwłasność)
Są ludzie, którzy nie mają samochodów
Są bezpańskie samochody (np. zezłomowane, porzucone, nieznany właściciel)
![Page 19: Relacyjne Bazy Danych Wykład 01 Wojciech St. Mościbrodzki wojmos@wojmos](https://reader035.vdocuments.pub/reader035/viewer/2022062517/568134a4550346895d9ba93a/html5/thumbnails/19.jpg)
ERDERD
Diagram związków encji (ERD) to podstawowe narzędzie modelowania danych
Składa się z ENCJI (wraz z ATRYBUTAMI) i RELACJI pomiędzy nimi zachodzących
Istnieją (niestety) różne sposoby zapisu encji i relacji, klasycznie:
ENCJA Atrybut Relacja
![Page 20: Relacyjne Bazy Danych Wykład 01 Wojciech St. Mościbrodzki wojmos@wojmos](https://reader035.vdocuments.pub/reader035/viewer/2022062517/568134a4550346895d9ba93a/html5/thumbnails/20.jpg)
Klasyczny ERDKlasyczny ERD
Zapis klasyczny:
NrRej Kolor
ENCJA CZŁOWIEK
PESEL
Ma
0
Zapis klasyczny i uproszczony (bez nazw relacji):
NrRej Kolor
ENCJA CZŁOWIEK
PESEL
![Page 21: Relacyjne Bazy Danych Wykład 01 Wojciech St. Mościbrodzki wojmos@wojmos](https://reader035.vdocuments.pub/reader035/viewer/2022062517/568134a4550346895d9ba93a/html5/thumbnails/21.jpg)
Inny przykładInny przykład
![Page 22: Relacyjne Bazy Danych Wykład 01 Wojciech St. Mościbrodzki wojmos@wojmos](https://reader035.vdocuments.pub/reader035/viewer/2022062517/568134a4550346895d9ba93a/html5/thumbnails/22.jpg)
Notacja UMLNotacja UML
![Page 23: Relacyjne Bazy Danych Wykład 01 Wojciech St. Mościbrodzki wojmos@wojmos](https://reader035.vdocuments.pub/reader035/viewer/2022062517/568134a4550346895d9ba93a/html5/thumbnails/23.jpg)
Notacja w jednym z narzędziNotacja w jednym z narzędzi
![Page 24: Relacyjne Bazy Danych Wykład 01 Wojciech St. Mościbrodzki wojmos@wojmos](https://reader035.vdocuments.pub/reader035/viewer/2022062517/568134a4550346895d9ba93a/html5/thumbnails/24.jpg)
Notacja rozszerzona EERDNotacja rozszerzona EERD
Notacja rozszerzona wprowadzona została głównie dla możliwości pokazywania „zawierania się” encji w sobie
![Page 25: Relacyjne Bazy Danych Wykład 01 Wojciech St. Mościbrodzki wojmos@wojmos](https://reader035.vdocuments.pub/reader035/viewer/2022062517/568134a4550346895d9ba93a/html5/thumbnails/25.jpg)
KluczeKlucze
Z pojęciem ENCJI wiąże się pojęcie KLUCZA (key), czyli takiego zestawu atrybutów, których wartości są unikalne w obrębie encji.
Klucze mogą być proste (jeden atrybut) lub złożone (wiele atrybutów). Od klucza wymaga się, by był możliwie mały – to znaczy, że usunięcie jednego z atrybutów sprawia, że pozostałe nie stanowią klucza.
Każda encja może mieć kilka kluczy kandydujących (to jest zestawów atrybutów, które mogą być kluczami), z których wybierany jest klucz główny.
![Page 26: Relacyjne Bazy Danych Wykład 01 Wojciech St. Mościbrodzki wojmos@wojmos](https://reader035.vdocuments.pub/reader035/viewer/2022062517/568134a4550346895d9ba93a/html5/thumbnails/26.jpg)
KluczeKlucze
Istnieje kilka kluczy kandydujących – prostych i złożonych
Pytanie: czy PESEL jest dobrym kluczem w bazie danych ludzi? Teoretyk: TAK! Praktyk: NIE!
![Page 27: Relacyjne Bazy Danych Wykład 01 Wojciech St. Mościbrodzki wojmos@wojmos](https://reader035.vdocuments.pub/reader035/viewer/2022062517/568134a4550346895d9ba93a/html5/thumbnails/27.jpg)
Dane logiczne i dane fizyczneDane logiczne i dane fizyczne
Od początku istnienia „nowożytnych” baz danych informacje przechowywano w tabelach.
ENCJA TABELA BAZY DANYCH
ATRYBUT KOLUMNA
ELEMENT ENCJI KROTKA / REKORD
RELACJA TABELA BAZY DANYCH
Relacyjne bazy danych są w rzeczywistości zarządzalnymi zbiorami tabel, na których wykonywane są proste operacje Językiem porozumiewania się z bazą danych jest SQL Polecenia SQL to ZAPYTANIA (a nie: kwerendy!!!)