Показать сообщение отдельно
  #4  
Старый 08.08.2008, 15:20
Dj_Touch Dj_Touch вне форума
Прохожий
 
Регистрация: 07.08.2008
Сообщения: 3
Репутация: 10
По умолчанию

Цитата:
Сообщение от Aristarh Dark
Первый вопрос больше по структуре базы, по нему без четкого видения задачи я ничего комментировать не буду ибо знаю, что любой комментарий в данном случае будет ошибочным.
Вопрос не совсем о структуре. Вопрос в том, оправдано ли выделять сущности, относящиеся к отдельной группе (например контактные данные), в отдельную таблицу? Собственно во всех проектах, которые я видел так и происходит. Но мне хочется понять почему это так. Хотя я читал информацию о языке SQL, все же не совсем понимаю основной принцип его работы. При запросе к таблице по N полям из M в память подгружаются абсолютно все поля, и только уже результатом будут необходимые нам N полей? Если это мое предположение верно, то вопрос снимается. И кстати, где можно задавать вопросы по структуре базы (если на этом форуме можно). Просто не нашел соответсвующего раздела, извините :-)

Цитата:
Сообщение от Aristarh Dark
По второму вопросу. Нельзя ни в коем случае делить однотипные данные по разным таблицам. Сам же и запутаешься. Таблица "Заказы" будет не такой уж и большой, и сделать в ней выборку/сортировку по статусу заказа будет не сложно
Прежде чем увидел твой ответ тоже поразмыслил хорошенько, и встерил серьезные трудности, мешающие воплощению этого замысла. Стало понятно, что делить однотипные данные по разным таблицам не рационально. Теперь вопрос в другом: Допустим у меня таблица с сотней полей, и одно поле Статус, которое имеет 6 значений. Мне необходимо отыскать запись (записи) в которых, к примеру Статус=1, и существует еще какое-то условие. Имеется ли механизм, благодаря которому можно отсеить 5/6 таблицы (без значит затратов ресурсов памяти), оставив только записи со статусом=1, а уже из этой части таблицы выполнять сложные запросы?
Ответить с цитированием