= Верзија 6 = == Дијаграм == [[Image(ERModel_v6.jpg)]] == Податочни побарувања == === Ентитети === * '''Person''' – ентитет што претставува човек * Кандидат клучеви * id_person – примарен клуч, нумерички тип (Long), задолжителен * Атрибути * Name – текстуален тип (String), максимум 9 карактери, задолжителен * Surname – текстуален тип (String), максимум 12 карактери, задолжителен * Address – текстуален тип (String), максимум 25 карактери, задолжителен * Town – текстуален тип (String), максимум 10 карактери, задолжителен * phone_num – текстуален тип (String), максимум 15 карактери, задолжителен * birth – тип датум(Date), задолжителен * email – текстуален тип (String), максимум 45 карактери, задолжителен * pass – текстуален тип (String), максимум 16 карактери, задолжителен * '''Employee''' – ентитет што претставува вработен во библиотеката * Атрибути * position – текстуален тип (String), максимум 14 карактери, задолжителен * '''Member''' – ентитет (корисник) што претставува член во библиотеката, има членство во истата * Атрибути * isPayedMemberShip – тип boolean, задолжителен * isPayedBook – тип boolean, задолжителен * **!SchoolType** – ентитет што претставува во каков тип на школо е во момент корисникот * Кандидат клучеви * id_school – примарен клуч, нумерички тип (Long), задолжителен * Атрибути * school_type_name– текстуален тип (String), максимум 40 карактери, задолжителен * **!MembershipType** – ентитет што претставува какво членување избира корисникот * Кандидат клучеви * id_membership – примарен клуч, нумерички тип (Long), задолжителен * Атрибути * mem_type_name – текстуален тип (String), максимум 35 карактери, задолжителен * '''!PriceList''' – ентитет што претставува која цена треба да ја плати корисникот * Кандидат клучеви * id_price – примарен клуч, нумерички тип (Long), задолжителен * Атрибути * price – нумерички тип (Int), задолжителен * '''!OnlineDownload''' – ентитет што претставува симнување на некоја книга online * Кандидат клучеви * id_onlineDown – примарен клуч, нумерички тип (Long), задолжителен * downloaded - нумерички типн(Int), задолжителен * '''!ReservationBook''' – ентитет што претставува резервирање на некоја книга * Кандидат клучеви * id_resBook – примарен клуч, нумерички тип (Long), задолжителен * Атрибути * take_date – тип датум (Date), задолжителен * return_date – тип датум (Date), задолжителен * isReservedBook - тип boolean, задолжителен * '''!ReservationPlace''' – ентитет што претставува резервирање на место во одредена просторија * Кандидат клучеви * id_resRoom – примарен клуч, нумерички тип (Long), задолжителен * Атрибути * coming_date – тип датум (Date), задолжителен * leavingTime– тип време (Time), задолжителен * comingTime– тип време (Time), задолжителен * '''Library''' – ентитет што ја претставува библиотеката * Кандидат клучеви * id_library – примарен клуч, нумерички тип (Long), задолжителен * Атрибути * name – текстуален тип (String), максимум 30 карактери, задолжителен * city – текстуален тип (String), максимум 13 карактери, задолжителен * '''Room''' – ентитет што претставува просторија за учење или читање во библиотеката * Кандидат клучеви * id_room – примарен клуч, нумерички тип (Long), задолжителен * Атрибути * places – нумерички тип (Int), задолжителен, (означува колку места има во една просторија во библиотеката) * free_places – нумерички тип (Int), задолжителен, (означува уште колку слободни места се останати во просторијата) * '''Book''' – ентитет што претставува книга во библиотеката * Кандидат клучеви * Id_book – примарен клуч, нумерички тип (Long), задолжителен * Атрибути * name – текстуален тип (String), максимум 120 карактери, задолжителен * book_num – нумерички тип (Int), задолжителен, (означува колку копии или изданија има во библиотеката од конкретна книга) * is_free – булеан тип (Bool), задолжителен * book_price – нумерички тип (Int), задолжителен, (цена на книга за изнајмување) * book_price_late – нумерички тип (Int), задолжителен, (цена на книга ако се врати со задоцнување) * '''Genre''' – ентитет што ги претставува типовите на жанрови * Кандидат клучеви * id_genre – примарен клуч, нумерички тип (Long), задолжителен * Атрибути * name – текстуален тип (String), максимум 60 карактери, задолжителен * '''Review''' – ентитет што претставува review на некоја книга * Кандидат клучеви * id_review – примарен клуч, нумерички тип (Long), задолжителен * Атрибути * rent_num – нумерички тип (Int), задолжителен, (колку пати е симната или изнајмена некоја книга) * rate – нумерички тип (Int), задолжителен, (која оценка и ја даваат читателите на книгата која што ја прочитале) * '''Writer''' – ентитет што ги претставува писател на книга * Кандидат клучеви * Id_writer – примарен клуч, нумерички тип (Long), задолжителен * Атрибути * Name – текстуален тип (String), максимум 70 карактери, задолжителен * book_num – нумерички тип (Int), задолжителен, (изведен атрибут и означува колку книги има библиотеката од конкретен писател) === Релации === * '''work''' – оваа релација ги поврзува ентитетите Library и Employee, и означува дека во една библиотека работат повеќе вработени. * '''isMember ''' - оваа релација ги поврзува ентитетите Library и Member, и означува дека во една библиотека членуваат повеќе луѓе. Member има тотално учество бидејќи во членувањето во библиотеката. * '''isIn''' - оваа релација ги поврзува ентитетите Member и !SchoolType, и означува дека еден член може да избере или да има еден училишен тип. * '''chooses ''' - оваа релација ги поврзува ентитетите Member и Membership_Type, и означува дека еден член може да има еден тип на чланарина во библиотеката. * '''has''' - оваа релација ги поврзува ентитетите School_Type и Membership_Type, и означува дека повеќе училишни типови имаат повеќе типови на месечна чланарина кои ги нудат. * '''paysFor''' - оваа релација ги поврзува ентитетите Membership_Type и Price, и означува која цена ќе ја плаќа корисникот, односно дека за еден тип на членување ќе плаќа една цена. * '''downloads''' – оваа релација ги поврзува ентитетите Member и Online_Download, и означува дека еден корисник може да направи повеќе симнувања. Online_Download има тотално учество, бидејќи симнувањето мора да биде направено од некој Member. * '''downloadsBook''' – оваа релација ги поврзува ентитетите Online_Download и Book, и означува дека за една книга може да се направат повеќе симнувања. * '''resBook''' – оваа релација ги поврзува ентитетите Member и Reservation_Book, и означува дека еден корисник може да направи повеќе резервации на книги. * '''rentBook''' – оваа релација ги поврзува ентитетите Book и Reservation_Book, и означува дека за една книга може да се направат повеќе изнајмувања. !ReservationBook има тотално учество, бидејќи резервирањето на книга мора да биде направено од некој Member. * '''resPlace''' – оваа релација ги поврзува ентитетите Member и Reservation_Place, и означува дека еден корисник може да направи повеќе резервации за едно место. !ReservationPlace има тотално учество, бидејќи резервирањето на место мора да биде направено од некој Member. * '''owns''' – оваа релација ги поврзува ентитетите Library и Book, и означува дека во една библиотека има повеќе книги. Book има тотално учество во оваа врска, бидејќи една библиотека мора да поседува книги. * '''hasRooms''' – оваа релација ги поврзува ентитетите Library и Room, и означува дека во една библиотека има повеќе простории. * '''hasPlaces''' – оваа релација ги поврзува ентитетите Room и Reservation_Place, и означува дека една просторија има повеќе места. * '''hasGenre''' – оваа релација ги поврзува ентитетите Book и Genre, и означува дека една книга може да има еден жанр. * '''reviews''' – оваа релација ги поврзува ентитетите Book и Review, и означува дека за една книга може да има повеќе reviews. * '''wrote''' – оваа релација ги поврзува ентитетите Book и Writer, и означува дека една книга може да има повеќе писатели, и дека повеќе писатели може да имаат напишано една книга. Writer има тотално учество во оваа врска, бидејќи една книга не може да нема писател. == Историјат: == * '''[wiki:ERmodel_v1.png Верзија 1]''' - креирани сите атрибути и релации, односно почетна верзија на ER дијаграм. * '''[wiki:ERModel_v2.png Верзија 2]''' - корекција на цел дијаграм, поточно додавање на нови ентитети и врски, и поставување на соодветни атрибути кај ентитетите. * '''[wiki:ERModel_v3.png Верзија 3]''' - додавање на врски помеѓу ентиетите со цел да се постигне посакуваното сценарио. * '''[wiki:ERModel_v4.png Верзија 4]''' - корекција во атрибутите и примарните клучеви кај антитетите Employee и Member. * '''[wiki:ERModel_v5.png Верзија 5]''' - подобрување на дизајнот и структурата на дијаграмот. Односно поедноставување, менување на слабите ентитети во регуларни и корегирање на атрибутите кај некои ентитети. * '''[wiki:ERModel_v6.png Верзија 6]'''