|
|
|
|
|
для: Valick
(15.06.2010 в 16:02)
| | идеальная реляционная модель таки слегка отличается от SQL-языка.
На выходе идеальной реляционной модели (РМ) мы конечно же получим РМ-таблицу .
При чем мгновенно, одним глотком так сказать, а не построчно, буфферизировано и т.д.
Но боюсь, что там уже не будет никаких ORDER BY, и тем паче LIMIT... :) | |
|
|
|
|
|
|
|
для: Trianon
(15.06.2010 в 15:46)
| | То, что выдает SHOW CREATE TABLE
отвечу Вашими же словами
на запрос отвечает сервер.
клиент этот табличный результат представляет, как может.
Консольный клиент, PMA - визуализируют
У таблицы есть структура.
неоспоримое замечание...
теперь давайте разберемся куда же девается структура в ответе на запрос SELECT
___
может я чего-то не понимаю, в силу своей врожденной тупости, но...
при реляционной модели БД на входе мы имеем одну или более таблиц, и надо полагать на выходе мы имеем таблицу... вот меня и волнует...
что еще на выходе мы можем получить кроме таблицы? | |
|
|
|
|
|
|
|
для: Valick
(15.06.2010 в 15:25)
| | >даже человечьи клиенты не создают таблицу в терминах сервера.
>позвольте таки полюбопытствовать о терминах сервера
>сильно сомневаюсь что MySQL берет линейку, мочит карандаш о кончик языка и начинает вычерчивать таблицу на винчестере (CREATE TABLE), а потом пхает туды шо попало.
>т.о. то что лежит на винчестере в терминах сервера - это таблица,
Нет. То, что лежит на винчестере - это хранилище этой (и возможно других) таблицы.
>а то что возвращает SELECT - это не таблица.
>Вот я и пытаюсь понять разницу между ними.
Очень просто.
У таблицы есть структура. То, что выдает SHOW CREATE TABLE.
И интерфейс чтения (запрос SELECT) и изменения (запросы DML).
Ну и определения (запросы DDL) докучи. | |
|
|
|
|
|
|
|
для: Trianon
(15.06.2010 в 13:55)
| | даже человечьи клиенты не создают таблицу в терминах сервера.
позвольте таки полюбопытствовать о терминах сервера
сильно сомневаюсь что MySQL берет линейку, мочит карандаш о кончик языка и начинает вычерчивать таблицу на винчестере (CREATE TABLE), а потом пхает туды шо попало.
т.о. то что лежит на винчестере в терминах сервера - это таблица,
а то что возвращает SELECT - это не таблица.
Вот я и пытаюсь понять разницу между ними.
- и там и там есть строки
- и там и там есть поля
- и там и там количество полей одинаково в каждой строке
- и там и там значения, находящиеся в одном столбце таблицы имеют один тип данных
чего именно я не могу понять? | |
|
|
|
|
|
|
|
для: Valick
(15.06.2010 в 11:46)
| | на запрос отвечает сервер.
клиент этот табличный результат представляет, как может.
Консольный клиент, PMA - визуализируют.
программные интерфейсы (php-шный и т.п.) - формирует буфер массивов.
и т.д.
Но
даже человечьи клиенты не создают таблицу в терминах сервера.
Хотя возможность такая есть, хоть и обглоданная. CREATE TABLE nn SELECT * FROM ... | |
|
|
|
|
|
|
|
для: Trianon
(12.06.2010 в 04:04)
| | кстати чем отвечает консоль на запрос SELECT ?
набором строк табличного результата или все таки рисует таблицу? :)
[поправлено модератором: консольный клиент mysql и СУБД MySQL разные программы - не следует их смешивать в контексте обсуждения обработки SQL-запросов] | |
|
|
|
|
|
|
|
для: Trianon
(12.06.2010 в 04:04)
| | единственное отличие результирующей таблицы от исходной - это то что она не имеет названия (если не использовать AS и даже в этом случее сильно сомневаюсь что у нее нет "порядкового номера на рукаве")
хотелось бы услышать по нечто большее, что мешает набору строк табличного результата быть полноценной таблицей.
___
могли бы рассказать когда в INSERT SELECT таблица перестает быть таблицей и снова обретает статус таблицы?
___
могли бы прокомментировать вот это:
1. CREATE VIEW temp AS SELECT CONCAT('c','_',id ) AS ID,
2. company_name AS name, 'customer' AS parent
3. FROM customers
4. UNION SELECT CONCAT( 'p', '_', id ) AS ID, name,
5. CONCAT( 'c', '_', parent ) FROM customers_person
|
| |
|
|
|
|
|
|
|
для: Valick
(11.06.2010 в 23:40)
| | вообще-то neadekvat прав - SELECT никакую таблицу не возвращает.
Он возвращает табличный результат. Вернее, даже набор строк табличного результата.
Таблица, всё ж - нечто большее. | |
|
|
|
|
|
|
|
для: neadekvat
(12.06.2010 в 00:26)
| | угу, абсолютно согласен :)
Селект предназначен для выборки строк, а результатом работы селекта - будет таблица :)
даже если она состоит из одной строки(более того даже если она состоит из одного столбца) - в сущности это таблица | |
|
|
|
|
|
|
|
для: Valick
(12.06.2010 в 00:22)
| | Это, пожалуй, единственное подобное изречение во всем гугле.
Пожалуйте-с:
SELECT is used to retrieve rows selected from one or more tables
|
(с) http://dev.mysql.com/doc/refman/5.0/en/select.html | |
|
|
|
|