2016-01-20 3 views
0

Вы устанавливаете внешние ключи в своих таблицах, хотя используете структуру ORM, такую ​​как Hibernate или Doctrine? На мой взгляд, преимущество заключается в том, что вы можете легко перемещаться в представлении администрирования sql, но я думаю, что целостность данных больше не является аргументом - просто потому, что вы можете установить параметры каскада в аннотации рамки ORM/xml/...? Как вы думаете? В моем случае я всегда буду использовать внешние ключи, потому что это дает мне чистое и стабильное определение базы данных. но меня интересуют другие мнения.Установить внешние ключи при использовании рамки ORM

+0

http://stackoverflow.com/help/dont-ask – Gimby

ответ

1

Отсутствие существующего ORM (даже самого мощного) можно сравнить с реляционными СУБД, подобными предприятиям, такими как mssql, postgres, mysql и т. Д. В целях обеспечения целостности и согласованности данных (по функциональности, по производительности). И ваша БД, управляемая RDMBS, - это бесплатная и дополнительная точка входа и расширяемости (со многими доступными API) для ваших данных. Следовательно, он должен сохранять данные согласованными во время манипуляций с данными, выполняемыми различными клиентами. Во многих случаях вы можете думать о своем не-db-приложении как о неприемлемом интерфейсе. Хорошие побочные эффекты, связанные с ориентацией на данные: вы можете использовать свой db для низкоуровневой синхронизации ваших приложений (приложений), легко изменить поведение вашего приложения (без перекомпиляции клиента, перераспределения), изменив программирование БД, схему (включая отношения, ограничения) и т. д.