我将如何着手设计这个数据库?
How would I go about designing this database?
我正在开发共享预订系统,tables 将是每个用户的用户 table 和预订的预订 table。
一个用户可以有多个预订,每个预订最多只能有 8 个用户。
在每个单独的预订中,我需要存储每个用户的 ID 和他们的手提箱数量
设计这个的简单有效的方法是什么?看到在预订中可能有 8 个不同的用户外键和 8 个不同数量的与他们自己的用户相关的手提箱?
任何指点将不胜感激。
每次预订限制 8 个用户是您系统的限制,而不是任何数据库的限制。这是一个任意的,但看到你正在使用的字段看起来更像是家庭作业,而不是任何实际有用的东西,所以我想这是给定的。我的观点是,您可以在设计数据库时忽略该限制。
考虑到这一点,您拥有三个表:
User
(id
PK, name
, address
)
Booking
(id
PK,suitcases
)
UserBooking
(id
PK, user_id
FK(User
), booking_id
FK(Booking
))
关于每个预订的 8 个用户限制,如果条件失败,请使用 triggers 拒绝在 UserBooking
中插入,或者在插入前使用存储过程和事务进行检查。
我正在开发共享预订系统,tables 将是每个用户的用户 table 和预订的预订 table。
一个用户可以有多个预订,每个预订最多只能有 8 个用户。
在每个单独的预订中,我需要存储每个用户的 ID 和他们的手提箱数量 设计这个的简单有效的方法是什么?看到在预订中可能有 8 个不同的用户外键和 8 个不同数量的与他们自己的用户相关的手提箱?
任何指点将不胜感激。
每次预订限制 8 个用户是您系统的限制,而不是任何数据库的限制。这是一个任意的,但看到你正在使用的字段看起来更像是家庭作业,而不是任何实际有用的东西,所以我想这是给定的。我的观点是,您可以在设计数据库时忽略该限制。
考虑到这一点,您拥有三个表:
User
(id
PK,name
,address
)Booking
(id
PK,suitcases
)UserBooking
(id
PK,user_id
FK(User
),booking_id
FK(Booking
))
关于每个预订的 8 个用户限制,如果条件失败,请使用 triggers 拒绝在 UserBooking
中插入,或者在插入前使用存储过程和事务进行检查。