Разработка базы данных

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

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык русский
Дата добавления 30.05.2016
Размер файла 37,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

1. Понятие, классификация, производительность систем управления базами данных «СУБД»

В современной технологии баз данных предполагается, что создание базы данных, её поддержка и обеспечение доступа пользователей к ней осуществляются централизованно с помощью специального программного инструментария - системы управления базами данных (СУБД).

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

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

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

Сервисные средства позволяют при проектировании использовании БД привлечь к работе с БД другие системы. Например, воспользоваться данными из табличного процессора Exсel или обратиться к сетевому серверу.

Классифицировать СУБД можно, используя различные признаки классификации.

По степени универсальности различают СУБД общего и специального назначения. управление база архитектура

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

Однако в некоторых случаях доступные СУБД общего назначения не позволяют добиться требуемой производительности и/или удовлетворить заданные ограничения по объёму памяти, предоставляемой для хранения БД. Тогда приходится разрабатывать специализированную СУБД для данного конкретного применения. Примером специализированной СУБД может быть система IMBASE, используемая для автоматизации проектных и конструкторских разработок.

Важнейшим классификационным признаком СУБД является тип модели данных, поддерживаемый СУБД. По этому признаку СУБД делятся на:

· иерархические. Первой иерархической СУБД была система IMS (Information Management System) компании IBM, коммерческое распространение которой началось в 1968 г.;

· сетевые. Первой сетевой СУБД считается система IDS (Integrated Data Store), разработанная компанией General Electric немного позже системы IMS;

· реляционные. Первые коммерческие реляционные СУБД от компаний IBM, Oracle Corporation, Relation Technology Inc. и других поставщиков появились в начале 80-х годов. Реляционные СУБД просты в использовании, повышают производительность программистов при разработке прикладных программ, хорошо приспособлены для работы в архитектуре клиент/сервер, позволяют параллельную обработку БД, хорошо приспособлены к графическим пользовательским интерфейсам. Реляционные СУБД продолжают совершенствоваться, предоставляя пользователю возможность решать всё более сложные задачи;

· объектно-реляционные (постреляционные). Объектно-реляционные СУБД продолжают использовать стандартный язык запросов для реляционных БД - SQL, но с объектными расширениями;

· объектно-ориентированные. В основе объектно-ориентированных СУБД лежит объектно-ориентированная модель обработки данных.

· многомерные, в основе которых лежит многомерная модель данных.

На самом общем уровне все СУБД можно разделить на:

- профессиональные (промышленные), которые представляют собой программную основу для разработки автоматизированных систем управления крупными экономическими объектами. На их базе создаются комплексы управления и обработки информации крупных предприятий, банков или даже целых отраслей. В настоящее время характерными представителями профессиональных СУБД являются такие программные продукты: Oracle, DB2, Sybase, Informix, Inqres, Progress.

- персональные (настольные). Это программное обеспечение, ориентированное на решение задач локального пользователя или компактной группы пользователей и предназначенная для использования на персональном компьютере, это объясняет их второе название - настольные. К ним относятся DBASE, FoxBase, FoxPro, Clipper, Paradox, Access.

В настоящее время среди СУБД выделяют СУБД (условно говоря) промежуточные между профессиональными и персональными:SQL Windows/SQL Base, Interbase, Microsoft SQL Server.

Производительность СУБД оценивается:

· временем выполнения запросов;

· скоростью поиска информации в неиндексированных полях;

· временем выполнения операций импортирования базы данных из других форматов;

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

· максимальным числом параллельных обращений к данным в многопользовательском режиме;

· временем генерации отчета.

На производительность СУБД оказывают влияние два фактора:

· СУБД, которые следят за соблюдением целостности данных, несут дополнительную нагрузку, которую не испытывают другие программы;

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

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

2. Основные понятия баз данных. Цели использования баз данных

В широком смысле слова база данных (БД) - это совокупность сведений о конкретных объектах реального мира в какой-либо предметной области.

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

База данных (в узком смысле слова) -- поименованная совокупность структурированных данных относящихся к некоторой предметной области

В реальной деятельности в основном используют системы БД.

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

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

