软件设计师_-_数据库

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1软件设计师教程宋安平上海大学计算机学院Apsong@mail.shu.edu.cn021-563316722004年10月24日GGG2数据库技术基础基本概念数据模型关系代数关系数据库SQL语言关系数据库规范化数据库的控制功能2020/1/303第一节基本概念数据库与数据库管理系统数据管理技术的发展DBMS的功能DBMS的特征数据库的三级模式结构4一、数据库与数据库管理系统1、数据库管理系统(DBMS):是位于用户与操作系统之间的一层数据管理软件,为用户和应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。2、数据库(DB):是统一管理的相关数据的集合。5二、数据管理技术的发展发展经过三个阶段:人工管理阶段文件系统阶段三个缺陷:数据的冗余性、数据不一致性、数据联系弱。数据库阶段采用复杂的数据模型表示数据结构、有较高的数据独立性。6三、DBMS的功能数据定义数据库操作功能(检索和更新)数据库运行管理(数据库的恢复、并发性、完整性、安全性)数据组织、存储和管理数据库的建立和维护其他功能7四、DBMS的特征特征数据结构化且统一管理较高的数据独立性数据控制功能RDBMSOODBSORDBS8五、数据库的三级模式结构1、外模式:又称子模式、用户模式,是用户和数据库系统的接口,是用户用到的那部分数据的描述。概念模式:又称模式,是数据库中全部数据的整体逻辑结构的描述。内模式:又称存储模式,是数据库在物理存储方面的描述。2、两级映象模式/内模式映象,外模式/模式映象。3、两级数据独立性物理数据独立性,逻辑数据独立性。9第二节数据模型数据模型的基本概念数据模型的三要素问题实体联系模型(ER图)层次模型网状模型关系模型101、数据描述的三个领域现实世界:存在与人们头脑以外客观世界。信息世界:现实世界在人们头脑中的反映。机器世界:信息世界的信息在机器世界中以数据形式存储。2、信息世界和机器世界术语的关系:信息世界机器世界实体记录属性字段实体集文件实体标识符关键码一、数据模型的基本概念11二、数据模型的三要素问题数据库的逻辑结构,与硬件、DBMS有关,有三部分构成:数据结构数据操作数据完整性四种数据模型:层次模型网状模型关系模型面向对象模型12三、实体联系模型(ER图)实体的联系有两类一类是实体内部(属性之间)的联系(第5节讨论)一类是实体集内部(实体和实体之间)的联系(本节讨论)实体间的联系有三种:两个实体集中各实体之间的联系:一对一(1:1)、一对多(1:N)、多对多(M:N)三个实体集中各实体之间的联系。同一实体集内部各实体之间的联系。13三、实体联系模型(续)属性:简单属性和复合属性单值属性和多值属性NULL属性派生属性E-R方法扩充的E-R模型弱实体超类和子类14四、层次模型创始:1968年美国IBM公司的IMS系统数据结构:树结构特点:数据联系通过指针实现缺点:不能直接表示多对多15五、网状模型创始:1969年CODASYL的DBTG报告数据结构:有向图结构特点:数据联系通过指针实现缺点:结构复杂16六、关系模型创始:1970年E.F.Codd提出关系模型数据结构:二维表特点:表间公共属性缺点:效率低17第三节关系代数关系模型的基本概念关系代数扩充的关系代数18一、关系模型的基本概念属性和域属性:描述实体的特征域:属性的取值范围笛卡尔积和关系19一、关系模型的基本概念(续)术语超键:在关系中能惟一标识元组的属性集称为关系模型的超键。候选键:不含有多余属性的超键称为候选键。主键:用户选作元组标识的一个候选键称为主键。主属性:包含在任何候选键中的属性。外键:该属性不是本关系的主键,正好是另外一个关系的主键,则该属性称为本关系的外键。全码:所有属性组是这个关系模式的候选码。20一、关系模型的基本概念(续)关系的3种类型基本关系查询表视图关系数据库模式完整性约束实体完整性参照完整性用户定义完整性21二、关系代数关系运算理论分为关系代数和关系演算两种关系代数是由一组以关系作为运算对象的特定的运算符组成常用的运算为九种:并、交、差、笛卡尔积、联接、自然联接、投影、选择、除运算等,其中五种为基本运算:并、交、笛卡尔积、投影、选择运算。22二、关系代数(续1)关系代数的五种基本运算设有两个关系R和S具有相同的关系模式。并(∪)R∪S≡{t∣t∈R∨t∈S},t为元组变量,R和S结构相同。差(-)R-S≡{t∣t∈R∧t∉S},t为元组变量,R和S结构相同。笛卡尔积(Χ)RΧS≡{t∣t=〈tr,ts〉∧tr∈R∧ts∈S}投影(Π)Πi1,…,im(R)≡{t∣t=〈ti1,…,tim〉∧〈t1,…,tk〉∈R}选择(σ)σF(R)≡{t∣t∈R∧F(t)∈true},F是由逻辑运算符和比较运算符连接运算对象构成的表达式。23二、关系代数(续2)关系代数的四种组合运算交R∩S≡R-(R-S)或R∩S≡S-(S-R)联接R⋈S≡σAθB(RΧS)其中A是R的AθB属性,B是S的属性。自然联接R⋈S≡Π去掉S中公共属性(σ公共属性上值相等(RΧS))除R÷S可以视为笛卡尔积的逆运算。24三、扩充的关系代数广义投影外联接左外联接右外联接全外联接外部并25第四节关系数据库SQL语言SQL数据库体系结构SQL的基本组成SQL数据定义SQL数据查询SQL数据更新嵌入式SQL26一、SQL数据库体系结构1、SQL发展1986年10月,ANSI颁布美国标准的SQL语言,1987年6月,ISO采纳为国际标准,1992年推出SQL2,1999年推出SQL3,本章介绍SQL2。2、SQL数据库的体系结构SQL数据库的体系结构基本上也是三级结构。SQL数据库是表的汇集,表或是基本表,或是视图,基本表是实际存储在数据库中的表,而视图是若干基本表或其它视图构成的表的定义。一个基本表可以跨一个或多个存储文件,一个存储文件也可以放一个或多个基本表。用户可以用SQL语句对视图和基本表进行查询等操作。27二、SQL的基本组成SQL分四部分:数据定义DDL:CREATE,DROP,ALTER数据操纵DML:SELECT,INSERT,DELETE,UPDATE数据控制DCL:GRANT,REVOKE嵌入式SQL28三、SQL数据定义SQL数据定义部分包括对SQL模式、基本表、视图和索引的创建和撤消操作。(1)SQL模式的创建和撤消SQL模式的创建:CREATESCHEMA模式名AUTHORIZATION用户名SQL模式的撤消:DROPSCHEMA模式名[CASCADE|RESTRICT](2)基本表的创建、修改和撤消基本表的创建:CREATETABLE基本表名(列名类型……完整性约束……)类型为基本数据类型,完整性约束有三个子句:主键子句(PRIMARYKEY)、检查子句(CHECK)、外键子句(FOREIGNKEY)。基本表的修改:ALTERTABLE基本表名ADD列名类型ALTERTABLE基本表名DROP列名[CASCADE|RESTRICT]基本表的撤消:DROPTABLE基本表名[CASCADE|RESTRICT]29三、SQL数据定义(续)SQL数据定义部分包括对SQL模式、基本表、视图和索引的创建和撤消操作。(3)视图的创建和撤消视图的创建:CREATEVIEW视图名(列名表)ASSELECT查询语句视图的撤消:DROPVIEW视图名(4)索引的创建和撤消索引的创建:CREATE[UNIQUE]INDEX索引名ON基本表名(列名表)索引的撤消:DROPINDEX索引名30四、SQL数据查询SELECT语句的完整句法:SELECT[DISTINCT]目标列的列名或列表达式序列FROM基本表和视图序列[WHERE行条件表达式][GROUPBY列名序列[HAVING组条件表达式]][ORDERBY列名[ASC|DESC]…]31五、SQL数据更新SQL的数据更新包括:数据插入、删除和修改。(1)数据插入单元组值的插入:INSERTINTO基本表名(列名表)VALUES(元组值)多元组值的插入:INSERTINTO基本表名(列名表)(TABLE(元组值),(元组值),…)查询结果的插入:INSERTINTO基本表名(列名表)SELECT查询语句(2)数据删除DELETEFROM基本表名[WHERE条件表达式](3)数据修改UPDATE基本表名SET列名=值表达式[,列名=值表达式…][WHERE条件表达式]32五、SQL的访问控制SQL中的用户权限及操作六类权限:SELECT,INSERT,DELETE,UPDATE,REFERENCES,USAGE。授权(GRADE)语句:将关系和视图操作权授予特定用户GRANT权限表ON数据库元素TO用户名表[WITHGRANTOPTION];回收(REVOKE)语句:回收已授给某用户的权限。REVOKE权限表ON数据库元素FROM用户名表;33六、嵌入式SQL(1)SQL语言的运行环境SQL语言有两种使用方式:交互式SQL和嵌入式SQL。SQL语言和宿主语言(高级语言)在数据类型上有很大的差别。嵌入式SQL的实现有两种处理方式:扩充宿主语言的编译程序和预处理方式。SQL语句与宿主语言程序间信息的传递是通过共享变量实现的。(2)嵌入式SQL的使用规定在程序中要区分SQL语句与宿主语言语句,所有SQL语句前必须加上前缀“EXECSQL”和结束标志“;”。允许嵌入的SQL语句引用的程序变量(共享变量)。SQL的集合处理方式与宿主语言单记录处理方式之间的协调用游标(CURSOR)机制。与游标有关的语句有四个:游标定义(DECLARE)、打开(OPEN)、推进(FETCH)、关闭(CLOSE)。34六、嵌入式SQL(续)(3)嵌入式SQL的使用技术SQLDDL语句只要加上前缀标识“EXECSQL”和结束标识“ENDEXEC”,就能使用。SQLDML语句使用时有两种技术:不涉及游标的SQLDML语句如果是INSERT、DELETE和UPDATE语句,加上前缀标识“EXECSQL”和结束标识“ENDEXEC”,就能嵌入在宿主语言程序中使用。对于SELECT语句,如果查询结果是单元组时,也可以嵌入在宿主语言程序中使用。涉及游标的SQLDML语句当SELECT语句查询结果是多个元组时,一定要用游标机制把多个元组一次传送给宿主语言程序中使用。对游标指向元组时,可以进行修改和删除操作。35第五节关系数据库规范化函数依赖规范化模式分解及其特性36一、函数依赖函数依赖(FD)的定义设有关系模式R(A1,A2,…,An),X,Y是U的子集,r是R的任一具体关系,如果对r的任意两个元组t1,t2,由t1[X]=t2[X]导致t1[Y]=t2[Y],则称X函数决定Y,记为X→Y。非平凡的函数依赖平凡的函数依赖完全函数依赖部分函数依赖传递函数依赖37一、函数依赖(续)键设有关系模式R(A1,A2,…,An),F是R的一个函数依赖集,X是{A1,A2,…,An}的一个子集。如果①X→A1A2…An∈F+,且②不存在X真子集Y,使得Y→A1A2…An成立,则称X是R的候选键。包含在任何一个候选键中的属性称为主属性不包含在任何一个候选键中的属性称为非主属性。38一、函数依赖(续)多值依赖MVD多值依赖:设R(U)是属性集U上的一个关系模式,X,Y是U的子集,若对R(U)的任一关系r,对于X的一个给定的值存在着Y的一组值与其对应,同时Y的这组值又不以任何方式与U-X-Y中的书香相关,那么称Y多值依赖于X,记X→Y。39一、函数

1 / 59
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功