Сколько таблиц в базе данных
Уважаемые разработчики,
подскажите, пожалуйста, сколько (максимально) можно создать таблиц в базе Access 2000?
в Access 2002 написано, что «Число объектов в базе данных 32 768»,
т.е. таблиц можно создпть не более чем
32 768 минус количество системных объектов базы данных.
тогда уточняю вопрос. а скольео этих самых системных объектов базы данных в 2000-ой версии?
Сообщение отредактировано: tomsksmile — 05.09.06, 12:07
Сообщ. #2 , 05.09.06, 13:00

Рейтинг (т): 352
Цитата tomsksmile @ 05.09.06, 11:56
«Число объектов в базе данных 32 768»,
Цитата tomsksmile @ 05.09.06, 11:56
тогда уточняю вопрос. а скольео этих самых системных объектов базы данных в 2000-ой версии?
Объекты базы данных. База данных Microsoft Access может содержать таблицы, запросы, формы, отчеты,
страницы доступа к данным, макросы и модули.
Проект Microsoft Access может содержать такие объекты как формы, отчеты, страницы макросы и модули..
А по простому все что есть в БД то есть обьект.
Сообщ. #3 , 05.09.06, 13:42
Рейтинг (т): 6
Bas, про объекты я понял. Изначально в пустой базе данных системных объектов фиксированное число и их несколько десятков.
меня просто покоробила фраза:
В отличие от других настольных СУБД, Access хранит все данные в одном файле, хотя и распределяет их по разным таблицам. Вы можете создать сколько угодно таблиц , используя те правила, которые были описаны выше. Самым важным правилом, которое необходимо соблюдать, является то, что в базе данных нужно хранить только необходимую информацию, и при этом все данные должны храниться только в одном месте.
действительно нельзя создать бесконечно много таблиц.
Основные понятия о таблицах базы данных
Для одной таблицы создается несколько файлов, содержащих данные, индексы, ключи и т.п. Имя главного файла таблицы (файла, содержащего данные) – оно же является именем таблицы – задается при создании таблицы. Имена остальных файлов таблицы назначаются автоматически, причем имена всех этих файлов совпадают с именем таблицы, за исключением расширений имен; разные расширения указывают на содержимое соответствующего файла.
Каждая таблица БД, состоящая из строк и столбцов, предназначена для хранения информации об однотипных объектах системы. Строка таблицы называется записью , а столбец таблицы — полем .
В таблицах могут определяться ключи и индексы. Ключ – это комбинация полей, данные в которых однозначно определяют каждую запись в таблице. Простой ключ состоит из одного поля, а сложный (составной) – из нескольких полей. Поля, по которым построен ключ, называются ключевыми . Ключ служит для однозначной идентификации записей таблицы, а также для предотвращения повторений значений ключа. При этом значения отдельных полей составного ключа могут повторяться. Такой ключ называется первичным ключом.
Индекс , как и ключ, строится по полям таблицы, однако он может допускать повторение значений составляющих его полей. Поля, по которым построен индекс, называют индексными . Индексы именуются при их создании. Индекс служит для сортировки таблиц по индексным полям. Кроме того, при использовании индексирования повышается скорость поиска данных в таблице.
В таблице приведен список типов полей таблиц dBASE, а также описание значений, которые может содержать поле рассматриваемого типа.
Строка символов. Длина не более 255 символов
Спецификации Access
Эта статья содержит сведения об ограничениях для файлов и объектов баз данных Microsoft Access. В большинстве случаев превышение перечисленных ниже ограничений для базы данных указывает на проблему с ее структурой. Используя информацию, приведенную в этой статье, и тщательно проверив структуру базы данных, вы сможете найти недочеты, которые необходимо устранить для успешного внедрения. Например, импорт данных непосредственно из Microsoft Excel в Access без нормализации может привести к созданию дополнительных полей (столбцов). Если вам нужна информация о проектировании баз данных или нормализации, воспользуйтесь ссылками в разделе Дополнительные сведения.
В этой статье
- Спецификации базы данных
- Спецификации проекта
- Дополнительные сведения
Спецификации базы данных
Сведения в приведенных ниже таблицах относятся к базам данных Access. Различия конкретных версий (если они есть) упоминаются отдельно
Общие спецификации
Максимальное значение
Общий размер базы данных Access (ACCDB- или MDB-файла), включая все объекты и данные
2 ГБ за вычетом места, необходимого для системных объектов.
Примечание: Это ограничение можно обойти, создав связи с таблицами из других баз данных Access. Вы можете создать связи с таблицами из нескольких файлов баз данных, максимальный размер каждого из которых составляет 2 ГБ.
Общее количество объектов в базе данных
Количество модулей (включая формы и отчеты, у которых свойство HasModule имеет значение Истина)
Количество символов в имени объекта
Количество символов в пароле
Примечание: В Access 2007 пароль может содержать 20 символов.
Количество символов в имени пользователя или группы
Количество одновременно работающих пользователей
Таблица
Максимальное значение
Количество символов в имени таблицы
Количество символов в имени поля
Количество полей в таблице
Количество открытых таблиц
Для Microsoft 365 версий Access, 4096, включая связанные таблицы и таблицы, открытые внутри Access.
Для версий Access, отличных отMicrosoft 365, 2048, включая связанные таблицы и таблицы, открытые внутри Access.
2 ГБ за вычетом места, необходимого для системных объектов
Количество символов в поле «Короткий текст»
Примечание: В Access 2013 и более поздних версий поля «Текст» заменены полями «Короткий текст».
Количество символов в поле «Длинный текст»
Примечание: В Access 2013 и боле поздних версий поля Memo заменены полями «Длинный текст».
65 535 при вводе данных через пользовательский интерфейс;
1 гигабайт хранения символов при вводе данных программным способом
Размер поля «Объект OLE»
Количество индексов в таблице
32, включая индексы для внутренних целей (созданные для поддержки связей между таблицами), индексы по одному полю и составные индексы
Количество полей в индексе или первичном ключе
Количество символов в сообщении о проверке
Количество символов в правиле проверки, включая знаки пунктуации и операторы
Количество символов в описании поля или таблицы
Количество символов в записи (кроме полей «Длинный текст» и «Объект OLE»), когда для свойства полей UnicodeCompression задано значение Да
Количество символов в значении свойства поля
Запрос
Максимальное значение
Количество установленных связей
32 на одну таблицу за вычетом количества индексов этой таблицы, созданных для полей или сочетаний полей, которые не участвуют в связях *
Количество таблиц в запросе
Количество соединений в запросе
Количество полей в наборе записей
Размер набора записей
255 символов в одном или нескольких полях
Количество уровней вложенности запросов
Количество символов в ячейке в бланке запроса
Количество символов для параметра в запросе с параметрами
Количество операторов AND в предложении WHERE или HAVING
Количество символов в инструкции SQL
Приблизительно 64 000 *
* Максимальные значения могут быть меньше, если запрос содержит многозначные поля подстановки (только для ACCDB-файлов).
Форма и отчет
Максимальное значение
Количество символов в метке
Количество символов в текстовом поле
Ширина формы или отчета
22,75 in. (57,79 см)
22.75 in. (57,79 см)
Высота всех разделов вместе с заголовками (в Конструкторе)
Количество уровней вложенности форм или отчетов
Количество полей или выражений, которые можно сортировать или группировать в отчете
Количество заголовков и примечаний в отчете
1 верхний и нижний колонтитул отчета;
1 колонтитул страницы;
10 колонтитулов группы
Количество печатных страниц в отчете
Количество элементов управления и разделов, которые можно добавить в течение жизненного цикла формы или отчета
Количество символов в инструкции SQL, которая служит свойством Recordsource или Rowsource для формы, отчета или элемента управления.
Макрос
Максимальное значение
Количество макрокоманд в макросе
Количество символов в условии
Количество символов в комментарии
Количество символов в аргументе макрокоманды
Спецификации проекта
Следующий список таблиц относится к проектам Access ADP:
Общие спецификации
Максимальное значение
Количество объектов в проекте Access (ADP-файле)
Количество модулей (включая формы и отчеты, у которых свойство HasModule имеет значение Истина)
Количество символов в имени объекта
Количество столбцов в таблице
250 (Microsoft SQL Server 6.5)
1024 (Microsoft SQL Server 7.0, 2000 и 2005)
Форма и отчет
Максимальное значение
Количество символов в метке
Количество символов в текстовом поле
Ширина формы или отчета
Высота всех разделов вместе с заголовками (в Конструкторе)
Количество уровней вложенности форм или отчетов
Количество полей или выражений, которые можно сортировать или группировать в отчете
Количество заголовков и примечаний в отчете
1 верхний и нижний колонтитул отчета;
1 колонтитул страницы;
10 колонтитулов группы
Количество печатных страниц в отчете
Количество элементов управления и разделов, которые можно добавить в течение жизненного цикла формы или отчета
Количество символов в инструкции SQL, служащей значением свойства Recordsource или Rowsource формы, отчета или элемента управления (для ACCDB- и ADP-файлов)
Макрос
Максимальное значение
Количество макрокоманд в макросе
Количество символов в условии
Количество символов в комментарии
Количество символов в аргументе макрокоманды
Дополнительные сведения
- Основные сведения о создании баз данных
- Структура базы данных Access
- Защита данных с помощью резервного копирования и восстановления

