3 | | == Дијаграм |
4 | | [[Image(ERModel_v4.jpg,100%)]] |
| 3 | === Најрезервирани категории на книги во одреден датум |
| 4 | {{{#!div style="font-size: 80%" |
| 5 | Code highlighting: |
| 6 | {{{#!sql |
| 7 | select max(brojac.vkupen_broj_na_rezervirana_kategorija) as vkupen_broj_na_najmnogu_rezervirana_kategorija_vo_odreden_datum |
| 8 | from |
| 9 | ( |
| 10 | select distinct |
| 11 | --naslovi.knigaID, |
| 12 | --naslovi.naslovKniga, |
| 13 | --naslovi.dobieniNasloviNaKategorii as nasloviKategorii, |
| 14 | count(naslovi.dobieniNasloviNaKategorii) as vkupen_broj_na_rezervirana_kategorija |
| 15 | from kategorija as kat |
| 16 | inner join( |
| 17 | select c.clenskibr, r.rezervacijaid, kl.knigaid as knigaID, k.naslov as naslovKniga, ka.kategorijaid, ka.naslovkategorija as dobieniNasloviNaKategorii |
| 18 | from clen as c |
| 19 | inner join rezervacija as r on c.clenskibr = r.clenskibr |
| 20 | inner join knigi as k on r.knigaid = k.knigaid |
| 21 | inner join klasificira as kl on k.knigaid = kl.knigaid |
| 22 | inner join kategorija as ka on kl.kategorijaid = ka.kategorijaid |
| 23 | where r.dennarezervacija = '2020-04-03' |
| 24 | group by c.clenskibr, r.rezervacijaid, kl.knigaid, k.naslov, ka.kategorijaid, ka.naslovkategorija |
| 25 | ) as naslovi on kat.kategorijaid = naslovi.kategorijaid |
| 26 | group by /*naslovi.knigaID, naslovi.naslovKniga, naslovi.dobieniNasloviNaKategorii*/ naslovi.dobieniNasloviNaKategorii having count(*) > 0 |
| 27 | ) as brojac |
| 28 | }}} |
| 29 | }}} |
7 | | == Податочни побарувања |
8 | | |
9 | | |
10 | | * '''Луѓе''' - Ентитет од кој што произлегуваат 2 други ентитети за потребите на решението. |
11 | | * Кандидат клучеви: '''//ЛуѓеИД//''' - вештачки број за разликување на инстанци од Луѓе, нумеричен, PRIMARY KEY (задолжителен) |
12 | | * Атрибути: |
13 | | * Име - текстуален тип (задолжителен) |
14 | | * Презиме - текстуален тип (задолжителен) |
15 | | * Адреса - текстуален тип (опционален) |
16 | | * Емаил - текстуален тип (задолжителен) |
17 | | * ЛТел.Број - текстуален тип (опционален) |
18 | | |
19 | | * '''Библиотекар''' - Ентитет кој што произлегува од Луѓе, дефинира корисник и админ на апликацијата. |
20 | | * Кандидат клучеви: '''//БиблиотекарИД//''' - вештачки број за разликување на инстанци од Библиотеки, нумеричен, PRIMARY KEY (задолжителен) |
21 | | * Атрибути: |
22 | | |
23 | | * '''Библиотека''' - Ентитет кој што дефинира физичка библиотека. |
24 | | * Кандидат клучеви: '''//БиблиотекаИД//''' - вештачки број за разликување на инстанци од Библиотека, нумеричен, PRIMARY KEY (задолжителен) |
25 | | * Атрибути: |
26 | | * БИме - текстуален тип (задолжителен) |
27 | | * БАдреса - текстуален тип (задолжителен) |
28 | | |
29 | | * '''Резервација''' - Ентитет кој што дефинира информација за резервација на книга. |
30 | | * Кандидат клучеви: '''//РезервацијаИД//''' - вештачки број за разликување на инстанци од Резервација, нумеричен, PRIMARY KEY (задолжителен) |
31 | | * Атрибути: |
32 | | * денНаРезервација - датум (задолжителен) |
33 | | * рСтатус - текстуален тип (задолжителен) |
34 | | |
35 | | * '''Позајмица''' - Ентитет кој што дефинира информација за позајмица на книга. |
36 | | * Кандидат клучеви: '''//ПозајмицаИД//''' - вештачки број за разликување на инстанци од Позајмица, нумеричен, PRIMARY KEY (задолжителен) |
37 | | * Атрибути: |
38 | | * Почеток-Датум - датум (задолжителен) |
39 | | * Крај-Датум - датум (задолжителен) |
40 | | * пСтатус - текстуален тип (задолжителен) |
41 | | |
42 | | * '''Член''' - Ентитет кој што произлегува од Луѓе, дефинира корисник на апликацијата. |
43 | | * Кандидат клучеви: '''//ЧленИД//''' - вештачки број за разликување на инстанци од Член, нумеричен, PRIMARY KEY (задолжителен) |
44 | | * Атрибути: |
45 | | * датумНаЗачленување - датум (задолжителен) |
46 | | * пасвордЧлен - текстуален тип (задолжителен) |
47 | | |
48 | | * '''Автор''' - Ентитет кој што дефинира информации за автори на книги. |
49 | | * Кандидат клучеви: '''//АвторИД//''' - вештачки број за разликување на инстанци од Автор, нумеричен, PRIMARY KEY (задолжителен) |
50 | | * Атрибути: |
51 | | * АИме - текстуален тип (задолжителен) |
52 | | * АЕмаил - текстуален тип (задолжителен) |
53 | | |
54 | | * '''Категорија''' - Ентитет кој што дефинира информации за категории на книги. |
55 | | * Кандидат клучеви: '''//КатегоријаИД//''' - вештачки број за разликување на инстанци од Категорија, нумеричен, PRIMARY KEY (задолжителен) |
56 | | * Атрибути: |
57 | | * насловКатегорија - текстуален тип (задолжителен) |
58 | | |
59 | | * '''Издавач''' - Ентитет кој што дефинира информации за издавачи на книги. |
60 | | * Кандидат клучеви: '''//ИздавачИД//''' - вештачки број за разликување на инстанци од Издавач, нумеричен, PRIMARY KEY (задолжителен) |
61 | | * Атрибути: |
62 | | * ИЕмаил - текстуален тип (задолжителен) |
63 | | * Ииме - текстуален тип (задолжителен) |
64 | | * ИАдреса - текстуален тип (опционален) |
65 | | * ИТел.Бр - текстуален тип (опционален) |
66 | | |
67 | | * '''Оцена''' - Ентитет кој што дефинира оценување и коментирање на книги. |
68 | | * Кандидат клучеви: '''//ОценаИД//''' - вештачки број за разликување на инстанци од Оцена, нумеричен, PRIMARY KEY (задолжителен) |
69 | | * Атрибути: |
70 | | * Коментар - текстуален тип (опционален) |
71 | | * Оцена - нумеричен (опционален) |
72 | | |
73 | | |
74 | | * '''Книги''' - Ентитет кој што дефинира информации за книги. |
75 | | * Кандидат клучеви: '''//КнигаИД//''' - вештачки број за разликување на инстанци од Книги, нумеричен, PRIMARY KEY (задолжителен) |
76 | | * Атрибути: |
77 | | * Наслов - текстуален тип (задолжителен) |
78 | | * кОпис - текстуален тип (задолжителен) |
79 | | * кФормат - тесктуален тип (задолжителен) |
80 | | |
81 | | * '''Инстанца_Книга''' - Слаб ентитет кој зависи од Книги и кој што дефинира една инстанца од книга. |
82 | | * Кандидат клучеви: '''//КнигаИД//''' и '''//СерискиБрој//''' - вештачки броеви за разликување на инстанци од Книги (композитен клуч), нумеричен, PRIMARY KEY (задолжителен), дискриминатор(задолжителен), заедно со КнигаИД од Книги го создаваат PRIMARY KEY на Инстанца_Книга. |
83 | | * Атрибути: |
84 | | * иСтатус - текстуален тип (задолжителен) |
85 | | |
86 | | |
87 | | * '''работи во''' - Релација која поврзува Библиотека со Библиотекар, еден библиотекар работи во една библиотека. |
88 | | * '''потврдува''' - Релација која поврзува Библиотекар со Резервација, еден библиотекар потврдува една резервација. |
89 | | * '''додава''' - Релација која поврзува Библиотекар со Книги, еден библиотекар додава една книга. |
90 | | * '''прави''' - Релација која поврзува Член со Резервација, еден член прави една резервација. |
91 | | * '''оценува''' - Релација која поврзува Член со Оцена, еден член дава една оценка |
92 | | * '''се наоѓа''' - Релација која поврзува Библиотека со Инстанца_Книга, една инстаца од книга се наоѓа во една библиотека. |
93 | | * '''станува''' - Релација која поврзува Резервација со Позајмица, една резервација станува една позајмица. |
94 | | * '''е издадена''' - Релација која поврзува Издавач со Книги, една книга е издадена од еден издавач. |
95 | | * '''напишал''' - Релација која поврзува Автор со Книги, еден автор напишал една книга. |
96 | | * '''класифицира''' - Релација која поврзува Категорија со Книги, една книга има една категорија. |
97 | | * '''има''' - Релација која поврзува Книги со Инстанца_Книга, една книга има една инстанца од книга. |
98 | | * '''содржи''' - Релација која поврзува Оцена со Автор, еден автор има една оцена. |
99 | | * '''е дел''' - Релација која поврзува Оцена со Книги, една книга има една оцена. |
100 | | * '''е пополнета''' - Релација која поврзува Резервација со Книги, една резервација има една книга. |
101 | | * '''состои''' - Релација која поврзува Позајмица со Инстанца_Книгa, една позајмица има една инстанца од книга. |
102 | | |
103 | | |
104 | | |
105 | | |
106 | | == Историјат |
107 | | |
108 | | 1. [[wiki:ER Diagram One|Верзија 1]] на ЕР Дијаграм и податочни побарувања |
109 | | 2. [[wiki:ER Diagram|Верзија 2]] на ЕР Дијаграм - Направени се сите промени кои се побарани во првиот тикет испратен од асистентот (Тикет #1) |
110 | | 3. [[wiki:"ER Diagram Three"|Верзија 3]] на ЕР Дијаграм - Направени се промени побарани од страна на асистентот. Промените се: Тотално учество на "Резервација" накај "Прави", "Позајмица" има нов атрибут "статус", кардиналност на Библиотека накај Инстанца Книга сменето во 1 -> Библиотека 1 - N Инстанца Книга |
111 | | 4. [[wiki:ERModel|Верзија 4]] на ЕР Дијаграм - Направени се следните измени: додаден атрибути "насловКатегорија" во ентитетот Категорија, додадени атрибути "кФормат" и "кОпис" во ентитетот Книги според барањата на тикетот #4, сменето именување на следните: релацијата "содржи" меѓу "Оцена" и "Книги" сменето во "е дел", релацијата "има" меѓу "Категорија" и "Книги" сменето во "класифицира", релацијата "содржи" меѓу "Позајмица" и "Инстанца Книга" сменето во "состои", релацијата "содржи" меѓу "Резервација" и "Книги" сменето во "е пополнета", исто така сменети се имињата на атрибутите статус на ентитетите Резервација, Позајмица и Инстанца Книга во рСтатус, пСтатус, иСтатус за да се избегне дупликати како што е побарано во тикетот #5. Исто така е направена целосна промена на структурирањето на проектниот сајт според барањата кои се наведени од страна на професорот во тикетот #3. |