Проектирование. 380305БИ_Проектирование баз данных_лабораторные_ПоповВБ.docx. Лабораторная работа 1. Интерфейс субд mysql. Предоставление доступа и привилегий. Утилиты, входящие в состав субд цель работы
Скачать 1.15 Mb.
|
Создаем запросы, например: SELECT `j`.`Номер изделия`, `p`.`Номер детали`, `s`.`Номер поставщика`, `spj`.`Количество`, `p`.`Цвет` FROM `j`, `p`, `s`, `spj`; Получаем такой результат по нашему запросу Контрольные вопросы В каких режимах возможно создание базы данных? Создание базы данных в MySQL производится с помощью утилиты mysqladmin. Создать базу данных можно непосредственно находясь в клиентском приложении MySQL в программе MySQL Front. Какие типы данных допустимы при создании таблицы? INT[(len)] - целое число длиной 4 байта, представляемое при выводе максимально len цифрами; SMALLINT[(len)] - целое число длиной 2 байта, представляемое при выводе максимально len цифрами; FLOAT[(len,dec)] - действительное число, представляемое при выводе максимально len символами с dec цифрами после десятичной точки; CHAR(size) - строка символов фиксированной длины размером size символов; VARCHAR(size) - строка символов переменной длины максимальным размером до size символов; BLOB (Binary Large OBject) - массив произвольных (двоичных) байтов (максимальный размер зависит от реализации, обычно это 65535 байт); этот тип данных может использоваться, например, для хранения изображений; DATE - астрономическая дата; TIME - астрономическое время. Как выполнить создание таблицы средствами языка SQL? Создание таблицы в БД реализуется оператором CREATETABLE, имеющим следующий синтаксис CREATETABLE имя_табл (с_спецификация, ...); Описание столбца таблицы имя_столбца тип_данных [NULL] где имя_столбца - имя столбца таблицы, а тип_данных - спецификация одного из типов данных. Необязательное ключевое слово NULL означает, что ячейкам данного столбца разрешено быть пустыми (т.е. не содержать какого-либо значения). Описание столбца таблицы имя_столбца тип_данных NOTNULL [DEFAULT по_умолч] [PRIMARYKEY] где конструкция NOTNULL запрещает иметь в таблице пустые ячейки в данном столбце. Конструкция PRIMARYKEY указывает, что содержимое столбца будет играть роль первичного ключа для создаваемой таблицы. Конструкция DEFAULT по_умолч переопределяет имеющееся для столбцов каждого типа данных (например, 0 для числовых типов), используемое при добавлении в таблицу оператором INSERTINTO строк, не содержащих значений в этом столбце. Описание первичного ключа PRIMARYKEY имя_ключа (имя_столбца, ...) Эта спецификация позволяет задать первичный ключ для таблицы в виде композиции содержимого нескольких столбцов. Описание вторичного ключа KEY имя_ключа (имя_столбца, ...) Как разделяются операторы SQL в случае нескольких операторов в запросе? Команды запроса разделяются знаком «;» Каким образом выполнить простейшие операции вставки строк данных в таблицу средствами SQL? Используя команду insert into; Каким образом выполнить простейшие операции модификации строк таблицы средствами SQL? Оператор UPDATE для модификации существующих строк в существующих таблицах Каким образом выполнить просмотр таблицы? showtables для получения таблиц в выбранной базе данных. Как получить информацию о структуре таблицы в рамках СУБД MySQL? Более пространную информацию о структуре каждой таблицы можно получить с помощью команды describe. Лабораторная работа №4 Создание запросов и модификация таблиц базы данных. Цель работы: Используя данные базы данных, подготовленной в предыдущей лабораторной работе, подготовить и реализовать серию запросов, связанных с выборкой информации и модификацией данных таблиц. Содержание работы и методические указания к ее выполнению 1. Изучить набор команд языка SQL, связанный с созданием запросов, добавлением, модификацией и удалением строк таблицы: select - осуществление запроса по выборке информации из таблиц базы данных; insert - добавление одной или нескольких строк в таблицу; delete - удаление одной или нескольких строк из таблицы; update - модификация одной или нескольких строк таблицы; union - объединение запросов в один запрос. 2. Изучить состав, правила и порядок использования ключевых фраз оператора select: select - описание состава данных, которые следует выбрать по запросу (обязательная фраза); from - описание таблиц, из которых следует выбирать данные (обязательная фраза); where - описание условий поиска и соединения данных при запросе; group by - создание одной строки результата для каждой группы (группой называется множество строк, имеющих одинаковые значения в указанных столбцах); having - наложение одного или более условий на группу; order by - сортировка результата выполнения запроса по одному или нескольким столбцам; into outfile - создание файла, в который будет осуществлен вывод результатов соответствующего запроса. Порядок следования фраз в команде select должен соответствовать приведенной выше последовательности. Для лучшего понимания механизма функционирования выполните следующие упражнения: I. Простые запросы на языке SQL Запрос на языке SQL формируется с использованием оператора Select. Оператор Select используется для выборки данных из базы данных; для получения новых строк в составе оператора Insert; для обновления информации в составе оператора Update. В общем случае оператор Select содержит следующие семь спецификаторов, расположенных в операторе в следующем порядке: спецификатор Select; спецификатор From; спецификатор Where; спецификатор Group by; спецификатор Having; спецификатор Order by; Обязательными являются только спецификаторы Select и From. Эти два спецификатора составляют основу каждого запроса к базе данных, поскольку они определяют таблицы, из которых выбираются данные, и столбцы, которые требуется выбрать. Спецификатор Where добавляется для выборки определенных строк или указания условия соединения. Спецификатор Order by добавляется для изменения порядка получаемых данных. Спецификатор Into temp добавляется для сохранения этих результатов в виде таблицы с целью выполнения последующих запросов. Два дополнительных спецификатора оператора Select - Group by (спецификатор группирования) и Having (спецификатор условия выборки группы) - позволяют выполнять более сложные выборки данных. У п р а ж н е н и я 1. Выбор всех строк и столбцов таблицы. Пример. Выдать полную информацию о поставщиках. Select * from S Результат: таблица S в полном объеме. Подготовьте запрос и проверьте полученный результат. 2. Измение порядка следования столбцов. Пример. Выдать таблицу S в следующем порядке: фамилия, город, рейтинг, номер_поставщика. Select фамилия, город, рейтинг, номер_поставщика from S Результат: таблица S в требуемом порядке. Подготовьте запрос и проверьте полученный результат. 3. Выбор заданных столбцов. Пример. Выдать номера всех поставляемых деталей. Select номер_детали fromSPJ Результат: столбец номер_детали таблицы SPJ Подготовьте запрос и проверьте полученный результат. 4. Выбор без повторения. Пример. Выдать номера всех поставляемых деталей, исключая дублирование. Select distinct номер_детали from SPJ
Подготовьте запрос и проверьте полученный результат. 5. Использование в запросах констант и выражений. Пример. Select номер_детали, "вес в граммах", вес*454 fromP
Подготовьте запрос и проверьте полученный результат. 6.Ограничение в выборке. Пример. Выдать номера всех поставщиков, находящихся в Париже с рейтингом > 20. Select номер_поставщика fromSwhere город="Париж" and рейтинг>20
Подготовьте запрос и проверьте полученный результат. 7. Выборка с упорядочиванием. Пример. Выдать номера поставщиков, находящихся в Париже в порядке убывания рейтинга. Select номер_поставщика, рейтинг fromSwhere город="Париж" orderby рейтинг desc
Подготовьте запрос и проверьте полученный результат. 8. Упорядочивание по нескольким столбцам. Пример. Выдать список поставщиков, упорядоченных по городу, в пределах города - по рейтингу. Select * from S order by 4, 3
Подготовьте запрос и проверьте полученный результат. 9. Фраза in ( not in ). Пример. Выдать детали, вес которых равен 12, 16 или 17. Select номер_детали, название, вес fromPwhere вес in (12, 16, 17)
Подготовьте запрос и проверьте полученный результат. 12. Выбор по шаблону. Для запросов с поиском по шаблону, основанных на поиске подстрок в полях типа CHARACTER, используются ключевое слова LIKE. Включение в выражение ключевого слова NOT порождает условие c обратным смыслом. Ключевое слово LIKE соответствует стандарту ANSI.
Примеры. а) Выбрать список деталей, начинающихся с буквы "Б"10 Select номер_детали, название, вес fromPwhere название like "Б%"
|