На этом уроке мы напишем SQL запросы для создания нашей базы данных отеля.
Дата отправки отчёта:
30 ноября 2015 г.
Задание выполнено: за
30 мин.
Чему научился:
Что вместо tinyint можно написать bool. Что primary key можно объявить в самом поле. Вспомнила команду для добавления внешнего ключа. explain и show create table изучала очень давно, с HeidiSQL забыла за ненадобностью.
Научился: Пользоваться графическим софтом и вставлять внешние ключи. Трудности: Разобраться с софтом и связями. Сначала я делал модель в mysql workbench, там есть линии связей как в акцессе.
Но это только модель и она не связана с бд. Да и там я так и не понял, как делать 1 к н, жму кнопку вроде с таким значном, а связь наоборот делается. Потом дошло, что надо использовать связь с использованием уже существующих колонок. Для этого надо сначала указать таблицу откуда (например book.book_date и куда calendar.day).
Правда это как-то тупо, т.к. знак бесконечности появляется на таблице "откуда".
Еще непонятны линии сплошные и прерывистые. В чем разница?
Научился: Создавать БД, используя консоль. Трудности: Ничего сложного, главное внимательно следить за синтаксисом. Отличный урок. Показаны и объяснены основные моменты создания базы данных и таблиц. Может кому интересно, почему при показе таблицы у поля типа int в скобках выводится число 11 (см. 1 рисунок). Это число означает ширину поля для отображения числа. Подсчитали, что 11 знакомест будет достаточно, чтобы поместилось любое число int'ового типа без обрезки (а занимает тип int в памяти 4 байта).
Довольно интересный момент (см. 2 рисунок). Когда создавали таблицу Map, указываем для полей room_id, book_id и calendar_id, что они являются ключом, следовательно, нулевые значения в них не допускаются (столбец NULL на рисунке, все верно). Тогда получается, что эти поля должны инициироваться какими-то начальными ненулевыми значениями, но если посмотреть последний столбец на рисунке (столбец Default), то ничего такого не увидим. Довольно странно.
И еще хочу добавить, я помню, когда Евгений Витольдович проводил вебинары по видеокурсу "Книжка оценок". В нем очень подробно рассказывались SQL-команды. К примеру, как добавить в таблицу данные, потом как их отсортировать. Непросто название команды, а еще были продемонстрированы модификации этих команд. Очень полезный урок)