- •Предисловие
- •Анализ предметной области
- •Анализ требований
- •Концептуальная модель предметной области
- •Создание Диаграммы классов вVisio2010
- •Контрольные вопросы
- •Проектирование базы данных
- •Логическая модель базы данных
- •Создание Логической модели бд вVisio2010
- •Физическая модель базы данных
- •Контрольные вопросы
- •Создание базы данных
- •Подключение кMssqlServer2012
- •Создание новой базы данных на сервере
- •Создание новой таблицы на сервере
- •Создание связей
- •Создание диаграммы базы данных
- •Ограничения целостности базы данных
- •Сценарий создания базы данных
- •Контрольные вопросы
- •Заполнение базы данных
- •Загрузка информации в базу данных средствамиManagementStudio
- •Ведение базы данных средствамиSql
- •Sql-запросы на модификацию данных
- •Добавление новых записей в таблицу (insert)
- •Модификация существующих записей (update)
- •Удаление записей из таблицы (delete)
- •Контрольные вопросы
- •Запросы на выборку данных
- •Общий синтаксис запроса select
- •Примеры реализации запросов
- •Контрольные вопросы
- •Организациябизнес-логики
- •Хранимые процедуры
- •Триггеры
- •Контрольные вопросы
- •Администрирование сервера бд
- •Инсталляция сервера
- •Резервное копирование и восстановление бд
- •Санкционирование доступа
- •Приложения приложение а Варианты описания предметной области
- •Приложение б Состав отчета
- •Список литературы
- •Оглавление
- •153003, Г. Иваново, ул. Рабфаковская, 34.
Контрольные вопросы
Что является результатом выполнения команды SELECT?
Какие опции команды SELECT являются обязательными?
Каково предназначение опции DISTINCT?
В какой форме задается выражение в опции WHERE?
Что такое декартово произведение отношений? Какую роль оно играет в процессе навигации по реляционной базе данных?
Какую опцию используют при подведении промежуточных итогов посредством агрегативных функций?
Когда используется опция HAVING?
Для сортировки результатов выборки по убыванию какую опцию следует использовать в запросе?
Когда удобно использовать опцию CASE в запросе?
Какую опцию следует использовать для формирования пользовательских имен полей в результирующей таблице?
В какой последовательности выполняются вложенные запросы?
В каком случае используется опция EXISTS?
Охарактеризуйте внутреннее соединение таблиц. Какой опцией оно реализуется?
Что такое левое и правое соединение таблиц? Какими опциями они реализуются?
Когда удобно использовать объединение таблиц? Какой опцией оно реализуется и каковы требования к объединяемым таблицам?
Когда удобно использовать пересечение таблиц? Какой опцией оно реализуется?
Когда удобно использовать вычитание таблиц? Какой опцией оно реализуется?
Организациябизнес-логики
СУБД, MSSQLServerпредоставляет возможность частично или полностью перенести бизнес-логику приложения на уровень сервера баз данных. Для решения подобных задач служат механизмы триггеров, хранимых процедур и пользовательских функций.
Хранимые процедуры
Хранимая процедура – это упорядоченная последовательность операторов SQL, оформленных в виде единого логического модуля.
В хранимых процедурах допускается использование переменных и параметров, а также операторов управления ходом выполнения и циклических конструкций.
Общий синтаксиссоздания хранимой процедуры:
CREATE PROC[EDURE] <Имя процедуры>
[@<Имя параметра> <Тип данных параметра>
[ = <Значение пар-ра по умолчанию>]
[OUTPUT]] [,...n ]
AS<SQL-выражения, составляющие тело процедуры>
Общий синтаксисвызова хранимой процедуры:
EXEC[UTE] <Имя процедуры>
[[<Имя входного пар-ра> = ]<Значение входного пар-ра>] [,…n]
Среда ManagementStudioпредоставляет два способа создания хранимой процедуры.
Первый способ – использование рассмотренного выше окна редактора запросов.
Второй – в ветке нужной базы данных (правая часть окна программы)выбрать пункт «Программирование / Хранимые процедуры» (рис. 6.1). При этом будет сгенерирован шаблон новой хранимой процедуры, снабженный подробными комментариями, которые призваны помочь в написании текста процедуры (рис. 6.2).
Рис. 6.1. Создание новой хранимой процедуры
Рис. 6.2. Автоматически генерируемый шаблон хранимой процедуры
Примеры:
1. Хранимая процедура, возвращающая отчето поставках деталей (рис. 6.3).
Рис. 6.3. Текст хранимой процедуры №1 и результаты ее работы
2. Хранимая процедура, возвращающая отчето поставках деталей за определенный интервал времени (рис. 6.4).
Рис. 6.4. Текст хранимой процедуры №2 и результаты ее работы
3. Процедура, добавляющая новую детальв таблицу деталей (рис. 6.5).
Рис. 6.5. Текст хранимой процедуры №3 и результаты ее работы
4. Процедура, возвращающая название материала, из которого изготовлено больше всего деталей (рис. 6.6).
Рис. 6.6. Текст хранимой процедуры №4 и результаты ее работы
5. Процедура, реализующая функцию каскадного удаления на связь между таблицами материалов и деталей (рис. 6.7).
Рис. 6.7. Текст хранимой процедуры №5 и результаты ее работы
Задание:создайтедвехранимые процедуры для своей базы. При разработке алгоритмов бизнес-логики используйте результаты анализа требований к создаваемой информационной системе. Вотчет поместите описание хранимых процедур, код создания, код вызова, результат вызова.