3NF 数据库规范化
有一张 DVD 租赁逾期报告表。该商店有多张同一张 DVD 的副本(它们都已编号以便识别)。如何标准化这些数据以满足 3NF 要求?
标准化 http://img193.imageshack.us/img193/7804/normalization.jpg
There is a report table for overdue DVD rentals. The store has multiple copies of the same DVD (they are all numbered to be identified). How can I normalize this data to meet 3NF requirements?
Normalization http://img193.imageshack.us/img193/7804/normalization.jpg
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
数据模型:
VIDEO_ARTIST
表ARTIST_ID
,pkFIRST_NAME
LAST_NAME
VIDEOS
表VIDEO_ID
,pkVIDEO_TITLE
ARTIST_ID
,fkRUNNING_TIME
VIDEO_COPIES
表VIDEO_COPY_ID
>, pkVIDEO_ID
, fkVIDEO_COPY_NUMBER
请注意,我没有使用主键作为向用户显示的值。
VIDEO_RENTALS
表VIDEO_COPY_ID
、pk、fkACCOUNT_ID
、 pk、fkDUE_DATE
、pkVIDEO_RENTALS_ACCOUNTS
表ACCOUNT_ID
、pkACCOUNT_NUMBER
、唯一FIRST_NAME
LAST_NAME
关于
ACCOUNT_NUMBER
的逻辑与VIDEO_COPY_NUMBER
的逻辑相同...以下是根据数据模型使用的 SQL,用于获取您的报告示例假如:
The data model:
VIDEO_ARTIST
tableARTIST_ID
, pkFIRST_NAME
LAST_NAME
VIDEOS
tableVIDEO_ID
, pkVIDEO_TITLE
ARTIST_ID
, fkRUNNING_TIME
VIDEO_COPIES
tableVIDEO_COPY_ID
, pkVIDEO_ID
, fkVIDEO_COPY_NUMBER
Notice that I'm not using the primary key for the value displayed to the users.
VIDEO_RENTALS
tableVIDEO_COPY_ID
, pk, fkACCOUNT_ID
, pk, fkDUE_DATE
, pkVIDEO_RENTALS_ACCOUNTS
tableACCOUNT_ID
, pkACCOUNT_NUMBER
, uniqueFIRST_NAME
LAST_NAME
Same logic regarding the
ACCOUNT_NUMBER
as with theVIDEO_COPY_NUMBER
...Here's the SQL to use based on the data model to get the report example you provided:
看看对象——演员:
Media.Status
跟踪介质 (DVD) 的可用性。Look at objects--actors:
Media.Status
tracks availability of a medium (DVD).