Мы работаем на платформе бронирования билетов, где пользователь выбирает количество билетов, заполняет формы участников и производит оплату. На уровне базы данных мы сохраняем запись транзакции для одной транзакции в таблице и нескольких записей участника в другой таблице. Таким образом, связь между таблицей транзакций и таблицей посетителя имеет отношение one to many
.Хорошо ли объединить две таблицы базы данных?
Transaction Таблица:
txnId | order id | buyer name | buyer email | amount | txn_status | attendee json | ....
Attendee Таблица:
attendeeId | order id | attendee name | attende email | ......
Теперь вы можете подумать: "Почему я должен Attendee в JSON таблице транзакций?". Ну, ответ заключается в том, что когда пользователь инициирует транзакцию, мы сохраняем данные участника в json и отмечаем транзакцию как ИНИЦИАТИВ. После успешной транзакции одна и та же транзакция будет отмечена как SUCCESS, и участник json будет сохранен в таблице Attendee. Кроме того, мы используем данные json, чтобы показать посетителям deatils организатору на панели инструментов, таким образом, мы сохранили базу данных, попавшую в таблицу посетителя. И посетитель json не запрашивается, поэтому у нас есть таблица посетителей, чтобы уволить требуемые запросы.
Вопрос: Теперь по какой-то причине мы думаем о слиянии этих таблиц и удалении столбца json. И предположим, что если транзакция началась для 4 участников, мы думаем создать четыре записи транзакций. И у нас есть алгоритм для показа этих записей как один на панели инструментов. Как это повлияет на производительность, если я пойду на этот подход? Каковы будут ваши предложения?
Теперь таблица будет выглядеть следующим образом:
txnId | order id | buyer name | buyer email | amount | txn_status | attendee name | attendee email ....
1 | 123 | abc | [email protected] | 100 | SUCCESS | xyz | [email protected]
2 | 123 | abc | [email protected] | 100 | SUCCESS | pqr | [email protected]
[Каждый неключевой атрибут должен обеспечить факт о ключе, весь ключ, и ничего, кроме ключа.] (Http://en.wikipedia.org/wiki/Third_normal_form) – mmmmmpie