Bazy wzor K id 735793 Nieznany (2)

background image

Kolokwium – Bazy danych, SQL

Nazwisko:

WZÓR

WZÓR

WZÓR

WZÓR

WZÓR

WZÓR

Imię:

indeks:

Dane są następujące tabele Książka i Autor:

[Ksiazka]
id | tytuł | wydawca | id_a | nakład
----+-----------------------+---------+-------+--------
1 | Naprzód Polsko | Rebus | KOZ | 1620
2 | Panna Maria | KKO | SZER |
3 | Panna Maria | Aurora | KOZ | 1740
4 | Pod palmami | Aurora | KOZ | 1850
5 | Najnowsza historia K. | Iskra | SZER | 2402

[Autor]
id | imie | nazwisko | miasto
-------+---------+------------+-----------
SZER | Janina | Szerszeń | Gdynia
DANA | Danuta | Prus | Wejherowo
PRUS | Antoni | Pruszyński | Sopot
KOZ | Tadeusz | Kozłowski | Sopot

'id' jest kluczem głównym w tabeli Książka, jest nadawany automatycznie jako kolejna liczba
naturalna, 'id_a' jest kluczem obcym w tabeli Książka wskazującym na klucz główny 'id' w tabeli
Autor.

Zad. 1. Zapisz w SQL definicje tych tabel (tylko definicje, nie konkretn tre

).

ą

ść

Zad. 2. Wstaw do ka dej z tabel drugi od góry wiersz z odpowiedniej tabeli powy ej.

ż

ż

create table Autor(

id varchar(4) primary key,

imie varchar(22),

nazwisko varchar(22),

miasto varchar(22)

);

create table Ksiazka(

id serial,

tytul varchar(22),

wydawca varchar(22),

id_a varchar(4) references Autor(id),

naklad integer

);

insert into Autor (id,imie,nazwisko,miasto)

values('DANA','Danuta','Prus','Wejherowo');

insert into Ksiazka(tytul,wydawca,id_a,naklad)

values('Panna Maria','KKO','SZER',NULL);

background image

Odwołujemy się do treści tabel podanej w zad.1

Zad. 3. Jak b dzie wygl da wynik zapytania

ę

ą ł

SELECT id_a, COUNT(*) AS liczba_książek FROM Ksiazka GROUP BY id_a

HAVING COUNT(*)>1;

Zad. 4. Jak b dzie wygl da wynik zapytania

ę

ą ł

SELECT tytul,wydawca from Ksiazka

WHERE id_a IN (SELECT id FROM Autor WHERE miasto='Sopot');

id_a | liczba_książek

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

SZER | 2

KOZ | 3

(2 rows)

tytul | wydawca

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

Naprzód Polsko | Rebus

Panna Maria | Aurora

Pod palmami | Aurora

(3 rows)

Zad. 5. Zmie definicj tabel z zad. 1 wstawiaj c dodatkowy atrybut dla daty wydania

ń

ę

ą

w tabeli ksi

ek. W kolumnie ustaw dat dzisiejsz .

ąż

ę

ą

Zad. 6. Usu z systemu tabel autorów.

ń

ę

alter table Ksiazka add column data_wyd date default

date('2008-05-24')

;

drop table Autor cascade

;

background image

Posługując się strukturą tabel z zad. 1 skonstruuj zapytania SQL wykonujące polecenia opisane
poniżej. Zapytania powinny zwracać poprawne wyniki bez względu na to jakie dane znajdują się w
tabelach (tzn. nie mogą odwoływać się bezpośrednio do konkretnych danych).

Zad. 7. Zwi ksz o 300 egzemplarzy nak ad wszystkim ksi

kom Koz owskiego.

ę

ł

ąż

ł

Zad. 8. Wypisz w kolejno ci alfabetycznej i bez powtórze wydawców ksi

ek

ś

ń

ąż

Koz owskiego.

ł

Zad. 9. Wypisz nazwiska autorów, którzy nie napisali adnych ksi

ek.

ż

ąż

Zad. 10. Usu takich autorów z bazy danych.

ń

Zad. 11. Podaj najwi kszy nak ad spo ród ksi

ek autorów sopockich.

ę

ł

ś

ąż

Zad. 12. Podaj tytu i wydawc ksi

ki autora z Sopotu o najwi kszym nak adzie.

ł

ę

ąż

ę

ł

Zad. 13. Usu z bazy autorów sopockich, ale tylko je li nie napisali adnej ksi

ki.

ń

ś

ż

ąż

zad.7 update Ksiazka set naklad=naklad+300 WHERE id_a IN (select id

from Autor where nazwisko like'Kozłowski');

zad.8 select distinct wydawca from Ksiazka WHERE id_a IN (select id

from Autor where nazwisko like'Kozłowski');

zad.9 select nazwisko from Autor where id not in (select id_a from

Ksiazka);

select nazwisko from autor left join ksiazka on id_a=autor.id

where id_a is null;

select nazwisko from Autor where not exists (select 1 from

Ksiazka where id_a=Autor.id);

zad.10 delete from Autor where id not in (select id_a from Ksiazka);

zad.11 select max(naklad) from Ksiazka K inner join

Autor A on K.id_a=A.id where miasto='Sopot';

zad.12 select tytul,wydawca from Ksiazka K inner join Autor A on

K.id_a=A.id

where miasto='Sopot'and naklad=(

select max(naklad) from Ksiazka K inner join

Autor A on K.id_a=A.id where miasto='Sopot'

);

zad.13 delete from Autor where miasto='Sopot' and id not in (select

id_a from Ksiazka);


Wyszukiwarka

Podobne podstrony:
Bazy wzor W id 735795 Nieznany (2)
Bazy wzor A id 735792 Nieznany (2)
Bazy wzor L id 735794 Nieznany (2)
BAZY DANYCH 4 id 81365 Nieznany (2)
Bazy danych id 81339 Nieznany (2)
kontrakt socjalny wzor id 24685 Nieznany
PROJEKT WZOR 2 id 399817 Nieznany
Bazy Danych id 81350 Nieznany (2)
Bazy danych id 81382 Nieznany (2)
Bazy danych1 id 81730 Nieznany (2)
lab13 Bazy Danych4 id 750409 Nieznany
bazy danych 3 id 81389 Nieznany
lekcje bazy kwerendy id 265677 Nieznany
BAZY DANYCH 4 id 81365 Nieznany (2)
bazy danych druga id 81754 Nieznany (2)
Bazy danych kolo 2 1 id 81756 Nieznany
Bazy 2 id 81307 Nieznany (2)
BAZY id 81304 Nieznany (2)

więcej podobnych podstron