МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ
Учреждение образования
«Гомельский государственный технический университет имени П. О. Сухого»
Факультет автоматизированных и информационных систем
Кафедра «Информационные технологии»
направление специальности 1-40 01 02-01 «Информационные системы и технологии в проектировании и производстве»
ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №4
по дисциплине «Разработка приложений баз данных для информационных систем»
на тему: «Разработка серверной части ИС в СУБД MS SQL Server»
Выполнила: студентка группы ИТ-32 |
|
|
|
Принял: доцент |
|
Дата проверки ____________________ |
|
Дата допуска к защите _____________ |
|
Дата защиты _____________________ |
|
Гомель 2014
Цель работы.
Разработать серверную часть клиент-серверной информационной системы в заданной предметной области средствами СУБД MS SQL Server:
· разработать и настроить свойства таблиц и представлений;
· создать диаграмму БД;
· создать триггеры, обеспечивающие целостность БД; хранимые процедуры; пользовательские функции различных типов.
2. ЗАДАНИЕ
1. Разработать средствами СУБД MS SQL Server таблицы и представления, соответствующие БД по своему варианту задания, и настроить их свойства. Структура БД должна быть нормализована – таблицы должны удовлетворять требованиям третьей нормальной формы. Настройки таблиц должны обеспечивать первичную проверку правильности заносимых данных с помощью ограничений проверки, настроек допустимости пустых значений и значений по умолчанию.
Для создания представления необходимо во вкладке «Представления» в контекстном меню выбрать «Создать представление» (рисунок 1). В появившемся окне выбираем необходимые для запроса таблицы и задаем условия.
Рисунок 1 – Создание представления
Рисунок 2 – Создание представления «Сведения о всех сотрудниках»
и результат его выполнения
Рисунок3 – Создание представления «Сведения о всех сотрудниках по ФИО» и результат его выполнения
Рисунок 4 – Создание представления «Сведения о всех клиентах» и результат его выполнения
Рисунок 5 – Создание представления «Заказы»
и результат его выполнения
2. Создать диаграмму БД.
Для создания диаграммы базы данных необходимо во вкладке «Диаграмма баз данных» выбрать пункт «Создать диаграмму базы данных» (рисунок 6). В появившемся окне выбрать необходимые таблицы и задать связи между ними.
Рисунок 6 – Создание диаграммы базы данных
Рисунок 7 – Диаграмма созданной базы данных
3. БД заполнить записями в количестве, необходимом для отладки и демонстрации возможностей приложения. Для планирования тестового набора данных рекомендуется использовать следующее правило: каждой записи в таблице, стоящей на стороне отношения «один» должно соответствовать не менее трех связанных записей в таблице, стоящей на стороне отношения «многие».
Рисунок 8 – Таблица «Сотрудники»
Рисунок 9 – Таблица «Должность»
Рисунок 10 – Таблица «Послужной список»
Рисунок 11 – Таблица «Заказы»
Рисунок 12 – Таблица «Клиенты»
Рисунок 13 – Таблица «Достижения»
Рисунок 14 – Таблица «Параметры»
Рисунок 15 – Таблица «Знак зодиака»
Рисунок 16 – Таблица «Хобби»
4. Для разработанной БД предложить операции обработки данных, требующие использования пользовательских функций трех типов: скалярной, табличных Inline и Multi-statement. Разработать по одной функции каждого типа и протестировать их работу.
4.1 Создать пользовательскую скалярную функцию, которая будет возвращать сумму всех платежей (без параметров);
ALTER FUNCTION [dbo].[skal_func]
()
RETURNS money
AS
BEGIN
DECLARE @a money
Set @a=(SELECT SUM(Стоимость) FROM Заказы)
RETURN (@a)
END
Scala_funс - название функции. Функция без параметров и возвращает результат денежного типа. Описываем переменную @a, в которую будет записываться результат и которая будет возвращать функцией. Производим суммирование всех строк столбца Стоимость с помощью функции Sum.
Синтаксис вызова: SELECT dbo.skal_func()
Рисунок 17 – Результат выполнения скалярной функции
4.2 Создать пользовательскую табличную функцию Inline, которая будет возвращать данные о всех сотрудниках, принятых на работу в заданный промежуток времени;
Create FUNCTION [dbo].[Inline_func]
(
@before nchar(10), @after nchar(10)
)
RETURNS TABLE
AS
RETURN
(
SELECT dbo.Сотрудники.ФИО, dbo.Сотрудники.Паспортные_данные, dbo.Сотрудники.Образование, dbo.Послужной_список.Дата_занятия_должности FROM dbo.Сотрудники
INNER JOIN dbo.Послужной_список ON dbo.Сотрудники.Код_списка= dbo.Послужной_список.Код_списка
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.