wiki:Концептуален дизајн - ЕР Дијаграм и податочни побарувања

Version 10 (modified by 201205, 2 weeks ago) ( diff )

--

Дијаграм

Податочни побарувања

Ентитети

  1. User – Ентитет за корисник со сите негови информации.
  • UserId – примарен клуч, нумерички, задолжителен
  • Name – текстуален тип, задолжителен
  • Username – varchar тип, задолжителен
  • Password – varchar тип, задолжителен
  • Email – varchar тип, задолжителен
  • Location – текстуален тип, задолжителен
  1. Book – Ентитет за книга во системот
  • BookId – примарен клуч, нумерички, задолжителен
  • BookISBN – нумерички тип, задолжителен
  • Title – char тип, задолжителен
  • Author – текстуален тип, задолжителен
  • Genre – текстуален тип, задолжителен
  • Language – текстуален тип, задолжителен
  • ImageURL – текстуален тип, опционален
  1. Library – Ентитет за листата на физички книги која корисникот ги поседува
  • InventoryId – примарен клуч, нумерички, задолжителен
  • Availability – текстуален тип, задолжителен
  • Condition – текстуален тип, задолжителен
  1. Wishlist – Ентитет за листата на книги кои корисникот има желба да ги прочита и позајми
  • WishId – примарен клуч, нумерички, задолжителен
  • Priority – текстуален тип, опционален
  1. BookRequest – Ентитет за барање на книга од корисник што истата ја поседува во нивната библиотека
  • RequestId – примарен клуч, нумерички, задолжителен
  • RequestStatus – текстуален тип, задолжителен
  • RequestDate – датум, задолжителен
  1. Transaction – Ентитет за размена на една или две книги помеѓу двајца корисници
  • TransactionId – примарен клуч, нумерички тип, задолжителен
  • BorrowDate – датум, задолжителен
  • ReturnDate – датум, задолжителен
  • BorrowDuration – нумерички тип, задолжителен
  • SwapTransactionId – нумерички тип, опционален
  1. Review – Ентитет за оставање на рејтинг и коментар на корисници по размена на книги
  • ReviewId – примарен клуч, нумерички, задолжителен
  • Rating – нумерички тип, задолжителен
  • ReviewerComment – текстуален тип, опционален
  • Date – датум, задолжителен
  1. Message – Ентитет за испраќање и примање на пораки меѓу корисниците
  • MessageId – примарен клуч, нумерички, задолжителен
  • MessageContent – текстуален тип, задолжителен
  • Timestamp – време и датум, задолжителен
  1. FriendRequest – Ентитет за спријателување на корисниците на апликацијата
  • FriendshipId – примарен клуч, нумерички, задолжителен
  • Status – текстуален тип, задолжителен
  1. Report – Ентитет за пријавување на недолично однесување на корисниците
  • ReportId – примарен клуч, нумерички, задолжителен
  • ReportDate – датум, задолжителен
  • ReportType – текстуален тип, задолжителен
  • Details – текстуален тип, опционален
  • ReportedEntity – нумерички тип, задолжителен
  • ReportStatus – текстуален тип, задолжителен
  1. Notification – Ентитет за испраќање на известувања до корисниците
  • NotificationId – примарен клуч, нумерички, задолжителен
  • Type – текстуален тип, задолжителен
  • Description – текстуален тип, задолжителен
  • Timestamp – време и датум, задолжителен
  • EntityId – нумерички тип, задолжителен
  • Status – текстуален тип, задолжителен

1-1 Релации

  • Results – Релација помеѓу BookRequest и Transaction, едно барање за книга резултира во една трансакција, и една трансакција настанува со едно одобрено барање за книга. Делумно учество од страната на BookRequest, и целосно од страната на Transaction.
  • Changes – Релација помеѓу Transaction и Library, со тоа што една трансакција односно замена на книги ја менува состојбата на библиотеката на корисниците, така што книгата која корисникот ја дал некому станува ‘Not-Available’, и обратно, книгата што се вратила станува ‘Available’. Една трансакција ја менува состојбата на библиотеката, и една промена кај библиотеката настанува од една трансакција. Делумно учество од страната на Library, а целосно од страната на Transaction.
  • Prompts – Релација меѓу Transaction и Review, со тоа што по завршената трансакција корисникот мора да даде рејтинг за другиот корисник во замената. Една трансакција води кон рејтинг, и еден рејтинг настанува како последица од завршена трансакција. Делумно учество од страната на Review, а целосно од страната на Transaction.
  • Changes – Релација помеѓу BookRequest и Library, со тоа што едно барање за книга го променува статусот на достапност на книгата во библиотеката, а една таква промена во библиотеката настанува со едно барање за книга. Делумно учество од страната на Library, а целосно од страната на BookRequest.

