powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Ламерский вопрос по нормализации и справочникам
15 сообщений из 15, страница 1 из 1
Ламерский вопрос по нормализации и справочникам
    #32699785
mift
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
предположим была таблица клиентов: КлиентID, ФормаСобственности, Название

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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