BAZY DANYCH. Krzysztof Goczyła Maciej Piechówka



Podobne dokumenty
Bazy danych 2. Wykład 1

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

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

Wykład I. Wprowadzenie do baz danych

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

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

mail: strona: konsultacje: na stronie (po wcześniejszym umówieniu drogą mailową)

PRZEWODNIK PO PRZEDMIOCIE

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

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

K1A_W11, K1A_W18. Egzamin. wykonanie ćwiczenia lab., sprawdzian po zakończeniu ćwiczeń, egzamin, K1A_W11, K1A_W18 KARTA PRZEDMIOTU

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

PRZEWODNIK PO PRZEDMIOCIE

KARTA PRZEDMIOTU 1,5 1,5

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

SZKOLENIE: Administrator baz danych. Cel szkolenia

Bazy danych. Dr Henryk Telega. BD 10/11 Wykład 1 1

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

Bazy danych i ich aplikacje

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

Sylabus do programu kształcenia obowiązującego od roku akademickiego 2014/15

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

Opisy efektów kształcenia dla modułu

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2013/2014

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

poziom: Core wersja: 2.6 moduł: B : Wytwarzanie SYLLABUS

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

Bazy danych 1. Podstawowe pojęcia

forma studiów: studia stacjonarne Liczba godzin/tydzień: 1, 0, 2, 0, 0

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, regulski@metal.agh.edu.pl

Wprowadzenie do technologii Business Intelligence i hurtowni danych

Pojęcie systemu baz danych

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

Oracle11g: Wprowadzenie do SQL

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

BAZY DANYCH. Wykład 1: Wprowadzenie do baz danych. Marcin Czajkowski. Przygotowanie wykładu: Małgorzata Krętowska

Podstawowe informacje o bazach danych. Technologie Informacyjne

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

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

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

Baza danych to zbiór wzajemnie powiązanych ze sobą i zintegrowanych danych z pewnej dziedziny.

Systemy GIS Systemy baz danych

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski. Bazy danych ITA-101. Wersja 1

INFORMATYKA Pytania ogólne na egzamin dyplomowy

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

Informatyka I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny) stacjonarne (stacjonarne / niestacjonarne)

Spis treści. Przedmowa

Podstawowy Wykład z Systemów Baz Danych

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Podstawowe wiadomości z zakresu: architektury sprzętowo-programowej komputerów, dowolnych języków programowania, algebry

Technologia informacyjna


Podstawy Systemów Zarządzania Baz Danych

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

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

PROJEKT Z BAZ DANYCH

Inżynieria oprogramowania- Grupa dra inż. Leszka Grocholskiego II UWr 2009/2010. Aleksandra Kloc, Adam Grycner, Mateusz Łyczek. Wasza-fota.

Dotacje na innowacje. Inwestujemy w waszą przyszłość.

Ramowy plan kursu. Lp. Moduły Wyk. Lab. Przekazywane treści

Informatyka I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny) niestacjonarne (stacjonarne / niestacjonarne)

Bazy danych. Zaliczenie. Literatura. Strony WWW. Wykład 1: Wprowadzenie do baz danych. Semestr 1

SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści

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

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

Szkolenie autoryzowane. MS 6232 Wdrażanie bazy danych Microsoft SQL Server 2008 R2

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

Krzysztof Kadowski. PL-E3579, PL-EA0312,

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

Mechanika i Budowa Maszyn II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

PRZEWODNIK PO PRZEDMIOCIE

Bazy danych. Dr inż. Paweł Kasprowski

KARTA PRZEDMIOTU. 1. Informacje ogólne. Nazwa przedmiotu i kod (wg planu studiów): Projektowanie baz danych D1_4

Z-ID-403 Zarządzanie bazami danych SQL Database Management SQL. Kierunkowy Obowiązkowy Polski Semestr IV

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

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

Podstawowe wiadomości z zakresu: architektury sprzętowo-programowej komputerów, dowolnych języków programowania, algebry

EXSO-CORE - specyfikacja

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

