wiki:ERModel

Верзија 5

Дијаграм

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

Ентитети

  • Persons - Ентитет што дефинира заеднички својства на даден актер и режисер.
    • Кандидат клучеви
      • person_id - примарен клуч, вештачки пресметан, нумерички тип, задолжителен
    • Атрибути
      • type - текстуален тип, максимум 1 знак, задолжителен
      • name - текстуален тип, максимум 100 знаци, задолжителен
      • surname - текстуален тип, максимум 100 знаци, задолжителен
      • date_of_birth - timestamp, задолжителен
      • image_url - текстуален тип, максимум 300 знаци, задолжителен
      • description - текстуален тип, максимум 300 знаци, задолжителен
      • user_ratings - изведен атрибут, нумерички, помеѓу 0 и 5
  • Directors - Ентитет што репрезентира даден режисер.
    • Кандидат клучеви
      • person_id - примарен клуч, вештачки пресметан, нумерички тип, задолжителен
    • Атрибути
      • type - текстуален тип, максимум 1 знак, задолжителен
      • name - текстуален тип, максимум 100 знаци, задолжителен
      • surname - текстуален тип, максимум 100 знаци, задолжителен
      • date_of_birth - timestamp, задолжителен
      • image_url - текстуален тип, максимум 300 знаци, задолжителен
      • description - текстуален тип, максимум 300 знаци, задолжителен
      • user_ratings - изведен атрибут, нумерички(помеѓу 0 и 5)
  • Actors - Ентитет што репрезентира даден актер.
    • Кандидат клучеви
      • person_id - примарен клуч, вештачки пресметан, нумерички тип, задолжителен
    • Атрибути
      • type - текстуален тип, максимум 1 знак, задолжителен
      • name - текстуален тип, максимум 100 знаци, задолжителен
      • surname - текстуален тип, максимум 100 знаци, задолжителен
      • date_of_birth - timestamp, задолжителен
      • image_url - текстуален тип, максимум 300 знаци, задолжителен
      • description - текстуален тип, максимум 300 знаци, задолжителен
      • user_ratings - изведен атрибут, нумерички(помеѓу 0 и 5)
  • Movies - Ентитет што репрезентира даден филм.
    • Кандидат клучеви
      • movie_id - примарен клуч, вештачки пресметан, нумерички тип, задолжителен
    • Атрибути
      • imbd_rating- децимален тип
      • user_ratings - изведен атрибут, нумерички, помеѓу 0 и 5
      • title - текстуален тип, максимум 150 знаци, задолжителен, уникатен
      • image_url - текстуален тип, максимум 300 знаци, задолжителен
      • description - текстуален тип, максимум 1000 знаци, задолжителен
      • airing_date - timestamp, задолжителен
  • Users - Ентитет што репрезентира даден корисник.
    • Кандидат клучеви
      • user_id - примарен клуч, вештачки пресметан, нумерички тип, задолжителен
    • Атрибути
      • username - текстуален тип, максимум 50 знаци, задолжителен, уникатен
      • name - текстуален тип, максимум 50 знаци, задолжителен
      • surname - текстуален тип, максимум 50 знаци, задолжителен
      • email - текстуален тип, максимум 150 знаци, задолжителен, уникатен
      • password- текстуален тип, максимум 30 знаци, задолжителен
  • Discussions - Ентитет што дефинира заеднички својства на дискусија за филм и актер.
    • Кандидат клучеви
      • dissucssion_id - примарен клуч, вештачки креиран, нумерички тип, задолжителен
    • Атрибути
      • type - текстуален тип, максимум 1 знак, задолжителен
      • text - текстуален тип, максимум 1000 знаци, задолжителен
      • title - текстуален тип, максимум 250 знаци, задолжителен, уникатен
      • date - timestap, задолжителен
      • likes - изведен атрибут, нумерички тип
      • dislikes - изведен атрибут, нумерички тип
  • Replies - Ентитет што репрезентира реплика.
    • Кандидат клучеви
      • reply_id - парцијален клуч, вештачки креиран, задолжителен, нумерички тип
    • Атрибути
      • text - текстуален тип, максимум 1000 знаци, задолжителен
      • date - timestap, задолжителен
      • likes - изведен атрибут, нумерички тип
      • dislikes - изведен атрибут, нумерички тип

  • Movie-Discussions - Ентитет што репрезентира дискусија за филм.
    • Кандидат клучеви
      • discussion_id - примарен клуч, вештачки креиран, задолжителен, нумерички тип
    • Атрибути
      • type - текстуален тип, максимум 1 знак, задолжителен
      • title - текстуален тип, максимум 250 знаци, задолжителен
      • text - текстуален тип, максимум 1000 знаци, задолжителен
      • date - timestap, задолжителен
      • likes - изведен атрибут, нумерички тип
      • dislikes - изведен атрибут, нумерички тип
  • Actor-Discussions - Ентитет што репрезентира дискусија за филм.
    • Кандидат клучеви
      • discussion_id - примарен клуч, вештачки креиран, задолжителен, нумерички тип
    • Атрибути
      • type - текстуален тип, максимум 250 знак, задолжителен
      • text - текстуален тип, максимум 1000 знаци, задолжителен
      • date - timestap, задолжителен
      • likes - изведен атрибут, нумерички тип
      • dislikes - изведен атрибут, нумерички тип
  • Genres - Ентитет што репрезентира жанр.
    • Кандидат клучеви
      • genre_id - примарен клуч, вештачки креиран, нумерички тип, задолжителен
    • Атрибути
      • type - текстуален тип, максимум 100 знаци, задолжителен, уникатен
  • Discussion-Likes - Ентитет што репрезентира еден корисник кои ја „Лајкнал“ дискусијата.
    • Кандидат клучеви
      • discussion_id, user_id - супер клуч, составен од тоа на начин што го претставува тоа што корисникот (user_id) ја лајкнал дискусијата со клуч (discussion_id), една н-н релација без атрибути помеѓу овие два ентитети.
  • Reply-Likes - Ентитет што репрезентира еден корисник кои ја „Лајкнал“ репликата.
    • Кандидат клучеви
      • reply_id, discussion_id, user_id - супер клуч, составен од тоа на начин што го претставува тоа што корисникот (user_id) ја лајкнал репликата со клуч (reply_id, discussion_id), една н-н релација без атрибути помеѓу овие два ентитети.

