Скачиваний:
82
Добавлен:
02.05.2014
Размер:
2.28 Mб
Скачать

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

13.35.Smith J.M., Smith D.C.P. Database Abstractions: Aggregation // CACM. — June,

1977. —20, №6.

См. аннотацию к [13.36]. 13.36.Smith J.M., Smith D.C.P. Database Abstractions: Aggregation and Generalization //

ACM TODS. — June, 1977. — 2, № 2.

Идеи, высказанные в [13.35], [13.36], оказали значительное влияние на формули- ровку положений RM/T-модели [13.6], особенно в области определения подти- пов и супертипов.

13.37.Storey V.C. Understanding Semantic Relationships // The VLDB Journal. — October, 1993. —2, №4.

В аннотации к настоящей статье говорится, что семантические модели данных бы- ли разработаны сообществом исследователей баз данных с использованием таких абстракций, как подтип, обобщение и ассоциация. Помимо этих хорошо известных понятий, дополнительные семантические понятия были введены исследователями в таких дисциплинах, как лингвистика, логика и когнитивная психология. В статье исследуются некоторые из этих дополнительных понятий и обсуждается их влия- ние на проектирование баз данных. 13.38.Sundgren В. The Infological Approach to Data Bases // J. W. KHmbie and K. L. KofFeman (eds.). Data Base Management. — Amsterdam, Netherlands: North-Holland; New York, N.Y.: Elsevier Science, 1974.

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

13.39.Tasker D. Fourth Generation Data: A Guide to Data Analysis for New and Old Systems. — Sydney, Australia: Prentice-Hall of Australia Pty., Ltd., 1989. Прекрасное практическое пособие по проектированию баз данных, в котором вни- мание уделяется, главным образом, индивидуальным элементам данных (т.е. доме- нам). Элементы данных разделены на три основных типа: именные, количествен- ные и описательные. Именные элементы определяют сущности и в реляционном смысле относятся к первичным и внешним ключам. Количественные элементы представляют собой меру или расположение согласно какой-то шкале (возможно, по шкале "дата/время") и могут подвергаться обычным арифметическим манипу- ляциям. Все остальные элементы данных относятся к описательным. (Конечно, это краткое описание не может дать полного представления обо всей классификацион- ной схеме.) В книге подробно обсуждается каждый из перечисленных типов эле-

Глава 13. Семантическое моделирование

541

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

13.40.Teorey T.J., Fry J.P. Design of Database Structures. — Englewood Cliffs, N.J.: Prentice-Hall, 1982.

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

(Тиори Т., Фрай Дж. Проектирование структур баз данных: в 2 книгах: Пер. с англ. — М.: Мир, 1985.)

13.41. Teorey T.J., Yang D., Fry J.P. A Logical Design Methodology for Relational Databases Using the Extended Entity-Relationship Model // ACM Сотр. Surv. —June, 1986. — 18, № 2. В представленную в этой работе "расширенную ER-модель" добавлена поддержка иерархий типов сущностей, неопределенных значений (глава 18) и связей, вклю- чающих больше двух участников.

13.42.Teorey T.J. Database Modeling and Design: The Entity-Relationship Approach. — San Mateo, Calif.: Morgan Kaufmann, 1998.

Более современный учебник с описанием применения концепций ER-модели и "расширенной" ER-модели [13.41] для проектирования базы данных.

542

Часть III Проектирование базы данных

Часть IV

Управление транзакциями

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

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

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

  • При одновременном ("параллельном") выполнении между двумя программами возможен конфликт из-за обращения к одним и тем же данным, что приведет к получению неправильных результатов как внутри базы данных, так и вне ее.

В главе 14 рассматривается восстановление, а в главе 15 — параллельность. Замечание. Некоторые разделы этих глав уже были опубликованы в несколько другой форме в книге An Introduction to Database Systems: Volume II (Addison-Wesley, 1983).

Глава

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

14.1. Введение

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

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

Прежде чем идти дальше, необходимо уяснить, что принцип восстановления (а в дей- ствительности и обработки транзакций в целом) в значительной степени не зависит от того, какой является базовая система: реляционной или какой-либо еще. (С другой сто- роны, следует отметить, что исторически сложилось так, что большая часть теоретиче- ских исследований в области обработки транзакций была выполнена и продолжает вы- полняться именно в реляционном контексте.) Нужно также заметить, что это весьма об- ширный предмет обсуждения, и мы сможем познакомить читателя только с наиболее важными и основополагающими принципами. Для более углубленного изучения предме- та можно обратиться к источникам, указанным в списке литературы в конце данной гла- вы (в частности, обратите особое внимание на издание [14.12]).

' Здесь термин "непротиворечивое состояние" означает "удовлетворяются все известные ограничения целостности". Обратите внимание, что непротиворечивое состояние не обяза- тельно значит корректное, тогда как корректное состояние обязательно должно быть непро- тиворечивым. Непротиворечивое состояние может, тем не менее, быть некорректным в том смысле, что оно неточно отражает истинное состояние дел в реальном мире. Значение термина "непротиворечивое состояние" можно определить как "корректное в рамках тех ограничений, которые установлены в рассматриваемой системе ".

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

транзакции). Затем в разделе 14.4 более глубоко обсуждается проблема восстановления системы (восстановление после одновременного нарушения выполнения всех текущих транзакций, вызванного неким сбоем системы). После этого в разделе 14.5 кратко рас- сматривается восстановление носителей (т.е. восстановление после какого-либо физиче- ского повреждения базы данных, например из-за поломки головок дискового накопителя). Далее в разделе 14.6 описывается исключительно важная проблема двух- фазной фиксации транзакций, а в разделе 14.7 обсуждаются относящиеся к делу опера- ции языка SQL. И наконец в разделе 14.8 приводятся краткое резюме и несколько заклю- чительных замечаний.

Соседние файлы в папке Дейт К. Дж. Введение в системы баз данных [7 издание]