Locked History Actions

pms/13ebd

Elementy baz danych (D EBD LM0) 2012/2013

Zasady zaliczenia

Łącznie do zdobycia jest 20 punktów:

element

maks. l. punktów

kolokwium

8

projekt

12

razem

20

Warunkiem zaliczenia ćwiczeń jest uzyskanie co najmniej 11 punktów.

od

do

ocena

0

10

ndst

11

12

dst

13

14

dst+

15

16

db

17

18

db+

19

bdb

Liczba dopuszczalnych nieusprawiedliwionych nieobecności na ćwiczeniach wynosi 3.

Projekt

Na projekt zaliczeniowy składają się:

  • schemat ER bazy danych,
  • baza danych zaimplementowana w MS Access, OpenOffice/LibreOffice Base lub MS SQL Server, a w niej co najmniej:

    • 6 tabel powiązanych odpowiednimi relacjami,
    • formularze umożliwiające wprowadzanie danych do tabel,
    • 2 kwerendy,
    • 2 raporty.

Kolokwium

Krótkie kolokwium z teorii odbędzie się na początku 5. zajęć (czyli 7/8 listopada).

Harmonogram zajęć

lp.

środa

czwartek

temat

1

3 października

4 października

Wprowadzenie

2

10 października

11 października

Normalizacja

3

17 października

18 października

Diagramy ER

4

24 października

25 października

Algebra relacji

5

7 listopada

8 listopada

Kolokwium, MS Access: tabele

6

14 listopada

15 listopada

MS Access: kwerendy

7

21 listopada

22 listopada

MS Access: formularze i raporty

8

28 listopada

29 listopada

MS Access: tworzenie projektów

9

5 grudnia

6 grudnia

SQL: tworzenie baz danych

10

12 grudnia

13 grudnia

SQL: zapytania

11

19 grudnia

3 stycznia

SQL: złożone zapytania, widoki

12

9 stycznia

10 stycznia

SQL: procedury, triggery, współbieżność i transakcje

13

16 stycznia

17 stycznia

Zagadnienia bezpieczeństwa

14

23 stycznia

24 stycznia

Ocena projektów

Ćwiczenia 1: Wprowadzenie

Przykładowa baza danych:

(MS Access) ebd1.mdb

(Open Office Base) ebd1.odb

Ćwiczenia 2: Normalizacja

Zadanie 1

(1) Wypisz zależności funkcyjne, (2) znajdź klucze potencjalne i (3) sprowadź kolejno do pierwszej, drugiej i trzeciej postaci normalnej następujące tabele:

1a

Id_Przedmiotu

Nazwa_Przedmiotu

Nr_Pomieszczenia

Kod_Budynku

Nazwa_Budynku

Kierownik_Budynku

001

Drukarka HP Deskjet F400

320

A

Główny

Wojciech Wojciechowski

007

Laptop Dell Inspiron 15

320

A

Główny

Wojciech Wojciechowski

013

Drukarka Epson SX100

405

A

Główny

Wojciech Wojciechowski

022

Drukarka HP Deskjet F400

12B

C

Archiwum

Jan Jankowski

029

Kserokopiarka Xerox 900

13

C

Archiwum

Jan Jankowski

042

Laptop HP Compaq 550

101

B

Budynek

Jan Jankowski

043

Drukarka Canon X40

D-3

D

Budynek

Marek Markowski

142

Laptop HP Compaq 670

405

B

Budynek

Jan Jankowski

Rozwiązanie zadania

1b

Numer_Faktury

Numer_Produktu

Data_Sprzedaży

Nazwa_Produktu

Kod_Dostawcy

Nazwa_Dostawcy

Ilość

Cena

134

QX43

15.01.2012

DVD Sony

211

Maszynohurt S.A.

7

249,99

134

DV87

15.01.2012

LCD Samsung

211

Maszynohurt S.A.

1

2099,90

134

UR93

15.01.2012

Radio Grundig

313

Werkzeuge AG

3

369,99

137

AS11

15.01.2012

MP3 Philips

211

Maszynohurt S.A.

4

124,99

151

WN02

17.01.2012

Żarówka Osram

102

Żarnix Sp.z o.o.

25

10,99

152

WN02

18.01.2012

Żarówka Osram

102

Żarnix Sp.z o.o.

30

10,99

Rozwiązanie zadania

1c

Id_Pracownika

Tytuł

Nazwisko

Kod_Wydziału

Nazwa_Wydziału

Pokój

Numery_Indeksów_Magistrantów

001

dr

Wiśniewski

WMI

Wydział Matematyki i Informatyki

B5-11

100001

100002

100003

002

prof.

Kowalczyk

WF

Wydział Fizyki

101

200001

200003

007

dr hab.

Kowalczyk

WCh

Wydział Chemii

505

100123

100124

100125

100126

008

prof.

Lewandowski

WMI

Wydział Matematyki i Informatyki

B6-22

321123

010

dr

Kozłowski

WMI

Wydział Matematyki i Informatyki

B5-11

456654

Rozwiązanie zadania

Ćwiczenia 4: Algebra relacji

Zadanie 2

Niech:

R1 =

X

Y

Z

i

p

1

j

q

1

i

q

2

R2 =

X

Y

Z

i

q

2

i

p

1

k

r

3

k

r

4

R3 =

Z

W

1

11

3

11

5

33

4

12

1

24

Znajdź: R1 ∪ R2, R1 ∩ R2, R1 \ R2, R1 ⋈ R3, (R1 ∪ R2) ⋈ R3.

Rozwiązanie zadania

Przykładowe bazy danych

WypozyczalniaFilmow.accdb

WypozyczalniaFilmow2.accdb

Sklep.accdb

Podstawy języka SQL

W języku SQL wielkość liter nie ma znaczenia (SELECT = select = Select = sElEcT). Każde polecenie kończy się średnikiem ;

Kwerenda wybierająca pola Pole1 i Pole2 z tabeli Tabela:

SELECT Pole1, Pole2 
    FROM Tabela;

Kwerenda wybierająca wszystkie pola z tabeli Tabela:

SELECT * 
    FROM Tabela;

Kwerenda wybierająca pola z różnych tabel:

SELECT TakaTabela.JakiesPole, InnaTabela.JakiesInnePole 
    FROM TakaTabela, InnaTabela;

Kwerenda wybierająca pola z tabeli połączonych relacją:

SELECT Pracownik.Imie, Pracownik.Nazwisko, Zaklad.Nazwa 
    FROM Pracownik INNER JOIN Zaklad ON Pracownik.IdZakladu = Zaklad.Id;

Kwerendy warunkowe:

SELECT Imie, Nazwisko 
    FROM Pracownicy
    WHERE Placa > 2000;

SELECT Imie, Nazwisko
    FROM Pracownicy
    WHERE Stanowisko = "kierownik";

SELECT Imie, Nazwisko
    FROM Pracownicy
    WHERE IdSzefa Is Null;

Sortowanie rekordów:

SELECT Imie, Nazwisko, PESEL
    FROM Pracownicy
    ORDER BY Nazwisko, Imie;

Więcej o SQL (po angielsku): http://w3schools.com/sql

MS SQL Server

Skrypt tworzący bazę danych "Sklep": nowa_baza.sql

Skrypt tworzący bazę danych "Piwna siódemka": piwna_utworz.sql

Rozwiązania zadań z wykładu "Piwna siódemka": piwna_rozw.sql

Skrypt tworzący bazę danych "Projekty": projekty_utworz.sql

Zadania dotyczące bazy danych "Projekty" wraz z rozwiązaniami: projekty_rozw.sql

Procedury i funkcje: proc.sql