Курсы программирования с нуля

Формула программиста
основатель — Волосатов Евгений Витольдович

Базы данных - Управление отелем

Практическое знакомство с базами данных на примере создания программы «Hotel - управление комнатами и клиентами» - планирование и проектирование базы данных, проектирование интерфейса и создание полноценного программного продукта, с использованием базы данных MySQL и MS-SQL.



5,000 руб.


Для подписки на пакет необходимо авторизоваться.

Список уроков | фото | видео

# Название видеоурока Решило Рейтинг Доступ
1 Вступление 00:08:49 48 чел. ★ 4.9 Done
  Отчёт отправил: 791. Валерий Решено за 15 мин. [Показать отчёт]
Научился: Планировать структуру БД. 
Сложности: Сложностей не было. 
Комментарии: Поздравляю всех с предновогодним стартом проекта "Отель"! Надеюсь, наш отель к Новогодним каникулам будет готов регистрировать отдыхающих)) 
2 Таблицы клиентов и заказов 00:25:03 46 чел. ★ 4.9 Done
  Отчёт отправил: 791. Валерий Решено за 25 мин. [Показать отчёт]
Научился: Прокачал навыки по планированию структуры таблиц БД 
Сложности: Обосновать для себя, что ни добавить, ни убавить в предложенной структуре нечего 
Комментарии: Путем расчетов и логики пришел к выводу, что ни убирать поля, ни прибавлять новых не стоит. По крайней мере на этапе планирования и создания "Минимального комплекта". Потом уже в зависимости от потребностей клиента можно произвести какие-то корректуры, но уже на этапе рефакторинга кода. 
3 Таблицы комнат и дней 00:22:47 44 чел. ★ 4.9 Done
  Отчёт отправил: 791. Валерий Решено за 30 мин. [Показать отчёт]
Научился: Прокачал навыки планирования таблиц БД. 
Сложности: Сложностей не было, но прокачать навыки было надо 
Комментарии: Хорошая проработка знаний и навыков, как в тренажерный зал (по БД) сходил, спасибо. А возьму-ка я пример с Оли, и сделаю отчет на красивом фоне.  
4 Создание базы в MS Access 00:26:28 40 чел. ★ 5 Done
  Отчёт отправил: 791. Валерий Решено за 30 мин. [Показать отчёт]
Научился: Создавать схемы в Access и OOBase 
Сложности: В этом уроке сложностей не было, но в течение субботнего вебинара прозвучало выражение "привести к первой нормальной форме", вот с этими нормальными формами затруднение. Хотелось бы более подробного урока на тему, для чего это, и как приводится к первой нормальной, второй нормальной и т.д. Немного не догоняю)) 
Комментарии: Спасибо за занятие, очень интересно создать схему, проработать логику связей. Распечатка будет завтра (проблемы с домашним принтером), накатаю на работе, поэтому на втором скрыншоте - пока вот в таком виде) 
5 Установка сервера MySQL 00:08:39 21 чел. ★ 4.9 Open
6 SQL запросы для создания Базы 00:24:00 39 чел. ★ 5 Done
  Отчёт отправил: 791. Валерий Решено за 1 час. 00 мин. [Показать отчёт]
Научился: Прокачал навыки работы с SQL-запросами и SQL-консолью. 
Сложности: Немного сложно было вспомнить FOREIGN KEY, но всё получилось. 
Комментарии: Всё было интересно, и всё получилось. Руки помнят SQL-консоль!))) На отчетном скриншоте - sql в текстовом файле и explain-ы в консоли (уместились все). Ну и... обещанное фото распечатки структуры базы и связей между таблицами (оно на окне поверх жалюзи). 
7 Модель. Планирование. 00:04:53 39 чел. ★ 4.7 Done
  Отчёт отправил: 791. Валерий Решено за 20 мин. [Показать отчёт]
Научился: планировать модель системы 
Сложности: Да ничего сложного 
Комментарии: 1. Регистрация клиента 2. Получение списка клиентов 3. Редактирование данных о клиенте 4. Получение списка заявок 5. Добавление новой заявки 6. Редактирование заявки 7. Добавление комнаты 8. Редактирование данных о комнаты 9. Получение списка комнат ( упорядоченный по определенному шагу) 10. Получение карты (что где занято, что где свободно) 11. Получение списка забронированных комнат 12. Получение списка свободных комнат 13. Получение списка заявок, которые исполнены  
8 Модель. Список задач. 00:23:02 37 чел. ★ 5 Done
  Отчёт отправил: 791. Валерий Решено за 55 мин. [Показать отчёт]
