1 / 27

Relacyjne Bazy Danych Wykład 01 Wojciech St. Mościbrodzki wojmos@wojmos

Relacyjne Bazy Danych Wykład 01 Wojciech St. Mościbrodzki wojmos@wojmos.com. Plan 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

Download Presentation

Relacyjne Bazy Danych Wykład 01 Wojciech St. Mościbrodzki wojmos@wojmos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Relacyjne Bazy DanychWykład 01Wojciech St. Mościbrodzkiwojmos@wojmos.com

  2. Plan 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

  3. Kró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

  4. Modele 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

  5. Bazy danych, bazy wiedzy • Struktury informacji • dane • metadane • wiedza • inteligencja? • Wyzwania • gromadzenie • zarządzanie • przetwarzanie • wnioskowanie • rozumienie • wymyślanie

  6. Systemy 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

  7. 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, ...}

  8. Bazy danych – SZBD, serwer, architektury • Architektury plikowe, serwerowe i klastrowe

  9. Typowa architektura MySQL

  10. Konfiguracja 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

  11. Pierwsze podsumowanie • Dane i zbiory danych • Model danych • System bazy danych = dane + system zarządzania • Serwery baz danych

  12. RELACYJNY MODEL DANYCH

  13. Encje • 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

  14. Encje • 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

  15. Relacje 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”

  16. Relacja jeden-do-jeden • Przykład: CZŁOWIEK i PASZPORT CZŁOWIEK PASZPORT relacja 1-do-1 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!)

  17. Relacja jeden-do-wiele • Przykład: CZŁOWIEK i PIES CZŁOWIEK PIES relacja 1-do- 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

  18. Relacja wiele-do-wiele • Przykład: CZŁOWIEK i SAMOCHÓD CZŁOWIEK SAMOCHÓD relacja -do- 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)

  19. ERD • 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

  20. Klasyczny ERD • Zapis klasyczny:   ENCJA Ma CZŁOWIEK 0 NrRej Kolor PESEL • Zapis klasyczny i uproszczony (bez nazw relacji): ENCJA CZŁOWIEK NrRej Kolor PESEL

  21. Inny przykład

  22. Notacja UML

  23. Notacja w jednym z narzędzi

  24. Notacja rozszerzona EERD • Notacja rozszerzona wprowadzona została głównie dla możliwości pokazywania „zawierania się” encji w sobie

  25. Klucze • 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.

  26. Klucze • Istnieje kilka kluczy kandydujących – prostych i złożonych • Pytanie: czy PESEL jest dobrym kluczem w bazie danych ludzi? • Teoretyk: TAK! • Praktyk: NIE!

  27. Dane 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!!!)

More Related