Poziom zaawansowany

Zadanie 4

Na potrzeby kolejnych zadań stwórzmy sobie mini-bazę, składającą się z trzech tabel: Pracownicy (dane pracowników), Działy (informacje o działach firmy) i Flota (samochody w firmie).

Dane do stworzenia tabel – poniżej.

Ja stworzyłam je w schemacie HR.

Screen przedstawia dane wynikowe po połączeniu wszystkich trzech tabel:

 

 

[spoiler title=’Tworzenie tabel’ style=’default’ collapse_link=’true’]

 

— najpierw tworzymy tabelę Dzialy:

CREATE TABLE Dzialy (

id_dzialu INTEGER CONSTRAINT id_dzialu_pk PRIMARY KEY,

nazwa_dzialu VARCHAR2(20) NOT NULL,

stanowisko VARCHAR2(30) NOT NULL,

placa_podstawowa INTEGER NOT NULL

);

— potem tworzymy tabelę Flota:

CREATE TABLE Flota (

id_auta INTEGER CONSTRAINT id_auta_pk PRIMARY KEY,

marka VARCHAR2(20) NOT NULL,

model_auta VARCHAR2(20) NOT NULL,

kolor VARCHAR2(20),

rejestracja VARCHAR2(10)

);

— teraz czas na Pracowników:

CREATE TABLE Pracownicy (

id_prac INTEGER CONSTRAINT id_prac_pk PRIMARY KEY,

imie VARCHAR2(20) NOT NULL,

nazwisko VARCHAR2(20) NOT NULL,

data_zatrudnienia DATE NOT NULL,

data_urodzenia DATE NOT NULL,

data_zakonczenia DATE,

telefon VARCHAR2(9),

premia INTEGER DEFAULT '0′,

id_dzialu INTEGER,

id_auta INTEGER,

CONSTRAINT id_dzialu_fk FOREIGN KEY (id_dzialu) REFERENCES Dzialy(id_dzialu),

CONSTRAINT id_auta_fk FOREIGN KEY (id_auta) REFERENCES Flota(id_auta)

);

— modyfikujemy Flotę dodając powiązania z tabelą Pracowników:

ALTER TABLE Flota

ADD id_prac INTEGER;

ALTER TABLE Flota

ADD CONSTRAINT id_prac_fk FOREIGN KEY (id_prac) REFERENCES Pracownicy(id_prac);

–…i na koniec wypelniamy wszystkie trzy tabelki danymi:

INSERT ALL

INTO Dzialy(id_dzialu, nazwa_dzialu, stanowisko, placa_podstawowa) VALUES (100, 'Zarząd’, 'Prezes’, 7000)

INTO Dzialy(id_dzialu, nazwa_dzialu, stanowisko, placa_podstawowa) VALUES(150, 'Zarząd’, 'Zastępca Prezesa’, 5000)

INTO Dzialy(id_dzialu, nazwa_dzialu, stanowisko, placa_podstawowa) VALUES(200, 'Kadry’, 'Glówny Specjalista’, 3500)

INTO Dzialy(id_dzialu, nazwa_dzialu, stanowisko, placa_podstawowa) VALUES(250, 'Kadry’, 'Mlodszy Specjalista’, 2600)

INTO Dzialy(id_dzialu, nazwa_dzialu, stanowisko, placa_podstawowa) VALUES(300, 'Sprzedaż’, 'Manager Sprzedaży’, 3000)

INTO Dzialy(id_dzialu, nazwa_dzialu, stanowisko, placa_podstawowa) VALUES(350, 'Sprzedaż’, 'Handlowiec’, 2650)

INTO Dzialy(id_dzialu, nazwa_dzialu, stanowisko, placa_podstawowa) VALUES(400, 'Obsluga’, 'Ochrona’, 2500)

INTO Dzialy(id_dzialu, nazwa_dzialu, stanowisko, placa_podstawowa) VALUES(450, 'Obsluga’, 'Sprzątanie’, 2300)

SELECT * FROM dual;

INSERT ALL

INTO Flota(id_auta, marka, model_auta, kolor, rejestracja) VALUES (7, 'Toyota’, 'Yaris’, 'biay’, 'ABC 1258′)

INTO Flota(id_auta, marka, model_auta, kolor, rejestracja) VALUES (8, 'Toyota’, 'Yaris’, 'biay’, 'ABC 2423′)

INTO Flota(id_auta, marka, model_auta, kolor, rejestracja) VALUES (9, 'Toyota’, 'Yaris’, 'czarny’, 'ABB 3537′)

INTO Flota(id_auta, marka, model_auta, kolor, rejestracja) VALUES (10, 'Toyota’, 'Auris’, 'srebrny’, 'ABA 2587′)

