Помощь в написании студенческих работ
Антистрессовый сервис

Релятационные базы данных и СУБД

Курсовая Купить готовую Узнать стоимостьмоей работы

Выбор правильных индексов для БД и ее рабочей нагрузки является решением сложной задачи о соотношении скорости обработки запроса и стоимости обновления. Узкие индексы, то есть индексы, в ключе которых находится мало столбцов, требуют меньше места на диске и меньше текущих расходов. С другой стороны, широкие индексы охватывают большее количество запросов. Перед тем, как удастся найти самый… Читать ещё >

Релятационные базы данных и СУБД (реферат, курсовая, диплом, контрольная)

Содержание

  • ВВЕДЕНИЕ
  • ГЛАВА 1. ТЕОРЕТИЧЕСКИЕ АСПЕКТЫ РЕЛЯТАЦИОННЫХ БД
    • 1. 1. Понятие и сущность релятационной модели данных
    • 1. 2. Вопросы ограниченности целостности данных
  • ГЛАВА 2. SQL — ЯЗЫК ПРОГРАММИРОВАНИЯ СТРУКТУРИРОВАННЫХ ЗАПРАШИВАЕМЫХ ДАННЫХ
    • 2. 1. Общие сведения об SQL
    • 2. 2. Определение данных в SQL
  • ЗАКЛЮЧЕНИЕ
  • СПИСОК ЛИТЕРАТУРЫ

Базовая таблица (TABLE) — это главный структурный элемент БД. Ей соответствуют реальные хранимые данные. Концептуальная модель БД представляет собой совокупность взаимосвязанных базовых таблиц. Представление (VIEW) представляет собой виртуальную таблицу, которая выглядит как реально существующая таблица. Представление не содержит собственных данных информации, в нем скомбинированы данные из одной или нескольких связанных таблиц. Средством наполнения табличные данные-представления являются запрашиваемые данные, в которых реализуются информационные потребности пользователей БД. При помощи представления реализуются локальные представления (внешняя модель данных информации) БД, которые используются в запросах пользователей или прикладных программах. Следует отметить, что концепция представлений в версии SQL Microsoft Jet по умолчанию не поддерживается.

Средством эффективного доступа к хранимым сведениям являются индексы (INDEX).

Индекс представляет собой структуру на диске, которая имеет связь с представлением или таблицей и ускоряет получение строк из представления или таблицы. Индекс содержит ключи, которые построены из одного или нескольких столбцов в представлении или таблице. Данные ключи хранятся в виде структуры сбалансированного дерева, которая поддерживает быстрый поиск строк по их ключевым характеристикам в SQL Server.

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

Оптимизатор запросов в SQL Server с большой вероятностью выбирает наилучший индекс в подавляющем большинстве ситуаций. Общая стратегия разработки индексов должна предоставлять оптимизатору запросов по возможности разные варианты, чтобы ему было из чего выбирать. Необходимо довериться его решению. Это снизит время анализа и обеспечит высокую производительность в разных ситуациях. Чтобы выяснить, какие индексы используются оптимизатором запросов для отдельных запросов, в меню SQL Server Management Studio Запрос следует выбрать элемент «Включить действительный план выполнения».

Использование индекса не всегда значит высокую производительность, а высокая производительность не всегда значит эффективное использование индекса. Если бы использование индекса всегда способствовало производительности, то деятельность оптимизатора запросов была бы простой. Неправильный выбор индекса может привести к неоптимальной производительности. Соответственно, задача оптимизатора запросов заключается в том, чтобы выбрать комбинацию индексов или индекс, если это улучшит производительность, и избежать индексированного поиска, если это ее снизит.

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

Необходимо понять свойства самой базы данных. К примеру, будет ли это база данных оперативной обработки транзакций (OLTP) с зачастую изменяющимися данными, или система поддержки решений (DDS), или хранилище данных (OLAP), которое в основном предназначается для чтения, которое должно быстро обрабатывать большие объемы сведений. В SQL Server 2012индексы columnstore, которые оптимизированы для памяти xVelocity в особенности, хорошо подходят для стандартных наборов данных хранилищ данных. Индексы columnstore могут поменять работу пользователей с хранилищем данных, обеспечивая при этом более высокую производительность для таких стандартных запросов хранилища данных, как статистическая обработка, фильтрация, группирование и запросы соединения типа «звезда».

Следует определить самые часто используемые запросы. К примеру, если известно, что используется часто запрос на соединение двух и более таблиц, это может определить самый лучший тип индексов.

