2.2 Разработка даталогической модели Даталогическая модель включает в себя схему данных БД в рамках выбранной СУБД 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 Для реализации обмена данными между программой и базой данных были написаны соответствующие хранимые процедуры, которые позволяют группировать данные из разных таблиц.
2.3 Обработка данных Любое взаимодействие с БД происходит с помощью хранимых процедур. Можно выделить четыре основных типов хранимых процедур, используемых в программе:
для вставки данных;
для удаления данных;
для корректировки данных;
для выборки данных;
Для реализации задач курсовой работы написано 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
3. РАЗРАБОТКА ПРИЛОЖЕНИЯ БАЗЫ ДАННЫХ |