




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库操作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年全面家居装修合同:一站式家庭装修协议
- 2025年xx村干部个人自查自纠报告
- 《地产营销策略》课件
- 《针灸治疗偏头痛》课件
- 海尔冰柜新品上市活动媒介策略
- 遂宁职业学院《朝鲜语高级阅读I》2023-2024学年第二学期期末试卷
- 宁夏财经职业技术学院《大学计算机基础Ⅱ》2023-2024学年第二学期期末试卷
- 辽宁省营口市大石桥市水源镇2025年5月中考二模英语试题含答案
- 西安邮电大学《颜系行草(2)(唐五代书法史论)》2023-2024学年第二学期期末试卷
- 江西师范大学科学技术学院《计算机网络前沿技术》2023-2024学年第二学期期末试卷
- 常见含麻黄碱类药物目录
- Unit 4 Protecting our heritage sites 课文语篇填空-牛津译林版高中英语选择性必修第三册
- GB/T 16955-1997声学农林拖拉机和机械操作者位置处噪声的测量简易法
- GB/T 15593-2020输血(液)器具用聚氯乙烯塑料
- GB 16410-2007家用燃气灶具
- 铁碳合金的相图解读
- 2023年复旦大学博士研究生入学考试专家推荐信模板
- 中小学教师资格证面试课件讲义
- 全国初中英语优质课大赛一等奖《八年级Unit 6An old man》说课课件
- 湖北地区医院详细名单一览表
- 麦肯锡入职培训第一课:让职场新人一生受用的逻辑思考力新员工培训教材
评论
0/150
提交评论