Система управления базами данных MySQL

Автор: Пользователь скрыл имя, 18 Февраля 2013 в 20:29, курсовая работа

Краткое описание

MySQL написан под десятки видов операционных систем. Это и FreeBSD, OpenBSD, MacOS, OS/2, SunOS, Win9x/00/NT и Linux. Сегодня MySQL особенно распространена на платформах Linux и Windows. Причем на последней встречается гораздо реже.
Принцип работы СУБД MySQL аналогичен принципу работы любой СУБД, использующей SQL (Structured Query Language, язык структурированных запросов) в качестве командного языка для создания/удаления баз данных, таблиц, для пополнения таблиц данными, для осуществления выборки данных.
Целью данной работы является описание конфигурирования, администрирования и программирования СУБД MySQL и создание программы иллюстрирующей возможности MySQL.

Оглавление

Введение……………………………………………………………………………4
1. Общее описание, запуск и настройка
прав доступа к базам данных MySQL……………………….……..…..5
2. Команды пакета MySQL……………………………………………….…..10
2.1. Основные команды………………...…………………………………..11
2.2. Дополнительные команды…………………...………………….…….23
3. Настройка mysqld (серверная часть пакета MySQL)…………………….27
4. Возможность языка Perl для работы с MySQL сервером…………...…..29
Заключение……………………………………………..………………..……….31
Список литературы………………………………………….…………………..33

Файлы: 1 файл

bestref-52537.doc

— 264.50 Кб (Скачать)

 

Полезные замечания

  • Все потоки совместно используют ту же самую основную память.
  • MySQL в настоящее время не использует memmap. Это может изменяться.
  • Можно определять размер буфера для ключей при старте mysqld. Буфер ключей будет кэшировать все ключи во всех таблицах В ПОРЯДКЕ ПОСТУПЛЕНИЯ запросов (переменная keybuffer)
  • Каждое подключение использует некоторую часть потока, стек и буфер подключений (переменная net_buffer_length).
  • Каждый запрос, делающий последовательный просмотр записей в таблице, распределяет буфер чтений (переменная recordbuffer).
  • Каждый запрос, выполняющий сортировку, распределяет sortbuffer и один или два временных файла. Максимально необходимое дисковое пространство = (sort_key_length + sizeof(long))*2.
  • Все объединения выполняются за один проход, и результат сохраняется во временной таблице в памяти. Выполнение полного объединения и сортировки на двух больших таблицах может потребовать очень большого объема памяти.
  • Индексные файлы открываются один раз. Файлы данных открываются один раз для каждого параллельного потока. Каждый параллельный поток имеет полную таблицу struct и поле struct плюс память для трех полных строк столбцов. BLOB требует еще 5-8 байт.
  • Если таблица имеет BLOB, буфер будет распределен, чтобы читать данные BLOB. Этот буфер будет расти по мере необходимости, до размеров самого большого BLOB в таблице.
  • Когда таблица используется, она сохраняется в кэше. Этот кэш будет загружен и опорожнен В ПОРЯДКЕ ПОСТУПЛЕНИЯ запросов (FIFO). По умолчанию mysqld будет кэшировать 64 таблицы. Если много потоков обращаются к одной и той же таблице одновременно, будет иметься одна запись на поток. ТО ЕСТЬ, если два потока одновременно обращаются к той же самой таблице, будет две записи в кэше.
  • Команда mysqladmin reload закрывает все таблицы, которые не используются, и отмечает все используемые таблицы, которые будут закрыты, когда работающие потоки завершатся. Это позволяет эффективно использовать память, своевременно ее освобождая.

4. Возможности языка Perl для работы  с MySQL

сервером.

При написании программы  к данной работе выбран язык Perl, т. к. сегодня MySQL более широкое распространение получил на Web-серверах. А Perl как нельзя лучше других языков подходит для написания CGI-приложений. Взаимодействие сценария на языке Perl с MySQL  можно изобразить схемой:

Сценарий Perl–>DBI –>DBD::MySQL–>Cервер MySQL.

DBI обеспечивает единый  интерфейс взаимодействия с различными  системами управления базами данных. А DBD связывает этот интерфейс непосредственно с конкретной СУБД. В нашем случае это mysql. Для того, чтобы программа на Perl могла общаться и работать с базой данных, необходимо подключить модуль DBI и драйвер DBD. Это выполняется следующими операторами:

