Knjige su sastavni deo našeg života i kao veliki ljubitelji koristimo svaku priliku da našu kolekciju upotpunimo novom knjigom. Radi lakšeg vođenja evidencije kreirali smo bazu podataka u kojoj čuvamo podatke o njima.
Dijagram baze je dat na slici:

slika baze za zadatak B13 iz 2021.godine

1. deo:

  • kreirati bazu i popuniti je nekim podacima (MySQL / SQL Server).
CREATE DATABASE B13;
USE B13;

CREATE TABLE autor ( AutorID int PRIMARY KEY AUTO_INCREMENT, Ime varchar(25) NOT NULL, Prezime varchar(25) NOT NULL, DatumRodjenja date DEFAULT NULL ) ;

CREATE TABLE kategorija (
  KategorijaID int PRIMARY KEY AUTO_INCREMENT,
  Naziv varchar(50)  NOT NULL,
  Opis text  DEFAULT NULL
) ;
        
CREATE TABLE knjiga (
  KnjigaID int PRIMARY KEY AUTO_INCREMENT,
  Naziv varchar(50) NOT NULL,
  BrojStrana int,
  KategorijaID int,
  Komentar text DEFAULT NULL,
CONSTRAINT FK_knjiga_kategorija FOREIGN KEY (KategorijaID) REFERENCES kategorija(kategorijaID) );
        
CREATE TABLE autorizdanje (
  KnjigaID int,
  BrojIzdanja int,
  AutorID int,
CONSTRAINT pk_AI PRIMARY KEY(KnjigaID, AutorID),
CONSTRAINT fk_Ai_knj FOREIGN KEY (KnjigaID) REFERENCES knjiga(knjigaID),
CONSTRAINT FK_KNJ_AUT FOREIGN KEY (autorID) REFERENCES AUTOR(autorID) );

INSERT INTO `autor` (`AutorID`, `Ime`, `Prezime`, `DatumRodjenja`) 
VALUES (1, 'Lav', 'Tolstoj', '1910-11-07'), (2, 'Gistav', 'Flober', '1821-12-12'), (3, 'Mark', 'Tven', '1835-11-30'), (4, 'Herman', 'Melvil', '1819-08-01'), (5, 'Fjodor', 'Dostojevski', '1821-11-11'), (6, 'Vilijam', 'Šekspir', '1564-04-25'), (7, 'Astrid', 'Lindgren', '1907-11-14'), (8, 'Ivo', 'Andrić', '1892-10-09'), (9, 'Jovan', 'Jovanović Zmaj', '1833-12-06'), (10, 'Branko', 'Ćopić', '1915-01-01');


INSERT INTO `kategorija` (`KategorijaID`, `Naziv`, `Opis`) VALUES (1, 'Roman', 'Dugačak pripovedni tekst napisan u prozi.'), (2, 'Komedija', 'za nasmejati se'), (3, 'Pripovetke', 'Posebna, moderna književna forma kratke proze, čija je glavna osobina u jakoj kompresiji sadržaja. '), (4, 'Pesme', 'Umetničko delo u stihovima ili u prozi, u kome se pripoveda i putem stilskih figura izražava emocija'), (5, 'Drama', 'Književno delo, koje, uglavnom, služi javnom izvođenju u pozorištu.'), (6, 'Tragedija', 'sa tužnim krajem'), (7, 'Horor', 'strasno strasno'), (8, 'Putopis', 'o putovanjima'), (9, 'Fantastika', 'magicna stvorenja'), (10, 'Nagrađene knjige', 'dobile neku nagradu');
INSERT INTO `knjiga` (`KnjigaID`, `Naziv`, `BrojStrana`, `KategorijaID`, `Komentar`) VALUES
(1, 'Na Drini ćuprija', 366, 1, 'Nobelova nagrada za literaturu, 1961. godine'),
(2, 'Priča o kmetu Simanu', NULL, 3, NULL),
(3, 'Ana Karenjina', 896, 1, NULL),
(4, 'Rat i mir', 1545, 1, NULL),
(5, 'Madam Bovari', 479, 1, NULL),
(6, 'Avanture Haklberi Fina', 366, 1, NULL),
(7, 'Kraljević i prosjak', 400, 1, NULL),
(8, 'Tom Sojer', 275, 1, NULL),
(9, 'Mobi Dik', 730, 1, NULL),
(10, 'Pipi Duga Ćarapa', NULL, 1, NULL),
(11, 'Orlovi rano lete', 242, 1, NULL),
(12, 'Doživljaji Nikoletine Bursaća', NULL, 3, NULL),
(13, 'Pevanija', NULL, 4, NULL),
(14, 'Hamlet', NULL, 6, NULL),
(15, 'Kralj Lir', NULL, 6, NULL),
(16, 'San letnje noći', NULL, 2, NULL),
(17, 'Čovek od poverenja', 368, 2, NULL),
(18, 'Mletački trgovac', 333, 2, NULL),
(19, 'Venus and Adonis', 100, 4, NULL),
(20, 'Soneti', 123, 4, NULL),
(21, 'Kralj Džon', 345, 5, NULL);

INSERT INTO `autorizdanje` (`KnjigaID`, `BrojIzdanja`, `AutorID`) VALUES (1, 4, 8), (2, 2, 8), (3, 2, 1), (4, 3, 1), (5, 2, 2), (6, 5, 3), (7, 6, 6), (8, 4, 3), (9, 3, 4), (10, 2, 7), (11, 2, 10), (12, 3, 10), (13, 1, 9), (14, 6, 6), (15, 5, 6), (16, 5, 6), (17, 3, 4), (18, 5, 6), (19, 2, 6), (20, 12, 6), (21, 4, 6);

2. Zadatak:

Koristeći DDL naredbe proširiti bazu tako da se zadovolje sledeći zahtevi:

  • Za svaku knjigu potrebno je da se vodi evidencija o nazivu izdavača pri čemu jedan isti izdavač može izdati veći broj knjiga.
  • Želimo da pamtimo i broj izdanja koje je knjiga imala i cenu svakog izdanja.
  • Voleli bi da u našoj bazi čuvamo i formate knjige odnosno njihovu oznaku i kratak opis da bi smo mogli da bolje organizujemo našu kolekciju.

Last modified: Tuesday, 16 December 2025, 10:25 AM