Technologia informacyjna

Podobne dokumenty
Informatyka I BAZY DANYCH. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2017

Wykład I. Wprowadzenie do baz danych

Współczesne systemy baz danych

Baza danych. Modele danych

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38

Informatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC.

Programowanie obiektowe

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

Porównanie systemów zarządzania relacyjnymi bazami danych

Bazy danych - wykład wstępny

Model logiczny SZBD. Model fizyczny. Systemy klientserwer. Systemy rozproszone BD. No SQL

LITERATURA. C. J. Date; Wprowadzenie do systemów baz danych WNT Warszawa 2000 ( seria Klasyka Informatyki )

Bazy danych i usługi sieciowe

Pojęcie bazy danych. Funkcje i możliwości.

Hurtownie danych. 31 stycznia 2017

LITERATURA. Wprowadzenie do systemów baz danych C.J.Date; WNT Warszawa 2000

Podstawowe informacje o bazach danych. Technologie Informacyjne

Adam Cankudis IFP UAM

Systemy baz danych. mgr inż. Sylwia Glińska

Pojęcie systemu baz danych

Systemy baz danych w zarządzaniu przedsiębiorstwem. W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi

WPROWADZENIE DO BAZ DANYCH

WPROWADZENIE DO BAZ DANYCH

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

Bazy Danych. C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000

Alicja Marszałek Różne rodzaje baz danych

Wprowadzenie do baz danych

SZKOLENIE: Administrator baz danych. Cel szkolenia

Oracle11g: Wprowadzenie do SQL

P o d s t a w y j ę z y k a S Q L

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

ORGANIZACJA ZAJĘĆ BAZY DANYCH PLAN WYKŁADU SCHEMAT SYSTEMU INFORMATYCZNEGO

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM,

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Wprowadzenie do projektowania i wykorzystania baz danych Relacje i elementy projektowania baz

BAZY DANYCH wprowadzenie. Opracował: dr inż. Piotr Suchomski

Język SQL, zajęcia nr 1

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

Relacyjne bazy danych

Program wykładu. zastosowanie w aplikacjach i PL/SQL;

BAZY DANYCH. Co to jest baza danych. Przykłady baz danych. Z czego składa się baza danych. Rodzaje baz danych


PLAN WYKŁADU BAZY DANYCH PODSTAWOWE KWESTIE BEZPIECZEŃSTWA OGRANICZENIA DOSTĘPU DO DANYCH

Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d.

PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W NOWYM SĄCZU SYLABUS PRZEDMIOTU. Obowiązuje od roku akademickiego: 2011/2012

Usługi analityczne budowa kostki analitycznej Część pierwsza.

RELACYJNE BAZY DANYCH I ICH ZNACZENIE W SYSTEMACH INFORMACJI GEOGRAFICZNEJ

Technologia informacyjna (IT - Information Technology) dziedzina wiedzy obejmująca:

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Krzysztof Kadowski. PL-E3579, PL-EA0312,

KURS ACCESS 2003 Wiadomości wstępne

Wybrane działy Informatyki Stosowanej

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

Dostęp do baz danych z serwisu www - PHP. Wydział Fizyki i Informatyki Stosowanej Joanna Paszkowska, 4 rok FK

Obiektowość BD Powtórka Czas odpowiedzi. Bazy Danych i Systemy informacyjne Wykład 14. Piotr Syga

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4

Pojęcie systemu informacyjnego i informatycznego

