Download as pdf or txt
Download as pdf or txt
You are on page 1of 1

Zadanie 1:

create index PLACA ON pracownicy (placa_pod, placa_dod) compress


//Wszystkie operacje dla których beda zapytania przedzialowe dla pierwszego argumentu placa_pod, a drugiego
placa_dod, np:
select * from pracownicy where PLACA_POD > 1000 and PLACA_DOD is null
//oraz dla zapytan tylko na pierwsza kolumne w indeksie zlozonym, np:
select * from pracownicy where PLACA_POD > 2000

Zadanie 2:
create view wybrani_pracownicy (identyfikator, nazwisko, roczne_zarobki, identyfikator_szefa, nazwisko_szefa,
etat_szefa) as
select child.id_prac, child.nazwisko, (child.PLACA_POD + isnull(child.PLACA_DOD, 0)) * 12 as roczne_zarobki,
parent.ID_PRAC, parent.nazwisko, parent.etat
from PRACOWNICY AS child join PRACOWNICY AS parent on child.ID_SZEFA = parent.ID_PRAC
where (child.PLACA_DOD <> null and child.NAZWISKO like '[N-Z]%' and ((child.PLACA_POD +
isnull(child.PLACA_DOD, 0)) * 12 < 20000 and (child.PLACA_POD + isnull(child.PLACA_DOD,0)) * 12 > 40000))
union
select ID_PRAC, NAZWISKO, (PLACA_POD + isnull(PLACA_POD,0)) * 12 as roczne_zarobki, null, null, null from
PRACOWNICY
where ID_SZEFA is null

Zadanie 3:
create view szefowie_wybranych (id_pracownika, nazwisko_pracownika, nazwisko_szefa) as
select W.identyfikator, W.nazwisko, W.nazwisko_szefa
from wybrani_pracownicy W
where W.identyfikator_szefa in
(
select I.identyfikator_szefa
from wybrani_pracownicy I
group by I.identyfikator_szefa
having count(I.identyfikator_szefa) > 1
)

Zadanie 4:
Perspektywa nie bedzie dzialac, bedzie wyswietlac blad:
Msg 208, Level 16, State 1, Procedure szefowie_wybranych, Line 3 [Batch Start Line 0]
Invalid object name 'wybrani_pracownicy'.
Msg 4413, Level 16, State 1, Line 5
Could not use view or function 'test.dbo.szefowie_wybranych' because of binding errors.

Razem z CASCADE usuwa wszystkie inne perspektywy powiazane z usuwanym.


Razem z RESTRICT nie pozwoli usunac perspektywy, gdy inna jest z nia powiazana

Zadanie 5:
alter table pracownicy alter column nazwisko varchar(15) not null

....

You might also like