![工程科技数据库操作课件_第1页](http://file4.renrendoc.com/view/9c60e1e6f6bff2eceeb5e27861ce37f9/9c60e1e6f6bff2eceeb5e27861ce37f91.gif)
![工程科技数据库操作课件_第2页](http://file4.renrendoc.com/view/9c60e1e6f6bff2eceeb5e27861ce37f9/9c60e1e6f6bff2eceeb5e27861ce37f92.gif)
![工程科技数据库操作课件_第3页](http://file4.renrendoc.com/view/9c60e1e6f6bff2eceeb5e27861ce37f9/9c60e1e6f6bff2eceeb5e27861ce37f93.gif)
![工程科技数据库操作课件_第4页](http://file4.renrendoc.com/view/9c60e1e6f6bff2eceeb5e27861ce37f9/9c60e1e6f6bff2eceeb5e27861ce37f94.gif)
![工程科技数据库操作课件_第5页](http://file4.renrendoc.com/view/9c60e1e6f6bff2eceeb5e27861ce37f9/9c60e1e6f6bff2eceeb5e27861ce37f95.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库操作Presentedby:MichaelAug2007
数据库操作Presentedby:MichaelAug数据库基础数据库三大范式第一范式
定义:如果关系R中所有属性的值域都是单纯域,那么关系模式R是第一范式的
那么符合第一模式的特点就有
1)有主关键字
2)主键不能为空,
3)主键不能重复,
4)字段不可以再分
例如:
StudyNo
|
Name
|
Sex
|
Contact
20040901
john
Male
Email:kkkk@,phone:222456
20040901
mary
famale
email:kkk@phone:123455
以上的表就不符合,第一范式:主键重复(实际中数据库不允许重复的),而且Contact字段可以再分
所以变更为正确的是
StudyNo
|
Name
|
Sex
|
|
Phone
20040901
john
Male
kkkk@
222456
20040902
mary
famale
kkk@
123455数据库基础数据库三大范式数据库基础数据库三大范式第二范式:
定义:如果关系模式R是第一范式的,而且关系中每一个非主属性不部分依赖于主键,称R是第二范式的。
所以第二范式的主要任务就是满足第一范式的前提下,消除部分函数依赖。
StudyNo
|
Name
|
Sex
|
|
Phone
|
ClassNo
|ClassAddress
01
john
Male
kkkk@
222456
200401
A楼2
02
mary
famale
kkk@
123455
200402
A楼3
这个表完全满足于第一范式,
主键由StudyNo和ClassNo组成,这样才能定位到指定行
但是,ClassAddress部分依赖于关键字(ClassNo-〉ClassAddress),
所以要变为两个表
表一
StudyNo
|
Name
|
Sex
|
|
Phone|
ClassNo
01
john
Male
kkkk@
222456
200401
02
mary
famale
kkk@
123455
200402
表二
ClassNo
|ClassAddress
200401
A楼2
200402
A楼3
数据库基础数据库三大范式数据库基础数据库三大范式
第三范式:
满足第二范式的前提下,消除传递依赖。
例:
StudyNo
|
Name
|
Sex
|
|
bounsLevel
|
bouns
20040901
john
Male
kkkk@
优秀
$1000
20040902
mary
famale
kkk@
良
$600
这个完全满足了第二范式,但是bounsLevel和bouns存在传递依赖
更改为:
StudyNo
|
Name
|
Sex
|
|
bouunsNo
20040901
john
Male
kkkk@
1
20040902
mary
famale
kkk@
2
bounsNo
|
bounsLevel
|
bouns
1
优秀
$1000
2
良
$600
这里我比较喜欢用bounsNo作为主键,
一般满足前三个范式就可以避免数据冗余。数据库基础数据库三大范式数据库基础SQL语言数据定义(DataDefinition)CREATETABLE,DROPTABLE…数据操纵(DataManipulation)SELECT,INSERT,UPDATE,DELETE数据控制(DataControl)COMMIT,ROLLBACK数据库基础SQL语言数据库基础OPENSQL语言OPENSQL是SQL的子集OPENSQL独立于不同类型的数据库OPENSQL是DML语言数据库基础OPENSQL语言数据库基础使用OPENSQL的效率原则尽可能减少满足条件的数据条目数量减少传输数据量,以减少网络流量减少访问数据库表的数量建超查询难度减少数据库负载数据库基础使用OPENSQL的效率原则数据表维护数据字典TCODE:se11需要掌握:表字段外部关键字技术设定(Technicalsetting)索引DataElementDomain数据表维护数据字典数据表维护数据字典新建一个数据表ZXXX数据表维护数据字典SELECTSELECTSELECT…FROM…INTO…WHERE…GROUPBY…HAVING…ORDERBY…SELECTSELECTSELECT选择单行数据SELECTSINGE…FROM…INTO…WHERE…
演示:选择全部字段到workarea选择指定字段到变量SELECT选择单行数据SELECT选择多行数据SELECT[DISTINCT]… …ENDSELECTSELECT…INTO|APPENDING [CORRESPONDINGFIELDSOF]TABLEitabSELECT…INTOTABLEitabPACKAGESIZEn…ENDSELECTSELECT选择多行数据SELECT指定查询条件比较运算符=><<><=>=范围限定符号BETWEEN…AND…字符比较运算符号[NOT]LIKE..[EXCAPEh]_代表单个字符%代表多个字符检查列表值[NOT]INSELECT指定查询条件SELECT指定查询条件检查空值IS[NOT]NULL…检查选择表INsettab…SELECT指定查询条件SELECT多表组合查询-SELECT语句嵌套SELECT …
SELECT … ENDSELECT …ENDSELECTSELECT多表组合查询-SELECT语句嵌套SELECT多表组合查询-从内表查询SELECT…FORALLENTRIESINitabWHETE…SELECT多表组合查询-从内表查询SELECT多表组合查询-使用视图通过View进行查询SELECT多表组合查询-使用视图SELECT多表组合查询-结合查询SELECT…FROMtable[INNER]JOINtable1[ASalias1]oncondition[INNER]JOINtable2[ASalias2]onconditionSELECT多表组合查询-结合查询SELECT多表组合查询-子查询SELECT…WHEREEXIST(SELECT…)SELECT…WHEREfieldIN(SELECT…)SELECT…WHEREfield=(SELECT…)SELECT多表组合查询-子查询SELECT多表组合查询-统计函数MaxMinSumAvgCountSELECT多表组合查询-统计函数SELECT多表组合查询-分组SELECT…WHERE…GROUPBY…HAVING…SELECT多表组合查询-分组SELECT多表组合查询-排序SELECT…WHERE…ORDERBYf1[ASCENDING|DESCENDING]f2[ASCENDING|DESCENDING]SELECT多表组合查询-排序SELECT多表组合查询-其他使用表工作区TABLESdbtab动态指定数据库表SELECT…FROM(dbtabname)指定ClientSELECT…FROM…CLIENT
SPECIFIED
设置缓冲机制SELECT…FROMdbtabBYPASSING
BUFFER…限定行数SELECT…FROMdbtabUPTOnROWS…SELECT多表组合查询-其他SELECT多表组合查询-操作性能分析GETRUNTIMEFIELDf.TCODE:se30SELECT多表组合查询-操作性能分析SELECT多表组合查询-使用光标OPENCURSOR[WITHHOLD]cFORSELECT…FETCHNEXTCURSORcINTOtarget.CLOSECURSORc.SELECT多表组合查询-使用光标更新数据更新数据INSERTUPDATEMODIFYDELETESy-subrc 操作是否成功Sy-dbcnt 影响的行数更新数据更新数据更新数据INSERTINSERTINTOdbtabVALUESwa.INSERTINTOdbtabFROMwa.INSERTdbtabFROMTABLEitab[ACCEPTINGDUPLICTEKEYS].更新数据INSERT更新数据UPDATEUPDATEdbtabSETf1=g1…fn=gnWHERE…UPDATEdbtabFROMwa.UPDATEdbtabFROMTABLEitab.更新数据UPDATE更新数据MODIFY(INSERT+UPDATE)MODIFYdbtabFROMwa.MODIFYdbtabFROMTABLEitab.更新数据MODIFY(INSERT+UPDATE)更新数据DELETEDELETEdbtabFROMWHERE…DELETEdbtabFROMwa.DLETEdbtab[CLIENTSPECIFIED]FROMTABLEitab.更新数据DELETE数据一致性SAPLUWLUW(LogicalUnitofWork)数据库LUW数据一致性SAPLUW数据一致性SAPLUWCOMMITWORK.ROLLBACKWORK.PERFORM..ONCOMMIT.CALLFUNCTION…INUPDATETASK.数据一致性SAPLUW数据一致性SAP数据锁定TCODE:se11Lockobject(锁定对象)Functionmodule:ENQUEUE_<LOCKOBJECT>DEQUEUE_<LOCKOBJECT>数据一致性SAP数据锁定数据一致性用户权限检查TCODE:su21AuthorizationobjectsAUTHORITY-CHECKOBJECT‘object’ ID‘name1’fieldf1 ID‘name2’fieldf2 ID‘name’dumySy-subrc 判断检查结果数据一致性用户权限检查数据一致性文件接口OPENDATASETdsn<options>.CLOSEDATASETdsn.DELETEDATASETdsn.TRANSFERfTOdsn[LENGTHlen].READDATASETdsnINTOf[LENGTHlen].数据一致性文件接口数据一致性文件接口-FunctionFILE_GET_NAMEDOWNLOADWS_DOWNLOADUPLOADWS_UPLOAD数据一致性文件接口-Function数据一致性数据簇EXPORTf1[FROMg1]f2[FROMg2]TOmediumIDid.IMPORTf1[FROMg1]f2[FROMg2]FROMmediumIDid.Medium(存储区域):MEMORY(内存)FREEMEMORYIDid.DATABASE(数据表)Table:INDX数据一致性数据簇结束
谢谢大家!结束数据库操作Presentedby:MichaelAug2007
数据库操作Presentedby:MichaelAug数据库基础数据库三大范式第一范式
定义:如果关系R中所有属性的值域都是单纯域,那么关系模式R是第一范式的
那么符合第一模式的特点就有
1)有主关键字
2)主键不能为空,
3)主键不能重复,
4)字段不可以再分
例如:
StudyNo
|
Name
|
Sex
|
Contact
20040901
john
Male
Email:kkkk@,phone:222456
20040901
mary
famale
email:kkk@phone:123455
以上的表就不符合,第一范式:主键重复(实际中数据库不允许重复的),而且Contact字段可以再分
所以变更为正确的是
StudyNo
|
Name
|
Sex
|
|
Phone
20040901
john
Male
kkkk@
222456
20040902
mary
famale
kkk@
123455数据库基础数据库三大范式数据库基础数据库三大范式第二范式:
定义:如果关系模式R是第一范式的,而且关系中每一个非主属性不部分依赖于主键,称R是第二范式的。
所以第二范式的主要任务就是满足第一范式的前提下,消除部分函数依赖。
StudyNo
|
Name
|
Sex
|
|
Phone
|
ClassNo
|ClassAddress
01
john
Male
kkkk@
222456
200401
A楼2
02
mary
famale
kkk@
123455
200402
A楼3
这个表完全满足于第一范式,
主键由StudyNo和ClassNo组成,这样才能定位到指定行
但是,ClassAddress部分依赖于关键字(ClassNo-〉ClassAddress),
所以要变为两个表
表一
StudyNo
|
Name
|
Sex
|
|
Phone|
ClassNo
01
john
Male
kkkk@
222456
200401
02
mary
famale
kkk@
123455
200402
表二
ClassNo
|ClassAddress
200401
A楼2
200402
A楼3
数据库基础数据库三大范式数据库基础数据库三大范式
第三范式:
满足第二范式的前提下,消除传递依赖。
例:
StudyNo
|
Name
|
Sex
|
|
bounsLevel
|
bouns
20040901
john
Male
kkkk@
优秀
$1000
20040902
mary
famale
kkk@
良
$600
这个完全满足了第二范式,但是bounsLevel和bouns存在传递依赖
更改为:
StudyNo
|
Name
|
Sex
|
|
bouunsNo
20040901
john
Male
kkkk@
1
20040902
mary
famale
kkk@
2
bounsNo
|
bounsLevel
|
bouns
1
优秀
$1000
2
良
$600
这里我比较喜欢用bounsNo作为主键,
一般满足前三个范式就可以避免数据冗余。数据库基础数据库三大范式数据库基础SQL语言数据定义(DataDefinition)CREATETABLE,DROPTABLE…数据操纵(DataManipulation)SELECT,INSERT,UPDATE,DELETE数据控制(DataControl)COMMIT,ROLLBACK数据库基础SQL语言数据库基础OPENSQL语言OPENSQL是SQL的子集OPENSQL独立于不同类型的数据库OPENSQL是DML语言数据库基础OPENSQL语言数据库基础使用OPENSQL的效率原则尽可能减少满足条件的数据条目数量减少传输数据量,以减少网络流量减少访问数据库表的数量建超查询难度减少数据库负载数据库基础使用OPENSQL的效率原则数据表维护数据字典TCODE:se11需要掌握:表字段外部关键字技术设定(Technicalsetting)索引DataElementDomain数据表维护数据字典数据表维护数据字典新建一个数据表ZXXX数据表维护数据字典SELECTSELECTSELECT…FROM…INTO…WHERE…GROUPBY…HAVING…ORDERBY…SELECTSELECTSELECT选择单行数据SELECTSINGE…FROM…INTO…WHERE…
演示:选择全部字段到workarea选择指定字段到变量SELECT选择单行数据SELECT选择多行数据SELECT[DISTINCT]… …ENDSELECTSELECT…INTO|APPENDING [CORRESPONDINGFIELDSOF]TABLEitabSELECT…INTOTABLEitabPACKAGESIZEn…ENDSELECTSELECT选择多行数据SELECT指定查询条件比较运算符=><<><=>=范围限定符号BETWEEN…AND…字符比较运算符号[NOT]LIKE..[EXCAPEh]_代表单个字符%代表多个字符检查列表值[NOT]INSELECT指定查询条件SELECT指定查询条件检查空值IS[NOT]NULL…检查选择表INsettab…SELECT指定查询条件SELECT多表组合查询-SELECT语句嵌套SELECT …
SELECT … ENDSELECT …ENDSELECTSELECT多表组合查询-SELECT语句嵌套SELECT多表组合查询-从内表查询SELECT…FORALLENTRIESINitabWHETE…SELECT多表组合查询-从内表查询SELECT多表组合查询-使用视图通过View进行查询SELECT多表组合查询-使用视图SELECT多表组合查询-结合查询SELECT…FROMtable[INNER]JOINtable1[ASalias1]oncondition[INNER]JOINtable2[ASalias2]onconditionSELECT多表组合查询-结合查询SELECT多表组合查询-子查询SELECT…WHEREEXIST(SELECT…)SELECT…WHEREfieldIN(SELECT…)SELECT…WHEREfield=(SELECT…)SELECT多表组合查询-子查询SELECT多表组合查询-统计函数MaxMinSumAvgCountSELECT多表组合查询-统计函数SELECT多表组合查询-分组SELECT…WHERE…GROUPBY…HAVING…SELECT多表组合查询-分组SELECT多表组合查询-排序SELECT…WHERE…ORDERBYf1[ASCENDING|DESCENDING]f2[ASCENDING|DESCENDING]SELECT多表组合查询-排序SELECT多表组合查询-其他使用表工作区TABLESdbtab动态指定数据库表SELECT…FROM(dbtabname)指定ClientSELECT…FROM…CLIENT
SPECIFIED
设置缓冲机制SELECT…FROMdbtabBYPASSING
BUFFER…限定行数SELECT…FROMdbtabUPTOnROWS…SELECT多表组合查询-其他SELECT多表组合查询-操作性能分析GETRUNTIMEFIELDf.TCODE:se30SELECT多表组合查询-操作性能分析SELECT多表组合查询-使用光标OPENCURSOR[WITHHOLD]cFORSELECT…FETCHNEXTCURSORcINTOtarget.CLOSECURSORc.SELECT多表组合查询-使用光标更新数据更新数据INSERTUPDATEMODIFYDELETESy-subrc 操作是否成功Sy-dbcnt 影响的行数更新数据更新数据更新数据INSERTINSERTINTOdbtabVALUESwa.INSERTINTOdbtabFROMwa.INSERTdbtabFROMTABLEitab[ACCEPTINGDUPLICTEKEYS].更新数据INSERT更新数据UPDATEUPDATEdbtabSETf1=g1…fn=gnWHERE…UPDATEdbtabFROMwa.UPDATEdbtabFROMTABLEitab.更新数据UPDATE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 迁出户口申请书
- 保定大学生科技创业创新项目
- 音乐与生活模板
- 传统媒体的半年之旅
- 餐饮行业半年盘点
- 农民贫困申请书
- 学生自愿降级申请书
- 入警申请书范文
- 礼仪队申请书
- 加快信息化建设夯实数字基础能力
- (2025)特种设备安全管理员考试题库及参考答案
- 《网络设备基础知识培训》课件
- 2024年农村述职报告
- 2025年广东省广州市食品检验所事业单位招聘若干人高频重点提升(共500题)附带答案详解
- 2024年湖南司法警官职业学院高职单招职业技能测验历年参考题库(频考版)含答案解析
- TD-T 1048-2016耕作层土壤剥离利用技术规范
- 山东职业学院单招《语文》考试复习题库(含答案)
- 民政局离婚协议书模板(4篇)
- 导数应用举例
- 统编版小学语文三年级下册第三单元综合性学习《中华传统节日》教案
- 《电力勘测设计管理制度》修编大纲
评论
0/150
提交评论