Temat 2: Modele danych.

Slides:



Advertisements
Podobne prezentacje
Teoretyczne podstawy tworzenia systemów relacyjnych baz danych
Advertisements

Modelowanie logiczne (dla relacyjnych SZBD)
Architektura SAP R/3 Wybrane zagadnienia.
Relacyjny model danych
Systemy do operowania dużymi i trwałymi zbiorami danych
Sieci komputerowe.
Wykład (12 godz): Jan Aleksander Wierzbicki Ćwiczenia ( godz):
BAZA DANYCH - RODZAJE.
WPROWADZENIE DO BAZ DANYCH
Wycofywanie potwierdzonych transakcji
POWTÓRZENIE Metodologia : Pojęcia:
Wykład 8 Wojciech Pieprzyca
Wykład 5 Wojciech Pieprzyca
Wstęp do programowania obiektowego
Artur Szmigiel Paweł Zarębski Kl. III i
Rozproszone bazy danych
Współczesne systemy informacyjne
Projektowanie i programowanie obiektowe II - Wykład IV
Modele baz danych - spojrzenie na poziom fizyczny
Teoria relacyjnych baz danych
Bazy Danych II prowadzący: mgr inż. Leszek Siwik
PROJEKTOWANIE TABEL W PROGRAMIE: ACCESS
Bazy danych.
Bazy danych podstawowe pojęcia
Systemy baz danych Wykład 1
Temat 19: Organizacja informacji w bazie danych – część 1.
Bazy danych.
Andrzej Macioł Bazy danych – model relacyjny – cz. 1 Andrzej Macioł
Bazy danych Access 200x Ćwiczenie 1.
Zarządzanie informacją
Rozwiązanie zadań do zaliczenia I0G1S4 // indeks
Wybrane zagadnienia relacyjnych baz danych
Model relacyjny.
Programowanie obiektowe 2013/2014
Komendy SQL do pracy z tabelami i bazami
ZWIĄZKI MIĘDZY KLASAMI KLASY ABSTRAKCYJNE OGRANICZENIA INTERFEJSY SZABLONY safa Michał Telus.
dr Łukasz Murowaniecki T-109
1 Każdy obiekt jest scharakteryzowany poprzez: tożsamość – daje się jednoznacznie wyróżnić; stan; zachowanie. W analizie obiektowej podstawową strukturą
Bazy danych - podstawowe pojęcia
Bazy danych Microsoft access 2007.
Sieci komputerowe.
Łódź 2008 Banki danych WYKŁAD 2 dr Łukasz Murowaniecki T-109.
Temat 3: Integralność danych. Integralność danych, określana również mianem spójności danych, jest to funkcja SZBD, która gwarantuje, że dane nie zostaną.
Michał Krawczykowski kl. IIIB
Podstawowe informacje
Definiowanie kluczy w tabelach RBD
Model obiektowy bazy danych
systemy zarządzania bazami danych
Temat 4: Funkcje Systemu Zarządzania Bazą Danych (SZBD)
System Zarządzania Bazą Danych
Systemy informatyczne
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Zbiór danych zapisanych zgodnie z określonymi regułami. W węższym znaczeniu obejmuje dane cyfrowe gromadzone zgodnie z zasadami przyjętymi dla danego.
Projektowanie relacyjnych baz danych – diagramy związków encji
Komendy SQL do pracy z danymi
Hibernate Podstawy.
Odwzorowania relacyjno-obiektowe Hibernate Podstawy.
Projektowanie bazy danych z użyciem diagramów UML Obiektowe projektowanie relacyjnej bazy danych Paweł Jarecki.
.NET i Bazy Danych Projekt: Wadim Grasza.
Bazy danych Podstawy relacyjnych baz danych Autor: Damian Urbańczyk.
BAZY DANYCH MS Access.
BAZY DANYCH Microsoft Access Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Katedra Automatyki i.
Architektura Rafał Hryniów. Architektura Wizja projektu systemu, którą dzielą twórcy Struktura komponentów systemu, ich powiązań oraz zasad i reguł określających.
Prezentacja programu PowerPoint
Temat: Tworzenie bazy danych
Strukturalny język zapytań SQL - historia
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Technologie Informacyjne Bazy danych
Modele baz danych - spojrzenie na poziom fizyczny
Zapis prezentacji:

Temat 2: Modele danych

Model danych to zintegrowany zbiór zasad opisujących dane, relacje, powiązania (stosunki) pomiędzy danymi, dozwolone operacje i ograniczenia nakładane na dane i operacje. Model danych jest próbą reprezentacji świata realnego i występujących w nim obiektów, zdarzeń oraz związków zachodzących pomiędzy nimi. Można go opisać jako konstrukcję składającą się z trzech komponentów: Części strukturalnej – składającej się z reguł określających budowę bazy danych Części manipulacyjnej – określającej, które operacje (transakcje) aktualizacje, pobierania i zmiany struktury można wykonywać w danych Części zawierającej reguły integralności – gwarantującej stabilność działania systemu Model jednorodny – to model, w którym wszystkie dane są umieszczone w jednej tabeli, jednym arkuszu. Przykładem takiego modelu jest książka telefoniczna. Cechuje go łatwość i szybkość odczytywania danych. Jego wadą jest duża liczba duplikatów, takich jak pamięć dyskowa czy operacyjna, które mogą się pojawić i tym samym zwiększyć zużycie zasobów komputera. Dane w modelu jednorodnym nie zawsze będą łatwe do odnalezienia. Gdyby jednorodny model danych prezentować na przykładzie książki telefonicznej, to łatwe byłoby odnalezienie numeru telefonu na podstawie imienia i nazwiska, jednak wyszukanie imienia i nazwiska na podstawie numeru telefonu stwarzałoby problem. Książka telefoniczna zawiera dane ułożone alfabetycznie według kolejności nazwisk. Dlatego nie jest zoptymalizowana pod kątem przeprowadzania wyszukiwania, w którym dysponujemy numerem, a potrzebujemy odszukać imię i nazwisko. W modelu jednorodnym dane mogą być duplikowane. Dzieje się tak właśnie ze względu na strukturę tego modelu. Na przykład, gdyby w Warszawie mieszkało 50 osób o nazwisku Nowak i każda z nich miała telefon, wówczas w jednorodnym modelu danych otrzymalibyśmy pięćdziesiąt duplikujących się nazwisk w kolejnych wierszach, różniących się adresami i numerami telefonów, przy czym nazwisko byłoby wielokrotnie powtórzone.

Hierarchiczny model danych – jego początki sięgają 1960r Hierarchiczny model danych – jego początki sięgają 1960r., gdy rozpoczęto pracę nad projektami IDS (Integrated Data Store) oraz MIS (Management Information System). MIS rozwijany był przez IBM w ramach projektu kosmicznego Apollo. Hierarchiczny model bazy danych pod względem modelu przypomina strukturę odwróconego drzewa – istnieje jeden korzeń (tabela nadrzędna) oraz synowie (tabele podrzędne). Jeden ojciec może mieć wiele dzieci, ale każde dziecko ma tylko jednego ojca. Każdy rekord (z wyjątkiem głównego, który jest na szczycie) powiązany jest z jednym rekordem nadrzędnym. Model hierarchiczny opiera się zatem na dwóch strukturach danych – typach rekordów i związkach nadrzędny – podrzędny. Powiązanie nadrzędny – podrzędny to związek „jeden do wielu” pomiędzy typami rekordów. Model ten różni się od relacyjnego, ponieważ w modelu relacyjnym powiązania zachodzą przez klucze obce, a w hierarchicznym przez związek nadrzędny – podrzędny. W hierarchicznym modelu danych nie można wstawić rekordu podrzędnego, dopóki nie zostanie powiązany z nadrzędnym. Usunięcie rekordu nadrzędnego powoduje automatycznie usunięcie wszystkich rekordów podrzędnych.

Sieciowy model danych został ustandaryzowany w 1969r Sieciowy model danych został ustandaryzowany w 1969r. Przez CODASYL (Conference on Data Systems Languages). Jego twórcą jest Charles Bachman i mimo że nie znalazł szerszego zastosowania, to przyczynił się do powstania relacyjnego modelu baz danych. Sieciowy model przyjmuje, podobnie jak hierarchiczny, strukturę przypominającą odwrócone drzewo z tą różnicą, że gałęzie jednego drzewa mogą być wspólne z gałęziami innych drzew. Sieciowy model oparty jest zatem na dwóch strukturach danych: typach kolekcji i typach rekordów. Typy rekordów mają swój odpowiednik w modelu hierarchicznym, jednak pola są w stanie przechowywać złożone wartości, które mogą się powtarzać. Typ kolekcji jest opisem związku „jeden do wielu” pomiędzy dwoma typami rekordów.