Однопользовательская система (single-user system) - это система, в которой в одно и то же время к БД может получить доступ не более одного пользователя.

Многопользовательская система (multi-user system) - это система, в которой в одно и то же время к БД может получить доступ несколько пользователей. Основная задача большинства многопользовательских систем - позволить каждому отдельному пользователю работать с системой как с однопользовательской.

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

Система баз данных содержит четыре основных элемента: данные, аппаратное обеспечение, программное обеспечение и пользователи.

Данные в БД являются интегрированными и общими.

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

· Общие - значит, отдельные области данных могут использовать различные пользователи, т.е. каждый из этих пользователей может иметь доступ к одной и той же области данных, даже одновременно. (Например, одни и те же данные БД о студентах может одновременно использовать студенческий отдел кадров и деканат.)

К аппаратному обеспечению относятся:

· Накопители для хранения информации вместе с подсоединенными устройствами ввода-вывода, каналами ввода-вывода и т.д.

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

Между собственно данными и пользователями располагается уровень программного обеспечения. Ядром его является система управления базами данных (database management system - DBMS), или диспетчер БД (database manager).

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

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

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

SQL - это специальные язык БД. Сейчас он поддерживается большинством СУБД, он является официальным стандартом языка для работы с реляционными системами. Название SQL вначале было аббревиатурой от Structured Query Language (язык структурированных запросов), сейчас название языка уже не считается аббревиатурой, т.к. функции его расширились и не ограничиваются только созданием запросов.

СУБД - это не единственный программный компонент системы, хотя и наиболее важный. Среди других - утилиты, средства разработки приложений, средства проектирования, генераторы отчетов и т.д.

Пользователей СБД можно разделить на три группы:

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

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

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

К основным функциям СУБД относятся:

· ведение системного каталога, доступного конечным пользователям

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

- имена, типы и размеры элементов данных;

- имена связей;

- накладываемые на данные ограничения поддержки целостности;

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

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

- статистические данные, например частота транзакций и счетчики обращений к объектам базы данных.

Наличие системного каталога позволяет:

- централизовано хранить информацию о данных, что обеспечивает контроль доступа к этим данным и любому другому ресурсу;

- легко обнаружить избыточность и противоречивость описания отдельных элементов данных;

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

- усилить меры обеспечения безопасности;

- выполнять аудит сохраняемой информации.

· поддержка транзакций

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

· поддержка параллельной работы

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

· восстановление базы данных после сбоев

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

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

Журнал - это особая часть БД, недоступная пользователям СУБД и поддерживаемая с особой тщательностью (иногда поддерживаются две копии журнала, располагаемые на разных физических дисках), в которую поступают записи обо всех изменениях основной части БД.

· контроль доступа к данным

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

· поддержка обмена данными

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

· поддержка целостности данных

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

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

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

· вспомогательные функции

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

На заре технологии БД было легко установить границу между СУБД и приложением: приложения были отдельными программами, которые вызывали СУБД. Сегодня, в особенности с появлением СУБД для ПК эта граница стала несколько размытой. Поэтому будем считать, что все формы, отчеты, меню, как и программный код, содержащийся в них, входят в приложение БД. Автономные программы, вызывающие СУБД, также являются частью приложения. Все структуры, правила и ограничения, касающиеся таблицы, а также определения связей относятся к ведению СУБД и входят в состав БД.

Приложения выполняют пять основных функций: 1. Создание, чтение, обновление и удаление представлений. 2. Форматирование представлений. 3. Реализация ограничений. 4. Обеспечение механизмов безопасности и контроля. 5. Реализация логики обработки информации.

3. Архитектура построения баз данных

СУБД имеют свою архитектуру. В процессе разработки и совершенствования СУБД предлагались различные архитектуры, но самой удачной оказалась трехуровневая архитектура, предложенная исследовательской группой ANSI/SPARC американского комитета по стандартизации ANSI (American National Standards Institute). Упрощенная схема архитектуры СУБД.

Архитектура ANSI/SPARC включает три уровня: внутренний, внешний и концептуальный. В общих чертах они представляют собой следующее.

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

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

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

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

