У меня возникла следующая проблема.Модель реляционной базы данных с реляционными таблицами?
Представьте реляционную базу данных с двумя таблицами, которые связаны:
Таблица пользователя
idUser | email | otherColumns
------ | ----------- | ------------
1 | [email protected] | ....
Таблица Билл
idBill | value | otherColumns
------ | ------| ------------
1 | 100$ | ....
Общая связь устанавливается с добавлением иностранного ключ к таблице счетов, чтобы связать каждый счет с одним пользователем. Несмотря на это, можно также создать промежуточную таблицу, как это:
реляционная таблица Билл Пользователь
id | idUser | idBill
------ | ------ | ------------
1 | 1 | 1
С помощью этой таблицы, мы достигаем того же результата, но я думаю, что с лучшей организацией. Является ли какой-либо из этих вариантов лучше других? Или в зависимости от контекста?
Наконец, я хочу знать, существует ли какой-либо стандарт для создания этих отношений.
Спасибо.
Не храните валюту в поле значений. Сделайте это поле числовым типом данных, а не текстовым типом данных. Это приведет к возникновению проблем позже, когда вы хотите сделать арифметику в этом столбце. – RiggsFolly
Я каждый раз делаю это на основе отношения. Если это 1: N, я использую первый вариант с одним внешним ключом, если есть отношение M: N Я использую промежуточную таблицу. Я думаю, что нет необходимости создавать следующую таблицу, если это отношение 1: N. Вы должны выделить больше места, а следующая таблица для кого-то может затруднить чтение сложного дизайна базы данных. – Bulva