- •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 Удаление объектов базы данных.
4.2 Запросы.
Запрос представляет собой обращение к данным, хранимым в SQL Server.
Он может быть выполнен несколькими способами:
- пользователь MS Query или Microsoft Access может использовать графический интерфейс пользователя (GUI) для выбора данных из одной или более таблиц SQL Server, и отобразить их, например, на форме;
- пользователь среды SQL Server Management Studio или программы osql может выполнить инструкцию SELECT и увидеть результаты посредством визуальных инструментов этой среды;
- клиент или приложение промежуточного уровня, например приложение Microsoft Visual Basic, могут отправить запрос в SQL Server и затем отобразить полученные данные из таблицы SQL Server в элемент управления формы, например в сетку.
Инструкция SELECT извлекает данные из SQL Server и возвращает их пользователю в одном или более результирующих наборах. Результирующий набор - это состоящее из столбцов и строк табличное представление данных, возвращаемых инструкцией SELECT. Полный синтаксис инструкции SELECT достаточно сложен и будет подробно изучаться ниже в данном руководстве, однако здесь будет полезно рассмотреть эту инструкцию с "высоты птичьего полёта".
4.2.2 Синтаксис инструкции select.
Рассмотрим укрупненный синтаксис оператора SELECT Transact-SQL.
SELECT [DISTINCT] columns
FROM tables
WHERE {search_conditions}
[GROUP BY column [HAVING {search_condition}]]
[ORDER BY {order_list} [ ASC | DESC ]]
Синтаксис оператора SELECT содержит семь главных ключевых слов. Ключевое слово и связанную с ним информацию называют предложением. Эти предложения представлены в нижеследующей таблице 1.
Предложение |
Описание |
SELECTcolumns |
Список возвращаемых столбцов |
DISTINCT |
Опциональное ключевое слово, исключающее повторяющиеся строки |
FROMtables |
Указывает таблицы, из которых должны выбираться значения |
WHERE <search_conditions> |
Определяет условия соединения таблиц и отбора подмножества строк из множества всех доступных строк |
GROUP BY column |
Группирует возвращаемые строки на основе значений указанного столбца |
HAVING <search_conditions> |
Используется совместно с предложением GROUPBYи определяет условия отбора групп |
ORDER BY <order_list> |
Упорядочивает результирующий набор строк, возвращаемых оператором SELECT, на основе указанных столбцов |
Следующие шаги показывают порядок выполнения инструкции SELECT, содержащей предложения WHERE, GROUP BY и HAVING:
1. Предложение FROM возвращает первоначальный результирующий набор.
2. Предложение WHERE исключает строки, не соответствующие условию поиска.
3. Предложение GROUP BY собирает выбранные строки в одну группу для каждого уникального значения в предложении GROUP BY.
4. Статистические функции, указанные в списке выбора, вычисляют суммарные значения для каждой группы.
5. Предложение HAVING дополнительно исключает строки, не соответствующие условию поиска.