Нужна дополнительная помощь?
Нужны дополнительные параметры?
Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.




В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.
Форум пользователей MySQL
Здравствуйте!
Подскажите пожалуйста, существуют ли ограничения на количество таблиц в базе данных MySQL?
Есть проект в котором для каждого пользователя хочу создавать отдельную таблицу. Будет ли это решение оптимальнее, чем одна огромная таблица для всех пользователей?
#2 10.06.2011 22:51:19
evgeny Гуру Зарегистрирован: 04.05.2009 Сообщений: 335
Re: Количество таблиц в базе данных MySQL
Вот цитата из одного источника
Кол-во таблиц и количество записей не лимитируются.
Кол-во таблиц myisam зависит от ограничения ОС в размещении нужного количества файлов (кол-во таблиц * 3) и от объема несущих дисков.
Для InnoDB — это ограничение на размер одного файла, но можно создавать сколько угодно файдов для хранения. Объем ограничивается размером дисков.
Количество записей в одной таблице ограничивается объемом несущих дисков для любого типа таблиц. Для InnoDB можно разбивать базу и таблица будет занимать место в нескольких базах. В MyIsam можно разбивать таблицу на несколько и пользоваться таблицей merge для просмотра всей таблицы. Размер одной таблицы ограничивается максимаьным размером файла в ОС.
nexus написал:
Будет ли это решение оптимальнее, чем одна огромная таблица для всех пользователей?
Нет, это не правильное решение.
Делайте одну таблицу.
Есть много решений для масштабирования. А каком количестве записей вообще идёт речь ?
#3 10.06.2011 23:57:21
nexus Завсегдатай Зарегистрирован: 26.11.2010 Сообщений: 35
Re: Количество таблиц в базе данных MySQL
Все будет зависить от развития проекта. Чем больше будет пользователей тем больше будет записей. Каждый пользователь может создавать формы, результаты которой будут заноситься в базу. У каждого пользователя может быть не ограниченное количество форм и полей в форме. Как тогда лучше организовать структуру базы данных? Я думал создать два таблицы: в одну писать id формы, дату и еще какую-то служебную информацию, а в другую таблицу заносить результаты формы:
CREATE TABLE IF NOT EXISTS `site_questionnaire` (
`questionnaire_id` int ( 11 ) NOT NULL AUTO_INCREMENT ,
`project_id` int ( 11 ) NOT NULL ,
` addtime ` int ( 11 ) NOT NULL ,
`user_ip` int ( 10 ) unsigned NOT NULL ,
PRIMARY KEY ( `questionnaire_id` )
) ENGINE = MyISAM DEFAULT CHARSET =utf8;
CREATE TABLE IF NOT EXISTS `site_response` (
`response_id` int ( 11 ) NOT NULL AUTO_INCREMENT ,
`questionnaire_id` int ( 11 ) NOT NULL ,
`item_id` int ( 11 ) NOT NULL ,
`response` text NOT NULL ,
PRIMARY KEY ( `response_id` )
) ENGINE = MyISAM DEFAULT CHARSET =utf8;
Насколько правильной будет такая структура данных и как она себе поведет при большом количестве записей?