|
Проектирование БД
|
|||
---|---|---|---|
#18+
Имеется сущность Организации образовательных курсов, у каждого курса имеется свой адрес: город, улица, дом, корпус. Как правильно спроектировать, понятно что город и улица это отдельные сущности, дом и корпус тоже выносить в отдельные сущности или есть правильной способ решения? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2018, 15:54 |
|
Проектирование БД
|
|||
---|---|---|---|
#18+
Sout, Так вы предложите свой вариант для начала. А то обсуждать пока нечего. Проектировать за вас нет желания. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2018, 16:16 |
|
Проектирование БД
|
|||
---|---|---|---|
#18+
hVostt, Ну мой вариант, город, улицу, дом, корпус вынести в отдельные сущности, но я уверен что есть более лучший вариант, до которого сам я увы не могу додуматься, вот и спрашиваю совета здесь ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2018, 16:30 |
|
Проектирование БД
|
|||
---|---|---|---|
#18+
SoutИмеется сущность Организации образовательных курсов, у каждого курса имеется свой адрес: город, улица, дом, корпус. Как правильно спроектировать, понятно что город и улица это отдельные сущности, дом и корпус тоже выносить в отдельные сущности или есть правильной способ решения?Нет. Есть таблица адресов: ID, город/ул/ и пр. Для вас важен лишь ID (для ссылок в проекте). А подробный адрес может быть написан прописью. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2018, 16:55 |
|
Проектирование БД
|
|||
---|---|---|---|
#18+
SouthVostt, Ну мой вариант, город, улицу, дом, корпус вынести в отдельные сущности, но я уверен что есть более лучший вариант, до которого сам я увы не могу додуматься, вот и спрашиваю совета здесь Более лучший для каких целей? ) Наверное таки надо базу проектировать под конкретные задачи, а не просто в вакууме. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2018, 17:08 |
|
Проектирование БД
|
|||
---|---|---|---|
#18+
LSV, как вы говорите быть не должно, это получается ID 1 Москва, Пушкина, Дом2, Корпус 1; ID2 Москва, Иванова, Дом1, Корпус 4. Один и тот же город имеют два уникальных ключа, тоже самое может получится и с улицами, такой подход не подойдет ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2018, 17:09 |
|
Проектирование БД
|
|||
---|---|---|---|
#18+
SoutИмеется сущность Организации образовательных курсов, у каждого курса имеется свой адрес: город, улица, дом, корпус. Как правильно спроектировать, понятно что город и улица это отдельные сущности, дом и корпус тоже выносить в отдельные сущности или есть правильной способ решения? Что города выделить наверное логично, а вот остальное для ведения списка курсов сомневаюсь. Количество курсов ограничено. Если задача просто указать адрес где будет проводиться курс - ну и прямо строкой все после города можно записать. Сомневаюсь, что может возникнуть задача поиска курсов по улице или более детальной информации. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2018, 17:17 |
|
Проектирование БД
|
|||
---|---|---|---|
#18+
Sout, Однозначно правильного (в смысле - хорошего во всех отношениях) варианта не существует. Есть разные, от банального текстового поля "Адрес", до EAV-монстров, к которым без ста грамм запрос не составишь. Какой выбирать - зависит от требований к системе: какие запросы будут нужны. При попытке сделать аккуратную реляционную модель "город" - "улица" - "дом", одна из проблем - пропуск уровней иерархии, и альтернативные иерархии. То есть существуют населенные пункты, в которых либо вообще нет улиц, а сразу номера домов (небольшие села), либо в которых есть микрорайоны, а уже в них либо улицы, либо сразу номера домов. Ну и то, что не у каждого дома есть строения и корпуса, это понятно. Поищите на форуме, по поводу адресов были жаркие дискуссии. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2018, 17:41 |
|
Проектирование БД
|
|||
---|---|---|---|
#18+
SoutОдин и тот же город имеют два уникальных ключа, тоже самое может получится и с улицами, такой подход не подойдет Почему? Какую задачу этот подход не позволит решить (будет решать проктостоматологически)? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2018, 18:05 |
|
Проектирование БД
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovSoutОдин и тот же город имеют два уникальных ключа, тоже самое может получится и с улицами, такой подход не подойдет Почему? Какую задачу этот подход не позволит решить (будет решать проктостоматологически)? Задачу контроля корректности адреса, очевидно - другое дело что не факт, что для "организации образовательных курсов" она сколько-нибудь актуальна. Получение данных "а сколько курсов было проведено в Москве?" - тоже будет, ээ, оставлять желать лучшего. Я бы выделял справочник в случае, если ожидается, что на более 10% значений справочника будут 2 и более ссылки. Т.е. если вероятны 2 и более курса на одной улице - выделять справочник улиц, если нет - то нет. Если вероятны 2 и более курса в одном доме на одной улице - выделять справочник домов, если нет - то нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2018, 19:05 |
|
Проектирование БД
|
|||
---|---|---|---|
#18+
Sout, автору каждого курса имеется свой адрес: город, улица, дом, корпус так "адрес" у курса имеется или "город", "улица", "дом", "корпус"? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2018, 19:29 |
|
Проектирование БД
|
|||
---|---|---|---|
#18+
SouthVostt, Ну мой вариант, город, улицу, дом, корпус вынести в отдельные сущности, но я уверен что есть более лучший вариант, до которого сам я увы не могу додуматься, вот и спрашиваю совета здесь Ну вынесите каждое поле в отдельные сущности. Это самый правильный вариант, платиновая архитектура. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2018, 19:46 |
|
Проектирование БД
|
|||
---|---|---|---|
#18+
Кот МатроскинЗадачу контроля корректности адреса, очевидно - другое дело что не факт, что для "организации образовательных курсов" она сколько-нибудь актуальна. Вот именно. Нет задачи - нет проблемы. (Почти (с).) Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2018, 19:46 |
|
Проектирование БД
|
|||
---|---|---|---|
#18+
SoutLSV, как вы говорите быть не должно, это получается ID 1 Москва, Пушкина, Дом2, Корпус 1; ID2 Москва, Иванова, Дом1, Корпус 4. Один и тот же город имеют два уникальных ключа, тоже самое может получится и с улицами, такой подход не подойдетВы, уважаемый, какую задачу решаете ??? Почему не может быть двух почти одинаковых адресов, отличающихся только корпусом или домом ? Кстати любой населенный пункт требует обязательного указания района/области. Даже улицы в большом нп могут быть неуникальными (н-р при поглощении пригородов). Нежданчик, да ? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2018, 11:30 |
|
Проектирование БД
|
|||
---|---|---|---|
#18+
SoutНу мой вариант, город, улицу, дом, корпус вынести в отдельные сущности, но я уверен что есть более лучший вариант, до которого сам я увы не могу додуматься Подключите ФИАС и используйте id оттуда. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2018, 12:46 |
|
Проектирование БД
|
|||
---|---|---|---|
#18+
SoutИмеется сущность Организации образовательных курсов, у каждого курса имеется свой адрес: город, улица, дом, корпус. Как правильно спроектировать, понятно что город и улица это отдельные сущности, дом и корпус тоже выносить в отдельные сущности или есть правильной способ решения? Правильный ответ сильно зависит от задачи. Вполне возможно, что удобнее хранить все в одном поле. Или наоборот не хранить текстовый адрес, а только координаты из сервисов карт. А в общем случае лучше взять уже готовый справочник и не изобретать велосипед. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2018, 05:34 |
|
Проектирование БД
|
|||
---|---|---|---|
#18+
mad_nazgulне хранить текстовый адрес, а только координаты из сервисов карт Прикольно будут выглядеть такие координаты напечатанными на конверте. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2018, 09:54 |
|
Проектирование БД
|
|||
---|---|---|---|
#18+
mad_nazgulА в общем случае лучше взять уже готовый справочник и не изобретать велосипед. :-)Еще более правильный ответ - нанять специалиста и не забивать голову такой чепухой. Пусть он парится. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2018, 10:21 |
|
Проектирование БД
|
|||
---|---|---|---|
#18+
LSVЕще более правильный ответ - нанять специалиста и не забивать голову такой чепухой. Пусть он парится. :) А если он и есть нанятый специалист? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2018, 10:52 |
|
Проектирование БД
|
|||
---|---|---|---|
#18+
Cane Cat FisherА если он и есть нанятый специалист? :) Это сообщение следовало бы сформулировать так: "... Обратитесь к системному администратору. Если Вы и есть системный администратор, обратитесь к компетентному системному администратору". ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2018, 10:55 |
|
Проектирование БД
|
|||
---|---|---|---|
#18+
mad_nazgulПравильный ответ сильно зависит от задачи. Вполне возможно, что удобнее хранить все в одном поле. Или наоборот не хранить текстовый адрес, а только координаты из сервисов карт. А в общем случае лучше взять уже готовый справочник и не изобретать велосипед. :-) Полностью согласен. Но что например если это Казахстан, например, и там нет такого справочника? Так что от задачи исходить надо. У меня была похожая задача, пришлось искать "золотую" середину. Что и с детальным адресом и без была возможность работы. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2018, 12:15 |
|
|
start [/forum/topic.php?fid=32&msg=39615815&tid=1540062]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
35ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 156ms |
0 / 0 |