Opisy przedmiotów do wyboru. oferowane na stacjonarnych studiach I stopnia dla 3 roku matematyki semestr letni, rok akademicki 2017/2018

Efekt kształcenia. Ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną w zakresie algorytmów i ich złożoności obliczeniowej.

KARTA PRZEDMIOTU. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI Ogólne umiejętności posługiwania się komputerem

Grupa kursów: Wykład Ćwiczenia Laboratorium Projekt Seminarium 15 30

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

Tworzenie aplikacji bazodanowych

Grupy pytań na egzamin inżynierski na kierunku Informatyka

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2011/2012

Logika Temporalna i Automaty Czasowe

Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion. Autor: Joanna Karwowska

Wprowadzenie do Hurtowni Danych

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

KARTA PRZEDMIOTU. 1. Nazwa przedmiotu: BAZY DANYCH 2. Kod przedmiotu: MK_ Karta przedmiotu ważna od roku akademickiego: 2012/2013

Część I Tworzenie baz danych SQL Server na potrzeby przechowywania danych

OfficeObjects e-forms

Hurtownie danych. Wprowadzenie do systemów typu Business Intelligence

Kierunek:Informatyka- - inż., rok I specjalność: Grafika komputerowa i multimedia

ORACLE (Wykład 1) aragorn.pb.bialystok.pl/~aonisko. Typy rozproszonych baz danych. Systemy klient-serwer. Klient-serwer: Przykład

PROGRAM PRAKTYKI ZAWODOWEJ. Technikum Zawód: technik informatyk

Baza danych. Baza danych to:

Transkrypt:

BAZY DANYCH Krzysztof Goczyła Maciej Piechówka Katedra Inżynierii Oprogramowania Wydział Elektroniki, Telekomunikacji i Informatyki Politechnika Gdańska {kris, macpi}@eti.pg.da.pl Materiały pomocnicze do wykładu z baz danych na Wydziale ETI PG. Ich lektura nie zastępuje obecności na wykładzie. Wykorzystanie materiałów w innym celu oraz ich rozpowszechnianie jest zabronione. #1 K.Goczyła, M. Piechówka

Treść wykładu 1. Zagadnienia ogólne 2. Diagramy związk zków w encji (ERD) 3. Relacje i relacyjna baza danych 4. Algebra relacji 5. Język SQL 6. Normalizacja relacyjnych baz danych 7. Ochrona danych 8. Zarządzanie transakcjami 9. Rozproszone bazy danych #2 K.Goczyła, M. Piechówka

Wybrana literatura Banachowski L., A. Chądzyńska, K. Matewski, Relacyjne bazy danych. Wykłady i ćwiczenia, PJWSTK, 2004 Beynon-Davies P., Systemy baz danych. WNT 2000. Connolly T., C. Begg, Systemy baz danych, T1/2, RM, 2004 Date C.J. Wprowadzenie do systemów baz danych. WNT 2000. Delobel C., M. Adiba. Relacyjne bazy danych. WNT 1988. Dybowska-Dyk A., M. Bartnik. Ćwiczenia z SQL. Mikom 1999. Elmasri R., S.B.Navathe, Wprowadzenie do systemów baz danych, Helion, 2005 Gruber M., SQL. Wydanie drugie. Helion 2000. Muller R. J., Bazy danych. Język UML w modelowaniu danych. Mikom 2000. Riordan R. M., Projektowanie systemów relacyjnych baz danych. Microsoft Press 2000 D. Tsichritzis, F. Lochovsky. Modele danych. WNT 1990. Ullman J.D., Systemy baz danych. WNT 1988. Ullman J.D., J. Widom. Podstawowy wykład z systemów baz danych. WNT 1999. #3 K.Goczyła, M. Piechówka

1. Zagadnienia ogólne Co to jest baza danych? Architektura systemu baz danych Podstawowe funkcje systemów w zarządzania bazami danych (DBMS) Ewolucja technologii baz danych #4 K.Goczyła, M. Piechówka

