Database design 关于数据库设计的一个问题

Database design 关于数据库设计的一个问题,database-design,Database Design,我正在计划一个图书馆管理系统,学生可以在这个系统中借阅物品 我的问题是如何设计数据库,如果图书馆携带不同的媒体,如mircofilm、dvd、cd等书籍。我的问题在于DVD与书籍的属性不同,或者书籍与缩微胶片的属性不同 那么,我应该如何处理所有这些不同类型的媒体呢 谢谢。简单的选择是为每种媒体类型设置一个表 这算是答案吗 简单的选择是为每种媒体类型创建一个表 这算是答案吗 > P>您应该考虑使用增强的ER模型,以将公共项置于一般实体中,并在单独的表中使用StAcice属性: 您应该考虑使用增强的

我正在计划一个图书馆管理系统,学生可以在这个系统中借阅物品

我的问题是如何设计数据库,如果图书馆携带不同的媒体,如mircofilm、dvd、cd等书籍。我的问题在于DVD与书籍的属性不同,或者书籍与缩微胶片的属性不同

那么,我应该如何处理所有这些不同类型的媒体呢


谢谢。

简单的选择是为每种媒体类型设置一个表


这算是答案吗

简单的选择是为每种媒体类型创建一个表


这算是答案吗

> P>您应该考虑使用增强的ER模型,以将公共项置于一般实体中,并在单独的表中使用StAcice属性:


您应该考虑使用增强的ER模型,以便将通用项置于普通实体中,并在单独的表中使用StAcice属性:


是否有一个选项不包含MediaType引用表,其中包含您拥有的介质类型,然后主事务表包含所有可能的字段。。。然后,基于MediaTypeId设置检查约束,检查哪些字段可以为空,哪些字段不能为空


我发现这是最简单、最易维护的解决方案。

可以选择不使用MediaType引用表,保存您拥有的介质类型,然后主事务表包含所有可能的字段。。。然后,基于MediaTypeId设置检查约束,检查哪些字段可以为空,哪些字段不能为空


我发现这是最简单、最易维护的解决方案。

如果各种媒体都有一些共同的属性,那么将它们放在一个表中,并将其他属性分别放在一个单独的表中

此外,这个公共表应该有一个mediaType字段,它是来自另一个表的外键

比如说

表媒体类型

表媒体

表MediaBook

Table MediaDVD

等等


这种方式的设计也将有助于您进行任何报告,因为您的媒体表可以指向存在特定类型媒体的附加信息的表。此设计还允许您独立于其他类型的介质扩展各种介质的属性,并方便地向系统中添加新的介质类型。此设计还将为您提供一个规范化的数据模型,同时使用简单的关系和null/notnull字段维护数据的完整性

如果各种媒体都有一些公共属性,那么将它们放在一个表中,并将其他属性分别放在单独的表中

此外,这个公共表应该有一个mediaType字段,它是来自另一个表的外键

比如说

表媒体类型

表媒体

表MediaBook

Table MediaDVD

等等


这种方式的设计也将有助于您进行任何报告,因为您的媒体表可以指向存在特定类型媒体的附加信息的表。此设计还允许您独立于其他类型的介质扩展各种介质的属性,并方便地向系统中添加新的介质类型。此设计还将为您提供一个规范化的数据模型,同时使用简单的关系和null/notnull字段维护数据的完整性

这是关于媒体库的,来自。

这是关于媒体库的,来自。

这听起来不错。我应该自己考虑这个问题,但我一定是想得太多了。谢谢,希夫,听起来不错。我应该自己考虑这个问题,但我一定是想得太多了。谢谢希夫。哇,这帮了大忙。谢谢,伙计。哇,这帮了大忙。谢谢老兄,谢谢老兄。看起来很直接。谢谢你,伙计。它看起来很直截了当。我看到了这个,但是被使用的图标弄得很难看。我将能够学到更多,因为我看到了使用的符号。谢谢。我看到了这个,但是被使用的图标弄得很难看。我将能够学到更多,因为我看到了使用的符号。谢谢,哈哈。我想是想得太多了。哈哈。我想是想得太多了。
Id  Name
1   Book
2   DVD
3   CD
4   Microfilm
Id  MediaType  Title
1   1          Gone With the Wind
2   2          Avatar
3   2          Gladiator
4   2          Never Say Never
5   3          Some Music CD
Id MediaId  Author
1  1        Margaret Mitchell
Id  MediaId  Director
1   2        James Cameron