Научился: Самостоятельному переводу на язык SQL своего "технического задания" по функционалу модели проекта. 
Сложности: Удержаться,чтобы не писать SELECT * FROM <ИМЯРЕК_ТАБЛИЦА>, а расписать все поля. Я знаю, что если расписать поля, обработка идет быстрее и корректнее, но... пару раз не удержался. 
Комментарии: Очень хороший старт для самостоятельных работ над проектами. и спасибо Евгению, - у меня часто бывает проблема в проектах, что я не вижу, что и как должно быть. теперь с sql-запросами я буду справляться с этим быстрее. 
9 Модель. SQL запросы для Client 00:20:17 36 чел. ★ 4.8 Done
  Отчёт отправил: 791. Валерий Решено за 30 мин. [Показать отчёт]
Научился: Прокачал навыки по SQL 
Сложности: Сложностей не было 
Комментарии: Хорошо работать с базой, - Ей расти ещё, расти! Лишь запросы И консолька SQL-а впереди! 
10 Модель. SQL запросы для Room 00:12:04 36 чел. ★ 4.9 Done
  Отчёт отправил: 791. Валерий Решено за 42 мин. [Показать отчёт]
Научился: Прокачка навыков по SQL 
Сложности: Алгоритм Евгения по перемещению комнаты)) 
Комментарии: И еще... я честно сказать немного не понял (может быть что-то пропустил), как можно реализовать на данном этапе изменение статуса регистрации, если в таблице book нет поля Статус, а с картой map мы еще работать не начали. Поэтому я разместил запросы добавления заявки и вывода данных заявки (простое и в связке с таблицей client, чтобы имя клиента выводилось). 
11 Модель. SQL запросы для Book и Map 00:26:03 36 чел. ★ 4.8 Done
  Отчёт отправил: 791. Валерий Решено за 40 мин. [Показать отчёт]
Научился: Прокачал навыки SQL 
Сложности: Удалить запись из map.  
Комментарии: Рука не поднялась сделать удаление из map. Сделал уже после скриншота. По поводу такого способа проектирования и создания программы - подписываюсь под каждым словом Евгения, он действительно помогает преодолеть многие неопределенности между ТЗ и воплощением проекта. Далее - я думаю надо делать по плану (вид, потом контроллеры), но потом в конце сделать еще несколько уроков, которые нам помогут перенести наши модель и контроллеры на другой вид - реализовать на другой платформе - wpf, web или что-то другое. это покажет мощь и гибкость mvc подхода. 
12 Модель. Имена методов. 00:26:12 35 чел. ★ 4.9 Done
  Отчёт отправил: 791. Валерий Решено за 1 час. 12 мин. [Показать отчёт]
Научился: Прокачал навыки по планированию кода 
Сложности: Сложностей не было, но работа очень кропотливая. 
Комментарии: В уроке ничего сложного, но он очень помог еще раз взглянуть на проект базы и перетрясти структуру таблиц. Постепенно от таблиц переходим к методам, которые будут в наших моделях 
13 Класс MySQL. Драйвер и конструктор. 00:28:30 34 чел. ★ 5 Done
  Отчёт отправил: 791. Валерий Решено за 42 мин. [Показать отчёт]
Научился: Прокачал навыки создания класса работы с СУБД MySQL  
Сложности: Сложностей не было, я делал такое до этого  
Комментарии: Интересный урок, закончив который, я поймал себя на шальной мысли, что технологии типа LINQ - это классы, подобные нашему MySQL, только тщательно отрефакторенные и с проработанными методами 
14 Класс MySQL. Получение таблицы. 00:23:55 34 чел. ★ 5 Done
  Отчёт отправил: 791. Валерий Решено за 50 мин. [Показать отчёт]
Научился: Проработал функции SELECT, INSERT, UPDATE 
Сложности: Сложностей не было 
Комментарии: Еще раз проработал эти функции и эти SQL запросы, стал складываться паззл в голове, сейчас сначала реализовал функции, потом уже смотрел видео (и поправлял). 
15 Класс MySQL. Обработка ошибок. 00:13:22 34 чел. ★ 5 Done
  Отчёт отправил: 791. Валерий Решено за 15 мин. [Показать отчёт]
Научился: Повторил навыки обработки ошибок 
Сложности: Проблем не было 
Комментарии: В данном случае только немного напрягло использование using System.Windows.Forms в классе модели, но раз пообещали рефакторинг, то всё очень хорошо. Лишний раз потренировался с обработкой ошибок.  
16 Модульный тест 00:16:02 33 чел. ★ 5 Done
  Отчёт отправил: 791. Валерий Решено за 30 мин. [Показать отчёт]
