На этом уроке мы составим список задач. Для каждой задачи нужно будет написать SQL запрос (или несколько), который решает поставленную задачу. Запросы нужно писать в таком виде, в котором они сразу могут быть выполнены в SQL-мониторе. Каждый запрос необходимо проверить на работоспособность.
Дата отправки отчёта:
19 июня 2017 г.
Задание выполнено: за
5 час. 00 мин.
Чему научился:
Ничему. До ключей я так и не добрался.
Что было сложным:
Найти пхп скрипт для генерации дат с выходными. <?php $strt_date = date_create('2017-01-01'); $end_date = date_create('2017-12-31'); date_sub($strt_date, date_interval_create_from_date_string('1 day')); $interval = date_diff($strt_date, $end_date); $num = $interval->format('%a'); for ($i = 0; $i < $num; $i++) { date_add($strt_date, date_interval_create_from_date_string('1 day')); $next_day = date_format($strt_date, 'Y-m-d'); echo "\n";
$new_date = new DateTime($next_day); $weeknum = $new_date->format('w'); if (($weeknum != 0) && ($weeknum != 6)) $wend=0; else $wend=1; echo "INSERT INTO calendar SET day='".$next_day."' , wend=". $wend .", holiday=0;"; } ?> С ключами я не знаю как делать. До сих пор не понял эту ссылочную целостность и как эти ключи друг с другом соединять или точней почему. КАк по мне, то надо просто указать таблицы и поля с данными, а бд должна сама знать уже как там что связано. Как-то так. После этого я 2-3 дня не занимался вообще. Зато нашел онлайновые генерилки данных.
3 получение списка клиентов по фильтру SELECT * from CLIENT WHERE CLIENT LIKE "%solomon%"; 52 Solomon Houston nunc@leo.co.uk (013) 10507691 6249 In, Av. 16961107-1813 152 Solomon Houston nunc@leo.co.uk (013) 10507691 6249 In, Av. 16961107-1813
3.1 получение данных заданного клиента SELECT * from CLIENT WHERE id=34; 34 Addison Fox non.nisi.Aenean@orci.co.uk (092) 73400556 868-4153 Diam. St. 16410920-1394
4 изменение данных клиента UPDATE client set CLIENT="info@videosharp.info" WHERE id=34;
5 генерация календаря на заданный год insert into calndar set day='2016-01-01' , wend=1, holiday=0;
6 установка праздничных/обычных дней update calendar set wend=1 where day='2017-06-16';
7 получение списка комнат select * from room;
8 добавление новой комнаты INSERT INTO room (room,beds,floor,step,info) VALUES ("red ",1," zwei ",6,"Quisque fringilla euismod")
9 получение информации по заданной комнате select * from room where id=3;
10 редактирование данных комнаты update room set step=1 where id=3;
11 перемещение комнаты по списку вниз/вверх
12 создание новой регистрации
13 изменение статуса регистрации
14 отмена регистрации
15 подтверждение регистрации
16 ожидание подтверждения регистрации
17 редактирование регистрации
18 получение списка регистраций
19 получение списка регистраций по фильтру
20 получить занятость комнатнат на указанный месяц
Научился: Самостоятельному переводу на язык SQL своего "технического задания" по функционалу модели проекта. Трудности: Удержаться,чтобы не писать SELECT * FROM <ИМЯРЕК_ТАБЛИЦА>, а расписать все поля. Я знаю, что если расписать поля, обработка идет быстрее и корректнее, но... пару раз не удержался. Очень хороший старт для самостоятельных работ над проектами. и спасибо Евгению, - у меня часто бывает проблема в проектах, что я не вижу, что и как должно быть. теперь с sql-запросами я буду справляться с этим быстрее.
Научился: Повторила SQL запросы. Правда только самые простые. Группировку, агрегатные функции, объединение и пересечение еще бы повторить. Трудности: Научиться пользоваться хранимыми процедурами. Идем дальше.