《数据库管理系统设计与实现》由会员分享,可在线阅读,更多相关《数据库管理系统设计与实现(51页珍藏版)》请在金锄头文库上搜索。
1、学 生:王新爱 S201202243 张济昭 S201202236指导老师:方丽英数据库管理系统设计与实现数据库管理系统设计与实现数据库管理系统设计与实现数据库管理系统设计与实现一、数据库管理系统一、数据库管理系统二、二、E-R模型模型三、关系数据库标准语言三、关系数据库标准语言SQL四、触发器四、触发器一、数据库管理系统一、数据库管理系统1.1 数据库管理系统数据库管理系统1.2 DBMS的主要功能的主要功能1.3 数据库系统数据库系统1.4 数据库的特点数据库的特点1.1 数据库管理系统数据库管理系统什么是DBMS数据库管理系统(Database ManagementSystem,简称DB
2、MS)是位于用户与操作系统之间的一层数据管理软件。DBMS的用途科学地组织和存储数据、高效地获取和维护数据1.2 DBMS的主要功能的主要功能数据定义功能提供数据定义语言(DDL),可以定义数据库中的数据对象数据操纵功能提供数据操纵语言(DML)DML操纵数据实现对数据库的基本操作,如查询、插入、删除和修改等。1.2 DBMS的主要功能的主要功能数据库的运行管理数据库管理系统统一管理、统一控制保证数据的安全性、完整性、用户对数据的并发使用和发生故障后的系统恢复数据库的建立和维护功能(实用程序)数据库数据批量装载数据库转储介质故障恢复数据库的重组织性能监视等1.3 数据库系统数据库系统什么是数据
3、库系统数据库系统(DatabaseSystem,简称DBS)是指在计算机系统中引入数据库后的系统构成。在不引起混淆的情况下常常把数据库系统简称为数据库。数据库系统的构成由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员(DBA)和用户构成。1.4 数据库的特点数据库的特点特点数据的管理者:DBMS数据面向的对象:现实世界数据的共享程度:共享性高数据的独立性:高度的物理独立性和一定的逻辑独立性数据的结构化:整体结构化数据控制能力:由DBMS统一管理和控制数据库管理系统设计与实现数据库管理系统设计与实现一、数据库管理系统一、数据库管理系统二、二、E-R模型模型三、关系数据库标准语言三
4、、关系数据库标准语言SQL四、触发器四、触发器2.1 E-R模型模型实体集实体实体(entity)是现实世界中可区别于其他对象的“事物”或“对象”。实体集实体集 (entity set) 是相同类型即具有相同性质(或属性)的实体集合。实体通过一组属性(attribute)来表示。用矩形来表示,矩形框内写明实体名。学生学生教师教师E-R模型模型属性(attribute)是实体集中每个成员所拥有的描述性性质。用椭圆形表示,并用无向边将其与相应的实体连接起来学生学生学号学号年龄年龄性别性别姓名姓名E-R模型模型联系集联系联系(relationship)是指多个实体间的相互关联。联系集联系集(rela
5、tionshipset)是同类联系的集合。2.2 联系的表示方法联系的表示方法联系本身联系本身:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n)联系的属性联系的属性:联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来2.3 关系模型概述关系模型概述关系数据库系统是支持关系模型的数据库系统关系模型的组成关系数据结构关系操作集合关系完整性约束关系数据结构关系数据结构单一的数据结构-关系现实世界的实体以及实体间的各种联系均用关系来表示。数据的逻辑结构-二维表从用户角度,关系模型中数
6、据的逻辑结构是一张二维表。关系操作集合关系操作集合1)常用的关系操作2)关系操作的特点3)关系数据语言的种类4)关系数据语言的特点关系操作集合关系操作集合1)常用的关系操作查询选择、投影、连接、除、并、交、差数据更新插入、删除、修改查询的表达能力是其中最主要的部分关系操作集合关系操作集合2)关系操作的特点集合操作方式(一次一集合),即操作的对象和结果都是集合。非关系数据模型的数据操作方式:一次一记录文件系统的数据操作方式关系操作集合关系操作集合3)关系数据语言的特点关系语言是一种高度非过程化的语言存取路径的选择由DBMS的优化机制来完成用户不必用循环结构就可以完成数据操作能够嵌入高级语言中使用
7、关系代数、元组关系演算和域关系演算三种语言在表达能力上完全等价具有关系代数和关系演算双重特点的语言典型代表:SQL三类关系三类关系基本关系(基本表或基表)实际存在的表,是实际存储数据的逻辑表示查询表查询结果对应的表视图表由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据数据库管理系统设计与实现数据库管理系统设计与实现一、数据库管理系统一、数据库管理系统二、二、E-R模型模型三、关系数据库标准语言三、关系数据库标准语言SQL四、触发器四、触发器3.1 SQL的概述的概述SQL的特点1.综合统一2.高度非过程化3.面向集合的操作方式4.以同一种语法结构提供两种使用方法5.语言简洁,易学易用
8、3.2 SQL常用语言常用语言数据定义 CREATE,DROP,ALTER数据查询 SELECT数据操纵 INSERT,UPDATE,DELETE数据控制 GRANT,REVOKE定义语句格式定义语句格式定义基本表CREATETABLE(,);:所要定义的基本表的名字:组成该表的各个属性(列):涉及相应属性列的完整性约束条件:涉及一个或多个属性列的完整性约束条件定义语句格式定义语句格式常用完整性约束主码约束:PRIMARYKEY唯一性约束:UNIQUE非空值约束:NOTNULL参照完整性约束实例说明实例说明创建读者信息表,表名为“TReader”例:USEMBOOKGOCREATETABLET
9、Reader(ReaderIDchar(8)NOTNULLPRIMARY KEY,Namechar(8)NOTNULL,SexbitNOTNULL,BorndateNOTNULL,Specchar(12)NOT NULL,NumintNOTNULLDEFAULT0CHECK(Num=5),Photovarbinary(MAX)NULL,AddrxmlNULL)主码约束非空值约束修改基本的表修改基本的表ALTERTABLEADD完整性约束DROPMODIFY;:要修改的基本表ADD子句:增加新列和新的完整性约束条件DROP子句:删除指定的完整性约束条件MODIFY子句:用于修改列名和数据类型删除
10、属性列直接/间接删除把表中要保留的列及其内容复制到一个新表中删除原表再将新表重命名为原表名直接删除属性列:(新)例:ALTERTABLEStudentDropScome;删除基本表删除基本表DROPTABLE基本表定义一旦删除,表中的数据、表上的索引和视图都将自动被删除。有的系统,删除基本表后建立在表上的视图往往仍然保留,但无法引用。删除基本表时,系统会从数据字典中删去有关该基本表及其索引的描述(标准中没有,认为表建立后就永久存在)建立与删除索引建立与删除索引建立索引是加快查询速度的有效手段建立索引DBA或表的属主(即建立表的人)根据需要建立有些DBMS自动建立以下列上的索引PRIMARYKE
11、YUNIQUE维护索引DBMS自动完成使用索引DBMS自动选择是否使用索引以及使用哪些索引建立索引建立索引语句格式CREATEUNIQUECLUSTERINDEXON(, );用指定要建索引的基本表名字索引可以建立在该表的一列或多列上,各列名之间用逗号分隔用指定索引值的排列次序,升序:ASC,降序:DESC。缺省值:ASCUNIQUE表明此索引的每一个索引值只对应唯一的数据记录CLUSTER表示要建立的索引是聚簇索引删除索引删除索引DROPINDEX;删除索引时,系统会从数据字典中删去有关该索引的描述。例删除Student表的Stusname索引。DROPINDEXStusname;查询查询语
12、句格式SELECTALL|DISTINCT,FROM,WHEREGROUPBYHAVINGORDERBYASC|DESC;查询查询SELECT子句:指定要显示的属性列FROM子句:指定查询对象(基本表或视图)WHERE子句:指定查询条件GROUPBY子句:对查询结果按指定列的值分组,该属性列值相等的元组为一个组。通常会在每组中作用集函数。HAVING短语:筛选出只有满足指定条件的组ORDERBY子句:对查询结果表按指定列值的升序或降序排序3.3 视图视图视图的特点视图的特点虚表,是从一个或几个基本表(或视图)导出的表只存放视图的定义,不会出现数据冗余基表中的数据发生变化,从视图中查询出的数据也
13、随之改变视图视图基于视图的操作基于视图的操作查询删除受限更新定义基于该视图的新视图建立视图建立视图语句格式CREATEVIEW(,)ASWITHCHECKOPTION;建立视图建立视图DBMS执行CREATEVIEW语句时只是把视图的定义存入数据字典,并不执行其中的SELECT语句。在对视图查询时,按视图的定义从基本表中将数据查出。WITHCHECKOPTION透过视图进行增删改操作时,不得破坏视图定义中的谓词条件(即子查询中的条件表达式)删除视图删除视图DROPVIEW;该语句从数据字典中删除指定的视图定义由该视图导出的其他视图定义仍在数据字典中,但已不能使用,必须显式删除删除基表时,由该基
14、表导出的所有视图定义都必须显式删除视图实例视图实例CREATEVIEWRBLASSELECTTReader.ReaderID,TLend.BookID,TLend.ISBN,FROMTReader数据库管理系统设计与实现数据库管理系统设计与实现一、数据库管理系统一、数据库管理系统二、二、E-R模型模型三、关系数据库标准语言三、关系数据库标准语言SQL四、触发器四、触发器四、四、 触发器触发器4.1 触发器的概念与作用触发器的概念与作用4.2 触发器的组成触发器的组成4.3 DML触发器触发器4.4 触发器的管理触发器的管理触发器的概念与作用触发器的概念与作用触发器主要作用是:触发器主要作用是:
15、维护那些通过创建表时的声明约束不可能实现维护那些通过创建表时的声明约束不可能实现的复杂的完整性约束以及对数据库中特定事件的复杂的完整性约束以及对数据库中特定事件进行监控和响应。进行监控和响应。利用触发器记录所进行的修改以及谁做了修改利用触发器记录所进行的修改以及谁做了修改等信息对表进行审计。等信息对表进行审计。当表被修改的时候,触动触发器自动给需要执当表被修改的时候,触动触发器自动给需要执行操作的程序发信号。行操作的程序发信号。触发器的组成触发器的组成DML触发器触发器建立在基本表上的触发器称为DML触发器。当对基本表进行数据的INSERT、UPDATE和DELETE操作时,会激发相应的DML
16、触发器的执行。DML触发器执行顺序触发器执行顺序执行BEFORE语句级触发器。对于受语句影响的每一行:执行BEFORE行级触发器;执行DML语句;执行AFTER行级触发器。执行AFTER语句级触发器。语句级触发器语句级触发器语句级触发器创建的语法CREATEORREPLACETRIGGERtrigger_nameBEFORE|AFTERtrigger_event1ORtrigger_event2OFcolumn_nameONtable_nameWHENtrigger_conditionPL/SQLblock触发器的管理触发器的管理v启用触发器可以启用某个触发器vALTERTRIGGERtrigger_nameENABLE;可以启用某个表对象上的所有触发器vALTERTABLEtable_nameENABLEALLTRIGGERS;v删除触发器DROPTRIGGERtrigger_name;v查看触发器语法错误SHOWERRORSv查看触发器源代码查询数据字典USER_SOURCE中的TEXT属性图书管理系统设计:谢谢大家!