== ER дијаграм [[Image(ЕRD-final.png)]] == Податочни побарувања === Ентитети Ентитети **Users** –ентитет кој чува податоци за секој регистриран корисник, од него наследуваат два ентитети. Id_User – нумерички тип, примарен клуч First_Name – текстуален тип, задолжителен Last_Name – текстуален тип, задолжителен Contact_Number - текстуален тип Address – текстуален тип Password – текстуален тип, задолжителен Username – текстуален тип, задолжителен Date_Created - датум **Workers** – ентитет за вработен кој наследува од user Id_Worker – нумерички тип, примарен клуч Position –текстуален тип, задолжителен Work_Hours_from - текстуален тип, задолжителен Work_Hours_to – текстуален тип, задолжителен **Customers** – ентитет за корисник кој наследува од user Id_Customer- нумерички тип, примарен клуч Points- нумерички тип, задолжителен **Salaries** – ентитет кој чува податоци за платата на worker Id_Salary - нумерички тип, примарен клуч Date_from- датум Date_to - датум Sum- нумерички тип, задолжителен **Films** – ентитет кој чува податоци за филмовите во киното Id_Film - нумерички тип, примарен клуч Name – текстуален тип, задолжителен Duration - текстуален тип, задолжителен Actors - текстуален тип, задолжителен Release_Date - датум Genre - текстуален тип, задолжителен Age_Category - текстуален тип, задолжителен Director - текстуален тип, задолжителен Description - текстуален тип, задолжителен **Cinemas** – ентитет кој чува податоци за кината Id_Cinema - нумерички тип, примарен клуч Name - текстуален тип, задолжителен Location - текстуален тип, задолжителен **Events** – ентитет кој чува податоци за настани кои се случуваат во кината Id_Event – нумерички тип, примарен клуч Тheme – текстуален тип, задолжителен Duration- текстуален тип, задолжителен Repeating – текстуален тип, задолжителен Start_Dates- датум, задолжителен **Projections** – ентитет кој чува податоци за проекциите на одреден филм Id_Projection– нумерички тип, примарен клуч Date_Time_Start – датум, задолжителен Date_Time_End –датум, задолжителен, изведен атрибут од Date_Time_Start и Duration на филмот Type_Of_Technology- текстуален тип, задолжителен **Tickets** – ентитет кој чува податоци за резервацијата на корисникот Id_Ticket - нумерички тип, примарен клуч Price- нумерички тип, задолжителен, изведен атрибут од Duration, Type_Of_Technology, Percent и Extra_Amount за посебен тип на избрано седиште **Discounts** –ентитет кој чува податоци за намаленијата на одредени проекции Id_Discount - нумерички тип, примарен клуч Validity – датум, задолжителен Code- текстуален тип, задолжителен Type- текстуален тип, задолжителен Percent - нумерички тип, задолжителен **Seats** –ентитет кој чува податоци за седиштата во кино салите Id_Seat- нумерички тип, примарен клуч Seat_Number - текстуален тип, задолжителен **Projection_Rooms** –ентитет кој чува податоци за кино салите Id_Room- нумерички тип, примарен клуч Number_Of_Seats - нумерички тип,задолжителен Projection_Room_Number - нумерички тип,задолжителен **Categories** – ентитет кој чува податоци за типот на седиште Id_Category - нумерички тип, примарен клуч Name - текстуален тип, задолжителен Extra_Amount - нумерички тип,задолжителен === Релации **-gets** – релација помеѓу ентитет Workers и ентитет Salary која означува плата на вработениот со тотално учество од двете страни. За еден вработен може да се чуваат повеќе плати. Ова посочува на промена на платата на вработениот како покачување или намалување во текот на неговата работа **-works_in ** -релација помеѓу ентитет Workers и ентитет Cinemas која означува дека вработен работи во киното и има тотално учество од двете страни. Една кинотека има повеќе вработени, а вработен работи во една кинотека. **-plays** -релација помеѓу ентитет Films и ентитет Cinemas која означува кои филмови се прикажуваат во киното со тотално учество од страната на кино. Киното прикажува повеќе филмови и филмот е прикажан во повеќе кинотеки. **-organizes** -релација помеѓу ентитет Events и ентитет Cinemas која означува дека киното организира настани. Настаните може да се организирани во повеќе кина и кината имаат повеќе настани. **-takes_place_in ** -релација помеѓу ентитет Events и ентитет Projections која означува настанот во која проекција се одржува. Еден настан може да се одржи за повеќе проекции и во една проекција има само еден настан. **-has** - релација помеѓу ентитет Cinemas и ентитет Projection_Rooms која означува дека кинотеката има сали со тотално учество од двете страни. Киното има повеќе сали, а една сала се наоѓа во една кинотека. **-is_played_in** -релација помеѓу ентитет Projections и ентитет Projection_Rooms која означува во која сала се одржува проекцијата, со тотално учество од страната на проекција. Во една сала се одржуваат повеќе проекции и една проекција се одржува во повеќе сали. **-can_be_watched** -релација помеѓу ентитет Films и ентитет Projections која ги означува проекциите за филм со тотално учество од страната на проекции. Филмот има повеќе проекции, а една проекција е за точно еден филм. **-rates** - релација помеѓу ентитет Films и ентитет Customers која означува дека корисниците може да оставаат оценки за филмовите. Еден корисник може да оценува повеќе филмови и еден филм може да биде оценет од повеќе корисници. Атрибути: ratings (оцената која ја има дадено корисникот за филмот) **-reserves** - релација помеѓу ентитет Customers и ентитет Tickets која означува дека корисникот резервирал карта, со тотално учество од страната на картата. Корисникот може да резервира повеќе карти,а една карта е за еден корисник. Атрибути: Date (датумот кога е направена резервацијата) **-is_for** - релација помеѓу ентитет Projections и ентитет Tickets која означува картата за која проекција е, со тотално учество од страната на картата. Проекцијата има повеќе карти, а картата е за една проекција. **-is_bought_with ** – релација помеѓу ентитет Tickets и ентитет Discounts која означува дали каратата е купена со намаление. Намаление може да имаат повеќе карти, а карата има едно намаление. **-gives** - релација помеѓу ентитет Projections и ентитет Discounts која означува за кои проекции е намалението. Проекцијата има едно намаление додека намаление може да имаат повеќе проекции. Атрибути: quantity (количина на discounts достапни за таа проекција) **-possesses** -релација помеѓу ентитет Projection_Rooms и ентитет Seats која ги означува седиштата во салата, со тотално учество од двете страни. Салите имаат повеќе седишта, а седиште припаѓа на една сала. **-contains** -релација помеѓу ентитет Tickets и ентитет Seats која го означува седиштето за картата, со тотално учество од страната на картата. Картата има едно седиште, а за седиште има повеќе карти. **-is_in** - релација помеѓу ентитет Seats и ентитет Categories која означува седиштето во која категорија е, со тотално учество од страната на категорија. Седиштето има една категорија додека во една категорија може да се повеќе седишта. == Историјат [attachment:ERD_first.jpg Верзија 1] на ЕР Дијаграм и податочни побарувања. [attachment:ERD_second.jpg Верзија 2] на ЕР Дијаграм - Бришење на улогата администратор и промена на релацијата помеѓу discount и ticket со discount и projections. [attachment:ERD_third.jpg Верзија 3] на ЕР Дијаграм - Додавање на нов ентитет Events. [attachment:ЕRD-final.png Верзија 4] на ЕР Дијаграм - Финален изглед со промена на некои релации и атрибути. [attachment:ЕRD-final.png Верзија 5] на ЕР Дијаграм - Финален изглед со уште дополнителни промени на атрибути и подобра организација на дијаграмот.