Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
all_lab.doc
Скачиваний:
47
Добавлен:
14.11.2019
Размер:
1.42 Mб
Скачать

Тип данных null

Реляционная БД позволяет объединить многочисленные данные в одну таблицу и при помощи SQL-запросов проводить над ней различные манипуляции, получая результат в виде чисел и строк, а также новых таблиц. При создании таблицы неизбежны случаи, когда информации недостаточно и для части данных нельзя определить, какое значение они примут. Такие данные обозначаются специальным типом – NULL.

Например, в форме регистрации пользователь обязятельно должен указать фамилию, имя, отчество. Кроме того, по желанию он может указать своей e-mail и URL домашней страницы.

Посетитель обязан указать свои фамилию, имя и отчество, но может не указывать e-mail и адрес домашней страницы, даже несмотря на то, что они у него имеются в наличие. Таким образом, если для полей email и url нет информации, это не значит, что ее нет в природе, просто на данный момент она неизвестна. Такие поля принимают значение NULL – отсутствие информации, т.е. неопределенное значение.

Выбор типа данных

При выборе типа данных следует помнить, что обработка числовых данных происходит быстрее стрококвых. Так как типы данных ENUM и SET имеют внутреннее числовое представление, им следует отдавать предпочтение перед другими видами строковых данных, если есть такая возможность.

Не следует забывать, что БД хранятся на жестком диске, и чем меньше места они занимают, тем быстрее происходит поиск и извлечение. Поэтому, там, где есть возможность, предпочтение следует отдавать типам данных, занимающих меньше места.

Задание

Замечание: Все таблицы, поля и т. д. называем латинскими буквами. При создании БД обращаем особое внимание на КОДИРОВКИ!!! Необходимо указать – cp1251 и Russian. Они выставляются ТОЛЬКО при регистрации хоста, а также создании и регистрации БД.

1 Вариант.

  • Создать базу данных BASA_<фамилия студента>, в которой хранится таблица АВТОР (Фамилия, имя, отчество, пол, возраст, телефон). Примечание: не забудьте про первичный ключ!!!

  • В таблицу АВТОР добавить сведения об ИНН автора и заменить поле ВОЗРАСТ на поле ДАТА_РОЖДЕНИЯ.

  • Заполните таблицу данными – 5-6 записей.

2 Вариант.

  • Создать базу данных BASA_<фамилия студента>, в которой хранится таблица РЕЙС (№ рейса, конечный пункт, дата вылета, продолжительность маршрута, количество мест в самолете, стоимость билета). Примечание: не забудьте про первичный ключ!!!

  • В таблицу РЕЙС необходимо добавить бортовый номер и увеличить длину поля КОНЕЧНЫЙ ПУНКТ.

  • Заполните таблицу данными – 5-6 записей.

3 Вариант.

  • Создать базу данных BASA_<фамилия студента>, в которой хранится таблица БЛЮДО (Название, время приготовления, калорийность, стоимость, вес, фамилия повара). Примечание: не забудьте про первичный ключ!!!

  • В таблицу БЛЮДО необходимо добавить сведения о содержании жиров в блюде (в %) и заменить тип поля ВРЕМЯ_ПРИГОТОВЛЕНИЯ на вещественный.

  • Заполните таблицу данными – 5-6 записей.

2. Работа с таблицами. Ввод, извлечение, поиск и удаление данных Запись данных в таблицы

Оператор INSERT заполняет таблицу данными. Вот общая форма INSERT.

INSERT into table_name (column1, column2, ...)

values (value1, value2...);

где table_name является именем таблицу, в которую надо внести данные; column1, column2 и т.д. являются именами столбцов, а value1, value2 и т.д. являются значениями для соответствующих столбцов.

Пример. Следующий оператор вносит запись в таблицу employee_data.

INSERT INTO employee_data

(f_name, l_name, title, age, yos, salary, perks, email)

values

("Михаил", "Петров", "директор", 28, 4, 200000,

50000, "misha@yandex.ru");

Несколько важных моментов:

  • Значениями для столбцов f_name, l_name, title и email являются текстовые строки, и они записываются в кавычках.

  • Значениями для age, yos, salary и perks являются числа (целые), и они не имеют кавычек.

  • Можно видеть, что данные заданы для всех столбцов кроме except emp_id. Значение для этого столбца задает система MySQL, которая находит в столбце наибольшее значение, увеличивает его на единицу, и вставляет новое значение.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]