Здесь отображено концептуальное представление простой базы данных о персонале, а также соответствующие ему внутреннее и два внешних представления (одно -- для пользователя, применяющего язык PL/I, а другое -- для пользователя, применяющего язык COBOL). Конечно, этот пример полностью гипотетичен и мало похож на реальные системы, поскольку в нем умышленно опущены многие не относящиеся к делу детали.

Рассматриваемый здесь пример нуждается в пояснениях.

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

На внутреннем уровне служащие представлены типом хранимой записи STORED_EMP, длина которой составляет 20 байт. Запись STORED_EMP содержит четыре хранимых поля: шестибайтовый префикс (возможно, содержащий управляющую информацию, такую как флаги или указатели) и три поля данных, соответствующие трем свойствам сущности, которая представляет служащего. Кроме того, записи STORED ЕМР индексированы по полю ЕМР# с помощью индекса ЕМРХ определение которого не показано.

Пользователь, применяющий язык PL/I, имеет дело с соответствующим внешним представлением базы данных. В нем каждый сотрудник представлен записью на языке PL/I, содержащей два поля (номера отделов не представляют интереса для данного пользователя, поэтому в представлении они опущены). Тип записи определен с помощью обычной структуры, соответствующей правилам языка PL/I.

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

Нужно обратить внимание, что в каждом случае соответствующие элементы данных могут меть различные имена. Например, к номеру сотрудника обращаются, как к полю EMPt в представлении для языка PL/I и как к полю EMPNO в представлении для языка COBOL. Этот же атрибут в концептуальном представлении имеет имя EMPLOYEE_NUMBER, а во внутреннем представлении-- имя ЕМР#. Конечно, системе должны быть известны все эти соответствия. Например, она должна знать, что поле EMPNO в представлении для языка COBOL образовано из концептуального поля EMPLOYEE NUMBER, которое, в свою очередь, отвечает хранимому полю ЕМР# во внутреннем представлении.

В данном случае не имеет особого значения, является ли рассматриваемая система реляционной или какой-нибудь иной.

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

У каждого пользователя есть свой язык общения.

· для прикладного программиста это либо один из распространенных языков программирования (например, PL/I, C или Java), либо специальный язык рассматриваемой системы. Такие оригинальные языки называют языками четвертого поколения на том (не вполне определенном!) основании, что машинный код, язык ассемблера и такие языки, как PL/I, можно считать языками трех первых "поколений", а оригинальные языки модернизированы по сравнению с языкам третьего поколения так же, как языки третьего поколения улучшены по сравнению с языком ассемблера.

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

Все эти языки включают подъязык данных, т.е. подмножество операторов всего языка, связанное только с объектами баз данных и операциями с ними. Иначе говоря, подъязык данных встроен в базовый язык, который дополнительно обеспечивает различные не связанные с базами данных возможности (такие, как локальные (временные) переменные, вычислительные операции, логические операции и т.д.). Система может поддерживать любое количество базовых языков и любое количество подъязыков данных. Однако существует один язык, который поддерживается практически всеми сегодняшними системами. Это язык SQL. Большинство систем позволяет использовать язык SQL и интерактивно, как самостоятельный язык запросов, и посредством внедрения его операторов в другие языки программирования, та кие как PL/I и Java.

Хотя с точки зрения архитектуры удобно различать подъязык данных и включающий его базовый язык, на практике они могут быть неразличимы настолько, насколько это имеет отношение к пользователю. Безусловно, с точки зрения пользователя предпочтительнее, чтобы они были неразличимы. Если они неразличимы или трудноразличимы, их называют сильно связанными. Если они ясно и легко различаются, говорят, что эти языки слабо связаны. В то время как некоторые коммерческие системы (особенно объектные системы) поддерживают сильную связь, большинство систем, в частности системы SQL, обычно поддерживают лишь слабую связь. Системы с сильной связью могли бы предоставить пользователю более унифицированный набор возможностей, но, очевидно, они требуют больше усилий со стороны системных проектировщиков и разработчиков, которые, вероятно, рассчитывают на сохранение статус-кво.

