Главная | Обратная связь
МегаЛекции

Лабораторный практикум





О. Б. Малков, М. В. Девятерикова

 

 

Работа с СУБД Mysql

 

Учебное пособие по выполнению

лабораторных работ

 

 

Омск 2010

УДК 681.3.06

ББК 32.973.26-018.2

М18

Рецензенты:

А. А. Колоколов, доктор физ.-мат. наук, профессор, зав. лабораторией

дискретной оптимизации Омского филиала Института математики

им. С. Л. Соболева СО РАН;

О. Н. Лучко, профессор, зав. кафедрой прикладной информатики и математики Омского государственного института сервиса

 

Малков О. Б., Девятерикова М. В.

М18 Работа с СУБД MySQL: Учебное пособие по выполнению лабораторных работ. Омск: Изд-во ОмГТУ, 2010. – 80 с.

 

В пособии описан лабораторный практикум работы с популярной СУБД MySQL. Практикум знакомит студента с созданием баз данных и таблиц, их заполнением, извлечением и удалением записей. Рассмотрены встроенные функции, транзакции, временные таблицы, хранимые процедуры, триггеры, курсоры. Описаны способы обеспечения целостности и безопасности данных.

Пособие предназначено для студентов специальности «Прикладная информатика». Будет полезно также студентам других специальностей, изучающим дисциплины «Базы данных», «Системы управления базами данных» и др.

 

Печатается по решению редакционно-издательского совета Омского государственного технического университета.

 

Редактор И. А. Иванова

ИД № 06039 от 12.10.01 г.

Сводный темплан 2010 г.

Подписано в печать 20.03.10 г. Формат 60х84 1/16.

Бумага офсетная. Отпечатано на дупликаторе.

Усл. печ. л. 5. Уч.-изд. л. 5. Тираж 150 экз. Заказ

 
 


Издательство ОмГТУ, 644050, г. Омск, пр. Мира, 11

Типография ОмГТУ

 

 

УДК 681.3.06

ББК 32.973.26-018.2

ã О. Б. Малков, М. В. Девятерикова, 2010

ã Омский государственный технический университет, 2010

содержание

 

Введение. 4

1. основные Понятия и определения.. 5

2. установка MySQL. 7

3. лабораторный практикум.. 11

Лабораторная работа № 1. Проектирование базы данных с использованием ER-технологии. 11

Лабораторная работа № 2. Создание и связывание таблиц базы данных в среде MySQL 14



Лабораторная работа № 3. Вставка, удаление и обновление данных. 23

Лабораторная работа № 4. Создание простых запросов на выборку. 30

Лабораторная работа № 5. Создание сложных запросов на выборку. 39

Лабораторная работа № 6. Создание хранимых процедур. 46

Лабораторная работа № 7. Создание триггеров. 54

Лабораторная работа № 8. Транзакции. 57

Лабораторная работа № 9. Работа с представлениями. 60

Лабораторная работа № 10. Управление правами пользователей. 64

4. Варианты заданий к лабораторным работам.. 68

БИБЛИОГРАФИЧЕСКИЙ СПИСОК.. 75

Приложения.. 76


Введение

 

Выполнение лабораторных работ должно способствовать закреплению и углублению знаний, полученных в процессе изучения лекционных курсов по дисциплинам «Базы данных», «Системы управления базами данных». Рассмотрен весь процесс проектирования реляционной базы данных от построения инфологической модели до ее конкретной реализации с использованием популярной СУБД MySQL.

Практикум знакомит студента с созданием баз данных и таблиц, их заполнением, извлечением и удалением записей. Рассмотрены встроенные функции, транзакции, временные таблицы, хранимые процедуры, триггеры, курсоры. Описаны способы обеспечения целостности и безопасности данных

Лабораторный практикум включает 10 лабораторных работ, в каждой из которых кратко представлен теоретический материал по рассматриваемой теме. Рассмотрены конкретные примеры, приведены варианты заданий для самостоятельного выполнения. При описании интерфейса использована версия СУБД MySQL 5.0.

Полученные знания, умения и навыки могут быть использованы при создании баз данных для экономических информационных систем, разрабатываемых студентами в процессе дипломного проектирования.

