View difference between Paste ID: eeiPnMw3 and smiLehiC
SHOW: | | - or go back to the newest paste.
1
--1.	Kreirati bazu podataka pod nazivom: BrojDosijea (npr. 2046) bez posebnog kreiranja data i log fajla.
2
CREATE DATABASE [3020]
3
ON PRIMARY
4
(NAME='3020',FILENAME='D:\DBMS_Data\3020.mdf')
5
GO
6
7
--2.	U Vašoj bazi podataka kreirati tabele sa sljedećim parametrima:
8
--•	Studenti
9
--•	StudentID, automatski generator vrijednosti i primarni ključ
10
--•	BrojDosijea, polje za unos 10 UNICODE karaktera (obavezan unos), jedinstvena vrijednost
11
--•	Ime, polje za unos 35 UNICODE karaktera (obavezan unos)
12
--•	Prezime, polje za unos 35 UNICODE karaktera (obavezan unos)
13
--•	Godina studija, polje za unos cijelog broja (obavezan unos)
14
--•	NacinStudiranja, polje za unos 10 UNICODE karaktera (obavezan unos) DEFAULT je Redovan
15
--•	Email, polje za unos 50 karaktera (nije obavezan)  
16
--•	Nastava
17
--•	NastavaID, automatski generator vrijednosti i primarni ključ
18
--•	Datum, polje za unos datuma i vremana (obavezan unos)
19
--•	Predmet, polje za unos 20 UNICODE karaktera (obavezan unos)
20
--•	Nastavnik, polje za unos 50 UNICODE karaktera (obavezan unos)
21
--•	Ucionica, polje za unos 20 UNICODE karaktera (obavezan unos)
22
--•	Prisustvo
23
--•	PrisustvoID, automatski generator vrijednosti i primarni ključ
24
--•	StudentID, spoljni ključ prema tabeli Studenti
25
--•	NastavaID, spoljni ključ prema tabeli Nastava
26
USE [3020]
27
CREATE TABLE Studenti
28
(StudentID INT IDENTITY(1,1) PRIMARY KEY,
29
BrojDosijea NVARCHAR(10) NOT NULL UNIQUE,
30
Ime NVARCHAR(35) NOT NULL,
31
Prezime NVARCHAR(35) NOT NULL,
32
GodinaStudija INT NOT NULL,
33
NacinStudiranja NVARCHAR(10) NOT NULL DEFAULT 'Redovan',
34
Email VARCHAR(50)
35
)
36
GO
37
CREATE TABLE Nastava
38
(NastavaID INT IDENTITY(1,1) PRIMARY KEY,
39
Datum DATETIME NOT NULL,
40
Predmet NVARCHAR(20) NOT NULL,
41
Nastavnik NVARCHAR(50) NOT NULL,
42
Ucionica NVARCHAR(20) NOT NULL,
43
)
44
GO
45
CREATE TABLE Prisustvo
46
(PrisustvoID INT IDENTITY(1,1) PRIMARY KEY,
47
StudentID INT FOREIGN KEY (StudentID) REFERENCES Studenti(StudentID),
48
NastavaID INT FOREIGN KEY (NastavaID) REFERENCES Nastava(NastavaID)
49
)
50
GO
51
52
--3.	Kreirati tabelu Predmeti sa sljedećim parametrima:
53
--•	PredmetID, automatski generator vrijednosti i primarni ključ
54
--•	Naziv, polje za unos 30 UNICODE karaktera (obavezan unos), jedinstvena vrijednost
55
--Modifikovati tabelu Nastava (ukloniti kolonu Predmet) i povezati je sa tabelom Predmeti. Koristeći INSERT komandu u tabelu Predmeti unijeti tri zapisa.
56
CREATE TABLE Predmeti
57
(PredmetID INT IDENTITY(1,1) PRIMARY KEY,
58
Naziv NVARCHAR(30) UNIQUE
59
)
60
GO
61
62
ALTER TABLE Nastava
63
DROP COLUMN Predmet
64
GO
65
66
ALTER TABLE Nastava
67
ADD PredmetID INT FOREIGN KEY (PredmetID) REFERENCES Predmeti(PredmetID)
68
GO
69
70
INSERT INTO Predmeti
71
VALUES ('Reporting'),
72
('Sociologija'),
73
('Komunikacijske tehnologije')
74
75
--4.	Koristeći bazu podataka AdventureWorksLT2012 i tabelu SalesLT.Customer, preko INSERT i SELECT komande importovati 10 zapisa u tabelu Studenti i to sljedeće kolone:
76
--•	Prva tri karaktera kolone Phone -> BrojDosijea
77
--•	FirstName -> Ime
78
--•	LastName -> Prezime
79
--•	2 -> GodinaStudija
80
--•	DEFAULT -> NacinStudiranja
81
--•	EmailAddress -> Email
82
USE AdventureWorksLT2012
83
INSERT INTO [3020].dbo.Studenti(BrojDosijea,Ime,Prezime,GodinaStudija,Email)
84
SELECT TOP 10 LEFT(Phone,3),FirstName,LastName,2,EmailAddress
85
FROM SalesLT.Customer
86
GO
87
88
USE [3020]
89
SELECT *
90
FROM Studenti
91
GO
92
93
--5.	U Vašoj bazi podataka kreirajte stored proceduru koja će na osnovu proslijeđenih parametara raditi izmjenu (UPDATE) podataka u tabeli Studenti. Proceduru pohranite pod nazivom usp_Studenti_Update. 
94
--Koristeći prethodno kreiranu proceduru izmijenite jedan zapis sa Vašim podacima.
95
CREATE PROCEDURE usp_Studenti_Update
96
@StudentID INT,
97
@BrojDosijea NVARCHAR(10),
98
@Ime NVARCHAR(35),
99
@Prezime NVARCHAR(35),
100
@GodinaStudija INT,
101
@NacinStudiranja NVARCHAR(10),
102
@Email VARCHAR(50)
103
AS
104
UPDATE Studenti
105
SET BrojDosijea=@BrojDosijea, Ime=@Ime,Prezime=@Prezime,GodinaStudija=@GodinaStudija,NacinStudiranja=@NacinStudiranja,Email=@Email
106
WHERE StudentID=@StudentID
107
GO
108
109
SELECT * 
110
FROM Studenti
111
GO
112
SELECT *
113
FROM Predmeti
114
GO
115
SELECT *
116
FROM Nastava
117
GO
118
SELECT *
119
FROM Prisustvo
120
GO
121
122
EXEC usp_Studenti_Update 2,666,Mike,Smith,2,'Redovan','[email protected]'
123
GO
124
--6.	U Vašoj bazi podataka kreirajte stored proceduru koja će raditi INSERT podataka u tabelu Nastava. Podaci se moraju unijeti preko parametara. 
125
--Također, u istoj proceduri dodati prisustvo na nastavi (koristeći INSERT SELECT komandu dodati prisustvo sve studente za prethodno dodanu nastavu). Proceduru pohranite pod nazivom usp_Nastava_Insert.
126
CREATE PROCEDURE usp_Nastava_Insert
127
@Datum DATETIME,
128
@Nastavnik NVARCHAR(50),
129
@Ucionica NVARCHAR(20),
130
@PredmetID INT
131
AS
132
BEGIN
133
INSERT INTO Nastava(Datum,Nastavnik,Ucionica,PredmetID)
134
VALUES(@Datum,@Nastavnik,@Ucionica,@PredmetID)
135
INSERT INTO Prisustvo
136
SELECT StudentID,@@IDENTITY
137
FROM Studenti
138
END
139
GO
140
141
EXEC usp_Nastava_Insert '6/27/2014',Sejfudin,AMF,2
142
GO
143
144
--7.	Koristeći proceduru koju ste kreirali u prethodnom zadatku dodati novu nastavu. Za parametar @Datum proslijediti trenutni datum i vrijeme, a ostale parametre upisati ručno.
145
DECLARE @sad DATETIME
146
SET @sad=GETDATE()
147
EXEC usp_Nastava_Insert @sad,Sejfudin,AMF,2
148
GO
149
150
--8.	U Vašoj bazi podataka kreirajte stored proceduru koja ća na osnovu proslijeđenih parametara (@NastavaID i @StudentID) brisati prisustvo na nastavi. Proceduru pohranite pod nazivom usp_Prisustvo_Delete.
151
CREATE PROCEDURE usp_Prisustvo_Delete
152
@StudentID INT,
153
@NastavaID INT
154
AS
155
DELETE FROM Prisustvo
156
WHERE NastavaID=@NastavaID AND StudentID=@StudentID
157
GO
158
EXEC usp_Prisustvo_Delete 2,8
159
GO
160
161
--9.	U Vašoj bazi podataka kreirajte view koji će sadržavati sljedeća polja: broj dosijea, ime i prezime studenta, datum nastave, učionicu, nastavnika i predmet. View pohranite pod nazivom view_Studenti_Nastava.
162
CREATE VIEW view_Studenti_Nastava
163
AS
164
SELECT BrojDosijea'Broj dosijea',Ime,Prezime,Nastava.Datum,Nastava.Ucionica,Nastava.Nastavnik,Predmeti.Naziv
165
FROM Studenti JOIN Prisustvo 
166
ON Studenti.StudentID=Prisustvo.PrisustvoID JOIN Nastava
167
ON Nastava.NastavaID=Prisustvo.NastavaID JOIN Predmeti
168
ON Predmeti.PredmetID=Nastava.PredmetID
169
GO
170
171
SELECT *
172
FROM view_Studenti_Nastava