Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> База, расширяемая в обе стороны, как сделать? 
:(
    Опции темы
Guest45
  Дата 28.2.2017, 05:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 199
Регистрация: 24.5.2009

Репутация: нет
Всего: нет



Как сделать такую таблицу, чтобы ее можно было расширять "в обе стороны": то есть добавлять как строки (записи), так и столбцы?


Что представляют собой данные.
Каждая запись- это предмет, обладающий рядом признаков.
Столбцы это битовые поля: есть данный признак у данного предмета, или нет.

Проблема в том, что у каждого предмета свой собственный набор признаков: некоторые те же, что у других, некоторые - новые, и заранее их количество и распределение неизвестно.
Поэтому вместе с добавлением записей придется добавлять и столбцы (новые признаки).

Подскажите, как бы получше сделать такую базу?

MS ACCESS позволяет добавлять в таблицу новые столбцы. Но до какой степени? Если их окажется тысяч несколько? Не рухнет ли всё это дело?
Обидно будет потерять после огромную работу, если на каком-то этапе база сделается неработоспособной (вбиваться будет в ручную). Лучше подумать заранее об оптимальной структуре.

Удаление записей и столбцов не предполагается (только на этапе начальной отладки).

Будет делаться на Access2000.

PM MAIL   Вверх
Akina
Дата 28.2.2017, 07:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 453



Цитата(Guest45 @  28.2.2017,  06:12 Найти цитируемый пост)
как бы получше сделать такую базу?

Почитать про EAV.

Цитата(Guest45 @  28.2.2017,  06:12 Найти цитируемый пост)
MS ACCESS позволяет добавлять в таблицу новые столбцы. Но до какой степени?

254. Причём это с учётом удалённых после последнего сжатия БД.

Цитата(Guest45 @  28.2.2017,  06:12 Найти цитируемый пост)
Столбцы это битовые поля: есть данный признак у данного предмета, или нет.

Ну так и используйте блобы.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Guest45
Дата 28.2.2017, 09:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 199
Регистрация: 24.5.2009

Репутация: нет
Всего: нет



Спасибо за ответ!

А блобы это что? Сорь за невежество.
А про EAV Гугль отсылает к антивирусам. (Явно не в тему)


PM MAIL   Вверх
Akina
Дата 28.2.2017, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 453



Цитата(Guest45 @  28.2.2017,  10:15 Найти цитируемый пост)
блобы это что?

BLOB
В Access в старых терминах это "поле МЕМО", в новых - "длинный текст".

Цитата(Guest45 @  28.2.2017,  10:15 Найти цитируемый пост)
про EAV Гугль отсылает к антивирусам

У тебя какой-то неправильный гугль... может. версия старая? у меня первая же ссылка - EAV.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Guest45
Дата 28.2.2017, 17:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 199
Регистрация: 24.5.2009

Репутация: нет
Всего: нет



Цитата(Akina @ 28.2.2017,  11:17)
это "поле МЕМО" 
 А; это (если я правильно понимаю мысль) предлагается организовать строку для хранения, и потом выловить из нее нужные биты?
Вариант технически возможный,  но тогда к чему СУБД; обыкновенный двумерный массив в VB6 решит задачу.

Цитата(Akina @ 28.2.2017,  11:17)
 У тебя какой-то неправильный гугль... может. версия старая? 
 Не-а; просто я искал объяснение по-русски.

PM MAIL   Вверх
Akina
Дата 28.2.2017, 18:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 453



Цитата(Guest45 @  28.2.2017,  18:55 Найти цитируемый пост)
обыкновенный двумерный массив в VB6 решит задачу.

Если хранение и обработку проще организовать так - почему бы нет? особенно если массив данных невелик... 
Но, как я понимаю, вопрос ставился немного иначе.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS Access"
Akina
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] и [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Access | Следующая тема »


 




[ Время генерации скрипта: 0.1401 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.