По результатам лабораторного практикума оформляется отчет в виде пояснительной записки объемом 20–25 страниц формата А4. Текст готовится с помощью текстового процессора Microsoft Word. Размеры полей страницы: левое – 25 мм, правое – 10 мм, верхнее – 20 мм, нижнее – 25 мм. Размер шрифта – 14 пунктов. Тип шрифта – Times New Roman. Величина абзацного отступа – 10 мм. Межстрочный интервал – одинарный. Каждый раздел записки начинается с новой страницы, номера страниц располагаются внизу страницы по центру. Рисунки и таблицы нумеруются последовательно арабскими цифрами.

 

Основные Понятия и определения

 

Базу данных (БД) можно определить как унифицированную совокупность данных, совместно используемую различными приложениями в рамках некоторой единой автоматизированной информационной системы.

Программное обеспечение, осуществляющее операции над БД, получило название СУБД – система управления базами данных.

Запрос – специальным образом описанное требование, определяющее состав производимых над БД операций по выборке или модификации хранимых данных.

Для подготовки запросов чаще всего используют структурированный язык запросов – SQL (Structured Query Language). Этот язык стал фактическим стандартом языка работы с реляционными БД. Он является непроцедурным языком и не содержит операторов управления, организации подпрограмм, ввода-вывода и т. д. Поэтому SQL автономно не используется, а обычно погружен в среду встроенного языка программирования СУБД или процедурного языка (типа C++ или Pascal).

Современные СУБД позволяют создавать запросы, не применяя SQL. Однако его применение позволяет расширить возможности СУБД.

Категории SQL-запросов:

· определение данных (Data Definition Language, DDL) – SQL-запросы, позволяющие пользователям создавать и модифицировать структуру объектов БД (таблицы, представления и индексы); команды DDL влияют на контейнеры, содержащие данные, а не на данные;

· запросы данных (Data Query Language, DQL) – включает выражения SQL для получения данных из базы;

· манипуляции с данными (Data Manipulation Language, DML) – SQL-запросы, позволяющие пользова­телю добавлять и удалять данные (в форме строк), а также модифици­ровать имеющиеся в БД;

· контроль данных (Data Control Language, DCL) – SQL-запросы, позволяющие администраторам контролировать доступ к данным в базе и использовать различные системные привилегии СУБД;

· контроль транзакций – набор команд, которые пользователь применяет для того, чтобы вся транзакция либо была успешно выполнена, либо нет; команды контроля транзакций не вполне соответствуют син­таксису SQL-запросов, но положительно влияют на выполнение запросов, включенных в транзакцию.

Архитектура современных профессиональных СУБД базируется на принципах клиент-серверного взаимодействия программных компонентов. Сервер – процесс, обслуживающий информационную потребность клиента.

Клиент – приложение, посылающее запрос на обслуживание сервером. Клиент инициирует связь с сервером, определяет вид запроса, получает от сервера результат обслуживания, подтверждает окончание обслуживания. Поскольку стандартом интерфейса «клиент-сервер» в этом случае является язык SQL, СУБД называют SQL-сервером.

На клиентском компьютере может выполнятьсяSQL-клиент – программа, предоставленная поставщиком СУБД и обеспечивающая пользователю возможность вводить SQL-запросы, посылать их в СУБД и просматривать результат.

По пользовательскому интерфейсу SQL-клиенты разделяются на три типа:

· клиент с интерфейсом командной строки – команды вводятся с клавиатуры как текст, клиент можно использовать в любой операционной системе;

· клиент с графическим интерфейсом пользователя (GUI, Graphical User Interface) – выполняется в оконной системе (Microsoft Windows) и отображает данные, используя графические элементы (значки, кнопки и диалоговые окна);

· клиент с Web-интерфейсом – выполняется на сервере БД, а для взаимодействия с пользователем используется Web-браузер на клиентском компьютере.

Одним из наиболее популярных SQL-серверов БД является MySQL – небольшая и надежная реляционная СУБД с возможностью отката и восстановления после сбоя, многопользовательская, многопоточная, с высокой производительностью. Сервер MySQL предназначен как для критических по задачам производственных систем с большой нагрузкой, так и для встраивания в программное обеспечение массового распространения.

