![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Select * from - порядок полей [MSSQL, Postgres]
Ega23 © (2008-05-20 12:19:00)А вот такой вопрос: ежели я делаю Select * from Table, то в каком порядке мне будут возвращены поля?
Т.е. может ли произойти ситуация, что порядок колонок поменялся, а реально изменения в структуру БД не вносились?
Anatoly Podgoretsky (2008-05-20 22:44:00) [21]> MsGuns (20.05.2008 21:37:42) [42]
Можем, ну и что?
Напомнить точно такие же речи, про значение переменной цикла по его окончания, тоже проверяли.
Это внутреннее дело сервера и совсем не обязательно, что другая редакция сервера будет работать точно также.
MsGuns (2008-05-20 21:37:00) [22]>Anatoly Podgoretsky © (20.05.08 21:21) [41]
Анатолий, ни я, ни 99% пользователей скл-серверов не скажут, ГДЕ именно он хранит описания полей, да и вообще все свои метаданные. Да и не надо нам это. Известно лишь, что в системных таблицах. А вот как (в каком порядке) он их ПРЕДСТАВЛЯЕТ по требованию клиента (в частности по указанному сникником запросу) - это уже мы могем и проверить ;)
Anatoly Podgoretsky (2008-05-20 21:21:00) [23]> MsGuns (20.05.2008 18:30:24) [24]
Я бы не стал на это закладываться, это сугубо внутреннее дело сервера, как хранить и как выдавать, если ему это явно не сказано.
Anatoly Podgoretsky (2008-05-20 21:20:00) [24]> Ega23 (20.05.2008 17:32:20) [20]
Не обязан, если мне порядок не важен, то зачем мне заставлять делать сервер лишнею работу.
Anatoly Podgoretsky (2008-05-20 21:13:00) [25]> Ega23 (20.05.2008 16:38:12) [12]
А чего ни будь приличное использовать не хочешь, например OpenScheme
MsGuns (2008-05-20 20:44:00) [26]"Я не буду с тобою спорить, старый софист" (c) ;)
Reindeer Moss Eater (2008-05-20 20:31:00) [27]Я уже не говорю про случай, когда по условиям предметной области все эти многочисленные грамоты вообще логически являются атомарными. Все целиком вместе взятые.
Reindeer Moss Eater (2008-05-20 20:29:00) [28]И кому от этого худо?
Серверу, которого никто не будет лишний раз насиловать дополнительным запросом?
Разработчику? Который получает все "грамоты садика" одним запросом вместе с самим пионером и не организует циклы на клиенте после получения их списка с сервера?
Никому.
MsGuns (2008-05-20 19:24:00) [29]Напрмер, к потере 1-й степени нормализации - атомарности.
Хватит ?
Reindeer Moss Eater (2008-05-20 19:20:00) [30]И к чему же это приведет?
MsGuns (2008-05-20 19:20:00) [31]>А действительно опытный разработчик вполне может хранить все их скопом >в одном поле в той же таблице что и самого пионера.
Реально "грамотный" разработчик так делать в большинстве случаев не будет. Ибо знает, к чему это приведет.
Reindeer Moss Eater (2008-05-20 19:18:00) [32]Ты, конечно, можешь всю информацию об предмете автоматизации запихнуть в одну таблицу с 10000 полями. Трудно, но можно. Ветер, как говорится, вдогонку.
У кого такие психологические трудности с 10000 полями?
У меня их нет.
Так же как и с десятью таблицами по тысяче полей или сотней таблиц с сотней полей.
Reindeer Moss Eater (2008-05-20 19:13:00) [33]Да неважно о чем я говорю и как это называется на самом деле.
Могут быть атрибюты и их может быть 99.
Могут быть другие случаи.
Те же грамоты из садика.
Если их много и они не участвуют в реляционных отношениях, то мудрый гудвин обязательно смастерит отдельную таблицу для "грамот из садика" во имя нормализации.
А действительно опытный разработчик вполне может хранить все их скопом в одном поле в той же таблице что и самого пионера.
первый во имя нормализации ничего кроме усложнения обработки данных и лишних запросов не получит (плюс тормозов с этим связанных)
Второй ничего не потеряет.
впрочем мы отвлеклись.
конституция не ограничевает количество атрибутов у сущности и количество полей в таблице тоже.
MsGuns (2008-05-20 19:00:00) [34]>Reindeer Moss Eater © (20.05.08 18:48) [28]
>Я говорю про сущности имеюшие атрибуты зависящие только от PK.
Глупости ! Ты говоришь не о сущностях, а о ПРЕДСТАВЛЕНИИ СУЩНОСТЕЙ в клиентском приложении. А это вовсе не одно и то же.
>И нигде не сказано, что если мсганс не видел их больше двадцати, то их и >нет на самом деле и в принципе не может быть.
Ты, конечно, можешь всю информацию об предмете автоматизации запихнуть в одну таблицу с 10000 полями. Трудно, но можно. Ветер, как говорится, вдогонку.
sniknik (2008-05-20 18:51:00) [35]> Т.е. я пустой НД получаю, но со структурой филдов и их типами. А дальше проверяю - так или не так.
правильнее информацию о структуре получать через OpenSchema.
Reindeer Moss Eater (2008-05-20 18:48:00) [36]Пример с паспортом и правами содержащими грамоты из пионерлагеря за первое место на стометровке - это в детский сад такие примеры.
Я говорю про сущности имеюшие атрибуты зависящие только от PK.
И нигде не сказано, что если мсганс не видел их больше двадцати, то их и нет на самом деле и в принципе не может быть.
Reindeer Moss Eater (2008-05-20 18:45:00) [37]Более того, я вообще не догоняю, что такое "статик" поля.
Тогда может погодить с тем чтобы спорить с пеной у рта и стрелять инакомыслящих?
Пока не прояснится что такое статик поля в датасете.
MsGuns (2008-05-20 18:43:00) [38]>Reindeer Moss Eater © (20.05.08 18:37) [25]
>У вас кругозор просто узок, если сложно представить сущность имеющую >99 атрибутов.
Дадад, я вот уже три десятка лет только телефонные справочники проектирую.
>А суть поста, которую вы до сих пор не догнали, была в том, что статик филдов может быть три, в то время как физических полей таблицы будет триста три. И будет звезда в селекте и никому кроме вас печали от этого не будет.
Более того, я вообще не догоняю, что такое "статик" поля. Это те, которые автоматически создаются при открытии в делфях например TTable и которые затем отображаются в окне редакторов полей ? Так я открою страшную тайну - у меня практически не бывает "статик" полей в твоем понимании (а если и есть, то это не поля таблицы, а поля возвращамого ХП или вьюхи датасета - надеюсь, ты в состоянии "догнать" между ними разницу ?)
Что касается самого "криминала", т.е. "политкорректности" использования конструкции Select *, то однозначного ответа быть не может, хотя в целом я бы скорее поддержал Анатолия, чем возражал бы ему.
Reindeer Moss Eater (2008-05-20 18:37:00) [39]У вас кругозор просто узок, если сложно представить сущность имеющую 99 атрибутов.
PS как я уже сказал, 99 - просто число взятое с потолка. В моих таблицах нет такого количества полей.
А суть поста, которую вы до сих пор не догнали, была в том, что статик филдов может быть три, в то время как физических полей таблицы будет триста три. И будет звезда в селекте и никому кроме вас печали от этого не будет.
фетча на клиента трехсот трех полей не состоится.
MsGuns (2008-05-20 18:30:00) [40]>Ega23 © (20.05.08 17:32) [20]
>Описатели филдов в системной таблице хранятся? Хранятся. При >составлении плана запроса оттуда выбираются? Выбираются. SQL при этом >используется? А вот Х его З. Но если SQL - то Order By должОн быть.
Хранятся в той последовательности, в которой они были перечислены в соответствующем Create Table.
Странно, правда ?