1626434760-4c9f92f9ed5188f8fc024fed893742bb (844133), страница 10
Текст из файла (страница 10)
Оно далоразвитие информационным системам (далее – ИС).Классическими примерами ИС являются банковские системы,системы резервирования билетов, библиотечные системы и т.п.Появление магнитных дисков, способных хранить большие объемыинформации, потребовало создания систем управления данными вовнешней памяти. Так появились системы управления файлами(далее – СУФ), или файловые системы.С точки зрения прикладной программы файл – это именованнаяобласть внешней памяти, в которую можно записывать и изкоторой можно считывать данные.2БАЗЫ ДАННЫХ И СУБДПравила именования файлов, способ доступа к данным в файле иих структура зависят от конкретной системы управления файлами.СУФ берет на себя распределение внешней памяти, отображениеимен файлов в соответствующие адреса во внешней памяти иобеспечение доступа к данным.Файловая система обычно имеет древовидную структуру –каталоги располагаются в узлах дерева, а сами файлы являются еголистьями.Обмен данными между программой и файлами идет через буфероперативной памяти, размер которого определяется либосистемой, либо программистом.3БАЗЫ ДАННЫХ И СУБДПочему файловых систем недостаточно для эффективнойобработки информации?В файловой системе хранятся следующие виды файлов:• текстовые (документы, программы); обрабатываются текстовымиредакторами; их структура очень проста – последовательностьстрок или байтов (символов);• объектные и исполняемые файлы, которые также имеютпростую структуру.Таким образом, файловые системы обеспечивают хранениеслабоструктурированной информации, оставляя дальнейшуюструктуризацию прикладным программам.Сами файлы часто изменяются, удаляются, создаются заново.4БАЗЫ ДАННЫХ И СУБДИнформационные системы, главным образом, ориентированы нахранение, выбор и модификацию постоянно хранимойинформации.Эта информация обычно имеет довольно сложную структуру.С другой стороны, во всех ИС, как бы они ни отличались одна отдругой, решаются одни и те же проблемы, связанные сорганизацией и хранением данных.Стремление выделить и обобщить общую часть ИС, ответственнуюза управление сложно структурированными данными, привело ксозданию СУБД – систем управления базами данных.5БАЗЫ ДАННЫХ И СУБДСистема управления данными является СУБД, если она• поддерживает логически согласованный набор файлов;• предоставляет язык манипулирования данными;• обеспечивает восстановление информации после сбоев;• обеспечивает параллельную работу нескольких пользователей.6Понятие БАЗЫ ДАННЫХНеформально, база данных (БД) – это большое по объемухранилище данных, в которое можно добавлять и из которогоможно извлекать данные.Более строгое определение БД дается Дж.
Мартином в книге«Мартин Дж. Организация баз данных в вычислительныхсистемах. М: Мир, 1978».База данных – это совокупность взаимосвязанных хранящихсявместе данных при наличии такой минимальной избыточности,которая допускает их эффективное использование для одного илинескольких приложений (задач);данные запоминаются так, чтобы они были независимы отпрограмм, использующих эти данные;для добавления новых и модификации существующих данных, атакже для поиска данных применяется общий управляемый способ.7Понятие БАЗЫ ДАННЫХБазу данных иногда определяют как неизбыточную совокупностьэлементов данных.Однако на практике во многих базах данных избыточностьприсутствует.В этом случае говорят об управляемой или минимальнойизбыточности.
Она нужна для• уменьшения времени доступа к данным или упрощения способовадресации;• обеспечения возможности восстановления данных при ихслучайной потере.8Понятие БАЗЫ ДАННЫХПод независимостью данных от программ и наоборот, программот данных, подразумевается, что изменение одних не приводит кизменению других.В действительности можно говорить только об относительнойнезависимости данных, т.е. небольшие изменения одних неприводят к изменению других.Важным моментом в БД является понятие целостности данных.Если БД содержит данные, используемые различнымипользователями, очень важно, чтобы элементы данных и связимежду ними не разрушались.Вычислительная система должна гарантировать целостностьхранимых в ней данных, т.е.
связей между данными икорректность самих данных.9Понятие БАЗЫ ДАННЫХЕсть два способа поддержания целостности данных:1) аппаратный или системный, т.е. защита от разрушения присбоях и некорректном доступе;2) программный, т.е. задание ограничений целостности.Второй способ (программный) предполагает проверку соответствиязначений данных некоторым критериям.Например: находятся ли значения данных в определенномдиапазоне (возраст, год рождения, зарплата) или удовлетворяют лизначения некоторых элементов данных какому-либо отношению,уравнению, функции, другим ограничениям (фамилии, например,должны состоять только из букв и начинаться с большой буквы).10Основные функции СУБДОсновными функциями СУБД являются:1) управление данными во внешней памяти;2) управление буферами оперативной памяти;3) управление транзакциями;4) журнализация и восстановление базы данных после сбоев;5) поддержка языков баз данных.11Основные функции СУБД1.
Управление данными во внешней памяти.Заключается в обеспечении необходимых структур внешней памятикак для хранения данных, непосредственно входящих в базуданных, так и для служебных целей.(Как это делается, пользователь не должен знать, так как все заботыберет на себя СУБД.)2.
Управление буферами оперативной памяти.Обмен данными между центральным процессором и внешнимиустройствами остается все еще довольно медленным.Для увеличения скорости этого обмена используется буферизацияданных в оперативной памяти (далее – ОП).Обычно той буферизации, которую дает операционная система,недостаточно и СУБД имеют и поддерживают собственный наборбуферов ОП с собственной дисциплиной их замены.12Основные функции СУБД3. Управление транзакциями.Транзакция – это последовательность операций над БД,рассматриваемая СУБД как единое целое.Понятие транзакции необходимо для поддержания логическойцелостности базы данных. Каждая транзакция начинается прицелостном состоянии БД и оставляет это состояние целостнымпосле своего завершения.Если транзакция успешно выполняется, то новое состояние БДфиксируется во внешней памяти, иначе ни одно из измененийникак не отразится в состоянии БД.Транзакция может рассматриваться как минимальная единицаактивности пользователя по отношению к СУБД.
Это понятиеочень важно в многопользовательских СУБД, когда с БДпараллельно работает несколько человек. В этом случаерассматривают серии или смеси транзакций.13Основные функции СУБД4. Журнализация и восстановление базы данных после сбоев.Одним из основных требований к СУБД является надежноехранение данных во внешней памяти.Надежность СУБД – это способность восстановить последнеецелостное состояние базы данных после любого аппаратного илипрограммного сбоя.Аппаратные сбои бывают мягкие (внезапное выключение илиостановка компьютера) и жесткие (потеря информации наносителях внешней памяти).Программный сбой – это аварийное завершение работы СУБД илиприкладной программы.
Программный сбой эквивалентен мягкомуаппаратному сбою.14Основные функции СУБДДля восстановления БД нужно хранить избыточную информацию,причем та информация, которая используется для восстановления,должна храниться особенно надежно. Наиболее распространеннымспособом поддержания такой избыточности информации являетсяведение журнала изменений БД.Журнал – это особая часть базы данных, не доступнаяпользователям СУБД и поддерживаемая с особой тщательностью, вкоторую поступают записи обо всех изменениях основной частиБД.Кроме того, в «серьезных» СУБД ведется полная архивная копиябазы данных.Журнал и архивная копия используются для восстановления БДпосле жесткого сбоя.При мягких сбоях достаточно одного журнала изменений БД.15Основные функции СУБД5. Поддержка языков баз данных.Для работы с БД используются специальные языки – языки базданных.В ранних СУБД выделялось два разных по функциональномуназначению языка: SDL – язык определения схемы БД (SchemaDefinition Language) и DML – язык манипулирования данными(Data Manipulation Language).SDL служил для определения логической структуры БД, т.е.
тойструктуры, которая представляется пользователю.DML содержал набор операторов манипулирования данными –добавление, удаление, модификацию и выборку данных.В современных СУБД поддерживается единый интегрированныйязык, включающий все необходимые средства для работы с базойданных, начиная от ее создания до реализации пользовательского16интерфейса. (Это язык SQL (Structured Query Language)).Типовая организация СУБДСовременная СУБД включает следующие подсистемы:••••ядро СУБД;компилятор языка БД;подсистему поддержки времени исполнения;набор утилит.ЯдроСУБДУТИЛИТЫППВИКомпиляторязыка СУБД17Типовая организация СУБДЯдро отвечает за управление данными во внешней памяти,управление буферами оперативной памяти, управлениетранзакциями и журнализацию БД.Компилятор языка БД транслирует операторы языка баз данных внекоторую исполняемую программу в машинном илипромежуточном машинно-независимом коде.