MySQL – открытое программное обеспечение (распространяется с открытым исходным кодом). Благодаря высокой производительности и простоте настройки, богатому выбору API-интерфейсов, а также функциональным средствам работы с сетями, сервер MySQL стал одним из самых удачных вариантов для разработки Web-приложений, взаимодействующих с БД.

Система MySQL может быть реализована как:

· автономная настольная система;

· клиент-серверная система.

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

· при доступе к БД лишь одного пользователя;

· при небольшом числе пользователей, работающих с БД не одновременно.

Клиент-серверная система может иметь:

· двухзвенную установку;

· трехзвенную установку.

Независимо от варианта установки, программное обеспечение и базы данных MySQL размещаются на центральном компьютере (сервере баз данных). Пользователи работают на компьютерах-клиентах. Доступ пользователей к серверу БД производится при помощи:

· приложений с компьютеров-клиентов (в двухзвенных системах);

· приложений, выполняющихся на специальном компьютере – сервере приложений(в трехзвенных системах).

В двухзвенных системах клиенты исполняют приложения, осуществляющие доступ к серверу БД непосредственно через сеть. Клиенты называются толстыми, поскольку выполняют два вида работы:

· исполняют программный код, соответствующий функциональным задачам;

· исполняют код, отображающий результаты доступа к БД.

Двухзвенная установка полезна при небольшом количестве пользователей, потому что для соединения с каждым из пользователей расходуются системные ресурсы (память и блокировки). Чем больше количество соединений с пользователями, тем хуже производительность системы из-за соперничества за ресурсы.

В трехзвенных системах в задачи компьютеров-клиентов входит лишь исполнение программного кода по вызову функций сервера приложений и отображение результатов. Такие клиенты называются тонкими. Сервер приложений исполняет многопотоковые приложения, с которыми могут работать много пользователей одновременно. Сервер приложений соединяется с сервером БД, осуществляет доступ к данным и возвращает результаты клиенту.

С распространением Интернета клиенты и серверы стали взаимодействовать в глобальной сети. Web-среда предоставила пользователям дружественный интерфейс, за формирование которого отвечает Web-сервер. Такой подход позволил использовать для работы с удаленными БД Web-браузер, не прибегая к услугам специфических клиентских программ. Например, клиенты торговой компании, желающие ознакомиться со списком товаров, используют браузер для посещения сайта компании. Web-страницу со списком товаров формирует специальный модуль (скрипт), выполняющийся на Web-сервере компании. Для получения информации этот скрипт посылает SQL-запросы СУБД, находящейся на сервере БД.

Таким образом, в трехуровневой архитектуре Интернета выделяются:

· клиент – Web-браузер (клиентское приложение), который взаимодействует с Web-сервером, посылая ему запросы на отображение той или иной Web-страницы;

· Web-сервер – на котором выполняется Web-приложение, формирующее SQL-запрос к СУБД (которая должна вернуть необходимые данные из БД);

· сервер баз данных – на котором размещены СУБД и база данных.

 

Установка MySQL

 

С Web -страницы http://dev.mysql.com/downloads/ можно загрузить дистрибутив MySQL.Для загрузки доступны:

· MySQL 5.1 – рекомендуемая версия (релиз);

· MySQL 5.4 – версия, находящаяся в стадии бета-тестирования;

· MySQL 6 – версия, находящаяся в стадии альфа-тестирования;

· MySQL 4.1 – устаревшая, но поддерживаемая версия.

Когда разрабатываемая версия переходит в стадию релиза, в нее прекращают добавлять нововведения и лишь исправляют най­денные ошибки. Все нововведения добавляются в новую версию. Поддержка старой рекомендуемой версии прекращается. Справочное руководство можно найти по адресу http://dev.mysql.com/doc/.

На открывшейся странице будет представлен список дистрибутивов, скомпилированных под разные операционные системы. Для Windows предлагаются:

· Windows Essentials (x86) – урезанная версия дистрибутива, из которой удалены все вспомогательные утилиты («голый» сервер MySQL);

