Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Select * from - порядок полей [MSSQL, Postgres]


Страницы:   1 2 3 4

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.
Странно, правда ?


Страницы:   1 2 3 4

Наверх

Титульная страница Поиск, карта сайта Написать письмо