Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Содержание Станчик.doc
Скачиваний:
7
Добавлен:
01.04.2025
Размер:
2 Мб
Скачать
☆

2.2.3 Определение представлений, хранимых процедур серверной компоненты

Представление (View) для конечных пользователей выглядит как таблица, но при этом само не содержит данных, а лишь представляет данные, расположенные в таблице. Физически представление реализовано в виде SQL-запроса, на основе которого производится выборка данных из одной или нескольких таблиц или представлений.

Представление может выбирать данные из других представлений, которые, в свою очередь, могут также основываться на представлениях или таблицах. Вложенность представлений не должна превышать 32. Представление часто применяется для ограничения доступа пользователей к конфиденциальным данным в таблице.

Для приложения были разработаны следующие представления:

– Bluda2 выводит информацию о блюдах при условии, что каллорийность больше 800, а стоимость больше 30000. Содержит информацию из таблицы «Блюда»;

– NameBluda выводит информацию облюдах, которые заказал клиент в определенный день. Содержит информацию из таблиц «Блюда», «Заказы» и «Клиенты»;

– ViborBlud выводит информацию о блюдах, название которых уже прописано, содержит информацию из талицы «Блюда»;

– VidBlud выводит информацию о блюдах вида «Салаты», с условием, что стоимость больше 20000. Содержит информацию из таблиц «Блюда» и «Вид блюда»;

– Zakaz3 выводит информацию о работнике, который выполнял заказы в определенный день. Содержит информацию из таблиц «Personal» и «Zakaz»;

– Personal2 выводит информацию о должности работника, оклад которого больше 2000000, а дата рождения находится в рамках от 06.12.1988 до 02.19.1990. Содержит информацию из таблиц «Персонал» и «Должности»;

– NameDolshnosti2 выводит информацию о должности определенного названия. Содержит информацию из таблицы «Должности»;

– KusokSlova выводит информацию о клиентах, фамилия которых содержит частицу «ин». Содержит информацию из таблицы «Клиенты».

– FamiliaKlienta выводит информацию о клиентах, фамилия которых начинается на букву, которая находится в диапазоне от "А" до "Г". Содержит информацию из таблицы «Клиенты»

– AdresPersonala выводит информацию о работнике, который проживает по определенному адресу. Содержит информацию из таблицы «Персонал».

Хранимые процедуры имеют много общего с обычными процедурами. Использование хранимых процедур позволяет значительно повысить скорость разработки приложений.

Для приложения были разработаны следующие хранимые процедуры:

  • Dolshnosti3 при вводе названия должности выдает имя и фамилию

подходящего работника;

  • Imya4 выводит ФИО клиента, имя которого совпадает с введенными с клавиатуры данными;

  • KolBlud3 выводит фамилию клиента, который заказал такое количество блюд, которое будет меньше, чем введенное с клавиатуры;

  • NameBlud2 выводит название блюда, вес которого меньше 300 г., а калорийность больше или равна 600 ккал.

  • Oklad выводит информацию о работнике, оклад которого равен цифре, введенной с клавиатуры;

  • Personal3 выводит данные о работнике, дата рождения которого находятся в указанном пользователем периоде;

  • Pol2 выводит данные о работнике, пол которого такой же, как и введенный с клавиатуры;

  • Skidki выводит данные о клиенте, у которого размер скидки больше, чем введенный с клавиатуры;

  • Sostav2 выводит данные о блюде, в состав которого входит слово, введенное пользователем;

  • SpisokBlud3 выводит название блюда равное введенному с клавиатуры названию;

  • StoimostBlud выводит название блюд, стоимость которых больше, чем введенная пользователем;

  • VidBluda выводит данные о блюдах, вид которых равен виду, введенному с клавиатуры и стоимость которого больше 50000р.

  • Vremya выводит название блюда, время приготовления которого больше 40 минут, а стоимость – меньше 100000р.

  • Zakaz5 выводит информацию о блюдах, код заказа которых равен коду, введенному с клавиатуры;

  • ZakKlient3 выводит данные о клиентах, сделавших заказ в период времени, который вводится с клавиатуры.

2.3 Верификация спроектированной логической модели

После разработки информационной модели ее следует связать с функциональной моделью. Такая связь гарантирует завершенность анализа, гарантирует, что есть источники данных (сущности) для всех работ. Связывание моделей способствует согласованности, корректности и завершенности анализа. Стрелки в функциональной модели обозначают некоторую информацию, использующуюся в моделируемой системе. В информационной модели на логическом уровне информация изображается в виде сущностей. Сущности состоят из совокупностей экземпляров сущностей (кортежи отношений). К информационной модели предъявляется требование нормализации, что должно обеспечить компактность и непротиворечивость хранения данных. Информация, которая моделируется одной стрелкой в функциональной модели, может содержаться в нескольких сущностях и атрибутах информационной модели. На функциональной модели могут присутствовать различные стрелки, изображающие одни и те же данные. Информация о таких стрелках находится в одних и тех же сущностях. Следовательно, одной и той же стрелке в функциональной модели могут соответствовать несколько сущностей в информационной модели и, наоборот, одной сущности может соответствовать несколько стрелок.

Работы в функциональной модели могут создавать или изменять данные, которые соответствуют входящим и выходящим стрелкам. Они могут воздействовать как целиком на сущности (создавая и модифицируя экземпляры сущности), так и на отдельные атрибуты сущности.

Таблица 1 ­– Отчет о верификации модели

Arrow Name

Entity Name

Attribute Name

Информация о блюдах

Bluda

kalorinost

kod_bluda

kod_vida

name_bluda

sostav_bluda

stoimost

ves

vremya_prigotovleniya

Информация о должностях

Dolshnosti

kod_dolshnosti

name_dolshnosti

oklad

vipoln_funkcii

Информация о заказах

Zakaz

data_zakaza

kod_bluda

kod_klienta

kod_rabotnika

kod_zakaza

kolichestvo_blud

vremya_zakaza

Информация о клиентах

Klienti

familia

imya

kod_klienta

otchestvo

skidki

telephon

Информация о персонале

Personal

adres

data_roshdeniya

familia

imya

kod_dolshnosti

kod_rabotnika

otchestvo

pol

telephon

Отчет о блюдах

Bluda

kalorinost

name_bluda

stoimost

ves

vremya_prigotovleniya

Отчет о заказах

Klienti

familia

imya

Zakaz

data_zakaza

kolichestvo_blud

vremya_zakaza

Отчет о клиентах

Klienti

familia

imya

otchestvo

skidki

telephon

3 Реализация системы

3.1 T-SQL-определения регламентированных запросов