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

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

Материалы мастер класса "Люди на карте"


Вебинар «Мы начинаем PHP + Yii2» начнётся через 15 час. 21 мин.

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

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



Хочу купить!

Купить в рассрочку за мегахеши

Цена: 2000 p.


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

# Название видеоурока Решило Рейтинг Доступ
1 Вступление 00:08:49 63 чел. ★ 4.9 Done
  Мы начинаем создание базы данных для гостиницы.
Твоя задача - самому подумать и создать описание
сущностей проекта, для каждой выписать атрибуты.
Отчёт отправил: 8339. Валентин Выполнено за 40 мин. [Показать отчёт]
Научился: Ничему 
Сложности: Продумать модель базы данных. 
Комментарии: Все ок. 
2 Таблицы клиентов и заказов 00:25:03 61 чел. ★ 4.9 Done
  На этом уроке мы перечислим поля таблиц Client и Book.
Каждое поле этих таблиц потребует подробных
комментариев, почему так, как можно сделать
иначе, какие могут быть ошибки и так далее.
Отчёт отправил: 8339. Валентин Выполнено за 15 мин. [Показать отчёт]
Научился: Ничему 
Сложности: Ничего 
Комментарии: Все ок 
3 Таблицы комнат и дней 00:22:47 58 чел. ★ 4.9 Done
  На этом уроке мы перечислим поля трёх таблиц:
Room, Calendar, Map.
В конце урока распишем типы
каждого поля нашей базы данных.
Подумай и напиши, какие ещё поля
можно добавить в эти таблицы.
Отчёт отправил: 8339. Валентин Выполнено за 30 мин. [Показать отчёт]
Научился: Ничему 
Сложности: Все просто 
Комментарии: Все ок. 
4 Создание базы в MS Access 00:26:28 54 чел. ★ 5 Done
  На этом уроке мы создадим нашу базу данных в MS Access.
Там же нарисуем схему базы данных и
создадим связи между таблицами.
Необходимо будет распечатать схему базы данных
и прикрепить её на своём рабочем месте.
Отчёт отправил: 8339. Валентин Выполнено за 40 мин. [Показать отчёт]
Научился: Вспомнил, как делать базы данных 
Сложности: Все просто. 
Комментарии: Я занимаюсь в дороге на работу и с работы )). Поэтому рабочего места как такого нет. 
5 Установка сервера MySQL 00:08:39 35 чел. ★ 4.9 Done
  На этом уроке мы установим MySQL Community Server
и программу HeidiSQL для подключения к нему.
Отчёт отправил: 8339. Валентин Выполнено за 10 мин. [Показать отчёт]
Научился: ничему. все это у меня уже было установлено 
Сложности: ничего 
Комментарии: все ок 
6 SQL запросы для создания Базы 00:24:00 53 чел. ★ 5 Done
  На этом уроке мы напишем SQL запросы
для создания нашей базы данных отеля.
Отчёт отправил: 8339. Валентин Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: Работать с консолью MySQL, познакомился с MySQL запросами. 
Сложности: Все просто. 
Комментарии: Все ОК. 
7 Модель. Планирование. 00:04:53 53 чел. ★ 4.8 Done
  На этом уроке самостоятельное задание -
сформулировать все задачи, которые решает программа.
Это будет своеобразное проектирование бизнес-модели проекта.
Подсказка: смотрим на схему базы данных,
на каждую таблицу по отдельности, и задаём себе несколько раз вопросы:
что это? для чего? что можно с этим сделать? как это можно обработать?
Отчёт отправил: 8339. Валентин Выполнено за 25 мин. [Показать отчёт]
Научился: Ничему 
Сложности: Все просто. 
Комментарии: 1. Регистрация клиентов 2. Бронирование комнат 3. Отмена бронирований 4. Оплата бронирований 5. Перенос бронирований на другие даты 6. Проверка свободных комнат на определенные даты 7. Проверка заброннированных комнат на определенные даты 8. Выбор комнат для бронирований 9. Проверка статуса бронирования 10. Смена комнат для бронирований 11. Вывод информации о бронировании 12. Вывод бронирований на определенную дату  
8 Модель. Список задач. 00:23:02 51 чел. ★ 5 Done
  На этом уроке мы составим список задач.
