4393


Bazy danych I: ćwiczenia z języka SQL

0x01 graphic

Rys.1. Struktura relacji do ćwiczeń

0x01 graphic

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

Tworzenie relacji

  1. Wyświetl strukturę relacji FILMY.

Table "public.filmy"

Column | Type | Modifiers

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

id_filmu | integer |

tytul | character varying(40) |

rok_produkcji | integer |

cena | real |

  1. Utwórz relację KSIAZKI o następującej strukturze:

    1. ID_KSIAZKI - liczba całkowita

    2. TYTUL - łańcuch znakowy, maksymalnie 30 znaków (zmienna dł.)

    3. AUTOR - łańcuch znakowy, maksymalnie 30 znaków (zmienna dł.)

    4. ROK_WYDANIA - liczba całkowita

  1. Wstaw dwie nowe krotki do relacji KSIAZKI.

id_ksiazki | tytul | autor | rok_wydania

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

1 | Pan Tadeusz | Adam Mickiewicz | 1995

2 | Krzyzacy | Henryk Sienkiewicz | 1990

(2 rows)

  1. Wyświetl strukturę relacji KSIAZKI.

Table "public.ksiazki"

Column | Type | Modifiers

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

id_ksiazki | integer |

tytul | character varying(30) |

autor | character varying(30) |

rok_wydania | integer |

  1. Usuń relację KSIAZKI.

Ograniczenia integralnościowe

  1. Utwórz relację OSOBY o następującej strukturze:

    1. PESEL łańcuch znakowy 11-znakowy (stała dł.)

    2. IMIE łańcuch znakowy 15-znakowy (zmienna dł.)

    3. NAZWISKO łańcuch znakowy 15-znakowy (zmienna dł.)

    4. DATA_URODZENIA data

Ponadto, podczas tworzenia nowej relacji zdefiniuj następujące ograniczenia integralnościowe:

    1. PESEL musi liczyć dokładnie 11 znaków

    2. pierwsze dwie cyfry numeru PESEL muszą być takie same, jak ostatnie dwie cyfry roku w atrybucie DATA_URODZENIA

    3. kolejne dwie cyfry numery PESEL muszą być takie same, jak numer miesiąca w atrybucie DATA_URODZENIA

    4. kolejne dwie cyfry numeru PESEL muszą być takie same, jak numer dnia w atrybucie DATA_URODZENIA

    5. atrybut PESEL jest kluczem głównym relacji

    6. atrybuty IMIĘ i NAZWISKO muszą być wypełnione (niepuste)

  1. Do relacji OSOBY wstaw następujące krotki. Czy operacje się powiodły? Dlaczego?

    1. `39090100001','Jan','Kowalski','1939-09-01'

    2. `750218','Adam','Nowak','1975-02-18'

    3. `75021800123','Adam','Nowak','1975-02-20'

    4. `75021800123','Adam','Nowak','1975-02-18'

  1. Utwórz relację FAKTURY o następującej strukturze:

    1. NUMER liczba całkowita, generowana automatycznie, klucz główny

    2. PESEL łańcuch znakowy 11-znakowy, klucz obcy do relacji OSOBY

    3. KWOTA liczba rzeczywista 8-cyfrowa, 2 cyfry po przecinku, większa od zera

  1. Do relacji FAKTURY wstaw następujące krotki. Czy operacje się powiodły? Dlaczego?

    1. PESEL='39090100001', KWOTA=123.45

    2. PESEL='39090199999', KWOTA=678.90

    3. PESEL='39090100001', KWOTA=1234567890

    4. PESEL=`75021800123'

    5. NUMER=1, PESEL='39090100001', KWOTA=123.45

  1. Wyświetl pełną zawartość relacji FAKTURY.

numer | pesel | kwota

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

1 | 39090100001 | 123.5

2 | 75021800123 |

(2 rows)

  1. Wyświetl numery faktur i figurujące na nich kwoty. W przypadku braku kwoty faktury wyświetl 0.

numer | kwota

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

1 | 123.5

2 | 0

(2 rows)

  1. Wyświetl numery faktur i numery PESEL dla tych faktur, na których zabrakło kwoty.

numer | pesel

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

2 | 75021800123

(1 rows)

  1. Z relacji OSOBY usuń krotkę opisującą osobę o imieniu `Jan'. Co się stało? Dlaczego?

  1. W relacji FAKTURY w dowolny sposób zmodyfikuj numer PESEL osoby o imieniu `Jan'. Co się stało? Dlaczego?

  1. Usuń relację OSOBY.

  1. Usuń relację FAKTURY.

  1. Utwórz relację MOJE_FILMY o takiej samej strukturze jak istniejąca relacja FILMY.

  1. Z relacji FILMY przekopiuj do relacji MOJE_FILMY te krotki, które dotyczą filmów wyprodukowanych przed rokiem 1990.

baza1=# SELECT * FROM MOJE_FILMY;

id_filmu | tytul | rok_produkcji | cena

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

2 | Ghostbusters | 1984 | 5.5

3 | Terminator | 1984 | 8.5

5 | Pluton | 1986 | 5

6 | Frantic | 1988 | 8.5

4 | Taksowkarz | 1976 | 5.5

(5 rows)

  1. Usuń relację FILMY.

4



Wyszukiwarka

Podobne podstrony:
arkusz Matematyka poziom r rok 2010 4393 MODEL
arkusz Matematyka poziom r rok 2010 4393
praca-licencjacka-b7-4393, Dokumenty(8)
03 kierzkowskiid 4393 Nieznany (2)
4393
4393
4393
4393
4393
4393
4393
arkusz Matematyka poziom r rok 2010 4393 MODEL
arkusz Matematyka poziom r rok 2010 4393 MODEL
arkusz Matematyka poziom r rok 2010 4393

więcej podobnych podstron