1-N Релации

  • Owns – Релација помеѓу User и Library, со која корисникот ги наведува книгите што ги поседува во библиотеката на апликацијата. Еден корисник може да наведе дека поседува повеќе книги во библиотеката, а една библиотека има само еден единствен корисник. Делумно учество од страната на User, целосно од страната на Library.
  • Adds – Релација помеѓу User и Wishlist, со која корисникот ќе може да додава книги кои сака да ги позејми. Еден корисник може да додава повеќе книги во листата, а една листа припаѓа само на еден корисник. Делумно учество од страната на User, целосно од страната на Wishlist.
  • Gives – Релација помеѓу User и Review, со која корисникот дава рејтинг за корисникот со кој разменувал книги. Еден корисник може да даде повеќе рејтингзи, а еден рејтинг е даден од еден корисник. Делумно учество од страната на User, целосно од страната на Review.
  • Receives – Релација помеѓу User и Review, со која еден корисник прима рејтинг од корисникот со кој разменувал книги. Еден корисник може да прими повеќе рејтингзи, а еден рејтинг е примен од еден корисник. Делумно учество од страната на User, целосно од страната на Review.
  • Lends – Релација помеѓу User и Transaction, со која корисникот може да дава книга на друг корисник, еден корисник може да дава книги во повеќе трансакции, една трансакција е направена од еден корисник кој дава книга. Делумно учество од страната на User, целосно од страната на Transaction.
  • Borrows – Релација помеѓу User и Transaction, со која корисникот може да позајмува книга од друг корисник, еден корисник може да позајмува книги од повеќе трансакции, една трансакција е направена од еден корисник кој позајмува книга. Делумно учество од страната на User, целосно од страната на Transaction.
  • Prompts – Релација помеѓу Transaction и Notification. Апликацијата испраќа потсетници на корисниците кои позајмиле книги да ги вратат книгите пред истекување на договорениот рок. Една трансакција може да поттикне повеќе известувања, а едно известување доаѓа од една трансакција. Делумно учество од двете страни.
  • Receives – Релација помеѓу User и Report, со која што корисниците можат да бидат пријавувани за недолично однесување. Еден корисник може да прима повеќе пријави, и една пријава е добиена од еден корисник. Делумно учество од страната на User, целосно од страната на Report.
  • Gives – Релација помеѓу User и Report, со која што корисниците можат да пријавуваат други за недолично однесување. Еден корисник може да направи повеќе пријави, и една пријава е направена од еден корисник. Делумно учество од страната на User, целосно од страната на Report.
  • Sends – Релација помеѓу User и FriendRequest. Еден корисник може да испрати повеќе барања за пријателства, и едно барање е испратено од еден корисник. Делумно учество од страната на User, целосно од страната на FriendRequest.
  • Receives – Релација помеѓу User и FriendRequest. Еден корисник може да прими повеќе барања за пријателства, и едно барање е примено од еден корисник. Делумно учество од страната на User, целосно од страната на FriendRequest.
  • Sends – Релација помеѓу User и Message. Еден корисник може да испрати повеќе пораки, и една порака е испратена од еден корисник. Делумно учество од страната на User, целосно од страната на Message.
  • Receives – Релација помеѓу User и Message. Еден корисник може да прими повеќе пораки, и една порака е примена од еден корисник. Делумно учество од страната на User, целосно од страната на Message.
  • Creates – Релација помеѓу User и BookRequest. Еден корисник може да креира повеќе барања за книги, и едно барање е креирано од еден корисник. Делумно учество од страната на User, целосно од страната на BookRequest.
  • Contains – Релација помеѓу Book и Wishlist. Една книга може да се содржи во многу листи на желби, а во една листа на желби може да има една таква книга. Делумно учество од страната на Book, целосно од страната на Wishlist.
  • Contains – Релација помеѓу Book и Library. Една книга може да се содржи во многу библиотеки, а во една библиотека може да има една таква книга. Делумно учество од страната на Book, целосно од страната на Library.
  • Requests – Релација помеѓу Book и BookRequest. Една книга може да е побарана во повеќе корисничи барања, а во едно барање може да се побарува само една книга. Делумно учество од страната на Book, целосно од страната на BookRequest.

M-N Релации

  • Involves – Релација помеѓу Transaction и Book. Една книга може да е дел од повеќе кориснички трансакции, а во една трансакција може да се разменуваат повеќе книги. Делумно учество од страната на Transaction, и делумно од страната на Book.
  • Receives – Релација помеѓу User и Notification. Со оваа релација, апликацијата може да им испраќа на корисниците известувања за барања за книги, понуди за пријателства, пораки, и системски и апликациски надградби и информации. Еден корисник може да прима повеќе известувања, а едно известување може да биде пратено на повеќе корисници. Делумно учество од страната на User, целосно од страната на Notification.

Attachments (8)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.