Любой подъязык данных является на самом деле комбинацией по крайней мере двух подчиненных языков -- языка определения данных (data definition language -- DDL), который поддерживает определения или объявления объектов базы данных, и языка обработки данных (data manipulation language -- DML), который поддерживает операции с такими объектами или их обработку. Например, рассмотрим пользователя языка PL/I. Подъязык данных этого пользователя включает определенные средства языка PL/I, применяемые для организации взаимодействия с СУБД.

Язык определения данных включает некоторые описательные структуры языка PL/I, необходимые для объявления объектов базы данных. Это сам оператор DECLARE (DCL), определенные типы данных языка PL/I, а также возможные специальные дополнения для языка PL/I, предназначенные для поддержки новых объектов, которые не поддерживаются существующей версией языка PL/I.

Язык обработки данных состоит из тех выполняемых операторов языка PL/I, которые передают информацию в базу данных и из нее; опять же, возможно, включая новые специальные операторы.

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

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

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

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

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

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

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

Третьим уровнем архитектуры является внутренний уровень.

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

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

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

4. Структура и процесс функционирования системы управления базами данных

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

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

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

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

В структуре СУБД в современном представлении выделяют следующие функциональные блоки.

· процессор описания и поддержания структуры Базы данных

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

· процессор запросов к Базе данных

Процессор интерпретирует сформированные запросы в терминах языка манипулирования данными и совместно с процессором описания и поддержания структуры Базы данных исполняет запросы.

· интерфейс ввода данных СУБД

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

· интерфейс запросов

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

· мониторинг транзакций

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

· интерфейс выдачи сведений

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

· генератор отчетов

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

Основные компоненты СУБД представлены: а) средствами представления данных в Базе данных; б) средствами манипулирования данными; в) интерфейсами пользователей; г) интерфейсами администратора Базы данных; д) интерфейсами коммуникаций.

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

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

· концептуальный уровень, средства концептуального уровня отображают данные физического уровня с определенной абстракцией; уровень определяет модель представления данных в Базе данных;

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

Из вышесказанного следует, что структура СУБД представляет собой совокупность инструментальной среды создания и использования Баз данных в рамках определенной модели данных и языка СУБД (языка описания данных, манипулирования данными и средств создания интерфейса).

Организация типичной СУБД и состав ее компонентов соответствуют вышеуказанному набору функций. Например, в современной реляционной СУБД логически можно выделить внутреннюю часть - ядро СУБД (Data Base Engine), компилятор языка Базы данных, подсистему поддержки времени выполнения, набор утилит. В некоторых системах эти части выделяются явно, в других - нет, но логически такое разделение можно провести во всех СУБД.

Ядро СУБД отвечает за управление данными во внешней памяти, управление буферами оперативной памяти, управление транзакциями и журнализацию. Соответственно можно выделить следующие компоненты ядра: менеджер данных, менеджер буферов, менеджер транзакций и менеджер журнала. Функции этих компонентов взаимосвязаны, и для обеспечения корректной работы СУБД все эти компоненты должны взаимодействовать по тщательно продуманным и проверенным протоколам.

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

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

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

Структура СУБД является эффективной, если она обеспечивает:

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

· многообразие допустимых способов использования СУБД, включая программируемые транзакции, диалоговые транзакции и генерацию отчетов;

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

· возможность параллельной работы с одной Базой данных многих пользователей с допущением параллельной модификации объектов Базы Данных при наличии необходимых средств защиты целостности;

· восстановление согласованного состояния Баз данных после сбоев аппаратуры или программного обеспечения;

· определение различных представлений хранимых данных, и ограничение этими представлениями доступа пользователей к Базе данных по выборке и модификации на основе механизма авторизации;

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

Очень важными компонентами СУБД являются система управления реляционной памятью (Relational Storage System, RSS) и компилятор запросов языка SQL. RSS обеспечивает интерфейс низкого уровня для доступа к данным, хранимым в Базе данных, синхронизацию транзакций, журнализацию изменений и восстановление Баз данных после сбоев.

Компилятор запросов использует интерфейс RSS для доступа к справочной информации (каталогам отношений, индексов, прав доступа, условий целостности, условных воздействий и т. д.) и производит рабочие программы, выполняемые в дальнейшем с использованием интерфейса RSS. Таким образом, система разделяется на два уровня - уровень управления памятью и синхронизацией, не зависящий от базового языка запросов системы, и языковой уровень (уровень SQL), на котором решается большинство задач СУБД.

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