Следует выяснить свойства столбцов, которые используются в запросах. К примеру, идеальным будет индекс для столбцов с типом данных integer, которые имеют отличные от NULL или уникальные значения. Для столбцов с хорошо определенными подмножествами данных в SQL Server 2008 и более поздних версиях может использоваться отфильтрованный индекс.

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

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

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

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

При проектировании индекса следует учитывать следующие рекомендации:

Большое число индексов в таблице уменьшает производительность инструкций UPDATE, INSERT, MERGE и DELETE, так как при изменении данных в таблице все индексы должны быть изменены соответствующим образом. К примеру, если столбец используют в нескольких индексах и выполняется инструкция UPDATE, которая меняет данные из данного столбца, каждый индекс, который содержит этот столбец, должен быть обновлен, как и столбец в базовой таблице (кластеризованный индекс или куча).

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

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

Индексирование маленьких таблиц может оказаться не лучшим выбором, поскольку поиск данных в индексе может требовать у оптимизатора запросов больше времени, чем простой просмотр таблицы. Таким образом, для маленьких таблиц индексы могут вообще не использоваться, но, тем не менее, их следует поддерживать при изменении данных в таблице.

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

Для анализа БД и получения рекомендаций по созданию индексов нужно использовать помощник по настройке ядра СУБД.

Действующим на данный момент базисом программного языка SQL является принятая Американским национальным институтом базисов (American National StandardsInstitute — ANSI) версия SQL-92.

Для настройки режима совместимости с более совершенной версией базиса ANSI-92 SQL для текущей БД рекомендуют выполнить следующие действия:

1. «Запустить» MS Access.

2. Создать пустую базу данных информации.

3. В левом верхнем углу окна нажать кнопку .

4. В диалоговом окне нажать кнопку.

5. В диалоговом окне «Параметры Access» в списке слева выбрать «Конструкторы объектов».

6. В разделе «Конструктор запрашиваемых данных» в опции «Синтаксис для SQL Server (ANSI 92)» установить флажок «эта база данных информации».

7. Нажать кнопку.

ЗАКЛЮЧЕНИЕ

.

Таким образом, можно подвести следующий итог по курсовой работе.

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

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

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

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

SQL — это и язык программирования описания структуры БД. Помимо этого, с его помощью осуществляют наполнение БД содержательной информацией и манипулирование хранимыми данными.

SQL является наиболее популярным языком БД. Будучи непроцедурным языком, он прост в изучении и может быть использован как непрофессионалами, так и профессионалами.

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

Тем не менее, при всем разнообразии подходов все же существуют некоторые каноны, нарушение которых весьма сказывается как при проектировании БД, так и при ее эксплуатации. Так, к примеру, весьма актуальной является проблематика нормализации БД. Пренебрежение нормализацией делает структуру БД запутанной, а саму базу — ненадежной в работе.

Агальцов, В.П. БД. В 2-х т.Т. 1. Локальные БД: Учебник / В. П. Агальцов. — М.: ИД ФОРУМ, НИЦ ИНФРА-М, 2013. — 352 c.

Баранова Е.К., Бабаш А. В. Информационная безопасность и защита информационной базы: учеб. пособие.- 2-е изд.- М.: РИОР: ИНФРА-М, 2014.-256 с.

Безручко В. Т. Информатика курс лекций: Учебное пособие. — М.: ИД. «Форум»: ИНФРА — М. 2013. — 432 с.

Голицына, О.Л. БД: Учебное пособие / О. Л. Голицына, Н. В. Максимов, И. И. Попов. — М.: Форум, 2012. — 400 c.

Дейт, К., Дж.

Введение

в системы БД. 6-е изд. — К.; М., СПб.: «Вильямс», 2015. — 848с.

Зинченко М.Н., Артюшина Е. А. Реализация OLAP-технологии на базе аналитической платформы Deductor Academic // Современные наукоемкие технологии, 2014. — № 5−2. — С. 88−90.

Исаев Г. Н. Моделеобразование информационных ресурсов: теория и решение задач: Учебное пособие. — М.: Альфа-М: ИНФРА — М. 2012 — 224с.

Карпова И.П. БД. Учебное пособие. Курс лекций и материалы для практических занятий. — СПб.: Питер, 2013. — 240 с.

Кириллов, В.В.

Введение

в релятационные БД.

Введение

в релятационные БД / В. В. Кириллов, Г. Ю. Громов. — СПб.: БХВ-Петербург, 2012. — 464 c.

Коггзолл Джон. PHP 5. Полное руководство — М.: Вильямс, 2012 — С.

336.

Кузин, А.В. БД: Учебное пособие для студ. высш. учеб. заведений / А. В. Кузин, С. В. Левонисова. — М.: ИЦ Академия, 2012. — 320 c.

