Руководство по разработке база данных для системы заказов в ресторанах в Mysql обоснование выбора программных продуктов для создания


Download 2.65 Mb.
Pdf ko'rish
bet26/34
Sana04.11.2023
Hajmi2.65 Mb.
#1746511
TuriРеферат
1   ...   22   23   24   25   26   27   28   29   ...   34
Bog'liq
Разработка веб сайтов 19,05,23

Таблица транзакций
Нам также нужна таблица транзакций для отслеживания платежей за заказ,
сделанных гостями в ресторан, а рестораном поставщикам для ведения
бухгалтерского учета. Мы также можем использовать ту же таблицу для записи
кредитных (гости) и дебетовых (поставщики) транзакций. Ниже приведено описание
всех столбцов таблицы транзакций.
ID
Уникальный идентификатор для идентификации транзакции.
Идентификатор
пользователя
Идентификатор пользователя для идентификации пользователя,
связанного с транзакцией.
Идентификатор
поставщика
Идентификатор поставщика для идентификации поставщика,
связанного с транзакцией.
Идентификатор Идентификатор заказа для идентификации заказа, связанного с


57
заказа
транзакцией.
Код
Идентификатор платежа, предоставляемый платежным шлюзом.
Тип
Тип транзакции заказа может быть либо кредитным, либо
дебетовым.
Режим
Режим транзакции заказа может быть офлайн, наложенным
платежом, чеком, черновиком, проводным и онлайн.
Статус
Статус транзакции заказа может быть новым, Отмененным,
неудачным, ожидающим, отклоненным, Отклонено и успешным.
Создано на
В ней хранятся дата и время, в которые создается транзакция
заказа.
Обновлено на
В ней хранятся дата и время, в которые обновляется транзакция
заказа.
Содержание
Столбец, используемый для хранения дополнительных сведений о
транзакции.
Таблица транзакций с соответствующими ограничениями выглядит так, как показано
ниже.
CREATE TABLE `restaurant`.`transaction` (
`id` BIGINT NOT NULL AUTO_INCREMENT,
`userId` BIGINT NOT NULL,
`vendorId` BIGINT NOT NULL,
`orderId` BIGINT NOT NULL,
`code` VARCHAR(100) NOT NULL,
`type` SMALLINT(6) NOT NULL DEFAULT 0,
`mode` SMALLINT(6) NOT NULL DEFAULT 0,
`status` SMALLINT(6) NOT NULL DEFAULT 0,


58
`createdAt` DATETIME NOT NULL,
`updatedAt` DATETIME NULL DEFAULT NULL,
`content` TEXT NULL DEFAULT NULL,
PRIMARY KEY (`id`),
INDEX `idx_transaction_user` (`userId` ASC),
CONSTRAINT `fk_transaction_user`
FOREIGN KEY (`userId`)
REFERENCES `restaurant`.`user` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION);
ALTER TABLE `restaurant`.`transaction`
ADD INDEX `idx_transaction_vendor` (`vendorId` ASC),
ADD INDEX `idx_transaction_order` (`orderId` ASC);
ALTER TABLE `restaurant`.`transaction`
ADD CONSTRAINT `fk_transaction_vendor`
FOREIGN KEY (`vendorId`)
REFERENCES `restaurant`.`user` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
ADD CONSTRAINT `fk_transaction_order`
FOREIGN KEY (`orderId`)
REFERENCES `restaurant`.`order` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION;


59
Таблица адресов
Таблица адресов может быть использована, чтобы избежать избыточных
столбцов в таблице бронирования и заказа в зависимости от фактической
реализации. Ее можно напрямую сопоставить с таблицей бронирования и таблицей
заказов, используя соответствующие внешние ключи.

Download 2.65 Mb.

Do'stlaringiz bilan baham:
1   ...   22   23   24   25   26   27   28   29   ...   34




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling