абстракция объекта схемы базы данных

#database #oop #schema

#База данных #ооп #схема

Вопрос:

Я создаю абстракцию схемы базы данных, используя объектно-ориентированное программирование. У меня проблема с дизайном: должны ли индексы быть объектами верхнего уровня (например, таблицами, представлением, хранимыми процедурами) или, скорее, должны быть доступны через таблицу, например столбцы? А как насчет триггеров тоже?

Я создаю пакет Python (http://code.google.com/p/fathom /) для обнаружения схемы базы данных. Прямо сейчас доступ к индексам осуществляется через таблицу, но я вижу, что некоторые инструменты для администрирования базы данных имеют индексы в виде отдельной записи в некотором древовидном представлении, точно так же, как таблицы. Вот почему мне интересно, правильно ли я все делаю.

Комментарии:

1. Можете ли вы объяснить причины, по которым вы не используете ORM?

2. @Neil: Я задал вопрос, должен ли я попробовать сделать это в programmers.se.com . Теперь я спрашиваю о чем-то другом. @Paul: Смотрите мою правку.

Ответ №1:

«Индексы» являются частью одной таблицы, такой как «столбцы», они не являются независимыми, как S.P., где разработчик может изменять несколько таблиц.

Они состоят из нескольких столбцов или выражений из одной таблицы.

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