Релации

  • directs_in - релација што ги поврзува ентитетите Directors и Movies и посочува кој е режисерот на филмот. Филмот може да има само еден режисер, додека режисерот може да биде режисер на повеќе филмови.
  • acts_in - релација што ги поврзува ентитетите Actors и Movies и означува кој актер глуми во одреден филм. Во филмот може да глуми барем еден актер, додека актерот може да глуми барем во еден филм.
  • is_from_genre - релација што ги поврзува ентитетите Movies и Genres и означува на кој жанр припаѓа даден филм. Филмот мора да припаѓа барем на еден жанр, додека жанр може да биде доделен на повеќе филмови.
  • discussion_for_movie - релација што ги поврзува ентитетите МovieDiscussions и Movies и означува отворена дискусија за одреден филм. Филмот може да има повеќе отворени дискусии, додека дискусијата мора да се однесува само за еден филм.
  • rates_movies - релација што ги поврзува ентитетите Movies и Users и посочува оставен рејтинг и мислење за филм од страна на корисник. Корисникот може да остави рејтинг и мислење за повеќе филмови и филмот може да добие рејтинг и мислење од повеќе корисници.
  • discussion_for_person - релација што ги поврзува ентитетите ActorDiscussions и Persons и означува отворена дискусија за личност. За личноста може да има отворено повеќе дискусии, додека дискусијата мора да се однесува само за една личност.
  • rates_person - релација што ги поврзува ентитетите Persons и Users и посочува оставен рејтинг и мислење за личност од страна на корисник. Корисникот може да остави рејтинг и мислење за повеќе личности и личноста може да добие рејтинг и мислење од повеќе корисници.
  • likes_genres - релација што ги поврзува ентитетите Persons и Genres и посочува на корисникот кој жанр му се допаѓа. Корисникот може да му се допаѓаат повеќе жанрови и жанрот може да им се допаѓа на повеќе корисници.
  • opens_discussion - релација што ги поврзува ентитетите Persons и Discussions и посочува отворена дискусија за филм или актер од страна на корисник. Корисникот може да отвори повеќе дискусии за филм или актер, додека дискусијата мора да биде отворена од еден корисник.
  • replies_to - релација што ги поврзува ентитетите Persons и Replies и посочува реплика за филм или актер од страна на корисник. Корисникот може да отвори повеќе дискусии за филм или актер, додека репликата мора да биде отворена од еден корисник.
  • reply - релација што ги поврзува ентитетите Discussions и Replies и посочува реплика на отворена дискусија. Дискусијата може да има повеќе реплики, додека репликата мора да се однесува за една дискусија.
  • likes_movies - релација што ги поврзува ентитетите Movie и User, што ќе ни покажува кои филмови ги сака еден корисник, би ни служело за да му прикажуваме на корисникот информации кои би интересирале. На еден корисник може да му се допаѓаат повеќе филмови, еден филм може да му се допаѓа на повеќе корисници.
  • likes_discussion - релација што ги поврзува ентитетите Discussion и User, што ни помага да чуваме тоа кои корисници ги лајкнале кои дискусии, нешто слично на likes_movies, секоја дискусија може да му се допаѓа на Н корисници, а и секој корисник може да има Н дискусии кои му се допаѓаат.
  • likes_reply - релација што ги поврзува ентитетите Reply и User, што ни помага да чуваме тоа кои корисници ги лајкнале кои реплики, слична на likes_discussion, секоја реплика може да му се допадне на Н корисници, а секој корисник може да има листа од Н реплики кои му се допаѓаат.

