/* Prvi čas sa MS SQL serverom Grupa 2 Utorak od 14:00 do 15:35 -- 10.10.2017. - 1. susret - 3. nedelja -- Kreiranje baze podataka, kreiranje tabela sa primarnim i spoljnim ključevima 1. Kreirati bazu podataka Naziv baze podataka: NarudzbaRobe LDM: u datoteci Zadatak-Nedelja3--Feladat-3het.docx/pdf Grupa 2 */ -- Bisati stare baze podataka /* Naredba za brisanje je drop database nazivbazepodataka; go Instalaciona verzija MSSQL Server-a je na desktopu, folder Aplikacije i unutar u folderu Microsoft SQL Deramspark */ create database NarudzbaRobe; go use NarudzbaRobe; go create table Kupac ( Sif_kupca int not null constraint Id_kupca primary key, Naz_kupca varchar(30), Post_broj numeric(5), Adresa varchar(20)) go create table Narudzba ( Br_narudzbe int, Sif_kupca int, Datum_narudzbe date, constraint Id_narudzbe primary key (Br_narudzbe), constraint Nar_spklj foreign key (Sif_kupca) references kupac(sif_kupca)); go /* Drugi čas sa MS SQL serverom Grupa 2 Utorak od 14:00 do 15:35 -- 17.10.2017. - 2. susret - 4. nedelja -- Kreiranje tabela sa raznim ograničenjima 1. Završiti zadatak sa prethodnih vežbi 2. Kreirati bazu podataka Naziv baze podataka: NarudzbaRobe LDM: u datoteci Zadatak-Nedelja3--Feladat-3het.docx/pdf Grupa 2 */ /* Primer prve grupe za definisanje ogranicenja na nivou polja/kolone create table Otpremnica ( Br_otpremnice tinyint not null default 1 primary key check (Br_otpremnice between 1 and 255), Sif_kupca int not null default 2 foreign key references Kupac(Sif_kupca) check (Sif_kupca between 1 and 10000), Datum_otpreme date not null default (getdate()) check (Datum_otpreme>getdate()), Vrednost_otpreme numeric(12,2) not null default 0 check (Vrednost_otpreme>10)); go */ use NarudzbaRobe; go create table Roba_cenovnik ( Sif_robe tinyint not null, Jed_mere char(10) not null, Naziv_robe varchar(20), Jed_cena numeric(15,2), constraint Id_roba_cenovnik primary key (Sif_robe,Jed_mere)); go create table Stavka_narudzbe ( Sif_robe tinyint not null, Jed_mere char(10) not null, Br_narudzbe int not null foreign key references Narudzba(Br_narudzbe), Narucena_kol decimal(12,2), constraint Identifier_1 primary key (Sif_robe,Jed_mere,Br_narudzbe)); go drop table Stavka_narudzbe; go create table Stavka_narudzbe ( Sif_robe tinyint not null, Jed_mere char(10) not null, Br_narudzbe int not null foreign key references Narudzba(Br_narudzbe), Narucena_kol decimal(12,2), constraint sp_klj_prema_narudzbi foreign key (Sif_robe,Jed_mere) references Roba_cenovnik(Sif_robe,Jed_mere), constraint Identifier_1 primary key (Sif_robe,Jed_mere,Br_narudzbe)); go drop table Stavka_narudzbe; go create table Stavka_narudzbe ( Sif_robe tinyint not null, Jed_mere char(10) not null, Br_narudzbe int not null foreign key references Narudzba(Br_narudzbe), Narucena_kol decimal(12,2), constraint sp_klj_prema_narudzbi foreign key (Sif_robe,Jed_mere) references Roba_cenovnik(Sif_robe,Jed_mere) on delete no action on update cascade, constraint Identifier_1 primary key (Sif_robe,Jed_mere,Br_narudzbe)); go -- Kreiranje 4 tabele sa ogranicenjima ostaju za domaci zadatak -- Sintaksa naredbi za alter table, insert, update i delete je objasnjeno /* Treci cas sa MS SQL serverom Grupa 2 Utorak od 14:00 do 15:35 -- 24.10.2017. - 3. susret - 5. nedelja -- Modifikacija strukture tabele (polja i ogranicenja) -- i unos, modifikacija i brisne podataka u tabelama */ use NarudzbaRobe; go alter table dbo.Roba_cenovnik alter column Naziv_robe char(25) not null; go alter table dbo.Roba_cenovnik add datum_upisa date not null default(getdate()); go alter table dbo.Roba_cenovnik add constraint Ogr_cene check(Jed_cena between 0 and 5000); go alter table dbo.Roba_cenovnik add upisao varchar(25) not null default 'Administrator'; go alter table dbo.Roba_cenovnik drop constraint DF__Roba_ceno__upisa__117F9D94; go alter table dbo.Roba_cenovnik drop column upisao; go insert into Roba_cenovnik values (1,'litar', 'Mleko', 97, '10-24-2017'); go select * from dbo.Roba_cenovnik; go insert into Roba_cenovnik values (2,'litar', 'Kefir', 110, '2017.10.24'); go insert into dbo.Roba_cenovnik (datum_upisa,Sif_robe,Naziv_robe,Jed_mere) values ('2017.08.25',3,'Jogurt','litar'); go select * from dbo.Roba_cenovnik; go insert into dbo.Roba_cenovnik (datum_upisa,Sif_robe,Naziv_robe,Jed_mere) values (null,4,'Kiselo mleko','kg'); go insert into dbo.Roba_cenovnik (Sif_robe,Naziv_robe,Jed_mere) values (4,'Kiselo mleko','kg'); go insert into dbo.Roba_cenovnik (Sif_robe,Naziv_robe,Jed_mere,Jed_cena ) values (5,'Kiselo pavlaka','kg',5001); go Update dbo.Roba_cenovnik set Jed_mere='tona', Jed_cena=5000; go Update dbo.Roba_cenovnik set Jed_mere='litar', Jed_cena=97 where Naziv_robe='Mleko'; go select * from dbo.Roba_cenovnik; go delete dbo.Roba_cenovnik where datum_upisa <> getdate(); go create view Pogled_Robe_cenovnika (Naziv_robe, Sifra_robe, Jedinica_mere, Jedinicna_cena) as (select Naziv_robe,Sif_robe,Jed_mere,Jed_cena from dbo.Roba_cenovnik); go