Лекция 6. Проектирование
реляционных БД
При проектировании базы данных
решаются две основных проблемы:
- Каким образом отобразить
объекты предметной области в
абстрактные объекты модели
данных, чтобы это отображение
не противоречило семантике
предметной области и было по
возможности лучшим
(эффективным, удобным и т.д.)?
Часто эту проблему называют
проблемой логического
проектирования баз данных.
- Как обеспечить эффективность
выполнения запросов к базе
данных, т.е. каким образом, имея
в виду особенности конкретной
СУБД, расположить данные во
внешней памяти, создание каких
дополнительных структур
(например, индексов)
потребовать и т.д.? Эту проблему
называют проблемой
физического проектирования
баз данных.
В случае реляционных баз данных
трудно представить какие-либо
общие рецепты по части физического
проектирования. Здесь слишком
много зависит от используемой СУБД.
Например, при работе с СУБД Ingres
можно выбирать один из
предлагаемых способов физической
организации отношений, при работе с
System R следовало бы прежде всего
подумать о кластеризации отношений
и требуемом наборе индексов и т.д.
Поэтому мы ограничимся вопросами
логического проектирования
реляционных баз данных, которые
существенны при использовании
любой реляционной СУБД.
Более того, мы не будем касаться
очень важного аспекта
проектирования - определения
ограничений целостности (за
исключением ограничения
первичного ключа). Дело в том, что
при использовании СУБД с развитыми
механизмами ограничений
целостности (например,
SQL-ориентированных систем) трудно
предложить какой-либо общий подход
к определению ограничений
целостности. Эти ограничения могут
иметь очень общий вид, и их
формулировка пока относится скорее
к области искусства, чем
инженерного мастерства. Самое
большее, что предлагается по этому
поводу в литературе, это
автоматическая проверка
непротиворечивости набора
ограничений целостности.
Так что будем считать, что
проблема проектирования
реляционной базы данных состоит в
обоснованном принятии решений о
том,
- из каких отношений должна
состоять БД и
- какие атрибуты должны быть у
этих отношений.
Предыдущая
глава || Оглавление
|| Следующая глава
|