Для каждой задачи нужно будет написать SQL запрос (или несколько),
который решает поставленную задачу.
Запросы нужно писать в таком виде,
в котором они сразу могут быть
выполнены в SQL-мониторе.
Каждый запрос необходимо проверить на работоспособность.
Отчёт отправил: 8339. Валентин Выполнено за 1 час. 30 мин. [Показать отчёт]
Научился: Запросы к базам данных 
Сложности: Все просто. 
Комментарии: Все ок. 
9 Модель. SQL запросы для Client 00:20:17 50 чел. ★ 4.9 Done
  На этом уроке мы составим SQL запросы для
решения задач с таблицами Client и Calendar.
По аналогии создай SQL запросы для остальных задач.
Отчёт отправил: 8339. Валентин Выполнено за 10 мин. [Показать отчёт]
Научился: Вспомнил некоторые запросы 
Сложности: Все просто 
Комментарии: Все ок. 
10 Модель. SQL запросы для Room 00:12:04 50 чел. ★ 4.9 Done
  На этом уроке мы составим SQL запросы для
решения задач с таблицей Room.
По аналогии создай SQL запросы для остальных задач.
Отчёт отправил: 8339. Валентин Выполнено за 15 мин. [Показать отчёт]
Научился: ничему 
Сложности: все просто 
Комментарии: все ок 
11 Модель. SQL запросы для Book и Map 00:26:03 50 чел. ★ 4.9 Done
  На этом уроке мы составим SQL запросы
для всех остальных задач, для таблиц Book и Map.
В отчёте напиши мини-отзыв о созданных запросах.
Отчёт отправил: 8339. Валентин Выполнено за 30 мин. [Показать отчёт]
Научился: Узнал новые запросы 
Сложности: все просто 
Комментарии: Очень полезные уроки по запросам. 
12 Модель. Имена методов. 00:26:12 49 чел. ★ 4.9 Done
  На этом уроке мы пройдёмся ещё раз по списку
составленных задач и дадим названия классам
и методам, которые эти задачи будут выполнять.
Отчёт отправил: 8339. Валентин Выполнено за 10 мин. [Показать отчёт]
Научился: Ничему 
Сложности: все просто 
Комментарии: все ок 
13 Класс MySQL. Драйвер и конструктор. 00:28:30 49 чел. ★ 5 Done
  На этом уроке мы наконец-таки создадим проект.
Установим Mysql DotNet Connector и начнём
создавать класс MySQL для подключения к базе данных.
Мы напишем конструктор и три метода.
Отчёт отправил: 8339. Валентин Выполнено за 40 мин. [Показать отчёт]
Научился: Подключаться к базе данных средствами C#, отправлять запросы к базе данных 
Сложности: Все легко. 
Комментарии: Все ок. 
14 Класс MySQL. Получение таблицы. 00:23:55 47 чел. ★ 5 Done
  На этом уроке мы создадим ещё несколько полезных методов
в классе MySQL для считывания, изменения и добавления записей.
Отчёт отправил: 8339. Валентин Выполнено за 40 мин. [Показать отчёт]
Научился: Выполнять запросы к БД 
Сложности: Все просто 
Комментарии: Ок. 
15 Класс MySQL. Обработка ошибок. 00:13:22 46 чел. ★ 5 Done
  На этом уроке мы создадим функцию SqlError()
для удобной обработки ошибок во время тестирования.
Отчёт отправил: 8339. Валентин Выполнено за 30 мин. [Показать отчёт]
Научился: Ничему 
Сложности: Все просто. 
Комментарии: Все ок. 
16 Модульный тест 00:16:02 45 чел. ★ 5 Done
  На этом уроке мы создадим модульный тест (UnitTest)
