You are on page 1of 3

Bazy danych - wykład 2008 semestr letni

Literatura:
Ulman, Widom, Garcia-Molina "Systemy baz danych. Pełny wykład" WNT 2006
(Database Systems: The Complete Book)

Ulman "Systemy baz danych" WNT 1983

Connolly, Begg "Systemy baz danych" RM


(http://www.rm.com.pl)

Literatura uzupełniająca:
C.J.Date - "Relacyjne bazy danych dla praktyków" (Database in Depth);
R.Coburn - "Sql Dla Każdego";
D.Tow - "SQL. Optymalizacja

Streszczenia wykładów

• (w1) Wstęp do relacyjnych baz danych. Relacje, tabele, złączenia, podstawowe zapytania sql.
• (w2) Podstawy SQL. Przemianowanie, aliasy, grupowanie, złączenia, iloczyn kartezjański, suma,
różnica, przecięcie, operatory IS NULL, EXISTS, IN, ANY, ALL, SOME, funkcje agregujące.
Zapytania zagnieżdżone, zapytania skorelowane, wyrażenia tabelowe w klauzuli from, zapytania z
zapytań. Wbudowane standardowe funkcje SQL (Currant_Date, extract, cast, now)

Podręcznikowe prezentacje: sql1.pdf i sql2.pdf


• (w3) Grupowanie w SQL, użycie klauzuli having. Operator „limit”. Przykładowe rozwiązanie
zadania ze sprawdzianu. Obliczanie minimum i maksimum za pomocą iloczynu kartezjańskiego.
Algebra relacji z operacjami sortowania i grupowania. Zobacz prezentacje Relational Algebra i
More Rel. Alg. + SQL.
• (w4, 26-03) Tworzenie i usuwanie obiektów bazodanowych. Schematy. Zaawansowane
konstrukcje SQL: kursory, perspektywy, funkcje, składowane procedury.
Zobacz prezentacje: DDL SQL (prezentacja p. Przemki Kanarek)
• (w5: 2-04-2008) Więzy dziedzinowe, kolumnowe, krotkowe, globalne. Odraczanie
wartościowania więzów. Klucze główne, klucze obce. Własności transakcji (ACID). Definicja
zależności funkcyjnych.
Zadanie domowe: przeczytaj o:
• materializowanych widokach;
• wyzwalaczach typu „instead of”;
• algorytmach sterowania współbieżnością dla transakcji;
• datalogu;
• (w6: 9-04-2008) Aksjomaty Armstronga, własności zależności funkcyjnych, domknięcia zbiorów
atrybutów, klucze, nadklucze.
Zadania:
1. napisz algorytm minimalizacji zbioru zal. fun.
2. Napisz algorytm obliczania domknięcia zb. Zal. fun.
3. Napisz algorytm sprawdzania równoważności zbiorów zal. funk. Bez obliczania ich
domknięć.
4. Udowodnij aksjomaty Armstronga;
5. udowodnij reguły sumowania i rozkładania;
6. udowodnij poprawność algorytmu obliczania domknięcia zbioru atrybutów.
• (w7: 16-04-2008) Rozkłady zachowujące zależności, odwracalność rozkładów, rzut zbioru
zależności na zbiór atrybutów, postać normalna BCNF. Algorytmy normalizacji do BCNF.
Minmalizacja zbioru zależności, postać kanoniczna. Przykłady obliczania domknięć i sprawdzania
równoważności zbiorów zależności fun.
Zadania:
1. Zapoznaj się z definicjami: UNF, 1NF, 2NF;
2. Napisz algorytm sprowadzania zb. ZF do postaci kanonicznej.
3. Napisz algorytm obliczający zawężenie (rzut) zbioru zal. funkcyjnych do podanego zbioru
atrybutów.
4. Udowodnij podane na wykładzie kryterium odwracalności rozkładu.
5. Udowodnij, że algorytm normalizacji do BCNF, podany na wykładzie, zawsze zachowuje
zależności funkcyjne.
6. Napisz algorytm sprawdzający odwracalność rozkładu. Wskazówka: szkic algorytmu
opisany jest w starym podręczniku Ullmana.
• (w8: ) Trzecia postać normalna i algorytm normalizacji. Diagramy związków encji w notacji
Chen'a.
Zadania:
1. Udowodnij, że w definicji postaci BCNF i 3NF można zamiast domknięcia zbioru
zależności F+ używać samego zbioru F.
2. Udowodnij poprawność podanych algorytmów normalizacji BCNF i 3NF.
3. Oszacuj złożoność algorytmów normalizacji.
4. Sformułuj algorytm sprawdzający w jakiej postaci normalnej jest podana baza.
5. Zaimplementuj algorytm z poprzedniego punktu w dowolnym popularnym języku
programowania (za przedstawienie eleganckiego samodzielnego rozwiązania, które nada
się do umieszczenia na stronie wykładu proponuje podwyższenie oceny).
6. Zaimplementuj algorytm z poprzedniego punktu w postaci procedury składowanej w bazie
danych, premia jak wyżej.
7. Oszacuj dolne granice na złożoność obliczeniową normalizacji do 3NF i BCNF. Oszacuj
złożoność na sprawdzanie postaci normalnej.
• (w9-w12 ) Projektowanie c.d. Diagramy związków encji w notacji UML. Modele logiczne i
fizyczne. Datalog, rekurencja w SQL3. Osadzony SQL. Łączenie baz danych z aplikacjami.
użycie baz danych w aplikacjach języków JAVA i PHP. Architektury 2 i 3 warstwowe.
Zależności wielowartościowe. Czwarta postać normalna. Omówienie przykładowych zadań
egzaminacyjnych.
Zadania domowe:
1. W oparciu o algorytm normalizacji do BCNF zaprojektuj algorytm normalizacji do 4NF.
Udowodnij jego poprawność.
2. Podaj definicje 5NF.
3. W jaki sposób słabe encje w notacji Chena można wyrazić w notacji UML?
4.
• (w14: ) Wykorzystanie baz danych w aplikacjach tworzonych z użycuem MS Visual Studio, na
przykładzie C# . Przegląd rzeczywistych systemów: DB2, Oracle, MS SQL Server. Obiektowe
bazy danych.
• (w15: ) Test

Materiały uzupełniające
• Strona Przemki Kanarek (notatki z wykładu z baz danych na informatyce uniwersyteckiej)
• Definicje postaci normalnych na stronie p.Traczyka
• Notatka o transakcjach (szeregowalność, blokowanie, znaczniki czasowe) na stronie
p.Kryszkiewicza.
• Wprowadzenie do SQL: "SQL for Web Nerds".
• Wbudowane funkcje oracle'a.
• Normalizacja - Wikipedia
• Bezpieczeństwo
How A Criminal Might Infiltrate Your Network How A Criminal Might Infiltrate Your Network

Szyfrowanie w MS SQL Server 2005 sqldatsec.mspx

Ten hacker tricks to exploit SQL Server systems Ten hacker tricks to exploit SQL Server systems

• Darmowe serwery baz danych:


Oracle Database 10g Express Edition
PostgreSQL
DB2 Universal Database Express Edition V8.2
MySQL
Microsoft SQL Server 2005 Express - SQL Server i graficzny manager
SQL Server 2005 Books Online
Prezentacje firmy Microsoft (webcast)
Firebird (modyfikacja serwera Interbase 6.0 stworzonego przez Borland)
Darmowy AdaptiveServer dla Linuxa (Sybase)

Sybase Adaptive Server - darmowy do celów testowych


Sybase SQL Anywhere Studio Developer Edition - darmowy do celów testowych
• Lista darmowych narzędzi dla baz danych: Free ODBC Drivers, SQL Servers and Tools, Database
Libraries and Source Code
• Narzędzia do modelowania, serwery, itp.:
Power designer - program do modelowania logiki
biznesowej i baz danych, automatyczne
Power designer
generowanie definicji SQL, generowanie danych
testowych.

Umbrello UML Modeller - modelowanie w UML Umbrello

Enterprise Architect - modelowanie w UML


aplikacji i bazy danych, automatyczne Enterprise Architect
generowanie kodu, odrotna inżynieria.

You might also like