数据库管理系统设计与实现.ppt_第1页
数据库管理系统设计与实现.ppt_第2页
数据库管理系统设计与实现.ppt_第3页
数据库管理系统设计与实现.ppt_第4页
数据库管理系统设计与实现.ppt_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学 生:王新爱 S201202243 张济昭 S201202236 指导老师:方丽英,数据库管理系统设计与实现,数据库管理系统设计与实现,一、数据库管理系统,二、E-R模型,三、关系数据库标准语言SQL,四、触发器,一、数据库管理系统,1.1 数据库管理系统,1.2 DBMS的主要功能,1.3 数据库系统,1.4 数据库的特点,1.1 数据库管理系统,什么是DBMS 数据库管理系统(Database Management System,简称DBMS)是位于用户与操作系统之间的一层数据管理软件。 DBMS的用途 科学地组织和存储数据、高效地获取和维护数据,1.2 DBMS的主要功能,数据定义功能 提供数据定义语言(DDL),可以定义数据库中的数据对象 数据操纵功能 提供数据操纵语言(DML) DML操纵数据实现对数据库的基本操作,如查询、插入、删除和修改等。,1.2 DBMS的主要功能,数据库的运行管理 数据库管理系统统一管理、统一控制 保证数据的安全性、完整性、用户对数据的并发使用和发生故障后的系统恢复 数据库的建立和维护功能(实用程序) 数据库数据批量装载 数据库转储 介质故障恢复 数据库的重组织 性能监视等,1.3 数据库系统,什么是数据库系统 数据库系统(Database System,简称DBS)是指在计算机系统中引入数据库后的系统构成。 在不引起混淆的情况下常常把数据库系统简称为数据库。 数据库系统的构成 由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员(DBA)和用户构成。,1.4 数据库的特点,特点 数据的管理者:DBMS 数据面向的对象:现实世界 数据的共享程度:共享性高 数据的独立性:高度的物理独立性和一定的 逻辑独立性 数据的结构化:整体结构化 数据控制能力:由DBMS统一管理和控制,数据库管理系统设计与实现,一、数据库管理系统,二、E-R模型,三、关系数据库标准语言SQL,四、触发器,2.1 E-R模型,实体集 实体(entity)是现实世界中可区别于其他对象的“事物”或“对象”。 实体集 (entity set) 是相同类型即具有相同性质(或属性)的实体集合。实体通过一组属性(attribute)来表示。 用矩形来表示,矩形框内写明实体名。,学生,教师,E-R模型,属性(attribute) 是实体集中每个成员所拥有的描述性性质。 用椭圆形表示,并用无向边将其与相应的实体连接起来,E-R模型,联系集 联系(relationship)是指多个实体间的相互关联。 联系集(relationship set)是同类联系的集合。,2.2 联系的表示方法,联系本身:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n) 联系的属性:联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来,2.3 关系模型概述,关系数据库系统 是支持关系模型的数据库系统 关系模型的组成 关系数据结构 关系操作集合 关系完整性约束,关系数据结构,单一的数据结构-关系 现实世界的实体以及实体间的各种联系均用关系来表示。 数据的逻辑结构-二维表 从用户角度,关系模型中数据的逻辑结构是一张二维表。,关系操作集合,1) 常用的关系操作 2) 关系操作的特点 3) 关系数据语言的种类 4) 关系数据语言的特点,关系操作集合,1) 常用的关系操作 查询 选择、投影、连接、除、并、交、差 数据更新 插入、删除、修改 查询的表达能力是其中最主要的部分,关系操作集合,2) 关系操作的特点 集合操作方式(一次一集合),即操作的对象和结果都是集合。 非关系数据模型的数据操作方式:一次一记录 文件系统的数据操作方式,关系操作集合,3) 关系数据语言的特点 关系语言是一种高度非过程化的语言 存取路径的选择由DBMS的优化机制来完成 用户不必用循环结构就可以完成数据操作 能够嵌入高级语言中使用 关系代数、元组关系演算和域关系演算三种语言在表达能力上完全等价 具有关系代数和关系演算双重特点的语言 典型代表:SQL,三类关系,基本关系(基本表或基表) 实际存在的表,是实际存储数据的逻辑表示 查询表 查询结果对应的表 视图表 由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据,数据库管理系统设计与实现,一、数据库管理系统,二、E-R模型,三、关系数据库标准语言SQL,四、触发器,3.1 SQL的概述,SQL的特点 1. 综合统一 2. 高度非过程化 3. 面向集合的操作方式 4. 以同一种语法结构提供两种使用方法 5. 语言简洁,易学易用,3.2 SQL常用语言,数据定义 CREATE,DROP,ALTER 数据查询 SELECT 数据操纵 INSERT,UPDATE,DELETE 数据控制 GRANT,REVOKE,定义语句格式,定义基本表 CREATE TABLE ( , , ); :所要定义的基本表的名字 :组成该表的各个属性(列) :涉及相应属性列的完整性约束条件 :涉及一个或多个属性列的完整性约束条件,定义语句格式,常用完整性约束 主码约束: PRIMARY KEY 唯一性约束:UNIQUE 非空值约束:NOT NULL 参照完整性约束,实例说明,创建读者信息表,表名为“TReader” 例: USE MBOOK GO CREATE TABLE TReader ( ReaderID char(8) NOT NULL PRIMARY KEY, Name char(8) NOT NULL, Sex bit NOT NULL, Born date NOT NULL, Spec char(12) NOT NULL, Num int NOT NULL DEFAULT 0 CHECK(Num=5), Photo varbinary(MAX) NULL, Addr xml NULL ),主码约束,非空值约束,修改基本的表,ALTER TABLE ADD 完整性约束 DROP MODIFY ; :要修改的基本表 ADD子句:增加新列和新的完整性约束条件 DROP子句:删除指定的完整性约束条件 MODIFY子句:用于修改列名和数据类型,删除属性列 直接/间接删除 把表中要保留的列及其内容复制到一个新表中 删除原表 再将新表重命名为原表名 直接删除属性列:(新) 例:ALTER TABLE Student Drop Scome;,删除基本表,DROP TABLE 基本表定义一旦删除,表中的数据、表上的索引和视图都将自动被删除。 有的系统,删除基本表后建立在表上的视图往往仍然保留,但无法引用。 删除基本表时,系统会从数据字典中删去有关该基本表及其索引的描述 (标准中没有,认为表建立后就永久存在),建立与删除索引,建立索引是加快查询速度的有效手段 建立索引 DBA或表的属主(即建立表的人)根据需要建立 有些DBMS自动建立以下列上的索引 PRIMARY KEY UNIQUE 维护索引 DBMS自动完成 使用索引 DBMS自动选择是否使用索引以及使用哪些索引,建立索引,语句格式 CREATE UNIQUE CLUSTER INDEX ON (, ); 用指定要建索引的基本表名字 索引可以建立在该表的一列或多列上,各列名之间用逗号分隔 用指定索引值的排列次序,升序:ASC,降序:DESC。缺省值:ASC UNIQUE表明此索引的每一个索引值只对应唯一的数据记录 CLUSTER表示要建立的索引是聚簇索引,删除索引,DROP INDEX ; 删除索引时,系统会从数据字典中删去有关该索引的描述。 例 删除Student表的Stusname索引。 DROP INDEX Stusname;,查询,语句格式 SELECT ALL|DISTINCT , FROM , WHERE GROUP BY HAVING ORDER BY ASC|DESC ;,查询,SELECT子句:指定要显示的属性列 FROM子句:指定查询对象(基本表或视图) WHERE子句:指定查询条件 GROUP BY子句:对查询结果按指定列的值分组,该属性列值相等的元组为一个组。通常会在每组中作用集函数。 HAVING短语:筛选出只有满足指定条件的组 ORDER BY子句:对查询结果表按指定列值的升序或降序排序,3.3 视图,视图的特点 虚表,是从一个或几个基本表(或视图)导出的表 只存放视图的定义,不会出现数据冗余 基表中的数据发生变化,从视图中查询出的数据也随之改变,视图,基于视图的操作 查询 删除 受限更新 定义基于该视图的新视图,建立视图,语句格式 CREATE VIEW ( ,) AS WITH CHECK OPTION;,建立视图,DBMS执行CREATE VIEW语句时只是把视图的定义存入数据字典,并不执行其中的SELECT语句。 在对视图查询时,按视图的定义从基本表中将数据查出。 WITH CHECK OPTION 透过视图进行增删改操作时,不得破坏视 图定义中的谓词条件 (即子查询中的条件表达式),删除视图,DROP VIEW ; 该语句从数据字典中删除指定的视图定义 由该视图导出的其他视图定义仍在数据字典中,但已不能使用,必须显式删除 删除基表时,由该基表导出的所有视图定义都必须显式删除,视图实例,CREATE VIEW RBL AS SELECT TReader.ReaderID,TLend.BookID,TLend.ISBN, TBook.BookName,TBook.Publisher,TBook.Price.TLend.Ltime FROM TReader INNER JOIN Tlend ON TReader.ReaderID=TLend.ReaderID INNER JOIN TBook ON TBook.ISBN=TLend.ISBN,数据库管理系统设计与实现,一、数据库管理系统,二、E-R模型,三、关系数据库标准语言SQL,四、触发器,四、 触发器,4.1 触发器的概念与作用,4.2 触发器的组成,4.3 DML触发器,4.4 触发器的管理,触发器的概念与作用,触发器主要作用是: 维护那些通过创建表时的声明约束不可能实现的复杂的完整性约束以及对数据库中特定事件进行监控和响应。 利用触发器记录所进行的修改以及谁做了修改等信息对表进行审计。 当表被修改的时候,触动触发器自动给需要执行操作的程序发信号。,触发器的组成,DML触发器,建立在基本表上的触发器称为DML触发器。当对基本表进行数据的INSERT、UPDATE和DELETE操作时,会激发相应的DML触发器的执行。 DML触发器执行顺序 执行BEFORE语句级触发器。 对于受语句影响的每一行: 执行BEFORE行级触发器; 执行DML语句; 执行AFTER行级触发器。 执行AFTER语句级触发器。,语句级触发器,语句级触发器创建的语法 CREATE OR REPLACE TRIGGER trigger_name BEFORE|AFTER trigger_event1 OR trigger_event2 OF column_name ON table_name WHEN trigger_co

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论