![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Нормализация базы [D6, XP]
Alien1769 © (2006-05-19 11:01:00)Добрый день.
Есть например две записи в таблице:
Толстого Льва улица
Толстого Льва площадь
Имеет ли смысл для нормализации разбить информацию в две таблицы,
а в главной использовать только коды записей подчиненных таблиц.
Причем иногда ползователь иногда не знает точно какой именно адрес
(площадь Толстого, д.2) или (улица Льва Толстого, д.2).
Чего посоветуете.
Sergey13 (2006-05-19 12:12:00) [1]2[21] Ega23 © (19.05.06 12:07)
> Вообще-то "Парабеллум"... :о)
Я знаю, но Парабелумы кончились. 8-)
Alien1769 (2006-05-19 12:11:00) [2]
> добавлю, что выделение дома-корпуса в отдельную сущность
> удобно для случаев работы с картографической топоосновой,
> где дома имеют отдельные адресуемые примитивы
> для охранной фирмы это может пригодиться
Скажем так, что расположение относительно других домов (карта-схема) в задании было.
Всем спасибо.
Desdechado (2006-05-19 12:08:00) [3]> А перестрелки будут?
обязательно
нужно только правильно спроектировать БД и написать софт :)
Ega23 (2006-05-19 12:07:00) [4]
> А перестрелки будут? Я дам вам Браунинг. 8-)
Вообще-то "Парабеллум"... :о)
Sergey13 (2006-05-19 12:03:00) [5]2[19] Desdechado © (19.05.06 11:59)
>и автоматической прокладки маршрута группы захвата
А перестрелки будут? Я дам вам Браунинг. 8-)
Desdechado (2006-05-19 11:59:00) [6]добавлю, что выделение дома-корпуса в отдельную сущность удобно для случаев работы с картографической топоосновой, где дома имеют отдельные адресуемые примитивы
для охранной фирмы это может пригодиться, например, для показа ситуации по городу в целом и автоматической прокладки маршрута группы захвата
Alien1769 (2006-05-19 11:57:00) [7]
> В общем, я бы сделал иерархическую структуру охраняемых
> объектов, а уж их адрес - это просто свойство каждого из.
> Не обязательно физический адрес, просто наименование.
Спасибо за огромную подсказку. Вот это уже большой плюс.
Sergey13 (2006-05-19 11:57:00) [8]2 [15] Alien1769 © (19.05.06 11:52)
> Это был ответ на цитату
Цитата в ответе была моя и не такая. 8-)
Ega23 (2006-05-19 11:56:00) [9]
> И чем "твое" отличается от "моего" (пост [4]) ? Тем, что
> я не уточнил, что по словом "адрес" подразумевал улицу (площать,
> проспект..) ?
Тем, что я бы не стал номер дома заводить отдельным полем.
А судя по тому, что товарищ - мой конкурент (я тоже охранными системами 6 лет занимаюсь), и судя по охранной специфике я вообще бы так никогда делать не стал.
:о)
Alien1769 (2006-05-19 11:52:00) [10]
> И что это меняет в справочнике адресов? Разные клиенты -
> разные коды.
В справочнике адресов ничего.
Это был ответ на цитату
(Таким образом, адрес в рабочей таблице будет состоять из StreetID + Дополнительная информация.)
MsGuns (2006-05-19 11:52:00) [11]>Ega23 © (19.05.06 11:32) [7]
И чем "твое" отличается от "моего" (пост [4]) ? Тем, что я не уточнил, что по словом "адрес" подразумевал улицу (площать, проспект..) ?
Desdechado (2006-05-19 11:51:00) [12]как это сделано в моей БД
1. типы населенных пунктов(ид, длинное название, короткое название)
2. населенные пункты(ид, название, ид типа)
3. типы улиц(ид, длинное название, короткое название)
4. улицы(ид, название, ид типа, ид населенного пункта)
5. дома (ид, номер дома, номер корпуса, ид улицы)
6. адрес(ид адресуемого объекта, ид дома, подъезд, этаж, квартира, комната)
в принципе, можно добавить обработку районов (не городских - это бессмысленно, а сельских), т.к. в разных районах могут быть одноименные населенные пункты
Ega23 (2006-05-19 11:50:00) [13]
> Для каждого клиента будет поле квартира (офис), поскольку
> в одном офисе может быть две фирмы и каждая сдает свое помещение
> по определенномк коду на охранном приборе.
>
В этом случае я вообще-бы всё по-другому сделал. Основная сущность - охраняемый объект. Это может быть завод на пол-города, это может быть всё здание, это может быть этаж в здании, это может быть квартира, это может быть комната, это может быть сейф. А самое прикольное, когда это охраняемый сейф в охраняемой комнате охраняемой квартиры охраняемого этажа и т.п.
В общем, я бы сделал иерархическую структуру охраняемых объектов, а уж их адрес - это просто свойство каждого из. Не обязательно физический адрес, просто наименование.
Sergey13 (2006-05-19 11:47:00) [14]2[10] Alien1769 © (19.05.06 11:45)
> Для каждого клиента будет поле квартира (офис), поскольку в одном офисе может быть две фирмы и каждая сдает свое помещение по определенномк коду на охранном приборе.
И что это меняет в справочнике адресов? Разные клиенты - разные коды.
Alien1769 (2006-05-19 11:45:00) [15]
> > Пишется прога для охранной фирмы.
> Ну и что?
Для каждого клиента будет поле квартира (офис), поскольку в одном офисе может быть две фирмы и каждая сдает свое помещение по определенномк коду на охранном приборе.
Sergey13 (2006-05-19 11:36:00) [16]2[8] Alien1769 © (19.05.06 11:36)
> Пишется прога для охранной фирмы.
Ну и что?
Alien1769 (2006-05-19 11:36:00) [17]
> Вот это самое главное. Нужен справочник наподобии КЛАДР.
> Или он сам. Или с возможностью импорта из него.
Пишется прога для охранной фирмы.
Ega23 (2006-05-19 11:32:00) [18]
> Адрес на то и адрес, чтобы быть атомарным, невзирая на то,
> улица это, проспект, проулок и т.д. Он сам по себе может
> быть справочником, например, в телефонных справочниках или
> биллинговых системах. А вот № дома, корпуса, квартиры и
> даже эжах иногда имеет смысл выделять в одельные сущности
> - поля. Например, в системах, разработанных для бюро инвентаризации
> или коммунальных служб.
Всё на правах ИМХО.
Я бы сделал так: у любого адреса есть какое-то место (улица, площадь, проспект, переулок, проезд и т.д.). Их бы вынес в отдельную сущность Streets (все вместе). А вот дальнейший адрес (дом-корпус-строение-этаж-квартира) выделил бы как строковое поле.
Таким образом, адрес в рабочей таблице будет состоять из StreetID + Дополнительная информация.
В данном подходе сочетаются как разумная нормализация (улицы), так и разумная денормализация (не выделение дом-корпус-строение-этаж-квартира в 5 разных сущностей).
Но всё, конечно, от задачи зависит.
Sergey13 (2006-05-19 11:32:00) [19]2 [5] Alien1769 © (19.05.06 11:28)
> По каждой улице нужно кол-во клиентов, мало того по каждому дому и даже парадное
Вот это самое главное. Нужен справочник наподобии КЛАДР. Или он сам. Или с возможностью импорта из него.
Alien1769 (2006-05-19 11:28:00) [20]
> >Допустим в городе больше 1000 улиц.
> А в основной сколько? Что ты собираешься делать с адресом
> (это самый главный вопрос для проектирования)?
В основной таблице будет около 50000 клиентов.
По каждой улице нужно кол-во клиентов, мало того по каждому дому и даже парадное