БД и СУБД. Классификация и архитектура

Территория рекламы

23.БД и СУБД. Классифик. и архитектура

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

Логическую структуру данных, хранимых в базе, называют моделью представления данных. К основным моделям представления данных (моделям данных) относятся иерархическая, сетевая, реляционная.

Система управления базами данных (СУБД) — это комплекс языковых и программных средств, предназначенный для создания, ведения и совместного использования БД многими пользователями. Обычно СУБД различают по используемой модели данных. Так, СУБД, основанные на использовании реляционной модели данных, называют реляционными СУБД.

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

Основные функции СУБД

управление данными во внешней памяти (на дисках);

управление данными в оперативной памяти с использованием дискового кэша;

журнализация изменений, резервное копирование и восстановление базы данных после сбоев;

поддержка языков БД (язык определения данных, язык манипулирования данными).

Обычно современная СУБД содержит следующие компоненты:

ядро, которое отвечает за управление данными во внешней и оперативной памяти, и журнализацию,

процессор языка базы данных, обеспечивающий оптимизацию запросов на извлечение и изменение данных и создание, как правило, машинно-независимого исполняемого внутреннего кода,

подсистему поддержки времени исполнения, которая интерпретирует программы манипуляции данными, создающие пользовательский интерфейс с СУБД

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

Классификация (БД)

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

Основные классификации.

По модели данных:

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

К основным понятиям сетевой модели базы данных относятся: уровень, элемент (узел), связь. Узел — это совокупность атрибутов данных, описывающих некоторый объект. На схеме иерархического дерева узлы представляются вершинами графа.В сетевой структуре каждый элемент может быть связан с любым другим элементом. Сетевые базы данных подобны иерархическим, за исключением того, что в них имеются указатели в обоих направлениях, которые соединяют родственную информацию. Модель решает некоторые проблемы, связанные с иерархической моделью, выполнение простых запросов остается достаточно сложным процессом. Также, поскольку логика процедуры выборки данных зависит от физической организации этих данных, то эта модель не является полностью независимой от приложения,если необходимо изменить структуру данных, то нужно изменить и приложение.

Реляционная база данных — база данных, основанная на реляционной модели данных. Термин «реляционный» означает, что теория основана на математическом понятии отношение, таблица. «Таблица» есть понятие нестрогое и неформальное и часто означает не «отношение» как абстрактное понятие, а визуальное представление отношения на бумаге или экране. Наиболее частая ошибка состоит в рассуждениях о том, что РМД имеет дело с «плоскими», или «двумерными» таблицами, тогда как таковыми могут быть только визуальные представления таблиц. Отношения же являются абстракциями, и не могут быть ни «плоскими», ни «неплоскими». Дальнейшим развитием реляционной базы данных является создание объектно-ориентированной базы данных и переход в работе на технологию клиент-сервер.

Система клиент-сервер - это локальная сеть, состоящая из клиентов-компьютеров, которую обслуживает компьютер-сервер.

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

Клиент - обрабатывает информацию.

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

Так же к основным моделям данным относятся: Многомерные, Объектные, Объектно-реляционные и т.д.

По технологии хранения:

База Данных во вторичной памяти (традиционные)

База Данных в оперативной памяти (in-memory databases)

База Данных в третичной памяти (tertiary databases)

По содержимому:

Географические, исторические, научные, мультимедийные и т. д.

По степени распределённости:

Централизованные (сосредоточенные)

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

Существует разнообразные архитектуры.

1. Однобазовая архитектура – применяется в больших СУБД (Oracle и т.д.). преимущество такой БД – управление и контролирование БД происходит с одного сервера. Недостаток в том, что с течением времени, БД становится все больше и больше. Усложняются проблемы с резервным копированием и т.д.

