You are on page 1of 19

Projekat biblioteka

BAZE PODATAKA

Projekat
Projektovanje baze podataka za podršku rada
biblioteke

Beograd

Mart 2019.

Profesor Hana Stefanovic


Studenti Miloš Vučković, Marko Jurišević

1
Projekat biblioteka

1. Rezime .............................................................................................................. 3

2. Poslovni domen - OPIS ........................................................................................ 3

3. Prva celina knjiga ............................................................................................... 3

4. Druga celina clan ................................................................................................ 3

5. Treća celina bibliotekar....................................................................................... 3

6. Integrisani model podataka PMOV ....................................................................... 4

7. Prevođenje PMOV u relacioni model ...................................................................... 5

8. SQL naredbe za kreiranje tabela .......................................................................... 7

9. SQL naredbe za umetanje podataka…….……………………………………………………………………….12

10. Tabelarni prikaz podataka…………………………………………………………………………………………….14

11. Statistički upiti – ……………………………………………………………………………………………………….…17

12. Literatura……………………………………………………………………………………………………………………….19

2
Projekat biblioteka

1. Rezime

U ovom projektu je izvršena analiza domena poslovanja i funkcionisanja biblioteke.Kreiran je


poslovni model za ovaj domen i izvršena implementacija kroz kreiranje šeme relacione baze
podataka.Kroz SQL insert upite izvršena je simulacija podataka u produkciji čime je omogućeno
detaljnije testiranje specifičnih upita i izveštaja u vidu pregleda najizdavanijih knjiga u
biblioteci.Testiranje izveštaja olakšava tabelarni pregled odnosno prikaz svih tabela u bazi
biblioteke.

2. Poslovni domen - OPIS

Poslovni domen je dekomponovan na tri celine (podsistema): knjiga,član i bibliotekar.Da


analiziramo ove celine u nastavku :

I Celina – Knjiga

Za funkcionisanje biblioteke neophodna je evidencija knjiga radi optimalnog rukovođenja njihovim


izdavanjem i praćenjem stanja kako izdatih primeraka tako i onih raspoloživih za
izdavanje.Relevantni podaci o knjizi su svakako njen naziv,evidencija ko je datu knjigu poklonio
biblioteci,zatim ko je izdavač knjige,o kom se žanru radi radi adekvatne organizacije u biblioteci,broj
primeraka tog naslova kao i broj izdatih i broj raspoloživih primeraka.Svako izdavanje knjige
pomoću trigera umanjuje raspoloživo stanje a uvećava broj izdatih primeraka a svako vraćanje radi
obrnutu stvari.Sve je to rešeno uz pomoć dva trigera nad tabelom Iznajmljivanja.Tu su još podaci
o broju strana tog nasloga kao i naziv autora.

II Celina Član

Članovi su osnovni smisao funkcionisanja biblioteke i njen ključni faktor postojanja.Evidencija o


članovima obuhvata ime i prezime člana,jedinstveni matični broj građanina,adresa,telefon ,njegov
status u smislu aktivnosti ili da li je u pitanju bivši član kao i datum njegovog učlanjenja u
biblioteku.Svi članovi evidentiraju se takođe i u tabeli Iznajmljivanje.

III Celina Bibliotekar

Bibliotekari predstavljaju elementarni faktor funkcionisanja biblioteke.Bibliotekar je osoba nadležna


za izdavanje knjiga ali i njihovo primanje nazad u biblioteku nakon vraćanja tog naslova od strane
člana biblioteke.Neophodna evidencija o bibliotekaru je datum njegovog zaposlenja u biblioteci kao
i njegov status u smislu da li je jos aktivan zaposleni ili je bivši radnik biblioteke.U tabeli
Iznajmljivanje takođe se evidentira bibliotekar koji je knjigu izdao članu.

3
Projekat biblioteka

3. Integrisani model podataka (PMOV)

Slika 4. Integrisani PMOV

