National Breed Club |
You're here: Newfs.info / Persons / Sozidatel' (Соziдатель) / Заметки разработчика / Чутка про базу данных
Чутка про базу данных Так, захотелось чуть-чуть показать нутро базы данных. Вот, для примера, зависимости таблицы "pedigree" (так вышло, что в ней данные на собак): ![]() Слева - таблицы и прочие данные, от которых зависит "pedigree"; справа - те, которые зависят от неё. Пример первого: У собаки указан титул. Все возможные титулы хранятся в отдельной таблице, плюс еще одна для хранения соответствия "титул - собака". Пример второго: В отчете с выставки указывается собака, указывается она ссылкой на таблицу всех собак. И таких связей, помимо собак - мириады. Может это, заодно, и объяснит, почему изменив что-то в одном углу сайта, появляются ошибки в десяти других :) Комментарии Дам еще примеров второго: Собака указывается родителем в таблице помётов. Собака упоминается в списке присутствующих на фотографии. У собаки может быть логин. Собака присутствует на выставке. У собаки есть титул. А также рецессивные окрасы. А еще владельцы. Ну и в объявлениях о щенках. Удалить собаку, кстати, очень сложно. Т.е. надо все эти ссылки как-то обработать. С некоторыми - просто, например: удалив собаку сразу удалятся все её титулы. С другими сложнее: удалив собаку что нам делать с её записью в отчетах с выставки, с объявлениями о продаже щенков? Либо помечать там "Неизвестная собака", либо удалять. Во втором случае еще сложнее, т.к. удаляя, например, объявление о продаже щенков, мы удаляем заодно и все комментарии к нему, и все ППКС к этим комментариям.. Цепочки могут достигать очень большого количества шагов. С персонами сложнее раз в 5. Хотя, какое там в 5.. ![]() Наблюдать за новыми комметариями. |
|
0.583 s, 156 q : |
© 2006 Newfs.ru // Editor: Kirill Ermakov // Developer: Eugene Nenaglyadov Feedback form Правила Сайта |