double arrow

ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ

 2. 1. Анализ известных подходов к решению проблемы

 

На сегодняшний день существуют два основных подхода к разработке ПО ИС, один из которых называется функционально-модульный или структурный. В его основу положен принцип функциональной декомпозиции, при которой структура системы описывается в терминах иерархии ее функций и передачи информации между отдельными функциональными элементами. Второй, объектно-ориентированный использует объектную декомпозицию. Структура системы описывается в терминах объектов и связей между ними, а поведение системы описывается в терминах обмена сообщениями между объектами. Каждый объект системы обладает своим собственным поведением, моделирующим поведение объекта реального мира.

          При разработке ПО ИС с использованием структурного подхода система разбивается на функциональные подсистемы, которые в свою очередь, делятся на подфункции, те – на задачи и так далее. Процесс разбиения продолжается вплоть до конкретных процедур. При этом автоматизируемая система сохраняет целостное представление, в котором все составляющие компоненты взаимосвязаны. При разработке системы "снизу-вверх", от отдельных задач ко всей системе, целостность теряется, возникают проблемы при описании информационного взаимодействия отдельных компонентов.

          Важным качеством объектно-ориентированного подхода является согласованность моделей деятельности организации и моделей проектируемой системы от стадии формирования требований до стадии реализации. Объектно-ориентированный подход обладает рядом преимуществ, таких как:

· объектная декомпозиция дает возможность создавать ПС меньшего размера путем использования общих механизмов. Использование объектно-ориентированного подхода существенно повышает уровень унификации разработки и пригодность для повторного использования программ, а также проектов;

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

· объектная модель позволяет в полной мере использовать выразительные возможности объектных и объектно-ориентированных языков программирования.

Главным же достоинством объектно-ориентированного подхода является то, что объектно-ориентированные системы более открыты и легче поддаются внесению изменений, т.к. их конструкция базируется на устойчивых формах. Переход на новую технологию связан с высокими начальными затратами, а также с преодолением психологических трудностей. Это относится к недостаткам объектно-ориентированного подхода. Но все-таки объектно-ориентированная модель наиболее адекватно отражает реальный мир, представляющий собой совокупность взаимодействующих объектов. Объектно-ориентированный подход не дает немедленной отдачи. Эффект от его применения начинает сказываться после разработки двух-трех проектов [6].

В настоящее время на практике количество CASE-средств, поддерживающих объектно-ориентированный подход, невелико по сравнению с поддерживающими структурный подход. В том числе, диаграммы, отражающие специфику объектно-ориентированного подхода (диаграммы классов, объектов и т.д.), гораздо менее наглядны и плохо понимаемы непрофессионалами. Примерами объектно-ориентированных CASE-средств являются: Rational Rose фирмы Rational Software и Paradigm Plus фирмы Computer Associates, предназначенные для автоматизации этапов анализа и проектирования ПО.

Современные CASE-средства, поддерживающих структурный подход, охватывают обширную область поддержки многочисленных технологий проектирования ИС: от простых средств анализа и документирования до полномасштабных средств автоматизации, покрывающих весь жизненный цикл ПО. На сегодняшний день российский рынок программного обеспечения располагает следующими наиболее развитыми CASE-средствами: Vantage Team Builder (Westmount I-CASE); Designer/2000; Silverrun; ERwin+BPwin; S-Designor; CASE.Аналитик.

ERwin — современное средство проектирования баз данных.Отличительной чертой ERwin/ERX является высокая степень обеспечения согласованного взаимодействия между средствами создания баз данных и средствами разработки приложений. ERwin поддерживает все наиболее популярные реляционные СУБД, включая Oracle; Sybase; Informix; Microsoft SQL Server; FoxPro; InterBase; Paradox; Access и др. Одна и та же модель может быть использована для создания нескольких баз данных или для переноса приложения с платформы одной СУБД на другую. ERwin можно использовать совместно со многими популярными средствами разработки приложений: Delphi, PowerBuilder, Visual Basic, Oracle Designer/2000 и др. [6]

Основные характеристики:

· поддержка стандартной нотации IDEF1X для ER диаграмм моделей данных, нотации IE и специальной нотации, предназначенной для проектирования хранилищ данных – DIMENSIONAL;

· возможность импорта/экспорта данных из BРwin, Oracle Designer;

· поддержка триггеров, хранимых процедур и шаблонов;

· развитые средства проверки корректности моделей данных;

· автоматическая генерация SQL DDL для создания баз данных;

· глубокая интеграция с продуктами Oracle, Sybase, Centura, Microsoft на базе единого репозитория и эффективного обмена проектами; импорт/экспорт с Rational Rose;

· автоматическая генерация экранных форм приложений для PowerBuilder, Delphi, Visual Basic, созданных на основе спроектированной модели данных.

 

2.2. Проектирование базы данных в ERwin

 

Для создания ER – диаграммы в проекте используется программное средство ERwin.

В базе данных использованы домены. Домен - это потенциальное множество значений простого типа данных, он имеет сходство с подтипом данных в некоторых языках программирования. Домен определяется двумя элементами - типом данных и логическим выражением, которое применяется к данным. Если результат этого выражения равен значению «истина», то экземпляр данных принадлежит домену [6].


Таблица 1- Домены, используемые в диаграмме.

Логическое имя домена Физическое имя домена Родительский домен
examen t_examen Number
itog t_itog Number
kol_vo_kreditov t_ko_lvo_kreditov Number
lc1 t_lc1 Number
lc2 t_lc2 Number
pr1 t_pr1 Number
pr2 t_pr2 Number
srs1 t_srs1 Number
srs2 t_srs2 Number
Disciplina_s t_Disciplina_s String
Disciplina_p t_Disciplina_p String
Specialnost_s t_Specialnost_s String
Specialnost_p t_Specialnost_p String
Doljnost t_Doljnost String
FIO t_FIO String
gruppa t_gruppa String
Semester T_semestr number

В диаграмму входят такие сущности:

Сущность Student  включает:

o FIO;

o Gruppa.

Сущность Gruppa включает:

o Gruppa;

o God postuplenia;

o Edvaizer.

Сущность Specialnost включает:

o Shifr_specialnosti;

o Specialnost_p;

o Specialnost_s;

o God_vvedenia.

Сущность Disciplina включает:

o Kod_disciplina;

o Disciplina_p;

o Disciplina_s.

Сущность Prepodavatel включает:

o Kod_disciplina;

o Shifr_specialnost;

o Semester;

o Kol_vo_kreditov.

СущностьVedomost включает:

o Kod_prepod;

o Kod_disciplina;

o Shifr_specialnost;

o Kod_student;

o Lc1;

o Lc2;

o Pr1;

o Pr2;

o Srs1;

o Srs2;

o Examen;

o Itog.

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

На логическом уровне данные представляются так, как они выглядят в реальном мире. Объектами логического уровня являются сущности и атрибуты. Модель логического уровня является универсальной и не связана с конкретнойбазой данных [6.

Затем генерируем SQL код первоначально установив программу выбрав Server/Target Interbase, затем выбрав Server Tasks/Schema Generation, установив необходимые параметры нажимаем кнопку Preview для просмотра сгенерированного SQL кода. Итак, получив SQL код, мы можем перейти к следующему этапу проектирования.

Рисунок 1- Диаграмма на физическом уровне

Рисунок 2 - Диаграмма на логическом уровне.

 

2.3. Создание базы данных в INTERBASE

 

  2.3.1. INTERBASE и область его применения

InterBase представляет собой полнофункциональный SQL- сервер. Сервер баз данных- это программный процесс, который выполняется на узле сети, где расположен главный компьютер или физически расположена сама база данных. Процесс сервера- единственный процесс на любом узле, который может исполнять прямые операции ввода-вывода для файлов базы данных.

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

· Поиск в базе данных по заданным условиям;

· Сравнение, сортировку и представление данных в табличном виде;

· Изменение хранимых данных;

· Добавление новых данных в базу;

· Удаление данных из базы данных;

· Создание новых базы данных и структур данных;

· Выполнение программного кода на сервере;

· Передачу сообщения другим клиентам, подключенным в данный момент к серверу.

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

Несколько клиентов могут быть связаны с многопоточным процессом сервера одновременно.

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

Отличительными качествами InterBase являются:

· Высокая производительность и надежность сервера при минимальных требованиях к техническим средствам.

· Поддержка стандарта SQL-92, обеспечивающая переносимость приложений.

· Относительно низкая стоимость продукта.

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

Все это делает InterBase прекрасным выбором для реализации корпоративных систем малого и среднего масштаба (с количеством пользователей в несколько десятков). При реализации очень крупных проектов (с сотнями или более пользователей) стоит, наверное, рассмотреть более мощные серверы – типа Oracle или Informix [1].

 



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



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