Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Консп лек Информатика профиль ФиК.doc
Скачиваний:
75
Добавлен:
24.11.2019
Размер:
3.65 Mб
Скачать

2. Сетевые бд

Сетевые БД лишены основного недостатка иерархических БД: все объекты здесь ото-бражаются равноправно.

К основным понятиям сетевой модели базы данных относятся: уровень, элемент (узел), связь.

Узел — это совокупность атрибутов данных, описывающих некоторый объект. На схеме иерархического дерева узлы представляются вершинами графа.

Недостатки: требуют значительных ресурсов машины, высокая сложность и жесткость схемы БД. В сетевой структуре каждый элемент может быть связан с любым другим элементом.

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

Также, поскольку логика процедуры выборки данных зависит от физической организации этих данных, то эта модель не является полностью независимой от приложения. Другими словами, если необходимо изменить структуру данных, то нужно изменить и приложение. Примеры сетевых СУБД : СООБЗ Cerebrum, CronosPRO, dbVista

3. Реляционные бд

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

Реляционная БД имеет уникальное имя по которому к ней можно обращаться. Боль-шинство современных БД для персональных ЭВМ являются реляционными. Достоинством Реляционной модели построения БД является простота, удобство реализации на ЭВМ, наличие теоретического обоснования и возможность формирования гибкой схемы БД, допускаю-щей настройку при формировании запросов. Реляционная модель данных используются в основном в БД среднего размера.

Реляционная модель ориентирована на организацию данных в виде двумерных таблиц. Каждая реляционная таблица представляет собой двумерный массив и обладает следующими свойствами:

• каждый элемент таблицы — один элемент данных

• все ячейки в столбце таблицы однородные, то есть все элементы в столбце имеют одинаковый тип (числовой, символьный и т. д.)

• каждый столбец имеет уникальное имя

• одинаковые строки в таблице отсутствуют

• порядок следования строк и столбцов может быть произвольным

Базовыми понятиями реляционных СУБД являются:

Отношение является важнейшим понятием и представляет собой двумерную таблицу, содержащую некоторые данные.

Отношение имеет простую графическую интерпретацию, оно может быть представле-но в виде таблицы, столбцы (поля, атрибуты) которой соответствуют вхождениям доменов в отношение, а строки (записи) — наборам из n значений, взятых из исходных доменов. Число строк (кортежей) n, называют кардиальным числом отношения, или мощностью отношения.

Такая таблица обладает рядом свойств:

1. В таблице нет двух одинаковых строк.

2. Таблица имеет столбцы, соответствующие атрибутам отношения.

3. Каждый атрибут в отношении имеет уникальное имя.

4. Порядок строк в таблице произвольный.

Сущность - есть объект любой природы, данные о котором хранятся в базе данных. Данные о сущности хранятся в отношении.

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

Строки отношения называются кортежами. В базах данных, кортежем называется группа взаимосвязанных элементов данных; В реляционных базах данных кортеж — это элемент отношения, строка таблицы; упорядоченный набор из N элементов.

4. Объектно-ориентированные БД – объединяют в себе две модели данных, реляцион-ную и сетевую для создании крупных БД со сложными структурами БД.

Объектно-ориентированная база данных — база данных, в которой данные оформлены в виде моделей объектов, включающих прикладные программы, которые управляются внешни-ми событиями. Результатом совмещения возможностей (особенностей) баз данных и возмож-ностей объектно-ориентированных языков программирования являются Объектно-ориентированные системы управления базами данных (ООСУБД). ООСУБД позволяет рабо-тать с объектами баз данных также, как с объектами в программировании на ООЯП. ООСУБД расширяет языки программирования, прозрачно вводя долговременные данные, управление параллелизмом, восстановление данных, ассоциированные запросы и другие возможности.

Некоторые объектно-ориентированные базы данных разработаны для плотного взаимодейст-вия с такими объектно-ориентированными языками программирования как Python, Java, C#, Visual Basic .NET, C++, Objective-C и Smalltalk; другие имеют свои собственные языки про-граммирования. ООСУБД используют точно такую же модель, что и объектно-ориентированные языки программирования.

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

В манифесте ООБД (Atkinson et al., 1989) предлагаются обязательные характеристики, кото-рым должна отвечать любая ООБД. Их выбор основан на 2 критериях: система должна быть объектно-ориентированной и представлять собой БД.

Три класса характеристик:

• Обязательные.

• Необязательные.

• Открытые — позволяют пользователю выбирать свойства.

СУБД

• Долговременное хранение

• Использование внешней памяти

• Параллелизм

• Восстановление

• Нерегламентированные запросы

Обязательные характеристики

1. Поддержка сложных объектов. В системе должна быть предусмотрена возможность создания составных объектов за счет применения конструкторов составных объектов. Необходимо, чтобы конструкторы объектов были ортогональны, то есть любой конст-руктор можно было применять к любому объекту.

2. Поддержка индивидуальности объектов. Все объекты должны иметь уникальный иден-тификатор, который не зависит от значений их атрибутов.

3. Поддержка инкапсуляции. Корректная инкапсуляция достигается за счет того, что про-граммисты обладают правом доступа только к спецификации интерфейса методов, а данные и реализация методов скрыты внутри объектов.

4. Поддержка типов и классов. Требуется, чтобы в ООБД поддерживалась хотя бы одна концепция различия между типами и классами. (Термин «тип» более соответствует понятию абстрактного типа данных. В языках программирования переменная объявляется с указанием ее типа. Компилятор может использовать эту информацию для проверки выполняемых с переменной операций на совместимость с ее типом, что позволяет га-рантировать корректность программного обеспечения. С другой стороны класс являет-ся неким шаблоном для создания объектов и предоставляет методы, которые могут применяться к этим объектам. Таким образом, понятие «класс» в большей степени от-носится ко времени исполнения, чем ко времени компиляции.)

5. Поддержка наследования типов и классов от их предков. Подтип, или подкласс, должен наследовать атрибуты и методы от его супертипа, или суперкласса, соответственно.

6. Перегрузка в сочетании с полным связыванием. Методы должны применяться к объек-там разных типов. Реализация метода должна зависеть от типа объектов, к которым данный метод применяется. Для обеспечения этой функциональности связывание имен методов в системе не должно выполняться до времени выполнения программы.

7. Вычислительная полнота. Язык манипулирования данными должен быть языком про-граммирования общего назначения.

8. Набор типов данных должен быть расширяемым. Пользователь должен иметь средства создания новых типов данных на основе набора предопределенных системных типов. Более того, между способами использования системных и пользовательских типов данных не должно быть никаких различий.

Необязательные характеритстики:

• Множественное наследование

• Проверка типов

• Распределение

• Проектные транзакции

Открытые характеристики

• Парадигмы программирования (процедурное, декларативное)

• Система представления

• Система типов

• Однородность. Реализация — язык программирования — интерфейс.