2. Многобазовая архитектура – основное преимущество такой архитектуры в том, что упрощается проектирование. Для каждого приложения можно фактически создать свою базу данных. СУБД как программное обеспечение может управлять большим набором баз данных – InterBase, SQL-server – десятки тысяч СУБД могут поддерживаться одним сервером, а баз как файлов м.б. много – главное, чтобы сервер их видел. Недостатком таких СУБД является то, что при записи данных организаций в разные БД, считать данные из них представляет проблему.

3. Каталоговая архитектура – Desktop’овские СУБД. Базой данных является отдельный каталог: таблицы – отдельный файл, индекс – отдельный файл. Все расположено в отдельном каталоге, которых может быть много. Есть интересные решения в MS Access в одном файле таблицы, индексы, запросы находятся в одном файле. Есть свои плюсы и минусы. Трудно настраивать ПО постороннему – он должен сидеть в этой БД. Не каждая организация даст копию своей базы данных.

Среди СУБД общего назначения наиболее известными являются:

- Microsoft Access;

- Microsoft Visual FoxPro;

- Paradox;

- IBM DB2 Universal Database;

- Microsoft SQL Server;

- Oracle.

24. Разработка приложений для БД.

Технология ADO в Delphi

Компоненты для работы с  HYPERLINK "http://delphicomponent.ru/" \t "_blank" \o "Microsoft" Microsoft  ActiveX Data Objects (ADO) впервые появились в среде  HYPERLINK "http://delphicomponent.ru/" \t "_blank" \o "Delphi" Delphi версии 5. ADO — это технология стандартного обращения к реляционным структурам данных от  HYPERLINK "http://delphicomponent.ru/" \t "_blank" \o "Microsoft" Microsoft. В основе архитектуры ADO лежит объектная модель компонентов COM ( HYPERLINK "http://delphicomponent.ru/" \t "_blank" \o "Component" Component Object Model). Все объекты и интерфейсы ADO представляют собой интерфейсы и объекты СОМ. Модель СОМ является базовой для технологий ActiveX и OLE. Проиллюстрировать это отношение можно на примере объекта TObject, как базового объекта для VC L  HYPERLINK "http://delphicomponent.ru/" \t "_blank" \o "Delphi" Delphi.

Технология СОМ работаете так называемыми СОМ-обьектами. Во многом СОМ-объекты похожи на обычные объекты визуальной библиотеки компонентов  HYPERLINK "http://delphicomponent.ru/" \t "_blank" \o "Delphi" Delphi. 

Но, в отличие от последних, СОМ-объекты не содержат поля, в них находятся лишь свойства и методы, а также интерфейсы.

Интерфейсы — это группы логически или семантически связанных процедур, которые обеспечивают связь между поставщиком услуги (сервером) и его клиентом. Названия интерфейсов начинаются с буквы I.

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

Технология СОМ реализуется с помощью СОМ-библиотек (такие файлы операционной системы, как OLE32.DLL и OLEAUT32.DLL). СОМ-библиотеки содержат набор стандартных интерфейсов, которые отвечают за функциональность СОМ-объекта, а также небольшой набор функций API, обеспечивающих создание СОМ-объектов и управление ими.

В  HYPERLINK "http://delphicomponent.ru/" \t "_blank" \o "Delphi" Delphi воплощение и поддержка технологии СОМ называется Delphi ActiveX framework, DAX. Реализация DAX описана в модуле AxCtrls.

Перечислим основные интерфейсы ADO и кратко поясним их назначение:

интерфейс IConnection выполняет следующие функции: осуществляет связь с сервером;управляет транзакциями; получает информацию о произошедших ошибках (свойство Errors); получает информацию о схеме данных (таблицы, поля и т. д.);

интерфейс IRecordset (на нижнем уровне ADO это IRowset) является аналогом TDataSet в  HYPERLINK "http://delphicomponent.ru/" \t "_blank" \o "Delphi" Delphi и поддерживает текущее положение и перемещение курсора, закладки (Bookmarks), чтение, изменение и удаление записей и т. п.;