Model relacyjno – obiektowy jest mieszanym modelem bazodanowym, a jego zastosowanie jest bardziej powszechne niż w przypadku modelu obiektowego. Dzieje się tak ze względu na trudną implementacje i niezadowalającą wydajność (w niektórych zastosowaniach) typowego modelu obiektowego. Model ten pozwala w relacyjnych tabelach tworzyć kolumny, w których przechowywane są dane typu obiektowego, pozwala na definiowanie zmiennych oraz metod, które będą wykonywane na danych wprowadzonych do obiektu.

Obiektowy model danych opiera się na koncepcji obiektów (podobnie jak projektowaniu obiektowym – obiekt jest odwzorowaniem rzeczywistości lub abstrakcji). Odwołania do określonego obiektu w tym modelu bazy danych są wykonywane za pomocą interfejsu, dzięki któremu są zachowane integralność i bezpieczeństwo danych. Obiektowe bazy danych korzystają z obiektowego języka zapytań OQL (Object Query Language). Każdy obiekt ma zaprojektowany interfejs określający metody dostępu do niego. Obecnie coraz popularniejszy staje się standard JDO (Java Data Object) stworzony przez firmę Sun Microsystems. W ramach tego standardu rozwinął się obiektowy język zapytań JDOQL (Java Data Object Query Language). Dość powszechnym niekomercyjnym i relacyjnym systemem baz danych mającym obiektowe rozszerzenie jest PostgreSQL. Obiektowe bazy danych do przechowywania danych używają obiektów posiadających swoją tożsamość (tożsamość obiektu – identity – która wyznacza jego identyfikator). W obiektowej bazie danych nie może być dwóch identycznych obiektów o identycznych identyfikatorach. Obiekty charakteryzujące się tymi samymi metodami i atrybutami są instancjami tej samej klasy stanowiącej dla nich model. Zwykle fragmentem definicji klasy są atrybuty, które w rozumieniu obiektowego modelu danych odpowiadają atrybutom (kolumnom) relacyjnej bazy danych. Podobnie jak w programowaniu obiektowym, klasy mają przypisane funkcje nazwane metodami, działające w obrębie obiektu. Obiektowy model danych zawiera również koncepcję hermetyzacji, hierarchii klas i dziedziczenia. Hermetyzacja w zakresie obiektowego modelu danych wpływa na spójność i integralność odwzorowania rzeczywistości, implementując przy tym aspekty inkapsulacji znane z programowania obiektowego.

Relacyjny model danych opracował w latach osiemdziesiątych XX w Relacyjny model danych opracował w latach osiemdziesiątych XX w. Edgar Frank Codd. Opublikował on wówczas jedną z najważniejszych swoich prac pt. Relacyjny model logiczny dla dużych wielodostępnych baz danych. Przedsięwzięcie Codda znalazło entuzjastów na Uniwersytecie Kalifornijskim w Berkeley oraz w firmie IBM. Opracowane wówczas systemy baz danych były rozwijane nie tylko w celach komercyjnych. Larry Ellison, współfundator korporacji Oracle, projekt systemu zarządzania bazami danych oparł na założeniu Codda. Nazwa Oracle jest nie tylko określeniem DBMS (System Zarządzania Bazą Danych), lecz także nazwą kodową projektu CIA, nad którym pracowali założyciele Oracle w korporacji Ampex Corporation. Oprócz Oracle rozwijały się w tym czasie takie bazy danych, jak Sybase lub Informix, używające języka SQL. W 1985r. Codd przedstawił 12 zasad opisując model relacyjny baz danych. Zasady te rozwinął do 333 w książce wydanej w 1990r. Podstawą relacyjnego modelu baz danych jest teoriomnogościowe pojęcie relacji. Dane przechowuje się w tabelach, nazwanych relacjami, składających się z wierszy (krotek) i kolumn (atrybutów). Frank Codd określił 12 podstawowych zasad, które musiał spełniać system, by mógł zarządzać relacyjnym modelem danych.

