Добре ли е проектирана релационна база данни само с една таблица?

Имам MySQL база данни, съдържаща само една таблица със 100 реда и 12 колони: ID (първичен ключ), NAME, LATITUDE, LONGITUDE, TYPE, COUNTRY, CONTINENT, DESCRIPTION_PATH, STORY_PATH, PICTURE_PATH, ICON_PATH и VIDEO_PATH. Смятате ли, че е добре да съхранявате всички данни в една таблица или данните трябва да бъдат разпределени в повече таблици?


person MichalB    schedule 16.05.2013    source източник
comment
Препоръчвам да прочетете Нормализиране на базата данни, за да премахнете догадките от дизайна на схемата.   -  person Filburt    schedule 17.05.2013


Отговори (1)


Това е съвършено добър дизайн на таблица, стига вашите редове с имена да се нуждаят само от най-много едно описание, една история, една картина, една икона и едно видео.

Веднага щом искате някой да има две снимки, ще трябва да създадете друга таблица за снимки и да съхранявате по една картина на ред, всяка от които препраща към вашата първа таблица.

Например:

CREATE TABLE Pictures (
  picture_id INT,
  name_id INT,
  picture_path VARCHAR(100),
  PRIMARY KEY (picture_id, name_id)
  FOREIGN KEY (name_id) REFERENCES Names (id)
);

И бихте премахнали колоната picture_path от първата таблица, разбира се.

person Bill Karwin    schedule 16.05.2013
comment
PICTURE_PATH е URL връзка към папката в моята файлова система. В тази папка има 5 снимки, дефинирани за всеки ред, които извличам една по една от базата данни в приложението Java. Но предполагам, че това не е това, което наистина имахте предвид, нали? За всеки отделен ред имам само стойност на всяка колона. Така че предполагам, че трябва да е ОК... - person MichalB; 17.05.2013
comment
Да, ако имате само една картина path на ред, това е ОК. - person Bill Karwin; 17.05.2013
comment
Един малък въпрос - как да извикам базата данни, съдържаща само една таблица? Мога ли все още да го наричам релационна база данни? - person MichalB; 17.05.2013
comment
Разбира се, това е добре. Релационни не означава връзки между таблици. Това означава, че таблицата е релация в математически смисъл. - person Bill Karwin; 17.05.2013