Как URL-адреса (фрагменты) хранятся в реляционной базе данных?
В следующем фрагменте URL-адреса:
~/house/room/table
перечислены все данные в таблице и, возможно, некоторая информация отаблица.
Этот фрагмент:
~/house
выводит: Street 13
и Room, Garage, Garden
~/house/room
, выводит: My room
и Chair, Table, Window
Как выглядит схема базы данных?Что если я переименую house
в flat
?
Возможное решение
Я думал, что смогу создать хеш для URL и сохранить его вместе с parentID
и информацией.Если я переименую некоторый сегмент верхнего уровня, мне нужно будет обновить все строки, которые содержат данный сегмент.
Тогда я подумал, что будет хранить каждый сегмент вместе с информацией и его уровнем:
SELECT FROM items WHERE key=house AND level=1 AND key=room AND level=2
Как мне решить эту проблему, если URL может быть сколь угодно глубоким?