|
|
|
помогите со структурой
|
|||
|---|---|---|---|
|
#18+
привет не пойму как сделать. есть записи в таблице. одна или несколько записей могут плательщком (те иметь общий признак) для других из этой же таблицы. те одна запись может быть или не быть плательщиком для самой себя или других записей как правильно написать структуру таблицы ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2006, 08:20 |
|
||
|
помогите со структурой
|
|||
|---|---|---|---|
|
#18+
Perederiyпривет не пойму как сделать. есть записи в таблице. одна или несколько записей могут плательщком (те иметь общий признак) для других из этой же таблицы. те одна запись может быть или не быть плательщиком для самой себя или других записей как правильно написать структуру таблицы ? Что-то подобное было у нас в системе: изделие может быть само-по себе или быть полуфабрикатом для другого изделия. Предлагаемая структура таблицы следующая: Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2006, 08:40 |
|
||
|
помогите со структурой
|
|||
|---|---|---|---|
|
#18+
Perederiyпривет не пойму как сделать. есть записи в таблице. одна или несколько записей могут плательщком (те иметь общий признак) для других из этой же таблицы. те одна запись может быть или не быть плательщиком для самой себя или других записей как правильно написать структуру таблицы ? Не очень понятно, что Вам необходимо. Вы что-то проектируете или решаете теоретические задачки? Вообще Вашу таблицу нужно разбивать на несколько, а затем связывать их. Вам необходимо клиентов(плательщиков) или ещё кого-то поместить в одну таблицу, а операции в другую и т.д. Как вариант -это то, что Вам предлагает Станислав С, но там тоже как видите не одна таблица... Но для того, чтобы Вам правильно ответили начучитесь правильно ставить вопрос - это уже половина ответа... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2006, 08:53 |
|
||
|
помогите со структурой
|
|||
|---|---|---|---|
|
#18+
я тоже так делаю но проектировании Связи: Таблица(ID лица) N >-- 1 Справочник лиц (ID лица) - OK Таблица (ID плательщика) N >-- 1 Справочник лиц(ID лица) - Error БД сообщает что связь с таблицей Справочник лиц уже установлена - больше нельзя ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2006, 08:56 |
|
||
|
помогите со структурой
|
|||
|---|---|---|---|
|
#18+
Perederiyя тоже так делаю но проектировании Связи: Таблица(ID лица) N >-- 1 Справочник лиц (ID лица) - OK Таблица (ID плательщика) N >-- 1 Справочник лиц(ID лица) - Error БД сообщает что связь с таблицей Справочник лиц уже установлена - больше нельзя ! Ну, не знаю.... У меня (Oracle 9) в командном окне следующие команды проходят без проблем: Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2006, 09:37 |
|
||
|
помогите со структурой
|
|||
|---|---|---|---|
|
#18+
Perederiyкак правильно написать структуру таблицы ? Cлишком абстрактный вопрос. Просто пара примеров структур, в принципе отвечающих условию: 1. Связь из таблицы "сам на себя" (кто является плательщиком для записи N) 2. Поля "номер группы" и "является плательщиком для остальных членов группы". Вряд ли хоть одна из них подходит для реального применения, но в принципе они соответствуют постановке задачи. Так что - уточняйте постановку. PerederiyБД сообщает что связь с таблицей Справочник лиц уже установлена - больше нельзя ! Убейте ее об стену. Но более вероятно, что не "БД сообщает", а "Вы пользуетесь кривым дизайнером таблиц" или "Вы что-то не так рисуете". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2006, 09:41 |
|
||
|
помогите со структурой
|
|||
|---|---|---|---|
|
#18+
1 Уточняю задачу есть старая прога с таблицей Priznak,ID организации,ID организации платящей за эту организации Примечание 1 Priznak - Плательщик, Не плательщик 2 Все находятся в этой же таблице те может быть Плательщик,1,1 (те организация ID1 является плательщиком и платит за себя) Плательщик,4,4 (те организация ID4 является плательщиком и платит за себя) Не плательщик,2,1 (те организация ID2 не является плательщиком и за нее платит ID1 ) Не плательщик,3,1 (те организация ID3 не является плательщиком и за нее платит ID1 ) Не плательщик,5,4 (те организация ID5 не является плательщиком и за нее платит ID4 ) Все это было в ОДНОЙ таблице и коды проставлялись ВРУЧНУЮ оператором Стоит задача как-то переделать это с учетом нормализации данных и тд 2 Насчет Таблица (ID лица, ID плательщика) Справочник лиц (ID лица, Наименование лица) Связи: Таблица(ID лица) N >-- 1 Справочник лиц (ID лица) Таблица (ID плательщика) N >-- 1 Справочник лиц(ID лица) Непонятно Если удалю из Справочник лиц лицо являющееся плательщиком, получается что для лица для которого оно являлось плательщиком вообще не будет никакого плательщика ? Или чего-то не понимаю ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2006, 10:20 |
|
||
|
помогите со структурой
|
|||
|---|---|---|---|
|
#18+
PerederiyСтоит задача как-то переделать это с учетом нормализации данных и тд "Как-то переделать" - это недостаточно конкретная постановка задачи. Для нормализации этой таблицы достаточно выкинуть первое поле (которое признак плательщика). Кроме того, я бы наверное обозначал самоплательщика как "ID плательщика" is null, а не как "ID плательщика" = "ID лица", но тут уже надо смотреть по месту. PerederiyЕсли удалю из Справочник лиц лицо являющееся плательщиком, получается что для лица для которого оно являлось плательщиком вообще не будет никакого плательщика ? Это вопрос к бизнес-логике вашей системы, что должно происходить в этом случае. По умолчанию система просто не даст удалить такое лицо, сработает foreign key restriction. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2006, 10:29 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=131&tid=1544962]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
74ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 341ms |

| 0 / 0 |
