1、三、三、 数据库技术数据库技术v传统文件处理系统传统文件处理系统v存在问题存在问题 数据冗余与数据不一致性 数据结构的不一致,数据联系弱 缺少数据字典,缺少灵活性应用程序应用程序1数据文件数据文件1应用程序应用程序2应用程序应用程序3数据文件数据文件2数据文件数据文件3用户用户用户用户用户用户续续v银行文件处理系统银行文件处理系统客户财务客户财务报表报表分期贷款程序帐户核对处理存款处理分期贷款处理贷款分析贷款分析报告报告客户票据客户票据存款文件修改文件修改核对帐户核对程序分期贷款文件修改存款程序客户交易客户交易数据库的三级模式数据库的三级模式v数据库系统的三级模式数据库系统的三级模式 模式即逻
2、辑模式。是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。 外模式用户模式或者子模式。是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述。 内模式物理模式或者存储模式。是数据物理结构和存储方式的描述,是数据在数据库内部的表示方法。数据库设计数据库设计v信息的转换信息的转换客观 事物类:事物 相关性质集合人实体 实体集合及 实体联系 相关属性集合 加工、转换数 文件据 记录库 相关数据项集合加工转换存储 二进制数据集合结构计算机世界DBMS数据世界DBMS的数据模型信息世界认识选择描述现实世界E-R模型续续vER图设计原则图设计原则 真实性原则 避免冗余原则 简单性原则
3、 合适性原则(用实体或属性或联系集) 注意对客观对象的约束映射约束、键码约束、参照完整性约束续续vER图绘制图绘制图书作者写作出版社类别页数ISBN书名姓名出生地身份证号定稿时间价格包含实体集包含实体集“图书图书”和和“作者作者”的的ER图图续续vER图的转换图的转换 将E-R图转换成相应的表表是行和列的集合,实体被表示成表的形式。用列标题表示实体的属性用行表示关于实体的实际数据v关于表和属性的命名规则关于表和属性的命名规则 属性名和表名中不能包含空格 表名对实体的描述应该是有意义的。如 student(cStuID,cStuName,nStuAge,) 表名只能描述一个主题E-R转换举例转换
4、举例v转换举例一转换举例一厂长(厂长号,厂号,姓名,年龄)工厂(厂号,厂名,地点)举例二举例二v转换举例二转换举例二仓库(仓库号,地点,面积)产品(货号,品名,价格,仓库号,数量)举例三举例三v转换举例三转换举例三学号姓名年龄学生课程号课程名学时数课程学习nn学生(学号,姓名,年龄)课程(课程号,课程名,学时数)成绩学习(学号,课程号,成绩)练习练习1v设计一个图书借阅数据库,图书馆需要保存全设计一个图书借阅数据库,图书馆需要保存全部图书的信息(书号,书名,作者,出版社,部图书的信息(书号,书名,作者,出版社,日期),还要登记读者信息(读者编号,姓名,日期),还要登记读者信息(读者编号,姓名,
5、地址,性别,年龄,单位)颁发借书证,需要地址,性别,年龄,单位)颁发借书证,需要保存借阅记录(借出日期,还书日期)。保存借阅记录(借出日期,还书日期)。 请设计E-R图,并最后转换成关系逻辑数据模型。 参考答案参考答案v练习练习1图书读者借阅MN还书日期借出日期作者出版社书号书名性别读者编号年龄姓名地址单位日期参考答案参考答案:v图书(图书(书号书号,书名,作者,出版社,日期),书名,作者,出版社,日期)v读者(读者(读者编号读者编号,姓名,地址,性别,年龄,单位),姓名,地址,性别,年龄,单位)v借阅(借阅(书号,读者编号书号,读者编号,借出日期,还书日期),借出日期,还书日期)练习练习2v
6、某厂生产多种产品,每种产品又要使用多种零某厂生产多种产品,每种产品又要使用多种零件,一种零件可能装在多种产品上。每种零件件,一种零件可能装在多种产品上。每种零件由一种材料制造,每种材料可用于不同零件的由一种材料制造,每种材料可用于不同零件的制作,有关产品、零件、材料的数据字段如下:制作,有关产品、零件、材料的数据字段如下: 产品:产品号,产品名,产品单价 零件:零件号,零件名,单重,单价 材料:材料号,材料名,计量单位,材料单价要求:(1)请画出产品、零件、材料的)请画出产品、零件、材料的E-R图;图; (2)请将该)请将该E-R图转换为关系数据模型。图转换为关系数据模型。参考答案参考答案v练习练习2产品材料产品名产 品 单价产品号产品零件零件数材料号材料名计量单位材 料 单价材料零件材料量零件零件号零件名单重单价NNM11参考答案参考答案v产品(产品(产品号产品号,产品名,产品单价),产品名,产品单价)v零件(零件(零件号零件号,零件名,单重,单价,零件名,单重,单价,材料号材料号,材料,材料量)量)v材料(材料(材料号材料号,材料名,计量单位,材料单价),材料名,计量单位,材料单价)v产品产品零件(零件(产品号,零件号产品号,零件号,零件数),零件数)v零件零件材料(材料(零件号,材料号零件号,材料号,材料数),材料数)