Структура таблиц разрабатываемого проекта имеет следующую структуру
Некоторые пояснения к рисунку.
Таблицы
Фактически, структура таблиц является полным отражением структуры данных.
Структура хранения данных программы HomeFin
Поля первичных ключей таблиц отмечены символами <pk>, в внешние ключи - <fk>. Стрелками обозначены сами внешние ключи.
Все таблицы связаны между собой внешними ключами, такая взаимосвязь обеспечивает ссылочную целостность
данных при модификации таблиц.
Дополнительно стоит отметить интересную особенность Oracle, связанную с внешними ключами. Для исключения взаимных блокировок, поля входящие в
состав внешнего ключа необходимо проиндексировать. Например, в таблице tAccount создан индекс по полю AccountType. После создания этого индекса
можно изменять таблицу tRefAccount и быть уверенным, что в таблице tAccount будет заблокирована только та запись, которая связана с изменяемой
записью tRefAccount.
Обратите внимание на соглашение по именам.
Наименования таблиц начинаются с буквы 't'. Справочным таблицам добавляется приставка 'tRef'.
Наименования внешних ключей начинаются с 'fk' и образуются путем слияния наименования таблицы и поля, с которым связан ключ.
Такое соглашение позволяет легче ориентироваться в наименованиях, когда проект разрастется до десятков таблиц.
Скрипт создания таблиц
Sequences
Значения первичных ключей генерируются последовательностями.
Все последовательности начинаются с 1, увеличиваются на 1 и не ограничиваются верхним пределом.
скрипт создания последовательностей
|