Co to jest baza danych? Baza danych Zbiór powiązanych ze sobą logicznie danych, zorganizowany zgodnie z określonym modelem danych. Model danych wyznacza logiczne reguły konstrukcji bazy danych, bez względu na jej fizyczną reprezentację. Baza danych jest zarządzana przez system komputerowy (sprzęt i oprogramowanie), który powinien wypełniać następujące funkcje: trwałe i niezawodne przechowywanie dużych ilości informacji efektywny dostęp do żądanych informacji możliwość modyfikowania informacji zagwarantowanie logicznej spójności (integralności) informacji ochrona informacji System baz danych Wiele baz danych zarządzanych przez jeden system komputerowy System zarządzania bazami danych (DBMS, Database Management System) Oprogramowanie zarządzające systemem baz danych #5 K.Goczyła, M. Piechówka

SYSTEM BAZ DANYCH = Składniki systemu baz danych Trwała pamięć zewnętrzna + System Zarządzania Bazami Danych (DBMS) + Język zapytań Trwała pamięć zewnętrzna: urządzenia sprzętowe przechowujące dane System Zarządzania Bazami Danych: (DataBase Management System) oprogramowanie zarządzające dostępem do baz danych Język zapytań: danych. język wysokiego poziomu, za pomocą którego użytkownik komunikuje się z bazą SYSTEM BAZ DANYCH PAMIEĆ ZEWNĘTRZNA DBMS JĘZYK ZAPYTAŃ... CREATE... SELECT... UPDATE... #6 K.Goczyła, M. Piechówka

Pamięć zewnętrzna Rola: Przechowywanie dużej ilości danych w sposób trwały i niezawodny: 1. Trwałość Dane powinny być przechowywane w pamięci tak długo, jak tego wymagają użytkownicy systemu baz danych. Urządzenia pamięci zewnętrznej: dyski magnetyczne dyski optyczne urządzenia do archiwizacji 2. Niezawodność Częstotliwość występowania błędów powinna być zaniedbywalnie mała. Środki służące zwiększeniu niezawodności: dublowanie urządzeń pamięci zewnętrznych kontrola poprawności zapisu kody detekcji/korekcji błędów #7 K.Goczyła, M. Piechówka

Baza danych w systemach informatycznych Powody stosowania baz danych w projekcie i implementacji systemu: Elementy tworzące system muszą być trwałe Ręczne programowanie trwałości jest kłopotliwe, zawodne, nieelastyczne. Możliwe tylko dla niewielkich zbiorów danych, w środowisku jednego użytkownika. Potrzeba efektywnego operowania na dużych wolumenach danych Obszerne składnice (magazyny) ustrukturalizowanych danych, zarządzane przez gotowe oprogramowanie. Narzędzie implementacyjne Środowiska wspomagające projektowanie i wdrażanie aplikacji opartych na bazach danych, np. języki typu 4GL lub środowiska dla języków 3GL z bibliotekami do korzystania z interfejsów ODBC/JDBC. Łączą one cechy typowych języków programowania z funkcjami dostępu do bazy danych. #8 K.Goczyła, M. Piechówka

Funkcje DBMS Realizacja operacji dostępu do danych na poziomie fizycznym (algorytmy dostępu, struktury danych itp.) Zapewnienie integralności danych (przetwarzanie transakcyjne, kontrola ograniczeń nałożonych na dane itp.) Obsługa współbieżności (rozstrzyganie konfliktów przy próbach jednoczesnego dostępu do tych samych danych) Ochrona danych (kontrola uprawnień do wykonywania określonych operacji przez określonych użytkowników) Odtwarzanie po awariach (restart, przywracanie danych z kopii zapasowych) Śledzenie operacji dokonywanych na bazie danych (efektywność, bezpieczeństwo, niezawodność,...) Obsługa rozproszenia (jeśli jedna baza danych fizycznie jest umieszczona na różnych systemach komputerowych) Obsługa przetwarzania równoległego (jeśli zapytanie użytkownika skierowane do bazy danych może być realizowane równocześnie przez kilka procesorów) #9 K.Goczyła, M. Piechówka

Moduły y składaj adające się na SZBD #10 K.Goczyła, M. Piechówka