для тестирования класса MySQL, который мы создали ранее.
В уроке приводится только знакомство, без полного покрытия
тестами нашего проекта, но в будущем мы к ним ещё вернёмся.
В комментариях необходимо написать,
использовал ли ты ранее модульные тесты.
Полезная ссылка: https://msdn.microsoft.com/ru-ru/library/hh694602.aspx
Отчёт отправил: 8339. Валентин Выполнено за 40 мин. [Показать отчёт]
Научился: Использовать модульные тесты 
Сложности: Все просто 
Комментарии: Модульные тесты раньше не использовал, но хотелось начать. Старт дан ))) 
17 Отображение таблицы 00:06:18 45 чел. ★ 5 Done
  На этом уроке мы визуализируем созданное,
через отображение в компоненте DataGridView.
Заголовки столбцов можно поменять двумя разными способами.
1. sql.Select("SELECT id as Nr, client as Surname FROM Client");
2. dataGridView1.Columns[0].HeaderText = "№";
Отчёт отправил: 8339. Валентин Выполнено за 15 мин. [Показать отчёт]
Научился: Научился связывать данные с DataGridView 
Сложности: Все просто 
Комментарии: Все ок 
18 Модель. Класс Клиента 00:24:57 44 чел. ★ 5 Done
  На этом уроке мы наконец-таки начнём
создавать первый класс Бизнес Модели Отеля.
Это класс Model.Client, для подготовки которого
потребуется ещё некоторые вспомогательные работы.
Отчёт отправил: 8339. Валентин Выполнено за 50 мин. [Показать отчёт]
Научился: Ничему 
Сложности: Все просто. 
Комментарии: Все ок. 
19 Модель. Всё про Клиента 00:35:00 43 чел. ★ 5 Done
  На этом уроке мы допишем класс Client.
Реализуем четыре метода и слегка потестируем их.
Написать свои впечатления о созданном классе модели.
Отчёт отправил: 8339. Валентин Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: Ничему 
Сложности: Все просто 
Комментарии: Все ок. 
20 Модель - Календарный год 00:29:48 39 чел. ★ 5 Done
  На этом уроке мы начнём создавать модель календаря.
Поработаем с запросами, напишем метод InsertDays(int year).
Создадим тест для этого метода и немного доработаем класс тестов.
Отчёт отправил: 8339. Валентин Выполнено за 50 мин. [Показать отчёт]
Научился: Потренировался создавать UnitTest 
Сложности: Все просто 
Комментарии: все ок. 
21 Модель - Календарные праздники 00:20:00 37 чел. ★ 5 Done
  На этом уроке мы добавим в модель календаря методы
для создания дней, пометки их праздничными/обычными.
Также добавим ещё несколько тестов, чтобы они представляли
из себя логически завершённую последовательность
для тестирования календаря.
Отчёт отправил: 8339. Валентин Выполнено за 15 мин. [Показать отчёт]
Научился: Потренировался в создании тестов 
Сложности: все легко 
Комментарии: все ок. 
22 Модель. Класс комнаты 00:16:39 37 чел. ★ 5 Done
  На этом уроке мы создадим модель на комнат, класс Room.
Чтобы сделать это быстро - мы воспользуемся заготовками
из класса Client.cs. В этом уроке мы не пишем тестов,
поэтому класс создали в рекордно короткое время, 15 мин.
Однако, создание тестов никто не отменял - это самостоятельное задание.
Отчёт отправил: 8339. Валентин Выполнено за 40 мин. [Показать отчёт]
Научился: Повторенье - мать ученья )) 
Сложности: Все просто. 
Комментарии: Все ок. Про получения комнаты по фильтру забыли. 
23 Модель. Удаление комнат. 00:14:41 35 чел. ★ 4.9 Done
  На этом уроке мы добавим метод для удаления комнат.
Исправим логическую ошибку метода Update в классах Room и Client.
Подготовим функцию для теста созданного класса.
Рекомендую эти тесты создать самостоятельно.
Отчёт отправил: 8339. Валентин Выполнено за 30 мин. [Показать отчёт]
Научился: В очередной раз потренировался в создании тестов 
Сложности: все просто 
Комментарии: все ок 
24 Модель. Тестирование комнат. 00:30:31 32 чел. ★ 5 Done
  На этом уроке мы создадим TestRoom() для класса Room.
