300 likes | 551 Views
Bazy danych i systemy informacyjne. Wprowadzenie do systemów baz danych. Informacja to „przyrost wiedzy, który może być uzyskany na podstawie danych”. Dane to opis faktów, zapisane są najczęściej w formie symboli reprezentujących coś
E N D
Bazy danych i systemy informacyjne Wprowadzenie do systemów baz danych
Informacja to „przyrost wiedzy, który może być uzyskany na podstawie danych” • Dane to opis faktów, zapisane są najczęściej w formie symboli reprezentujących coś • Informacja to zinterpretowane dane, czyli dane umieszczone w pewnym kontekście • Wiedza jest uzyskiwana z informacji poprzez jej zintegrowanie z istniejącą wiedzą • Informacja ma charakter subiektywny i musi być rozpatrywana w kontekście odbiorcy. Te same dane mogą być różnie interpretowane przez różnych ludzi w zależności od posiadanej wiedzy i kontekstu
System informacyjny • System informacyjny dostarcza informacje do pewnej organizacji lub jej części • Systemy informacyjne związane są z działalnością człowieka • Możemy wyróżnić • Formalne systemy informacyjne występujące w biurokratycznej postaci organizacji • Techniczne systemy informacyjne stosujące technologię informacyjną • Nieformalne systemy informacyjne • W celu pozyskiwania użytecznych informacji gromadzi się dane tworząc zbiory danych nazywane bazami danych • Bazy danych stanowią centralną część systemów informacyjnych
Technologie informacyjneIT – ang. Information Technology • Zestaw narzędzi służących do • pozyskiwania danych (informacji), • gromadzenia danych (informacji), • udostępniania danych (informacji), • analizowania danych (informacji), • przesyłania danych (informacji), • selekcjonowania danych (informacji).
Współczesne technologie informacyjne • Telekomunikacja • Informatyka (technologie komputerowe) • Sprzęt komputerowy i komunikacja sieciowa • Oprogramowanie • poczta elektroniczna, • serwery WWW, • bazy danych, • aplikacje klienckie baz danych, • urządzenia – bankomaty, kasy, rejestratory, kontrola ruch, urządzenia pomiarowe.
Elementy współczesnych technicznych systemów informacyjnych Serwer WWW, aplikacje, Email WAP Sieć komunikacyjna Sieć komunikacyjna Baza danych
Baza danych • Baza danych jest logicznie uporządkowanym zbiorem danych • Dane w bazie danych są zorganizowane zgodnie z przyjętym modelem danych • Baza danych jest tworzona w celu modelowania pewnego wycinka rzeczywistości • Modelowany fragment rzeczywistości nazywamy obszarem analizy (Universe Of Discourse; UOD) • Obszar analizy obejmuje pewną ilość obiektów, zdarzeń i pojęć zwanych encjami • Encje (obiekty, zdarzenia,...) posiadają opisujące je atrybuty • W bazie danych przechowywane są dane (atrybuty) encji i związków zachodzącym między encjami
Typy współczesnych baz danych • Produkcyjne bazy danych (operacyjne) • Zawierają dane operacyjne potrzebne do bieżącej działalności np. rezerwacji biletów • Muszą zapewnić prawidłowe przetwarzanie transakcji – OLTP (On-line Transaction Processing) • Bazy danych wspomagające decyzje (analityczne) • Magazyny danych służące do wyszukiwania informacji wspomagających podejmowanie decyzji, np., które połączenia lotnicze zamknąć, a które otworzyć • Muszą umożliwić prawidłową analizę danych – OLAP (On-line Analytical Processing)
Pojemność współczesnych baz danych • Dysk twardy o pojemności 1000GB kosztuje około 500 zł • Przyjmując, że 1 strona maszynopisu zajmuje 2KB uzyskamy, że 1000GB = 500 milionów stron maszynopisu • Zakup sprzętu do przechowywania ogromnych ilości danych nie stanowi obecnie większego problemu, znacznie większym problemem jest pozyskanie danych i ich wprowadzenie do systemu
Hurtownie danych • Hurtownie danych są współczesnymi systemami baz danych realizującymi potrzeby związane ze wspomaganiem decyzji • Hurtownie danych przechowują bardzo duże ilości danych rzędu terabajtów • Dane najczęściej są przenoszone z wielu różnych systemów użytkowych • Główne obszary zastosowań • Przetwarzanie analityczne (OLAP) obejmujące dynamiczną syntezę, analizę i agregację dużych ilości wielowymiarowych danych • Eksploracja danych
Integralność bazy danych • W języku angielskim słowo integrity tłumaczone jako „integralność”, oznacza w odniesieniu do osoby, że można zaufać temu, co dana osoba mówi, i że można oczekiwać zgodności między tym, co dana osoba mówi, że zrobiła, a tym, co dana osoba naprawdę zrobiła • Integralność bazy danych oznacza, że baza danych jest wiernym odbiciem swojego obszaru analizy • Integralność bazy danych oznacza także, że baza danych jest poprawnie zorganizowana wewnętrznie – nie zawiera powtórzeń danych, nie zawiera niejednoznacznych lub sprzecznych danych (baza danych jest wewnętrznie logicznie spójna)
Budowa bazy danych Klienci Zbiór danych zapisany na twardym dysku System zarządzania bazą danych SZBD (DBMS)
Funkcje SZBD • Organizowanie danych • Wprowadzanie danych • Wybieranie danych • Usuwanie danych • Aktualizowanie danych • Zachowanie integralności • Zapewnienie bezpieczeństwa danych • Zapewnienie bezpieczeństwa współbieżnego dostępu do bazy danych
Modele danych • Hierarchiczny • Sieciowy • Relacyjny • Obiektowy • Dedukcyjny • Obiektowo-relacyjny
Relacyjny model danych • Model matematyczny oparty o teorię zbiorów – Codd 1969 • Model relacyjny jest modelem teoretycznym wdrażanym (nie w pełni) przez istniejące systemy baz danych • Jedyną strukturą danych jest tabela (relacja) będąca odpowiednikiem relacji w teorii zbiorów
Organizacja danych w modelu relacyjnym • Dane są zapisywane we wzajemnie ze sobą powiązanych tabelach (relacjach) • Układ tabel tworzy się tak, aby jedna informacja była zapisana jeden i tylko jeden raz – unikanie nadmiarowości (redundancji) danych • Dostęp do danej jest uzyskiwany poprzez podanie: nazwy tabeli, nazwy kolumny, wartości klucza głównego (kolumny zawierającej unikalne wartości)
Kilka z Postulatów Codda • System wdraża język zapytań • Zasady integralności danych powinny być możliwe do zdefiniowania wewnątrz języka zapytań • Katalog bazy danych jest przechowywany wewnątrz jednej lub wielu tabel, które mogą być czytane przez autoryzowanych użytkowników • Programy, za pomocą których manipuluje się bazą danych, są niezależne od tego, jak baza danych jest fizycznie zorganizowana • Relacyjna baza danych powinna działać tak samo, niezależnie od tego, czy pracuje na pojedynczej maszynie, czy jest rozproszona przez sieć
Język SQL • Structured Query Language - Strukturalny język zapytań - umożliwia wykonywanie wszystkich operacji SZBD • Pierwotnie przewidziany dla serwerów danych (serwerów SQL) obecnie praktycznie wszystkie bazy danych są wyposażone w interfejs SQL • Prace nad językiem rozpoczęto w 1982 roku • 1986 – standard ANSI (American National Standards Committee) – SQL-86 • 1987 – standard ISO (International Standards Organization) – SQL-87 (SQL1) • 1992 – SQL-92 (SQL2) • 1999 – SQL-99 (SQL3) • 2003 – SQL2003
Rodzaje serwerów • Serwer plików – aplikacje klientów mają bezpośredni dostęp do danych zapisanych w plikach, funkcje SZBD pełnią aplikacje klientów wyposażone w sterowniki dostępu do danych • Serwer danych – aplikacje klientów uzyskują dostęp do danych za pośrednictwem programu działającego na serwerze, który pełni funkcję SZBD
Komercyjne serwery danych • Oracle • MS SQL Server – tylko MS Windows • DB2 (IMB) • Sybase Adaptive Srever • Informix
Bezpłatne serwery danych • PostgreSQL – najbardziej zaawansowany technologicznie serwer Open Source • MySQL – najpopularniejszy serwer Open Source • MS SQL Server 2005 Express Edition* • Oracle Database 10g Express Edition* • IBM DB2 Express-C 9* • Sybase ASE Express Edition for Linux* * - udostępnione,z ograniczeniami, serwery komercyjne
Sposoby dostępu do danych • Interpreter języka SQL • Biblioteka funkcji języka programowania np. C, C++ • Zagnieżdżony SQL • Rodzime sterowniki języków programowania – PHP, Delphi, Builder C++, Visual Basic (ADO) • Standard ODBC • Standard JDBC • OLE DB Provider • .NET Framework Data Provider
Rozdzielenie danych i aplikacji • Życie bazy danych i zawartych w niej danych jest niezależne od cyklu życiowego aplikacji korzystających z bazy. • Zwykle z bazy danych korzysta wiele zmieniających się w czasie aplikacji. • Dane zawarte w bazie danych mają dużą wartość, dlatego bardzo rzadko są usuwane. • Jeśli baza danych w istniejącej formie jest przestarzała technicznie dane przenosi się do nowszych systemów. • Pojemność baz danych rośnie tak szybko, że dane można przechowywać bez ograniczeń czasowych, ciągle dodając nowe. • Istnieją ustawy np. Ustawa o ochronie danych osobowych ograniczające prawo do przechowywania danych.
Oprogramowanie klienta • Interpreter języka SQL • Graficzne programy administracyjne • Środowiska programistyczne IV generacji: Delphi, Builder C++, MS Access, MS Visual Studio • Strony dostępu do danych obsługiwane przez popularne przeglądarki – PHP, ASP, ASP.NET, JSP • Programy w Jawie wykorzystujące standard JDBC • Programy w C lub Pascalu wykorzystujące bibliotekę lub zagnieżdżony SQL • Pakiety biurowe MS Office, Open Office (uniwersale oprogramowanie z dostępem do baz danych)
Pakiety biurowe • MS Office, Open Office, Star Office • Edytor tekstu – umożliwia umieszczanie w dokumentach danych, w formie tabel, oraz umożliwia drukowanie korespondencji seryjnej • Arkusz kalkulacyjny – zestawienia i analiza danych (np. raport tabeli przestawnej) - OLAP • Baza danych – aplikacja umożliwia utworzenie lokalnej bazy danych oraz manipulację danymi w zewnętrznych bazach danych – OLTP • Active Server Pages – narzędzia do tworzenia stron WWW umożliwiających edycję danych i proste operacje na danych
Na czym zarabiają producenci • Serwery SQL • Sterowniki ODBC – płatne od sztuki • Sterowniki innych standardów • Wsparcie techniczne • Szkolenia • Aplikacje klientów
Bezpłatne oprogramowanie • Open Source • Bazy danych PostgreSQL i MySQL – bezpłatne sterowniki ODBC • Open Office – ma własną bazę danych i współpracuje z zewnętrznymi bazami poprzez ODBC i JDBC • Strony WWW dostępu do danych – serwer Apache (Linux) + język skryptowy PHP (Linux, Windows) • Komercyjne – udostępniane bezpłatnie – wymaga systemu MS Windows • Platforma .NET • MS Visual Studio Express Edition • MS SQL Server 2005 Express Edition lub baza danych formatu MS Access • Oracle Database 10g Express Edition
Korzyści ze stosowania baz danych • Wszystkie dane są dostępne w sieci z dowolnego komputera • Każda informacja zapisywana jest jeden raz, aktualizacja jest też jednorazowa • Dane są zawsze aktualne • Dokumenty zawierające odwołania do bazy danych zawierają zawsze aktualne dane • Prosta i efektywna eksploracja oraz analiza danych • Możliwość tworzenia bardzo dużych zbiorów danych • Możliwość publikacji aktualnych danych na stronach WWW • Możliwość dostępu do danych w sieci Internet poprzez przeglądarki (wyszukiwanie, wprowadzanie, aktualizacja, usuwanie)
Bez bazy danych Kandydaci składają wyłącznie dokumenty na papierze Członkowie komisji wpisują dane kandydatów do arkuszy kalkulacyjnych Pracochłonny proces formowania listy przyjętych kandydatów Trudności z pisemnym poinformowanie kandydatów o wynikach kwalifikacji i publikacją wyników na stronach WWW Pracochłonny proces tworzenia dokumentów komisji rekrutacyjnej Po wprowadzeniu bazy danych Kandydaci sami wprowadzają swoje dane do systemu przez przeglądarki internetowe (w domu lub w szkole) Wszystkie dokumenty drukowane na podstawie wprowadzonych danych Natychmiastowy proces formowania listy przyjętych kandydatów Kandydaci mogą w każdej chwili zapoznać się ze swoimi danymi i wynikami rekrutacji Wszystkie dokumenty są łatwo drukowane na podstawie zgromadzonych danych Rekrutacja elektroniczna
Podsumowanie • Zastosowanie baz danych usprawnia obieg informacji • Bazy danych nadają się doskonale do wykorzystania, gdy zachodzi potrzeba współużytkowania danych w sieci przez różne programy • Komercyjne systemy baz danych są kosztowne, ale istnieją bezpłatne lub bardzo tanie systemy spełniające wymagania bardzo wielu zastosowań • Barierą przy tworzeniu bazy danych jest możliwość pozyskania danych i wprowadzenia ich do systemu • Dokumentacja papierowa powinna być drukowana na podstawie wcześniej wprowadzonych do bazy danych – unikanie wielokrotnego pisania lub wprowadzania danych