Информация о музыкальных семплах
Курсовая работа, 12 Сентября 2013, автор: пользователь скрыл имя
Краткое описание
MySQL разработал Михаэль Видениус (Michael Widenius). MySQL является относительно небольшой и быстрой реляционной СУБД основанной на традициях Hughes Technologies Mini SQL (mSQL). SQL - это сокращение от Structured Query Language (структурированный язык запросов). SQL создан для работы с реляционными базами данных. Он позволяет пользователям взаимодействовать с базами данных (просматривать, искать, добавлять и управлять данными).
Содержание
Введение 3
Описание целевой СУБД 3
Концептуальная модель 7
Инфологическая модель 8
Физическая модель 8
Программное меню 8
Исходные тексты программ 13
Список литературы 24
Вложенные файлы: 1 файл
Курсовой проэкт_БД_Информация о семплах.doc
— 2.61 Мб (Скачать файл)ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
Государственное образовательное учреждение высшего профессионального образования
СЕВЕРО-ЗАПАДНЫЙ
ГОСУДАРСТВЕННЫЙ ЗАОЧНЫЙ
Институт информационных систем и вычислительной техники
Кафедра ВМКСС
курсовой проект
по дисциплине «Базы данных»
Тема: «Информация о музыкальных семплах»
Выполнил:
Шифр
Группа
Дата защиты _____________________________
Оценка ________________
Санкт-Петербург
2010 г.
Оглавление
Введение 3
Описание целевой СУБД 3
Концептуальная модель 7
Инфологическая модель 8
Физическая модель 8
Программное меню 8
Исходные тексты программ 13
Список литературы 24
- Введение
Целью курсового проекта является автоматизация сбора и обработки информации, циркулирующей в объекте управления. Планируемая база данных должна функционировать в сетевом окружении (на нескольких машинах, как какая - то часть единой интегрированной информационной модели предметной области.
- Описание целевой СУБД:
MySQL разработал Михаэль Видениус (Michael Widenius). MySQL является относительно небольшой и быстрой реляционной СУБД основанной на традициях Hughes Technologies Mini SQL (mSQL). SQL - это сокращение от Structured Query Language (структурированный язык запросов). SQL создан для работы с реляционными базами данных. Он позволяет пользователям взаимодействовать с базами данных (просматривать, искать, добавлять и управлять данными).
Чем хорош MySQL?
Основные приятные стороны пакета MySQL:
Многопоточность. Поддержка нескольких одновременных запросов.
Оптимизация связей с присоединением многих данных за один проход.
Записи фиксированной и
ODBC драйвер в комплекте с
Гибкая система привилегий и паролей.
До 16 ключей в таблице. Каждый ключ может иметь до 15 полей.
Поддержка ключевых полей и специальных полей в операторе CREATE.
Поддержка чисел длинной от 1 до 4 байт (ints, float, double, fixed), строк переменной длины и меток времени.
Интерфейс с языками C и perl.
Основанная на потоках, быстрая система памяти.
Утилита проверки и ремонта таблицы.
Все данные хранятся в формате ISO8859_1.
Все операции работы со строками не обращают внимания на регистр символов в обрабатываемых строках.
Псевдонимы применимы как к таблицам, так и к отдельным колонкам в таблице.
Все поля имеют значение по умолчанию. INSERT можно использовать на любом подмножестве полей.
Легкость управления таблицей, включая добавление и удаление ключей и полей.
Несмотря на то, что версия 4.0 является устаревшей, она всё ещё имеет значительное распространение. Основные возможности этой версии:
- Практически полная реализация ANSI SQL-99, плюс расширения;
- Межплатформенная совместимость;
- Независимые типы таблиц (MyISAM для быстрого чтения, InnoDB для транзакций и ссылочной целостности);
- Транзакции;
- Поддержка SSL;
- Кеширование запросов;
- Репликация: один головной сервер на одного подчинённого, много подчинённых на одного головного;
- Полнотекстовая индексация и поиск с использованием типа таблиц MyISAM;
- Внедрённая библиотека базы данных;
- Поддержка Юникода (UTF-8);
- Таблицы InnoDB обеспечивают соответствие требованиям ACID;
- Встроенный сервер, позволяющий включать MySQL в автономные приложения.
MySQL 4.1
Рекомендованной версией на 2005 год является MySQL 4.1 вышла 27 октября 2004. Она содержит следующие нововведения:
- Вложенные запросы и производные таблицы;
- Новая система кодировок и сортировок;
- Более быстрый и гибкий протокол клиент-сервер с поддержкой подготовленных запросов, обеспечивающий их оптимальное исполнение;
- Новая программа установки и настройки для Microsoft Windows и GNU/Linux;
- Защищённые через OpenSSL соединения клиент-сервер;
- Высоко-оптимизированная библиотека, которая может быть использована в сторонних программах;
- Полноценная поддержка Юникода (UTF-8 и UCS2);
- Стандартные пространственные типы данных GIS, для хранения географической информации;
- Улучшенный полнотекстовый поиск и система помощи.
MySQL 5.0
Версия MySQL 5.0 вышла 24 октября 2005 года, в этой версии значительно расширена функциональность, которая ставит MySQL в один ряд с коммерческими СУБД. Если раньше СУБД MySQL обвиняли в недостаточной поддержке стандарта SQL, то с появлением пятой версии этой популярной базы данных, появилась практически полная поддержка стандарта SQL. MySQL 5.0 содержит следующие нововведения:
- хранимые процедуры и функции;
- обработчики ошибок;
- курсоры;
- триггеры;
- представления;
- информационная схема (так называемый системный словарь, содержащий метаданные).
MySQL 5.1
Версия MySQL 5.1 продолжает путь к стандарту SQL:2003. MySQL 5.1 содержит следующие нововведения [6] [7]:
- сегментирование — возможность разбить одну большую таблицу на несколько частей, размещенных в разных файловых системах, основываясь на определенной пользователем функции. При определенных условиях это может дать серьезное увеличение производительности и, кроме того, облегчает масштабирование таблиц.
- изменено поведение ряда операторов, для обеспечения большей совместимости со стандартом SQL2003;
- построчная репликация (row-based репликация), при которой в бинарный лог будет записываться только информация о реально измененных строках таблицы вместо оригинального (и, возможно, медленного) текста запроса. Построчную репликацию можно использовать только для определенных типов sql-запросов, в терминах MySQL - смешанная (mixed) репликация;
- встроенный планировщик периодически запускаемых работ. По синтаксису добавление задачи похоже на добавление триггера к таблице, по идеологии - на crontab;
- дополнительный набор функций для обработки XML, реализация поддержки XPath;
- новые средства диагностики проблем и утилиты для анализа производительности. Расширены возможности по управлению содержимым лог-файлов, логи теперь могут быть сохранены и в таблицах general_log и slow_log. Утилита mysqlslap позволяет провести нагрузочное тестирование БД с записью времени реакции на каждый запрос;
- для упрощения операции обновления подготовлена утилита mysql_upgrade, которая выполнит проверку всех существующих таблиц на предмет совместимости с новой версией, и при необходимости выполнит надлежащие корректировки;
- MySQL Cluster отныне выпущен как отдельный продукт, базирующийся на MySQL 5.1 и хранилище NDBCLUSTER;
- значительные изменения в работе MySQL Cluster, такие, как, например, возможность хранения табличных данных на диске;
- возврат к использованию встроенной библиотеки libmysqld, отсутствовавшей в MySQL 5.0;
- API для плагинов, которое позволяет загружать сторонние модули, расширяющие функциональность (например, полнотекстовый поиск), без перезапуска сервера.
- реализация парсера полнотекстового поиска в виде plug-in;
- новый тип таблиц Maria (устойчивый к сбоям клон MyISAM);
Технические Характеристики
Максимальные размеры таблиц
MySQL 3.22 : до 4 Гб
MySQL 3.23+ : До 8 миллионов терабайт. (2 ^ 63)
При этом необходимо учитывать тот факт, что размер таблицы в новых версиях ограничен лишь предельным размером файла в файловой системе вашей ОС. Например в NTFS этот размер теоретически может быть до 32 эксабайт.
- Производительность
СУБД mSQL, благодаря отсутствию затрат дополнительных ресурсов на создание потоков, а также за счет компактности синтаксического анализатора, небольшого количества функций и упрощенной системы безопасности, должна выигрывать в скорости выполнения:
- тестов на выполнение циклов соединение-отсоединение, при каждом соединении выполняющих какой-нибудь простой запрос
- операций INSERT над простыми таблицами, содержащими небольшое количество столбцов и ключей
- CREATE TABLE и DROP TABLE
- операций SELECT чего-нибудь, кроме индексов (очень просто выполняется просмотр таблицы)
Поскольку такие операции очень просты, при больших затратах ресурсов на начальном этапе выиграть в скорости их выполнения достаточно сложно. Поэтому лучшие результаты MySQL может показать лишь после установки соединения. С другой стороны, MySQL значительно превосходит mSQL (и большинство других реализаций SQL) при:
- выполнении сложных операций SELECT.
- загрузке объемных результатов.
- работе с таблицами, имеющими строки переменной длины, так как обработка данных в MySQL реализована более эффективно и в нем допускается создание индексов для столбцов с типом VARCHAR.
- обработке таблиц, содержащих большое количество столбцов.
- обработке таблиц с длинными записями.
- выполнении операций SELECT с несколькими выражениями.
- выполнении операций SELECT над объемными таблицами.
- одновременной работе с несколькими соединениями.
- связывании таблиц.
- ORDER BY и GROUP BY.
- DISTINCT.
- работе со столбцами с типами TEXT или BLOB.
- Возможности SQL
- GROUP BY и HAVING. В mSQL функция GROUP BY отсутствует вовсе. В MySQL Server же GROUP BY имеется и работает как с HAVING, так и со следующими функциями: COUNT(), AVG(), MIN(), MAX(), SUM()и STD(). Работа оператора COUNT(*) оптимизирована в расчете на быстрый возврат результатов, если оператор SELECT берет данные из одной таблицы, не используя никаких других столбцов и выражения WHERE. Функции MIN() и MAX() могут принимать строковые аргументы.
- INSERT и UPDATE с вычислениями. MySQL может выполнять вычисления непосредственно в теле вызова INSERT или UPDATE. Вот пример:
- mysql> UPDATE SET x=x*10+y WHERE x<20;
- Псевдонимы. В MySQL имеется возможность определения псевдонимов столбцов.
- Квалификация имен столбцов. В MySQL, при условии уникальности имени столбца среди таблиц, использующихся при выполнении запроса, нет необходимости приводить его полный квалификатор.
- SELECT с функциями. Функций в MySQL много (даже слишком много, чтобы их можно было перечислить здесь.
Чаще всего база данных содержит одну или несколько таблиц ;-). Каждая таблица имеет определенное имя (например, "people" или "cars"). Таблицы содержат поля (колонки) с записями(строки). Все действия в базе данных осуществляется с помощью SQL запросов.
Например следующий SQL запрос выведет все записи из таблицы "people" :
SELECT * from people;
(Для SQLя не важен регистр символов, заглавные, прописные, все равны
(SELECT и select - одно и тоже), также важно помнить что MySQL
требует чтобы каждый запрос заканчивался символом ";")
Для более легкого запоминания и понимания можно запросы разделить на
3 типа: DML(Data Manipulation Language) - управление данными(УД),
и определение(вид) данных DDL(Data Definition Language)(ОД).
И еще пожалуй системные запросы(
применяются в таблицах MySQL. И в конце концов определить пользователей и их права.При необходимости написания скриптов, можно посмотреть 2 простых примера
К УД можно отнести:
SELECT - извлечение(выборка) данных из БД
UPDATE - обновление данных в БД
DELETE - удаление данных из БД
INSERT INTO - вставка(заполнение) новыми данными БД
- Концептуальная модель БД.
База данных “Tracks” представляет из себя 3 взаимосвязанные таблицы, содержащие следующую информацию:
Таблица 1: Main – таблица, отображающая основные параметры семпла. Содержит 4 поля:
- id - ключ
- Name – Название семпла
- Auth – Автор.
- Bpm – Скорость (ударов/мин.)
Для создания таблицы используется команда:
"CREATE TABLE $TableName (id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(30),
Bpm VARCHAR(14))";
id |
Name |
Auth |
Bpm |
Рис. 1
Таблица 2: Other – отображает два дополнительных параметра семпла плюс id:
- id
- Vol – Уровень громкости семпла (Volume)
- Pan – Процент расположения в панораме («-число» - ближе к левому динамику «+число» - к правому, предел – 100)
id |
Vol |
Pan |
Рис. 2
Для создания таблицы используется команда:
"CREATE TABLE $TableName (id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,