Język zapytań Dla użytkowników interakcyjnych: język zapytań ad hoc, z poleceniami wybieranymi z menu lub wprowadzanymi w wierszu poleceń. Dla programistów aplikacyjnych: Kompletny język programowania (język czwartej generacji, 4GL) zawierający: - instrukcje definiowania i operowania na danych z bazy danych, - instrukcje wejścia/wyjście, - instrukcje i struktury danych typowe dla języków programowania Typowy język programowania (PL/1, Cobol, C, Java,...) rozszerzony o instrukcje operujące na bazie danych (instrukcje języka zapytań zanurzonego w języku macierzystym). Instrukcje te mogą mieć postać wywołań interfejsu ODBC/JDBC, w których przekazywana jest tekstowo treść zapytania. #11 K.Goczyła, M. Piechówka

Języki programowania a bazy danych Języki do tworzenia aplikacji bazodanowych 4GL Stopień komplikacji realizowanych aplikacji C, Java, Fortran, Cobol,... 3GL Makroassemblery 2GL Języki maszynowe 1GL Wymagana wiedza o systemie Niezbędny nakład pracy #12 K.Goczyła, M. Piechówka

Język zapytań (cd.) Język zapytań = Język definiowania danych (Data Definition Language) + Język manipulowania danymi (DataManipulation Language) + Język kontrolowania danych (Data Control Language) DDL - definiuje struktury danych, na których operują instrukcje DML DML - wykonuje operacje na danych zdefiniowanych przez DDL (pobieranie danych i ich aktualizowanie) DCL - kontroluje uprawnienia dostępu do danych #13 K.Goczyła, M. Piechówka

Administrator bazy danych Administrator bazy danych (DataBase Administrator) - osoba sprawująca kontrolę nad dostępem do bazy danych i nad jej funkcjonowaniem. Zadania DBA udzielanie użytkownikom i grupom użytkowników uprawnień dostępu do bazy danych (uprawnienia do tworzenia obiektów bazy danych, ich pobierania i modyfikowania,...) monitorowanie wydajności bazy danych definiowanie strategii archiwizowania i odtwarzania danych po awariach uruchamianie nowych strategii dostępu do danych... Narzędzia do dyspozycji DBA program do ładowania bazy danych z plików zewnętrznych programy do archiwizacji danych programy do przywracania danych z archiwum programy do zbierania statystyk i ich analizowania procedury definiowania użytkowników i grup użytkowników programy do operowania na słowniku danych programy do analizowania dziennika bazy danych (logu)... #14 K.Goczyła, M. Piechówka

Słownik danych Słownik danych - specjalna baza danych zawierająca informacje o danych przechowywanych w innych bazach danych (metadane). Zawartość słownika danych opisy struktury obiektów bazy danych (np. schematów tablic, widoków,...) opisy użytkowników (identyfikatory, uprawnienia,...) definicje formatów danych stosowanych w bazie danych dane statystyczne o wartościach danych w bazie danych... Dostęp do słownika danych Zwykły użytkownik ma prawa tylko do odczytu, i to tylko pewnych fragmentów słownika danych DBA może mieć pełniejszy dostęp do słownika, jednak jego modyfikowanie może wykonywać tylko poprzez procedury systemowe DBMS ma pełen dostęp do słownika danych (np. modyfikuje go przy tworzeniu nowego obiektu w bazie danych) #15 K.Goczyła, M. Piechówka