Dr Michał Tanaś(

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM, regulski@metal.agh.edu.pl

Liczba godzin 1,2 Organizacja zajęć Omówienie programu nauczania 2. Tematyka zajęć

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu:

Wprowadzenie do baz danych

Bazy danych. Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI

Cel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania

Wprowadzenie do Hurtowni Danych

Specjalizacja magisterska Bazy danych

Baza danych. Baza danych to:

Bazy danych. Plan wykładu. Rozproszona baza danych. Fragmetaryzacja. Cechy bazy rozproszonej. Replikacje (zalety) Wykład 15: Rozproszone bazy danych

4 Web Forms i ASP.NET Web Forms Programowanie Web Forms Możliwości Web Forms Przetwarzanie Web Forms...152

PRZEWODNIK PO PRZEDMIOCIE

Bazy danych Wykład zerowy. P. F. Góra

Problemy optymalizacji, rozbudowy i integracji systemu Edu wspomagającego e-nauczanie i e-uczenie się w PJWSTK

Wrocławska Wyższa Szkoła Informatyki Stosowanej. Bazy danych. Dr hab. inż. Krzysztof Pieczarka.

Wybrane działy Informatyki Stosowanej

Organizacja zajęć BAZY DANYCH II WYKŁAD 1. Plan wykładu. SZBD Oracle

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

Spis treści. Przedmowa

Technologia informacyjna

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

INTERNETOWY KURS PODSTAW IT

Usługi sieciowe i bazy danych w ochronie zdrowia z elementami telemedycyny. Dr hab. Jacek Pniewski 2017/18, semestr letni, piątki około 14:00

Model semistrukturalny

Systemy GIS Tworzenie zapytań w bazach danych

Administracja bazami danych. dr inż. Grzegorz Michalski

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych

22. Podstawowe pojęcia baz danych. Baza Danych. Funkcje bazy danych. Właściwości bazy danych. Modele baz danych.

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

Bazy danych. wprowadzenie teoretyczne. Piotr Prekurat 1

Przestrzenne bazy danych Podstawy języka SQL

Tworzenie aplikacji bazodanowych

Bazy danych 2. Wykład 1

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

Zagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Karta (sylabus) modułu/przedmiotu Mechanika i Budowa Maszyn Studia I stopnia

Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski.

Zagadnienia egzaminacyjne INFORMATYKA. stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Transkrypt:

Technologia informacyjna Bazy danych Dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2016

Plan wykładu Wstęp do baz danych Modele baz danych Relacyjne bazy danych Język SQL Rodzaje baz danych

Definicja Baza danych (BD) uporządkowany zbiór informacji przechowywany w postaci cyfrowej Cechy: Trwałość dane są przechowywane przez lata, w pamięci zewnętrznej Wielkość nie można przeglądać liniowo Złożoność odzwierciedla złożone obiekty świata rzeczywistego oraz ich powiązania Niezależność od użytkownika oraz aplikacji

Elementy składowe bazy danych Dane informacja przechowywana Sprzęt zapewnia funkcjonowanie (infrastruktura) Oprogramowanie = zapewnia dostęp do danych, ich analizę, bezpieczeństwo, etc.

Wymogi stawiane bazom danych Funkcjonowanie w różnych systemach operacyjnych, na różnym sprzęcie Obsługa współczesnych protokołów sieciowych Możliwość przechowania i efektywnego przetwarzania różnorodnych danych Współpraca z narzędziami do wizualizacji oraz analizy danych

Funkcjonalność systemu BD Operacje na danych zgodnie z przyjętym modelem Zapewnienie poprawności danych oraz ich odporności na awarie (kopie zapasowe, transakcje, ograniczenie) Zarządzanie wspólnym dostępem do bazy wielu użytkowników Zabezpieczenie przed nieautoryzowanym dostępem Optymalizacja pracy systemu Inne

System zarządzania bazą danych BD - jest pasywnym zbiorem danych SZBD oprogramowanie realizujące funkcje dostępu do bazy danych oraz zapewniające bezpieczeństwo danych SZBD + BD = System baz danych zarządzanie SZBD BD Program Pliki

System informatyczny bazodanowy System informatyczny Aplikacja System bazy danych Użytkownik Aplikacja Aplikacja Kli System zarządza nia BD

Użytkownicy aplikacji baz danych Użytkownik końcowy aplikacji Administrator bazy danych Operator kopii zapasowych Programista aplikacji bazodanowej Analityk systemowy Administrator sieci lub serwera na którym jest zainstalowana baza danych Etc.

Rozwój baz danych Lata 60. XX wieku bazy danych plikowe Pierwsze komercyjne systemy (banki, systemy sprzedaży biletów lotniczych, ewidencja ludności, itp.) 1970 relacyjny model danych 1971 koncepcja sieciowych BD Lata 80. XX wieku rozwój relacyjnych baz danych Wiek XXI: intensywny rozwój baz danych NoSQL (nie tylko relacyjne)

Modele baz danych Baza danych przechowuje informacje o obiektach świata rzeczywistego Model bazy danych - sposób odwzorowania obiektów świata rzeczywistego na struktury i powiązania w BD Student analiza Imię Nazwisko Grupa Rok Model (abstrakcja) Świat rzeczywisty Grupa Wykładowca

Hierarchiczny model danych Koncepcja kartoteki hierarchia przodek potomek (struktura drzewa) Rektorat Administracja Dziekani Uczelnia Przykład hierarchicznego modelu danych uczelni Edukacja Wydział Transportu Wydział Chemii Studia stacjonarne Studia niestacjonarne

Cechy hierarchicznego modelu dobrze odzwierciedla niektóre struktury świata rzeczywistego (np. organizacje, system plików itp.) szybkie wyszukiwanie od góry w dół jeden obiekt należy tylko do jednej kategorii Dobrze się nadaje do systemu plików ale co z wykładowcą, który może prowadzić zajęcia na kilku wydziałach?! problemy z implementacją innych niż rodzic-potomek zależności Np. powiązania pomiędzy przedmiotami na uczelni

Sieciowy model danych Rozwinięcie hierarchicznego modelu o pionowe powiązania pomiędzy elementami Uczelnia Wykładowca Wykładowca Grupa Grupa Grupa Grupa Student Student

Obiektowy model danych Koncepcja programowania obiektowego zastosowana w bazach danych Obiekt bazowy Atrybuty Obiekt pochodny Powiązania

Obiektowy model danych (c.d.) Klasa szablon do tworzenia obiektów o identycznych cechach oraz zachowaniu np. Student Obiekt egzemplarz pewnej klasy Jan Kowalski : Student o konkretnych cechach Imię := Jan, Nazwisko := Kowalski, Numer Albumu := 12345 Dziedziczenie cech klas Student jest klasą pochodną od klasy Osoba i ma cechy Imię i Nazwisko Powiązania pomiędzy obiektami Student należy do Grupy

Obiektowy model danych (c.d.) Zaletą obiektowych baz danych jest możliwość przechowania obiektów w bazie w takiej postaci jak są one przetwarzane w programie Wadą okazała się zbyt złożona realizacja Sukces odniosły przejściówki do relacyjnych baz danych (systemy ORM ang. Object-Relational Mapping) pozwalające pogodzić obiektowy kod programu z relacyjną strukturą bazy danych

Grafowy model danych Rodzaje wierzchołków Rodzaje krawędzi

Grafowy model danych (c.d.) Nowoczesny model danych Zaletą jest szybkość wykonania operacji wyszukiwania w grafie oraz brak ograniczeń dot. struktury grafu elastyczność tworzenia nowych struktur danych bez konieczności modyfikacji już istniejących Wadą jest dość wąski zakres zastosowania ograniczony zadaniami rozwiązanie których wykorzystuje grafy

Relacyjny model danych Najbardziej rozpowszechniony model danych Został zaproponowany w latach 70. XX wieku w postaci modelu ściśle matematycznego Ówczesny rozwój techniki obliczeniowej nie pozwalał na jego zrealizowanie w postaci komputerowej Pojawienie się pierwszych realizacji relacyjnych baz danych w latach 80. bardzo szybko spowodowało wyparcie z rynku większości BD implementujących inne modele danych

Elementy relacyjnego modelu danych Tabele jako podstawowe jednostki przechowywania danych Powiązania pomiędzy tabelami Operacje na tabelach

Tabele Dane w RBD są przechowywane w tabelach Każda tabela ma unikalną nazwę Tabela się składa z wierszy oraz kolumn Studenci Grupy Wykładowcy Przedmioty

Kolumny tabeli cechy obiektów Tabela zawiera przynajmniej jedną kolumnę Każda kolumna ma własną nazwę Kolejność kolumn w tabeli nie ma znaczenia Liczba kolumn w tabeli nie jest ograniczona Każda kolumna zawiera dane jednego typu (liczba, tekst, data, dane binarne, etc.) NumerAlbumu Imię Nazwisko NumerGrupy 12345 Jan Nowak T5 33333 Alicja Kowalska T5 87654 Marek Kozłowski T2 Tabela STUDENT

Wiersze tabeli - obiekty (rekordy) Rekordy tabeli przechowują dane dot. obiektów Jeden rekord = 1 obiekt Kolejność rekordów w tabeli nie ma znaczenia Tabela może nie zawierać żadnych rekordów Liczba rekordów w tabeli nie jest ograniczona NumerAlbumu Imię Nazwisko NumerGrupy 12345 Jan Nowak T5 33333 Alicja Kowalska T5 87654 Marek Kozłowski T2 Tabela STUDENT

Klucz własny tabeli Tabela nie może zawierać dwóch identycznych rekordów powinny różnić się wartością przynajmniej w jednej kolumnie Kolumna przechowująca wartości jednoznacznie identyfikujące obiekt, nazywa się kluczem własnym tabeli

Klucz obcy tabeli Klucz obcy kolumna tabeli, wartości której pochodzą z klucza własnego innej tabeli W tabeli STUDENT kolumna NumerGrupy przechowuje wartości z kolumny Numer tabeli GRUPA Wartości klucza obcego mogą się powtarzać (wielu studentów należy do jednej grupy)

Powiązania tabel Relacje pomiędzy tabelami w RBD są budowane za pomocą powiązań kluczy własnych z kluczami obcymi Kolumna Student.NumerGrupy może zawierać tylko te wartości które występują w kolumnie Grupa.NumerGrupy

Przykład struktury RBD Student należy do grupy Grupa należy do wydziału

Komunikacja z bazą danych System zarządzania bazą danych powinien zapewniać: Odczyt przechowywanych danych Możliwość ich modyfikacji oraz usunięcia Metody tworzenia i usuwania obiektów BD Nadawanie uprawnień Etc. Uniwersalnym standardem komunikacji z bazą danych stał się język SQL

Język SQL SQL (ang. Structured Query Language) uniwersalny język zapytań RBD Język deklaratywny Użytkownik określa w zapytaniu co chce uzyskać Decyzja o tym jak uzyskać wynik należy do SZBD Należy do grupy strukturalnych języków programowania Nie jest językiem kompletnym (brak operacji wprowadzenia oraz wyprowadzenia danych) Język uniwersalny, stosowany w zdecydowanej większości współczesnych RBD

Interakcja użytkownika z bazą danych za pomocą SQL Polecenie SQL System bazy danych SZBD BD Wynik w postaci tabeli

Podstawowe polecenia języka SQL INSERT UPDATE DELETE SELECT Wstawianie danych Modyfikacja danych Usuwanie danych Wybieranie danych Przykłady INSERT INTO Student ( NumerAlbumu, Imie, Nazwisko, NumerGrupy) VALUES ( '12345', 'Jan', 'Nowak', 'T6' ) UPDATE Student SET NumerGrupy = 'T5' WHERE Nazwisko = 'Nowak' SELECT * FROM Student

Infrastruktura aplikacji bazodanowej Interfejs wprowadzania danych Interfejs prezentacji danych Aplikacja Logika aplikacji SQL SBD Raporty

Interfejs aplikacji bazodanowej Język SQL nie posiada wbudowanych mechanizmów wprowadzania / wyświetlania danych Aplikacja może realizować interfejs użytkownika: a) we własnym zakresie (aplikacje klient-serwer lub aplikacje WWW) b) wykorzystując narzędzia projektowania interfejsu udostępniane przez BD (Oracle Forms, Access, etc.)

