Разработка инфологической модели

Инфологическая модель выполнена в виде ER-диаграмм с использованием CASE-пакета в программе ERWin. Инфологическая модель состоит из четырех таблиц, представленных на рисунке 2.1.

 

Рисунок 2.1 – Инфологическая модель базы данных

 

В таблицах 2.1-2.5 представлена спецификация инфологической модели проектируемой системы.

 

№ поля Название поля Тип поля
1 id студента (key)integer
2 Имя студента Nvarchar(50)
3 Фамилия студента Nvarchar(50)
4 Группа Nvarchar(50)

Таблица 2.1 – T_ Students

 

    Таблица T_ Students содержит в себе данные о студентах. Вся информация о лабораторных работах вносятся в таблицу T_ Labs.

 

№ поля Название поля Тип поля
1 id сессии (key)integer
2 Дата сессии smalldatetime
3 id параметра integer
4 id студента integer
5 id преподавателя integer

Таблица 2.2 – T_ Labs

    Лабораторные работы проводятся под руководством одного из преподавателей. База должна быть наполнена данными о них (табл. 2.3):

 

№ поля Название поля Тип поля
1 id преподавателя (key)integer
2 Фамилия преподавателя Nvarchar (50)
3 Имя преподавателя Nvarchar (50)
4 Отчество преподавателя Nvarchar (50)

Таблица 2.3 – T_Prepods

           

При проведении лабораторных работ результатом являются числовые значения измеряемых технологических параметров. Данные по ним содержатся в таблице T_ Parameters (табл. 2.4).

 

№ поля Название поля Тип поля
1 id параметра (key)integer
2 Значение параметра Nvarchar(50)
3 Наименование параметра Nvarchar(50)

Таблица 2.4 – T_ Parameters

 

Разработка даталогической модели

Даталогическая модель включает в себя схему данных БД в рамках выбранной СУБД MS SQL Server 2005. Даталогическая модель представлена на рисунках 2.2-2.5.

 

 

Рисунок 2.2 – Таблица dbo.T_Labs

 

Рисунок 2.3 – Таблица dbo.T_Parameters

 

 

Рисунок 2.4 – Таблица dbo.T_Prepods

 

Рисунок 2.5 – Таблица dbo.T_Students

 

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

Обработка данных

Любое взаимодействие с БД происходит с помощью хранимых процедур. Можно выделить четыре основных типов хранимых процедур, используемых в программе:

- для вставки данных;

- для удаления данных;

- для корректировки данных;

- для выборки данных;

Для реализации задач курсовой работы написано 4 хранимые процедуры. Ниже приведены 2 листинга для процедур dbo.ex_DEL_Students и dbo.ex_INS_Students (рисунки 2.6 и 2.7 соответственно).

 

set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go   /*-----------------------------------------------------------   Пример обработки базы данных в среде Visual Studio 2005.NET" Входные данные: @id - идентификатор пользователя   Пример вызова: EXEC dbo.ex_DEL_Students @id_Stud = 5   */----------------------------------------------------------- ALTER  PROC [dbo].[ex_DEL_Students]  @id_Stud int AS    SET NOCOUNT OFF -- передавать сообщения о количестве обработанных записей  SET ANSI_WARNINGS OFF -- отключить вывод предупреждений   -- Удалить запись  DELETE FROM dbo.T_ Students   WHERE id_Stud = @id_Cust    SET NOCOUNT ON -- не передавать сообщения о количестве обработанных записей   -- Прочитать запись  SELECT id_Stud,    Name_Stud,    Surname_Stud,    Group_Stud        FROM dbo.T_Students WHERE id_Stud = @id_Stud    SET ANSI_WARNINGS ON -- включить вывод предупреждений

Рисунок 2.6 – Листинг процедуры dbo.ex_DEL_Students

 

 

set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go   ALTER PROC [dbo].[ex_INS_Students]  @id_Stud int,  @Name_Stud nvarchar(max),             @Surname_Stud nvarchar(max),  @Group_Stud nvarchar(max) as  SET NOCOUNT OFF -- передавать сообщения о количестве обработанных записей   -- Проверить существование строки: если не существует, то вставить  IF NOT EXISTS (SELECT 1 FROM dbo.T_Students WHERE id_Stud = @id_Stud)    BEGIN INSERT INTO dbo.T_Students (         id_Stud,         Name_Stud,         Surname_Stud,         Group_Stud   ) VALUES (     @id_Stud,     @Name_Stud,     @Surname_Stud,     @Group_Stud   )  SET NOCOUNT ON -- отключить сообщения о количестве обработанных записей -- Прочитать новую запись SELECT id_Stud,   Name_Stud,   Surname_Stud,   Group_Stud FROM dbo.T_Students WHERE id_Stud = @id_Stud  END ELSE  SET NOCOUNT ON

Рисунок 2.7 – Листинг процедуры dbo.ex_INS_Students

 




Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: