Лабораторный практикум
Стр 1 из 12Следующая ⇒ О. Б. Малков, М. В. Девятерикова
Работа с СУБД 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, не вникая в детали конфигурации сервера. Для гибкой настройки системы следует выбрать пункт Detailed 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
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|