1. Система «Галактика».

Предназначена для полной автоматизации управления в корпорациях со сложной структурой, финансово-промыш ленных группах, на отдельных промышленных и торговых предприятиях. Система осуществляет информационное обеспечение руководителей различных уровней и категорий - от высшего менеджмента до руководителей подразделений, служб и участков. Для крупных компаний, имеющих филиалы и территориально-удаленные подразделения, реализована возможность оперативного удаленного доступа и информационного обмена. Специфика конкретного предприятия учитывается с помощью 300 параметров настройки. Структура системы позволяет вести параллельный многоплановый учет в нескольких стандартах. Обладая средствами экономического анализа, система позволяет построить схему налогообложения и определить структуру платежей, чтобы избежать налоговых переплат и штрафов. «Галактика» - это решение для крупных и средних предприятий, комплексно в едином информационном пространстве обеспечивающее поддержку всех задач управления, включая следующие задачи:

· календарно-сетевое планирование;

· финансовое планирование;

· материально-техническое снабжение и сбыт (управление закупками и продажами);

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

· управление персоналом;

· бухгалтерский учет;

· анализ производственно-хозяйственной и финансовой деятельности предприятия;

· анализ и планирование маркетинговых мероприятий.

Поставленные задачи позволила решить интегрированная инструментальная среда моделирования, анализа, оптимизации и документирования бизнес-процедур ARIS Toolset - продукт, выпускаемый компанией IDS PROF.SCHEER GmbH (ФРГ), партнером которой в России является компания Весть-Метатехнология. Средства ARIS Toolset позволили производить анализ, оптимизацию и документирование рабочих процедур и процессов, структур данных и организационных структур, как в целостном, так и в детализированном виде.

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

В их число входит система «Триумф», предназначенная для автоматизации предприятий розничной торговли различных размеров и различной специализации, а также ряд информационных систем «ПАРУС».

Система «Триумф» поддерживает широкий спектр торгового оборудования и гибко интегрирована с бухгалтерскими и аналитическими системами корпорации. Для работы с документами реализована трехуровневая архитектура в технологии файл-сервер - бизнес-объект, бизнес-логика, представление, а так же интеграция с MFC-архитектурой Документ - Представление. Система «Триумф» построена на основе СУБД Raima DataBase Manager. Архитектура системы OOD/OOP (Object Oriented Design & Object Oriented Programming):

· Raima Object Manager - объектно-ориентированная надстройка над RDM;

· объектно-ориентированные инструментальные классы (TDataObj, TGroupLock, TRegister);

· применение современных технологий проектирования (UML).

Система «ПАРУС 7.11» предназначена для малых и средних хозрасчетных предприятий различной отраслевой принадлежности (торговля, сфера услуг, реклама и СМИ, общественное питание, туризм, иностранные компании и др.). Это простая, удобная система, позволяющая автоматизировать бухгалтерский учет, основные торговые процессы и складской учет. Используемые технические средства - СУБД и средство разработки - Visua FoxPro.

Система «ПАРУС 8.1» (управление предприятием) предназначена для полной информационной поддержки классической модели управления предприятием. Используемые технические средства: СУБД - Oracle, среда разработки - Delphi. Программный комплекс обеспечивает автоматизацию четырех основных бизнес-направлений финансово-хозяйственной деятельности предприятия: управление финансами, логистика, управление производством и управление персоналом.

Управление финансами включает следующие модули: текущее и долгосрочное финансовое планирование; оперативное планирование и управление платежами; контроль за возникновением и погашением обязательств; оперативный учет выполнения планов; анализ выполнения финансовых планов. Логистика обеспечивает учет товаров по партиям с точностью до модификаций и упаковок. В ее состав входят следующие модули: закупка; склад; реализация; розничная торговля.

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

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

3. Программные продукты фирм: «1С», «ДИЦ», «Интеллек-Сервис», «Инфософт» (предназначенны для автоматизации деятельности предприятия).

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

Список использованной литературы

