欢迎来到天天文库
浏览记录
ID:48150065
大小:396.50 KB
页数:66页
时间:2020-01-17
《对 约 束 的 建 模.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第二章数据库建模定西广播电视大学肖武德本章要点掌握数据库建模的两种基本方法:对象定义语言(ODL)和实体-联系模型(E/R图)会用这两种方法建立简单的数据库模型。了解数据库设计的基本原则掌握用ODL和E/R图表示子类的方法了解子类的继承性深入理解键码和引用完整性这两个基本概念教学要求理解:数据库建模的基本原则。理解:子类的继承性。理解:主键码、外键码以及引用完整性。熟练掌握:用对象定义语言(ODL)建立简单的数据库模型。熟练掌握:用实体——联系模型(E/R图)建立简单的数据库模型。初步掌握:用ODL和E/R图表示子类。数据库建模概述数据库的结构,也称为数据库模式因此,确定数据库的结构的过
2、程就称为数据库建模。两种主要数据库模式表示法实体—联系模型,也叫做E/R图矩形表示实体,椭圆形表示属性,菱形和箭头表示联系。对象定义语言(ODL)是面向对象的数据库设计方法数据库设计的过程图ODL想法关系E/R图关系DBMS面向对象DBMS面向对象的设计所谓对象,就是某种可观察、可研究的实体;一个人、一门课程、一本书等等都可以作为对象。每个对象都有唯一的标识,使其能区分于任何其他的对象。可把具有相似特性的对象归为一类。2.1对象定义语言ODLODL主要用于书写面向对象数据库的设计,进而将其直接转换成面向对象数据库管理系统(OODBMS)的说明。OODBMS的基本语言一般是C++或者Sma
3、lltalk,所以必须把ODL转换成其中一种语言的说明。ODL与C++非常类似,这种转换相当方便。2.1.1面向对象的设计ODL类的三种特性:.属性(Attribute),它们的类型由基本的数据类型构成。.联系(Relationship),它们的类型是对某类对象的引用或引用的集合。.方法(Method),是能用于该类对象的函数。2.1.2类的说明最简单的类的说明包括:关键字interface(接口)类名类的特性表(属性、联系和方法)interface<类名>{<特性表>}2.1.3ODL中的属性属性用来描述对象的某个方面。interfaceCourse{attributeintegerC
4、ourseNo;attributestringCourseName;attributestringTeacher;}例:学生选课数据库中,每门课中有三个属性:CourseNo(课程号)、CourseName(课程名)、Teacher(老师)2.1.3ODL中的属性我们再定义一个简单的学生类:interfaceStudent{attributeintegerStudentNo;attributestringStudentName;attributeintegerAge;attributestringDept;}2.1.4ODL中的联系和反向联系描述一个对象与其他对象之间的联系。例:课程和学
5、生之间存在选课联系,在课程类的说明中增加一个学生集合,作为课程类和学生类之间的联系:relationshipSetstudents;反向联系relationshipSetstudentsinverseStudent::courses;relationshipSetcoursesinverseCourse::students;一个较完整的课程类定义:interfaceCourse{attributeintegerCourseNo;attributestringCourseName;attributestringTeacher;relati
6、onshipSetstudentsinverseStudent::courses;}联系的类型一对一一对多多对一多对多2.2实体—联系模型(E/R图)用图形表示的数据库建模方法——E/R图l实体集:实体是实体集的成员,和ODL中的对象相似。矩形表示实体集。l属性:与ODL中的属性本质上相同。椭圆形表示属性。l联系:与ODL中的联系本质上也相同,E/R图中的联系可以涉及两个以上的实体集。菱形表示联系。例:CourseCourseNoCourseNameTeacherStudentCourseStudentAgeStudentNoDeptStudentName2.2.1E/
7、R图中联系的三种类型用箭头的有无来区别三种不同的联系。从实体集A到实体集B的多对一联系,画一个指向B的箭头。从实体集A到实体集B的一对一联系,画两个箭头,分别指向A和B。若为多对多联系,则两边均无箭头。2.2.2联系中的角色在一个联系中,一个实体集可能出现两次或多次;倘若如此,一个实体集在联系中出现多少次,我们就从该联系到该实体集画多少条线。到实体集的每一条线代表该实体集所扮演的每一个角色,我们把它扮演的角色标记在连线的侧面。E/R
此文档下载收益归作者所有