- •Белорусский национальный технический университет
- •Моделирование баз данных средствами Erwin
- •Методические указания по изучению языка sql
- •Запуск MySql
- •Ввод запросов
- •Запросы на создание и использование базы данных
- •I. Простые запросы на языке sql
- •II. Использование функций
- •III. Запросы, использующие соединения
- •IV. Группирование
- •V. Построение внешнего соединения
- •VI. Операторы манипулирования данными. Удаление данных
- •VII. Операторы манипулирования данными. Вставка данных
- •Учебная литература
- •Дополнительная литература
- •Задание 1
- •Варианты контрольных заданий
- •Задание 2
- •Задание 3( не нужно)
- •Утилита субд mysql Mysqldump
- •Синтаксис оператора create table
- •Синтаксис оператора alter table
- •Синтаксис оператора drop table, database
- •Синтаксис оператора update
- •Синтаксис оператора delete
- •Синтаксис оператора select
Задание 2
С помощью языка SQL создать запросы к созданной БД для ввода туда данных различными операторами (insert…values..;loaddata…from..). Используя введенные данные, подготовить и реализовать серию запросов, связанных с выборкой информации и модификацией данных таблиц. Запросы к БД должны реализовывать:
ввод данных различными операторами (3 запроса);
выборку данных из таблиц в указанном порядке (3 запроса);
вывод результатов, исключая дубликаты (2 запроса);
использование в запросах констант и выражений (4 запроса);
использование группировки и упорядочивания (2 запроса);
использование агрегатных функций, функций даты, строковых функций (5 запросов).
Запросы должны быть представлены, помимо бумажного носителя, в виде текстового файла, требования к которому перечислены в задании 1. Примеры перечисленных запросов приведены в рабочей программе.
( ВСЕ ЗАПРОСЫ В ИНТЕРАКТИВНОМ РЕЖИМЕ)
__________________________________________________
Задание 3( не нужно)
Используя в качестве web-сервера серверApacheи язык программированияPERL, составитьweb-приложение, обеспечивающее выполнение по одному запросу из каждой группы запросов, перечисленных в задании 2. При создании приложения следует учесть, что дерево директорий должно быть таким как показано в табл. 1.
Таблица 1
D:\usr\ |
www |
|
|
|
|
cgi-bin |
|
|
|
|
local |
|
|
|
|
|
Apache |
Apache.exe |
|
|
|
Perl |
bin |
Perl.exe |
|
|
MySQL |
Mysql.exe |
|
База данных должна заполняться средствами, наиболее полно автоматизирующими этот процесс. При этом не допускается:
1) ввод информации об одном объекте разными способами или в разных местах;
2) ввод одной и той же информации в нескольких местах;
3) ввод информации разрозненно, без поддержания общей структуры объекта.
Задание должно быть представлено в виде готовых к использованию файлов и их описанию на бумажном носителе. При этом исполняемые файлы на языке PERLрасполагаются в директории \cgi-bin\bd_num, аHTML- файлы должны быть сконфигурированы для расположения в директорииwww\bd_num, гдеnum-номер варианта, это также необходимо предусмотреть при вызове исполнительных программ из формHTML. В случае если при написании исходного кода приложения на языкеPERLбудут подключаться библиотеки, то они также должны быть представлены.
ПРИЛОЖЕНИЕ Б
Утилита субд mysql Mysqldump
Программа mysqldump используется для создания дампа содержания базы данных MySQL. Она пишет инструкции SQL в стандартный вывод. Эти инструкции SQL могут быть переназначены в файл. Можно резервировать базу данных MySQL, используя mysqldump, но при этом Вы должны убедиться, что в этот момент с базой данных не выполняется никаких других действий.
Программа mysqldump поддерживает следующие параметры (Вы можете использовать короткую или подробную версию):
-#, --debug=[options] |
Вывести в протокол отладочную информацию. В общем виде 'd:t:o, filename` |
-?, --help |
Справка |
-c, --compleat-insert |
Генерируйте полные инструкции insert (не исключая значений, которые соответствуют значениям столбца по умолчанию) |
-h, --host=[hostname] |
Соединиться с сервером hostname |
-d, --no-data |
Экспорт только схемы информации (исключая данные) |
-t, --no-create-info |
Экспорт только данных, исключая информацию для создания таблицы. Противоположность -d |
-p, --password=[password] |
Пароль пользователя, для соединения с сервером MySQL. Обратите внимание, что не должно быть пробела между -p и паролем |
-q, --quick |
Не буферизовать результаты запроса, дамп выдать непосредственно к STDOUT |
-u, --user=[username] |
Имя пользователя. Если не задано, используется текущий логин |
-v, --verbose |
Вывести подробную информацию относительно различных стадий выполнения mysqldump |
-P, --port=[port] |
Порт для связи |
-V, --version |
Информация о версии |
Вы можете направить вывод mysqldump в клиентскую программу MySQL, чтобы копировать базу данных.
Примечание: Вы должны убедиться, что база данных не изменяется в это время, иначе Вы получите противоречивую копию:
..$ mysqldump -u root -p --opt mysql user>mysql-1.sql
..$ mysqldump -u root mysql>mysql-2.sql
После выполнения этой команды у нас появился файл mysql-1.sql и mysql-2.sql. Загрузим их в текстовый редактор, чтобы поподробнее изучить и, возможно, немного поправить.
Если пароль был случайно забыт, можно воспользоваться ключом MYSQLD и ввести --skip-grant-tables, при этом все пароли будут иметь пустое поле.
ПРИЛОЖЕНИЕ С