1. Проектирование баз данных. СУБД Microsoft Access: Учебное пособие для вузов / Н. Н. Гринченко, Е. В. Гусев, Н. П. Макаров, А. Н. Пылькин, Н. И. Цуканова. - М.: Горячая линия-Телеком, 2004. -240с.

2. Дейт, К., Дж. Введение в системы баз данных, 7-е издание. : Пер. с англ. -- М. : Издательский дом "Вильяме", 2001. -- 1072 с.

3. Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. Базы данных: Учебник для высших учебных заведений / Под ред. проф. А.Д. Хомоненко. - СПб.: КОРОНА принт, 2000. - 416 с.

4. Малыхина М.П. Базы данных: основы, проектирование, использование. Спб.: BHV, 2006.

5. Глушаков С.В., Ломотько Д.В. «Базы данных», изд. «Фолио», Харьков, 2000г.

6. Карпова Т.С. Базы данных: модели, разработки, реализация. Спб.: Питер, 2001.303с.

7. Змитрович, А. И. Базы данных и знаний: учеб. пособие для студ. учреждений, обеспечивающих получение высш. образования по спец. управления / А. И. Змитрович, В. В. Апанасович, В. В. Скакун. - Минск: Издательский центр БГУ, 2007

8. Информатика: Базовый курс / под редакцией С. В. Симоновича - СПб.: Питер, 2003.

9. http://citforum.ru/database/dblearn/index.shtml - «Введение в системы управления базами данных» Пушников А.Ю.

10. http://citforum.ru/database/osbd/contents.shtml - «Основы современных баз данных» Кузнецов С.Д.

Размещено на Allbest.ru


Подобные документы

  • Основные понятия базы данных и систем управления базами данных. Типы данных, с которыми работают базы Microsoft Access. Классификация СУБД и их основные характеристики. Постреляционные базы данных. Тенденции в мире современных информационных систем.

    курсовая работа [46,7 K], добавлен 28.01.2014

  • Система управления базами данных как составная часть автоматизированного банка данных. Структура и функции системы управления базами данных. Классификация СУБД по способу доступа к базе данных. Язык SQL в системах управления базами данных, СУБД Microsoft.

    реферат [46,4 K], добавлен 01.11.2009

  • Исследование характеристик и функциональных возможностей системы управления базами данных Microsoft Office Access. Определение основных классов объектов. Разработка базы данных "Делопроизводство". Создание таблиц, форм, запросов, отчетов и схем данных.

    реферат [1,3 M], добавлен 05.12.2014

  • Системы управления базами данных в медицине. Основные идеи, которые лежат в основе концепции базы данных. Требования, предъявляемые к базам данных и системе управления базами данных. Архитектура информационной системы, организованной с помощью базы данных

    реферат [122,5 K], добавлен 11.01.2010

  • Особенности управления информацией в экономике. Понятие и функции системы управления базами данных, использование стандартного реляционного языка запросов. Средства организации баз данных и работа с ними. Системы управления базами данных в экономике.

    контрольная работа [19,9 K], добавлен 16.11.2010

  • Базы данных как составная часть информационных систем. Изучение взаимосвязи понятий информация и данные. Система управления базами данных. Пример структурированных данных. Обеспечение логической независимости. Безопасность операционной системы.

    контрольная работа [44,6 K], добавлен 15.06.2009

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

    реферат [118,3 K], добавлен 29.11.2010

  • Характеристика категорий современных баз данных. Исследование особенностей централизованных и распределенных баз данных. Классификация систем управления базами данных по видам программ и применению. Управление буферами оперативной памяти и транзакциями.

    курсовая работа [45,2 K], добавлен 10.03.2016

  • Хранение и обработка данных. Компоненты системы баз данных. Физическая структура данных. Создание таблиц в MS Access. Загрузка данных, запросы к базе данных. Разработка информационной системы с применением системы управления базами данных MS Access.

    курсовая работа [694,0 K], добавлен 17.12.2016

  • Алгоритмы обработки массивов данных. Система управления базами данных. Реляционная модель данных. Представление информации в виде таблицы. Система управления базами данных реляционного типа. Графический многооконный интерфейс.

    контрольная работа [2,8 M], добавлен 07.01.2007

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.