Леший Св : другие произведения.

Что? От куда? Где? или Может ли кухарка управляться с базой данных?

"Самиздат": [Регистрация] [Найти] [Рейтинги] [Обсуждения] [Новинки] [Обзоры] [Помощь|Техвопросы]
Ссылки:


 Ваша оценка:

В моей, может и не такой продолжительной как у вас, жизни особое место занимают походы в магазин за покупками. Идти никогда не хочется, но неумолимое «надо-нужно-необходимо» высказанное обыденностью существования или просто кем-либо из домачадцев, заставляет искать туфли и интересоваться погодой по ту сторону окна. Хотя нет, интересоваться приходится не только этим. Возникают еще кой-какие вопросики. Помнится Киплинг шел по жизни с шестью вопросами, обычной домохозяйке для формулировки правды бытия и сознания хватает трех… ЧТО купить? КУДА за этим пойти? КАК лучше(При каких условиях)? И бегом, пока те самые не проголадались и не задали свои сто тысяч «почему?»…
Может вам это покажется смешным, но для работы с базами данных умение, правильно сформулировать эти три вопроса обычной домахозяйки, составляет если не 80, то во всяком случае 60 процентов успеха... Конечно кое-кто заявит, что мол тезис: «Каждая кухарка может управлять государством»- мягко говоря, не получил своего подтверждения. Но замметте, что я сказал 80-60%, а не 100%. Вы только не принимайте, все в штыки и не волнуйтесь. Просто прикройте глаза и представте, что вам надо сходить на базу, правда данных, для закупки товаров-колонок…
ЧТО вы хотите выбрать? Что вам нужно? Какие товары-колонки вам подать?
КУДА вам за этим надо пойти? В каких прилавках-таблицах надо порыться?
КАК лучше сделать? Выбрать ли старые фрукты-данные или новые овощи-значения? Какие поставить критерии отбора нужных колонок-товаров?
Звучит знакомо, но не реально. Не реально, так как в обычной жизни мы не формулируем вопросы, ощущая их на толи полусознательном, толи инуитивном уровне голдного желудка или драных штанов. За то мы формулируем готовые ответы: КУПИТЬ/ВЫБРАТЬ … В… ЕСЛИ …
Но ведь правильно заданный вопрос – это более половины ответа. Наше подсознание с этим справляется неплохо, теперь не плохо бы этому научиться нам…
Для начала сделаем небольшой шаг в сторону формализации нашего мышления. Помните миниатюру Жванецкого про раков, тех что по пять вчера, а сегодня по три… Распишем эту ситуацию по нашей вопросной логике…
ЧТО выбрать? ----------------------- РАКОВ
КУДА за ними сходить? ---------- НА БАЗАР
При каких условиях купить? ----- ЕСЛИ ДЕНЕГ ХВАТИТ
У героя денег не хватило ни вчера ни сегодня, поэтому-то он и остался без раков. Конечно теперь ничего смешного в «рассказе» не осталось, за то, я надеюсь, стала понятна сила правильно заданых вопросов. Шагаем дальше?
Когда мы «ответили» на свои вопросы, нам необходимо перевести их в действие. В жизни мы либо ищем свои туфли, либо выражаем свои пожелания-команды посыльному, порой не стесняясь в выражениях… При работе с базой, если вы не выразили свои «желания» в определенной письменной форме, то мы ничего не добьемся от этого железного чурбана, даже если и снабдим свою речь «горячими» напутствиями… Итак запишем выше приведенный диалог в удобоворимом для компьютера виде…
SELECT  РАКИ  FROM   БАЗАР WHERE  ДЕНЕГ ХВАТИТ
Перевод прозвучит так: ВЫБРАТЬ раков ИЗ базара ГДЕ денег хватит. Звучит коряво, но понятно. А где вопросы? Вопросы в голове. Но посмотрите по внимательнее, наши ответы-команды должны быть в определенном жестко заданном виде. А это значит, что наши вопросы тоже должны быть в такой форме, чтоб ответы звучали логично. Это как подсказка… Пoсмотрим на это и закрепим, на более реальном, но все же «магазинном» примере…
У нас есть база данных, а в ней табличка, под названием «Продукты».
Таблица «Продукты»
Номер   
Продукт   
Вид   
Вкус   
 Цена (условная) Дата (выпуска)
Срок (годности)
1
 Сыр       

солн           
4


2
 Яблоки   
желтые    слдк           
2


3
 Яйца                   


1


4
 Колбаса   
вареная               

5


5
 Молоко                   





6
 Хлеб   
ржаной               

1


7
 Огурцы   
свежие               

2


8
 Помидоры                   


2



Чтож «хозяюшки» ваше задание: узнать что и почем… Так с чего начнем? Нет, нет, нет… Не кричите мне: «Почем сыр?». И не надо пальчиком тыкать в цену, говоря все и так видно. Оно Видно-то только потому, что пример у нас на бумажке перед глазами. На самом деле все что вы знаете о таблице это ее состав:
 Таблица «Продукты»
Номер   
Продукт   
Вид   
Вкус   
 Цена (условная) Дата (выпуска)
Срок (годности)
И все. Не более. И эта ситуация более чем реальна: ведь вы собираясь в магазин вы же не знаете, что там есть и почем. Вот нам и надо все это узнать, но для этого у нас  только SELECT –FROM-WHERE ответник-вопросник… Пожалуй мне стоит вам помочь освоится.
Начнем…
Нам  надо ВЫБРАТЬ  ЧТО? Правильно – ПРОДУКТы. А ОТ КУДА?- ИЗ магазина/таблицы ПРОДУКТЫ. КАК? Да без разницы, без условий, все что есть… Теперь просто подставим английские словечки…
SELECT ПРОДУКТ FROM ПРОДУКТЫ;
Выбрать ПРОДУКТ  из  ПРОДУКТЫ – имена должны быть такие, как на самом деле, а не как того требуют правила грамматики, и если никаких особых условий нет, то WHERE не ставиться. Да еще такая деталь: Запрос (как правило) считается готовым к выполнению, если у него стоит «;» на конце, мы тоже будем ставить его.
Наш компьютер подумал и выдал ответ…
Продукт
Сыр
Яблоки
Яйца
Колбаса
Молоко
Хлеб
Огурцы
Помидоры
Что ж поздравляю, вы задали вопрос-он вам честно ответил.
Не совсем то что надо? Ну так мы сказали SELECT ПРОДУКТ –выбрать только ПРОДУКТ-что он и сделал. А если вы хотите узнать цену, то спросите про нее… Ага попались! Вы сказали выбери цену (SELECT ЦЕНА FROM ПРОДУКТЫ;) и получили…
Цена
4
2
1
5
1
2
2
Вы все сделали правильно, просто забыли сказать, что их вам надо вместе…
Итак… Выбери Что? ПРОДУКТ, ЦЕНУ от куда? Из ПРОДУКТЫ без каких-либо дополнительных условий. Переводим:
SELECT ПРОДУКТ, ЦЕНА FROM ПРОДУКТЫ;
Получаем:
Продукт    Цена
Сыр               4
Яблоки          2
Яйца              1
Колбаса         5
Молоко    
Хлеб              1
Огурцы         2
Помидоры    2
Вот теперь наш результат похож на нормальный результат. Попробуйте сами написать еще парочку запросов, включив в нашу выборку большее число колонок. Смелее, не бойтесь. Правильно, через запятую их... Колличество коллонок в запросе может быть любым, иммена коллонок могут идти в любом порядке и даже повторяться... Важно только помнить, что порядок колонок в результате соответствует порядку колонок в запросе...
Ну как все понятно? Тогда ответте мне: почем сыр? Давайте вместо ответа разберем вместе следующуий запрос:
SELECT ЦЕНА FROM ПРОДУКТЫ WHERE ПРОДУКТ=’Сыр’;
Выбрать ЦЕНу из ПРОДУКТов  где ПРОДУКТ равен, то есть является Сыром
И что мы получаем в ответ;
Цена
4
Фантастика, скажут некоторые... А другие поймут, что никаких чудес нет, просто мы граммотно ответели на вопрос, при каком условии выделять запись. Смелее, кто предложит другие условия... Ну допустим Найти все продукты дешевле 4...
Выделить (что?) ПРОДУКТ (от куда?) из ПРОДУКТЫ (при каком условии?) где ЦЕНА<4: SELECT ПРОДУКТ, ЦЕНА FROM ПРОДУКТЫ WHERE ЦЕНА<4;
Продукт    Цена
Яблоки         2
Яйца             1
Хлеб              1
Огурцы         2
Помидоры    2
Дороже 3... SELECT ПРОДУКТ, ЦЕНА FROM ПРОДУКТЫ WHERE ЦЕНА>3;
Продукт    Цена
Сыр             4
Колбаса      5
Это может быть и комбинация условий: Выделить что б и сладкий был и дешевле 3
SELECT ПРОДУКТ, ЦЕНА FROM ПРОДУКТЫ WHERE ВКУС= слдк AND ЦЕНА>3;
Продукт    Цена
Яблоки         2
Задания и условия могут быть разными, но суть подхода к ним практически всегда одна и та же: Формулируем вопросы: Что? От куда? Где (При каком условии)? И четко отвечаем на них при помощи SELECT –FROM-WHERE.
Ну так как, Сможет кухарка управиться с Базой?
 Ваша оценка:

Связаться с программистом сайта.

Новые книги авторов СИ, вышедшие из печати:
Э.Бланк "Пленница чужого мира" О.Копылова "Невеста звездного принца" А.Позин "Меч Тамерлана.Крестьянский сын,дворянская дочь"

Как попасть в этoт список
Сайт - "Художники" .. || .. Доска об'явлений "Книги"