• Nie Znaleziono Wyników

Język SQL. Rozdział 9. Język definiowania danych DDL, część 1. – zadania

N/A
N/A
Protected

Academic year: 2021

Share "Język SQL. Rozdział 9. Język definiowania danych DDL, część 1. – zadania"

Copied!
3
0
0

Pełen tekst

(1)

1

Język SQL. Rozdział 9.

Język definiowania danych DDL, część 1. – zadania

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

Nazwa atrybutu Typ wartości Rozmiar Dodatkowe własności atrybutu ID_PROJEKTU Liczba całkowita 4 wartości generowane automatycznie (klauzula

GENERATED ALWAYS AS IDENTITY) OPIS_PROJEKTU Łańcuch znaków

zmiennej długości

20

DATA_ROZPOCZECIA Data Domyślnie data systemowa DATA_ZAKONCZENIA Data

FUNDUSZ Liczba 7,2

SQL> create table PROJEKTY...

2. Wstaw do relacji PROJEKTY dwa rekordy:

Nazwa atrybutu 1. rekord 2. rekord

OPIS_PROJEKTU Indeksy bitmapowe Sieci kręgosłupowe DATA_ROZPOCZECIA 2 kwietnia 1999 r. Wartość domyślna DATA_ZAKONCZENIA 31 sierpnia 2001 r.

FUNDUSZ 25 000 19 000

SQL> insert into PROJEKTY...

3. Sprawdź, wykonując odpowiednie zapytanie, jakie wartości zostały umieszczone w atrybucie ID_PROJEKTU relacji PROJEKTY w dodanych rekordach.

SQL> select...

ID_PROJEKTU OPIS_PROJEKTU --- --- 1 Indeksy bitmapowe 2 Sieci kręgosłupowe

4. Spróbuj wstawić do relacji PROJEKTY trzeci rekord, tym razem jawnie podaj wartość dla atrybutu ID_PROJEKTU:

Nazwa atrybutu Rekord

ID_PROJEKTU 10

OPIS_PROJEKTU Indeksy drzewiaste DATA_ROZPOCZECIA 24 grudnia 2013 r.

DATA_ZAKONCZENIA 1 stycznia 2014 r.

FUNDUSZ 1 200

SQL> insert into PROJEKTY...

Czy polecenie zakończyło się sukcesem? Jeśli nie, wykonaj je w taki sposób, aby definicja projektu zakończyła się powodzeniem (pomiń podanie wartości dla ID_PROJEKTU).

(2)

2 SQL> insert into PROJEKTY...

SQL> select...

ID_PROJEKTU OPIS_PROJEKTU --- --- 1 Indeksy bitmapowe 2 Sieci kręgosłupowe 3 Indeksy drzewiaste

5. Spróbuj zmienić aktualną wartość w atrybucie ID_PROJEKTU relacji PROJEKTY w rekordzie opisującym projekt o nazwie „Indeksy drzewiaste” na wartość 10. Czy operacja się powiodła?

SQL> update PROJEKTY...

6. Utwórz kopię relacji PROJEKTY o nazwie PROJEKTY_KOPIA. Nowa relacja ma być identyczna zarówno pod względem struktury i jak i danych z relacją PROJEKTY. Użyj polecenia CREATE TABLE … AS SELECT …. Sprawdź zawartość nowo utworzonej relacji.

SQL> create table PROJEKTY_KOPIA...

SQL> select...

ID_PROJEKTU OPIS_PROJEKTU DATA_ROZPOCZECIA DATA_ZAKONCZENIA FUNDUSZ --- --- --- --- --- 1 Indeksy bitmapowe 1999-04-02 2001-08-31 25000 2 Sieci kręgosłupowe 2017-02-21 19000 3 Indeksy drzewiaste 2013-12-24 2014-01-01 1200

7. Do relacji PROJEKTY_KOPIA dodaj nowy rekord:

Nazwa atrybut Rekord

ID_PROJEKTU 10

OPIS_PROJEKTU Sieci lokalne DATA_ROZPOCZECIA Data systemowa DATA_ZAKONCZENIA Data systemowa + 1 rok

FUNDUSZ 24 500

SQL> insert into PROJEKTY_KOPIA...

Dlaczego to polecenie zakończyło się sukcesem (porównaj z p. 4.)?

8. Usuń z relacji PROJEKTY rekord opisujący projekt o nazwie „Indeksy drzewiaste”. Czy rekord, opisujący usunięty projekt, został również automatycznie usunięty z relacji PROJEKTY_KOPIA?

SQL> delete PROJEKTY...

SQL> select...

(3)

3

9. Sprawdź w słowniku bazy danych, jakie relacje posiadasz w swoimi schemacie.

SQL> select...

TABLE_NAME ---

ETATY PRACOWNICY PROJEKTY PROJEKTY_KOPIA ZESPOLY

Cytaty

Powiązane dokumenty

SYSTEMY EKSPERCKIE HAPKE SYSTEMY EKSPERCKIE SLOWINSKI SYSTEMY EKSPERCKIE ZAKRZEWICZ SYSTEMY ROZPROSZONE BRZEZINSKI SYSTEMY ROZPROSZONE JEZIERSKI SYSTEMY ROZPROSZONE

• ANY/SOME – warunek jest prawdziwy jeśli jest spełniony dla jakiejkolwiek wartości zwróconej przez podzapytanie. • ALL – warunek jest prawdziwy jeśli jest spełniony

Zmodyfikuj treść poprzedniego zapytania w taki sposób, aby zamiast identyfikatora zespołu pojawiła się jego nazwa.. Wyświetl nazwisko, etat i datę zatrudnienia

Użyj tylko podzapytań w klauzuli FROM: pierwsze ma znaleźć maksymalną sumaryczną płacę wśród zespołów (pojedyncza wartość), drugie wyliczy sumę płac w każdym zespole

Dla każdego pracownika podaj jego nazwisko, płacę podstawową oraz różnicę między jego płacą podstawową a średnią płacą podstawową w zespole, do którego

Ustaw wszystkim pracownikom zespołu BAZY DANYCH pracownika o nazwisku MORZY jako szefa (zapytanie, wyszukujące w relacji PRACOWNICY identyfikator pracownika

• jeśli podano listę nazw atrybutów nowej relacji to lista atrybutów w klauzuli SELECT zapytania musi się pokrywać z tą listą.

• Alternatywa 2.: jeśli dla usuwanego rekordu relacji nadrzędnej istnieją w relacji podrzędnej rekordy powiązane, usunięty zostaje rekord relacji nadrzędnej a w