Bazy Danych Bazy Danych i SQL Podstawowe informacje o bazach danych Krzysztof Regulski WIMiIP, KISiM, regulski@metal.agh.edu.pl
Literatura i inne pomoce Silberschatz A., Korth H., S. Sudarshan: Database System Concept. WBC/McGraw-Hill, wydanie trzecie 1997 Riordan R.:Projektowaniesystemówrelacyjnychbazdanych.Warszawa, WydawnictwoRM, wydanie polskie 2000 HernandezM.J., Bazy danych dla zwykłych śmiertelników, Wydawnictwo Edu-Mikom, Warszawa 1998 Ullman J.D., Podstawowy wykład z systemów baz danych, WNT Warszawa 2001 Yourdon E., Współczesna analiza strukturalna, WNT, Warszawa 1996. Beynon-Davies P., Systemy baz danych, WNT, Warszawa 2000. Ullman J.D., Widom J., Podstawowy wykład z systemów baz danych. WNT, Warszawa 2000. Dyer R.J.T., MySQL. Almanach, Helion, 2005. Dubois P., MySQL. Opis języka, Helion, 2005. Online Training Solutions, Microsoft Office Access 2003. Krok po kroku, RM, 2004 Internet!(np.)» http://w3schools.com/sql/sql_intro.asp» szkolenia OfficeOnline: Kursy Access (http://office.microsoft.com/plpl/training/cr061829401045.aspx)» http://www.teacherclick.com/access2003/index.htm KISIM, WIMiIP, AGH 2
Bazy danych: Baza danych zbiór danych reprezentujących dany obszar analizy. W bazie danych mamy do czynienia z faktami, które mająmiejsce. Dane powinny byćtrwałe. Baza danych części:»intensjonalna definicja danych opisujących ich strukturę(schemat); tworzeniem takiego schematu będziemy nazywaćprojektowaniem baz danych.»ekstensjonalna aktualna zawartośćbazy danych, dane KISIM, WIMiIP, AGH 3
Typy baz danych: operacyjne bazy danych Baza taka przechowuje dane dynamiczne, czyli takie, które ulegająciągłym zmianom i odzwierciedlają aktualny stan obiektu. OLTP OnLineTransactionProcessing(bieżące przetwarzanie transakcji) analityczne bazy danych Przechowywane tutaj dane są statyczne, bardzo rzadko ulegajązmianom i zawsze odzwierciedlająstan obiektów z pewnego ustalonego momentu. OLAP OnLineAnalyticalProcessing(oprogramowanie do analiz wielowymiarowych) KISIM, WIMiIP, AGH 4
Funkcje: Funkcje baz danych:» aktualizujące zamieniająjeden stan w drugi (np. dodaj nowy produkt, zmieństawkęwynagrodzenia).» zapytań sprawdzanie stanu bazy danych (kwerendy pytające). Funkcje SZBD:» Zarządzanie plikami» Wyszukiwanie informacji» Zarządzanie bazą tworzenie i monitorowanie użytkowników ograniczanie dostępu do plików monitorowanie działania bazy danych KISIM, WIMiIP, AGH 5
Cele systemów bazodanowych: Elastyczny dostęp do danych- łatwe selekcjonowanie i prezentacja danych Integralność danych dane są prawidłowe, spójne i aktualne Bezpieczeństwo danych ochrona przed nieupoważnionym dostępem i uszkodzeniem Obniżenie redundancji Niezależnośćod aplikacji fizyczna i logiczna organizacja danych jest oddzielona od aplikacji Współdzielenie danych(współbieżny dostęp, wielodostęp) umożliwienie różnym użytkownikom korzystania z tych samych (nie nadmiarowych) danych Standaryzacja opisu jednolite definicje danych dotyczące ich nazw i opisu KISIM, WIMiIP, AGH 6
Formalizmy i modele danych: Formalizm(Patrick H. Winston) - jest to zbiór składniowych i semantycznych konwencji, które umożliwiająopisanie rzeczy. Dla baz danych formalizmem określamy model danych. Rodzaje modeli danych:» hierarchiczne» relacyjne (obecnie najpopularniejsze)»sieciowe»obiektowe» relacyjno-obiektowe KISIM, WIMiIP, AGH 7
Podstawowe pojęcia w bazach danych: encja relacja klasa tabela» zbiór podobnych obiektów opisanych w jednolity sposób krotka obiekt (instancja klasy) rekord wiersz» zestaw wartości atrybutów opisujących jeden obiekt identyfikowany przez wyróżnione atrybuty lub nazwę więź asocjacja związek» związek pomiędzy dwoma encjami (klasami) pokazujący jakie rekordy (obiekty) z jednej encji odpowiadająrekordom z drugiej i jaki jest charakter tej odpowiedniości atrybut kolumna pole» pojedyncza dana wchodząca w skład krotki np. nazwisko studenta, nr ewidencyjny pracownika, wielkość zapasu czy rodzaj filmu. KISIM, WIMiIP, AGH 8
System Zarządzania Bazą Danych (SZBD) - Database Management System (DBMS) Zbiór powiązanych ze sobą danych Pakiety programowe służące do zarządzania danymi. Podstawowymi elementami tych systemów są:» język zapytań(sql)» generator raportów» język manipulacji danymi» język definicji danych SZBD umożliwiają oddzielenie aplikacji od bazy. SZBD dostarcza wygodnego i łatwego do używania środowiska Typowe zastosowania:» Bankowość pełna działalność» Linie lotnicze rezerwacja, rozkłady lotów» Uniwersytety administracja» Handel (wymiana dóbr)» Wytwarzanie dóbr - produkcja, magazynowanie, zamówienia, łańcuch dostaw» Zarządzanie zasobami ludzkimi Bazy danych są obecne nieledwie w każdym aspekcie naszego życia KISIM, WIMiIP, AGH 9
Typy związków: jeden-do-jednego-jeżeli pojedynczemu rekordowi z pierwszej tabeli przyporządkowany jest najwyżej jeden rekord z drugiej tabeli i na odwrót jeden-do-wielu-jeżeli pojedynczemu rekordowi z pierwszej tabeli może odpowiadaćjeden lub więcej rekordów z drugiej, ale pojedynczemu rekordowi z drugiej tabeli odpowiada najwyżej jeden rekord z tabeli pierwszej wiele-do-wielu-jeżeli pojedynczemu rekordowi z pierwszej tabeli może odpowiadaćjeden lub więcej rekordów z drugiej i na odwrót KISIM, WIMiIP, AGH 10