Zrealizuj w PL/SQL następujące warunki poprawności:
i. Nikt nie może byc równocześnie prowadzącym i uczestnikiem tego samego kursu.
ii. Nikt nie może być uczestnikiem dwóch kursów odbywających się w tym samym dniu.
iii. Uczestnikiem kursu o danej nazwie można być tylko raz.
iv. Nie można być uczestnikiem kursu (o danej nazwie), dla którego było się wcześniej prowadzącym.
(b) W tym zadaniu korzystać będziemy z bazy danych o następującym schemacie:
CREATE TABLE Samochody (
nrrej CHAR(10) PRIMARY KEY,
Właściciel VARCHAR(30) NOT NULL,
typ CHAR(1) CHECK (typ IN ('o', 'c')),
miasto VARCHAR(20)) ;
CREATE TABLE Ubezpieczenia ( polisa NUMERIC(5) PRIMARY KEY, data_od DATĘ NOT NULL, data_do DATĘ NOT NULL, limit NUMERIC(8) NOT NULL,
auto CHAR(10) NOT NULL REFERENCES Samochody);
CREATE TABLE Odszkodowania (
polisa NUMERIC(5) REFERENCES Ubezpieczenia, kwota NUMERIC(8), data DATĘ,
PRIMARY KEY (polisa, data));
Zrealizuj następujące warunki poprawności:
i. Daty wypłat odszkodowań powinny zawierać się w okresie obowiązywania ubezpieczenia.
ii. Suma wypłat odszkodowań dla danego ubezpieczenia nie może przekroczyć jego limitu. Fakt odmowy wypłaty odszkodowania należy odnotować w dodatkowej tabeli (którą trzeba utworzyć).
(c) W tym zadaniu korzystać będziemy z bazy danych o następującym schemacie:
CREATE TABLE Lekarze (
numer NUMERIC(5) PRIMARY KEY, nazwisko VARCHAR(20) NOT NULL, imię VARCHAR(15) NOT NULL, miasto VARCHAR(20)) ;
CREATE TABLE Pacjenci (
pesel NUMERIC(11) PRIMARY KEY, nazwisko VARCHAR(20) NOT NULL, imię VARCHAR(15) NOT NULL, limit NUMERIC(8) NOT NULL));
CREATE TABLE Zabiegi (
pacjent NUMERIC(11) REFERENCES Pacjenci, lekarz NUMERIC(5) REFERENCES Lekarze,
11