Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Избыточность информации... ? (Алексей П) 23/01/2008 - 09:39:30
      Re: (дополнение )Избыточность информации... ? (Алексей П) 23/01/2008 - 09:42:47
      Re: (дополнение )Избыточность информации... ? (Ol) 23/01/2008 - 14:33:14
      Re: (дополнение )Избыточность информации... ? (vi.k) 24/01/2008 - 03:56:34
      Re: Избыточность информации в системах... ? (рита) 09/04/2010 - 17:08:51

> Original message text:
> From: Алексей П - 23/01/2008 - 09:39:30
> Subject:Избыточность информации... ?
> -----------------
> Например, две таблицы A и B:
> TABLE A (
> id_a int(11) auto_increment,
> date_a datetime,
> data_1_a varchar(255),
> data_2_a varchar(255),
> data_3_a varchar(255),
> ...
> )
>
>
> и таблица B, пусть ее структура будет такой сначала:
> TABLE B (
> id_b int(11) auto_increment,
> date_b datetime,
> id_a int(11)
> ...
> )
> id_a это поле id из таблицы A.
>
> Далее делаем выборку строки из B : ROW = SELECT * FROM B WHERE id_b = ..., но теперь нам нужно получить еще значения data_1_a, data_2_a, data_3_a для этой строки, очевидно что это будет выглядет так : SELECT * FROM A WHERE id = ROW.id_a
> В Итоге имеем строку ROW с информацие их двух таблиц. Было сделано два селекта.
>
> -------------
>
> Теперь пусть таблица B будет такой:
> TABLE B (
> id_b int(11) auto_increment,
> date_b datetime,
> data_1_a varchar(255),
> data_2_a varchar(255),
> data_3_a varchar(255),
> ...
> )
> где data_1_x это копия информации из таблицы A(избыточность информации) Делаем выборку строки из B : ROW = SELECT * FROM B WHERE id_b = ... и получаем всю информацию за один селект, но теперь таблица B стала существенно больше.
>
> Т.е. суть такая вопроса. Что лучше? Получать всю необходимую информацию за минимум селектов, т.е за счет ее избыточности в таблицах, и в итоге большего размера таблиц, или больше селектов, но в пользу минимума размера таблиц.
>
> ЗЫ.
> 1. Пусть таблицы содержат по неск млн строк.
> 2. Выборка вида SELECT A.*, B.* WHERE A.id = B.id_a AND B.id = ... НЕВОЗМОЖНА в моем случае, поскольку в действительности B.id_a хранится не в отдельном поле, а как составная часть в BLOB поле, т.е. напрямую никак не возможно сослаться. Просто я упростил для наглядность, и сути вопроса это не меняет.
>


From: рита - 09/04/2010 - 17:08:51
Subject:Избыточность информации в системах... ?
-----------------
избыточность, дублированность и недостаточност в реальных системах


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
36987



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |