Wprowadzenie do systemów baz danych Wykład 1stefanek/zfj/FT_2017_wyklad1.pdf · to opis faktów,...

28
Wprowadzenie do systemów baz danych Wykład 1

Transcript of Wprowadzenie do systemów baz danych Wykład 1stefanek/zfj/FT_2017_wyklad1.pdf · to opis faktów,...

Wprowadzenie do systemów baz danych

Wykład 1

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 danej organizacji

opartej na biurokratycznej strukturze

Techniczne systemy informacyjne stosujące technologię informacyjną

Nieformalne systemy informacyjne (bez precyzyjnych ram działania)

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, kontrolery ruchu,

urządzenia pomiarowe.

Elementy technicznych systemów informacyjnychSerwer WWW, aplikacje, Email

Baza danych

WAP

Sieć komunikacyjnaSieć komunikacyjna

Baza danych Baza danych jest logicznie uporządkowanym zbiorem danych

Dane w bazie danych są zorganizowane zgodnie z przyjętym modelem

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. rezerwacja biletów, przelewy bankowe

Muszą zapewnić prawidłowe przetwarzanie transakcji – OLTP (Online 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 (Online Analytical Processing)

Pojemność baz danych Dysk twardy o pojemności 1TB kosztuje około 200 zł

Przyjmując, że 1 strona maszynopisu zajmuje 2KB uzyskamy, że 1TB = 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

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 (zrobi), a tym, co dana osoba naprawdę zrobiła (zrobi)

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

Zbiór danych zapisany na twardym dysku

System zarządzania bazą danych SZBD (DBMS)

Klienci

Funkcje Systemu Zarządzania BD 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

Model relacyjny jest modelem teoretycznym wdrażanym 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)

Postulaty realizowane w bazach danych 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 (SQL) - Strukturalny język zapytań -

umożliwia wykonywanie wszystkich operacji Systemu Zapytań BD (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-2016 – SQL2003 – SQL2016

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, BuilderC++, Visual Basic

Standard ODBC (Open DataBase Conectivity)

Standard JDBC (Java DataBase Conectivity)

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 i udostępniania 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 (uniwersalne 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

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 Express Edition lub baza danych formatu MS Access

Oracle Database 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 poinformowaniem 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 są 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