интерфейс IReld позволяет получать значение поля, его тип, длину и другие сведения о поле данных;

интерфейсы ICommand и IParameter обеспечивают работу с командами источника данных. Синтаксис команд для каждого из источников свой собственный;

интерфейс IProperty позволяет получать и устанавливать параметры, специфические для провайдера данных. 

Для работы с механизмом ADO в  HYPERLINK "http://delphicomponent.ru/" \t "_blank" \o "Delphi" Delphi 7 предназначены семь стандартных компонентов, расположенных на закладке ADO палитры компонентов.

Первый компонент называется ADOConnection. Функционально он аналогичен компоненту Database закладки BDE. С помощью компонента ADOConnection можно указывать местоположение базы данных и работать с транзакциями. Рассмотрим основные свойства компонента ADOConnection, отображаемые в окне инспектора объектов (табл. 12.1).

Следующий компонент закладки ADO называется ADOCommand. Он предназначен для выполнения SQL-команды без возврата результирующего набора данных. Основные свойства этого компонента представлены в табл. 12.2.

Третий компонент закладки ADO носит имя ADODataSet Его назначение — получение набора данных из одной или нескольких таблиц базы данных. Кроме того, он также позволяет работать с возвращенным набором данных визуальным компонентам, предназначенным для отображения данных. Это наиболее общий компонент для работы с набором данных, который может использоваться вместо компонентов ADOTable, ADOQuery или ADOStoredProc. В таблице 12.3 приведены основные свойства указанного компонента. 

 Следующий компонент закладки ADO называется ADOTable. Он является аналогом компонента Table, расположенного на закладке BDE, и предназначен для доступа к таблице с помощью механизма ADO. Компонент ADOTable имеет свойства, которые мы уже рассматривали ранее в компонентах Table и ADODataSet, поэтому мы не будем возвращаться к ним еще раз.

Компонент ADOQuery представляет собой запрос к базе данных. Это может быть как запрос, в результате которого возвращаются данные из базы (например, SELECT), так и запрос, не формирующий результирующего набора данных (например, INSERT). Компонент аналогичен компоненту Query из BDE. Все основные его свойства мы уже рассматривали в описании свойств компонентов Query н ADODataSet

Компонент ADOStoredProc предназначен для вызова процедуры, хранимой на сервере базы данных. В отличие от BDE и InterBase хранимые процедуры в ADO могут возвращать набор данных, поэтому компонент такого типа является потомком DataSet и может выступать источником данных в компонентах типа DataSource. 

значение coAsyncFetch.

После исполнения команды происходит передача данных. В процессе передачи многократно вызывается обработчик сообщения OnFetchProgress. В его параметрах указывается как количество уже переданных записей, так и общее количество предназначенных для передачи записей. Это очень удобно для создания индикаторов типа ProgressBar. После того как выборка с сервера закончена, вызывается обработчик события OnFetchCompiete.

Последний компонент закладки ADO называется RDSConnection. Этот компонент управляет маршалингом данных (маршалингом данных называется механизм, который позволяет клиенту получать доступ к объектам, расположенным в другом адресном пространстве или на другом компьютере), когда набор записей переносится из одного компьютера на другой.

  Все события в ADO условно разделим на несколько групп: события соединения, события транзакции, события выполнения команд. События соединения:

OnWillConnect — вызывается перед установкой соединения;

OnConnectComplete — вызывается после установки соединения;

OnDisconnect — активируется при разрыве соединения. Эти события инкапсулированы в компоненте ADOConnection. События транзакции:

OnBeginTransComplete — происходят при выполнении BeginTrans;

OnCommitTransComplete — происходят при выполнении CommitTrans;

OnRollbackTransComplete — вызываются при выполнении RollbackTrans.

События данной группы инкапсулированы в компоненте ADOConnection. События выполнения команд OnWillExecute и OnExecuteComplete вызываются перед выполнением команды и после него соответственно.

