6 子类问题
在电影公司数据库中表达电影的实体信息中,表达卡通片的主角配音演员信息
这是个子类问题,因为卡通片电影是电影的一种子类。
处理方式一:将子类视为父类的内容来处理
此主题相关图片如下:
上述做法对应的关系模型为:
Movies(mid,title,isCartoon,sdid,did)
Studios(sdid,name)
Dubbers(did,name)
说明:
1)可以表达查询要求
2)对于非卡通片,did多为空
3)不适用于子类较多的情况,如引入爱情片(affectional film)的结局(finale)查询要求
此主题相关图片如下:
对应的关系模型为:
Movies(mid,title,isCartoon,sdid,did, isAffectional, did)
Studios(sdid,name)
Dubbers(did,name)
可以看出大部分电影的did和did信息皆为空
处理方式二:将子类单独表达
此主题相关图片如下:
相应的关系模型为:
Movies(mid,title,sdid)
Studios(sdid,name)
Dubbers(did,name)
AffectionalFilms(mid,title,sdid,finale)
Cartoons(mid,title,sdid,did)
说明:
1)没有较多的空值问题
2)爱情片、卡通片和一般电影分开存储不便于那些不区分电影类型的常见检索(需要更多的表合并操作)
处理方式三:将子类单独表达,但是父类拥有全部记录信息,子类只有主键信息和自己的特殊信息。这种方式一般是最为有效的。
改进的关系模型为:
Movies(mid,title,sdid)
Studios(sdid,name)
Dubbers(did,name)
AffectionalFilms(mid,finale)
Cartoons(mid,did)
7 ER分析综合案例(图书信息系统开发案例)
需求分析
1)要求进行多用户登录,不同用户权限不一样。用户包括读者,一般管理员,超级管理员。
2)对于读者,能够进行以下操作:
查询用户信息,并且可以更改一般信息,如密码等
查询书籍信息,能够根据作者,书名,种类来进行
查询借阅情况
查询历史借阅记录
*可以预约
3)对于一般管理员,能够进行以下操作:
能够进行系统初始化数据录入和更新(删除,修改等),如书籍,读者等信息,要求界面良好(纯键盘操作)
查询书籍,读者信息(更为全面)
能够进行借书,还书等操作
高级统计功能,如借书数最多的读者,借阅量最大的书籍等
4)对于高级管理员,能够进行以下操作:
查看历史记录(更全面)
控制读者和书籍的借阅情况(如是否可借,借多少等)
5)其他借书规则:
超期书不可续借
预约书自动提示
此主题相关图片如下:
相应的关系模型为:
用户(用户号,用户名,密码,权限,可借否,可借数量)
书籍(书号,书名,作者,种类,总册数,剩余册数,可借否,可借数量,预约用户号)
用户书籍(用户号,书号,借阅时间,归还时间)
说明:
1)强调数据字典的使用
2)强调理解业务功能的重要性
8 能够生成ER图的Access表分析工具(CASE)
利用向导生成方式,演示表分析器在进行ER分析中的作用。
利用自行决定方式,演示表分析器在检测数据不一致性中的作用。
[此贴子已经被作者于2010-12-11 19:46:01编辑过]