= Верзија 3 = == Дијаграм == [[Image(ERModel_v3.jpeg)]] == Податочни побарувања == === Ентитети === * '''Person''' – ентитет што претставува човек * Кандидат клучеви * id_person – примарен клуч, нумерички тип (Long), задолжителен * Атрибути * name – текстуален тип (String), максимум 15 карактери, задолжителен * surname – текстуален тип (String), максимум 15 карактери, задолжителен * address – текстуален тип (String), максимум 50 карактери, задолжителен * town – текстуален тип (String), максимум 15 карактери, задолжителен * phone_num – текстуален тип (String), максимум 20 карактери, задолжителен * '''Employee''' – ентитет што претставува вработен во библиотеката * Кандидат клучеви * id_emp – примарен клуч, нумерички тип (Long), задолжителен * Атрибути * position – текстуален тип (String), максимум 15 карактери, задолжителен * '''Member''' – ентитет (корисник) што претставува член во библиотеката, има членство во истата * Кандидат клучеви * id_mem – примарен клуч, нумерички тип (Long), задолжителен * Атрибути * birth – тип датум(Date), задолжителен * email – текстуален тип (String), максимум 60 карактери, задолжителен * pass – текстуален тип (String), максимум 20 карактери, задолжителен * '''SchoolType''' – ентитет што претставува во каков тип на школо е во момент корисникот * Кандидат клучеви * id_school – примарен клуч, нумерички тип (Long), задолжителен * Атрибути * primary – енум тип, задолжителен * high_school – енум тип, задолжителен * other – енум тип, задолжителен * '''MembershipType''' – ентитет што претставува какво членување избира корисникот * Кандидат клучеви * id_membership – примарен клуч, нумерички тип (Long), задолжителен * Атрибути * month – енум тип, задолжителен * year – енум тип, задолжителен * '''Price''' – ентитет што претставува која цена треба да ја плати корисникот * Кандидат клучеви * id_price – примарен клуч, нумерички тип (Long), задолжителен * Атрибути * month_price – нумерички тип (Int), задолжителен, (цена за еден месец членување во библиотеката) * year_price – нумерички тип (Int), задолжителен, (цена за една година членување во библиотеката) * primary_price – нумерички тип (Int), задолжителен, (цена за една година членување во библиотеката за ученици од основно образование) * highSchool_price – нумерички тип (Int), задолжителен, (цена за една година членување во библиотеката за ученици од средно образование) * '''OnlineDownload''' – слаб ентитет што претставува симнување на некоја книга online * Кандидат клучеви * id_onlineDown – примарен клуч, нумерички тип (Long), задолжителен * '''ReservationBook''' – слаб ентитет што претставува резервирање на некоја книга * Кандидат клучеви * id_resBook – примарен клуч, нумерички тип (Long), задолжителен * Атрибути * take_date – тип датум (Date), задолжителен * return_date – тип датум (Date), задолжителен * '''ReservationPlace''' – слаб ентитет што претставува резервирање на место во одредена просторија * Кандидат клучеви * id_resRoom – примарен клуч, нумерички тип (Long), задолжителен * Атрибути * date – тип датум (Date), задолжителен * duration – тип време (Time), задолжителен * '''Library''' – ентитет што ја претставува библиотеката * Кандидат клучеви * id_library – примарен клуч, нумерички тип (Long), задолжителен * Атрибути * name – текстуален тип (String), максимум 50 карактери, задолжителен * city – текстуален тип (String), максимум 15 карактери, задолжителен * '''Room''' – ентитет што претставува просторија за учење или читање во библиотеката * Кандидат клучеви * id_room – примарен клуч, нумерички тип (Long), задолжителен * Атрибути * places – нумерички тип (Int), задолжителен, (означува колку места има во една просторија во библиотеката) * free_places – нумерички тип (Int), задолжителен, (означува уште колку слободни места се останати во просторијата) * '''Book''' – слаб ентитет што претставува книга во библиотеката * Кандидат клучеви * Id_book – примарен клуч, нумерички тип (Long), задолжителен * Атрибути * name – текстуален тип (String), максимум 70 карактери, задолжителен * book_num – нумерички тип (Int), задолжителен, (означува колку копии или изданија има во библиотеката од конкретна книга) * is_free – булеан тип (Bool), задолжителен * book_price – нумерички тип (Int), задолжителен, (цена на книга за изнајмување) * book_price_late – нумерички тип (Int), задолжителен, (цена на книга ако се врати со задоцнување) * '''Genre''' – ентитет што ги претставува типовите на жанрови * Кандидат клучеви * id_genre – примарен клуч, нумерички тип (Long), задолжителен * Атрибути * name – енум тип, задолжителен * '''Review''' – ентитет што претставува review на некоја книга * Кандидат клучеви * id_review – примарен клуч, нумерички тип (Long), задолжителен * Атрибути * rent_num – нумерички тип (Int), задолжителен, (колку пати е симната или изнајмена некоја книга) * rate – нумерички тип (Int), задолжителен, (која оценка и ја даваат читателите на книгата која што ја прочитале) * '''Writer''' – ентитет што ги претставува писател на книга * Кандидат клучеви * Id_writer – примарен клуч, нумерички тип (Long), задолжителен * Атрибути * Name – текстуален тип (String), максимум 70 карактери, задолжителен book_num – нумерички тип (Int), задолжителен, (изведен атрибут и означува колку книги има библиотеката од конкретен писател) === Релации === * '''work''' – оваа релација ги поврзува ентитетите Library и Employee, и означува дека во една библиотека работат повеќе вработени. * '''part''' - оваа релација ги поврзува ентитетите Library и Member, и означува дека во една библиотека членуваат повеќе луѓе. * '''booksIn''' - оваа релација ги поврзува ентитетите Library и Book, и означува дека во една библиотека има повеќе книги. * '''writersIn''' - оваа релација ги поврзува ентитетите Library и Writer, и означува дека во една библиотека има повеќе писатели на разни книги. * '''allReservation''' - оваа релација ги поврзува ентитетите Library и Reservation, и означува дека во една библиотека може да бидат направени повеќе резервации. * '''whichBook''' - оваа релација ги поврзува ентитетите Book и Reservation, и означува за која книга е направената резервација, и дека при една резервација може да биде резервирана една книга. * '''owns''' – оваа релација ги поврзува ентитетите Book и Writer, и означува дека еден писател може да е автор на повеќе книги. == Историјат: == * '''[wiki:ERmodel_v1.png Верзија 1]''' - креирани сите атрибути и релации. * '''[wiki:ERModel_v2.png Верзија 2]''' - креирани сите атрибути и релации. * '''[wiki:ERModel_v3.png Верзија 3]''' - креирани сите атрибути и релации.