Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Организационная система баз данных_на печать.doc
Скачиваний:
4
Добавлен:
11.11.2019
Размер:
389.12 Кб
Скачать

Модель «сущность-связь». Методы и средства моделирования

Тройственная схематическая модель БД ANSI/SPARC, предложенная Комитетом по планированию и разработке требований к стандартам (SPARC) Американского национального института стандартов (ANSI) была впервые опубликована в 1975.

Внешняя, концептуальная и внутренняя схемы

Пользователи

Концептуальная схема

Модель ANSI/SPARC включает в себя три схемы — внешнюю, концептуальную и внутреннюю. Внешняя схема (external schema), называемая также поль­зовательским представлением (user view), описывает то, как пользователи пред­ставляют себе базу данных. Для всех баз данных, кроме простейших, внешняя схема отображает лишь часть реальной базы данных.

Концептуальная схема (conceptual schema) — это полное логическое представ­ление базы данных, включающее описание всех данных и связей между ними. Слова «логическое представление» имеют тот смысл, что концептуальная схема не зависит от конкретного способа хранения данных. Хранить концептуальную схему можно в базе данных, в файловом архиве, в виде набора связанных между собой электронных таблиц и другими способами.

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

Внутренняя схема (internal schema) — это представление, описывающее фи­зическую реализацию концептуальной схемы с использованием конкретного продукта и/или технологии. Описание набора таблиц, ключей, внешних ключей, индексов и других физических структур представляет собой внутреннюю схему. Одна и та же концептуальная схема может быть представлена различными внут­ренними схемами: например, одна из них может быть для Oracle, другая — для DB2. Эти две внутренние схемы могут быть очень похожими или совершенно различными. Для нас эти различия несущественны, лишь бы обе они адекват­но отражали соответствующую концептуальную схему. (Разумеется, если вести речь об эффективности обработки, одна внутренняя схема может иметь огром­ное преимущество перед другой.)

Построение концептуальной схемы

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

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

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

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

За прошедшие годы было разработано огромное количество разнообразных методов, концепций и символьных систем для документирования концепту­альных моделей. Наиболее популярные из них базируются на модели «сущ­ность—связь».