Imię:
Transkrypt
Imię:
Ćwiczenie Poniżej zamieszczono diagram bazy przechowującej informacje o państwach, ich ustrojach politycznych i językach urzędowych. 1. Na podstawie diagramu utwórz bazę danych o następujących tabelach: USTROJE_POLITYCZNE ID NAZWA NOT NULL NUMBER(3) VARCHAR2(45) JEZYKI ID NAZWA NOT NULL NUMBER(3) VARCHAR2(20) PAŃSTWA ID NAZWA POWIERZCHNIA LUDNOSC STOLICA DEWIZA DATA_ODZYSKANIA_NIEPODLEGLOSCI ID_USTROJU FK NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NUMBER(3) VARCHAR2(50) NUMBER NUMBER VARCHAR2(30) VARCHAR2(60) DATE NUMBER(3) PANSTWA_JEZYKI ID_PANSTWA ID_JEZYKA FK FK NUMBER(3) NUMBER(3) Pogrubione nazwy oznaczają kolumny klucza głównego tabel, a symbole FK kolumny kluczy obcych. Przyjmij dodatkowo, że − − nazwy języków mają być unikalne, powierzchnia i ludnosc muszą być liczbami dodatnimi. Wszystkim ograniczeniom (poza ograniczeniami dotyczącymi konieczności wypełniania pól) nadaj nazwy (tzn. nie pozwól, aby system generował te nazwy automatycznie). Zwróć uwagę na ograniczenia nie pozwalające na przechowywanie w pewnych kolumnach wartości NULL wynikające z diagramu. 2. Utwórz indeks na kolumnie NAZWA w tabeli PANSTWA. 3. Utwórz indeks unikalny na kolumnie NAZWA w tabeli USTROJE_POLITYCZNE. 4. Wyświetl informacje o ograniczeniach nałożonych na tabelę PANSTWA. 5. Wyświetl informacje o indeksach stworzonych dla tabeli USTROJE_POLITYCZNE. 6. Wyświetl informacje o indeksach stworzonych dla tabeli JEZYKI. 7. Wpisz do tabel dane wykorzystując poniższe informacje. Uwaga: utwórz sekwencję panstwa_sekw i wykorzystaj ją do wstawiania wierszy do kolumny PANSTWA. Tabela USTROJE_POLITYCZNE 1 2 3 4 5 REPUBLIKA PARLAMENTARNA MONARCHIA KONSTYTUCYJNA REPUBLIKA FEDERALNA REPUBLIKA MONARCHIA PARLAMENTARNA Tabela JEZYKI 1 2 3 4 5 6 7 8 9 ANGIELSKI NIEMIECKI FRANCUSKI SUAHILI WŁOSKI CZESKI POLSKI ROMANSZ HISZPAŃSKI Dane dotyczące tabeli PANSTWA i PANSTWA_JĘZYKI ID NAZWA POWIERZCHNIA LUDNOŚĆ STOLICA DEWIZA 1 CZECHY 78866 10507566 PRAGA 2 SZWAJCARIA 41290 7725200 3 KENIA 582650 4 POLSKA 5 WIELKA BRYTANIA USTRÓJ POLITYCZNY JEZYKI URZĘDOWE PRAWDA ZWYCIĘŻA republika parlamentarna CZESKI ZURYCH JEDEN ZA 24.10.1648 WSZYSTKICH, WSZYSCY ZA JEDNEGO republika federalna NIEMIECKI FRANCUSKI WŁOSKI ROMANSZ 37953840 NAIROBI PRACUJMY RAZEM 12.12.1963 republika SUAHILI ANGIELSKI 322575 38173000 WARSZAWA 11.11.1918 republika parlamentarna POLSKI 244820 62300000 LONDYN monarchia parlamentarna ANGIELSKI BÓG I MOJE PRAWO DATA ODZYSKANIA NIEPODLEGŁOŚCI 8. Po wstawieniu danych zatwierdź zmiany. 9. Wyświetl kolejno zawartość poszczególnych tabel. 10. Zmień ludność Polski na 38538447. 11. Zmień powierzchnię Polski na 312679 (powierzchnia administracyjna). 12. Zatwierdź zmiany. 13. W kolumnie STOLICA zmień Warszawę na Kraków. Wyświetl nazwy stolic wszystkich państw. 14. Wycofaj zmianę. Wyświetl nazwy stolic wszystkich państw. 15. Spraw, aby kolumna STOLICA nie była wymagana i w miejsce stolicy Szwajcarii wpisz wartość pustą. 16. Jako stolicę Szwajcarii wpisz BERNO i spraw, aby kolumna STOLICA na nowo była wymagana. 17. Jak zareaguje system, jeśli spróbujesz usunąć z tabeli JĘZYKI język angielski? A język hiszpański? 18. Usuń wiersz zawierający dane Kenii. Jeśli potrzeba usuń najpierw rekordy pokrewne. 19. Zmień nazwę tabeli PANSTWA na PANSTWA_EUROPEJSKIE. Wyświetl informacje o ograniczeniach nałożonych na tabelę PANSTWA_EUROPEJSKIE. 20. Zmień nazwę kolumny POWIERZCHNIA na POWIERZCHNIA_ADMINISTRACYJNA. Wyświetl informacje o kolumnach tabeli PANSTWA_EUROPEJSKIE. 21. Jak zareaguje system, gdy spróbujemy wstawić do tabeli USTROJE_POLITYCZNE wiersz z identyfikatorem 9 i nazwą REPUBLIKA? 22. Utwórz nową tabelę PANSTWA2 zawierającą tylko nazwy państw, których powierzchnia administracyjna przekracza 100 000 km2. Wyświetl zawartość tej tabeli. 23. Do tabeli PANSTWA2 dodaj wymaganą kolumnę CZY_DANE_AKTUALNE (zawierającą jedną literę) o wartości domyślnej T. Wyświetl zawartość tabeli. 24. Dodaj do tabeli PANSTWA2 ograniczenie, CZY_DANE_AKTUALNE małej litery. które nie pozwoli wpisać do kolumny 25. Jak zareaguje system, gdy spróbujemy zmienić zawartość kolumny CZY_DANE_AKTUALNE na „t” w wierszu zawierającym dane Polski? 26. Usuń ostatnio wprowadzone ograniczenie typu CHECK. 27. Usuń kolumnę CZY_DANE_AKTUALNE. 28. W tabeli PANSTWA2 dołóż ograniczenie unikalności kolumny NAZWA. 29. Obetnij tabelę PANSTWA2. 30. Usuń indeks utworzony na kolumnie NAZWA w tabeli PANSTWA_EUROPEJSKIE. 31. Napisz polecenia, które usunęłyby wszystkie ze stworzonych w tym ćwiczeniu tabel oraz utworzoną sekwencję.