4
Projekat biblioteka

4. Prevođenje PMOV u relacioni model

StatusClana (IdStatus#, NazivStatus)

Bibliotekar (IdBibliotekar#,Naziv,DatumZaposlenja,Status)

Clan (IdClan#,NazivClan,JMBG,Telefon,Adresa,Mesto,DatumUclanjenja,IdStatus)

Clan (IdStatus#fk) referencira StatusClana (IdStatus#)

FK_Clan_StatusClana

Izdavac (IdIzdavac#,NazivIzdavac,AdresaIzdavac,Email,Telefon,TekuciRacun)

Donator (IdDonator#,NazivDonator)

Zanr (IdZanr#,NazivZanr)

Knjiga (IdKnjiga#,NazivKnjiga,IdDonator,IdIzdavac,IdZanr,BrojPrimerakaUkupno,NaStanju,Izdato,

BrojStrana,NazivAutora)

Knjiga (IdDonator#fk) referencira Donator (IdDonator #)

FK_Knjiga_Donator

Knjiga (IdIzdavac#fk) referencira Izdavac (IdIzdavac #)

FK_Knjiga_Izdavac

Knjiga (IdZanr#fk) referencira Zanr (IdZanr #) FK_Knjiga_Zanr

Iznajmljivanja (Id#, IdKnjiga,IdClan,DatumPreuzimanja,DatumVracanja,KasnjenjeUDanima,

NovcanaKazna,IdBibliotekarIzdao)

Iznajmljivanja (IdKnjiga#fk) referencira Knjiga (IdKnjiga #)

FK_Iznajmljivanja_Knjiga

5
Projekat biblioteka

Iznajmljivanja (IdClan#fk) referencira Clan (IdClan #)

FK_Iznajmljivanja_Clan

Iznajmljivanja (IdBibliotekarIzdao#fk) referencira Bibliotekar (IdBibliotekar

#) FK_Iznajmljivanja_Bibliotekar

6
Projekat biblioteka

5. SQL naredbe za kreiranje tabela

CREATE TABLE [dbo].[Bibliotekar](


[IdBibliotekar] [int] NOT NULL,
[Naziv] [nvarchar](50) NULL,
[DatumZaposlenja] [datetime] NULL,
[Status] [nvarchar](10) NULL,
CONSTRAINT [PK_Bibliotekar] PRIMARY KEY CLUSTERED
(
[IdBibliotekar] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

CREATE TABLE [dbo].[Clan](


[IdClan] [int] NOT NULL,
[NazivClan] [nvarchar](50) NULL,
[JMBG] [nvarchar](13) NULL,
[Telefon] [nvarchar](20) NULL,
[Adresa] [nvarchar](50) NULL,
[Mesto] [nvarchar](50) NULL,
[DatumUclanjenja] [datetime] NULL,
[IdStatus] [smallint] NULL,
CONSTRAINT [PK_Clan] PRIMARY KEY CLUSTERED
(
[IdClan] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

CREATE TABLE [dbo].[Donator](


[IdDonator] [int] NOT NULL,
[NazivDonator] [nvarchar](50) NULL,
CONSTRAINT [PK_Donator] PRIMARY KEY CLUSTERED
(
[IdDonator] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

CREATE TABLE [dbo].[Izdavac](


[IdIzdavac] [int] NOT NULL,
[NazivIzdavac] [nvarchar](100) NULL,
[AdresaIzdavac] [nvarchar](100) NULL,
[Email] [nvarchar](50) NULL,
[Telefon] [nvarchar](50) NULL,
[TekuciRacun] [nvarchar](20) NULL,
CONSTRAINT [PK_Izdavac] PRIMARY KEY CLUSTERED
(
[IdIzdavac] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
7
Projekat biblioteka

) ON [PRIMARY]

CREATE TABLE [dbo].[Iznajmljivanja](


[Id] [bigint] NOT NULL,
[IdKnjiga] [int] NULL,
[IdClan] [int] NULL,
[DatumPreuzimanja] [datetime] NULL,
[DatumVracanja] [datetime] NULL,
[KasnjenjeUDanima] [smallint] NULL,
[NovcanaKazna] [money] NULL,
[IdBibliotekarIzdao] [int] NULL,
CONSTRAINT [PK_Iznajmljivanja] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

CREATE TABLE [dbo].[Knjiga](


[IdKnjiga] [int] NOT NULL,
[NazivKnjiga] [nvarchar](100) NULL,
[IdDonator] [int] NULL,
[IdIzdavac] [int] NULL,
[IdZanr] [int] NULL,
[BrojPrimerakaUkupno] [smallint] NULL,
[NaStanju] [smallint] NULL,
[Izdato] [smallint] NULL,
[BrojStrana] [smallint] NULL,
[NazivAutora] [nvarchar](50) NULL,
CONSTRAINT [PK_Knjiga] PRIMARY KEY CLUSTERED
(
[IdKnjiga] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

CREATE TABLE [dbo].[StatusClana](


[IdStatus] [smallint] NOT NULL,
[NazivStatus] [nvarchar](50) NULL,
CONSTRAINT [PK_StatusClana] PRIMARY KEY CLUSTERED
(
[IdStatus] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

CREATE TABLE [dbo].[Zanr](


[IdZanr] [int] NOT NULL,
[NazivZanr] [nvarchar](50) NULL,
CONSTRAINT [PK_Zanr] PRIMARY KEY CLUSTERED
(
[IdZanr] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

8
Projekat biblioteka

GO
SET ANSI_PADDING ON

GO
/****** Object: Index [IX_Clan] Script Date: 22.02.2019 2:03:15 PM ******/
CREATE NONCLUSTERED INDEX [IX_Clan] ON [dbo].[Clan]
(
[NazivClan] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE
= OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
SET ANSI_PADDING ON

GO
/****** Object: Index [IX_Donator] Script Date: 22.02.2019 2:03:15 PM ******/
CREATE NONCLUSTERED INDEX [IX_Donator] ON [dbo].[Donator]
(
[NazivDonator] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE
= OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
SET ANSI_PADDING ON

GO
/****** Object: Index [IX_Izdavac] Script Date: 22.02.2019 2:03:15 PM ******/
CREATE NONCLUSTERED INDEX [IX_Izdavac] ON [dbo].[Izdavac]
(
[NazivIzdavac] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE
= OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
/****** Object: Index [IX_Iznajmljivanja] Script Date: 22.02.2019 2:03:15 PM ******/
CREATE NONCLUSTERED INDEX [IX_Iznajmljivanja] ON [dbo].[Iznajmljivanja]
(
[IdClan] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE
= OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
/****** Object: Index [IX_Iznajmljivanja_1] Script Date: 22.02.2019 2:03:15 PM ******/
CREATE NONCLUSTERED INDEX [IX_Iznajmljivanja_1] ON [dbo].[Iznajmljivanja]
(
[IdKnjiga] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE
= OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
SET ANSI_PADDING ON

GO
/****** Object: Index [IX_Knjiga] Script Date: 22.02.2019 2:03:15 PM ******/
CREATE NONCLUSTERED INDEX [IX_Knjiga] ON [dbo].[Knjiga]
(
[NazivKnjiga] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE
= OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO

9
Projekat biblioteka

/****** Object: Index [IX_Knjiga_1] Script Date: 22.02.2019 2:03:15 PM ******/


CREATE NONCLUSTERED INDEX [IX_Knjiga_1] ON [dbo].[Knjiga]
(
[NaStanju] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE
= OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
/****** Object: Index [IX_StatusClana] Script Date: 22.02.2019 2:03:15 PM ******/
CREATE NONCLUSTERED INDEX [IX_StatusClana] ON [dbo].[StatusClana]
(
[IdStatus] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE
= OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
SET ANSI_PADDING ON

GO
/****** Object: Index [IX_Zanr] Script Date: 22.02.2019 2:03:15 PM ******/
CREATE NONCLUSTERED INDEX [IX_Zanr] ON [dbo].[Zanr]
(
[NazivZanr] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE
= OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Clan] WITH CHECK ADD CONSTRAINT [FK_Clan_StatusClana] FOREIGN KEY([IdStatus])
REFERENCES [dbo].[StatusClana] ([IdStatus])
ON UPDATE CASCADE
GO
ALTER TABLE [dbo].[Clan] CHECK CONSTRAINT [FK_Clan_StatusClana]
GO
ALTER TABLE [dbo].[Iznajmljivanja] WITH CHECK ADD CONSTRAINT [FK_Iznajmljivanja_Bibliotekar] FOREIGN
KEY([IdBibliotekarIzdao])
REFERENCES [dbo].[Bibliotekar] ([IdBibliotekar])
ON UPDATE CASCADE
GO
ALTER TABLE [dbo].[Iznajmljivanja] CHECK CONSTRAINT [FK_Iznajmljivanja_Bibliotekar]
GO
ALTER TABLE [dbo].[Iznajmljivanja] WITH CHECK ADD CONSTRAINT [FK_Iznajmljivanja_Clan] FOREIGN
KEY([IdClan])
REFERENCES [dbo].[Clan] ([IdClan])
ON UPDATE CASCADE
GO
ALTER TABLE [dbo].[Iznajmljivanja] CHECK CONSTRAINT [FK_Iznajmljivanja_Clan]
GO
ALTER TABLE [dbo].[Iznajmljivanja] WITH CHECK ADD CONSTRAINT [FK_Iznajmljivanja_Knjiga] FOREIGN
KEY([IdKnjiga])
REFERENCES [dbo].[Knjiga] ([IdKnjiga])
ON UPDATE CASCADE
GO
ALTER TABLE [dbo].[Iznajmljivanja] CHECK CONSTRAINT [FK_Iznajmljivanja_Knjiga]
GO
ALTER TABLE [dbo].[Knjiga] WITH CHECK ADD CONSTRAINT [FK_Knjiga_Donator] FOREIGN KEY([IdDonator])
REFERENCES [dbo].[Donator] ([IdDonator])
ON UPDATE CASCADE
GO
ALTER TABLE [dbo].[Knjiga] CHECK CONSTRAINT [FK_Knjiga_Donator]
GO
ALTER TABLE [dbo].[Knjiga] WITH CHECK ADD CONSTRAINT [FK_Knjiga_Izdavac] FOREIGN KEY([IdIzdavac])
REFERENCES [dbo].[Izdavac] ([IdIzdavac])

10
Projekat biblioteka

ON UPDATE CASCADE
GO
ALTER TABLE [dbo].[Knjiga] CHECK CONSTRAINT [FK_Knjiga_Izdavac]
GO
ALTER TABLE [dbo].[Knjiga] WITH CHECK ADD CONSTRAINT [FK_Knjiga_Zanr] FOREIGN KEY([IdZanr])
REFERENCES [dbo].[Zanr] ([IdZanr])
ON UPDATE CASCADE
GO
ALTER TABLE [dbo].[Knjiga] CHECK CONSTRAINT [FK_Knjiga_Zanr]
GO

CREATE TRIGGER [dbo].[AzuriranjeStanja]


ON [dbo].[Iznajmljivanja]
FOR INSERT
AS
Begin
DECLARE @Knjiga INT

SELECT @Knjiga = INSERTED.IdKnjiga FROM INSERTED


UPDATE Knjiga SET NaStanju = NaStanju - 1,Izdato = Izdato + 1 WHERE IdKnjiga = @Knjiga
End

CREATE TRIGGER [dbo].[Vracanje]


ON [dbo].[Iznajmljivanja]
FOR UPDATE
AS
Begin
DECLARE @Knjiga INT
DECLARE @Vratio Datetime

SELECT @Vratio = INSERTED.DatumVracanja FROM INSERTED


SELECT @Knjiga = INSERTED.IdKnjiga FROM INSERTED
IF NOT @Vratio IS NULL AND UPDATE(DatumVracanja)
BEGIN
UPDATE Iznajmljivanja SET KasnjenjeUDanima = (CASE WHEN
DATEDIFF(DAY,DatumPreuzimanja,DatumVracanja) - 10 >=0 THEN DATEDIFF(DAY,DatumPreuzimanja,DatumVracanja)
- 10 ELSE 0 END) WHERE IdKnjiga = @Knjiga
UPDATE Iznajmljivanja SET NovcanaKazna = 50 * KasnjenjeUDanima WHERE IdKnjiga = @Knjiga
UPDATE Knjiga SET NaStanju = NaStanju + 1,Izdato = Izdato - 1 WHERE IdKnjiga = @Knjiga

END
End

11
Projekat biblioteka

6. SQL naredbe za umetanje podataka

INSERT [dbo].[Zanr] ([IdZanr], [NazivZanr]) VALUES (3, N'Beletristika')


GO
INSERT [dbo].[Zanr] ([IdZanr], [NazivZanr]) VALUES (5, N'Decija knjizevnost')
GO
INSERT [dbo].[Zanr] ([IdZanr], [NazivZanr]) VALUES (1, N'Horor')
GO
INSERT [dbo].[Zanr] ([IdZanr], [NazivZanr]) VALUES (2, N'Istorijski')
GO
INSERT [dbo].[Zanr] ([IdZanr], [NazivZanr]) VALUES (4, N'Triler')
GO
INSERT [dbo].[Izdavac] ([IdIzdavac], [NazivIzdavac], [AdresaIzdavac], [Email], [Telefon], [TekuciRacun])
VALUES (1, N'Laguna', N'Resavska 33', N'laguna@gmail.com', N'011/332-1123', N'160-2345009-43')
GO
INSERT [dbo].[Izdavac] ([IdIzdavac], [NazivIzdavac], [AdresaIzdavac], [Email], [Telefon], [TekuciRacun])
VALUES (2, N'Vulkan', N'Sremska 2', N'vulkan@yahoo.com', N'011/222-3331', N'160-336484-06')
GO
INSERT [dbo].[Izdavac] ([IdIzdavac], [NazivIzdavac], [AdresaIzdavac], [Email], [Telefon], [TekuciRacun])
VALUES (3, N'Klett', N'Marsala Birjuzova 3', N'prodaja@klett.rs', N'011/3348 384', N'200-45211-32')
GO
INSERT [dbo].[Donator] ([IdDonator], [NazivDonator]) VALUES (1, N'Biblioteka grada Beograda')
GO
INSERT [dbo].[Donator] ([IdDonator], [NazivDonator]) VALUES (2, N'Skupstina grada')
GO
INSERT [dbo].[Donator] ([IdDonator], [NazivDonator]) VALUES (3, N'Uprava Carina')
GO
INSERT [dbo].[Knjiga] ([IdKnjiga], [NazivKnjiga], [IdDonator], [IdIzdavac], [IdZanr],
[BrojPrimerakaUkupno], [NaStanju], [Izdato], [BrojStrana], [NazivAutora]) VALUES (1, N'Oni drugi', 1, 1,
1, 1, 1, 0, 303, N'Dzo Volton')
GO
INSERT [dbo].[Knjiga] ([IdKnjiga], [NazivKnjiga], [IdDonator], [IdIzdavac], [IdZanr],
[BrojPrimerakaUkupno], [NaStanju], [Izdato], [BrojStrana], [NazivAutora]) VALUES (2, N'Ljudske
vibracije', 2, 1, 1, 2, 2, 0, 400, N'Darko Tusevljakovic')
GO
INSERT [dbo].[Knjiga] ([IdKnjiga], [NazivKnjiga], [IdDonator], [IdIzdavac], [IdZanr],
[BrojPrimerakaUkupno], [NaStanju], [Izdato], [BrojStrana], [NazivAutora]) VALUES (3, N'Boziji ratnici',
1, 2, 2, 1, 1, 0, 576, N'Andzej Sapkovski')
GO
INSERT [dbo].[Knjiga] ([IdKnjiga], [NazivKnjiga], [IdDonator], [IdIzdavac], [IdZanr],
[BrojPrimerakaUkupno], [NaStanju], [Izdato], [BrojStrana], [NazivAutora]) VALUES (4, N'Logoreia
balcanica', 3, 1, 3, 1, 1, 0, 204, N'Dimitrijevic Branko')
GO
INSERT [dbo].[Knjiga] ([IdKnjiga], [NazivKnjiga], [IdDonator], [IdIzdavac], [IdZanr],
[BrojPrimerakaUkupno], [NaStanju], [Izdato], [BrojStrana], [NazivAutora]) VALUES (5, N'Oko za oko', 1,
3, 4, 2, 2, 0, 416, N'David Lagerkranc')
GO
INSERT [dbo].[Knjiga] ([IdKnjiga], [NazivKnjiga], [IdDonator], [IdIzdavac], [IdZanr],
[BrojPrimerakaUkupno], [NaStanju], [Izdato], [BrojStrana], [NazivAutora]) VALUES (6, N'Pripovest Barda
Bidla', 2, 3, 5, 1, 1, 0, 144, N'Dz. K. Rouling')
GO
INSERT [dbo].[StatusClana] ([IdStatus], [NazivStatus]) VALUES (1, N'Aktivan')
GO
INSERT [dbo].[StatusClana] ([IdStatus], [NazivStatus]) VALUES (2, N'Neaktivan')
GO
INSERT [dbo].[StatusClana] ([IdStatus], [NazivStatus]) VALUES (3, N'Izbacen')
GO
12
Projekat biblioteka

INSERT [dbo].[Clan] ([IdClan], [NazivClan], [JMBG], [Telefon], [Adresa], [Mesto], [DatumUclanjenja],


[IdStatus]) VALUES (1, N'Marko Petrovic', N'0101980110230', N'011/222-1234', N'Mike Alasa 90',
N'Beograd,Vinca', CAST(N'2005-04-03T00:00:00.000' AS DateTime), 1)
GO
INSERT [dbo].[Clan] ([IdClan], [NazivClan], [JMBG], [Telefon], [Adresa], [Mesto], [DatumUclanjenja],
[IdStatus]) VALUES (2, N'Milan Jokovic', N'0312988342010', N'064/555-4441', N'Knez Mihajlova 2',
N'Beograd', CAST(N'2000-01-05T00:00:00.000' AS DateTime), 1)
GO
INSERT [dbo].[Clan] ([IdClan], [NazivClan], [JMBG], [Telefon], [Adresa], [Mesto], [DatumUclanjenja],
[IdStatus]) VALUES (3, N'Dejan Savic', N'1212995000121', N'065/555-3230', N'Urosa Martinovica 2', N'Novi
Beograd', CAST(N'2015-06-05T00:00:00.000' AS DateTime), 1)
GO
INSERT [dbo].[Clan] ([IdClan], [NazivClan], [JMBG], [Telefon], [Adresa], [Mesto], [DatumUclanjenja],
[IdStatus]) VALUES (4, N'Marija Stosic', N'0309991334030', N'011/6533-121', N'Prve Pruge 11', N'Zemun',
CAST(N'2017-01-04T00:00:00.000' AS DateTime), 2)
GO
INSERT [dbo].[Clan] ([IdClan], [NazivClan], [JMBG], [Telefon], [Adresa], [Mesto], [DatumUclanjenja],
[IdStatus]) VALUES (5, N'Petar Ognjenovic', N'0301977020122', N'011/131-321', N'Dejana Ristica',
N'Galenika,Beograd', CAST(N'1992-03-04T00:00:00.000' AS DateTime), 3)
GO
INSERT [dbo].[Bibliotekar] ([IdBibliotekar], [Naziv], [DatumZaposlenja], [Status]) VALUES (1, N'Ivan
Ivanovic', CAST(N'1991-04-03T00:00:00.000' AS DateTime), N'NEAKTIVAN')
GO
INSERT [dbo].[Bibliotekar] ([IdBibliotekar], [Naziv], [DatumZaposlenja], [Status]) VALUES (2, N'Marko
Pantelic', CAST(N'2004-12-04T00:00:00.000' AS DateTime), N'AKTIVAN')
GO
INSERT [dbo].[Iznajmljivanja] ([Id], [IdKnjiga], [IdClan], [DatumPreuzimanja], [DatumVracanja],
[KasnjenjeUDanima], [NovcanaKazna], [IdBibliotekarIzdao]) VALUES (1, 1, 1, CAST(N'2019-02-
04T00:00:00.000' AS DateTime), CAST(N'2019-02-18T00:00:00.000' AS DateTime), 4, 200.0000, 2)
GO
INSERT [dbo].[Iznajmljivanja] ([Id], [IdKnjiga], [IdClan], [DatumPreuzimanja], [DatumVracanja],
[KasnjenjeUDanima], [NovcanaKazna], [IdBibliotekarIzdao]) VALUES (2, 2, 2, CAST(N'2019-03-
03T00:00:00.000' AS DateTime), CAST(N'2019-03-08T00:00:00.000' AS DateTime), 0, 0.0000, 2)
GO
INSERT [dbo].[Iznajmljivanja] ([Id], [IdKnjiga], [IdClan], [DatumPreuzimanja], [DatumVracanja],
[KasnjenjeUDanima], [NovcanaKazna], [IdBibliotekarIzdao]) VALUES (3, 1, 3, CAST(N'2019-02-
19T00:00:00.000' AS DateTime), CAST(N'2019-03-03T00:00:00.000' AS DateTime), 2, 100.0000, 2)
GO
INSERT [dbo].[Iznajmljivanja] ([Id], [IdKnjiga], [IdClan], [DatumPreuzimanja], [DatumVracanja],
[KasnjenjeUDanima], [NovcanaKazna], [IdBibliotekarIzdao]) VALUES (4, 4, 1, CAST(N'2019-01-
02T00:00:00.000' AS DateTime), CAST(N'2019-01-13T00:00:00.000' AS DateTime), 1, 50.0000, 2)
GO

13
Projekat biblioteka

7. Tabelarni prikaz sadrzaja tabela

Slika 1. Tabela – Bibliotekar

Slika 2. Tabela – Član

Slika 3. Tabela – Donator

14
Projekat biblioteka

Slika 4. Tabela - Izdavač

15
Projekat biblioteka

Slika 5. Tabela – Iznajmljivanja

Slika 6. Tabela – Knjiga

Slika 7. Tabela-Status člana

16
Projekat biblioteka

Slika 8. Tabela-Žanr

8. Statistika

Slika 9. Upit za statistiku, pregled izdavanja knjiga pocev od


najpopularnijih

17
Projekat biblioteka

Slika 10. Dijagram relacija biblioteke u SQL serveru

18
Projekat biblioteka

9. Literatura

1. Majstorović M.: Baze podataka, skripta, Visoka škola strukovnih studija za informacione
tehnologije, Beograd, 2013.

2. M. Majstorović, Uvod u baze podataka, Visoka škola strukovnih studija za informacione


tehnologije, Beograd, 2015, ISBN 978-86-89007-03-9.

19

You might also like