
- •Разработка вариантов проекта базы данных
- •Санкт-петербург
- •Назначение и порядок выполнения курсового проекта
- •Состав курсового проекта
- •Этапы выполнения курсового проекта
- •Варианты заданий
- •Выполнение курсового проекта по этапам Анализ задания и обследование предметной области
- •Организация проектирования и расчет сметных затрат на реализацию проекта
- •Разработка информационно-логической модели предметной области с использованием иерархических отношений
- •Проектирование базы данных реляционного типа
- •Поддержка целостности данных
- •Определение и анализ источников данных для клиентского приложения
- •Определение потребителей данных
- •Проектирование основных процедур базы данных
- •Заключение и анализ результатов.
- •Требования к оформлению отчета
- •Содержание
Проектирование базы данных реляционного типа
Для определения состава таблиц следует произвести нормализацию исходного иерархического отношения. Для этого в исходном и подчиненных отношениях следует определить первичные ключи, затем выделить подчиненные отношения в самостоятельные, оставив в исходных реквизиты (атрибуты), соответствующие первичным ключам выделенных отношений. Среди выделенных таким образом нормализованных отношений следует опознать одинаковые ( если они есть ), различающиеся лишь именами. В приведенном в качестве примера отношении
GR (ND, VER1(COD, NAME), VER2(COD, NAME), W)
результат нормализации
VER1(COD, NAME)
VER2(COD, NAME)
GR (ND, VER.COD, VER2.COD, W)
однако первое и второе отношение описывают один и тот же объект и , следовательно, заменяются одним:
VER1(COD, NAME), VER2(COD, NAME) =
VER(COD, NAME),
Таким образом, в примере в результате нормализации появятся не три, а две таблицы.
На основании определенных ранее ключей поиска определяются структурные ключи - ключи индексирования. Вторичные ключи соответствуют ключам связи.
Осуществляется выбор СУБД, используемой в реализационной части курсового проекта. Выбор СУБД предоставляется студенту.
При подготовке программных средств для загрузки и корректировки базы данных следует использовать определенные при информационно-логическом проектировании ограничения целостности.
Следует подготовить для загрузки 40 - 50 записей основной таблицы и загрузить таблицы, а также осуществить индексирование. Материалы загрузки должны быть приведены в отчете.
Должен быть определен состав и спроектированы процедуры, обеспечивающее качество функционирования базы данных - целостность, непротиворечивость, защиту от разрушения, защиту от несанкционированного доступа.
Поддержка целостности данных
Целостность данных должна быть обеспечена для поддержки внутреннего логического соответствия данных. В современных распределенных базах данных поддержка целостности обеспечивается как на уровне клиент-приложения, так и централизованно, при этом логика поддержания целостности хранится в самой базе данных.
Декларативная целостность обеспечивается путем указания в описании данных ограничений целостности и отношений между таблицами. Ограничения целостности могут быть представлены как ограничения значений - диапазон, шаблон значений, значение из определенного множества. Отношения между таблицами могут задаваться путем указания первичных ключе и ключей связи. РСУБД сохраняет определенные декларативно свойства данных и отношения между таблицами в процессе ввода данных, их обновления и удаления.
Существуют три типа декларативной целостности данных:
Целостность сущности (таблицы) требует, чтобы все записи в таблице имели уникальный идентификатор - первичный ключ,
Целостность столбцов - ограничения на данные, которые могут быть занесены в столбец,
Ссылочная целостность - это связь между таблицами, обеспечиваемая системой первичный - внешний ключ. Запись в родительской таблице не может быть удалена, а первичный ключ изменен, если в дочерней таблице существует связанная запись. Нельзя ввести в дочернюю таблицу внешний ключ, отсутствующий в родительской таблице.
Процедурная целостность данных обеспечивается с помощью специальных инструментов - триггеров и хранимых процедур. Триггеры запускаются автоматически при изменении или удалении данных, целостность которых обеспечивается триггером. Студентам дневного отделения предоставляется возможность спроектировать триггер для поддержания целостности ири удалении или изменении данных (по собственному выбору).