Lista 2
Transkrypt
Lista 2
Lista 2 - lab Zad.1 a) Napisz skrypt SQL tworzący bazę danych Sklep i zawierającą tabele: Produkt, Klient, Sprzedaz. Tabela Produkt powinna zawierać następujące pola: ProduktNumer – klucz główny, pole znakowe; ProduktNazwa – pole znakowe, nie może być puste; Cena – liczba zmiennopozycyjna, nie może być puste; Dostępność – pole bit, nie może być puste; Tabela Klient powinna zawierać: KlientId – klucz główny sztuczny, pole liczbowe; Nazwa – pole znakowe, nie może być puste; Miasto – pole znakowe, może być puste; Typ – pole znakowe, nie może być puste; Tabel Sprzedaz powinna zawierać: Id – klucz główny sztuczny; KlientId – referencja do tabeli Klient; ProduktNumer – referencja do tabeli Produkt; Ilość – pole liczbowe, nie może być pusta; Cena – liczba zmiennopozycyjna, nie może być pusta; Data – typ daty, domyślnie powinna być wstawiana aktualna data; Dodatkowo powinny być zdefiniowane następujące ograniczenia: Klucze sztuczne powinny być automatycznie inkrementowane. Pole Typ musi przyjmować wartość Indywidualny lub Firma. Pole Ilość musi przyjmować wartość większą od 0. b) Napisz skrypt dodający 10 produktów do tabeli Produkt, 10 klientów do tabeli Klient. c) Za pomocą procedury składowanej wygeneruj 1000 transakcji sprzedażowych (tabela Sprzedaz). Dane powinny zachowywać zdefiniowane powyżej ograniczenia. Zad.2 Napisać skrypt generujący bazę danych z następującymi tabelami: Sklep(nazwa, adres) Towar(nazwa, producent), Sprzedaż(nazwa sklepu, adres sklepu, nazwa towaru, producent, data, cena) która realizuje połączenie wiele–do–wielu pomiędzy tabelami Sklep i Towar. Poprzez utworzenie odpowiednich wyzwalaczy zdefiniuj operacje INSERT, UPDATE i DELETE na tabeli Sprzedaz, które powinny działać następująco: INSERT. Przy wstawieniu wiersza do tabeli Sprzedaz najpierw należy sprawdzić, czy wiersz już istnieje. Jeśli tak, kończymy z odpowiednim komunikatem błędu, natomiast jeśli nie, przechodzimy dalej i wykonujemy następujące czynności: – Sprawdzamy, czy istnieją sklep i towar o podanych nazwach. Jeśli tak, sprawdzamy ich dane i w przypadku, gdy cos się nie zgadza, kończymy operacje z odpowiednim komunikatem błędu. – W przypadku, gdy wstawiany wiersz zawiera dane sklepu lub towaru, którego w tabelach Sklep i Towar jeszcze nie ma, uzupełniamy odpowiednie te tabele. UPDATE. Przy modyfikacji należy nanieść odpowiednie zmiany na tabele Sklep i Towar. DELETE. Przy usuwaniu sprawdzamy, czy sklep i towar z usuniętego wiersza występują jeszcze gdzieś w tabeli Sprzedaż. Jeśli nie, usuwamy odpowiednie wiersze z tabel Sklep i Towar.