Я довольно новичок в проектировании баз данных, у меня есть несколько вопросов о передовых практиках, и я действительно хотел бы учиться.
Я разрабатываю схему базы данных, у меня есть четкое представление о требованиях, и теперь вопрос состоит в том, чтобы сделать ее черно-белой.
В этой псевдо-базе данных у меня есть таблица клиентов, таблица заказов и таблица продуктов.
TBL_PRODUCTS:
ID
Описание
Подробнее
TBL_CUSTOMER:
ID
Имя
Адрес
TBL_ORDER:
ID
TBL_CUSTOMER.ID
prod1
prod2
prod3
и т.д.
Каждый «заказ» имеет только одного покупателя, но может иметь любое количество «продуктов».
Проблема в том, что в моем случае продукты для данного заказа могут быть любой суммы (сотни для одного заказа), кроме того, каждому продукту для заказа нужно больше, чем просто «количество», но они могут иметь значения которые охватывают страницы текста для конкретного продукта для конкретного заказа.
У меня вопрос, как я могу хранить эту информацию?
Предполагая, что я не могу сохранить массив переменной длины в качестве значения одного поля, другой вариант - иметь строку, которая каким-либо образом разделена и разделена по коду в приложении.
В заказе может быть указано, например, 100 товаров, каждый из которых имеет либо маленькое целое число, либо 5000 символов, либо свободный текст (или что-то среднее), уникальное только для этого заказа.
Кроме того, у каждого заказа должен быть свой собственный контрольный журнал, так как с ним может случиться много вещей в течение его срока службы.
Контрольный журнал будет содержать обычную информацию - пользователя, время / дату, действие и может быть любой длины.
Буду ли я хранить контрольный журнал для определенного заказа в его собственной таблице (поскольку они могут стать довольно длинными), созданной при создании заказа?
Есть ли места, где я мог бы больше узнать о методах проектирования баз данных?