Architektura systemu baz danych Poziom zewnętrzny (użytkownika) for each {x=1; for each SQL {x=1; for each select SQL {x=1; update SQL update Poziom logiczny (modelu danych) System zarządzania bazami danych (DBMS) Poziom wewnętrzny (fizyczny) #16 K.Goczyła, M. Piechówka

Architektura systemu baz danych (cd.) Poziom zewnętrzny (użytkownika) Zbiór zewnętrznych widoków, poprzez które użytkownicy widzą zawartość bazy danych. Widok jest wyabstrahowanym fragmentem bazy danych, zdefiniowanym w terminach języka zapytań. Poziom logiczny (modelu danych) Zawiera model konceptualny bazy danych. Model ten obejmuje całą zawartość bazy danych, tak jak ją widzi administrator lub właściciel bazy danych. Poziom wewnętrzny (fizyczny) Fizyczna reprezentacja bazy danych w postaci plików dyskowych i algorytmów dostępu do nich. Jest to reprezentacja niskiego poziomu (poziomu jednostek pamięciowych, np. bajtów). #17 K.Goczyła, M. Piechówka

Niezależno ność od danych Wyraźne odizolowanie poziomów architektury systemu baz danych (szczególnie poziomu logicznego od fizycznego) pozwala osiągnąć niezależność programu od danych. Program jest zależny od danych, jeśli wiedza na temat struktur danych i metod dostępu do nich jest wbudowana w program, tzn. nie jest możliwa zmiana: struktur danych (czyli sposobu przechowywania danych) metod dostępu do danych bez zmian w programie. Niezależność programu od danych oznacza sytuację odwrotną: logika programu nie zależy od struktur danych i metod dostępu stosowanych w systemie baz danych. Logiczna niezależność danych odporność schematów zewnętrznych (widoków) na zmiany dokonywane w schemacie pojęciowym. Fizyczna niezależność danych odporność schematu pojęciowego na zmiany dokonywane w schemacie wewnętrznym. Korzyści: można wprowadzać nowe urządzenia pamięciowe można wprowadzać nowe struktury danych na dysku i nowe metody dostępu można zmieniać fizyczną reprezentację danych bez konieczności dokonywania zmian w kodzie aplikacji bazodanowych (może być konieczna tylko rekompilacja). #18 K.Goczyła, M. Piechówka

Dostęp p do danych Człowiek przy terminalu, który interakcyjnie operuje na bazie danych, formułując żądania w języku zapytań ad hoc. UŻYTKOWNIK Program, który oprócz innych instrukcji zawiera instrukcje operujące na danych z bazy danych. Instrukcje te formułowane są w języku zapytań zanurzonym w języku macierzystym. zapytanie D lub odpowiedź B M pamięć zewnętrzna S #19 K.Goczyła, M. Piechówka

Dostęp p poprzez Internet INTERNET Serwer WWW Przeglądarka WWW Procesor skryptów CGI lub podobny tekst, grafika, audio,... Aplikacja lub skrypt plik szablonu ODBC/ JDBC DBMS #20 K.Goczyła, M. Piechówka

Ewolucja technologii baz danych Systemy plików Hierarchiczne bazy danych Sieciowe bazy danych Relacyjne bazy danych 1980 1960 1970 1990 1. Systemy plików: realizacja operacji plikowych; stanowią poziom fizyczny współczesnych baz danych ISAM, CSAM, VSAM, WiSS, inne specjalizowane 2. Hierarchiczne bazy danych dane organizowane są w struktury drzewiaste IMS, System 2000,... 3. Sieciowe bazy danych dane organizowane są w dowolne struktury sieciowe (Codasyl) IDS, Total, Adabas, IDMS,... 4. Relacyjne bazy danych dane organizowane są w relacje (zbiory krotek o ustalonej, prostej strukturze) Oracle, Informix, SyBase, DB2, Ingres, Progress, MSSQL,... #21 K.Goczyła, M. Piechówka

Ewolucja technologii baz danych Relacyjne bazy danych Bazy danych nowej generacji Bazy danych obiektoworelacyjne XML, multimedia 2000 1980 1990 2010 Bazy danych nowej generacji - motywacje: nowe aplikacje baz danych: CAD, CAM, CAP, CASE, DSS, automatyzacja prac biurowych, kartografia, multimedia, sztuczna inteligencja niedostatki systemów tradycyjnych: - zbyt prosty model danych, nieodpowiedni do modelowania złożonych struktur - ograniczony, nierozszerzalny zestaw typów danych - ograniczone możliwości obliczeniowe - zbyt prosty model transakcji - brak pojęcia wersji -mała elastyczność w operowaniu schematem #22 K.Goczyła, M. Piechówka