Научился: Тестировать программу, функции, алгоритмы при помощи модульных тестов. 
Сложности: Сложностей не было, спасибо Евгению. 
Комментарии: Я здесь уже долгое время, многие курсы прошел, несколько заново, и не перестаю удивляться - как Евгению Витольдовичу в казалось бы давно (по его урокам) известном и несколько раз отработанном удается находить новое, интересное и упрощающее разработку кода. Так и в данном случае. Несколько раз переписывали класс MySQL, тестировали его работу с точками останова, и вдруг - обработка его в совершенно новом контексте! От возможностей юнит-тестирования просто сносит голову. Очень удобно. Можно методы прогонять сначала в юнит-тестах, а потом отлаженные уже помещать в классы и модели. Спасибо огромное. Этот урок для меня из разряда "в новинку всё". Размещаю тест подключения с неправильным паролем (хотел попробовать потестировать про полностью отключенном MySQL-сервере, но побоялся, что система подвиснет... обязательно попробую для себя позже). 
17 Отображение таблицы 00:06:18 33 чел. ★ 5 Done
  Отчёт отправил: 791. Валерий Решено за 20 мин. [Показать отчёт]
Научился: Прокачал навыки работы с dataGridView, научился загружать данные через DataSource 
Сложности: Ничего сложного 
Комментарии: Спасибо за интересный урок, проработал с dataGridView, увидел результаты своих трудов. SQL-запрос для выборки сделал свой, там переопределил id как NR и Client как FIO. Данную версию своего проекта Отеля выкладываю для вас на Github, посмотрите, кто дошел до этого места и дальше, критику принимаю со смирением. 
18 Модель. Класс Клиента 00:24:57 32 чел. ★ 5 Done
  Отчёт отправил: 791. Валерий Решено за 1 час. 00 мин. [Показать отчёт]
Научился: Создавать действующую модель с нуля, понять, в чем ее отличие от просто класса 
Сложности: Сложностей как таковых не было, но затрудняет кропотливая работа по написанию однотипных сеттеров. Понимаю, что без этого никуда. 
Комментарии: Вот и реализована первая модель в данном проекте. Я не могу сказать, что для меня это совсем ново, но основные точки опоры при разработке модели мы здесь сделали. На скринах - добавление записи номер 4 и вывод записи о клиенте Кате, любящей Египет, в грид. 
19 Модель. Всё про Клиента 00:35:00 31 чел. ★ 5 Done
  Отчёт отправил: 791. Валерий Решено за 4 час. 25 мин. [Показать отчёт]
Научился: Прокачал навыки создания и тестирования методов в модели 
Сложности: Найти свою ошибку, в результате которой пропали все адреса из базы данных  
Комментарии: Интересный урок, пришлось долго искать свою ошибку ( не в том месте ввел в обработку щелчка по таблице SelectClient(id), в результате в update попадало пустое значение свойства address, - в результате база гостиницы утеряла все адреса клиентов). При пошаговой отладке ошибка была найдена и убрана. В остальном всё получилось, спасибо за урок 
20 Модель - Календарный год 00:29:48 27 чел. ★ 5 Done
  Отчёт отправил: 791. Валерий Решено за 40 мин. [Показать отчёт]
Научился: Добавлять даты, работать с функциями дат, юнит-тестирование методов модели 
Сложности: Тесты 
Комментарии: Урок из разряда "сплошная новизна". И функции обработки дат, и реализация DayOfWeek, и главное - тестирование. В тестах вне урока познакомился с функцией "Отладить тест", которая не просто выполняет тест до ошибки, а работает с точками останова. Благодаря этому выявил свою ошибку в формате даты, которая давала некорректности. Все изменения в проекте я так же выложил на гит ,в поле "Ссылка на архив проекта" я выложил прямую ссылку на zip-файл с моим проектом на гите. 
21 Модель - Календарные праздники 00:20:00 25 чел. ★ 5 $
22 Модель. Класс комнаты 00:16:39 25 чел. ★ 5 $
23 Модель. Удаление комнат. 00:14:41 24 чел. ★ 4.8 $
24 Модель. Тестирование комнат. 00:30:31 22 чел. ★ 5 $
25 Модель. Бронирование. 00:29:40 22 чел. ★ 5 $
26 Модель. Статусы заказов. 00:14:52 21 чел. ★ 5 $
27 Модель. Список заказов. 00:13:17 20 чел. ★ 5 $
28 Модель. Карта отеля 1 00:22:41 19 чел. ★ 5 $
29 Модель. Карта отеля 2 00:18:56 19 чел. ★ 4.9 $
30 Модель. Карта отеля 3 00:16:56 19 чел. ★ 4.9 $
31 Вид. Список форм. 00:12:00 9 чел. ★ 5 $
  Итого:   31 видеоурок общей продолжительностью 10 час. 16 мин. 7 чел. ★ 4.95  
  Финалисты:   Денис,   Иван,   Николай (nick27m),   Валентин,   Lik_Kirill,   Frank,   Rita .

Начинаем практику по языку C#




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.
Научился: Вдумчивому планированию
Трудности: Все довольно таки просто
Считаю поля взрослые дети не особо нужными)
Научился: Считывать информацию из БД, добавлять записи
Трудности: ничего
с каждым уроком всё интереснее