У меня есть ситуация, когда мне нужно хранить двоичные данные в базе данных Oracle в виде столбцов больших двоичных объектов. В моей базе данных есть три разные таблицы, в которых мне нужно хранить данные большого двоичного объекта для каждой записи. Не каждая запись обязательно будет постоянно содержать данные большого двоичного объекта. Это зависит от времени и пользователя.
- Table One будет хранить файлы *.doc почти для каждой записи.
- Таблица 2 будет хранить *.xml необязательно.
- В таблице 3 будут храниться изображения (частота неизвестна).
Является ли это хорошим подходом к поддержанию отдельной таблицы для хранения различных данных больших двоичных объектов, указывающих на соответствующие PK таблицы? (Да, FK не будет, я предполагаю, что программа их поддержит). Это будет что-то вроде ниже,
BLOB|PK_ID|TABLE_NAME
В качестве альтернативы, стоит ли хранить столбцы больших двоичных объектов в отдельных таблицах?
Что касается времени выполнения моего приложения,
Таблицу 2 будут читать очень часто. Хотя столбец больших двоичных объектов не потребуется.
Записи таблицы 2 будут часто удаляться.
Доступ к другим данным больших двоичных объектов в соответствующих таблицах будет осуществляться нечасто. Все содержимое большого двоичного объекта будет считываться по мере необходимости.
Я думаю, что первый подход будет работать лучше для меня. Есть ли какие-либо опасения по поводу этой конструкции с точки зрения производительности или ремонтопригодности?