Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Ламерский вопрос по нормализации и справочникам / 15 сообщений из 15, страница 1 из 1
17.09.2004, 13:31:35
    #32699785
mift
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ламерский вопрос по нормализации и справочникам
предположим была таблица клиентов: КлиентID, ФормаСобственности, Название

после нормализации стала таблица: КлиентID, ФормаСобственностиID, Название
и справочник: ФормаСобственностиID, ФормаСобственности

Пользователь работает с обьединением этих таблиц по ФормаСобственностиID, и может редактировать справочник.

Предположим он удалил в справочнике запись, например "ЗАО", потом одумался, и вставил снова. При этом поменялся ФормаСобственностиID и соответственно ранее введенные записи с "ЗАО" в обьединении таблиц он не видит.

Как лучше всего предупреждать такие штуки? Просто показывать предупреждение - не спасет, по моему.
...
Рейтинг: 0 / 0
17.09.2004, 13:34:15
    #32699801
kedzo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ламерский вопрос по нормализации и справочникам
сделать связь один ко многим. Тогда не даст удалить "ЗАО" никак!
просто не удалит и все, при этом будет сильно ругаться...
...
Рейтинг: 0 / 0
17.09.2004, 13:40:52
    #32699824
Shuhard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ламерский вопрос по нормализации и справочникам
1 схема данных - обеспечение целостности - каскадные операции
удаляются ЗАО вместе с клиентами
2 идеологически неверный способ - справочники не должны допускать Update/Delete - после Insert менять их низяяяя!
(вернее для этого есть отдельная роль - администратор справочников)
...
Рейтинг: 0 / 0
17.09.2004, 13:48:26
    #32699842
kedzo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ламерский вопрос по нормализации и справочникам
1. если указать обеспечение целостности, то он не удалит запись из справочника, до тех пор пока в таблице клиентов есть хоть одна запись, которая использует удаляемую запись из справочника.

2. а вот с переименованием сложнее...
...
Рейтинг: 0 / 0
17.09.2004, 13:53:18
    #32699872
Alexander Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ламерский вопрос по нормализации и справочникам
to Kedzo
А чем сложнее если связь по ID?
...
Рейтинг: 0 / 0
17.09.2004, 14:28:35
    #32699956
kedzo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ламерский вопрос по нормализации и справочникам
сложнее, что это вроде удобно - переименовал, и все везде стало по новому, но опять-таки как писал Shuhard - это должен делать компетентный человек,
а если надо документы дать задним числом? (это вообще, отдельная больная песня) и давай туды-сюды форму собственности гонять :)
...
Рейтинг: 0 / 0
17.09.2004, 16:38:31
    #32700237
mift
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ламерский вопрос по нормализации и справочникам
Вот еще вопрос по теме.

Ясно, как таблицу: "КлиентID, ФормаСобственностиID, Название"

через Combobox на табличную форму вывести как: "КлиентID, ФормаСобственности, Название"

А как быть, если значений "ФормаСобственности" очень много и ComboBox не подходит?
...
Рейтинг: 0 / 0
17.09.2004, 16:53:56
    #32700279
Лифчик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ламерский вопрос по нормализации и справочникам
MiftВот еще вопрос по теме.

Ясно, как таблицу: "КлиентID, ФормаСобственностиID, Название"

через Combobox на табличную форму вывести как: "КлиентID, ФормаСобственности, Название"

А как быть, если значений "ФормаСобственности" очень много и ComboBox не подходит?Сокращать количество форм собственности. Активнее проводить национализацию...

ЗЫ Что за страна такая, в которой в комбобокс не влезает?
...
Рейтинг: 0 / 0
17.09.2004, 17:01:45
    #32700293
mift
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ламерский вопрос по нормализации и справочникам
To Лифчик

Это я обобщил чуть.

Если реальный случай, то скажем, таблицы продаж и справочник к ней - клиенты фирмы. клиентов может быть несколько тысяч.
...
Рейтинг: 0 / 0
17.09.2004, 18:37:55
    #32700476
Лифчик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ламерский вопрос по нормализации и справочникам
MiftTo Лифчик

Это я обобщил чуть.

Если реальный случай, то скажем, таблицы продаж и справочник к ней - клиенты фирмы. клиентов может быть несколько тысяч.Тогда подформа выбора должна быть вместо комбобокса. Со своим поиском и фильтрацией. Например, клиенты могут быть разных форм собственности, из разных городов и проч.
...
Рейтинг: 0 / 0
20.09.2004, 10:11:49
    #32701617
mift
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ламерский вопрос по нормализации и справочникам
ЛифчикТогда подформа выбора должна быть вместо комбобокса. Со своим поиском и фильтрацией. Например, клиенты могут быть разных форм собственности, из разных городов и проч. Не очень понятно, извините. Предположим есть справочник клиентов: КлиентID, Клиент

Есть таблица заказов, например: ЗаказID, КлиентID, Заказ

Нужно сделать табличную форму для ввода/редактирования типа: Клиент, Заказ

Что-бы на форме была таблица типа:
Мясокомбинат "Буренка"; 10 бычков
Прод. магазин; ящик тушенки

Клиентов очень много - через Combobox выбор сделать не получится.
Как лучше сделать выбор?
...
Рейтинг: 0 / 0
20.09.2004, 10:32:01
    #32701657
Hummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ламерский вопрос по нормализации и справочникам
Через отдельную табличную форму для выбора клиентов. Такую форму легко сделать универсальной.
...
Рейтинг: 0 / 0
20.09.2004, 10:53:30
    #32701702
Лифчик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ламерский вопрос по нормализации и справочникам
Я бы сделал так. В основной форме (Заказы) оставил комбобокс для выбора
В таблице клиентов ввел дополнительные поля - например, категория клиента (магазин, мясокомбинат), территориальная принадлежность, еще какие-то признаки, про которые Вы знаете, а мы - нет. По ДблКлику в поле клиента загружал форму след.вида:
Главная форма, где стоят комбобоксы для выбора из категории (форма собственности, тип клиента (магазин, мясокомбинат, скотомогильник), территориальная принадлежность и пр.) и подчиненная форма, где клиенты фильтруются в зависимости выбора, сделанного в главной форме. Тогда, последовательно выбрав признаки в подчиненной получим обозримое подмножество клиентов. ДблКлик на выбранном клиенте кидает его код (ClientID) на исходную форму.
...
Рейтинг: 0 / 0
26.09.2004, 11:15:44
    #32711794
mift
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ламерский вопрос по нормализации и справочникам
Кстати, какой английский эквивалент термину "справочник" ?
dictionary ?

В базе все обозначения на английском.
...
Рейтинг: 0 / 0
26.09.2004, 12:52:21
    #32711814
AlTis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ламерский вопрос по нормализации и справочникам
я делаю с префиксом ref_ (от references).
Но на самом деле для всех простых справочников (идентификатор, значение)
более правильно использовать 2 табл:
- название справочников
- значения
и все справочники хранить в этой структуре.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Ламерский вопрос по нормализации и справочникам / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]