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

Формула программиста
основатель — Волосатов Евгений Витольдович
Вступай в Телеграм чат проекта | Обход блокировки
Игровой комплекс Сокобан - Введи код скидки

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

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



Хочу купить!

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

Цена: 2000 p.


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

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

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




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

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

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

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


Научился: Добавлять в календарь все дни заданного года и созданию теста для проверки метода.
Нет людей в семье которые заинтересованы программированием...


Научился: Добавлять и модифицировать записи в таблицах базы данных
данные не на англислом выводит ?????????