Logika aplikacji bazodanowej Polecenia SQL wbudowane w kod aplikacji Prosta metoda, ale przy każdej zmianie struktury BD należy zmieniać kod programu Polecenia SQL osadzone na serwerze BD w postaci gotowych procedur składowanych Większa wydajność oraz bezpieczeństwo systemu, konieczność synchronizacji kodu aplikacji z BD Wykorzystanie bibliotek programowania obiektowego, które nie wymagają stosowania SQL bezpośrednio (ORM) Metoda b. popularna; aczkolwiek kod SQL generowany automatycznie może nie być optymalnym

Raporty Większość współczesnych SBD posiadają zaawansowane mechanizmy tworzenia raportów ( kreatory ) Microsoft Reporting Services Oracle Reporting Można również tworzyć raporty w kodzie aplikacji

Sterownik bazy danych Aplikacja Sterownik BD Stacja robocza SBD Serwer bazy danych

Sterownik bazy danych (c.d.) Sterownik BD oprogramowanie zapewniające komunikację aplikacji bazodanowej z serwerem bazy danych Sterownik zależy od rodzaju bazy danych, systemu operacyjnego oraz metody wykorzystania bazy danych Większość SBD posiada sterowniki do większości platform (systemów operacyjnych) JDBC Java Database Connectivity Microsoft ADO (Active Data Objects) Etc.

