- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
对象的继承关系在数据库中的实现方式和PowerDesigner设计深蓝博客园.pdf
对象的继承关系在数据库中的实现方式和PowerDesigner设计
在面向对象的编程中,使用对象的继承是一个非常普遍的做法,但是在关系数据库管理系统RDBMS中,使用的是外键表示实体 (表)之间
的关系,那么对于继承关系,该怎么在RDBMS中表示呢?一般来说有3种实现方式:
Concrete Table Inheritance (具体表继承)
Single Table Inheritance (单表继承)
Class Table Inheritance (类表继承)
比如在一个教务系统中,有老师学生2个对象,这两个对象都是“人”对象的子类,所以我们可以建立一个Person表,该表有人的公共属
性:姓名、性别等,还有就是数据的唯一标识,一个ID。而教师对象有教师的特有属性,比如职称,学生有学生的特有属性,比如学号。
所以我们可以建立Person、Teacher、Student3个表,其关系在PowerDesigner中如图所示:
1.具体表继承。
不建立父对象,将父对象的所有属性转移到子对象中,为每个子对象建立对于的表。如果使用这种方法,那么就只需要建立Teacher表和
Student表,不需要Person表,在PowerDesigner中,双击继承节点,打开属性窗口,取消“Generate Parent”选项,选
中“Generate children”并选择“ Inherit all attributes”,如图所示:
生成的数据库表将如图所示:
2.单表继承。
在一个宽表中列出所有父对象和子对象的属性,同时用一个标识列表示该行数据存储的是哪个子类的数据。在PowerDesigner中,修改
继承节点的属性,取消“Generate children”,选中“Generate parent”,然后在下面添加一个标识列,叫PersonType ,如图所示:
生成的数据库表,在一个宽表中表示如图所示:
可以看到Person中的列集成了Person、Teacher、Student这3个表的所有列,同时还多了一个列PersonType ,这个列就是用来区分
这行数据到底表示的是一个学生还是一个老师。
3.类表继承。
对父对象和每个子对象建立一个对应的表,然后在子表中设置该子表的主键为与父表关联的外键。在PowerDesigner中,对于继承节点
的属性,允许生成父和子表,另外,将“ Inherit only primary attributes”选中。如图所示:
生成的数据库表如图所示:
这里可以看到,Teacher的主键和Student的主键同时又是该表的外键,连接到Person表。
PS:如果使用NHibernate进行编程,那么可以参考这篇文章,介绍了NHibernate对这三种继承的配置方法。
如果使用Entity Framework进行编程,那么可以参考这篇文章。
您可能关注的文档
- 天气与气候》复习学案.doc
- 天气与气候测试题.doc
- 天津武清地区夏季臭氧光化学研究.pdf
- 天然产物新分离技术的研究进展.pdf
- 天然化合物结构修饰是创制新药的重要途径.pdf
- 天然气发动机缸内燃烧过程的数值模拟.pdf
- 天然气管输定价的依据和方法.pdf
- 天然锰钾矿晶体化学特征及其环境属性.pdf
- 太平洋隔离群体萨摩亚人的遗传结构分析.pdf
- 太湖富营养化的成因和区域性控制对策.pdf
- 新能源汽车动力电池产业发展对锂矿资源开发的影响报告.docx
- 2025年城市公园生态监测系统智能化改造可行性研究报告.docx
- 2025年中国瓷砖嵌缝王数据监测研究报告.docx
- 低碳城市公共设施规划与建设2025年实践案例分析.docx
- 【2025秋新版】 七年级历史上册:34道必考核心简答题.pdf
- 2025年城市公园生态监测系统智能数据分析报告.docx
- 2025年城市公园节能照明系统规划与建设策略分析报告.docx
- 供应链金融在中小微企业融资中的创新模式与政策环境研究报告.docx
- 2025年城市公园生态监测系统生态监测数据标准化研究报告.docx
- 2025至2030中国按摩带行业项目调研及市场前景预测评估报告.docx
文档评论(0)