Transcript Document
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 informacyjne
IT – 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
Baza danych
Sieć komunikacyjna
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)
Rekrutacja elektroniczna
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
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