Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałAlojzy Wróblewski Został zmieniony 8 lat temu
1
MULTIMEDIALNE BAZY DANYCH Wprowadzenie
2
Baza danych Baza danych (database) – magazyn danych – informacji powiązanych tematycznie, umożliwiający ich wyszukiwanie według zadanych kryteriów Baza danych składa się z jednej lub wielu tabel Tabela (table) – dwuwymiarowa struktura przechowująca dane dotyczące określonego tematu kolumny – atrybuty (pola), określony typ danych wiersze – rekordy
3
Funkcje bazy danych Funkcje zależne od użytkownika: tworzenie baz danych i tabel wyszukiwanie danych dodawanie i usuwanie danych czynności administracyjne Funkcje zależne od oprogramowania: zarządzanie fizycznymi zbiorami danych wykonywanie poleceń użytkownika prezentacja wyników operacji
4
Typy baz danych Najczęściej spotykane typy baz danych Proste bazy danych o pojedynczej tabeli (np. Excel) Jednostanowiskowa baza biurowa (np. MS Access) Baza typu „klient-serer” – dostęp z wielu stanowisk (np. Oracle) Internetowa baza danych – dostęp z dowolnego komputera podłączonego do Internetu (np. mySQL) Bazy rozproszone
5
Baza danych flat file Baza typu „płaskiego” (flat file) – wszystkie dane w pojedynczej tabeli. Dane są umieszczane w rekordach o określonej strukturze, z polami o z góry określonej długości i typie Każdy rekord ma tą samą długość Rekordy nie muszą być posortowane Trudne wyszukiwanie – aby odszukać rekord trzeba przeszukać cały plik (struktura nieoptymalna) Przykład (baza płyt CD): IDWykonawcaAlbumUtwórCzasRokGatunek
6
Relacyjne bazy danych Relacyjna baza danych - zbiór danych zawartych w wielu tabelach połączonych ze sobą relacjami (związkami) – jedna tabela dla każdego typu informacji optymalizacja dla dużej ilości danych szybsze wyszukiwanie Przykład – relacja między dwoma tabelami (pole IDA) IDAWykonawcaAlbumRokGatunek IDUUtwórCzasIDA tabela „albumy” tabela „utwory”
7
Klucze tabeli Zaleta systemu obsługi relacyjnych baz danych polega na zdolności do szybkiego wyszukiwania i kojarzenia informacji przechowywanych w odrębnych tabelach. Realizacja tego celu wymaga obecności w tabeli pola lub ich zestawu jednoznacznie identyfikującego każdy rekord zapisany w tabeli. Pole to lub ich zestaw nosi nazwę klucza podstawowego tabeli (primary key). Po zdefiniowaniu w tabeli klucza podstawowego, nie będzie można w jego pole wprowadzić wartości już istniejącej w tabeli ani wartości Null (pustej).
8
Klucze tabeli Najważniejsze typy klucza podstawowego: klucze podstawowe jednopolowe klucze podstawowe wielopolowe – gdy żadne z pól nie gwarantuje, że wartości w nim zawartych będą unikatowe klucze typu „autonumeracja” – licznik zwiększany automatycznie przy dodawaniu nowego rekordu
9
Indeksowanie tabeli Pole indeksowane – przyspiesza wyszukiwanie i sortowanie tabeli wg. indeksowanego pola klucz podstawowy jest zawsze indeksowany niektóre pola nie mogą być indeksowane z uwagi na typ pola indeksy przyspieszają wyszukiwanie, ale mogą też powodować spowolnienie aktualizacji dużych rekordów nie należy stosować indeksu, jeśli indeksowane pola nie są używane do wyszukiwania, sortowania lub sprzężenia usunięcie indeksu nie powoduje usunięcia pola ani danych wprowadzonych w polu
10
Pola unikalne i niepuste Pola unikatowe (unique): system bazy danych sprawdza, czy zawartość pola nie pokrywa się z już istniejącymi rekordami niemożliwe jest wprowadzenie dwóch rekordów o identycznej zawartości pola unikatowego klucz podstawowy jest z definicji polem unikatowym Pola niepuste (not null) system bazy danych sprawdza, czy pole posiada zawartość, zapobiega wprowadzeniu rekordu z polem pustym, jeżeli pole to ma atrybut not null klucz podstawowy jest z definicji polem niepustym
11
Relacje Relacje opisują sposób powiązania informacji zawartych w wielu tabelach. Relacja – związek ustanowiony pomiędzy wspólnymi polami (kolumnami) w dwóch tabelach Relacja działa poprzez dopasowanie danych w polach kluczowych — zwykle są to pola o tej samej nazwie w obu tabelach. W większości przypadków dopasowywane pola to klucz podstawowy z jednej tabeli, który dostarcza unikatowego identyfikatora dla każdego rekordu, oraz klucz obcy w drugiej tabeli.
12
Klucz obcy Klucz obcy (foreign key) – jedno lub kilka pól (kolumn) tabeli, które odwołują się do pola lub pól klucza podstawowego w innej tabeli. Klucz obcy wskazuje sposób powiązania tabel relacjami typy danych w polach klucza podstawowego i obcego muszą być zgodne nazwy pól klucza podstawowego i obcego nie muszą być identyczne
13
Relacja „jeden do wielu” Relacja pomiędzy tabelami „jeden do wielu” (one-to-many): rekord w tabeli A może mieć wiele dopasowanych do niego rekordów z tabeli B, ale rekord w tabeli B ma tylko jeden dopasowany rekord w tabeli A najczęściej występujący typ relacji Przykład: do jednego wykonawcy przypisanych jest wiele płyt CD każda płyta CD ma tylko jednego autora
14
Relacja „wiele do wielu” Relacja pomiędzy tabelami „wiele do wielu” (many-to-many) Rekord w tabeli A może mieć wiele dopasowanych do niego rekordów z tabeli B i tak samo rekord w tabeli B może mieć wiele dopasowanych do niego rekordów z tabeli A. Jest to możliwe tylko przez zdefiniowanie trzeciej tabeli (nazywanej tabelą łącza), której klucz podstawowy składa się z dwóch pól — kluczy obcych z tabel A i B. Relacja wiele-do-wielu jest w istocie dwiema relacjami jeden-do-wielu z trzecią tabelą.
15
Relacja „jeden do jednego” Relacja pomiędzy tabelami „jeden do jednego” (one-to-one) W relacji jeden-do-jednego każdy rekord w tabeli A może mieć tylko jeden dopasowany rekord z tabeli B, i tak samo każdy rekord w tabeli B może mieć tylko jeden dopasowany rekord z tabeli A. Ten typ relacji spotyka się rzadko, ponieważ większość informacji powiązanych w ten sposób byłoby zawartych w jednej tabeli. Relacji jeden-do-jednego można używać do podziału tabeli z wieloma polami, do odizolowania długiej tabeli ze względów bezpieczeństwa, albo do przechowania informacji odnoszącej się tylko do podzbioru tabeli głównej.
16
Etapy projektowania relacyjnej bazy danych Etap 1 – Określenie celu, jakiemu ma służyć baza danych: jakich informacji ma dostarczyć baza danych jakie zagadnienia będą analizowane w bazie (tabele) jakie informacje mają określać każde zagadnienie (pola w tabelach) konsultacja z przyszłymi użytkownikami bazy danych naszkicować wzory raportów, które powinna wytwarzać zgromadzić formularze do wpisywania danych, które są używane obecnie zapoznać się z działaniem dobrze zaprojektowanych baz danych, podobnych do tej, która ma być utworzona
17
Etapy projektowania relacyjnej bazy danych Etap 2 –Określenie tabel, które są potrzebne w bazie danych: tabela nie powinna zawierać powtarzających się informacji, a informacje nie powinny powtarzać się w różnych tabelach – dane wystarczy aktualizować w jednym miejscu każda tabela powinna zawierać informacje tylko na jeden temat – dane na temat jednego zagadnienia można przetwarzać niezależnie od danych dotyczących innych zagadnień
18
Etapy projektowania relacyjnej bazy danych Etap 3 – Określenie pól, które są potrzebne w tabelach: należy powiązać każde pole bezpośrednio z zagadnieniem, którego dotyczy tabela nie należy wprowadzać danych pośrednich lub obliczonych (danych, które są wynikiem wyrażenia) należy uwzględnić wszystkie potrzebne informacje informacje należy przechowywać w możliwie najmniejszych jednostkach logicznych (na przykład Imię oraz Nazwisko, a nie Dane personalne)
19
Etapy projektowania relacyjnej bazy danych Etap 4 – Przypisanie polom jednoznacznych wartości w każdym rekordzie Aby program bazy danych mógł powiązać informacje przechowywane w różnych tabelach, każda tabela w bazie danych musi zawierać pole lub zbiór pól, które jednoznacznie określają każdy rekord. Takie pole lub zbiór pól nazywany jest kluczem podstawowym. Klucz podstawowy (primary key) – jedno lub więcej pól, których wartości w sposób jednoznaczny identyfikują dany rekord w tabeli. Klucz podstawowy nie może być pusty (NULL) i zawsze musi mieć indeks unikatowy
20
Etapy projektowania relacyjnej bazy danych Etap 5 – Określenie relacji między tabelami Po podzieleniu danych na tabele i zdefiniowaniu pól kluczy podstawowych trzeba określić sposób poprawnego łączenia powiązanych danych w logiczną całość. W tym celu definiuje się relacje między tabelami w bazie danych.
21
Etapy projektowania relacyjnej bazy danych Etap 6 – Wprowadzenie danych i utworzenie innych obiektów bazy danych Zakończenie etapu projektowego: sprawdzenie projektu i wykrycie ewentualnych usterek Po zakończeniu etapu projektowego należy: utworzyć bazę danych i tabele wprowadzić dane do bazy utworzyć potrzebne formularze, strony dostępu do danych, skrypty i moduły
22
Etapy projektowania relacyjnej bazy danych Etap 7 – Testowanie i udoskonalanie bazy danych praktyczna weryfikacja projektu sprawdzenie poprawności wyników zapytań testowanie szybkości działania bazy optymalizacja i reorganizacja bazy, ew. poprawa projektu i utworzenie bazy od nowa testowanie z udziałem użytkowników bazy – serwis
23
Optymalne projektowanie tabel Optymalizacja tabel pod kątem ich wydajności Należy projektować tabele bez danych nadmiarowych Należy wybierać odpowiednie typy danych dla każdego z pól. Podczas definiowania danego pola, należy wybrać typ danych wymagający możliwie najmniej pamięci i odpowiedni dla danych przechowywanych w polu Należy tworzyć indeksy dla pól, które są sortowane, sprzęgane lub dla których ustawiane są kryteria Zbyt duża liczba indeksów spowalnia działanie bazy
24
Wybór typu pola Przy podejmowaniu decyzji, jakiego typu danych użyć w polu tabeli, należy uwzględnić następujące czynniki: Jakie wartości będą dozwolone dla pola? Ile miejsca będą mogły zajmować dane przechowywane w polu? Jakie operacje będą wykonywane na wartościach w polu? Czy wartości w polu będą sortowane lub indeksowane? Czy pole będzie używane do grupowania rekordów w kwerendach lub raportach? W jaki sposób wartości pola będą sortowane?
25
System zarządzania bazą danych SZBD – zbiór komponentów służących do definiowania, konstruowania i modyfikowania bazy danych. SZRBD – system zarządzania relacyjną bazą danych, przechowuje również związki między danymi Budowa SZRDB: interfejs aplikacji – komunikacja użytkownika z bazą interpreter SQL – tłumaczenie języka SQL na kod wewnętrzny moduł dostępu do danych baza danych – fizyczne pliki z danymi
26
Zadania SZBD Realizuje procedury niskiego poziomu, które pozwalają utrzymać dane w określonej postaci Przeprowadza wszelkie operacje odczytu i zapisu z/do plików lub urządzeń o bezpośrednim dostępie na serwerze bazy danych Zapewnia mechanizmy szybkiego dostępu do danych Zmniejsza lub wyklucza konieczność przechowywania nadmiarowych danych Optymalizuje sposób przechowywania danych Zapewnia integralność i spójność danych
27
Zalety SZBD optymalne zarządzanie złożonymi, relacyjnymi danymi dostęp do danych niezależny od oprogramowania i sprzętu pozwala na wykonywanie wielu jednoczesnych operacji na danych przez wielu użytkowników szybsze wyszukiwanie danych bezpieczeństwo danych (autoryzacja dostępu) usługi zarządzania bazą korzystanie z gotowego oprogramowania
28
Kiedy używać SZBD? duża ilość danych jednoczesny dostęp wielu użytkowników istnieją powiązania pomiędzy danymi więcej niż jeden rodzaj rekordu ograniczenia danych (np. długość pola) potrzeba uzyskiwania raportów z danych potrzeba szybkiego wyszukiwania danych wg złożonych kryteriów potrzeba łatwego dodawania, usuwania i modyfikowania danych
29
Obiektowe bazy danych Obiektowa baza danych (Object Database, Object-Oriented Database, ODB) jest zbiorem obiektów, których zachowanie, stan i związki zostały określone zgodnie z obiektowym modelem danych. Obiektowy model danych: obiekt i identyfikator obiektu atrybuty (właściwości) metody (funkcje) klasy i typy polimorfizm, hierarchia klas i dziedziczenie Połączenie baz danych z obiektowymi językami programowania
30
Zastosowanie obiektowych baz danych badania naukowe transport, komunikacja wydawnictwo rozwój oprogramowania lotnictwo consulting finanse, bankowość zdrowie, medycyna produkcja Przykład OBD: Object Store (firma Object Design)
31
Przykład wykorzystania OBD Serwer WWW: dane przechowywane na serwerze WWW składają się ze stron napisanych w języku HTML strony są połączone miedzy sobą odsyłaczami każda strona składa się z podstron, które z kolei składają się z następnych podstron, tworząc tym samym strukturę hierarchiczną. taka architektura może być doskonale opisana za pomocą modelu obiektowego coraz częściej serwery WWW przechowują dane natury multimedialnej, które można opisać jako obiekty możliwość wykorzystania obiektowego języka Java
32
Internetowe bazy danych Architektura trójwarstwowa: warstwa klienta – komputery podłączone do Internetu, przeglądarka internetowa warstwa środkowa – serwer WWW, mechanizm obsługi skryptów, skrypty warstwa bazy danych – SZBD, pliki bazy danych System „klient-serwer”
33
Internetowe bazy danych Elementy internetowej bazy danych: serwer WWW (Apache) z obsługą skryptów baza danych (np. mySQL) interpreter skryptów – PHP, CGI/perl – pośredniczy pomiędzy serwerem WWW a bazą danych strony WWW statyczne (HTML) – formularze skrypty JavaScript – kontrola poprawności danych skrypty PHP lub CGI – przetwarzanie danych, generowanie dynamicznych stron WWW
34
Realizacja internetowych baz danych Platforma UNIX / Linux baza danych – mySQL, PostgreSQL serwer WWW – Apache protokół komunikacji – DBI skrypty i moduły – PHP, perl, C++ Platforma Windows baza danych – Microsoft SQL Server serwer WWW – Microsoft IIS protokół komunikacji – ODBC skrypty i moduły – C++, PHP
35
Rozproszone bazy danych Bazy „klient-serwer” – jeden serwer, wielu klientów. Serwery lustrzane (mirror) – optymalizacja dostępu Rozproszone systemy baz danych (distributed databases) – wiele serwerów, decentralizacja magazynowania danych. Bazy rozproszone są często bazami obiektowymi. Obiekty w tym systemie tworzą otwarte środowisko, w którym aplikacja może korzystać z usług wielu specyficznych obiektów zaimplementowanych za pomocą różnych języków programowania oraz działających na rożnych platformach sprzętowych.
36
Multimedialne bazy danych MBD – bazy danych, których przeznaczeniem jest przechowywanie i wyszukiwanie danych dotyczących zawartości multimedialnych (nagrań muzycznych, filmów, grafiki, itp.). Baza danych jest multimedialna, jeżeli w kryteriach wyszukiwania można uwzględnić dane multimedialne, nie mające postaci tekstowej, np. dźwięki. Przykład: baza danych fraz muzycznych. Zapytanie w postaci dźwięków wprowadzonych przez mikrofon lub zagranych na instrumencie.
37
Multimedialna baza danych Przeszukiwanie multimedialnej bazy danych fraz muzycznych wymaga: parametryzacji fraz zapisywanych w bazie parametryzacji frazy zawartej w zapytaniu znalezienia w bazie wzorców najlepiej dopasowanych do parametrów zapytania Problemy: opracowanie właściwego algorytmu parametryzacji opracowanie właściwego algorytmu dopasowania wzorców
38
Adresy internetowe mySQL (baza danych) http://www.mysql.org Apache - serwer WWW http://httpd.apache.org PHP http://www.php.net
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.