INTO Flota(id_auta, marka, model_auta, kolor, rejestracja) VALUES (11, 'Suzuki’, 'SX4′, 'srebrny’, 'CBC 3285′)

INTO Flota(id_auta, marka, model_auta, kolor, rejestracja) VALUES (12, 'Suzuki’, 'SX4′, 'czerwony’, 'ABA 8327′)

SELECT * FROM dual;

INSERT ALL

INTO Pracownicy(id_prac, imie, nazwisko, id_dzialu, id_auta, premia, data_zatrudnienia, data_urodzenia, data_zakonczenia, telefon)

VALUES (1, 'Anna’, 'Kowalska’, 100, 12, 1600, '2005-10-19′, '1975-12-03′, null, '776776776′)

INTO Pracownicy(id_prac, imie, nazwisko, id_dzialu, id_auta, premia, data_zatrudnienia, data_urodzenia, data_zakonczenia, telefon)

VALUES (2, 'Jaromir’, 'Cieśla’, 150, 11, 1300, '2005-10-19′, '1978-10-05′, null, '775775775′)

INTO Pracownicy(id_prac, imie, nazwisko, id_dzialu, id_auta, premia, data_zatrudnienia, data_urodzenia, data_zakonczenia, telefon)

VALUES (3, 'Janina’, 'Nowak’, 200, null, 950, '2005-10-19′, '1966-02-15′, null, '774774774′)

INTO Pracownicy(id_prac, imie, nazwisko, id_dzialu, id_auta, premia, data_zatrudnienia, data_urodzenia, data_zakonczenia, telefon)

VALUES (4, 'Amelia’, 'Beryl’, 250, null, 600, '2007-06-23′, '1987-07-13′, null, '773773773′)

INTO Pracownicy(id_prac, imie, nazwisko, id_dzialu, id_auta, premia, data_zatrudnienia, data_urodzenia, data_zakonczenia, telefon)

VALUES (5, 'Jacek’, 'Onyks’, 300, 10, 500, '2005-10-30′, '1982-08-09′, null, '772772772′)

INTO Pracownicy(id_prac, imie, nazwisko, id_dzialu, id_auta, premia, data_zatrudnienia, data_urodzenia, data_zakonczenia, telefon)

VALUES (6, 'Ernest’, 'Opal’, 350, 7, 500, '2009-05-01′, '1976-07-05′, null, '771771771′)

INTO Pracownicy(id_prac, imie, nazwisko, id_dzialu, id_auta, premia, data_zatrudnienia, data_urodzenia, data_zakonczenia, telefon)

VALUES (7, 'Anna’, 'Nowakowska’, 350, 8, 400, '2010-06-05′, '1985-11-04′, null, '770770770′)

INTO Pracownicy(id_prac, imie, nazwisko, id_dzialu, id_auta, premia, data_zatrudnienia, data_urodzenia, data_zakonczenia, telefon)

VALUES (8, 'Jan’, 'Rębacz’, 350, null, 0, '2015-10-01′, '1973-05-12′, null, '779779779′)

INTO Pracownicy(id_prac, imie, nazwisko, id_dzialu, id_auta, premia, data_zatrudnienia, data_urodzenia, data_zakonczenia, telefon)

VALUES (9, 'Roman’, 'Kowal’, 400, null, 300, '2008-08-01′, '1953-07-09′, null, '778778778′)

INTO Pracownicy(id_prac, imie, nazwisko, id_dzialu, id_auta, premia, data_zatrudnienia, data_urodzenia, data_zakonczenia, telefon)

VALUES (10, 'Stefan’, 'Rolnik’, 400, null, 350, '2009-09-01′, '1966-08-17′, null, '778778778′)

INTO Pracownicy(id_prac, imie, nazwisko, id_dzialu, id_auta, premia, data_zatrudnienia, data_urodzenia, data_zakonczenia, telefon)

VALUES (11, 'Renata’, 'Gąbka’, 450, null, 400, '2011-06-15′, '1968-09-09′, null, '765765765′)

SELECT * FROM dual;

 

[/spoiler]

Alexandretta

Kobieta gracz. Po godzinach pracy, z zapałem i piekielnymi ognikami w oczach biega po lochach i tłucze bogu ducha winne zombie czy inne szkielety. Miłośniczka wszelkiej maści cRPG. Notoryczne problemy z wyborem klasy i rasy, bo wszystko fajne... W chwilach zwątpienia zatraca się przy dźwiękach mieczy, roztrzaskiwanych tarcz i okrzyków bojowych, słuchając wiking metalu z zimnej, niegościnnej, odległej Skandynawii. Czasem zdarzy jej się pograć w jakąś strategię bądź nawet w FPP, ale tylko na easy, żeby nie psuć sobie niepotrzebnie nerwów.

Related Articles

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.

Back to top button