В прошлом году я предупреждал, что каждому нужно определиться с предметной областью, по которой он будет писать лабы и курсовые проекты.
INT() - целое число (32-разрядное).
Указание размера в скобках является справочной информацией для инструментов и не влияет на диапазон значений или объем памяти, занимаемый данными.
Ещё есть целочисленные типы:
TINYINT - аналог байта (8 бит)SMALLINT - слово (16 бит)MEDIUMINT - прямого аналога в C# нет, занимает 24 битаBIGINT - длинное целое (64 бита)FLOAT и DOUBLE - 32 и 64 разрядные числа с плавающей запятой
DECIMAL(M,D) и NUMERIC(M,D) - пишут что обозначают одно и то же (синонимы): числа с фиксированной запятой, наиболее понятный пример - деньги, мы не можем оперировать долями копеек.
VARCHAR() - хранит строки переменной длины до 65 535 символов. В скобках мы указываем максимальную длину, которую может занимать строка. Первый байт или два (зависит от заявленной максимальной длины) в структуре данных этого типа хранят фактическую длину сохраненных данных. Рекомендуется использовать этот тип данных, если заранее не известна точная длина данных (ФИО, Адрес, название товара и т.п.)
CHAR() - хранит строку фиксированного размера (который задается при объявлении). Рекомендуется для данных у которых длина известна (номер паспорта, ИНН, СНИЛС и т.п.)
TEXT - используется для хранения больших (и не только) строк, например, текст статьи
TINYINT - до 255 байтTEXT - до 64 КбайтMEDUIMTEXT - до 16 МбайтLONGTEXT - до 4 ГбайтDATE - Только дата в формате YYYY-MM-DD. Допустимые значения от 1000-01-01 до 9999-12-31DATETIME - Дата и время в формате YYYY-MM-DD HH:MM:SS.TIMESTAMP - Время хранится в виде количества секунд, прошедших с 1 января 1970 года по гринвичу. Занимает в два раза меньше места, чем тип DATETIME. Но при этом диапазон ограничен значениями от 1970-01-01 00:00:01 до 2038-01-09 03:14:07TIME - Только время в формате HH:MM:SSYEAR - Только год в формате YYYY или YY.Как видно, полную дату можно хранить либо в DATETIME, либо в TIMESTAMP, в чём разница? DATETIME хранится в виде строки, т.е. он более человекочитаем, но требует больше ресурсов при сравнении (поиск по строке работает дольше, чем сравнение двух целых). TIMESTAMP хранится как целое и его, соответственно выгоднее использовать там, где нужно часто сравнивать даты (но обратите внимание на максимальную поддерживаемую дату)
В MySQL нет выделенного типа данных под логический, вместо него обычно используют TINYINT(1)
В репозитории опубликовать readme.md, который должен включать описание предметной области и ссылку на PDF-файл диаграммы. Также в репозиторий включить исходный файл диаграммы.
Базу по разработанной диаграмме пока не создавайте - я ее проверю
Допускается совместная работа, но в этом случае предметная область должна делиться на подсистемы (например, продажи продукции и складской учет) и каждый участник совместного репозитория должен работать со своей подсистемой (и публиковать изменения в репозиторий под своим именем)
Этот репозиторий послужит основой для большого проекта, в следующих лабораторных мы напишем словарь данных, создадим DDL-скрипт, наборы данных, сделаем импорт...