您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 软件设计师_-_数据库
1软件设计师教程宋安平上海大学计算机学院Apsong@mail.shu.edu.cn021-563316722004年10月24日GGG2数据库技术基础基本概念数据模型关系代数关系数据库SQL语言关系数据库规范化数据库的控制功能2020/1/303第一节基本概念数据库与数据库管理系统数据管理技术的发展DBMS的功能DBMS的特征数据库的三级模式结构4一、数据库与数据库管理系统1、数据库管理系统(DBMS):是位于用户与操作系统之间的一层数据管理软件,为用户和应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。2、数据库(DB):是统一管理的相关数据的集合。5二、数据管理技术的发展发展经过三个阶段:人工管理阶段文件系统阶段三个缺陷:数据的冗余性、数据不一致性、数据联系弱。数据库阶段采用复杂的数据模型表示数据结构、有较高的数据独立性。6三、DBMS的功能数据定义数据库操作功能(检索和更新)数据库运行管理(数据库的恢复、并发性、完整性、安全性)数据组织、存储和管理数据库的建立和维护其他功能7四、DBMS的特征特征数据结构化且统一管理较高的数据独立性数据控制功能RDBMSOODBSORDBS8五、数据库的三级模式结构1、外模式:又称子模式、用户模式,是用户和数据库系统的接口,是用户用到的那部分数据的描述。概念模式:又称模式,是数据库中全部数据的整体逻辑结构的描述。内模式:又称存储模式,是数据库在物理存储方面的描述。2、两级映象模式/内模式映象,外模式/模式映象。3、两级数据独立性物理数据独立性,逻辑数据独立性。9第二节数据模型数据模型的基本概念数据模型的三要素问题实体联系模型(ER图)层次模型网状模型关系模型101、数据描述的三个领域现实世界:存在与人们头脑以外客观世界。信息世界:现实世界在人们头脑中的反映。机器世界:信息世界的信息在机器世界中以数据形式存储。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一、函数
本文标题:软件设计师_-_数据库
链接地址:https://www.777doc.com/doc-3392670 .html