Я искал stackoverflow приблизительно в течение часа теперь и не мог найти темы связанными, таким образом, я приношу извинения, если это - дублирующийся вопрос.
Мой запрос - это. Существует ли точка, в которой существует слишком много таблиц в базе данных? Даже если структура хорошо организована, продумала и отлично упрощает намерение дизайна? У меня есть база данных, которая быстро приближается к 40 таблицам - приблизительно 10 основных и более чем 30 вспомогательных таблиц (объединяющие таблицы, таблицы 'перечисления', и т.д.).
Я - просто плохой разработчик - или я должен пробовать что-то другое? Это походит на так многих мне, я действительно боюсь в том, как это повлияет на производительность проекта. Я сделал большое сжатие, если это возможно, сгруппировали подобные вещи, если это возможно, и т.д.
База данных создается в SQL Server 2008.
У вас должно быть ровно столько таблиц, сколько вам нужно; не больше и не меньше.
Одна из систем, над которой я работаю в эти дни, имеет 143 таблицы - потому что именно столько требуется для решения проблемы.
Не зная ничего о вашей конкретной базе данных, я бы сказал, что нет, вы не используете слишком много таблиц. Реальные проблемы и бизнес-потребности могут легко указать на схему, по крайней мере, такого же размера, как ваша. Я думаю, что реальный вопрос, который следует задать, заключается в том, подходит ли ваш дизайн для вашей проблемы.
Похоже, вы делаете все возможное, чтобы нормализовать базу данных. Это хорошая вещь. Часто проблемы возникают из-за нехватки таблиц.
Есть такая вещь, как слишком много таблиц, но 40 - это совсем не то. И когда люди начинают упираться в лимиты продукта, то обычно это тот момент, когда им нужно переосмыслить свой дизайн.
Для SQL server ограничения максимальной емкости говорят вам, что БД может содержать ~2000000000 таблиц (если она не содержит ничего другого, не имеет PKs или ограничений любого рода и т.д.). Само собой разумеется, если вы превысили этот предел, значит, вы делаете что-то не так (например, вы решили иметь 1 таблицу на клиента, и каким-то образом у вас появилось много клиентов)
.В моей собственной работе у меня около 60 таблиц, и это кажется не так уж много). Я думаю, что главное - это то, как организовано хранилище данных (отношения между таблицами и т.д.), сколько запросов вам нужно для получения необходимой информации и насколько просто ваши данные могут быть представлены в виде бизнес-объектов в вашем приложении.
Вы можете поместить все данные из ваших реальных таблиц в одну таблицу. Во второй таблице могут храниться только ваши «имена таблиц», и приложение по-прежнему будет работать.
Но дело не в этом.
Таблицы - это своего рода организационная структура. Это какие-то ящики.
У меня слишком много ящиков?
Это зависит…
LOL наша основная база данных имеет более 700 таблиц, я не работал с такой маленькой базой данных, в которой было бы всего 40 таблиц в течение многих и многих лет.
Пока у вас есть нужные таблицы и они правильно нормализованы, вы в порядке.
Я видел больше проблем с производительностью, вызванных слишком малым количеством таблиц, чем слишком большим.
Это действительно зависит от сложности приложения, которое вы пытаетесь реализовать. Такие вещи, как системы бухгалтерского учета, довольно интенсивны и легко достигают 40+ таблиц.
2147483648 таблиц или более могут вызывать проблемы с некоторыми механизмами. 9223372036854775808 таблиц или более могут вызывать проблемы с некоторыми другими.
(Но если ваш вопрос имел в виду, существует ли определенное число n такое, что проект базы данных с> n таблицами обязательно должен быть ошибочным, тогда нет.)