Разработка программного обеспечения для Отделения Реанимации и Интенсивной Терапии новорожденных МГБ N1 г. Сургута
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: бесплатные рефераты и курсовые, quality assurance design patterns системный анализ
| Добавил(а) на сайт: Аксёнов.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 11 | Следующая страница реферата
Сетевая БД состоит из набора записей и набора связей между этими записями, а если говорить более точно, из набора экземпляров каждого типа из
заданного в схеме БД набора типов записи и набора экземпляров каждого типа
из заданного набора типов связи.
Тип связи определяется для двух типов записи: предка и потомка. Экземпляр
типа связи состоит из одного экземпляра типа записи предка и упорядоченного
набора экземпляров типа записи потомка. Для данного типа связи L с типом
записи предка P и типом записи потомка C должны выполняться следующие два
условия:
Каждый экземпляр типа P является предком только в одном экземпляре L;
Каждый экземпляр C является потомком не более, чем в одном экземпляре L.
На формирование типов связи не накладываются особые ограничения; возможны, например, следующие ситуации:
1. Тип записи потомка в одном типе связи L1 может быть типом записи предка в другом типе связи L2 (как в иерархии).
2. Данный тип записи P может быть типом записи предка в любом числе типов связи.
3. Данный тип записи P может быть типом записи потомка в любом числе типов связи.
4. Может существовать любое число типов связи с одним и тем же типом записи предка и одним и тем же типом записи потомка; и если L1 и L2 - два типа связи с одним и тем же типом записи предка P и одним и тем же типом записи потомка C, то правила, по которым образуется родство, в разных связях могут различаться.
5. Типы записи X и Y могут быть предком и потомком в одной связи и потомком и предком - в другой.
6. Предок и потомок могут быть одного типа записи.
Простой пример сетевой схемы БД:
3.3.2. Манипулирование данными
Примерный набор операций может быть следующим:
Найти конкретную запись в наборе однотипных записей (инженера Сидорова);
Перейти от предка к первому потомку по некоторой связи (к первому
сотруднику отдела 310);
Перейти к следующему потомку в некоторой связи (от Сидорова к Иванову);
Перейти от потомка к предку по некоторой связи (найти отдел Сидорова);
Создать новую запись;
Уничтожить запись;
Модифицировать запись;
Включить в связь;
Исключить из связи;
Переставить в другую связь и т.д.
3.3.3. Ограничения целостности
В принципе их поддержание не требуется, но иногда требуют целостности по
ссылкам (как в иерархической модели).
3.4. Достоинства и недостатки
Сильные места ранних СУБД:
Развитые средства управления данными во внешней памяти на низком уровне;
Возможность построения вручную эффективных прикладных систем;
Возможность экономии памяти за счет разделения подобъектов (в сетевых
системах).
Недостатки:
Слишком сложно пользоваться;
Фактически необходимы знания о физической организации;
Прикладные системы зависят от этой организации;
Их логика перегружена деталями организации доступа к БД.
Теоретические основы
Мы приступаем к изучению реляционных баз данных и систем управления
реляционными базами данных. Этот подход является наиболее распространенным
в настоящее время, хотя наряду с общепризнанными достоинствами обладает и
рядом недостатков. К числу достоинств реляционного подхода можно отнести:
наличие небольшого набора абстракций, которые позволяют сравнительно просто
моделировать большую часть распространенных предметных областей и допускают
точные формальные определения, оставаясь интуитивно понятными;
наличие простого и в то же время мощного математического аппарата, опирающегося главным образом на теорию множеств и математическую логику и
обеспечивающего теоретический базис реляционного подхода к организации баз
данных;
возможность ненавигационного манипулирования данными без необходимости
знания конкретной физической организации баз данных во внешней памяти.
Реляционные системы далеко не сразу получили широкое распространение. В то
время, как основные теоретические результаты в этой области были получены
еще в 70-х, и тогда же появились первые прототипы реляционных СУБД, долгое
время считалось невозможным добиться эффективной реализации таких систем.
Однако отмеченные выше преимущества и постепенное накопление методов и
алгоритмов организации реляционных баз данных и управления ими привели к
тому, что уже в середине 80-х годов реляционные системы практически
вытеснили с мирового рынка ранние СУБД.
В настоящее время основным предметом критики реляционных СУБД является не
их недостаточная эффективность, а присущая этим системам некоторая
ограниченность (прямое следствие простоты) при использование в так
называемых нетрадиционных областях (наиболее распространенными примерами
являются системы автоматизации проектирования), в которых требуются
предельно сложные структуры данных. Еще одним часто отмечаемым недостатком
реляционных баз данных является невозможность адекватного отражения
семантики предметной области. Другими словами, возможности представления
знаний о семантической специфике предметной области в реляционных системах
очень ограничены. Современные исследования в области постреляционных систем
главным образом посвящены именно устранению этих недостатков.
Общие понятия реляционного подхода к организации БД. Основные концепции и
термины
На этой лекции мы введем на сравнительно неформальном уровне основные
понятия реляционных баз данных, а также определим существо реляционной
модели данных. Основной целью лекции является демонстрация простоты и
возможности интуитивной интерпретации этих понятий. В дальнейших лекциях
будут приводиться более формальные определения, на которых основывается
математическая теория реляционных баз данных
4.1. Базовые понятия реляционных баз данных
Основными понятиями реляционных баз данных являются тип данных, домен, атрибут, кортеж, первичный ключ и отношение.
Для начала покажем смысл этих понятий на примере отношения СОТРУДНИКИ, содержащего информацию о сотрудниках некоторой организации:
4.1.1. Тип данных
Понятие тип данных в реляционной модели данных полностью адекватно понятию
типа данных в языках программирования. Обычно в современных реляционных БД
допускается хранение символьных, числовых данных, битовых строк, специализированных числовых данных (таких как "деньги"), а также
специальных "темпоральных" данных (дата, время, временной интервал).
Достаточно активно развивается подход к расширению возможностей реляционных
систем абстрактными типами данных (соответствующими возможностями обладают, например, системы семейства Ingres/Postgres). В нашем примере мы имеем дело
с данными трех типов: строки символов, целые числа и "деньги".
4.1.2. Домен
Понятие домена более специфично для баз данных, хотя и имеет некоторые
аналогии с подтипами в некоторых языках программирования. В самом общем
виде домен определяется заданием некоторого базового типа данных, к
которому относятся элементы домена, и произвольного логического выражения, применяемого к элементу типа данных. Если вычисление этого логического
выражения дает результат "истина", то элемент данных является элементом
домена.
Наиболее правильной интуитивной трактовкой понятия домена является
понимание домена как допустимого потенциального множества значений данного
типа. Например, домен "Имена" в нашем примере определен на базовом типе
строк символов, но в число его значений могут входить только те строки, которые могут изображать имя (в частности, такие строки не могут начинаться
с мягкого знака).
Следует отметить также семантическую нагрузку понятия домена: данные
считаются сравнимыми только в том случае, когда они относятся к одному
домену. В нашем примере значения доменов "Номера пропусков" и "Номера
групп" относятся к типу целых чисел, но не являются сравнимыми. Заметим, что в большинстве реляционных СУБД понятие домена не используется, хотя в
Oracle V.7 оно уже поддерживается.
4.1.3. Схема отношения, схема базы данных
Схема отношения - это именованное множество пар {имя атрибута, имя домена
(или типа, если понятие домена не поддерживается)}. Степень или "арность"
схемы отношения - мощность этого множества. Степень отношения СОТРУДНИКИ
равна четырем, то есть оно является 4-арным. Если все атрибуты одного
отношения определены на разных доменах, осмысленно использовать для
именования атрибутов имена соответствующих доменов (не забывая, конечно, о
том, что это является всего лишь удобным способом именования и не устраняет
различия между понятиями домена и атрибута).
Схема БД (в структурном смысле) - это набор именованных схем отношений.
4.1.4. Кортеж, отношение
Кортеж, соответствующий данной схеме отношения, - это множество пар {имя
атрибута, значение}, которое содержит одно вхождение каждого имени
атрибута, принадлежащего схеме отношения. "Значение" является допустимым
значением домена данного атрибута (или типа данных, если понятие домена не
поддерживается). Тем самым, степень или "арность" кортежа, т.е. число
элементов в нем, совпадает с "арностью" соответствующей схемы отношения.
Попросту говоря, кортеж - это набор именованных значений заданного типа.
Отношение - это множество кортежей, соответствующих одной схеме отношения.
Иногда, чтобы не путаться, говорят "отношение-схема" и "отношение-
экземпляр", иногда схему отношения называют заголовком отношения, а
отношение как набор кортежей - телом отношения. На самом деле, понятие
схемы отношения ближе всего к понятию структурного типа данных в языках
программирования. Было бы вполне логично разрешать отдельно определять
схему отношения, а затем одно или несколько отношений с данной схемой.
Однако в реляционных базах данных это не принято. Имя схемы отношения в
таких базах данных всегда совпадает с именем соответствующего отношения-
экземпляра. В классических реляционных базах данных после определения схемы
базы данных изменяются только отношения-экземпляры. В них могут появляться
новые и удаляться или модифицироваться существующие кортежи. Однако во
многих реализациях допускается и изменение схемы базы данных: определение
новых и изменение существующих схем отношения. Это принято называть
эволюцией схемы базы данных.
Обычным житейским представлением отношения является таблица, заголовком
которой является схема отношения, а строками - кортежи отношения-
экземпляра; в этом случае имена атрибутов именуют столбцы этой таблицы.
Поэтому иногда говорят "столбец таблицы", имея в виду "атрибут отношения".
Когда мы перейдем к рассмотрению практических вопросов организации
реляционных баз данных и средств управления, мы будем использовать эту
житейскую терминологию. Этой терминологии придерживаются в большинстве
коммерческих реляционных СУБД.
Реляционная база данных - это набор отношений, имена которых совпадают с
именами схем отношений в схеме БД.
Как видно, основные структурные понятия реляционной модели данных (если не
считать понятия домена) имеют очень простую интуитивную интерпретацию, хотя
в теории реляционных БД все они определяются абсолютно формально и точно.
Методы, использованные для решения задачи.
Базовым инструментом для написания данного проекта был взят Delphi.
Открытая архитектура Delphi
Компания Borland в развитии своих объектно-ориентированных средств
разработки явно пришла к тому выводу, что повторное использование кода и
объектная ориентация не являются единственными средствами повышения
производительности программистов. С появлением Delphi разработчик может не
только создавать и предоставлять своим коллегам готовые к использованию
компоненты, но и расширять функциональные возможности среды, в которой он
работает, с помощью так называемых "открытых интерфейсов". Такой подход
позволяет использовать Delphi уже в роли общего ядра набора
инструментальных средств на всех этапах создания прикладных систем -
начиная с CASE-систем и заканчивая генерацией документации по создаваемым
проектам, с полной их интеграцией в "святая святых" любой среды
программирования - IDE. Рассмотрим основные возможности расширения
функциональности среды Delphi для того, чтобы оценить степень "открытости"
архитектуры этого инструмента.
"Строительные блоки" приложений - компоненты
Как известно, фундаментальной основой визуальных средств Delphi является
компонентный подход. В чем же он заключается?
Delphi строится на базе компилятора объектно-ориентированного языка Object
Pascal, продолжающего линию диалектов Pascal - Turbo Pascal и Borland
Pascal. По мере своего развития, каждая очередная реализация Pascal
компании Borland включала все новые расширения синтаксиса, отражающие
последние достижения в области языков программирования. Если подходить к
оценке качественных "ступеней" развития Pascal, особо следует отметить три
из них, направленные на поддержку концепции повторного использования кода:
модульная архитектура, с возможностью разделения интерфейсной и
описательной частей (Turbo Pascal 4.0);
средства объектной ориентации, со всеми, присущими ей характеристиками -
наследованием, инкапсуляцией и полиморфизмом (Turbo Pascal 5.5);
поддержка механизмов RTTI (Run-Time Type Information), позволяющих получать
информацию о базовых характеристиках объектных типов (классов) и их
экземпляров (объектов) с помощью языковых средств, непосредственно
встроенных в системную библиотеку и структуру организации описаний классов
(Delphi 1.0 - Object Pascal);
Следствием введения поддержки RTTI стала возможность создания визуального
инструмента разработки приложений, каковым и является Delphi. На
определенном уровне иерархии наследования базовой библиотеки классов Delphi
появляется класс TPersistent, обеспечивающий необходимый уровень абстракции
потокового ввода/вывода объектов (экземпляров классов). Его наследником
выступает класс TComponent, определяющий основы поведения компонент Delphi
VCL (Visual Component Library) в режиме design-time (этап "конструирования"
приложения). На оконечных точках ветвей иерархии VCL находятся как таковые
компоненты - готовые к визуальному использованию классы, непосредственно
регистрируемые в рабочей библиотеке компонент и доступные из Палитры
Компонент (Components Palette) IDE Delphi.
Так как компоненты, используемые в разрабатываемой программе, написаны на том же языке, который используется при создании приложений, программист может достаточно легко создавать и регистрировать в Палитре свои компоненты, наследуя их от тех или иных представителей иерархии VCL или уже созданных программистом своих классов.
С другой стороны, механизмы регистрации и дальнейшего наследования уже
существующих стандартов динамического связывания (Windows DLL) и
компонентной архитектуры (VBX в Delphi 1.0 и OCX - в 32- разрядной версии
Delphi) позволяют использовать в Delphi доступные внешние инструменты
(например, компиляторы C++) и, созданные с их помощью, программные блоки.
Самодостаточность Delphi для расширения набора доступных компонент является первым признаком открытости архитектуры этого инструмента.
Редакторы свойств и редакторы компонент - поведение IDE
Логично, что при визуальном подходе к определению характеристик компонент
(работа в design- time), необходимы средства определения редакторов
специфических свойств в Инспекторе Объектов (Object Inspector).
Рис. 1
Особенно остро встает для разработчиков компонент вопрос создания и
использования редакторов свойств, когда свойства имеют сложный тип.
Например, свойство может предоставлять ссылку на достаточно сложную
структуру - запись или на строго определенных наследников одного из
стандартных или пользовательских классов (возможные ситуации: 1) класс
"множество данных" TDataSet - является предком и таблиц, и запросов, и
хранимых процедур; можно сформулировать такую задачу, когда в качестве
значения свойства в design-time должны выступать только запросы и таблицы, но, ни в коем случае - хранимые процедуры; 2) шрифт описывается рядом
характеристик, представляемых вложенными записями).
Delphi предоставляет разработчику ряд базовых классов, входящих в иерархию
VCL, которые предназначены для создания редакторов свойств.
Рис. 2
Стандартные редакторы свойств (более 20) являются наследниками базовых
редакторов и, вместе с последними, доступны программисту для
расширения/изменения функциональности, опять-таки, с использованием
механизмов наследования и полиморфизма. Регистрация редакторов свойств и
регистрации компонент аналогична регистрации самих компонент.
Рекомендуем скачать другие рефераты по теме: дипломная работа проект, защита диплома.
Категории:
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 11 | Следующая страница реферата