Есть ли такая вещь как слишком много таблиц?

Я искал stackoverflow приблизительно в течение часа теперь и не мог найти темы связанными, таким образом, я приношу извинения, если это - дублирующийся вопрос.

Мой запрос - это. Существует ли точка, в которой существует слишком много таблиц в базе данных? Даже если структура хорошо организована, продумала и отлично упрощает намерение дизайна? У меня есть база данных, которая быстро приближается к 40 таблицам - приблизительно 10 основных и более чем 30 вспомогательных таблиц (объединяющие таблицы, таблицы 'перечисления', и т.д.).

Я - просто плохой разработчик - или я должен пробовать что-то другое? Это походит на так многих мне, я действительно боюсь в том, как это повлияет на производительность проекта. Я сделал большое сжатие, если это возможно, сгруппировали подобные вещи, если это возможно, и т.д.

База данных создается в SQL Server 2008.

16
задан John Saunders 20 March 2010 в 05:15
поделиться

9 ответов

У вас должно быть ровно столько таблиц, сколько вам нужно; не больше и не меньше.

Одна из систем, над которой я работаю в эти дни, имеет 143 таблицы - потому что именно столько требуется для решения проблемы.

16
ответ дан 30 November 2019 в 17:27
поделиться

Не зная ничего о вашей конкретной базе данных, я бы сказал, что нет, вы не используете слишком много таблиц. Реальные проблемы и бизнес-потребности могут легко указать на схему, по крайней мере, такого же размера, как ваша. Я думаю, что реальный вопрос, который следует задать, заключается в том, подходит ли ваш дизайн для вашей проблемы.

2
ответ дан 30 November 2019 в 17:27
поделиться

Похоже, вы делаете все возможное, чтобы нормализовать базу данных. Это хорошая вещь. Часто проблемы возникают из-за нехватки таблиц.

4
ответ дан 30 November 2019 в 17:27
поделиться

Есть такая вещь, как слишком много таблиц, но 40 - это совсем не то. И когда люди начинают упираться в лимиты продукта, то обычно это тот момент, когда им нужно переосмыслить свой дизайн.

Для SQL server ограничения максимальной емкости говорят вам, что БД может содержать ~2000000000 таблиц (если она не содержит ничего другого, не имеет PKs или ограничений любого рода и т.д.). Само собой разумеется, если вы превысили этот предел, значит, вы делаете что-то не так (например, вы решили иметь 1 таблицу на клиента, и каким-то образом у вас появилось много клиентов)

.
2
ответ дан 30 November 2019 в 17:27
поделиться

В моей собственной работе у меня около 60 таблиц, и это кажется не так уж много). Я думаю, что главное - это то, как организовано хранилище данных (отношения между таблицами и т.д.), сколько запросов вам нужно для получения необходимой информации и насколько просто ваши данные могут быть представлены в виде бизнес-объектов в вашем приложении.

0
ответ дан 30 November 2019 в 17:27
поделиться
​​

Вы можете поместить все данные из ваших реальных таблиц в одну таблицу. Во второй таблице могут храниться только ваши «имена таблиц», и приложение по-прежнему будет работать.

Но дело не в этом.
Таблицы - это своего рода организационная структура. Это какие-то ящики.

У меня слишком много ящиков?

Это зависит…

0
ответ дан 30 November 2019 в 17:27
поделиться

LOL наша основная база данных имеет более 700 таблиц, я не работал с такой маленькой базой данных, в которой было бы всего 40 таблиц в течение многих и многих лет.

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

Я видел больше проблем с производительностью, вызванных слишком малым количеством таблиц, чем слишком большим.

6
ответ дан 30 November 2019 в 17:27
поделиться

Это действительно зависит от сложности приложения, которое вы пытаетесь реализовать. Такие вещи, как системы бухгалтерского учета, довольно интенсивны и легко достигают 40+ таблиц.

1
ответ дан 30 November 2019 в 17:27
поделиться

2147483648 таблиц или более могут вызывать проблемы с некоторыми механизмами. 9223372036854775808 таблиц или более могут вызывать проблемы с некоторыми другими.

(Но если ваш вопрос имел в виду, существует ли определенное число n такое, что проект базы данных с> n таблицами обязательно должен быть ошибочным, тогда нет.)

1
ответ дан 30 November 2019 в 17:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: