974


Bazy danych I: ćwiczenia z języka SQL

0x01 graphic

Rys.1. Struktura relacji do ćwiczeń

0x01 graphic

Rys. 2. Zawartość relacji do ćwiczeń

Użytkownicy i uprawnienia

Do współpracy z bazą danych wykorzystuj program psql.

  1. Połącz się z bazą danych jako administrator (postgresql). Utwórz dwa nowe konta użytkowników:

    1. nazwa użytkownika: jacek, hasło:123

    2. nazwa użytkownika: placek, hasło: 456

  1. Połącz się z bazą danych jako użytkownik jacek. Utwórz nową relację TELEFONY o następującym schemacie: TELEFONY(ID_OSOBY, IMIE, NUMER_TEL). Wprowadź trzy dowolne krotki do relacji TELEFONY.

  1. Połącz się z bazą danych jako użytkownik placek. Spróbuj wyświetlić wszystkie krotki relacji TELEFONY. Co się stało? Dlaczego?

  1. Połącz się z bazą danych jako użytkownik jacek. Przekaż użytkownikowi placek prawa do odczytu i wprowadzania krotek do relacji TELEFONY.

  1. Połącz się z bazą danych jako użytkownik placek. Spróbuj wyświetlić wszystkie krotki relacji TELEFONY. Spróbuj wprowadzić nową krotkę do relacji TELEFONY. Spróbuj zmienić numer telefonu w dowolnej krotce relacji TELEFONY. Co się stało? Dlaczego?

  1. Połącz się z bazą danych jako użytkownik jacek. Odbierz użytkownikowi placek prawo do wprowadzania krotek do relacji TELEFONY.

  1. Połącz się z bazą danych jako użytkownik placek. Spróbuj wyświetlić wszystkie krotki relacji TELEFONY. Spróbuj wprowadzić nową krotkę do relacji TELEFONY. Co się stało? Dlaczego?

Indeksy B*-drzewo

Do współpracy z bazą danych możesz wykorzystywać dowolny program.

  1. Utwórz relację PIASEK (ID_ZIARENKA SERIAL, MASA_ZIARENKA REAL, KOLOR_ZIARENKA VARCHAR(10)). Wprowadź cztery dowolne krotki do relacji PIASEK. Np.:

id_ziarenka | masa_ziarenka | kolor_ziarenka

-------------+---------------+----------------

1 | 0.025 | szary

2 | 0.021 | czarny

3 | 0.018 | bialy

4 | 0.031 | czarny

(4 rows)

  1. Korzystając z polecenia INSERT SELECT powielaj krotki relacji PIASEK tyle razy, aby posiadała ponad milion krotek. Uwaga: nie zamazuj wartości automatycznie wypełnianego atrybutu ID_ZIARENKA.

select count(*) from piasek;

1048576

  1. Dokonaj pomiaru czasu wykonania zapytania wyświetlającego kolor ziarenka piasku o identyfikatorze 123456.

  1. Dokonaj pomiaru czasu wykonania zapytania wyświetlającego liczbę ziarenek piasku o identyfikatorach pomiędzy 500000 a 500005.

  1. Dokonaj pomiaru czasu wykonania zapytania wyświetlającego liczbę ziarenek piasku o masie 0.025 g.

  1. Utwórz indeks B*-drzewo o nazwie PIASEK_IND oparty na atrybucie ID_ZIARENKA relacji PIASEK.

  1. Ponownie dokonaj pomiaru czasu wykonania zapytania wyświetlającego kolor ziarenka piasku o identyfikatorze 123456. Czy czas ten uległ zmianie? Dlaczego?

  1. Dokonaj pomiaru czasu wykonania zapytania wyświetlającego liczbę ziarenek piasku o identyfikatorach pomiędzy 500000 a 500005. Czy czas ten uległ zmianie? Dlaczego?

  1. Dokonaj pomiaru czasu wykonania zapytania wyświetlającego liczbę ziarenek piasku o masie 0.025 g. Czy czas ten uległ zmianie? Dlaczego?

  1. Usuń indeks B*-drzewo o nazwie PIASEK_IND.

Programowanie funkcji w języku PL/pgSQL

  1. Utwórz funkcję o nazwie CENA_BRUTTO(c REAL), która dla podanej ceny netto wyliczy odpowiadającą jej cenę brutto, powiększoną o 22%. Następnie wykonaj zapytanie, które na podstawie relacji FILMY wyświetli: tytuł filmu, cenę (netto) i cenę brutto.

  1. Utwórz funkcję o nazwie OPIS_FILMU(id INTEGER), która dla podanego identyfikatora filmu wyświetli jego opis zgodnie z poniższym wzorcem:

SELECT OPIS_FILMU(1);

Film “Ghostbusters” zostal nakrecony w roku 1984 przy udziale aktorow: Bill Murray, Dan Aykroyd, Sigourney Weaver.

3



Wyszukiwarka

Podobne podstrony:
ID 974
974
ID 974 LX
Dz U 05 116 974 Warunki techniczne pojazdów specjalnych i p
974
974
Marcello Koncert d moll D minor (aranżacja ob ) BWV 974
974
974
974
ID 974
Marcello Koncert d moll D minor (aranżacja ob ) BWV 974
ID 974
974
T15 2017 (953 974) — kopia
concert 974 p

więcej podobnych podstron