powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как оптимальнее хранить небольшие списки в базе?
12 сообщений из 12, страница 1 из 1
Как оптимальнее хранить небольшие списки в базе?
    #32761562
Alex112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сейчас в mdb с данными есть неколько (14) небольших таблиц (до 100 записей) с 2 полями:

Id
Name

Из названий таблиц вижу что в них хранится. Удобно, в принципе.

Но вот пришла в голову мысль: а что если все эти списки затолкнуть в одну таблицу, в которую добавить третье поле, вроде:

List_id

по которому потом вытаскивать нужный список. Станет немного ненаглядно. И в запросе, где, например, раньше фигурировали 3 разных таблицы со списками, теперь новая таблица будет присутствовать 3 раза.

Вопрос. Стоит ли с этим заморачиваться? Есть ли какие преимущества второго варианта перед первым?

База сетевая. С этим mdb работает 15-20 компов.
...
Рейтинг: 0 / 0
Как оптимальнее хранить небольшие списки в базе?
    #32761571
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
Вопрос. Стоит ли с этим заморачиваться? Есть ли какие преимущества второго варианта перед первым?



приемущество в том, что добавление нового списка не влечет за собой добавление новой таблицы, да и обращение ко всем спискам можно реализовать одним запросом, передавая ему в качестве параметра List_id, ну и ещё какие-нить бонусы.

а минусов особых нет

IMHO объединяй в одну таблицу.
...
Рейтинг: 0 / 0
Как оптимальнее хранить небольшие списки в базе?
    #32761589
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Минусы появятся, как только эти справочники начнут обрастать дополнительными характеристиками.
На предыдущем месте работы я как раз разграбал такое безобразие, когда два десятка справочников в одну таблицу были слиты.

Плюсов, кстати, такое решение и не имеет на самом деле.
Все равно ведь будет лениво каждый раз писать "Select ID, Name Form Справочники Where ListID=XXX"? Поэтому очень скоро начнется сохранение таких запросов в базе.
И получается - что лишнюю таблицу сделать, что лишний запрос написать.

З.Ы. Еще минус объединения. Про ссылочную целостность можно забыть.
З.З.Ы. Да и вообще, разные сущности нефиг хранить в одном месте.
...
Рейтинг: 0 / 0
Как оптимальнее хранить небольшие списки в базе?
    #32761594
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
Все равно ведь будет лениво каждый раз писать "Select ID, Name Form Справочники Where ListID=XXX"? Поэтому очень скоро начнется сохранение таких запросов в базе.



можно и один запрос типа Select ID, Name Form Справочники Where ListID=[parListID] :)

согласен с тем, что это вопрос спорный
...
Рейтинг: 0 / 0
Как оптимальнее хранить небольшие списки в базе?
    #32761604
Alex112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Меня примерно такие же мысли посетили. Спасибо. Но вот остается еще вопрос:

Что дает меньшую нагрузку на сеть в примере запроса, который привел выше, первый или второй вариант? Или несмотря на то, что во втором варианте, новая таблица фигурирует в запросе 3 раза, данные из нее будут скачаны за 1 раз? Или я не прав?
...
Рейтинг: 0 / 0
Как оптимальнее хранить небольшие списки в базе?
    #32761612
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я так думаю, что меньшую нагрузку на сеть даст первый вариант
а по поводу сколько раз Access будет обращатся к таблице во втором варианте - это одному оптимизатору запросов известно, хотя может ЛП и знает.
...
Рейтинг: 0 / 0
Как оптимальнее хранить небольшие списки в базе?
    #32761621
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще-то при цифрах "14 таблиц, до 100 записей" о количестве обращений можно не думать.
...
Рейтинг: 0 / 0
Как оптимальнее хранить небольшие списки в базе?
    #32761632
Alex112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Лох Позорный

Это понятно. Вопрос в принципе.
...
Рейтинг: 0 / 0
Как оптимальнее хранить небольшие списки в базе?
    #32761642
Crowl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть общепринятое правило построения реляционных баз данных: одна сущность - одна таблица. Как у всякого закона, у него есть исключения, но принцип должен быть один: если можешь не нарушать - не нарушай. По опыту - только так кажется, что если создать универсальный справочник, всунув туда еще одну колонку, то легче будет. На самом деле любая база развивается, и однажды эта фишка начнет сильно мешать.
...
Рейтинг: 0 / 0
Как оптимальнее хранить небольшие списки в базе?
    #32766203
Slider_brand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня есть небольшой опыт по созданию универсального справочника. Только вместо добавления поля я добавил таблицу, обеспечивающие описание групп и связи между ними (Типа GroupID, CodeId), это дает больший универсализм. Сейчас в справочнике полторы тысячи групп. Как представлю, что это могло быть полторы тысячи таблиц, жуть берет :)
...
Рейтинг: 0 / 0
Как оптимальнее хранить небольшие списки в базе?
    #32766232
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если справочники однотипные, то да, а если справочники значительно отличаются, то разные таблицы :)
...
Рейтинг: 0 / 0
Как оптимальнее хранить небольшие списки в базе?
    #32767139
N_A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я пользуюсь 2-мя связанными таблицами
Грубо говоря одана - вид справочников (22 записи)
вторая сами справочники (300 записей).
Имхо это удобнее чем 22 таблицы.
А еще мне нравится открывать таблицу "вид справочников", выбирать нужный справочник и открывать его в виде подчиненной таблицы.
Разумеется, это второстепенные справочники, для которых не требуется обеспечение целостности ибо ввод через поле со списком отлично обеспечивает его. (Кстати, если есть уверенность, что ваш интерфес при вводе данных не позволяет нарушить целостность её можно отключить, чтобы ускорить ввод данных).
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как оптимальнее хранить небольшие списки в базе?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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