Историјат:

  • Верзија 1 - креирани сите атрибути и релации.
  • Верзија 2 - се направени следниве модификации во согласност со тикетот на асистентот:
    • Избришан ентитет DiscussionElements.
    • Discussions претворен во силен ентитет.
    • Додадено задолжително учество од страна на Movies во релацијата directs_in.
    • Избришан повеќевредносниот атрибут genres кај Movies и Users и истиот заменет со ентитет Genres во релација со Movies и Users.
  • Верзија 3 - се направени следниве корекции:
    • Релациите rates_movie и rates_person претворени во многу-многу релација.
    • Додадени вештачки нумерички клучеви кај ентитетите Persons и Genres.
    • Додаден type атрибут од текстуален тип кај ентитет Genres.
    • Во релациите directs_in и acts_in, се тргнати задолжителните учество од ентитет Movie.
    • Кај ентитет Discussions додаден текстуален атрибут type за означување дали припаѓа на MoviesDiscussions или PersonDiscussions.
    • Кај ентитет Persons атрибут is_actor сменет во type.
  • Верзија 4 - се направени следниве корекции:
    • Додадена релација likes_movies кај User, која беше ставена на предлог на професорот.
    • Променети насоките кај наследувањето од Person класата и кај класата Discussion.
    • Променето името на replies_to во replies_from за да соодветствува подобро релацијата.
    • Променето името на opens_discussion во starts_discussion за исто подобро да соодветствува.
  • Верзија 5 - се направени следниве корекции:
    • Додадена релација likes_discussion.
    • Додадена релација reply_likes.
    • Избришана зависноста кај жанровите за филмовите, не мора да има филмот жанрови на кои припаѓа.
    • Избришани атрибутите кои ни беа изведени, бидејќи моравме да чуваме вистински табели со цел да имаме подобра функционалност.
Last modified 2 years ago Last modified on 03/07/22 18:52:20

Attachments (2)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.