· Windows (x86) – полная версия, включающая автоматический установщик;

· Without installer (unzip in C:\) – полная версия дистрибутива без автоматического установщика.

Рекомендуется выбрать дистрибутив Windows (x86). Можно загрузить графические клиенты для работы с MySQL-сервером (MySQL Administrator, MySQL Query Browser, MySQL Migration Toolkit), которые свободно распространяются на сайте http://dev.mysql.com/downloads/gui-tools/5.0.html.

При работе в Windows NT/2000/XP/Server 2003 необходимо войти в систему с привилегиями администратора, разархивировать дистрибутив mysql-5.0.51b-win32.zip во времен­ный каталог, после чего запустить файл setup.exe. Для продолжения установки следует нажать кнопку Next, после чего откроется окно, в котором предлагается тип инсталляции:

· Typical – устанавливаются сервер MySQL, клиент командной строки mysql и утилиты командной строки;

· Complete – устанавливаются все компоненты (эталонный набор, встроенный сервер библиотеки, поддержка скриптов, документация);

· Custom – предоставляет возможность выбора необходимых пакетов и изменения инсталляционного пути.

После завершения настройки выводится завершающее окно. Если вас удовлетворяют параметры настройки, то нажмите кнопку Install.

По окончании инсталляции можно зарегистрироваться на Web-сайте MySQL. Регистрация дает возможность участвовать в форумах – forums.mysql.com, сообщать об ошибках – bugs.mysql.com и подписаться на информационный бюллетень. Для получения подробной информации, нажмите More, для продолжения – Next. Заключительный экран инсталлятора сообщает об окончании установки.

Для запуска Мастера Конфигурации нужно поставить галочку в пункт Configure the MySQL Server now. К настройке всегда можно вернуться, выбрав пункт системного меню Пуск > Программы > MySQL > MySQL Server 5.0 > MySQL Server Instance Config Wizard.Рекомендуется сразу произвести настройку.

Настройка начинается со стартового окна. После нажатия кнопки Next открывается окно, в котором предлагается выбрать тип конфигурации.

Доступны два типа конфигурации:

· Detailed Configuration (детализированная конфигурация) – предназначена для опытных пользователей, которые хотят сконфигурировать сервер, учитывая возможности компьютера и конкретные задачи;

· Standard Configuration (стандартная конфигурация) – предназначена для новых пользователей, которым нужно быстро установить MySQL, не вникая в детали конфигурации сервера.

Для гибкой настройки системы следует выбрать пункт De­tailed Configuration. После нажатия кнопки Next открывается окно на­стройки производительности MySQL. В этом окне есть три опции:

· Developer Machine (машина разработчика) – типичная настольная рабочая станция, на которой MySQL предназначен только для личного использования и на которой выполняется множество других приложений; сервер MySQL будет сконфигурирован для использования минимальных системных ресурсов;

· Server Machine (сервер) – машина, на которой сервер MySQL выполняется вместе с другими приложениями-серверами (FTP, e-mail, Web-серверы); сервер MySQL будет сконфигурирован для использования умеренной части ресурсов;

· Dedicated MySQL Server Machine (выделенный сервер) – машина выполняет только функции выделенного сервера MySQL и никакие другие приложения на ней не выполняются; сервер MySQL будет сконфигурирован для использования всех доступных системных ресурсов.

Опции различаются по интенсивности использования процессора, объема оперативной памяти и жесткого диска. Следует выбрать первый пункт.

Следующее окно позволяет выбрать предпочти­тельный тип для таблиц, который назначается по умолчанию. В этом окне есть три опции:

· Multifunctional Database (многофункциональная БД) – допускается использование двух механизмов памяти – InnoDB и MyISAM, при этом ресурсы равномерно разделяются между ними; рекомендуется для пользователей, использующих оба механизма памяти на регулярной основе;

· Transactional Database Only (только транзакционная БД) – допускается использование обоих механизмов памяти – InnoDB и MyISAM, но большинство ресурсов выделяется механизму InnoDB; рекомендуется для пользователей, почти исключительно использующих InnoDB и минимально использующих MyISAM;