Postulaty Codda System musi być kwalifikowany jako relacyjny, jako baza danych i jako system zarządzania Postulat informacyjny – dane są reprezentowane jedynie poprzez wartości atrybutów w wierszach tabel Postulat dostępu – każda wartość w bazie danych jest dostępna poprzez podanie nazwy tabeli, atrybutu i wartości klucza podstawowego Postulat dotyczący wartości NULL – dostępna jest specyfikacja wartości NULL dla reprezentacji zarówno wartości nieokreślonej, jak i nieadekwatnej, inna od wszystkich i podlegająca przetwarzaniu Postulat dotyczący katalogu – wymaga się, aby system obsługiwał wbudowany katalog relacyjny z bieżącym dostępem dla uprawnionych użytkowników używających języka zapytań Postulat języka danych – system musi dostarczać pełny język przetwarzania danych, który może być używany zarówno w trybie interaktywnym, jak i w obrębie programów aplikacyjnych, obsługuje operacje definiowania danych, operacje manipulowania danymi, ograniczenia związane z bezpieczeństwem i integralnością oraz operacje zarządzania transakcjami Postulat modyfikowalności perspektyw – system musi umożliwiać modyfikowanie perspektyw, o ile jest ono semantycznie realizowane Postulat modyfikowalności danych – system musi umożliwiać operacje modyfikacji danych, musi obsługiwać operatory INSERT, UPDATE oraz DELETE Postulat fizycznej niezależności danych – zmiany fizycznej reprezentacji danych i organizacji dostępu nie wpływają na aplikację Postulat logicznej niezależności danych – zmiany wartości w tabelach nie wpływają na aplikację Postulat niezależności więzów spójności – więzy spójności są definiowane w bazie i nie zależą od aplikacji Postulat niezależności dystrybucyjnej – działanie aplikacji nie zależy od modyfikacji i dystrybucji bazy Postulat bezpieczeństwa względem operacji niskiego poziomu – operacje niskiego poziomu nie mogą naruszać modelu relacyjnego i więzów spójności

Przy użyciu zasad algebry relacyjnej opracowano również język SQL służący do komunikowania się z większością współczesnych baz danych. Obecnie spotykane bazy danych przystosowane są w większości do pracy wykorzystującej połączenia sieciowe (architektura KLIENT – SERWER). Aby sprostać rosnącemu zapotrzebowaniu na usługi oferowane przez bazy danych, wzrasta liczba zastosowań tego oprogramowania w architekturze rozproszonej (usługi chmurowe). Rozproszona baza danych. Pracując z bazą danych typu Access lub używając narzędzi typu WAMP, LAMP lub XAMPP, mamy do czynienia z SZBD zainstalowanym na lokalnym komputerze. Zdarza się, że administrując serwerem, łączymy się zdalnie z bazą danych zainstalowaną na pojedynczym urządzeniu. Możliwość łączenia komputerów za pomocą sieci, szyfrowania i zebezpieczania połączeń sprawia, że coraz częściej baza danych rozdzielana jest na węzły sieciowe, przez co jedna baza danych może występować w różnych konfiguracjach sprzętowych i programistycznych. Taka baza może się znajdować na wielu komputerach położonych nie tylko w odległych od siebie geograficznie miejscach, lecz także w sieciach lokalnych.

Sieciową bazę danych definiujemy jako bazę danych zapisaną na kilku komputerach połączonych ze sobą w ten sposób, że korzystający z niej użytkownicy mają wrażenie, iż baza danych występuje w jednym miejscu. W związku z coraz szybszymi połączeniami sieciowymi podział jednej bazy danych pomiędzy kilka dedykowanych serwerów może przyśpieszyć operacje wykonywane na zmiennych relacyjnych (tabelach). Technologia ta zwiększa ilość zasobów sprzętowych przypadająca na określoną ilość danych. Dane dzielone są na fragmenty (zbiory danych przechowywanych w jednym węźle sieci będące podzbiorami całej bazy danych). Sieciowe bazy danych wykorzystywane są również do zabezpieczania ważnych danych przed ich utratą. W tym celu tworzy się repliki danych (kopie całości bądź części danych przechowywane w innym miejscu niż oryginał). Rozproszenie danych poprawia wydajność szczególnie w przypadku dużych firm mających oddziały odległe od siebie geograficznie. Utrzymanie jednej centralnej bazy danych osłabia wydajność systemu, ponieważ odległe placówki firm muszą łączyć się sieciowo z bazą danych, a obciążenie generowane przez każdą z placówek dotyczy pojedynczego serwera (w rozumieniu urządzenia sieciowego). Na spadek wydajności wpływa również gromadzenie licznych danych przez każdy z oddziałów na jednym urządzeniu. Niedogodności tych można uniknąć, tworząc rozproszony system baz danych tak, by każdy z oddziałów firmy przechowywał u siebie na miejscu dane, które najczęściej wykorzystuje. Połączenie każdego z oddziałów firmy i współtworzenie jednej rozproszonej bazy danych zapewni dostęp do informacji każdej placówce, nawet najbardziej oddalonej, redukując spadki wydajności i zwiększając bezpieczeństwo.