Эти события «зашиты» в компоненте ADOConnection, а не в ADOCommand, как можно было бы предположить. Указанная «странность» связана с тем, что в ADO объекта команды как такового нет, и по этой причине он не может получать сообщения.

В компонент ADOConnection также встроено событие OnlnfoMessage, которое вызывается по факту прихода с сервера дополнительной информации. Формат и назначение зависят от сервера, с которым вы работаете.

В ADO есть и события, связанные с набором данных, а не с соединением, как вышеописанные. Они инкапсулированы в компоненты, представляющие наборы данных: ADODataSet, ADOTable, ADOQuery и ADOStoredProc.

Эти события можно условно разбить на три группы.

События выборки данных.

 OnFetchProgress — многократно вызывается в процессе выборки данных;

 OnFetchComplete — завершение выборки.

Уведомления об изменении положения текущей записи в наборе:

OnWillMove — вызывается до изменения положения текущей записи. Позволяет отменить действие;

OnMoveComplete — вызывается после изменения положения текущей записи;

OnEndOfRecordset — генерируется при достижении конца набора данных. Позволяет добавить новую запись.

Уведомления об изменении набора данных.

OnWillChangeField, OnFieldChangeComplete — вызываются до и после изменения текущей записи набора;

OnWillChangeRecord, OnRecordChangeComplete — вызываются до и после изменения, добавления, удаления строки набора и при отмене этих действий;

OnWillChangeRecordset, OnRecordsetChangeComplete — вызываются до и после открытия, закрытия, повторного запроса и синхронизации набора данных.

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

В ADO есть возможность, не имеющая аналогов ни в BDE, ни в InterBase. Это асинхронное выполнение операций с сервером. Асинхронно могут выполняться:

установка соединения с сервером (Connection);выполнение команды (Execute);

выборка данных (Fetch). 

Надо заметить, что многие компоненты ADO при активизации или выполнении отрабатывают команду на языке SQL. Это такие компоненты, как ADOCommand, ADODataSet, ADOTable, ADOQuery и ADOStoredProc.

Асинхронная выборка данных поддерживается в компонентах ADODataSet, ADOTable, ADOQuery и ADOStoredProc. Для ее включения установите в свойстве ExecuteOptions

← Предыдущая
Страница 1
Следующая →

Скачать

шпора 23,24.docx

шпора 23,24.docx
Размер: 38.7 Кб

Бесплатно Скачать

Пожаловаться на материал

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

У нас самая большая информационная база в рунете, поэтому Вы всегда можете найти походите запросы

Искать ещё по теме...

Похожие материалы:

Визначення розмірів екологічних збитків від забруднення атмосфери

Практична робота Мета роботи: Розраховувати економічні збитки від забруднення атмосфери. Основні поняття: Економічні збитки, штрафні платежі, питомі збитки, ГДК.

Диагностика подростковой креативности

Реферат. Подростковый возраст Креативность Диагностика подростковой креативности

История анатомии

Н.И.Пирогов и сущность его открытий в анатомии человека; методы, предложенные им для изучения топографии органов, их значение для анатомии и практической медицины. П.Ф.Лесгафт как представитель функционального направления в анатомии и значение его работ для теории предмета и развития физического воспитания. Отечественная анатомия в 20 столетии. Анатомия опорно двигательного аппарата. Кость как орган ее развитие, строение, рост. Классификация костей.

Вопросы к экзамену по дисциплине «Организация гостиничного обслуживания»

Методичні вказівки до виконання курсової роботи з дисципліни „Економіка підприємства”

Методичні вказівки до виконання курсової роботи з дисципліни „Економіка підприємства” для студентів напряму підготовки 6.030509 „Облік і аудит” в т.ч. зі скороченим терміном навчання

Сохранить?

Пропустить...

Введите код

Ok