· Non-Transactional Database Only (только нетранзакционная БД) – отключается механизм памяти InnoDB и все ресурсы выделяются механизму памяти MyISAM; рекомендуется для пользователей, не использующих InnoDB.

Следует выбрать первый пункт. Результатом работы утилиты MySQL Server Instance Config Wizard является конфигурационный файл my.ini, который всегда можно отредактиро­вать вручную (можно скорректировать тип таблиц).

Можно определить местонахождение файлов таблиц InnoDB, если в системе есть более надежное устройство хранения данных (система RAID). Вы­бор диска и пути к файлам осуществляется в следующем окне.

Следующее окно предлагает выбрать максимальное число клиен­тов, которые могут одновременно подключиться к серверу. Первый пункт (рекомендуется) предполагает число соедине­ний не больше 20, второй пункт устанавливает предел на 500 соедине­ний, а третий пункт позволяет назначить предел.

Следующее окно позволяет разрешить или отключить организацию сети TCP/IP и конфигурировать порт, используемый для соединения с сервером (по умолчанию – 3306). Здесь же можно включить и отключить строгий режим, который заставляет MySQL быть похожим на другие СУБД. Для приложений, рассчитанных на «прощающее» поведение MySQL, этот режим можно отключить.

В следующем окне устанавливается кодировка по умолчанию:

· стандартная кодировка символов – по умолчанию используется набор символов latin1 (для английского и многих западноевропейских языков);

· улучшенная многоязычная поддержка – набор символов Unicode, который может использовать символы из множества различных языков;

· ручной выбор кодировки символов – установка кодировки символов вручную.

Необ­ходимо отметить третий пункт и в выпадаю­щем списке выбрать пункт ср1251,соответствующий русской Windows-кодировке.

В среде Windows можно установить MySQL в качестве службы, что обеспечит его запуск при старте системы и корректное завершение работы при выключении компьютера. Сервер MySQL может быть запущен автоматически при старте системы и перезапущен автоматически в случае отказа службы. Следующее окно предназначено для настройки службы. Флажок Install As Windows Serviceпозволяет установить службу с именем, которое можно выбрать в выпадающем списке.

Чтобы не запускать сервер MySQL автоматически, удалите галочку из опции Автоматический запуск сервера MySQL. Флажок Include Bin Directory in Windows PATHпозволяет прописать путь к каталогу MySQL в системной переменной path, что удоб­но при частом использовании утилит из этого каталога.

В следующем окне производится настройка учетных записей. Если вы не знакомы с системой авторизации MySQL и производите установку пер­вый раз, рекомендуется снять флажок Modify Security Settings.

После нажатия кнопки Executeна конечной странице утилиты настройки MySQL-сервера MySQL Server Instance Config Wizard будет создан конфигурационный файл my.ini и запущен сервер MySQL.

После установки MySQL в меню Пуск будет создан новый раздел MySQL со следующими пунктами:

· MySQL Command Line Client – клиент командной строки MySQL;

· MySQL Server Instance Config Wizard – мастер конфигурации сервера;

· MySQL Manual – руководство пользователя (ссылка на документацию).

После установки и конфигурирования MySQL необхо­димо убедиться в его работоспособности. Пройдите путь Пуск > Все программы > MySQL > MySQL Server 5.0 > MySQL Command Line Client. В окне DOS введите пароль, который установлен при инсталляции, и нажмите Enter (если пароль не установлен – сразу Enter).

Если при запуске клиента в командной строке выводится сообщение «Character set ‘cp1251’is not a compiled character set and is not specified in the ‘C:\mysql\\share\charsets\Index.xml’ file», звучит сигнал и окно закрывается, необходимо исправить конфигурационный файл my.ini. Директива default-character-set=cp1251должна присутствовать только в секции [mysqld] и отсутствовать в секции [mysql] (там ее следует закомментировать – поставить впереди символ # ).


лабораторный практикум

Лабораторная работа № 1
Проектирование базы данных с использованием ER-технологии

 





Рекомендуемые страницы:

Воспользуйтесь поиском по сайту:
©2015- 2020 megalektsii.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.