2014-02-03 3 views
0

Я хотел получить несколько советов о том, как хранить данные счета в базе данных mysql.Хранение счетов в MySQL

Мой первый понимание будет иметь две таблицы ..

счетов-фактур & Invoice_rows ..

Счета-фактуры проведет FK для ID клиента, номер счета, дату выставления счета, оплаченные или неоплаченный флаг

Invoice_rows будет содержать все предметы для выставления счета, FK для счетов-фактур, описания ион, цена, налог

Только после того, как счет был создан, его, возможно, необходимо будет обновить .. орфографическая ошибка, дополнительный элемент, который необходимо добавить и т. д. Поэтому для этого мне сначала нужно будет запросить, чтобы получить все строки, тогда мне нужно будет выполнять несколько обновлений для всех строк каждый раз при внесении изменений.

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

Любые рекомендации, направленные на то, чтобы сделать это эффективным и легким в работе, являются наиболее ценными!

+1

Зачем вам нужно обновлять все строки при наличии орфографической ошибки? Просто найдите строку, которую необходимо обновить, и обновите ее. – bozdoz

+0

Но давайте скажем, что у вас есть все присутствующие строки и кнопка сохранения. Вы можете изменить все, что связано с фактурой, за один раз, нажав кнопку сохранения, как я могу определить, что было и не было изменено. Я хочу предложить что гибкость для моих пользователей без предоставления кнопки сохранения для каждой отдельной строки или без использования AJAX – AJC

+0

AJAX может быть лучше: это зависит. Вы можете использовать обработчик изменений с javascript на входах, а затем, когда они нажмут «Сохранить», отправьте только измененную информацию. – bozdoz

ответ

0

Просто отследите изменения в интерфейсе и вызовите метод AJAX, когда они будут выполнены. Метод должен принимать номер счета и любые обновленные строки, включая PK.

Do NOT магазин JSON в базе данных. Это было бы ужасно. JSON - это всего лишь полезный механизм для транзита и ваш выбор пользовательского интерфейса. Это не ваши данные, а временное его преобразование.

+0

Звучит как лучший вариант. Спасибо за второе мнение! – AJC

Смежные вопросы