Кузнецов С.Д. БД: учебник для студ. учреждений высшего проф. образования. — М.: Издат. Центр «Академия», 2012. — 294 с.

Мартишин С.А., Симонов В. А., Храпченко М. В. Проектирование и реализация БД в СУБД MySQL c использованием MySQL Workbench: Учебное пособие. — М.: ИД. «Форум»: ИНФРА — М. 2012;160с.

Проскурин В. Г. Защита программных комплексов и данных информации: учеб. пособие.

М.: Академия, 2012.-208 с.

Советов, Б.Я. БД: теория и практика: Учебник для бакалавров / Б. Я. Советов, В. В. Цехановский, В. Д. Чертовской. — М.: Юрайт, 2013. — 463 c.

Фаулер М., Садаладж П.Дж. NoSQL: новая методология разработки нерелятационных БД. — Вильямс, 2013. — 192 с.

Федотова Е. Л. Информационные технологии и системы: Учебное пособие. — М.: ИД. «Форум»: ИНФРА — М. 2013. 352с.

Фуфаев, Э.В. БД: Учебное пособие для студентов учреждений среднего профессионального образования / Э. В. Фуфаев, Д. Э. Фуфаев. — М.: ИЦ Академия, 2012. — 320 c.

MySQL. Библиотека профессионала — Киев: Диалектика, 2012 — С.170−179.

Показать весь текст

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

  1. , В.П. БД. В 2-х т.Т. 1. Локальные БД: Учебник / В. П. Агальцов. — М.: ИД ФОРУМ, НИЦ ИНФРА-М, 2013. — 352 c.
  2. Е.К., Бабаш А. В. Информационная безопасность и защита информационной базы: учеб. пособие.- 2-е изд.- М.: РИОР: ИНФРА-М, 2014.-256 с.
  3. В. Т. Информатика курс лекций: Учебное пособие. — М.: ИД. «Форум»: ИНФРА — М. 2013. — 432 с.
  4. , О.Л. БД: Учебное пособие / О. Л. Голицына, Н. В. Максимов, И. И. Попов. — М.: Форум, 2012. — 400 c.
  5. , К., Дж. Введение в системы БД. 6-е изд. — К.; М., СПб.: «Вильямс», 2015. — 848с.
  6. М.Н., Артюшина Е. А. Реализация OLAP-технологии на базе аналитической платформы Deductor Academic // Современные наукоемкие технологии, 2014. — № 5−2. — С. 88−90.
  7. Г. Н. Моделеобразование информационных ресурсов: теория и решение задач: Учебное пособие. — М.: Альфа-М: ИНФРА — М. 2012 — 224с.
  8. И.П. БД. Учебное пособие. Курс лекций и материалы для практических занятий. — СПб.: Питер, 2013. — 240 с.
  9. , В.В. Введение в релятационные БД.Введение в релятационные БД / В. В. Кириллов, Г. Ю. Громов. — СПб.: БХВ-Петербург, 2012. — 464 c.
  10. Коггзолл Джон. PHP 5. Полное руководство — М.: Вильямс, 2012 — С. 336.
  11. , А.В. БД: Учебное пособие для студ. высш. учеб. заведений / А. В. Кузин, С. В. Левонисова. — М.: ИЦ Академия, 2012. — 320 c.
  12. С.Д. БД: учебник для студ. учреждений высшего проф. образования. — М.: Издат. Центр «Академия», 2012. — 294 с.
  13. С.А., Симонов В. А., Храпченко М. В. Проектирование и реализация БД в СУБД MySQL c использованием MySQL Workbench: Учебное пособие. — М.: ИД. «Форум»: ИНФРА — М. 2012−160с.
  14. В.Г. Защита программных комплексов и данных информации: учеб. пособие.- М.: Академия, 2012.-208 с.
  15. , Б.Я. БД: теория и практика: Учебник для бакалавров / Б. Я. Советов, В. В. Цехановский, В. Д. Чертовской. — М.: Юрайт, 2013. — 463 c.
  16. М., Садаладж П.Дж. NoSQL: новая методология разработки нерелятационных БД. — Вильямс, 2013. — 192 с.
  17. Е.Л. Информационные технологии и системы: Учебное пособие. — М.: ИД. «Форум»: ИНФРА — М. 2013.- 352с.
  18. , Э.В. БД: Учебное пособие для студентов учреждений среднего профессионального образования / Э. В. Фуфаев, Д. Э. Фуфаев. — М.: ИЦ Академия, 2012. — 320 c.
  19. MySQL. Библиотека профессионала — Киев: Диалектика, 2012 — С.170−179.
Заполнить форму текущей работой
Купить готовую работу

ИЛИ