1 Informatyczne Systemy Zarządzania Wykład 2. Zarządzanie Danymi (43 slajdy) Wykładowca: Prof. Anatoly Sachenko 2 Spis zagadnień Podstawa koncepcji danych Ewolucja modelowania bazy danych oraz główne definicje Pojęciowe poziomy Systemu Baz Danych Systemy plików Klasyfikacja modeli danych Modele graficzno-teoretyczne Hierarchiczny Model Danych Sieciowy Model Danych Relacyjny Model Danych – główne definicje 3 Podstawa koncepcji danych Dane są istotnym zasobem organizacji, które muszą być zarządzane jak inne ważne aktywa przedsiębiorstwa. Większość organizacji nie mogłaby przetrwać lub odnieść sukcesu bez wysokiej jakości danych na temat ich środowiska wewnętrznego oraz zewnętrznego. Managerowie muszą ćwiczyć zarządzanie danymi, które jest czynnością zarządzającą stosowaną w technologii IS (tak samo jak zarządzanie bazami danych oraz inne narzędzia pomocne w zarządzaniu oraz organizacji zasobami danych w celu osiągnięcia potrzeb biznesowych partnerów). IBM versus Oracles – z tego przykładu można się wiele nauczyć o głównych wyborach przed jakimi stają firmy w związku z bazami danych oraz aplikacjami SW. 4 Podstawa koncepcji danych Hierarchia poziomów danych została stworzona po to, aby dane były logicznie ułożone według cech, pól, rekordów, plików i baz danych (sprawdź przykład na kolejnym slajdzie). Cecha (charakter) jest najbardziej podstawowym elementem danych – litera, cyfra lub inny symbol. Pole (field) składa się z kombinacji cech. Pole w danych reprezentuje właściwość (attribute) (cechę lub jakość) lub całość (entity) (obiekt, osoba, miejsce lub wydarzenie). 5 Podstawa koncepcji danych (c.d.) Rekordy (records) – powiązane ze sobą pola danych Zbiór właściwości opisujących całość Rekordy o zróżnicowanych długościach (fixed-length records) zawierają różną ilość pól danych o zróżnicowanej długości Rekordy o zmiennych długościach (variablelength records) zawierają zmienną liczbę pól oraz ich długości. 6 Podstawa koncepcji danych (c.d.) (files) – grupa powiązanych ze sobą rekordów Klasyfikowane są według: Główne użytkowanie – plik administracyjny (payroll file) lub plik ewidencyjny (inventory file) Rodzaj danych – dokument (document file) lub plik graficzny (graphical image file) Trwałość – plik master (master file) (zawiera wszystkie trwałe rekordy) vs plik transakcyjny (transactional file) (zawiera rekordy wszystkich transakcji występujących w danym czasie) Pliki 7 Podstawa koncepcji danych (c.d.) danych (Database) – zintegrowany zbiór logicznie połączonych elementów danych Łączy rekordy we wspólną grupę elementów danych, który dostarcza danych do wielu aplikacji Dane w zbiorze danych są niezależne od aplikacji, która je wykorzystuje oraz od rodzaju urządzenia które je przechowuje Baza 8 Podstawa koncepcji danych (c.d.) Logiczne elementy danych 9 Ewolucja modelowania bazy danych oraz główne definicje 1963 – najwcześniejsze zanotowane użycie terminu Bazy danych jako zgromadzenie danych Wczesne lata 70. – słowo Database zaczęło być znane w Europie, i Pod koniec dekady – zaczęło być używane w większości Amerykańskich gazet 1968 – wprowadzenie pierwszego DBMS nazwanego przez IBM „IMS” 1975 – pierwsze użycie języka programowania danych miało miejsce przez CODASYL (Conference of Data System Languages) – przemysłowe konsorcjum IT 1970 - Dr Edgar F. Codd zaprojektował relacyjny Listopad 10 Ewolucja modelowania bazy danych – Przeszłość i Teraźniejszość Wykres pokazuje, że proces ewolucji od późnych lat 40. XX wieku do końca XX wieku, 50 lat później 11 Ewolucja modelowania bazy danych oraz główne definicje (c.d.) Kategorie „Danych” oraz „Modeli danych” są jednymi z najbardziej podstawowych w Koncepcji bazy danych Dane (Data) – to zbiór konkretnych cech oraz parametrów, które definiują obiekt, warunki, sytuacje lub inne czynniki Dane nie posiadają struktury, stają się informacją jedynie kiedy użytkownik definiuje je jako konkretną strukturę Model danych (Data Model) – jest zjawiskiem abstrakcyjnym, które stosowane jest do konkretnych danych pozwalając użytkownikom interpretacje go jako Informację Innymi słowy, informacja ta zawiera nie tylko dane, ale także korelację między nimi Technologia bazy danych jest Syntezą Danych oraz Struktur plików 12 Systemy plików System plików (struktura) został stworzony do przechowywania oraz organizacji plików oraz danych w komputerze Znajdują się tam zorganizowane pliki dostępu bezpośredniego lub pośredniego, pliki tekstowe, indeksy, pliki odwrócone/rzeczywiste oraz pliki używające technik mieszanych There are organized the files of direct and sequent access, text files, index files, inverted files, files using hashing techniques Termin plik płaski (flat file) jest stosowany w celu podkreślenia różnicy między Systemem Plików a Bazą Danych Plik płaski jest uznawany za jedno wymiarowy system przechowywania informacji reprezentowany jedynie z jednego punktu widzenia Baza danych jest rozumiana jako wielo wymiarowy system zapewniający dostęp do informacji z różnych punktów widzenia 13 Systemy plików (c.d.) Przykład tego, jak mógłby wyglądać plik płaski rozdzielony przecinkami: 'tutorial_id', 'title', 'category' '1','Access Tutorial',' Software' '2','Excel Tutorial',' Software' '3','Database design tutorial',' Software' '4','Oracle DBA Course ','Software‘ Program odczytujący te płaskie pliki zrozumiałby, że dane oddzielone są od siebie przecinkami W celu wybrania kategorii 'Database design tutorial‘ należy odczytywać plik linia po linii aż znajdzie się 'Database design tutorial‘, a następnie odczytać następne słowo po przecinku 14 Pojęciowe poziomy Systemu Baz Danych – 3 poziomy według ANSI Użytko wnik Dane w formacie aplikacji Oprogramo wanie System Zarządzania Bazami Danych Dane z punktu widzenia modelu baz danych Baza Danych Dane z punktu widzenia ich ich prawdziwej (fizycznej) organizacji 15 Pojęciowe poziomy Systemu Baz Danych (c.d.) danych (Data concept), jaka pojawia się u użytkownika baz danych jest definiowana przez oprogramowanie aplikacji (application software) Użytkownik interaktywnie komunikuje się z oprogramowaniem a także z terminologią, która używana jest w aplikacjach Oprogramowanie aplikacji (Application Software) zapewnia relatywnie łatwe wizualne tuning tools (funkcje pomagające optymalizować start systemu, jego działanie oraz blokować spam) zgodnie z potrzebami użytkownika Uwaga: Oprogramowanie aplikacji nigdy nie zamienia informacji z bazę danych System Zarządzania Bazami Danych (Database management system, DBMS) zapewnia przekształcanie informacji w bazę danych na poziomie rzeczywistym (physical level) Architektura baz danych (DB architecture) – sprawdź Koncepcja 16 Pojęciowe poziomy systemu baz danych (c.d.) Funkcje DBMS Przechowywanie danych, wyszukiwanie informacji oraz aktualizacje Dostępny dla użytkownika katalog Wsparcie transakcji Usługi kontrolujące konkurencję Usługi odzyskiwania Usługi autoryzacji Wspomaganie komunikacji danych Usługi integralności Usługi promujące niezależność danych 17 Klasyfikacja modeli danych Model Danych Model Infologiczn y Model Logiczny Model Fizyczny 18 Klasyfikacja modeli danych Model fizyczny Według 3 poziomu baz danych, architektura ponad Fizycznym modelem danych funkcjonuje z kategoriami związanymi z organizacją pamięci zewnętrznej i struktur przechowywania które są tam zastosowane Stosowane są tu różne metody alokacji danych, takie jak model fizyczny (physical model) bazujący na strukturze plików (file structure) organizacja plików paralelnych i plików z ograniczonym dostępem, plików indeksowanych oraz plików odwróconych, plików haszujących oraz plików asocjacyjnych Nowoczesny system zarządzania bazami d anych często stosuje tzw.page data organization 19 Klasyfikacja modeli danych– Model infologiczny infologiczny – reprezentuje informatycznologiczny poziom podsumowywania w naturalnej i komfortowej dla użytkownika formie Modele te są używane we wczesnych fazach projektu dla opisu struktury danych. Mogą być opisywane przez: Diagramy ER jako model z całościami (entities) lub stosunkami (relationships) (związek między całościami), które mają stałe lub różne opisy struktury danych Diagramy Brachman reprezentują ukierunkowane wykresy (oriented graph), gdzie węzły (nodes) odpowiadają grupom (typy rekordów), a łuki (archces) odpowiadają hierarchicznym relacjom w grupach Model 20 Klasyfikacja modeli danych– Model logiczny logiczne (Datalogical Models) są skonstruowane na poziomie logicznym oraz wspierane przez realny system zarządzania bazami danych (database management system). W skład ich wchodzą: Modele dokumentacyjne (Documental models) zorientowane na format dokumentu stosujący HTML, HML, HML Modele opisowe (Descriptive models) Tezaurus (Thesaurus models) Modele faktograficzne (Factographic models) Modele teoretyczno-graficzne (Theoretic-graphical models) Modele teoretyczno-zróżnicowane (Theoretic-plural models) Modele 21 Modele graficzno-teoretyczne- Model hierarchiczny Powstał w 1968 roku i został nazwany przez IBM „IMS” Hierarchiczny model danych jest przypomina strukturę drzewa Tabele w tym modelu przedstawiają schemat stosunków dziecko-rodzic (child-parent relationship) Każda tabela-dziecko posiada odpowiednio pojedyncza tabelę-rodzica Każda tabela-rodzic może mieć większą liczbę tabel-dzieci Tabele-dzieci (child tables) są całkowicie zależne od tabel-rodziców (parent tables) Tabele-dzieci mogą istnieć jedynie wtedy kiedy 22 Teoretyczne modele grafowe – model hierarchicznej bazy danych (ciąg dalszy) Każde zadanie jest częścią projektu, który jest częścią zarządzającego, który jest częścią działu, który jest częścią przedsiębiorstwa 23 Teoretyczne modele grafowe – Model hierarchicznej bazy danych Zalety To najprostszy logiczny model bazy danych Użytkownik ma szybki dostęp do danych bo istnieją wyraźne połączenia pomiędzy strukturami tabeli Spójność referencyjna jest wbudowana i wymuszana automatycznie. Zapewnia że : Rekord w tabeli potomnej musi być połączony z istniejącym rekordem w tabeli nadrzędnej i Rekord usunięty z tabeli nadrzędnej spowoduje usunięcie wszystkich związanych z nią rekordów w tabeli potomnej 24 Teoretyczne modele grafowe – Model hierarchicznej bazy danych Wady Należy przejść przez całą strukturę aby znaleźć pewne informacje na przykład, nie możesz szukać pracownika nie znajdując wpierw firmy, działu, kierownika i wreszcie pracownika (patrz przedostatni slajd) Problem pojawia się też gdy użytkownik chce zapisać rekord w tabeli potomnej który jest w danej chwili nie powiązany z żadnych rekordem w tabeli nadrzędnej Nie wspiera skomplikowanych relacji i często tam powstaje problem z redundantnymi danymi Daje użytkownikowi możliwość dodania danej rozbieżnej z dotychczasowymi danymi co może prowadzić do niedokładnych informacji 25 Teoretyczne modele grafowe – Sieciowy Model Bazy Danych Powstał w roku 1975 jako CODASYL Standard Jego podstawowymi składnikami są: element danych, zespół danych, rekord i zbiór danych Jest podstawowym udoskonaleniem modelu hierarchicznego Model sieciowy pozwala tabelom potomnym mieć więcej niż jedną tabelę nadrzędną, tworząc w ten sposób strukturę tabel podobną do sieci Wiele tabel nadrzędnych dla każdego potomka pozwala na tworzenie relacji wiele-do-wielu a nie tylko jeden-do-wielu 26 Teoretyczne modele grafowe – Sieciowy Model Bazy Danych (ciąg dalszy) Istnieje relacja wiele-do-wielu między pracownikami as zadaniami Pracownik może być przypisany do wielu zadań, a zadanie może być przypisane do wielu pracowników 27 Teoretyczne modele grafowe – Sieciowy Model Bazy Danych Zalety Użytkownik ma dostęp do danych wewnątrz sieciowej bazy danych poprzez odpowiednie zbiory danych Inaczej niż w hierarchicznej bazie danych, w której musi zacząć od głównej tabeli, użytkownik ma dostęp do danych z wewnątrz bazy danych, zaczynając od któregokolwiek wierzchołka i poruszając się do przodu lub do tyłu po powiązanych zbiorach Sieciowa baza danych daje szybki dostęp do danych Pozwala użytkownikom tworzyć zapytania które są bardziej skomplikowane niż te stworzone przy użyciu hierarchicznej bazy danych 28 Teoretyczne modele grafowe – Sieciowy Model Bazy Danych Wady Użytkownik musi dobrze znać strukturę bazy danych aby poruszać się po strukturze zbiorów. Nie jest łatwo zmienić strukturę bazy danych nie wpływając na aplikacje które wchodzą z nią w interakcję Jeśli zmienisz strukturę zbiorów, musisz także zmienić wszystkie referencje stworzone wewnątrz aplikacji do tej struktury 29 Model relacyjny bazy danych – Podstawowe definicje Model relacyjny jest teorio-mnogościowym modelem zaprojektowanym przez Edgar Codda w 1970 Oparty jest na zestawie matematycznych zasadach wziętych przede wszystkim z teorii zbiorów i logiki predykatywnej Założeniem Codda by ignorowanie sposobu połączenia plików danych i organizacja danych w proste dwuwymiarowe, nieuporządkowane tabele: Aby stworzyć system zapytań (pytań zadawanych bazie danych) i skoncentrować się na danych jako danych, a nie jako fizycznej implementacji modelu logicznego Aby zadecydować które części danych będą w której tabeli, Codd zaproponował „formy normalne” do normalizacji danych 30 Model relacyjny bazy danych – Podstawowe definicje (ciąg dalszy) Model relacyjny definiuje: sposób reprezentacji danych (struktura danych) sposób ochrony danych (integralność danych) operacje jakie mogą wyć wykonywane na na danych (modyfikacja danych) Relacyjny systemy baz danych mają następujące cechy: Dane są reprezentowany koncepcyjnie jako uporządkowanie danych w wiersze i kolumny, nazywane relacjami Wszystkie wartości są skalarami To znaczy na danej pozycji w wierszu/kolumnie jest jedna i dokładnie jedna wartość Wszystkie operacje są wykonywane na całej relacji i ich wynikiem jest cała relacja 31 Model relacyjny bazy danych – Podstawowe definicje i koncepcje relacyjnym albo N-krotną relacją R nazywamy podzbiór iloczynu kartezjańskiego D1×D2× … × Dn niekoniecznie różnych zbiorów D1 ,D2 … Dn (n≥1) Początkowe zbiory D1 ,D2 … Dn nazywamy domenami, więc mamy R ⊆ D1×D2× … × Dn gdzie D1×D2× … ×Dn jest pełnym kartezjańskim iloczynem – zbiorem możliwych kombinacji n elementów Dla przykładu weźmy trzy domeny: D1={John, Peter, Andrew, George, Paul} D2={History, DB, Math} D3={3,4,5} Wtedy pełen kartezjański iloczyn będzie zawierał 45 trójek, a relacja w tabeli (następny slajd) modeluje realną sytuację Modelem 32 Model relacyjny bazy danych – Podstawowe definicje (ciąg dalszy) Elementy Relacji 33 Model relacyjny bazy danych – Podstawowe definicje i własności Relacja ma prostą interpretację graficzną Może być reprezentowana jako tabela z: Kolumnami które są wartościami domen Wierszami ze zbiorami n wartości z początkowych domen uporządkowanych zgodnie z nazwą kolumny Specyficzne właności tabeli: Tabela nie zawiera powtarzających się wierszy Kolumny tabeli odpowiadają atrybutom relacji Każdy atrybut w relacji ma unikalną nazwę Kolejność wierszy w tabeli jest nieoznaczona 34 Model relacyjny bazy danych – Podstawowe definicje (ciąg dalszy) – cała struktura (tabela) Krotka - każdy wiersz danych Kardynalność – liczba krotek w relacji W naszym przypadku relacja ma kardynalność 5 Atrybut - każda kolumna danych Stopień – liczba atrybutów w relacji W naszym przypadku relacja ma stopień 3 Domena – zbiór wartości które atrybut może przyjmować Encja – wszystko o czym system musi trzymać informacje Wszystkie używane rzeczowniki i czasowniki będą kandydatami na encje – w biznesie: „Klienci”, „Pracownicy” … są bez wątpienia encjami Relacja 35 Model relacyjny bazy danych – Podstawowe definicje (ciąg dalszy) główny – atrybut albo zbiór atrybutów, które w sposób jednoznaczny wskazują konkretną instancję bądź encję Każda encja w modelu danych której wartości wyznaczają jej instancje w sposób jednoznaczny musi mieć klucz główny Klucz złożony – klucz główny złożony z więcej niż jeden atrybutu Klucz zewnętrzny- atrybut uzupełniający relację poprzez wskazanie encji nadrzędnej Każda relacja w modelu musi być wspierana przez klucz zewnętrzny Klucz 36 Model relacyjny bazy danych – Podstawowe definicje (ciąg dalszy) Dwie encje (tabele) z atrybutem (kolumną) Student ID w relacji 37 Model relacyjny bazy danych – Związana terminologia Terminologia relacyjna używana przez produkty, których ta prezentacja dotyczy Formalna terminologia Koncepcyjna Fizyczna Microsoft Access SQL Server relacja tabela tabela albo zbiór rekordów („recordset”) tabela albo zbiór wyników („resultset”) atrybut pole pole kolumna krotka rekord rekord wiersz 38 Model relacyjny bazy danych – Zalety najpopularniejszą metodą organizacji bazy danych Wbudowana wielopoziomowa integralność Integralność danych jest wbudowana w model na poziomie pól aby zapewnić dokładność danych: Na poziomie tabel aby zapewnić że rekordy się nie powtarzają i wykryć brakujące wartości klucza głównego Na poziomie relacji aby zapewnić poprawność relacji pomiędzy tabelami Na poziomie biznesowym aby zapewnić że dane są dokładne z punktu widzenia biznesu jako takiego Jest 39 Model relacyjny bazy danych – Zalety (ciąg dalszy) i fizyczna niezależność danych od aplikacji bazodanowych Gwarantowana spójność danych i dokładność Dane spójne i dokładne dzięki wielu poziomom integralności jakie możesz narzucić bazie danych Łatwa dostępność danych Na życzenie użytkownika dane mogą być uzyskane z konkretnej tabeli a także z dowolnej liczby powiązanych ze sobą tabel z bazy danych Logiczna 40 Model relacyjny bazy danych – Wady sprzętowy i programowy narzut Może nie pasować do wszystkich modeli biznesowych Może umożliwić słabe zaprojektowanie i implementację Może spowodować problem „wysp informacji” Istotny 41 Literatura Lecture Notes. Database (e-version). Based on a book by T.S. Karpova. Database: Models, Development, Implementation. (in Russian). S.Pitersburg. Piter. 2002, 304p., (translated and edited by Anatoly Sachenko) C.J.Date. An Introduction to Database Systems. AddisonWesley, Copyright , 1024 p., 2003 Rebecca M. Riordan. Designing Effective Database Systems . Addison Wesley Professional. 384 p., 2005 By Michael J. Hernandez. Database Design for Mere Mortals™: A Hands-On Guide to Relational Database Design, Second Edition. Addison Wesley. 672 p., 2003 James A. O'Brien. Management Information Systems: Managing Information Technology in the Business Enterprise. Sixth Edition. McGraw-Hill/Irwin, 2004, 619 p. 42 Literatura (ciąg dalszy) Thomas Connolly, Carolyn Begg. Database Systems: A Practical Approach to Design, Implementation, and Management. 3rd Edition. Addison Wesley. 1236 p., 2001 Brookshear J.G.: Informatyka w ogólnym zarysie, Wydawnictwo WNT, Warszawa 2003. Kisielnicki J., Sroka H.: Systemy informacyjne biznesu. Informatyka dla zarządzania. Metody projektowania i wdrażania systemów. A.W. „Placet”, Wwarszawa 1999 r. Dobson R.: Programowanie Microsoft Access 2000. Wydawnictwo RM, Warszawa 2000. Beynon-Davies P.: Systemy baz danych. WNT, Warszawa 2000. 43 Literatura (ciąg dalszy) Andrzejewski M., Chudzicki M., Nowosielska G.: Materiały pomocnicze do projektowania aplikacji bazodanowych. Wydawnictwo Politechniki Śląskiej, Gliwice 2003. Microsoft Official Curriculum: MS #2072: Administering a Microsoft SQL Server 2000 Database. Date C.J.: Wprowadzenie do systemów baz danych. WNT, Warszawa 2000. Internet: Strona domowa przedmiotu: http://www.roz6.polsl.pl/bazydanych. Internet: Portal wiedzy Katedry Informatyki i Ekonometrii http://www.roz6.polsl.pl/portalwiedzy.