Разработка прикладного программного обеспечения деятельности предприятия в системе клиент-сервер

Опис : Безымянный1

Кодовая страница и порядок сортировки

Collation Settings:

· Case-sensitive-заставит SQL Server учитывать регистр символов;

· Accent-sensitive.

Нормализация данных

Приступая к созданию приложения, немаловажно тщательным образом спро

ектировать структуру его таблиц. Этот фактор в конечном итоге влияет на качество работы всего программного комплекса в целом. Поэтому целесообразно привести таблицы базы данных к третьей нормальной форме.

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

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

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

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

1. Таблица улиц.

2. Таблица записей к врачам.

3. Таблица районов.

4. Таблица докторов.

5.Таблица льгот.

6.Таблица пациентов.

7.Таблица университетов.

Реализация базы данных

1.Создание новой базы данных

Для создание новой базы данных необходимо:

1. Щелкнуть правой клавишей мыши по строке Databases.

2. В появившемся контекстном меню выбрать пункт New Database.

3. В появившемся окне ввести имя новой базы данных.

2.Создание таблиц

Находим свою БД, раскрываем ее, щелкаем правой кнопкой на вкладку «Tables» и нажимаем «New Table»

Таблица открывается в режиме Конструктора в котором мы можем задать название и тип полей. Также здесь мы можем создать ключевое поле, для этого щелкнуть правой кнопкой на нужное поле и выбрать «Set primary key»

Нажимаем кнопку сохранить, вводим название таблицы и жмем ОК. Таблица создана. Таким образом, создаем все таблицы нашей БД

3. Создание ограничений для столбцов таблицы

Также в создаваемой базе данных SQL Server даёт нам возможность контролировать правильность вводимой информации. Для этого применяются ограничения на значение отдельных полей создаваемых таблиц.

Так для таблицы «tblDoctor» можно отследить, что идентификатор доктора я будет всегда числом положительным. Для этого находим нужную таблицу, раскрываем ее, щелкаем правой клавишей мыши по вкладке «Constraint» и нажимаем «New Constraint» Указываем имя ограничения.

Находим строчку «Expression», нажимаем на многоточие и в появившемся окне пишем текст ограничения

4.Создание схемы данных

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

Для создания диаграммы находим свою БД, раскрываем ее, щелкаем правой кнопкой на вкладку «Database Diagrams» и нажимаем «New Database Diagram»

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

Далее обеспечиваем целостность данных, делаем каскадным обновление и удаление записей в таблицах:

После создания всех связей, которые мы выделили при нормализации, мы получим:

Схема данных

Триггеры

Триггеры это еще одна хорошая отличительная черта SQL Server. По своим функциям они напоминают события, но уникальны они тем, что содержаться на сервере, уникальны для каждой таблицы и выходят на исполнение при изменении, добавлении или удалении записей в таблицу. Они являются «последним» барьером между клиентом и таблицами на сервере, поэтому с их помощью можно проконтролировать изменение таблиц.

Для создания тригера находим нужную нам таблицу, раскрываем ее, щелкаем правой кнопкой на вкладку «Triggers» и нажимаем «New Trigger»:

1.Триггеры на обновление данных

Для моей базы данных триггеры на обновление были написаны для всех таблиц . Синтаксис их похож, поэтому приведу пример на основе таблицы district:

set ANSI_NULLS ON

set QUOTED_IDENTIFIER ON

go

ALTER TRIGGER [dbo].[T_tblDistrict_UTrig] ON [dbo].[tblDistrict] FOR UPDATE AS

SET NOCOUNT ON

/* * Каскадные обновления в 'tblPacient' */

IF UPDATE(DistrictID)

BEGIN

UPDATE tblPacient

SET tblPacient.DistrictID = inserted.DistrictID

FROM tblPacient, deleted, inserted

WHERE deleted.DistrictID = tblPacient.DistrictID

END

update District set

UserName=user_name(),

[DateTime]=GetDate(),

HostName=host_name(),

ClientName=app_name()

from inserted Join District

on inserted.DistrictID=District.DistrictID

2.Триггеры на добавление данных

Для моей базы данных триггеры на добавление были написаны для таблиц tblDoctor, tblPacient и tblPriem.

Пример:

Для таблицы tblDoctor:

set ANSI_NULLS ON

set QUOTED_IDENTIFIER ON

go

ALTER TRIGGER [dbo].[T_tblDoctor_ITrig] ON [dbo].[tblDoctor] FOR INSERT AS

SET NOCOUNT ON

/* * ЗАПРЕТ ВСТАВКИ БЕЗ СОВПАДАЮЩЕГО КЛЮЧА В 'tblUnivers' */

IF (SELECT COUNT(*) FROM inserted) !=

(SELECT COUNT(*) FROM tblUnivers, inserted WHERE (tblUnivers.UniversityID = inserted.UniversityID))

Страница:  1  2  3  4 


Другие рефераты на тему «Программирование, компьютеры и кибернетика»:

Поиск рефератов

Последние рефераты раздела

Copyright © 2010-2024 - www.refsru.com - рефераты, курсовые и дипломные работы