Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kursovaya_rabota.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
401.45 Кб
Скачать

Постановка задачи

Разработать клиент-серверное приложение, серверная часть которой реализована на MS SQL Server (или Oracle), представляющая собой модель предметной области в соответствии с вариантом задания. В рамках заданной предметной области реализовать заданную (по варианту) схему отношений, т.е. выделить сущности и их атрибуты, так чтобы связи между сущностями соответствовали представленной схеме. В рамках курсовой работы необходимо на стороне сервера реализовать и использовать при демонстрации приложения следующие компоненты:

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

  2. В приложении реализовать не менее пяти запросов, включая (для демонстрации навыков работы)

    1. Составной многотабличный запрос с параметром, включающий соединение таблиц и CASE-выражение;

    2. На основе обновляющего представления (многотабличного VIEW), в котором критерий упорядоченности задает пользователь при выполнении;

    3. Запрос, содержащий коррелированные и некоррелированные подзапросы в разделах SELECT, FROM и WHERE (в каждом хотя бы по одному);

    4. Многотабличный запрос, содержащий группировку записей, агрегативные функции и параметр, используемый в разделе HAVING;

    5. Запрос, содержащий предикат ANY, SOME или ALL;

  1. Создать необходимые кластерные (по первичным ключам) и не кластерные индексы для увеличения скорости выполнения запросов;

  2. В таблице (в соответствии с вариантом) предусмотреть поле, которое заполняется автоматически по срабатыванию триггера при добавлении, обновлении и удалении данных, иметь возможность продемонстрировать работу триггера при работе приложения. Триггера должны обрабатывать только те записи, которые были добавлены, изменены или удалены в ходе текущей операции (транзакции).

  3. Операции добавления, удаления и обновления реализовать в виде хранимых процедур (с параметрами) хотя бы для одной таблицы; для остальных допустимо использовать возможности связывания полей ввода в приложении с полями БД;

  4. Реализовать отдельную хранимую процедуру, состоящую из нескольких отдельных операций в виде единой транзакции, которая при определенных условиях может быть зафиксирована или откатана;

  5. В триггере или хранимой процедуре реализовать курсор на обновления отдельных данных;

  6. В запросе (из пункта 2 или в дополнительном к тому перечню) использовать собственную скалярную функцию, а в хранимой процедуре – векторную (или табличную) функцию. Функции сохранить в базе данных

  7. Распределение прав пользователей: предусмотреть не менее двух пользователей с разным набором привилегий. Каждый набор привилегий оформить в виде роли.

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

Запрещено в качестве вводимых данных, в том числе для связи таблиц, указывать значения первичных и внешних ключей – для обеспечения ссылочной целостности пользователь должен выбирать значения из справочника, а соответствующие значения должны подставляться программно (тем или иным способом – автоматически).

Ограничение на выбор средства реализации (языка программирования) клиента отсутствуют.

варианта курсовой работы.

Предметная область

Примерные отношения предметной области

схемы

(вариант схемы)

Триггер

(таблица №…)

49

Автоматизированная система для расчетов с потребителями электроэнергии

Ведение справочников и информационной базы физических и юридических лиц - потребителей энергии. Расчет размера оплаты за услуги. Поиск должников.

3

1

СХЕМА БАЗЫ ДАННЫХ

CREATE TABLE test123.dbo.katalog (

id_katalog INT NOT NULL

,name VARCHAR(50) NOT NULL

,raspologenie VARCHAR(50) NOT NULL

,CONSTRAINT FK_katalog PRIMARY KEY CLUSTERED (id_katalog)

) ON [PRIMARY]

GO

CREATE TABLE test123.dbo.soderganie (

id_soderg INT NOT NULL

,dir VARCHAR(50) NOT NULL

,[file] VARCHAR(50) NOT NULL

,CONSTRAINT FK_soderg PRIMARY KEY CLUSTERED (id_soderg)

,CONSTRAINT FK_soderganie FOREIGN KEY (id_soderg) REFERENCES dbo.katalog (id_katalog)

) ON [PRIMARY]

GO

CREATE TABLE test123.dbo.tip (

id_tip INT IDENTITY

,CONSTRAINT FK_tip PRIMARY KEY CLUSTERED (id_tip)

,CONSTRAINT FK_tip2 FOREIGN KEY (id_tip) REFERENCES dbo.katalog (id_katalog)

) ON [PRIMARY]

GO

CREATE TABLE test123.dbo.vladelec (

id_vladelec INT IDENTITY

,name VARCHAR(50) NULL

,otch VARCHAR(50) NULL

,CONSTRAINT FK_vladelec PRIMARY KEY CLUSTERED (id_vladelec)

,CONSTRAINT FK_vladelec_katalog_id_katalog FOREIGN KEY (id_vladelec) REFERENCES dbo.katalog (id_katalog)

) ON [PRIMARY]

GO

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]