云南大学软件学院
实 验 报 告
序 号: 实验老师: 秦江龙 课程名称:多媒体数据库系统设计实验 实验名称: 高级数据库设计 学 号: 姓 名: 课程名称 实验目的 多媒体数据库系统设计实验 实验项目 指标等级 A B 功能完整 程序质量 按时检查 提问回答 检查时间 C D 总评成绩 高级数据库设计 1. 熟悉数据库建模工具Visio的使用。 2. 采用Crow’s Feet数据库建模方法,绘制出下列各数据库的ER图。 a) 用一个数据为记录Billy Bob的游船公司(Boats)出售的游船信息。需要存储名称、成本、出售价格、长度、船幅(宽度)及所有游船的制造商。Billy Bob还想记录所有帆船的桅杆高度和龙骨类型(固定的或可收缩的)。数据库还必须为所有机动船存储引擎大小(单位为马力)和引擎类型(舷内的、舷外的、或内外均有的)。 b) Hip Threads是一个成衣零售商,他想用一个数据库记录产品信息。需要为每个产品保存名称和零售价格。Hip Threads还为套装产品提供特殊价格,这些套装是由单独的成衣组成的。例如,男人的休闲套装可能是由衬衫、裤子和腰带组成的。这些套装是经过深思熟虑的产品。一个成衣产品(例如衬衫)可能包含于多个套装中。 c) Cray的Casual Catering(临时餐饮业)为大量活动提供餐饮服务。Cray想要设计一个数据库来存储关于活动和在每个活动中供应的食物(被称为食谱)的信息。数据库必须存储用于每个活动和在每个活动的食谱。Cary目前使用计划表单来记录服务于每个活动的相关信息。下图是其中的一个例子: 实验内容(算法、程序、步骤和方法) Cary还要存储关于每个客户的一些基本信息,包括名字、地址和电话号码。对于个人客户,需要存储客户的名和姓。对于公司客户,需要记录公司的名字。 目前,Cary使用食谱信息卡片来记录必要的信息。下图显示的是这样的一个卡片的例子。注意,不必存储食谱的制作方法。 下图显示的是另一个食谱信息卡片。注意这个食谱将来自另一个例子的食谱Tapenade作为其成分之一。 a) Exercise 1数据库ER图: 数据记录 和计算 b) Exercise 2数据库ER图: c) Exercise 3数据库ER图: 通过这次实验,我进一步熟悉了使用Visio进行数据库建模的步骤,也对高级数据库设计的概念和方法有了更深一层的理解。在本次实验中使用到了子类和超类,子结 论 类可以继承超类的所有属性,是对超类的进一步扩展。我们需要根据具体情况来确定超类与子类之间的交叉分离关系。子类和超类的运用使得数据库能够设计的更加(结 果) 规范化。实体不仅与其他实体之间存在关系,实体还有可能与自身也存在关系,即递归关系,灵活的处理实体之间的关系是数据库设计的关键。 指导教师签名: 秦江龙