第一数据库系统概论.ppt
第一数据库系统概论现在学习的是第1页,共126页课程教学内容课程教学内容n总学时总学时36学时,分为两大部分:学时,分为两大部分:A、课堂教学:、课堂教学:(24学时学时)介绍数据库的基本概念、介绍数据库的基本概念、原理、相关的理论和技术方法。原理、相关的理论和技术方法。B、实验教学:、实验教学:(12学时学时)现在学习的是第2页,共126页课程教学内容(续)课程教学内容(续)n第一章第一章数据库系统概论数据库系统概论n第二章第二章关系数据库系统关系数据库系统n第三章第三章关系数据库的规范化理论关系数据库的规范化理论n第四章第四章SQLServer数据库基础数据库基础n第五章第五章SQLServer数据库建立数据库建立n第六章第六章SQLServer数据库应用数据库应用n第七章第七章SQLServer数据库编程数据库编程n第八章第八章SQLServer数据库保护数据库保护n第九章第九章SQLServer数据库开发实例(后台)数据库开发实例(后台)n第十章第十章SQLServer数据库开发实例(前台)数据库开发实例(前台)现在学习的是第3页,共126页实验教学内容实验教学内容1.安装、启动安装、启动MicrosoftSQLServer2000,创建数据库,创建数据库2.创建和管理数据表创建和管理数据表 3.创建索引及表之间关系创建索引及表之间关系4.数据检索数据检索/查询查询5.创建视图创建视图6.数据保护数据保护7.创建触发器、存储过程及事务创建触发器、存储过程及事务现在学习的是第4页,共126页实验课内考核为实验课内考核为20分,根据实验出勤、态度、程序设计、实验报告等评定实分,根据实验出勤、态度、程序设计、实验报告等评定实验成绩。评分标准如下:验成绩。评分标准如下:1.实验预习(实验预习(4分)分)实验准备充分,能正确回答指导教师提出的相关问题(随机进行)。缺实验准备充分,能正确回答指导教师提出的相关问题(随机进行)。缺席实验课,该次考核成绩为席实验课,该次考核成绩为0分计。分计。2.实验操作(实验操作(12分)分)实验操作方法正确,设计正确,能独立解决实验中出现的一般问题,实验结果正实验操作方法正确,设计正确,能独立解决实验中出现的一般问题,实验结果正确,计确,计12分(有问题酌情扣分)。分(有问题酌情扣分)。3.实验总结报告(实验总结报告(4分)分)内容全面,字迹清晰工整,数据记录、处理正确。对内容全面,字迹清晰工整,数据记录、处理正确。对实验中出现的问题实验中出现的问题分析正确分析正确。如果实验总结报告有。如果实验总结报告有雷同均以雷同均以0分计分计。4实验三次不合格者,实验成绩以实验三次不合格者,实验成绩以0分计,并取消该门理论期末考试资格。分计,并取消该门理论期末考试资格。5特殊情况(事假、病假)必须由本人提出申请,学院主管领导批准,待期特殊情况(事假、病假)必须由本人提出申请,学院主管领导批准,待期末考试前统一补做。末考试前统一补做。实验考核标准实验考核标准现在学习的是第5页,共126页上机时间安排上机时间安排n上机地点:上机地点:扬帆楼201实验室n上机时间:上机时间:第6、8、10、12、14、16周周三3-4节现在学习的是第6页,共126页学习方式学习方式听课听课读书读书(预习、复习)(预习、复习)实践实践(上机、综合练习)(上机、综合练习)现在学习的是第7页,共126页考核方法考核方法n笔试(笔试(6060分);分);n实验成绩占实验成绩占2020分;分;n平时成绩占平时成绩占2020分(作业、课堂练习)。分(作业、课堂练习)。现在学习的是第8页,共126页教材及参考书教材及参考书n教材:教材:1数据库技术与应用数据库技术与应用,李延珩,李延珩朱鸣华主编,大朱鸣华主编,大连理工大学出版社连理工大学出版社2008年年3月月n参考书目:参考书目:1数据库系统概论数据库系统概论(第(第4版)版)王珊王珊萨师煊主编,萨师煊主编,高等教育出版社高等教育出版社2006年年5月月2SQLSERVER2000数据库及应用数据库及应用徐人风主徐人风主编,高等教育出版社编,高等教育出版社20043数据库技术与应用数据库技术与应用清华大学清华大学刘红岩主编,清华刘红岩主编,清华大学出版社大学出版社4信息系统开发教程信息系统开发教程-使用使用C#和和SQLServer2005马威等主编,清华大学出版社马威等主编,清华大学出版社现在学习的是第9页,共126页教学基本要求教学基本要求通过本门课程的学习,学生应达到下列要求:通过本门课程的学习,学生应达到下列要求:n掌握数据库系统的基本概念术语、基础理论和掌握数据库系统的基本概念术语、基础理论和数据库系统的体系结构;数据库系统的体系结构;n了解关系数据库基础理论:关系运算理论和关了解关系数据库基础理论:关系运算理论和关系规范理论;系规范理论;n熟练掌握熟练掌握SQLServer的基本使用;的基本使用;n熟练掌握数据库标准语言熟练掌握数据库标准语言SQL的基本使用;的基本使用;n熟练掌握各种数据库对象的基本操作;熟练掌握各种数据库对象的基本操作;n了解数据库应用系统的开发步骤,在理论和实了解数据库应用系统的开发步骤,在理论和实践上为学生的后续发展打下坚实基础。践上为学生的后续发展打下坚实基础。现在学习的是第10页,共126页第第1 1章章 数据库系统概论数据库系统概论1.1数据库及相关概念数据库及相关概念1.2数据管理技术的发展数据管理技术的发展1.3数据模型数据模型1.4数据库系统的结构数据库系统的结构1.5数据库管理系统数据库管理系统现在学习的是第11页,共126页1.1数据库及相关数据库及相关概念概念 1 1、数据、数据(DataData)2 2、数据库(、数据库(Database,Database,DB DB)3 3、数据库管理系统(、数据库管理系统(DataBase Management DataBase Management System,System,DBMSDBMS)4 4、数据库系统(、数据库系统(DataBase System,DataBase System,DBSDBS)5 5、数据库应用系统(、数据库应用系统(Database Application Database Application System,System,DBASDBAS)现在学习的是第12页,共126页1、数据、数据(Data)n数据的数据的定义定义数据是描述事物的符号记录。数据是描述事物的符号记录。n数据的数据的种类种类文本、图形、图像、音频、视频、学生的档案文本、图形、图像、音频、视频、学生的档案记录、货物的运输情况等记录、货物的运输情况等n数据的数据的特点特点数据与其语义是不可分的数据与其语义是不可分的数据的含义数据的含义称为数据的语义称为数据的语义现在学习的是第13页,共126页数据举例数据举例例如:例如:93语义语义1:某个学生某门课的成绩:某个学生某门课的成绩语义语义2:某人的体重:某人的体重语义语义3:计算机系:计算机系2003级学生人数级学生人数语义语义4:请同学给出。:请同学给出。现在学习的是第14页,共126页数据举例数据举例n(李明,男,(李明,男,1972,江苏,计算机系,江苏,计算机系,1990)语义:这是大学生档案中的一个学生信息,每一语义:这是大学生档案中的一个学生信息,每一项数据的语义分别是:学生姓名、性别、出生年项数据的语义分别是:学生姓名、性别、出生年月、籍贯、所在系别、入学时间月、籍贯、所在系别、入学时间解释:李明是个大学生,解释:李明是个大学生,1972年出生,江苏人,年出生,江苏人,1990年考入计算机系年考入计算机系n请给出另一个解释和语义请给出另一个解释和语义 籍贯籍贯=家庭住址?大学生记录?高中毕业记录家庭住址?大学生记录?高中毕业记录?教师记录?教师记录?现在学习的是第15页,共126页2、数据库(、数据库(Database,DB)n数据库的定义数据库的定义数数据据库库(Database,简简称称DB)是是长长期期存存储储在在计计算算机机内,内,有组织有组织的、的、可共享可共享的的大量大量数据集合数据集合。n数据库的基本特征数据库的基本特征 数据数据按按一定的一定的数据模型数据模型组织、描述和存储组织、描述和存储,可为各种用户可为各种用户共享共享 具有具有较小较小的的冗余度冗余度,较高的较高的数据数据独立性和易扩展性独立性和易扩展性。现在学习的是第16页,共126页3、数据库管理系统(数据库管理系统(DataBaseManagementSystem,DBMS)n定义定义一组用于数据管理的通用化软件所组成的软件系统,一组用于数据管理的通用化软件所组成的软件系统,位于用户与操作系统之间,位于用户与操作系统之间,是数据库系统的核心是数据库系统的核心。n用途用途数据组织数据组织数据操纵数据操纵数据维护数据维护数据控制数据控制现在学习的是第18页,共126页DBMS举例举例n国外国外DBMSDBMSOracle 10gOracle 10gIBM DB2 9IBM DB2 9Sybase 12.5Sybase 12.5MS SQL Server 2005 MS SQL Server 2005 MySQLMySQLPostgreSQLPostgreSQLn国内国内DBMSDBMS人大金仓:人大金仓:KingbaseES华工达梦:华工达梦:DM神舟软件:神舟软件:OSCAR东软:东软:OpenBase现在学习的是第19页,共126页4、数据库系统、数据库系统(DataBaseSystem,DBS)n定义定义由由数数据据库库、数数据据库库管管理理系系统统、数数据据库库管管理理员员(DBA)和和用用户户组组成的成的计算机系统的总称计算机系统的总称指使用数据库技术后的计算机系统。指使用数据库技术后的计算机系统。n在不引起混淆的情况下常常把数据库系统简称为数据库。在不引起混淆的情况下常常把数据库系统简称为数据库。n数据库管理员数据库管理员(DataBaseAdministrator):专门从事数据库设计、管理和维护的工作人员专门从事数据库设计、管理和维护的工作人员现在学习的是第20页,共126页数据库系统的构成数据库系统的构成用户用户1用户用户2用户用户n应用系统应用开发工具数据库管理系统数据库管理系统操作系统数据库数据库管理员数据库管理员图图1-1 数据库系统(数据库系统(DBS)现在学习的是第21页,共126页五、数据库应用系统(五、数据库应用系统(DataBaseApplicationSystem,DBAS)n定义:定义:指系统开发人员利用数据库系统资源开发出来的,面向某一类实指系统开发人员利用数据库系统资源开发出来的,面向某一类实际应用的软件系统。际应用的软件系统。如财务管理系统、人事管理系统、图书管理系统等。如财务管理系统、人事管理系统、图书管理系统等。n构成:构成:由数据库系统、应用软件和应用界面三者组成,具体包括:数由数据库系统、应用软件和应用界面三者组成,具体包括:数据库、数据库管理系统、数据库管理员、硬件平台、软件平台、据库、数据库管理系统、数据库管理员、硬件平台、软件平台、应用软件、应用界面。应用软件、应用界面。现在学习的是第22页,共126页1.2 数据管理技术的发展数据管理技术的发展 l什么是数据管理什么是数据管理对对数数据据进进行行分分类类、组组织织、编编码码、存存储储、检检索索和和维维护护,是数据处理的中心问题。是数据处理的中心问题。n数据管理技术发展数据管理技术发展经历了三个阶段:经历了三个阶段:1 1、人工管理阶段人工管理阶段(40年代中年代中-50年代中年代中)2 2、文件系统文件系统阶段阶段(50年代末年代末-60年代中年代中)3 3、数据库系统数据库系统阶段阶段(60年代末年代末-现在现在)现在学习的是第23页,共126页1、人工管理阶段、人工管理阶段n特点:特点:uu数据不保存数据不保存uu应用程序管理数据应用程序管理数据n20世纪世纪50年代中期以前(年代中期以前(19461955)应用程序应用程序1数据集数据集1应用程序应用程序2应用程序应用程序n数据集数据集2数据集数据集n人工管理阶段应用程序与数据之间的对应关系人工管理阶段应用程序与数据之间的对应关系规定数据逻辑结构,设计物理结构、存储结构、存取方法、输入方式等。(程序员负担很重)数据的逻辑结构或物理结构发生变化后,必须对应用程序做对应的修改,从而进一步加重编程负担uu数据不共享数据不共享uu数据不具有独立性数据不具有独立性现在学习的是第24页,共126页人工管理阶段的数据组织模式人工管理阶段的数据组织模式应用程序应用程序应用程序首部应用程序首部数据类数据类&结构定义部分结构定义部分函数与过程定义部分函数与过程定义部分主程序定义部分主程序定义部分数据结构数据输入语句组:数据结构数据输入语句组:赋值语句赋值语句交互式输入交互式输入数据输出数据输出数据数据管理管理部分部分现在学习的是第25页,共126页2、文件系统阶段文件系统阶段20世纪世纪50年代后期年代后期60年代中期。年代中期。特点:特点:uu数据数据长期保存长期保存uu由由文件系统管理数据文件系统管理数据uu数据数据共享性差共享性差、冗余度大冗余度大uu数据数据独立性差独立性差:物理独立性、逻辑独立性均差。:物理独立性、逻辑独立性均差。现在学习的是第26页,共126页应用程序与数据的对应关系应用程序与数据的对应关系(文件系统文件系统)应用程序应用程序1数据集数据集1应用程序应用程序2应用程序应用程序n数据集数据集2数据集数据集n存取方法存取方法顺序存取顺序存取随机存取随机存取图图1-2文件系统阶段应用程序与数据之间的对应关系文件系统阶段应用程序与数据之间的对应关系现在学习的是第27页,共126页文件系统中数据的结构文件系统中数据的结构n记录内有结构。记录内有结构。n数据的结构是靠程序定义和解释的。数据的结构是靠程序定义和解释的。n数据只能是定长的。数据只能是定长的。可以间接实现数据变长要求,但访问相应数可以间接实现数据变长要求,但访问相应数据的应用程序复杂了。据的应用程序复杂了。n文件间是独立的,因此数据整体无结构。文件间是独立的,因此数据整体无结构。可以间接实现数据整体的有结构,但必须在可以间接实现数据整体的有结构,但必须在应用程序中对描述数据间的联系。应用程序中对描述数据间的联系。n数据的最小存取单位是记录。数据的最小存取单位是记录。现在学习的是第28页,共126页文件系统中数据的结构举例文件系统中数据的结构举例学生编号姓名性别年龄系家庭住址联系电话课程编号课程名称学时数教材名称学生编号课程编号学期成绩学生文件学生文件student的记录结构:的记录结构:课程文件课程文件courset的记录结构:的记录结构:选课文件选课文件sc的记录结构:的记录结构:现在学习的是第29页,共126页3、数据库系统阶段、数据库系统阶段20世纪世纪60年代后期以来。年代后期以来。特点:特点:(1)数据结构化)数据结构化(2)数据的)数据的共享性高共享性高,冗余度低冗余度低,易扩充易扩充。(3)数据的)数据的独立性高独立性高。(4)由)由DBMS统一管理统一管理和和控制控制数据数据。现在学习的是第30页,共126页(1)数据结构化)数据结构化n数据结构化数据结构化是数据库与文件系统的主要区别是数据库与文件系统的主要区别文件系统:文件系统:n文件的记录内部有结构,但记录之间没有联系文件的记录内部有结构,但记录之间没有联系n数据的最小存取单位是记录,粒度不能细到数据项数据的最小存取单位是记录,粒度不能细到数据项数据库:实现的是数据的真正结构化数据库:实现的是数据的真正结构化n不仅数据内部结构化,整体是结构化的,数据之间具有不仅数据内部结构化,整体是结构化的,数据之间具有联系联系n数据的最小存取单位是数据的最小存取单位是数据项,数据项,存取方式灵活,可以存存取方式灵活,可以存取数据库中的某一个数据项、一组数据项、一个记录或取数据库中的某一个数据项、一组数据项、一个记录或一组记录一组记录现在学习的是第31页,共126页文件系统中数据的结构举例文件系统中数据的结构举例学生编号姓名性别年龄系家庭住址联系电话课程编号课程名称学时数教材名称学生编号课程编号学期成绩学生文件学生文件student的记录结构:的记录结构:课程文件课程文件courset的记录结构:的记录结构:选课文件选课文件sc的记录结构:的记录结构:现在学习的是第32页,共126页数据库系统中数据的结构举例数据库系统中数据的结构举例学生编号姓名性别年龄系家庭住址联系电话课程编号课程名称学时数教材名称学生编号课程编号学期成绩学生基本记录:学生基本记录:课程基本记录:课程基本记录:选课基本记录:选课基本记录:现在学习的是第33页,共126页(2)数据的共享性高,冗余度低,易扩充)数据的共享性高,冗余度低,易扩充n数据库系统从整体角度看待和描述数据,数据库系统从整体角度看待和描述数据,数据面向整个系统,可以被多个用户、多数据面向整个系统,可以被多个用户、多个应用共享使用。个应用共享使用。n数据的高共享性的好处:数据的高共享性的好处:减少数据冗余减少数据冗余,节省存储空间节省存储空间。避免数据避免数据之间的之间的不相容性不相容性与与不一致性不一致性。使系统使系统易于扩充易于扩充n n数据不一致性数据不一致性:是指同一数据不同拷贝的值不一样。是指同一数据不同拷贝的值不一样。现在学习的是第34页,共126页(3)数据独立性高)数据独立性高n n数据独立性数据独立性:n n逻辑独立性逻辑独立性逻辑独立性逻辑独立性:是指:是指用户的用户的应用程序与数据库的逻辑结构是应用程序与数据库的逻辑结构是相互独立相互独立的的。也即,数据的逻辑结构改变了,用户程序也可以。也即,数据的逻辑结构改变了,用户程序也可以不变。不变。n n物理独立性物理独立性物理独立性物理独立性:是指是指用户的用户的应用程序与存储在磁盘上的数据应用程序与存储在磁盘上的数据库中的数据是相互独立库中的数据是相互独立的的。也即,用户程序无须了解。也即,用户程序无须了解DBMSDBMS是如何管理数据库以及数据在磁盘上是如何存储的,只须是如何管理数据库以及数据在磁盘上是如何存储的,只须处理数据的逻辑结构。因此,当数据的物理存储改变了,处理数据的逻辑结构。因此,当数据的物理存储改变了,用户程序不用改变。用户程序不用改变。n n数据与程序独立的作用:数据与程序独立的作用:数据与程序独立的作用:数据与程序独立的作用:把数据的定义从程序中分离出来,加上数把数据的定义从程序中分离出来,加上数据的存取又由据的存取又由DBMS负责,从而大大简化了应用程序的编制,大负责,从而大大简化了应用程序的编制,大大减少了应用程序的维护和修改大减少了应用程序的维护和修改。现在学习的是第35页,共126页(4)数据由)数据由DBMS统一管理和控制统一管理和控制n n管理功能:管理功能:管理功能:管理功能:数据定义数据定义数据定义数据定义数据组织、存储和管理数据组织、存储和管理数据组织、存储和管理数据组织、存储和管理数据操纵数据操纵数据库的建立和维护数据库的建立和维护n n DBMS还还必须必须必须必须提供提供提供提供以下几方面以下几方面的数据控制功能的数据控制功能的数据控制功能的数据控制功能:A.A.数据的安全性(数据的安全性(SecuritySecurity)保护)保护B.B.数据的完整性(数据的完整性(IntegrityIntegrity)检查)检查C.C.并发(并发(ConcurrencyConcurrency)控制)控制D.D.数据库恢复(数据库恢复(RecoveryRecovery)现在学习的是第36页,共126页A.数据的安全性(数据的安全性(Security)保护)保护n数据的安全性,数据的安全性,是指保护数据以防止不合法的使用造是指保护数据以防止不合法的使用造成的数据的泄露和破坏成的数据的泄露和破坏。n使每个用户只能按规定,对某些数据以某种方式进行使使每个用户只能按规定,对某些数据以某种方式进行使用和处理。用和处理。现在学习的是第37页,共126页B.数据的完整性(数据的完整性(Integrity)检查)检查n数据的完整性,数据的完整性,是指数据的正确性、有效是指数据的正确性、有效性和相容性性和相容性。n完整性检查,完整性检查,将数据控制在有效的范围内,将数据控制在有效的范围内,或保证数据之间满足一定的关系或保证数据之间满足一定的关系。现在学习的是第38页,共126页C.并发(并发(Concurrency)控制)控制n当多个用户的并发当多个用户的并发进程进程(指正在执行的指正在执行的程序程序)同时存取、修改数据库时,)同时存取、修改数据库时,可能会发生相互干扰,而得到错误的结果可能会发生相互干扰,而得到错误的结果或使得数据库的完整性遭到破坏或使得数据库的完整性遭到破坏n因此,必须对多个用户的并发操作加以因此,必须对多个用户的并发操作加以控制和协调。控制和协调。现在学习的是第39页,共126页D.数据库恢复(数据库恢复(Recovery)n计算机系统的硬件故障、软件故障、操作员计算机系统的硬件故障、软件故障、操作员的失误以及故意的破坏,也会影响数据库中的失误以及故意的破坏,也会影响数据库中数据的正确性,甚至造成数据库部分或全部数据的正确性,甚至造成数据库部分或全部数据的丢失。数据的丢失。nDBMS必须具有将数据库从错误状态恢复到必须具有将数据库从错误状态恢复到某一已知的正确状态(亦即为完整状态或一某一已知的正确状态(亦即为完整状态或一致状态)的功能,这就是致状态)的功能,这就是数据库的恢复功能数据库的恢复功能。现在学习的是第40页,共126页数据库系统阶段的数据组织模式数据库系统阶段的数据组织模式图图1-3数据库系统阶段应用程序与数据之间的对应关系数据库系统阶段应用程序与数据之间的对应关系应用程序应用程序1应用程序应用程序2应用程序应用程序n数据库管理系统(DBMS)数据库数据库现在学习的是第41页,共126页1.3数据模型数据模型1.3.0数据模型基本概念数据模型基本概念1.3.1数据模型的要素数据模型的要素1.3.2概念模型与表示法概念模型与表示法1.3.3数据模型数据模型现在学习的是第42页,共126页1.3.0数据模型基本概念数据模型基本概念n模型模型:现实世界特征的模拟和抽象。:现实世界特征的模拟和抽象。n数数据据模模型型:用用事事物物的的本本质质属属性性或或人人们们关关心心的的属属性性对对事事物物的的一一种种描描述述。是是对对现现实实世世界界数数据据特征的抽象,一组概念的集合。特征的抽象,一组概念的集合。现在学习的是第43页,共126页数据模型的类型数据模型的类型(1)概念模型概念模型也称信息模型也称信息模型是面向客观世界、是面向客观世界、面向用户面向用户的模型,的模型,与具体的数据库系统和与具体的数据库系统和计算机平台无关计算机平台无关。着重于客观世界复杂着重于客观世界复杂事物的结构描述及它们之间的内在联系的事物的结构描述及它们之间的内在联系的描述描述。(2)逻辑模型逻辑模型面向数据库系统面向数据库系统的模型的模型着重于着重于DBMS实现实现。(3)物理模型物理模型是是面向计算机物理表示面向计算机物理表示的模型,的模型,描述数据在系统内部的表示方式和存取方法描述数据在系统内部的表示方式和存取方法现在学习的是第44页,共126页1.3.1数据模型(逻辑模型)的要素数据模型(逻辑模型)的要素n数据模型要描述系统的数据模型要描述系统的l l静态特性、静态特性、l l动态特性和动态特性和l l完整性约束条件。完整性约束条件。n数据模型的三要素:数据模型的三要素:1 1、数据结构、数据结构2 2、数据操作和、数据操作和3 3、数据的约束条、数据的约束条件件(完整性约束)(完整性约束)。现在学习的是第45页,共126页1、数据结构、数据结构n什么是数据结构什么是数据结构描述数据库的组成对象,以及对象之间的联系描述数据库的组成对象,以及对象之间的联系n描述的内容描述的内容与与数数据据类类型型、内内容容、性性质质有有关关的的对对象象(如如关关系系模模型型中中的的关系、属性、域等)关系、属性、域等)与数据之间联系有关的对象与数据之间联系有关的对象n数数据据库库系系统统中中,按按照照其其数数据据结结构构类类型型来来命命名名数数据据模模型型,数据结构是数据结构是对对系统静态特性的描述系统静态特性的描述。现在学习的是第46页,共126页2、数据操作、数据操作n数数据据操操作作是是指指对对数数据据库库中中各各种种对对象象(型型)的的实实例例(值值)允允许许执执行行的操作的操作的的集合集合,包括,包括操作操作及及有关的操作规则有关的操作规则。n数据模型必须定义:数据模型必须定义:这些操作的确切含义这些操作的确切含义操作符号操作符号操作规则操作规则以及实现操作的语言以及实现操作的语言n数据操作对数据操作对系统动态特性描述系统动态特性描述。n数据库操作的数据库操作的类型类型:检索检索更新更新(包括插入、删除、修改)(包括插入、删除、修改)现在学习的是第47页,共126页3、数据的约束条件、数据的约束条件n是一组是一组完整性规则的集合完整性规则的集合。n完整性规则:完整性规则:是是给给定定的的数数据据模模型型中中数数据据及及其其联联系系所所具具有有的的制约制约和和依存规则依存规则,用用以以限限定定符符合合数数据据模模型型的的数数据据库库状状态态及及状状态态的的变化变化,以以保证保证数据的数据的正确正确、有效有效、相容相容。现在学习的是第48页,共126页数据的约束条件数据的约束条件(续续)n数数据据模模型型应应反反映映和和规规定定本本数数据据模模型型必必须须遵遵守守的的基基本本的的通通用用的的完完整整性性约约束束条条件件。(如如:关关系模型中的实体完整,参照完整性)系模型中的实体完整,参照完整性)n数据模型还数据模型还应该提供应该提供定义定义完整性完整性约束条件的约束条件的机制,机制,以反映以反映具体应用具体应用所涉及的数据必须遵所涉及的数据必须遵守的特定的语义约束条件守的特定的语义约束条件。现在学习的是第49页,共126页1.3.2 概念模型与表示法概念模型与表示法1.E-R模型的基本概念模型的基本概念2.概念模型的表示方法(概念模型的表示方法(E-R图)图)3.一个实例一个实例现在学习的是第50页,共126页1.E-R模型模型的的基本概念基本概念1)实体(实体(Entity)客观存在并可相互区别的事物。客观存在并可相互区别的事物。可以是具体的人、事、物,或抽象的概念或联系。可以是具体的人、事、物,或抽象的概念或联系。如:如:一个学生(一个学生(95004,王小明王小明,198809,女女,95),),一门课(一门课(1,数据库数据库,72),),学生的一次选课(学生的一次选课(95004,1,85),),部门的一次订货(工程部部门的一次订货(工程部,挖掘机挖掘机,2008-10-20,10),),某位老师与某个院系的关系(王立某位老师与某个院系的关系(王立,数学系数学系,2003)现在学习的是第51页,共126页1.E-R模型模型的的基本概念(续)基本概念(续)2)属性(属性(Attribute)实体所具有的某一特性称为属性。实体所具有的某一特性称为属性。实体由实体由若干个若干个属性值属性值来刻画。来刻画。如:如:一个学生实体可以用一个学生实体可以用学号、姓名、性别、出生年月、入学时学号、姓名、性别、出生年月、入学时间间等属性等属性对应的值对应的值(95004,王小明王小明,女女,198809,95)组成。)组成。3)实体型(实体型(EntityType)用实体名及其属性名集合来抽象和刻画同类实体。用实体名及其属性名集合来抽象和刻画同类实体。如:学生(学号,姓名,性别,出生年月,所在系,入学时间)如:学生(学号,姓名,性别,出生年月,所在系,入学时间)4)实体集(实体集(EntitySet)p同类型实体的集合同类型实体的集合现在学习的是第52页,共126页1.E-R模型模型的的基本概念(续)基本概念(续)5)联系(联系(Relationship)n事物内部的联系事物内部的联系实体内部的联系实体内部的联系组成实体的组成实体的各属性之间的联系各属性之间的联系如:学生的学号制约了该学生的专业如:学生的学号制约了该学生的专业n事物之间的联系事物之间的联系实体之间的联系实体之间的联系如:一个学生可以选修多门课程,一门课程可以被多个学生如:一个学生可以选修多门课程,一门课程可以被多个学生选修。选修。现在学习的是第53页,共126页两个实体型之间的联系两个实体型之间的联系n两个两个实体型之间的联系实体型之间的联系有三种:有三种:一对一联系一对一联系,1:1一对多联系一对多联系,1:n多对多联系多对多联系,m:n现在学习的是第54页,共126页两个实体型之间的联系(续)两个实体型之间的联系(续)n一对一联系(一对一联系(1:1)实例实例一个班级只有一个学生是正班长,一个班级只有一个学生是正班长,一个班长(学生)只在一个班中任职。一个班长(学生)只在一个班中任职。定义:定义:如果对于实体集如果对于实体集A中的每一个实体,实体中的每一个实体,实体集集B中至多有一个(也可以没有)实体与之中至多有一个(也可以没有)实体与之联系,反之亦然,则称实体集联系,反之亦然,则称实体集A与实体集与实体集B具具有一对一联系,记为有一对一联系,记为1:1班级班级班级班级-班长班长学生学生111:1联系联系现在学习的是第55页,共126页两个实体型之间的联系(续)两个实体型之间的联系(续)n一对多联系(一对多联系(1 1:n n)实例实例一个班级中有若干名学生,一个班级中有若干名学生,每个学生只在一个班级中学习。每个学生只在一个班级中学习。定义:定义:如如果果对对于于实实体体集集A中中的的每每一一个个实实体体,实实体体集集B中中有有n个个实实体体(n0)与与之之联联系系,反反之之,对对于于实实体体集集B中中的的每每一一个个实实体体,实实体体集集A中中至至多多只只有有一一个个实实体体与与之之联联系系,则则称称实实体体集集A与与实实体体集集B有有一一对对多多联联系,记为系,记为1:n班级班级组成组成学生学生1N1:n联系联系现在学习的是第56页,共126页两个实体型之间的联系(续)两个实体型之间的联系(续)n多对多联系(多对多联系(m:n)实例实例课程与学生之间的联系:课程与学生之间的联系:一门课程同时有若干个学生选修,一门课程同时有若干个学生选修,一个学生可以同时选修多门课程。一个学生可以同时选修多门课程。定义:定义:如如果果对对于于实实体体集集A中中的的每每一一个个实实体体,实实体体集集B中中有有n个个实实体体(n0)与与之之联联系系,反反之之,对对于于实实体体集集B中中的的每每一一个个实实体体,实实体体集集A中中也也有有m个个实实体体(m0)与与之之联联系系,则则称称实实体体集集A与与实实体体B具具有有多多对多联系,记为对多联系,记为m:n课程课程选修选修学生学生MNm:n联系联系现在学习的是第57页,共126页两个以上实体型之间的联系两个以上实体型之间的联系n两个以上实体型之间一对多联系两个以上实体型之间一对多联系若实体集若实体集E1,E2,.,En存在联系,对于实体集存在联系,对于实体集Ej(j=1,2,.,i-1,i+1,.,n)中的给定实体,)中的给定实体,最多只和最多只和Ei中的一个实体相联系,则我们说中的一个实体相联系,则我们说Ei与与E1,E2,.,Ei-1,Ei+1,.,En之间的联系是一之间的联系是一对多的对多的现在学习的是第58页,共126页两个以上实体型之间的联系(续)两个以上实体型之间的联系(续)课程课程教员教员参考书参考书讲授讲授1mnn实例实例 课程、教师与参考书三个实体型课程、教师与参考书三个实体型一门课程可以有若干个教师讲授,一门课程可以有若干个教师讲授,使用若干本参考书,使用若干本参考书,每一个教师只讲授一门课程,每一个教师只讲授一门课程,每一本参考书只供一门课程使用。每一本参考书只供一门课程使用。现在学习的是第59页,共126页两个以上实体型之间的联系(续)两个以上实体型之间的联系(续)n多个实体型间的一对一联系多个实体型间的一对一联系n两个以上实体型间的多对多联系两个以上实体型间的多对多联系实例实例 供应商、项目、零件三个实体型供应商、项目、零件三个实体型一个供应商可以供给多个项目多种零件,一个供应商可以供给多个项目多种零件,每个项目可以使用多个供应商供应的零件,每个项目可以使用多个供应商供应的零件,每种零件可由不同供应商供给。每种零件可由不同供应商供给。供应商供应商项目项目零件零件供应供应pmn现在学习的是第60页,共126页单个实体型内的联系单个实体型内的联系n一对多联系一对多联系实例实例 职工实体型内部具有领导与被领导的联系:职工实体型内部具有领导与被领导的联系:某一职工(干部)某一职工(干部)“领导领导”若干名职工,若干名职工,一个职工仅被另外一个职工直接领导,一个职工仅被另外一个职工直接领导,这是一对多的联系。这是一对多的联系。职工职工领导领导1n单个实体型内部单个实体型内部1:n联系联系现在学习的是第61页,共126页单个实体型内的联系(续)单个实体型内的联系(续)n一对一联系一对一联系n请举例请举例学生学生同桌同桌11单个实体型内的单个实体型内的1:1 联系联系现在学习的是第62页,共126页单个实体型内的联系(续)单个实体型内的联系(续)学生学生同乡同乡mn单个实体型内的单个实体型内的m:n联系联系n多对多联系多对多联系请举例请举例课程课程预修预修mn现在学习的是第63页,共126页2.概念模型的表示方法概念模型的表示方法n实体联系方法实体联系方法(E-R(E-R方法方法)用用E-R图来描述现实世界的概念模型图来描述现实世界的概念模型E-R方法也称为方法也称为E-R模型模型现在学习的是第64页,共126页E-R图图n属性属性用椭圆形表示,并用无向边将其与相应的实用椭圆形表示,并用无向边将其与相应的实体连接起来。体连接起来。学生学生教师教师学生学生学号学号年龄年龄性别性别姓名姓名n实体型实体型用矩形表示,矩形框内写明实体名。用矩形表示,矩形框内写明实体名。现在学习的是第65页,共126页E-R图图(续续)n联系联系用菱形表示,菱形框内写明联系名,并用用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(边旁标上联系的类型(1:11:1、1:n1:n或或m:nm:n)现在学习的是第66页,共126页联系的表示方法联系的表示方法实体型实体型A联系名联系名实体型实体型B111:1联系联系实体型实体型A联系名联系名1n1:n联系联系实体型实体型A实体型实体型B联系名联系名mnm:n联系联系实体型实体型B现在学习的是第67页,共126页联系的表示方法示例联系的表示方法示例班级班级班级班级-班长班长学生学生111:1联系联系课程课程选修选修学生学生mnm:n联系联系班级班级组成组成学生学生1n1:n联系联系现在学习的是第68页,共126页联系的属性联系的属性课程课程选修选修学生学生mn成绩成绩 联系的属性:联系的属性:联系本身也是一种实体型,也联系本身也是一种实体型,也 可以有属性。如果一个联系具有可以有属性。如果一个联系具有属性,则这些属性也要用无向边属性,则这些属性也要用无向边与该联系连接起来与该联系连接起来 现在学习的是第69页,共126页一个实例一个实例用用E-R图表示学生教务管理的概念模型图表示学生教务管理的概念模型n实体型实体型学生:学生:学号、姓名、性别、年龄学号、姓名、性别、年龄班级班级:班级编号、所属专业系班级编号、所属专业系课程:课程:课程号、课程名、学分课程号、课程名、学分