- •Введение
- •Структурными элементами пояснительной записки являются:
- •Разделы пояснительной записки Расчетно-пояснительная записка имеет следующее содержание:
- •Список использованных литературных источников
- •2.1.1. Контекстная диаграмма и диаграммы детализации процессов
- •2.1.2. Диаграмма дерева узлов
- •2.2.1. Идентификация сущностей и связей. Er-диаграмма логического уровня.
- •2.2.3. Определение представлений, хранимых процедур серверной компоненты. Er-диаграмма в режиме отображения представлений
- •3.1. Миниспецификации процессов диаграмм нижнего уровня функциональной модели в терминах псевдокода
- •В разделе «t-sql-определения хранимых процедур» приводятся t-sql-определения хранимых процедур с необходимыми комментариями.
- •В разделе 3.5 приводятся t-sql-определения курсоров с необходимыми комментариями.
- •Заключение
- •Список использованных источников
3.1. Миниспецификации процессов диаграмм нижнего уровня функциональной модели в терминах псевдокода
Спецификация процессов используется в случае, если нет необходимости их дальнейшей детализации с помощью диаграмм декомпозиции.
Множество всех спецификация процессов является полной спецификацией системы.
Спецификация процесса представляет собой описание алгоритма задания или выполнения процесса. Спецификация содержит номер и имя процесса в списке, входные и выходные данные, описание алгоритма трансформирования входного потока в выходной.
Для спецификации процессов известны различные методы: псевдокод визуальные языки проектирования, формальные алгоритмические языки.
Независимо от используемой нотации спецификация процесса должна начинаться с ключевого слова @СПЕЦПРОЦ. До начала спецификации должны быть описаны входные и выходные данные. Заканчивается спецификация ключевым словом @КОНЕЦ СПЕЦПРОЦ.
Псевдокод, применяемый для описания спецификации процесса, сочетает в себе строгость языка программирования и читабельность естественного языка. Он состоит из подмножества слов естественного языка и арифметических конструкций. Также он содержит различные управляющие конструкции: линейные, условные, циклические.
Псевдокод обеспечивает быстрое проектирование, простоту в использовании, читабелен для программистов и для пользователей. Недостатком псевдокода является отсутствие процедур и невозможность кодогенерации.
В разделе должна приводятся полная спецификация системы.
Пример:
«Найти книги по списку»
@ВХОД= ИНФОРМАЦИЯ О ФОНДЕ
@ВЫХОД= РЕЗУЛЬТАТ ПОИСКА
@СПЕЦПРОЦ А2.1.1 НАЙТИ КНИГИ ПО СПИСКУ
ВЫПОЛНИТЬ потребовать СПИСОК
ВЫПОЛНИТЬ проверить наличие КНИГ в ФОНДЕ
ЕСЛИ КНИГИ есть в НАЛИЧИИ ТО
ВЫПОЛНИТЬ присвоить РЕЗУЛЬТАТ ПОИСКА =положительный
ИНАЧЕ
ВЫПОЛНИТЬ присвоить РЕЗУЛЬТАТ ПОИСКА =отрицательный
КОНЕЦЕСЛИ
@КОНЕЦ СПЕЦПРОЦ
3.2. T-SQL-определения регламентированных запросов
Представление для конечных пользователей выглядит как таблица, но при этом само не содержит данных, а лишь представляет данные, расположенные в таблице. Физически представление реализовано в виде SQL-запроса, на основе которого производится выборка данных из одной или нескольких таблиц или представлений.
Представление часто применяется для ограничения доступа пользователей к конфиденциальным данным в таблице. Оно может быть также использовано для объединения данных из нескольких взаимосвязанных таблиц.
В разделе 3.2 приводятся T-SQL-определения представлений с необходимыми комментариями.
Пример:
Информация о замене экземпляров по программированию на С++.
CREATE VIEW infoZamena
AS SELECT /*Указываем, какие поля, из каких таблиц будут выведены*/
Книга.Автор, Книга.Название, Экземпляр.Шифр, Замена_экземпляров.Номер_акта_замены
FROM /*Указываем таблицу, и связанные с ней при помощи оператора INNER JOIN таблицы, из которых выбираются связанные данные. После операнда ON указываем, по каким полям связаны две таблицы*/
(Книга INNER JOIN Экземпляр ON Книга.ISBN =Экземпляр.ISBN)
INNER JOIN Замена_экземпляров ON Экземпляр.Шифр = Замена_экземпляров.Шифр
WHERE Книга.Название LIKE '%C++' /*Выбираются только те книги, в названии которых присутствует “C++” */
3.3. T-SQL-определения триггеров
Триггер – это специальный тип хранимых процедур, который запускается автоматически при выполнении тех или иных действий с данными таблицы. Каждый триггер привязывается к конкретной таблице. Для одной таблицы допускается создание нескольких однотипных триггеров.
Триггеры могут срабатывать на вставку, удаление, изменение данных таблицы.
Триггеры можно использовать для поддержания ссылочной целостности базы данных, для выполнения каскадных изменений в нескольких связанных таблицах, для создания сложных значений по умолчанию и т.д. При создании триггеров необходимо руководствоваться требованиями производительности и удобства выполняемых действий. Следует заменять триггер на хранимую процедуру там, где это возможно.
В разделе приводятся T-SQL-определения триггеров с необходимыми комментариями.
Пример: Триггер, который записывает при удалении записей из таблицы «Сотрудники_библиотеки» в отдельную таблицу информацию о дате удаления, пользователе.
CREATE TRIGGER deletesotrud
ON Сотрудники_библиотеки /*Связываем с таблицей*/
FOR DELETE AS
INSERT INTO DeletedSotrudLibrary /*Указываем таблицу, куда будет производиться запись*/
(Табельный_номер ,имя ,фамилия ,отчество,дата_рождения, /*Пречисляем поля таблицы*/
должность,номер_отдела, Имя_пользователя,Дата_удаления)
SELECT /*Причисляем вносимые значения*/
Табельный_номер, имя, фамилия, отчество, дата_рождения, должность, номер_отдела,
SYSTEM_USER, getdate() FROM deleted /*deleted – временная таблица, куда заносятся удаляемые данные*/
3.4. T-SQL-определения хранимых процедур
Хранимые процедуры похожи на обычные процедуры, широко используемые в различных языках программирования. Они применяются для выполнения каких-либо часто повторяющихся действий над объектами базы данных. Когда процесс выполнения вставки, удаления или изменения данных представляет собой сложный и запутанный процесс, также целесообразно использовать хранимые процедуры.
Хранимые процедуры можно включать в группы.
Перед созданием хранимой процедуры необходимо определить её тип, количество входных и выходных данных, а после следует приступать к разработке кода процедуры.
разница
