




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库原理教学内容讲稿数据库的产生 11963年美国Honeywell公司的IDS(Integrated Data Store)2. 1968年美国IBM公司推出层次模型的IMS数据库系统(1969年形成产品)31969年美国CODASYL(Conference On Data System Language,数据库系统语言协会)组织的数据库任务组(DBTG)发表关于网状模型的DBTG报告(1971正式通过)41970年,IBM公司的E.F.Codd发表论文提出关系模型。第一章绪论 11 数据库系统概述一 基本概念1数据(Data) 描述事物的符号记录称为数据。例如:声音、图象、文字、图形等。 数据库中以记录为单位,同时加语义。列如:学生,其记录特征为: XH(学号),XM(姓名),AGE(年龄) 信息=数据+处理2数据库(DataBase,简称DB) 数据库是存放数据的仓库,在这个仓库中的数据是按照一定格式存放的。 3数据库管理系统(DataBase Management System 简称DBMS) (1) DDL 数据定义语言,英文全称:Data Definition Language 定义数据库中对象的,对象有:基本表,索引、视图,游标、触发器等 (2)DML 数据操纵语言,英文全称:Data Manipulation Language 实现对数据库的操作。主要有:查询、插入、删除、修改 (3)DCL 数据控制语言,英文全称:Data Control Languange 授权、回收权限命令 (4)TCL 事务控制语言,英文全称:Transaction Control Language (5)数据库的运行管理 (6)数据库的建立和维护 4数据库系统(Data Base System,简称DBS) 数据库系统是指在计算机系统引入数据库后的系统。包括:计算机,数据库,数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户。二数据管理技术的产生和发展 1手工阶段 计算机产生以前的阶段。 2人工阶段(1946-1956) 硬件:无直接存取设备磁盘,只有卡片、纸带和磁带等顺序存取设备 软件:无OS (1)数据不保存 (2)应用程序管理数据 (3)数据不共享 (4)数据不具有独立性P1D1 D2P2 DnPn P1,P2,Pn为应用程序 ,D1,D2,Dn应用程序所对应的数据集 2文件系统阶段(1956-1966) 硬件:有磁盘、慈鼓等直接存取设备 软件:有OS (1)数据可以长期保存 (2)由文件系统管理数据 (3)数据共享性差、冗余度大 (4)数据独立性差f1P1 D1f2存取方法(文件系统)P2 D2 fnPn Dn P1,P2,Pn为应用程序, f1,f2,fn为文件3 数据库系统(20世纪60年代后期) 硬件有大容量磁盘,价格下降;软件价格上升;处理方式要求分布处理和多用户 (1)数据结构化 数据本身的结构和数据之间的联系称为数据结构化 (2)数据的共享性高,冗余度低,易扩充 数据不一致性是指同一数据不同拷贝的值不一样 (3)数据独立性高 数据物理独立性和数据逻辑独立性 (4)数据由DBMS统一管理和控制 1)数据的安全性保护 2)数据的完整性 3)并发控制 4)数据库恢复P1DBDBMSP2 pn数据库是长期存储在计算机内有组织的大量的共享的数据集合。它可以供各种用户共享,具有最小冗余度和较高的数据独立性。DBMS在数据库建立、运用和维护时对数据库进行统一控制,以保证数据的完整性、安全性,并在多用户同时使用数据库时进行并发控制,在发生故障后对系统进行恢复。 12数据模型一模型 1概念模型 2数据模型 3三个世界 现实世界、概念世界、信息世界二数据模型的组成要素 1数据结构 数据本身结构(数据类型内容、性质有关的对象),数据之间的联系 2数据操作 数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。检索和更新(插入、删除、修改)两类操作。 3数据约束条件三概念模型 1基本概念 (1)实体 (2)属性 (3)码 (4)域 (5)实体型 (6)实体集 (7)联系 1)1:1联系 2)1:N联系 3)M:N四概念模型的表示方法 实体型:用矩形框表示,矩形框内写明实体名 属性:用椭圆形表示,并用无向边将其与相应的实体连接起来 联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型。 例P19五最常用的数据模型R1 基本层次联系图: L12R2 1层次模型 (1)数据结构 1)有且只有一个结点没有双亲结点,这个结点成为根结点 2)根以外的其他结点有且只有一个双亲结点R1 R2R3R4R5 例1(P23) 例2:国家 省市县 (2)多对多在层次模型中的表示 1)冗余法 2)虚拟法 (3)层次模型的数据操纵与完整性约束 层次模型在进行查询、插入、删除和修改时要满足完整性约束条件。 (4)层次模型的存储结构 1)邻接法 数据的邻位存放来体现 2)链接法 用指针来反映数据之间的层次联系:子女-兄弟链接法,层次序列链接法) (5)层次模型的优缺点 1)优点A 层次数据模型本身比较简单 B 实体间联系是固定的,且预先定义好应用系统,采用层次模型来实现,其性能由于关系模型,不低于网状模型 C 层次模型提供了良好的完整性支持 2)缺点 A 不能直接实现多对多联系 B 对插入和删除限制比较多 C 查询子女结点必须通过双亲结点 D 由于结构严密,层次命令趋于程序化 2网状模型 (1) 网状模型数据结构 1允许一个以上的结点无双亲 2一个结点可以有多余一个的双亲R2R1 L1 L2R3 例1P28课程号 课程名学号 姓名学号 课程号 成绩 (2)网状模型的操纵与完整性约束 (3)网状模型的存储结构 单向环形链 (4)网状模型的优缺点 1)优点 A 能够直接描述现实世界 B 具有良好的性能,存取效率较高 2)缺点 A 结构复杂 B 其DDL、DML语言复杂,用户不容易使用 3关系模型 (1)关系模型数据结构 二维表格: 基本概念:关系,元组,属性,主码,域,分量,关系模式 (2)关系模型的操纵与完整性约束 集合操作,用户只需要指出干什么而不必指出怎么干 (3)关系模型的存储结构 一般一个表对应一个操作系统文件 (4)关系模型的优缺点 1)优点 A 建立在严格的数据概念基础上 B 关系模型概念单一 C 关系模型的存取路径对用户透明 2)缺点 存取效率比层次、网状模型低 13 数据库系统结构一 三级模式1 模式是数据库中全体数据的逻辑结构和特征描述2 外模式数据库用户能够看见和使用的局部数据的逻辑结构和特征描述3 内模式是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。二数据库的二级映象功能与数据独立性 1外模式/模式映象 数据的逻辑独立性逻辑数据独立性是指当模式改变时,由数据库管理员对各个外模式/模式的映象作相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性 2模式/内模式映象 数据的物理独立性物理数据独立性是指当数据库的存储结构改变了,由数据库管理员对模式/内模式映象作相应修改,可以保持模式不变,从而应用程序也不必修改。保证了数据与程序的物理独立性。 14 数据库系统组成一硬件平台及数据库 1内存 2磁盘 3较高的通道能力二软件1 DBMS2 支持DBMS运行的操作系统3 具有与数据库接口的高级语言极其编译系统,便于开发应用系统4 以DBMS为核心的应用开发工具5 为特定应用环境开发的数据库应用系统三人员 数据库管理员、系统分析员和数据库设计人员、应用程序员、用户 15 数据库技术的研究领域一 数据库管理系统软件的研制二数据库设计三数据库理论第二章 关系数据库关系数据库之父:E.F.CODD 21 关系模型概述一关系数据结构 二维表格二关系操作 关系代数、关系演算和SQL三关系的三类完整性约束 实体完整性、参照完整性、用户自定义22 关系数据结构及形式化定义一关系 1域 2的卡尔积 给定的一组域D1,D2,D3,DN,这些域中可以有相同的。D1,D2,DN的的卡尔积为: D1D2DN=(d1,d2,dn),diDi,i=1,2,n 3关系 D1D2DN的子集叫做在域D1,D2,DN上的关系,表示为:R(D1,D2,DN),N为关系的目。 4基本术语 侯选码、主码、主属性、非码属性、全码 5基本关系的性质二关系模式 R(U,D,DOM,F) R:关系名称,U:属性名的集合,D:属性组U中所来自的域,DOM为属性向域的影象集合,F为数据依赖三关系数据库23 关系的完整性一 实体完整性若属性A是基本关系R的主属性,则属性A不能取空值二参照完整性规则 1外码 设F是基本关系R的一个或一组属性,但不是关系R的码。如果F与基本关系S的主码KS相对应,则称F是基本关系R的外码,并称基本关系R为参照关系,基本关系S为被参照关系。关系R和S不一定是不同的关系。 2规则 若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码KS相对应(基本关系S和R不一定是不同的关系)则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值) 或者等于S中某个元组的主码值。三用户定义的完整性 24 关系代数一传统的集合运算 1并 RS=t |tRts2差 R-S= t |tRt S 3交 RS= t |tRt S 4广义的卡尔积 RS=trts| trRts S 5.例 R S A B Ca1b1c1a1b2c2a2b2c1 A B Ca1b2C2a1b3c2a2b2c1 二专门的关系运算 1术语 (1)分量 (2)补集 (3)连接符号 trts (4)象集 给定一个关系R(X,Z),X和Z为属性组,定义当tX=x 时,x在R中的象集为:Zx=tZ|tR,tX=x,它表示R中属性组X上值为x的诸元组在Z上分量的集合。2专门的关系运算 (1)选择 F(R)=t |tRF(t)=真 F:由逻辑运算符 ,连接各算术表达式组成,算术表达式的基本形式: X1Y1其中为比较运算符,它有:,20(S)或320(S) (2)投影 A(R)=tA|tR,其中A为R中的属性列 例:查询全体学生的学号和姓名 (3)连接 连接也称,它是从两个关系的的卡尔积中选取属性间满足一定条件的元组 R S= trts| trRts S trAtsB AB 其中A和B为R和S上度数相等且可比的属性组。是比较运算符(,,2)等值连接 比较运算符是:= R S A=B3)自然连接 R S例:R S A B Ca1b15a1b26a2B38 B Eb13b27b310 (4)除 给定关系R(X,Y)和S(Y,Z),其中X,Y,Z为属性组。R中的Y与S中Y可以有不同的属性名,但必须出自相同的域集。R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在X属性列上的投影:元组在X上分量值x的象集Yx包含S在Y上投影的集合。记作: RS= trX| trRY(S)包含于Yx 其中Yx为x在R中的象集,x= trX 例: R S A B Ca1b1c2a2b3c7a2b4c6a1b2c3a2b1c2a1b2c1 B CDb1c2d1b2c1d1b2c3d23例1 ch cm xf1DS52DB43net3 S sc c xh xmagexb001a21男002b22女003c20男xh ch g001189001256002175(1)查询年龄在20岁以上的学生(2)查询性别为性别为“男”的学生学号和姓名(3)查询选修了课程的学生学号(4)查询选修了课程的学生的学号和姓名(5)查询选修了课程的且某一门课的成绩大于80的学生的学号、姓名和性别(6)查询选修了“DB”课程的学生学号和姓名(7)查询没有选修“DB”课程的学生学号和姓名(8)查询选修了全部课程的学生学号(9)查询至少选修了课程1和课程2的学生学号(10)查询选修了全部课程的学生学号和姓名(11)查询至少选修了1号课程和2号课程的学生学号(如果为:学号和姓名?)4例2 S sc c课程号 课程名先行课学分1DS552DB143NET23学号 姓名年龄性别001a21男002b22女003c20男学号 课程号成绩00118900125600217525 关系演算一 ALPHA二元组关系演算三QBE四域演算语言第三章 关系数据库标准语言SQL31 SQL语言概述一 SQL 语言特点1 综合统一2 高度的非过程化3 面向集合的操作方式4 以同一种语法结构两种使用方式5 语言简洁易学易用二SQL语言基本概念 基本表、视图32 数据定义一 定义、删除和修改基本表1 定义CREATE TABLE ( 数据类型 列级完整性约束条件 , 数据类型 列级完整性约束条件 ,表级完整性约束条件);数据类型:FLOAT ,CHAR(N),INT ,DATE,TIME2 修改ALTER TABLE 表名 ADD新列名数据类型完整性约束条件 DROP完整性约束 MODIFY列名数据类型3 删除DROP TABLE 表名二建立与删除索引 1建立索引 CREATE UNIQUE CLUSTER INDEX索引名ON 表名(列名次序,列名次序) UNIQUE:唯一索引 CLUSTER:聚簇索引 2删除索引 DROP INDEX索引名33 查询SQL语句的一般格式: SELECT ALL | DISTINCT , FROM , WHERE GROUP BY HAVING ORDER BY ASC | DESC ch cmcpnoxf1DS552DB143NET23 Student sc cxh xmagexbsdept001a21男CS002b22女IS003c20男CSxh chg001149001256002175 一单表查询 1选择表中的若干列 (1)查询表中部分列SELECT XH,XM FROM STUDENT (2)查询表中全部列SELECT * FROM STUDENT或SELECT XH,XM,age,xb,sdept FROM STUDENT (3)查询经过计算的值SELECT XH,XM,2005-age, FROM STUDENTSELECT XH 学号,XM 姓名,2005-age 出生年份, FROM STUDENT 2选择表中的若干元组 (1)取消重复的行 SELECT DISTINCT XH FROM SC (2)选择满足条件的元组 1)比较大小 ,=,=,= ,!,!SELECT * FROM STUDENT WHERE AGE23 2)确定范围 SELECT XH,XM FROM STUDENT WHERE AGE BETWEEN 20 AND 25 3)确定集合 SELECT XH,XM FROM STUDENT WHERE SDEPT IN (MAIS,CS) 4)字符匹配 %:当前位置开始任意多个字符 _:任意一个字符NOT like escape SELECT * FROM STUDENT WHERE XM LIKE “张%” 5)涉及空值的查询 SELECT XH FROM SC WHERE G IS NULL 6)多重条件查询 与:and 或:or 非:not SELECT XH,XM FROM STUDENT WHERE AGE19 3多查询结果进行排序 order by ASC|DESC ,ASC|DESCSELECT XH,G FROM SC WHERE CH=3 ORDER BY G DESC 4使用集函数 COUNT(*),COUNT(列) SUM(列),AVG(列),MAX(列),MIN(列) SELECT COUNT(*) FROM STUDENT 5对查询结果分组 SELECT CH, COUNT(XH) FROM SC GROUP BY CH SELECT XH FROM SC GROUP BY XH HAVING COUNT(*)=2二连接查询 连接谓词:. . . between . and . 比较运算符:=, 1连接查询 1)非等值连接 2)等值连接例:查询每个学生及其选修课程的情况(1) 关系代数等值连接、自然连接(2) SQL命令SELECT STUDENT.*, SC.* FROM STUDENT,SC WHERE STUDENT.XH=SC.XH SELECT STUDENT.XH,XM,AGE,XB,SDEPT,CH,G FROM STUDENT ,SC WHERE STUDENT.X=SC.XH 3)连接和投影 查询每个学生及其选修课程的学号和姓名 4)的卡尔积 2自身连接 查询每一门课的间接先修课 c A c Bch cmcpnoxf1DS552DB143NET23ch cmcpnoxf1DS552DB143NET23 SELECT A.CH , B.CPNO FROM C A, C B WHERE A.CPNO= B.CH 3外连接 (1)右外连接 SELECT STUDENT.XH,XM,AGE,CH,G FROM STUDENT,SC WHERE STUDENT.XH=SC.XH(*) (2)左外连接 SELECT STUDENT.XH,XM,AGE,CH,G FROM STUDENT,SC WHERE (*)STUDENT.XH=SC.XH 4复合条件连接 查询每个学生的学号,姓名,选修的课程名及成绩 SELECT STUDENT.XH,XM,CM,G FROM STUDENT,SC,C WHERE STUDENT.XH=SC.XH AND SC.CH=C.CH三嵌套查询 SELECT FROM WHERE (SELECT FROM WHERE)2 带有IN谓词的子查询查询与“张三”在同一个系的学生学号和姓名查询选修了“DB”课程册学生学号和姓名SELECT XH,XMFROM STUDENTWHERE XH IN (SELECT XH FROM SC WHERE CH IN (SELECT CH FROM COURSE WHERE CM=“信息系统”)3 带有比较运算符的子查询,=,=,=,4 带有ANY或ALL谓词的子查询any,any,all,=allSELECT XM,AGEFROM STUDENTWHERE AGEANY(SELECT AGE FROM STUDENT WHERE SDEPT=IS)AND SDEPTIS5 带有EXISTS谓词的子查询查选修了1号课程的学生姓名SELECT XMFROM STUDENTWHERE EXISTS (SELECT * FROM SC WHERE XH=STUDENT.XH AND CH=1)查询选修了全部课程的学生学号和姓名没有一门课程是他不选的 或 任一门课他不选不存在SELECT XMFROM STUDENTWHERE NOT EXISTS (SELECT * FROM C WHERE NOT EXISTS (SELECT * FROM SC WHERE SC.XH=STUDENT.XH AND SC.CH=C.CH)查询至少选修了学生95002选修的全部课程的学生学号SELECT DISTINCT XH FROM SC X WHERE NOT EXISTS (SELECT * FROM SC Y WHERE Y.XH=”95002” AND NOT EXISTS ( SELECT * FROM SC Z WHERE Z.XH=X.XH AND Z.CH=Y.CH)四集合查询 1并集 例 查询计算机科学系及年龄不大于19岁的学生 SELECT * FROM STUDENT WHERE SDEPT=CSUNION SELECT * FROM STUDENT WHERE AGE=19 2交集 例 查询计算机科学系及年龄不大于19岁的学生的交集 SELECT * FROM STUDENT WHERE SDEPT=CS AND AGE1934 数据更新一插入数据 1格式 INSERT INTO 表名(属性1,属性2) VALUES (,) 2插入单个元组 INSERT INTO STUDENT VALUES (001,“张三”,F,IS,19) INSERT INTO SC(XH,CH) VALUES(001,2) 3插入子查询结果 INSERT INTO 表名(属性1,属性2) 子查询 例 INSERT INTO DEPTAGE(SDEPT,AVAGE) SELECT SDEPT,AVG(AGE) FROM STUDENT GROUP BY SDEPT 二修改数据 1格式 UPDATE SET =,= WHERE 2修改某一个或多个元组的值 UPDATE STUDENT SET AGE=AGE+1 3带子查询的修改语句 例 将计算机科学系全体学生的成绩置零 UPDATE SC SET G=0 WHERE CS= (SELECT SDEPT FROM STUDENT WHERE STUDENT.XH=SC.XH)三删除数据 1格式 DELETE FROM 表名 WHERE 条件 2删除一个或多个元组 DELETE FROM STUDENT WHERE XH=001 DELETE FROM SC 3带子查询的修改语句 例:查询计算机科学系所有学生的选课记录 DELETE FROM SC WHERE CS= (SELECT SDEPT FROM STUDENT WHERE STUDENT.XH=SC.XH) 35 视图一定义视图 1建立视图 CREATE VIEW 视图名(列名,列名) AS 子查询 WITH CHECK OPTION 例:CREATE VIEW ISVIEW(学号,姓名,年龄) AS SELECT XH,XM,AGE FROM STUDENT WHERE SDEPT=IS CREATE VIEW AVGVIEW(XH,AVG) AS SELECT XH,AVG(G) FROM SC GROUP BY XH 2删除视图名 DROP VIEW 视图名 3查询视图 4更新视图 INSERT、 UPDATE 、 DELETE二视图的作用 1视图能够简化用户的操作 2视图使用户能以多种角度看待同一数据 3视图对重够数据库提供了一定程度的逻辑独立性 4视图能够对机密数据提供安全保护 36 数据控制一授权 GRANT 权限,权限 ON 对象类型对象名 TO 用户,用户 WITH GRANT OPTION二收回权限 REVOKE ,权限 ON 对象类型对象名FROM 用户,用户37 嵌入式 SQL一嵌入式的一般形式 EXEC SQL SQL语句 EXEC SQL SQL语句 END EXEC二基本术语 TABLE、INDEX、VIEW、CURSOR TRIGGOR、STORED PROCEDURE三动态SQL第四章 关系系统及其查询优化(选学)41 关系系统一关系系统的定义 1支持关系数据库(关系数据结构) 2支持选择、投影、连接对这些运算不必要定义任何物理 存取路径二关系系统的分类 1表示系统 2最小关系系统 3关系完备的系统 4全关系系统 42 关系系统的查询优化一关系系统及其查询优化 1优化 2优化步骤 (1)将查询转换成某种内部表示,通常是语法树 (2)根据一定的等价变换规则把语法树转换成标准形式(优化) (3)选择低层的算法 (4)生成查询计划二一个实例 例: 求选修了2号课程的学生姓名 SELECT STUDENT. XM FROM STUDENT,SC WHERE STUDENT.XH=SC.XH AND SC.CH=2 假设STUDENT 中有1000个学生记录,10000个选课记录,其中选修2号课程的记录为50个 则有三种查询方案:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 地下车库土地租赁及车位销售合同
- 2025公务员妆容面试题及答案
- 电子商务平台与高校人才输送合作协议范本
- 企业可持续发展合理化建议合作合同
- 军官专业面试题目及答案
- 专业心态测试题及答案
- 测序成本下降策略-洞察及研究
- 2025至2030医药级甘氨酸行业发展趋势分析与未来投资战略咨询研究报告
- 消防安全核查培训内容课件
- 消防安全月培训简讯课件
- 储能电站项目进度控制与质量管理方案
- 2025年水发集团有限公司招聘(216人)考试模拟试题及答案解析
- 3.1 生活在新型民主国家(教学课件) 2025-2026学年度道德与法治 九年级上册
- 2025年安徽省政府采购评审专家考试真题库(带答案)
- 急性白血病课件
- GB/T 46142-2025智慧城市基础设施智慧交通快速响应矩阵码应用指南
- 场景速写课件讲解
- 2025广东惠州惠城区招聘社区工作站工作人员66人笔试备考题库及答案解析
- 餐饮四个人合伙合同协议
- 人体十二经络系统解析
- 影像科培训课件
评论
0/150
提交评论