• Nie Znaleziono Wyników

Tworzenie tabel

N/A
N/A
Protected

Academic year: 2021

Share "Tworzenie tabel"

Copied!
1
0
0

Pełen tekst

(1)

Tworzenie tabel

1. Utworzyć tabelę „miasto”, posiadającą klucz główny (np. id_miasta) oraz atrybut

„nazwa”.

CREATE TABLE miasto (

id_miasta INTEGER NOT NULL, nazwa VARCHAR2(50) NOT NULL, PRIMARY KEY (id_miasta)

);

2. Utworzyć tabelę „osoba” posiadającą atrybuty: nazwisko, wiek, adres oraz id_miasta, które jest kluczem obcym z tabeli miasto.

CREATE TABLE osoba (

id_osoby INTEGER PRIMARY KEY, id_miasta INTEGER NOT NULL, nazwisko VARCHAR2(50) NOT NULL, adres VARCHAR2(100) NULL, wiek INTEGER NULL,

FOREIGN KEY (id_miasta) REFERENCES Miasto );

Modyfikowanie tabeli

3. Dodać pole „zawod” do tabeli osoba.

ALTER TABLE osoba

ADD (zawod VARCHAR2(20) NULL);

Wstawianie danych

4. Wstawić kilka przykładowych miast do tabeli „miasto”.

INSERT INTO miasto (id_miasta, nazwa) VALUES (1, ‘Warszawa’);

Należy pamiętać, aby wartości klucza głównego (id_miasta) były unikalne.

5. Wstawić kilka osób do tabeli „osoba”.

INSERT INTO osoba (id_osoby, id_miasta, nazwisko, adres, wiek, zawod) VALUES (1, 1, ‘Kowalski’, ‘Koszykowa 86’, 24, ‘Informatyk’);

6. Wstawić do tabeli osoba wszystkich pracowników z tabeli emp. Dla brakujących pól (wiek, id_miasta, adres) można przyjąć stałą wartość dla wszystkich rekordów lub wartość NULL.

INSERT INTO osoba (id_osoby, id_miasta, nazwisko, adres, wiek, zawod) SELECT empno, 1, ename, NULL, 30, job FROM emp;

(2)

Modyfikacja danych

7. Zmienić dowolnie wiek oraz adres osobom, które mają mniej niż 30 lat.

UPDATE osoba SET wiek = 50,

adres = ‘Nowogrodzka 100’

WHERE wiek < 30;

Perspektywy

8. Utworzyć perspektywę „niepełnoletni”, wybierającą osoby mające mniej niż 18 lat.

CREATE VIEW niepelnoletni AS

SELECT id_miasta, nazwisko, adres, wiek, zawod FROM osoba;

Sprawdzić działanie tej perspektywy wybierając z niej dane i przeprowadzając modyfikację danych.

SELECT * FROM niepelnoletni;

UPDATE niepelnoletni SET adres = ‘aaa’;

Usuwanie danych

9. Usunąć wszystkie osoby, których nazwisko zaczyna się na literę P.

DELETE FROM osoba

WHERE nazwisko LIKE ‘P%’;

Perspektywa WITH CHECK OPTION

10.Utworzyć perspektywę zwracającą wszystkich pracowników zarabiających powyżej 1000 z użyciem opcji WITH CHECK OPTION. Sprawdzić, czy da się zmniejszyć pensję o 400 i czy da się zwiększyć pensję o dowolną wartość.

CREATE VIEW bogaci AS

SELECT * FROM emp WHERE sal > 1000 WITH CHECK OPTION;

UPDATE bogaci SET sal = sal – 400;

UPDATE bogaci SET sal = sal + 400;

(3)

UNIQUE

11.Do tabeli „osoba” dodać pole „PESEL” z opcją UNIQUE. Sprawdzić wstawiając kilka rekordów, czy unikalność numerów PESEL będzie rzeczywiście sprawdzana.

ALTER TABLE osoba ADD (PESEL VARCHAR2(11) UNIQUE);

CHECK

12.Do tabeli „osoba” dodać warunek CHECK, który będzie pilnował, aby wiek nie był większy nić 120. Czy da się wstawić osobę starszą niż 120 lat?

ALTER TABLE osoba ADD (CHECK (wiek<=120));

Usuwanie obiektów bazy danych

13.Usunąć obie stworzone tabele oraz perspektywę.

DROP VIEW niepelnoletni;

DROP VIEW bogaci;

DROP TABLE osoba;

DROP TABLE miasto;

Ważne jest, aby usuwać tabele w takiej kolejności, ponieważ nie można usunąć tabeli miasto, dopóki są jakieś powiązane rekordy w tabeli osoba.

Cytaty

Powiązane dokumenty

Zimmer Biomet Polska Sp. gwarancje, terminy piatności — Zgodnie z SiWZ.. Lima Polska Sp.. Impiantcast Polska

Wybrać nazwiska, stanowiska pracy, płacę i numery departamentów wszystkich zatrudnionych na stanowisku CLERK.. SELECT ename, job, sal, deptno FROM emp WHERE job

W miarę jak osoby ludzkie poznają coraz lepiej świat i same siebie, zaczynają preferować coraz głębsze kryteria wartości, w oparciu o które mogą wyjść poza

Wykorzystując Kreator formularzy przygotuj formularz Czytelnicy_fm służący do wprowadzania danych do tabeli Czytelnicy z jednoczesną możliwością wypożyczania

Nauczyciel prosi uczniów o włączenie komputerów i otworzenie programu

Nauczyciel objaśnia podstawowe pojęcia związane z tworzeniem tabel: wiersz, kolumna, komórka.. Nauczyciel tłumaczy na czym polega formatowanie tabel i objaśnia sposoby

Wynikiem zapytania mają być nazwy modeli , oraz ich moc i moment modeli dla których moc cena średnia jest większa niż 150.000. SELECT nazwa, moc, moment FROM model WHERE cena

Wyświetl imiona, nazwiska i pensje wszystkich pracowników (wybór pól z dwóch tabel: w tabeli pracownicy znajduje pola imie i nazwisko, a w tabeli stanowiska