use DBI; use DBD::mysql;

Для того чтобы выполнять SQL запросы к базе данных, нужно  установить логическое соединение с MySQL. Это выполняется при помощи метода объекта DBI. При этом он возвращает объект (дескриптор) соединения, который будет использоваться для непосредственного общения с базой данных.

$dbh = DBI->connect('DBI:mysql:dbname= GRYADKA; host= 127.0.0.1; port=3306','','',0);

Вызывая метод connect, ему  передаются некоторые параметры. Первый параметр определяет свойства соединения.

Эта строка имеет следующую  структуру:

"dbi:<имя DBD>:dbname= <имя  базы данных>; host=<имя хоста>; port=<номер порта>"

Далее в методе connect определяются имя пользователя, пароль и флаги соединения.

Существует два способа  работы с базами данных MySQL. Первый —  так называемый механизм курсоров, а второй, соответственно, без использования таковых.

Курсоры — это объекты Perl, которые обеспечивают последовательный доступ к результатам запросов.

Каждый курсор отвечает за закрепленный за ним запрос.

$cur = $dbh->prepare('select * from MAIN;');

$cur — это курсор, который  для начала следует выполнить,  используя метод execute:

$cur->execute;

Теперь, после выполнения запроса, чтобы получить результат запроса, используется метод fetchrow_array. Он поочередно возвращает массив полей результативной виртуальной таблицы.

Очень часто бывает необходимо подготовить запрос и после, при  его выполнении, передавать ему различные данные. Это довольно просто решается при помощи механизма placeholders:

$cur = $dbh->prepare('insert into MAIN values(?,?)');

где вопросительные знаки  следует заменить на значения переменных, переданных в качестве параметров метода execute:

$a00 = 2; $a01 = 'second record'; $cur->execute($a00, $a01);

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

$cur->finish;

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

selectrow_array — возвращает  одну строку запроса в виде  массива;

selectall_arrayref — возвращает  весь ответ сервера в виде  массива, ссылка на массивы;

do — выполняет запрос, ничего не возвращая (очень  удобно при работе с insert, update и пр.)

Для того чтобы разорвать  соединение с MySQL, необходимо выполнить  метод disconnect.

$dbh->disconnect;

Заключение.

 

В процессе написания  данной работы были выяснены следующие  свойства  MySQL сервера:

  • Многопоточность. Поддержка нескольких одновременных запросов.
  • Оптимизация связей с присоединением многих данных за один проход.
  • Записи фиксированной и переменной длины.
  • Гибкая система привилегий и паролей.
  • До 16 ключей в таблице. Каждый ключ может иметь до 15 полей.
  • Поддержка ключевых полей и специальных полей в операторе CREATE.
  • Поддержка чисел длинной от 1 до 4 байт (ints, float, double, fixed), строк переменной длины и меток времени.
  • Интерфейс с языками C и perl.
  • Основанная на потоках, быстрая система памяти.
  • Утилита проверки и ремонта таблицы (isamchk).
  • Все операции работы со строками не обращают внимания на регистр символов в обрабатываемых строках.
  • Псевдонимы применимы как к таблицам, так и к отдельным колонкам в таблице.
  • Все поля имеют значение по умолчанию. INSERT можно использовать на любом подмножестве полей.
  • Легкость управления таблицей, включая добавление и удаление ключей и полей.

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

И виртуальный магазин, и сервер знакомств, и всевозможные сайты, предоставляющие платные услуги, — все нуждаются в возможности обрабатывать и хранить большие объемы информации. MySQL предоставляет всем эту возможность совершенно бесплатно. Это действительно одна из самых мощных, быстрых и надежных СУБД.

В ходе выполнения курсовой работы была написана программа, которая представляет собой Интернет-каталог. Она иллюстрирует возможности MySQL сервера, возможности интеграции MySQL c сетью Internet, что на сегодня весьма актуально. Созданная программа может использоваться в качестве  Интернет-каталога в Интернет-магазине.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Список литературы

 

    1. М. Каба. MySQL и Perl – СПб.: Питер, 2001.
    1. А. Паутов. Документация по MySQL.
    1. М. Грубер. Понимание SQL.
    2. Материалы интернет-сайтов:

www.mysql.com

www.infocity.kiev.ua

 

 


Информация о работе Система управления базами данных MySQL