Bazy danych przetwarzania transakcyjnego OLTP ang. Online Transactional Processing Charakteryzują się dużą liczbą jednocześnie wykonywanych transakcji Wiele równolegle działających użytkowników Operacje wstawiania, modyfikacji oraz usuwania danych Operacje są stosunkowo proste oraz krótkie Domyślny tryb działania większości współczesnych BD

Bazy danych przetwarzania analitycznego OLAP ang. Online Analytical Processing Bazy danych zorientowane na przechowanie (bardzo) dużych zbiorów danych (hurtownie) Przeznaczenie pozyskiwanie informacji zagregowanych, trendów oraz wniosków na bazie zgromadzonych w bazie faktów Operacje wstawiania danych są rzadkie i są wykonywane grupowo (np. raz na koniec miesiąca) Priorytetową operacją jest operacja wybierania danych

Popularne współczesne relacyjne systemy baz danych Komercyjne ORACLE Microsoft SQL Server IBM DB2 Sybase Enterprise Server Informix (IBM) Niekomercyjne MySQL Firebird PostgreSQL

Baza danych MS Access Część pakietu MS Office Professional Relacyjny model danych Jednolity plik danych Wsparcie języka SQL Wbudowane kreatory interfejsu użytkownika oraz raportów kompletne narzędzie do tworzenia końcowych produktów informatycznych Sterownik Microsoft Jet Możliwość dostępu do BD z programów zewnętrznych