1 / 42

Bazy danych Wykład 1

Bazy danych Wykład 1. Piotr Gawrysiak pgawrysiak@supermedia.pl. 21 września 2003. Baza danych, System Zarządzania Bazą Danych. baza danych kolekcja powiązanych i trwałych danych dane fakty rejestrowane w bazie danych System Zarządzania Bazą Danych SZBD (DBMS)

edana
Download Presentation

Bazy danych Wykład 1

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. Bazy danychWykład 1 Piotr Gawrysiak pgawrysiak@supermedia.pl 21 września 2003

  2. Baza danych, System Zarządzania Bazą Danych • baza danych • kolekcja powiązanych i trwałych danych • dane • fakty rejestrowane w bazie danych • System Zarządzania Bazą Danych SZBD (DBMS) • zbiór programów umożliwiających użytkownikom definiowanie, konstruowanie, manipulowanie bazą danych • definiowanie - specyfikacja typów danych, struktur, związków integralnościowych dla danych przechowywanych w bazie danych • konstruowanie - proces zapisu danych na nośniku danych oraz ich kontrola przez SZBD • manipulowanie - zapytania do bazy danych, modyfikacja, raportowanie

  3. Zagadnienia związane z zarządzaniem danymi • definiowanie struktur potrzebnych dla przechowywania informacji - modelowanie danych • mechanizmy umożliwiające manipulowanie informacją - struktury plików oraz architektura systemów, przetwarzanie zapytań, zapis, modyfikacja oraz usuwanie informacji • narzędzia, programy usługowe oraz użytkowe umożliwiające administrowanie oraz raportowanie • zapewnienie bezpieczeństwa oraz spójności informacji w bazie danych • ochrona informacji, odtworzenie systemu po awarii • kontrola współbieżności w przypadku, kiedy z systemu korzysta wielu użytkowników

  4. Ewolucja systemów zarządzania bazą danych • Przetwarzanie Plików - lata 50 • Hierarchiczne oraz Sieciowe Bazy Danych lata 60 i 70 • Relacyjne Bazy Danych - lata 80 • Obiektowo-Relacyjne Bazy danych - lata 90 • Obiektowe Bazy Danych

  5. Problemy z przetwarzaniem plików • redundancja oraz niezgodność danych • ta sama informacja może być przechowywana w wielu miejscach • przy operacjach modyfikacji nie wszystkie kopie informacji mogą być zmodyfikowane • trudności w dostępie do danych • w przypadku nietypowego zapotrzebowania na dane wymagane jest napisanie nowego programu aplikacyjnego • niekompatybilność danych • dane w różnych formatach oraz plikach fizycznych • trudności w rozwoju nowych programów aplikacyjnych • wielu użytkowników • przetwarzanie równoległe - szybszy czas odpowiedzi, równoległa praca użytkowników • zabezpieczenie przed jednoczesnym zapisem

  6. Problemy z przetwarzaniem plików - c. d. • problemy bezpieczeństwa • każdy użytkownik powinien mieć dostęp do tych danych, do których ma zezwolenie • trudności w realizacji z bezpośrednim wykorzystaniem programów aplikacyjnych • problemy integralnościowe • dane muszą spełniać określone kryteria • trudności w realizacji zmian integralności danych z wykorzystaniem bezpośredniego przetwarzania plików

  7. Abstrakcja danych • podstawowym celem systemu bazy danych jest dostarczenie użytkownikowi tzw. abstrakcyjnego wglądu do systemu • system bazy danych ukrywa przed użytkownikiem w jaki sposób dane są przechowywane oraz zarządzane • istnieją trzy główne poziomy abstrakcji • poziom fizyczny, schematy wewnętrzne • organizacja fizyczna danych - indeksy, B-drzewa, pliki haszujące • poziom konceptualny, schematy konceptualne • opis danych oraz związków przechowywanych w systemie - poziom administratora • poziom zewnętrzny, poziom wglądu, schemat zewnętrzny, wgląd użytkownika • opisuje część bazy danych dla wyszczególnionej grupy użytkowników, może istnieć wiele wglądów dla bazy danych

  8. Trzy poziomy abstrakcji danych Użytkownicy końcowi Wgląd zewnętrzny Wgląd zewnętrzny Poziom zewnętrzny Odwzorowanie poziom zewnętrzny schemat konceptualny Poziom konceptualny Schemat konceptualny Odwzorowanie poziom konceptualny poziom wewnętrzny Poziom wewnętrzny Schemat wewnętrzny Fizyczna Baza danych

  9. Schematy bazy danych i instancje • w zależności od czasu zawartość bazy danych ulega zmianom • instancja - informacja zgromadzona w bazie danych w określonym momencie czasu • schemat bazy danych - całościowy opis bazy danych fizyczny oraz konceptualny • w zależności od poziomów abstrakcji wyróżnia się schematy baz danych • schematy fizyczne • schematy konceptualne • podschematy bazy danych utożsamiane z wglądami

  10. Modele danych • zbiór notacji oraz narzędzi konceptualnych służących do opisu danych, związków między danymi, związków semantycznych, związków integralnościowych, czasami sposobów manipulowania danymi • konceptualne postrzeganie danych, ich właściwości oraz związków między danymi • modele danych - podział • obiektowe modele konceptualne - struktury konceptualne • logiczne modele danych oparte na rekordach - struktury danych • fizyczne modele danych - struktury fizyczne

  11. Obiektowe modele konceptualne • opis danych na poziomie konceptualnym oraz na różnych poziomach wglądu • modele wykorzystujące elastyczne oraz abstrakcyjne struktury opisu • modele konceptualne • modele związków encji • modele obiektowe • modele binarne • modele funkcyjne • modele semantyczne

  12. Model związków encji ERM • dziedzina konceptualna postrzegana jako zbiór encji (obiektów) oraz związków między encjami • elementy modelu • encja • związek • atrybut • encja • jednoznaczny składnik badanej rzeczywistości - dziedziny konceptualnej • składnik w którym są przechowywane dane, wystąpienie encji • encje są opisywane za pomocą rzeczowników lub wyrażeń rzeczownikowych w liczbie pojedynczej • Jeśli trzeba przechowywać dane na temat wielu właściwości jakiejś rzeczy to można ją zamodelować jako encję • Obiekt fizyczny lub pojęcie • Przykłady : osoba, samochód, dział, przelew, naprawa, zamówienie • encja: samochód, instancja : Skoda ZNA6362

  13. Model związków encji - c. d. • atrybut • cecha, element charakteryzujący encje i związki w dziedzinie konceptualnej • wiązka atrybutów jest zestawem jednoznacznie opisującym encję • związki • związek stanowi naturalne powiązanie pomiędzy dwoma lub więcej encjami w danej dziedzinie konceptualnej • ogólny podział związków, binarne - obejmuje dwie encje, wielorakie - obejmuje więcej niż dwie encje • w modelowaniu związku istotne są • liczebność związku - stosunek liczebnościowy między wystąpieniami encji uczestniczącymi w danym związku • reguły biznesowe

  14. Diagram ER (ERD) Nazwisko Rok urodz. Nr albumu Nr wykładu Nazwa M N Zalicza Student Wykład Struktura konceptualna może być przedstawiona za pomocą diagramu ER

  15. Encje - notacja Student Wykładowca Przedmiot

  16. Związki - notacja Student Przedmiot zalicza wykłada Wykładowca

  17. Atrybuty Przedstawienie właściwości, cechy przypisanej encji Przykład: encja Wydział ma atrybuty NazwaWydziału, Adres

  18. Atrybuty - notacja NazwaPrz Przedmiot CzyEgzam Nazwisko Student Imię Nr. indeksu

  19. Modelowanie semantyczne • Niektóre dane można modelować na wiele sposobów, często wymiennie używając encji, związków i atrybutów; • Przykład : umowa kupna jako encja (sprzedajacy, kupujacy, cena) albo jako dwie encje Sprzedajacy, Kupujący połączone związkiem Kupno; • Wybieramy model najodpowiedniejszy z punktu widzenia projektowanego systemu; • Dane reprezentujemy tak jak one są widziane w organizacji.

  20. Nasz diagram ER NazwaPrz Przedmiot CzyEgzam zalicza wykłada Nazwisko Student Imię Nazwisko Nr. indeksu Wykładowca Imię Stopień

  21. Krotności....

  22. Krotności....

  23. Krotności....

  24. Krotności....

  25. Modele logiczne oparte na rekordach • opis danych na poziomie konceptualnym oraz na poziomie wglądu • specyfikacja całościowa konceptualnej struktury bazy danych • opis implementacji bazy danych na wysokim poziomie • przykłady modeli logicznych opartych na rekordach • model relacyjny • model sieciowy • model hierarchiczny

  26. Modele logiczne oparte na rekordach c.d. • struktura bazy danych opiera się na rekordach różnych typów o stałym formacie • każdy rekord definiowany jest poprzez stałą liczbę atrybutów • każdy atrybut jest zazwyczaj określonego rozmiaru co ułatwia implementację • nie zawierają mechanizmów bezpośredniej reprezentacji kodu w bazie danych • z modelami związane są języki zapytań umożliwiające realizację zapytań oraz modyfikacji danych

  27. Model relacyjny • dane oraz związki między danymi są reprezentowane za pomocą zbioru tablic • każda tablica zawiera określoną liczbę kolumn • każda kolumna ma unikalną nazwę • każda tablica ma określoną liczbę kolumn oraz dowolną liczbę wierszy • wartością atrybutu nie może być wskazanie na inny wierszy z innej tablicy

  28. Model relacyjny c. d.

  29. Model sieciowy Student Wykład 000-111 Abski Jan W11 Algebra 000-455 Dewski Andrzej W30 Fizyka W11 Algebra • dane są reprezentowane przez zbiory rekordów • relacje między danymi są reprezentowane za pomocą powiązań (wskaźników) • model sieciowy jest reprezentowany jako graf, w którym wierzchołkami są rekordy

  30. Model hierarchiczny • posiada cechy modelu sieciowego • hierarchiczne struktury danych w postaci hierarchicznych struktur drzewiastych • każda hierarchia reprezentuje zbiór powiązanych ze sobą rekordów • reprezentuje ograniczony typ związku 1:N

  31. Model hierarchiczny c. d. SZPITAL LEKARZ ODDZIAŁ PRACOWNIA PACJENT PERSONEL

  32. Język definicji danych • DDL - Data Definition Language • używany do specyfikacji schematu bazy danych, schemat bazy danych jest w postaci zbioru definicji • rozkazy DDL są kompilowane, wynikiem czego jest zbiór definicji przechowywany w specjalnym pliku zwanym składnicą danych lub katalogiem danych • składnica danych przechowuje metadane czyli dane o danych • ukrywanie szczegółów implementacyjnych struktury bazy danych przed użytkownikami • schemat zawarty w DDL zawiera wystarczające informacje na temat struktury bazy danych dla realizacji zapytań oraz programów aplikacyjnych

  33. Język manipulowania danymi • Data Manipulation Language - DML • manipulowanie danymi • odczyt informacji z bazy danych • wstawianie, usuwanie, modyfikacja informacji w bazie danych • inne operacje: zmiana schematów bazy danych, transakcje • cele języka DML • dostęp oraz manipulowanie danymi • umożliwienie użytkownikowi efektywnej interakcji z systemem bazy danych

  34. Język manipulowania danymi c.d. • typy języków manipulowania danymi • proceduralne - użytkownik precyzuje w jaki sposób mają być pobrane żądane dane z bazy danych • nieproceduralne - użytkownik specyfikuje tylko żadane dane, które mają być pobrane z bazy danych • język zapytań jest częścią specyfikacji DML dotyczącej odczytu danych • język zapytań oraz DML są często używane jako synonimy

  35. Manager bazy danych • moduł programowy, który realizuje interfejs pomiędzy poziomem przechowywania danych w bazie danych a programami aplikacyjnymi oraz zapytaniami • transfer danych pomiędzy pamięcią zewnętrzną a pamięcią operacyjną • ułatwienie oraz umożliwienie dostępu do danych • wydajność oraz efektywność tworzenia programów aplikacyjnych

  36. Zadania managera bazy danych • translacja rozkazów DML do rozkazów niskiego poziomu systemu plików - zapis, odtwarzanie, modyfikacja w bazie danych • zabezpieczenie integralności - śledzenie operacji modyfikacji bazy danych (łamanie zasad integralności danych) • zachowanie bezpieczeństwa - zagwarantowanie, że użytkownicy mają dostęp tylko do informacji, do której mają autoryzację • kopie oraz odtwarzanie systemu po awarii - detekcja awarii, błędów pamięci zewnętrznej, błędów programowych oraz przywracanie stanu bazy danych do stany przed awarią • kontrola współbieżności - zabezpieczenie konsystencji danych, w przypadku równoległego dostępu użytkowników

  37. Administrator bazy danych • osoba odpowiedzialna za kontrolę danych oraz programów aplikacyjnych • definicja schematu bazy danych • definiowanie struktury przechowywania danych oraz metod dostępu • modyfikacja struktury fizycznej przechowywania danych oraz schematu bazy danych • przydzielanie autoryzacji dostępu do danych • specyfikacja więzów integralnościowych

  38. Użytkownicy baz danych • programiści aplikacyjni • dostęp do systemu z wykorzystaniem DML jako języka wbudowanego do programu aplikacyjnego napisanego w języku bazowym np. C, C++, Pascalu • prekompilator języka DML konwertuje wywołania DML w procedury języka bazowego • „sparametryzowani” użytkownicy • działają z systemem bazy danych bez pisania programów aplikacyjnych, formułują żadania do bazy danych w formie zapytań w języku lub za pomocą sparametryzowanych programów

  39. Użytkownicy baz danych - c. d. • użytkownicy specjalizowani • piszący specjalne programy aplikacyjne - systemy zarządzania wiedzą, systemy ekspertowe, systemy dla złożonych baz danych • użytkownicy zwyczajni • użytkownicy korzystający nieprzerwanie z systemu za pomocą programów aplikacyjnych

  40. Typowa struktura SZBS Programiści aplikacji Użytkownicy sparametryzowani Programy aplikacyjne Tymczasowi użytkownicy Prekompilator Użytkownicy Bazy Danych Kompilator Języka Bazowego DDL Deklaracje Uprzywilejowane komendy Zapytania interaktywne Deklaracje DML Skompilowane Transakcje Kompilator Zapytań Katalog Systemowy/ Słownik danych DDL Kompilator Kompilator DML Wykonanie Procesor Czasu Rzeczywistego Bazy Danych Wykonanie Wykonanie Kontrola Współbieżności Backup Podsystemy Powrotu Manager Danych Fizycznych Fizyczna Baza danych

  41. Komponenty SZBD • baza danych oraz katalog systemowy przechowywany jest w pamięci dyskowej • dostęp do pamięci dyskowej jest kontrolowany przez system operacyjny • manager danych fizycznych kontroluje dostęp do informacji SZBD • kompilator DDL - przetwarza schematy bazy danych zdefiniowane w plikach DDL i zapamiętuje opisy schematów (meta-dane) w katalogu SZBD • katalog SZBD - zawiera informacje o nazwach plików, pozycjach danych, szczegółach przechowywania plików w pamięci, odwzorowaniu informacji w schematach, więzach integralnościowych

  42. Komponenty SZBD c. d. • procesor czasu rzeczywistego bazy danych - obsługuje dostęp do bazy danych w czasie rzeczywistym, procesor wykonuje przekazane operacje odczytu oraz modyfikacji bazy danych, dostęp do pamięci dyskowej następuje z wykorzystaniem managera danych • kompilator zapytań - obsługuje zapytania wysokiego poziomu wprowadzone interaktywnie, analizuje składnię języka, kompiluje lub interpretuje zapytania tworząc kod dostępu do bazy danych a następnie wywołania do procesora czasu rzeczywistego • prekompilator wydziela komendy DML z programu aplikacyjnego napisanego w języku bazowym, komendy są następnie przesyłane do kompilatora DML, pozostała część programu aplikacyjnego jest przesyłana do kompilatora języka bazowego • kod komend DML oraz pozostały kod programu aplikacyjnego są łączone do postaci transakcji, których kod zawiera wywołania dla procesora czasu rzeczywistego

More Related