Дизайн управления контентом для профильной базы данных - PullRequest
0 голосов
/ 26 октября 2011

Я разрабатываю концептуальную схему для базы данных SQL, которая будет обрабатывать записи, которые помогают в профилировании определенного набора лиц. (Вы можете себе представить, что я разрабатываю шпионское агентство, которое строит портфолио для членов организации).

Меня беспокоит то, что коллекция документов, используемых для описания этих людей, постоянно растет. Я хотел бы включить CMS-подобную функциональность для пользователей уровня управления, которые смогут определять общий документ в веб-интерфейсе, который будет служить средством ввода дополнительной информации в базу данных. Это было бы аналогично печатанию листа бумаги «заполнить бланки» и предоставлению копий для добавления (при необходимости) к существующим предметным файлам.

Целесообразно ли продолжать добавлять новую таблицу в базу данных для каждой записи, которая стала необходимой? Я опасаюсь разрабатывать веб-приложение, которое будет генерировать новую таблицу для каждого типа документа, особенно если новые типы документов будут регулярно изобретаться. Буду признателен за любые мысли по этому вопросу. Я предоставил свою альтернативу, модель сущности-отношения, которая, как мне кажется, могла бы позволить создание общего типа документа и последующее создание предметных записей с использованием определенных типов документов. Буду признателен за любую критику этой альтернативы.

An ERD for a Profile-Directed Record-Keeping Database

Этот подход определяет ЗАПИСЬ как ДОКУМЕНТ, который относится к конкретному предмету. DOCUMENT определяется с использованием набора пользовательских DOCUMENT_FIELD, которые основаны на определенном системой наборе FIELDS. RECORD заполняется с использованием RECORD_DATA, которые являются абстрактными контейнерами для данных, которые идентифицируются их RECORD_ID (внешний ключ), а также специфичным для документа DOCUMENT_FIELD (также внешним ключом).

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

...