С.Д. Кузнецов - Основы баз данных (1121716), страница 8
Текст из файла (страница 8)
Очевидно, что после перезапуска системы ес база данных будет находиться в рассогласованном состоянии (точно будут нарушены правила (3) и (4), а может быть, и правила (1) и (2)). Потребуется выяснить это (а для этого нужно явно проверить соответствие данных в файлах СЛУЖАЩИЕ и ОтдКЛЫ) и привести данные в согласованное состояние. Проверку и коррекцию можно выполнить, например, следующим образом. Сгруппировать записи файла служлщик по значениям поля слу Отд номкр, Для каждой группы (а) проверить, существует лн в файле Отдклы запись, значение поля ОТд нОм которой равняется значению поля Слу Отд нОмеР записей данной группы; если такой записи в файле ОтдКЛЫ нет, то (Ь) исключить группу из файла служАЩие и перейти к обработке следующей группы; иначе (с) посчитать число записей в группе и вычислить суммарное значение заработной платы; (д) обновить полученными значениями поля ОтД РАзмеР и ОТД СЛУ ЗАЕЛ соответствующей записи файла Отдклы и перейти к обработке следующей группы.
Настоящие СУБД берут такую работу на себя, поддерживая тринзикционное управление и журндзизацию изменений базы данных. Прикладная система не обязана заботиться о поддержке корректности состояния базы данных, хотя и должна знать„какие цепочки операций изменения данных являются допустимыми. Представим теперь, что в информационной системе требуется обеспечить параллельную (например, многотерминальную) работу с базой данных служащих и отделов. Если опираться только на использование файлов, то для 33 Основы оаз данных Курс обеспечения корректности на все время модификации любого из двух файлов доступ других пользователей к этому файлу будет блокирован (вспомните возможности файловых систем в отношении синхронизации параллельного доступа, упоминавшиеся в разд.
«Файловые системы»). Таким образом, зачисление на работу Петра Ивановича Сидорова существенно затормозит получение информации о служащем Иване Сидоровиче Петрове, даже если оии работают в разных отделах. Настоящие СУБД обеспечивают гораздо более тонкую синхронизацию параллельного доступа к данным. СУБД как независимый системный компонент До сих пор мы не вычленяли СУБД из состава информационной системы, имея в виду общую организацию системы, подобную той, которая показана на рис.
1.8. Рис. 1.8. СУБД в составе информационной системы Здесь видны два дефекта. Во-первых, очевидно, что СУБД должна поддерживать достаточно развитую функциональность. Повторять эту функциональность в каждой информационной системе неразумно, С другой стороны, неясно, каким образом можно обеспечить готовый к использованию компонент СУБД, который можно бьщо бы встраивать в информационные системы.
Во-вторых, уже должно быть понятно, что набор файлов можно назвать базой данных только при наличии метаданных. На рис. 1.8 металанные являются принадлежностью информационной системы, и поэтому, например, файлы СЛжщИВ и ОтддЛЫ можно эффективно использовать только через нашу гипотетическую систему регистрации служащих. Предположим, что предприятию нужна еше и информационная бухгалтерская система. Очевидно, что для ее работы также потребуются данные о служащих и отделах. При показанной выше организации системы возможны два варианта выполнения задачи, ни один из которых не является удовлетворительным, !.
Внедрить бухгалтерскую систему в состав системы регистрации сотрудников. Но ведь, как правило, бухгалтерские системы покупаются в виде готовых и отдельных продуктов, не приспособленных к подобному «внедрению». 34 Лекция 1 Эволюция устройств внешней памяти и лрограммных систем улравления данными 2. Скопировать метаданные системы регистрации служащих в бухгалтерскую систему. Но метаданные (как и данные) не обязательно являются статичными. Структура базы данных может со временем изменяться, могут исчезать одни правила целостности и появляться другие.
Как согласовывать копии метаданных, поддерживаемые независимыми информационными системами'? Так мы приходим к организации системы, показанной на рис. 1.9. Рис. 1.9. Отдельная СУБД и базы данных с метаданными Здесь мы видим три информационные системы, которые через одну СУБД работают с двумя разными базами данных, причем первая и вторая системы работают с общей базой данных. Это возможно, поскольку мета- данные каждой базы данных содержатся в самих базах данных, и достаточно лишь указать СУБД, с какой базой данных желает работать данное приложение.
Поскольку СУБД функционирует отдельно от приложений, и ее работа с базами данных регулируется метаданными, совместное использование одной базы данных двумя информационными системами не вызовет потери согласованности данных, и доступ к данным будет должным образом синхронизироваться. Заметим, что рис. 1.9 вплотную приближает нас к наиболее распространенной в последние десятилетия архитектуре «клиент-сервер».
СУБД играет роль «сервера», обсуживающего нескольких «клиенто⻠— прикладных информационных систем. Таким образом, СУБД решают множество проблем, которые затруднительно или вообще невозможно решить при использовании файловых систем. При этом существуют приложения, для которых вполне достаточно файлов; приложения, лля которых необходимо решать, какой уровень работы сданными во внешней памяти для них требуется, и приложения, для которых, безусловно, нужны базы данных.
35 Основы баз данных Курс Заключение Мы начали эту лекцию с рассказа об истории систем управления внешней памятью. Развитие аппаратных и программных средств управления внешней памятью диктовалось потребностями информационных систем, для построения которых требовалась возможность надежного лолговременного хранения больших объемов данных, а также обеспечение достаточно быстрого доступа к этим данным. Системы управления файлами во внешней памяти обеспечивают минимальные потребности информационных систем, предоставляя средства распределения и структуризации дисковой памяти, именования файлов, авторизации доступа и поддержки многопользовательского режима. По мере развития технологии информационных систем их потребности возрастают, выходя за пределы возможностей, обеспечиваемых файловыми системами.
Слелует особо обратить внимание на то, что и сегодня основной класс устройств внешней памяти базируется на магнитных дисках с подвижными головками. Поэтому временные соотношения, приведенные в связи с рис. 1.1, по-прежнему весьма актуальны. На этих соотношениях, главным образом, базируются оптимизационные методы, применяемые в современных системах управления данными во внешней памяти. Далее, на примере тривиальной информационной системы были показаны ситуации, в которых возможности файловых систем явно недостаточны. Более того, попытки расширения возможностей файловой системы путем включения в приложение дополнительных программных компонентов во многих случаях не приволят к успеху.
В пределе такие попытки могут привести к появлению самостоятельного программного продукта, обладающего некоторыми чертами СУБД. Однако настоящие СУБД являются настолько большими и сложными программными системами, что вероятность успешного создания «самодельной» СУБД ничтожно мала. Ецге один вывод заключается в том, что при выборе технологии построения информационной системы нужно тшательно оценивать и прогнозировать ее потенциальные потребности в средствах управления данными. Конечно, любую информационную систему можно основывать на использовании промышленной, большой и мошной СУБД. Но вполне может оказаться так, что в действительности приложение будет использовать доли процентов общих возможностей СУБД.
Накладные расходы (затраты на дополнительную аппаратуру, лицензирование дорогостояшего программного продукта, увеличение обшего времени выполнения операций) могут оказаться неоправданными. Лекция 2 Введение в реляционную модель данных Лекция 2. Введение в реляционную модель данных В этом курсе, главным образом, обсуждаются различные аспекты реляционных баз данных. Принято считать, что реляционный подход к организация баз данных был заложен в конце 1960-х гг.
Эдгаром Коддом, В последние десятилетия этот подход является наиболее распространенным (с оговоркой, что в называемых в обиходе реляционными системах баз данных, основанных на языке БОЬ, в действительности наругпаются некоторые важные принципы классического реляционного подхода).
Достоинствами реляционного подхода принято считать следующие свойства: е реляционный подход основывается на небольшом числе интуитивно понятных абстракций, на основе которых возможно простое моделирование наиболее распространенных предметных областей; этн абстракции могут быть точно и формально определены; ° теоретическим базисом реляционного подхода к организации баз данных служит простой н мощный математический аппарат теории множеств н математической логики; ° реляционный подход обеспечивает возможность ненавигационного манипулирования данными без необходимости знания конкретной физической организации баз данных во внешней памяти. Компьютерный мир далеко не сразу признал реляционные системы. В 70-е года прошлого века, когда уже были получены почти все основные теоретические результаты и даже существовали первые прототипы реляционных СУБД, многие авторитетные специалисты отрицали возможность добиться эффективной реализации таких систем.
Однако преимущества реляционного подхода и развитие методов и алгоритмов организации и управления реляционными базами данных привели к тому, что к концу 80-х годов реляционные системы заняли на мировом рынке СУБД доминирующее положение. В этой лекции на сравнительно неформальном уровне вводятся основные понятия реляционных баз данных, а также определяется сущность реляционной модели данных. Основной целью лекции является демонстрации простоты и возможности интуитивной интерпретации этих понятий. В следующих лекциях будут приводиться более формальные определения, на которых основана теория реляционных баз данных.