Это будет одна функция, в которой мы последовательно
будем вызывать все методы класса Room и проверять,
на сколько правильно и корректно они отработали.
В конце урока мы выполним тест пошагово.
Отчёт отправил: 8339. Валентин Выполнено за 50 мин. [Показать отчёт]
Научился: Попрактиковался с тестами 
Сложности: Все просто 
Комментарии: Все ок. 
25 Модель. Бронирование. 00:29:40 32 чел. ★ 5 Done
  На этом уроке мы посмотрим картинки красивых комнат.
И начнём создавать модуль бронирования Book.
Создадим конструктор, методы InsertBook(),
SelectBook() и UpdateBook().
В конце поговорим о том, что нужно отдыхать ДО того, как устанешь.
Отчёт отправил: 8339. Валентин Выполнено за 40 мин. [Показать отчёт]
Научился: Ничему 
Сложности: Все просто 
Комментарии: Все ок. 
26 Модель. Статусы заказов. 00:14:52 31 чел. ★ 5 Done
  На этом уроке мы поговорим о статусах заказа.
Создадим методы изменения статуса и дней заезда/выезда.
Отчёт отправил: 8339. Валентин Выполнено за 20 мин. [Показать отчёт]
Научился: Ничему 
Сложности: Все просто 
Комментарии: Все ок 
27 Модель. Список заказов. 00:13:17 30 чел. ★ 5 Done
  На этом уроке мы допишем два последних метода в класс Book.
Методы для получения списка заказов по фильтру и без.
В конце урока выведем результаты в грид,
чтобы убедиться, что код работает.
Отчёт отправил: 8339. Валентин Выполнено за 25 мин. [Показать отчёт]
Научился: Ничему 
Сложности: Все просто 
Комментарии: Все ок 
28 Модель. Карта отеля 1 00:22:41 29 чел. ★ 5 Done
  На этом уроке мы начнём создавать модель управления комнатами.
Пока мы создадим только конструктор, поля и метод
void SelectMap (long room_id, long book_id, DateTime calendar_day)
Отчёт отправил: 8339. Валентин Выполнено за 30 мин. [Показать отчёт]
Научился: Ничему 
Сложности: все просто 
Комментарии: Все ок. 
29 Модель. Карта отеля 2 00:18:56 29 чел. ★ 5 Done
  На этом уроке мы создадим методы InsertMap() и InsertMapNone().
Также добавим в класс MySQL метод DateToString()
и пробежимся по всему проекту, убирая yyyy-MM-dd.
Отчёт отправил: 8339. Валентин Выполнено за 20 мин. [Показать отчёт]
Научился: Ничему 
Сложности: Все просто 
Комментарии: Все ок 
30 Модель. Карта отеля 3 00:16:56 29 чел. ★ 5 Done
  На этом уроке мы создадим оставшиеся методы класса Map:
SelectMap(), UpdateMap() и DeleteMap().
Пока без тестирования.
Отчёт отправил: 8339. Валентин Выполнено за 15 мин. [Показать отчёт]
Научился: Ничему 
Сложности: Все просто 
Комментарии: Все ок 
31 Вид. Список форм. 00:12:00 18 чел. ★ 4.9 Done
  На этом уроке мы приступаем к следующему этапу создания программы - Представления (вид). Наша задача - составить список форм, которые будут в проекте, и для каждой формы нарисовать, как она будет выглядеть.
Отчёт отправил: 8339. Валентин Выполнено за 1 час. 30 мин. [Показать отчёт]
Научился: Ничему 
Сложности: Все просто, но интересно )) 
Комментарии: Все ок 
  Итого:   31 видеоурок общей продолжительностью 10 час. 16 мин. 16 чел. ★ 4.97  
  Финалисты:   Денис,   Иван,   Николай Миролюбов,   Валентин,   Кирилл Шмойлов,   Frank,   Rita,   Ludmila,   Станислав,   Сергей Зулкарнаев,   kalobyte,   Tekashnik,   egresr,   Новопашин Владимир,   Роман,   Yefim .

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.


Научился: Вспомнил некоторые SQL запросы.
Трудности: вспомнить SQL запросы
схема, которая висит над ноутбуком - реально помогает, не зря заставили до этого повесить в одном из предыдущих занятий.


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