
- •Московский Авиационный Институт
- •Оглавление
- •Теоритическая часть Основные термины, используемые в пособии
- •Многопользовательские базы данных
- •Модель данных
- •Избыточность в таблицах базах данных
- •Нормализация
- •Ограничения целостности
- •Индексы
- •История выпусков sql Server
- •Редакции sql Server 2008
- •Системные требования sql server 2008
- •Установка ms sql Server 2008
- •Программное обеспечение sql Server 2008
- •Базы данных
- •Создание новой бд
- •Удаление бд
- •Создание таблиц
- •Удаление таблиц
- •Работа с таблицами
- •Типы данных
- •Создание пользовательских типов данных
- •Создание ограничений
- •Создание диаграммы бд
- •Создание представлений
- •Создание триггеров
- •Индексы
- •Безопасность sql Server
- •Создание имя входа
- •Создание пользователя базы данных
- •Настройка удаленного доступа к бд в 326 аудитории
Индексы
Индексы - это специальные структуры в базах данных, которые позволяют ускорить поиск и сортировку по определенному полю или набору полей в таблице, а также используются для обеспечения уникальности данных. Проще всего индексы сравнить с указателями в книгах. Если нет указателя, то нам придется просмотреть всю книгу, чтобы найти нужное место, а с указателем то же действие можно выполнить намного быстрее.
Обычно чем больше индексов, тем больше производительность запросов к базе данных. Однако при излишнем увеличении количества индексов падает производительность операций изменения данных (вставка/изменение/удаление), увеличивается размер БД, поэтому к добавлению индексов следует относиться осторожно.
Некоторые общие принципы, связанные с созданием индексов:
Индексы необходимо создавать для столбцов, которые используются в соединениях, по которым часто производится поиск и операции сортировки. При этом необходимо учесть, что индексы всегда автоматически создаются для столбцов, на которые накладывается ограничение primary key. Чаще всего они создаются и для столбцов с внешним ключом.
Индекс обязательно в автоматическом режиме создается для столбцов, на которые наложено ограничение уникальности.
Лучше всего индексы создавать для тех полей, в которых - минимальное число повторяющихся значений и данные распределены равномерно.
Если поиск постоянно производится по определенному набору столбцов (одновременно), то в этом случае, возможно, есть смысл создать композитный индекс (только в SQL Server) - один индекс для группы столбцов.
При внесении изменений в таблицы автоматически изменяются и индексы, наложенные на эту таблицу. В результате индекс может быть сильно фрагментирован, что сказывается на производительности. Периодически следует проверять степень фрагментации индексов и дефрагментировать их. При загрузке большого количества данных иногда есть смысл вначале удалить все индексы, а после завершения операции создать их заново.
Индексы можно создавать не только для таблиц, но и для представлений (только в SQL Server). Преимущества - возможность вычислять поля не в момент запроса, а в момент появления новых значений в таблицах.
Microsoft SQL Server
Microsoft SQL Server – это мощная и надежная система управления данными, обеспечивающая множество функций, защиту данных и высокую производительность. SQL Server предназначен для упрощенного развертывания и быстрого создания. Он разработан таким образом, чтобы эффективно взаимодействовать с различными другими продуктами. Основные его преимущества – простота в освоении, удобный графический интерфейс программ для работы с ним, различные уникальные возможности при работе под управлением операционных систем Microsoft Windows Server, а также при работе в доменных локальных сетях. Ключевыми компонентами SQL Server являются следующие:
SQL Server Database Services (Службы баз данных SQL Server) — являются «сердцем» SQL Server. Службы реляционной базы данных компонента SQL Server Database Engine.
Analysis Services (Аналитические службы) — предоставляют средства интерактивной аналитической обработки (OLAP) и средства интеллектуального анализа данных для приложений бизнес-аналитики.
Integration Services (Службы интеграции) — предоставляют возможности преобразования и внедрения данных, позволяющие извлекать их из множества источников, преобразовывать и затем переносить. Это дает возможность объединять данные из различных источников, загружать их в хранилища данных, базы данных, файлы приложений MS Access и т. п.
Notification Services (Службы уведомлений) — включают в себя службу управления уведомлениями. Предназначены для автоматического создания и своевременной отправки пользователям персонализированных сообщений при возникновении события. Уведомления могут быть посланы на беспроводные устройства, такие как мобильные телефоны или карманные компьютеры (КПК), а также на учетные записи Windows Messenger или адреса электронной почты.
Reporting Services (Службы отчетов) — служат для управления отчетами, их выполнения (в том числе по расписанию), подготовки и доставки.
Service Broker (Брокер служб) — обеспечивает надежную инфраструктуру для организации очередей сообщений и асинхронного обмена сообщениями. Очереди могут быть использованы для накопления заданий, таких как запросы и другие обращения к данным, и их выполнения по мере освобождения ресурсов. Асинхронный обмен сообщениями позволяет приложениям БД связываться между собой.
SQL Server Browser (Обозреватель SQL Server) — служба разрешения имен, поставляющая данные соединения с SQL Server для клиентских компьютеров.
SQL Server Writer (Модуль записи SQL) — работает с теневыми копиями (shadow copies) баз данных SQL Server и используется для проведения резервного копирования в оперативном режиме, без отключения пользователей.
SQL Server Agent (агент SQL Server) — специальная служба, которая ответственна за автоматизацию работы с SQL Server. Она отвечает за выполнение заданий по расписанию, за предупреждения и другие служебные операции.
Full-Text Search (полнотекстовый поиск) — позволяет быстро создавать полнотекстовые индексы содержимого и свойств структурированных и частично структурированных данных для обеспечения быстрого лингвистического поиска в этих данных.
SQL Server Active Directory Helper (Модуль поддержки Active Directory сервера SQL Server) — обеспечивает публикацию и управление службами SQL Server в Active Directory.