具有不相关属性的产品的零售数据库

时间:2013-10-28 05:39:12

标签: sql-server database database-design

我是数据库设计的新手,我正在为练习设计一个书店数据库。我有以下表格,可以搜索符合特定条件的书籍:

SERIES(series_id (pk),  series_title)

AUTHOR(author_id (pk), author_name, author_country, author_birthdate)

BOOK(book_id(pk), book_title, book_genre, author_id(fk), series_id(fk))

然而,商店还销售需要跟踪但没有独特属性的随机产品(笔,糖果,期刊等)。以下是构建结构的正确方法 库存表?

INVENTORY(product_ID (pk), Amnt_in_Stock, product_name, product_description, book_id(fk)) 

book_id会是一个可选的1:1关系吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

这取决于要求,尽管这只是一种练习。如果要求说明将图书的库存与其他项目分开,那么您将有一个单独的表格(即其他项目)。否则,您将其作为一个表进行,您需要找到一种方法来连接这两个表以用于库存目的。

至于为另一个项创建另一个表,那么就唯一标识而言,这不会是一个问题,您可以为每个项创建一个唯一的Item Code,或者您可以创建一个Auto Increment { {1}}代替它。

对我而言,最好将它分开,因为虽然有相似之处,但属性是多种多样的。与书名,流派,ISBN一样,作者对于其他项目(例如糖果,钢笔和期刊)也不能说是相同的。

你可能会这样做:

Primary Key

SERIES(series_id (pk), series_title) AUTHOR(author_id (pk), author_name, author_country, author_birthdate) BOOK(book_id(pk), book_title, book_genre, author_id(fk), series_id(fk), original_price, selling_price) OTHER_ITEMS(item_code(pk), description, qty_on_hand, original_price, selling_price) SOLD_ITEMS(SoldItemID (pk), reference_code (FK), Books (boolean), Qty_Sold, Price_Sold, Date_Sold, Cashier) 可能是reference_code item_codeother_items book_id表。

您还可以添加Book来跟踪广告资源中的内容,例如:

Supply History