- •1. Введение в предмет.
- •1.1 Данные и информация.
- •1.2 Предметная область.
- •1.3 Понятие и сущность.
- •1.4 Концептуальная модель объекта.
- •1.5 Связь или отношение.
- •1.6 Логическая модель базы данных.
- •1.7 Физическая модель базы данных.
- •1.8 Введение в работу с базами данных на платформе Microsoft sql Server.
- •1.8.1 Платформа Microsoft sql Server.
- •1.8.2 Среда sql Server Management Studio.
- •2. Основные понятия баз данных.
- •2.3 Типы данных ms sql Server.
- •2.3.1 Типы char и varchar.
- •2.3.2 Типы данных nchar и nvarchar.
- •2.3.3 Типы точных числовых данных.
- •2.3.4 Тип данных даты и времени.
- •2.3.5 Типы данных Decimal, Float и Real.
- •2.3.6 Тип денежных данных.
- •2.3.7 Типы binary и varbinary.
- •2.3.8 Типы данных больших значений.
- •2.4 Индексы.
- •2.4.1 Простой индекс.
- •2.4.2 Уникальный индекс.
- •2.4.3 Первичный ключ.
- •2.4.4 Уточнение определения индексов для ms sql Server.
- •2.4.4.1 Создание кластеризованного индекса.
- •2.4.4.2 Создание некластеризованных индексов.
- •2.5 Ограничения (Constraints).
- •2.5.1 Ограничение первичного ключа (Primary key constraints).
- •2.5.2 Создание или изменение ограничения primary key.
- •2.5.2.1 Свойство identity.
- •2.5.2.2 Глобальные уникальные идентификаторы.
- •2.6 Отношения между таблицами.
- •2.7 Нормализация данных.
- •2.7.1 Функциональные зависимости.
- •2.7.2 Первая нормальная форма таблицы.
- •2.7.3 Вторая нормальная форма таблицы.
- •2.7.4 Третья нормальная форма таблицы.
- •2.8 Ограничение foreign key.
- •2.8.1 Ведение ссылочной целостности.
- •2.8.2 Диалоговое окно "Связи внешнего ключа".
- •2.9 Ограничение unique.
- •2.9.1 Создание ограничения уникальности визуальными средствами.
- •2.9.2 Изменение ограничения уникальности.
- •2.10 Проверочные ограничения check.
- •2.11 Значения по умолчанию (Default).
- •3. Диаграммы базы данных.
- •3.1 Конструктор баз данных.
- •3.1.1 Таблицы и столбцы в диаграмме базы данных.
- •3.2 Редактирование диаграммы.
- •4. Основы Transact-sql.
- •4.1 Введение в sql.
- •4.1.1 Особенности выполнения инструкций Transact-sql.
- •4.2 Запросы.
- •4.2.2 Синтаксис инструкции select.
- •4.2.2.1 Предложение select.
- •4.2.2.2 Предложение select_list.
- •4.2.2.3 Предложение into.
- •4.2.2.4 Предложение from.
- •4.2.2.5 Предложение where.
- •4.2.2.6 Предложение group by.
- •4.2.2.7 Предложение having.
- •4.2.2.8 Предложение order by.
- •4.3 Ввод данных.
- •4.4 Обновление или изменение данных.
- •4.5 Удаление данных.
- •4.6 Представления.
- •4.6.1 Сравнительные характеристики запросов и представлений.
- •4.6.2 Типы представлений.
- •4.6.2.1 Стандартные представления.
- •4.6.2.2 Индексированные представления.
- •4.6.3 Создание представлений.
- •4.6.3.1 Обновляемые представления.
- •4.7.5 Настройка разрешений на объекты базы данных.
- •4.7.5.3 Создание пользователя в базе данных.
- •4.7.5.4 Инструкция grant.
- •4.7.6 Удаление объектов базы данных.
2.4 Индексы.
2.4.1 Простой индекс.
Индексы используют для обеспечения быстрого доступа к нужной информации в таблице базы данных.
Индекс является логической структурой (обычно, сохраняемой отдельно от самой таблицы), которая упорядочивает строки таблицы на основе значений одного или более столбцов таблицы базы данных. Индекс строится на основе ключей и предоставляет указатели на значения данных в соответствии с установленным порядком.
Ключ представляет собой значение столбца или конкатенацию (соединение) значений нескольких столбцов.
Система управления базой данных (Компонент Microsoft SQL Server 2005 Database Engine) использует индекс для поиска отдельного значения и последующего перемещения или возврата указателя на строку, содержащую это значение.
Индексы делятся на две категории:
- индексы, допускающие повторение ключей, называемые просто индексами;
- индексы, не допускающие повторение ключей, называемые уникальными.
Как уже говорилось, простой индекс допускает наличие одинаковых ключей. Эта особенность позволяет использовать его в целях классификации объектов, представленных строками таблицы, поскольку одинаковые ключи представляют одинаковые признаки этих объектов. Потому создание нескольких индексов, допускающих повторение ключей, позволяет провести анализ множества объектов, представленных таблицей с разных точек зрения (по различным наборам свойств).
2.4.2 Уникальный индекс.
Уникальный индекс не допускает двух одинаковых значений ключа в разных строках. Уникальный индекс создают в тех случаях, когда свойство уникальности является характеристикой данных самих по себе и нарушение этого свойства является ошибкой, например в столбце "номер паспорта" таблицы клиентов не должно быть одинаковых значений.
2.4.3 Первичный ключ.
Таблица базы данных часто имеет столбец или комбинацию столбцов, значения которых должны однозначно определять каждую строку таблицы. Эти столбцы называются первичным ключом таблицы.
Определение первичного ключа таблицы на диаграмме или конструкторе таблиц базы данных автоматически влечёт создание первичного индекса, который является особым типом уникального индекса. Этот индекс требует, чтобы все значения ключа были уникальными, следовательно, первичный индекс не допускает неопределённых значений.
Неопределённое значение есть отсутствие какого-либо значения. Этот факт обозначается значением NULL.
Если первичный ключ состоит более чем из одного столбца, то допускается повторение значений в одном из столбцов, но каждая комбинация значений в целом должна быть уникальна. При этом порядок столбцов в выражении ключа будет соответствовать их порядку расположения на диаграмме.
2.4.4 Уточнение определения индексов для ms sql Server.
В MS SQL Server индекс является структурой на диске, которая связана с таблицей или представлением и ускоряет получение строк из таблицы или представения.
Индекс содержит ключи, построенные из одного или нескольких столбцов в таблице или представлении. Эти ключи хранятся в виде структуры сбалансированного дерева, которая обеспечивает быстрый поиск строк по их ключевым значениям в SQL Server.
Кластеризованный:
- В кластеризованном индексе физический порядок строк таблицы совпадает с логическим порядком значений ключа. Кластеризованный индекс рекомендуется создавать для столбцов, содержащих ограниченное число уникальных значений, а также запросов, возвращающих большие результирующие наборы.
- Кластеризованные индексы сортируют и хранят строки данных таблиц или представленй на основе их ключевых значений. Этими значениями являются столбцы, включенные в определение индекса. Существует только один кластеризованный индекс для каждой таблицы, потому что строки данных могут быть отсортированы только в единственном порядке.
- Строки данных в таблице хранятся в порядке сортировки только в том случае, если таблица содержит кластеризованный индекс. Если у таблицы есть кластеризованный индекс, то таблица называется кластеризованной. Если у таблицы нет кластеризованного индекса, то строки данных хранятся в неупорядоченной структуре, которая называется кучей.
Некластеризованный:
- Некластеризованные индексы имеют структуру, хранящуюся отдельно от строк данных. В некластеризованном индексе содержатся значения ключа некластеризованного индекса, и каждая запись значения ключа содержит указатель на строку данных, содержащую значение ключа.
- Указатель из строки индекса в некластеризованном индексе, который указывает на строку данных, называется указателем строки. Структура указателя строки зависит от того, хранятся ли страницы данных в куче или в кластеризованной таблице. Для кучи указатель строки является указателем на строку. Для кластеризованной таблицы указатель строки данных является ключом кластеризованного индекса.