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