封面江苏大学计算机学院计算机科学系数据库系统原理主讲:王新胜wxs@ujs.edu.cn课程性质性质:专业必修课先修课程:离散数学、数据结构、操作系统后续教学环节:数据库课程设计、毕业设计课程性质教学目的了解数据库系统的基础知识,理解关系数据库的基本概念、原理和方法掌握关系数据库语言——SQL语言的基本使用掌握微机关系型数据库系统SQLSERVER的使用课程教学说明学时安排讲授59学时,上机16学时作业书面作业上机作业成绩:平时:20%(其中上机10%)考试:80%课程教学说明教学要求课堂要求考勤记平时成绩3次无故缺席,取消考试资格课堂纪律课堂被点名3次,无平时成绩教学要求笔记补充内容(概念、练习)会作为考试内容课堂回答问题记平时成绩所提问题一般都为已讲内容作业记平时成绩1次无故不交,少一次平时成绩抄袭抄袭与被抄袭者一样处理,少一次平时成绩上机记平时成绩3次无故缺席,无平时成绩上机时严禁做与本课程无关的事情经1次提醒仍不纠正者,按无故缺席处理请假病假学校医院的病假条事假班主任签字的请假条第一章绪论数据库技术是数据管理的最新技术。数据管理是计算机的主要应用。数据库技术是研究数据库的结构、存储、设计、管理和使用的一门软件课程。第一章绪论1.1数据库系统概述1.2数据模型1.3数据库系统结构1.4数据库系统的组成目录1.1数据库系统概述常用术语和基本概念数据管理技术的产生和发展数据库系统的特点1.1.1数据、数据库、数据库管理系统、数据库系统一、数据(DATA)与信息1.信息:是指现实世界事物存在方式或运动状态的反映。(可以是抽象的)2.数据:描述事物的符号记录。例如:数字、文字、图象、声音、记录等。1.1.1数据与信息3.数据与信息的联系:密切相关联的信息是数据的内涵,是数据语义的解释(现实世界范畴)数据是信息的符号表示,是信息的载体(计算机世界范畴)举例信息(数据的语义):李明,21岁,1972年出生,江苏南京人,1990年考入计算机系。数据记录:(李明,男,21,1972,江苏南京,计算机系,1990)二、数据库(DataBase,简称DB)定义:长期储存在计算机内的、有组织的、可共享的数据集合。冗余数据——数据库中的重复数据。三、数据库管理系统(DataBaseManagementSystem,简称DBMS)定义:位于用户与操作系统之间的一层数据管理软件。数据库管理系统的主要功能:1.数据库定义功能DBMS一般提供数据定义语言(DDL)定义DB中的对象(外模式、模式和内模式)DDL——DataDefinitionLanguage2.数据库存取功能DBMS一般提供数据操纵语言(DML)实现对数据库数据的基本操作(检索|查询、插入、修改和删除)DML——DataManipulationLanguageDML有两类:宿主型:嵌入主语言,不能独立使用自主型:交互式命令语言,语法简单,可以独立使用3.数据库运行管理DBMS一般提供数据控制功能,包括并发控制、存取控制、完整性约束条件的检查和执行以及发生故障后的系统恢复所有的操作都要在这些控制程序的统一管理下进行,保证数据库的正确有效4.数据库的建立和维护功能包括数据库初始数据的装入、数据库的转储、恢复、重组织、系统性能监视、分析等功能由DBMS的实用程序来完成四、数据库系统(DBS)定义:在计算机系统中引入数据库后的系统,由DB、DBMS(及开发工具),应用系统、数据库管理员(和用户)构成。|采用数据库技术的计算机系统。组成:数据库、硬件、软件、人员。注:在不引起混淆的情况下常常把数据库系统简称为数据库数据库系统层次结构图硬件操作系统DBMS应用系统开发工具应用系统1.1.2数据管理技术的产生和发展产生:数据管理任务的需要。发展:人工管理阶段(40年代中--50年代中)文件系统阶段(50年代末--60年代中)数据库系统阶段(60年代末--现在)数据处理数据处理:利用计算机对各种形式的数据进行处理。包括:数据采集、整理、编码和输入,有效地把数据组织到计算机中,由计算机对数据进行一系列存储、加工/计算、分类、检索、传输、输出等操作过程。目的:从大量的原始数据中抽取和推导出对人们有价值的信息,以作为行动和决策的依据。数据管理数据管理:数据处理的一系列活动中,数据收集、存储、分类、传输等操作作为基本操作,这些基本操作环节称为数据管理。数据管理技术是解决上述基本环节的,而其它环节(加工/计算、输出等操作)是由应用程序实现的。数据处理的中心问题是数据管理。一、人工管理阶段时间:50年代中期以前背景:计算机主要用于科学计算硬件:磁带、卡片、纸带,没有磁盘软件:无操作系统(没有管理数据的软件)特点:数据不保存编写程序时要安排数据的物理存储数据面向程序应用程序1应用程序2应用程序n数据1数据2数据n......数据与程序之间的关系二、文件系统阶段时间:50年代后期到60年代中期背景:计算机不仅用于科学计算,而且用于数据处理硬件:磁盘、磁鼓软件:操作系统中已经有了专门的管理数据的软件(即文件系统)特点:数据以文件的形式长期保存数据的物理结构与逻辑结构有了区别文件形式多样化数据的存取以记录为单位缺点:数据冗余度(Redundancy)大:数据面向应用,无法共享数据和程序缺乏独立性应用程序1文件1...文件2应用程序2...应用程序n文件n文件系统数据与程序之间的关系三、数据库系统阶段时间:60年代后期-----背景:数据管理规模更为庞大,应用更广泛,数据量剧增,共享要求(多种应用、多种语言互相覆盖地共享数据集合)更强硬件:有了大容量和快速存取磁盘指导思想:对所有的数据实行统一的、集中的、独立的管理,使数据存储独立于使用数据的程序,实现数据共享。应用程序1应用程序2...应用程序nDBMS数据库DatabaseManagementSystem数据库管理系统数据库系统简图人工管理阶段文件系统阶段DBS阶段背景应用背景科学计算科学计算、管理大规模管理硬件背景无直接存取存储设备磁盘、磁鼓大容量磁盘软件背景没有操作系统有文件系统有DBMS处理方式批处理联机实时处理、批处理联机实时处理、分布处理、批处理数据管理3个阶段的比较人工管理阶段文件系统阶段DBS阶段特点数据的管理者用户(程序员)文件系统DBMS数据面向的对象某一应用程序某一应用现实世界数据的共享程度无共享,冗余度极大共享性差,冗余度大共享性高,冗余度小数据的独立性不独立,完全依赖于程序独立性差具有高度的物理独立性和一定的逻辑独立性数据的结构化无结构记录内有结构、整体无结构整体结构化,用数据模型描述数据控制能力应用程序自己控制应用程序自己控制由DBMS提供数据安全性、完整性、并发控制和恢复1.1.3数据库系统的特点一、数据结构化数据结构化是DBS与文件系统的根本区别。文件系统是一个无结构的数据集合,文件之间是孤立的,不能反映事物之间的联系。即记录内有结构,但记录之间无结构。DBS:描述数据时不仅描述数据本身,还要描述数据之间的联系,从而实现了整体数据的结构化。二、数据的共享性高,冗余度低,易扩充共享是指多用户、多种应用、多种语言互相覆盖地共享数据集合。可以实现文件级、记录级、数据项级的数据共享共享性高冗余度低;避免不相容性与不一致性;易扩充决定三、数据独立性高物理独立性——用户的应用程序与存储在磁盘上的数据库中数据是相互独立的,即当数据的物理存储改变了,应用程序不用改变。逻辑独立性——用户的应用程序与数据库中数据的逻辑结构是相互独立的,即当数据的逻辑结构改变了,应用程序不用改变。四、数据由DBMS统一管理和控制DBMS的数据控制功能:1.数据的安全性保护2.数据的完整性检查数据的完整性——数据的正确性、有效性和相容性。数据的安全性——保护数据以防止非法使用造成数据的泄露和破坏。3.并发控制并发控制——对多用户的并发操作加以控制和协调,防止多用户对DB的并发操作破坏DB的完整性等。4.数据库恢复数据库恢复——将DB从错误状态恢复到某一已知的正确状态。原因:由于计算机系统会发生故障,从而会影响甚至丢失DB中的数据。1.2数据模型一、数据模型定义:数据库系统中用于提供信息表示和操作手段的形式架构。种类:概念模型(概念数据模型)数据模型(逻辑数据模型)1.2定义:按用户的观点对数据和信息建模。作用:设计DB。特点:不依赖于具体的计算机系统,与DBMS无关。二、概念模型(信息模型)定义:按计算机系统的观点对数据建模。作用:实现DB。特点:依赖于具体的计算机系统,必须是DBMS支持的某一类型。类型:网状模型、层次模型、关系模型等。三、数据模型现实世界中客观对象的抽象过程现实世界认识抽象信息世界概念模型机器世界数据模型转换1.2.1概念模型一、信息世界中的基本概念实体——客观存在并可相互区别的事物。属性——实体所具有的特性。码(关键字)——唯一标识实体的属性集(即一个或多个属性)。域——属性的取值范围。实体型——用实体名及其属性名集合来刻画同类实体。例如:学生(学号、姓名、年龄、性别、系、年级)是一个实体型。实体集——同型实体的集合。同型实体举例:(050101,李明,18,男,计算机系)(040201,王丽,19,女,管理系)联系的3种类型:一对一联系(1:1)一对多联系(1:n)多对多联系(m:n)1对1联系定义:若对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系,记为1:1。例子:部门-------经理1对多联系定义:若对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B具有一对多联系,记为1:n。例子:部门-------职工多对多联系定义:若对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于对于实体集B中的每一个实体,实体集A中也有m个实体(m≥0)与之联系,则称实体集A与实体集B具有多对多联系,记为m:n。例子:项目-------职工二、概念模型的表示方法实体-联系方法(Entity-RelationshipApproach,简称E-R方法,也叫E-R模型):用E-R图描述概念模型。该方法是陈品山(PeterPin-ShanChen)于1976年提出的一种数据库逻辑设计方法。陈品山其人东方网2003年1月30日消息:美国路易斯安纳大学计算机系讲座教授陈品山,最近获选为全世界最具计算机软件开发技术的16位科学家之一,也是唯一获选的华裔科学家。陈品山博士来自中国台湾,1968年自台湾大学电机系毕业,负笈来美深造,于1973年获得哈佛大学计算机科学博士学位。他曾在麻省理工学院及加州大学洛杉矶分校任教;他所研发的计算机软件广泛应用于信息系统、数据库和网际网络等方面。二、概念模型的表示方法1实体符号:说明:框内写实体名举例:学生2联系符号:说明:框内写联系名,用线将其与有关实体连接,在连线旁注明联系的类型(1:1,1:n,m:n)举例:实体型A联系名实体型B实体型A联系名实体型B实体型A联系名实体型B111nmn(a)1:1的联系(b)1:n的联系(c)m:n的联系实体型之间的联系示意图一般地,两个以上实体型之间也存在着一对一、一对多和多对多的联系。课程教员参考书讲授1mn三个实体型之间的一对多关系供应商项目零件供应pmn三个实体型之间的多对多关系多个实体型之间的关系同一实体集内的各实体之间可以有某种联系职工领导1n同一实体集内一对多联系3属性符号:说明:框内写属性名,用线将其与有关实体或联系连接举例:学生学号姓名年龄性别系年级学生实体及属性供应商项目零件供应pmn供应量实体和实体之间联系注意:三个实体型间的多对多联系与三个实体型两两间的多对多联系不同供应商供应项目零件mnpm使用销售供应供应商项目零件mnn