SQL的数据定义和数据控制功能.ppt_第1页
SQL的数据定义和数据控制功能.ppt_第2页
SQL的数据定义和数据控制功能.ppt_第3页
SQL的数据定义和数据控制功能.ppt_第4页
SQL的数据定义和数据控制功能.ppt_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

DatabasePrinciplesandApplications,YANXING(邢延),(自学篇,必学),Ch6TheDatabaseLanguageSQL,I,Outline,SQL的数据定义功能SQL的数据控制功能,3,SQL的数据定义功能,5,Functions(功能)ofSQL,Datadefinition(数据定义)DDL:DataDefinitionLanguageDefinition,modificationsofdatabasesortablesDatamanipulation(数据操纵)DML:DataManipulationLanguageDataquery:query,statistics,order,etcDataupdating:inserting,deletingormodifyingdataDatacontrol(数据控制)DCL:DataControlLanguageGrant(授权),14,DataType,15,Constrainoncolumn(列级完整性的约束条件),针对属性值设置的限制条件NOTNULL,NULL非空,空表示“不详”、“含糊”、“无意义”、“数据丢失”主要属性必须NOTNULLUNIQUE唯一性约束,不允许出现重复的属性值,16,DEFAULT默认值减少数据输入工作量DEFAULTFORCHECK检查约束,通过约束条件表达式设置约束条件CONSTRAINTCHECK(),17,ConstrainOnTable(表级完整性的约束条件),涉及到关系中多个列的限制条件UNIQUE唯一性约束,如列组的值不能重复PRIMARYKEY定义主码保证主码的唯一性和非空性CONSTRAINTPRIMARYKEY(),18,FOREIGNKEY外码和参照表约束定义参照完整性CONSTRAINTFOREIGNKEY()(),19,Example,CreatethetablesofStudent-Coursedatabase:Student(sid,name,age,sex,dept)Course(cid,cname,pre_course)Enrolled(sid,cid,grade)CREATETABLEStudent(sidCHAR(5)NOTNULLUNIQUE,nameCHAR(8)NOTNULL,ageSMALLINT,sexCHAR(2),deptCHAR(20),DEFAULTC120FORage,CONSTRAINTC2CHECK(sexIN(male,female);,Student,20,CreatethetablesofStudent-Coursedatabase:Student(sid,name,age,sex,dept)Course(cid,cname,pre_course)Enrolled(sid,cid,grade)CREATETABLECourse(cidCHAR(5)PRIMARYKEY,cnameCHAR(20),pre_courseCHAR(5),);,Course,21,例子,CreatethetablesofStudent-Coursedatabase:Student(sid,name,age,sex,dept)Course(cid,cname,pre_course)Enrolled(sid,cid,grade)CREATETABLEEnrolled(sidCHAR(5),cidCHAR(5),gradeSMALLINT,CONSTRAINTC3CHECK(gradeBETWEEN0AND100),CONSTRAINTC4PRIMARYKEY(sid,cid),CONSTRAINTC5FOREIGNKEY(sid)REFERENCESStudent(sid),CONSTRAINTC6FOREIGNKEY(cid)REFERENCESCourse(cid);,22,ModifyTable(修改表),ALTERTABLE(ADD(完整性约束,n)DROPMODIFY(,n));,23,Addnewcolumn(加属性)ALTERTABLECourseADDhoursSMALLINT;,Course,24,Modifythenameofacolumn(改属性名)ALTERTABLEStudentMODIFYnameCHAR(10);注意防止数据丢失,Student,25,Deleteacolumn(删除属性)ALTERTABLEStudentDROPage;,Student,26,DeleteTable(删除表),DROPTABLE基本表一旦被删除,表中的数据全部自动删除基本表一旦被删除,由该表导出的视图(定义)失效,应该也删除,28,DataUpdate(数据更新),Insertdata(插入数据)Modifydata(修改数据)Deletedata(删除数据),29,InsertData,插入一条记录INSERTINTO()VALUES(.);,INSERTINTOStudentVALUES(98010,Michael,20,M,CS);,30,插入子查询的结果集INSERTINTO();如:求每个系学生的平均年龄,并把结果存入数据库。,CREATETABLEdept_AVEage(deptCHAR(20),AVE_ageSMALLINT)INSERTINTOdept_AVEageSELECTdept,AVE(ALLage)FROMStudentGROUPBYdept;,31,ModifyData,UPDATESET=,=,nWHERE;,32,Example1,Add2ontotheagesofallthestudents,UPDATEStudentSETage=age+2;,33,Example2,Modifygradeto1.2*gradeforthecoursenameddatabase,UPDATEEnrolledSETgrade=grade*1.2WHEREcid=(SELECTcidFROMCourseWHEREcname=Database),34,DeleteData,DELETEFROMWHERE;,35,Example,Deletetheinformationofthestudentsinartdepartmentandtheinformationofthecoursesenrolledbythem.,DELETEFROMEnrolledWHEREsidIN(SELECTsidFROMStudentWHEREdept=art);,DELETEFROMStudentWHEREdept=art;,36,38,DataControl,通过对用户使用权限的限制而保证数据安全的重要措施一般只有数据库管理员(DBA)有授权资格,39,授权(Grant)收权(Revoke)拒绝访问(Deny)一般,DBMS都有专用的GUI工具来进行数据控制,授权,系统授权是对指定操作对象的指定操作权限授予指定的用户,其语法格式为:GRANT,ONTO|PUBLICWITHGRANTOPTION接受授权的用户可以是一个或多个具体用户,也可以是PUBLIC,即全体用户。PUBLIC表示所有用户,如果指定了WITHGRANTOPTION子句,则获得某种权限的用户还可以把该权限再授予别的用户。如果没有指定WITHGRANTOPTION子句,则获得某种权限的用户只能使用该权限,但不能传播该权限。例:把对Student表和Course表的全部操作权限权限授予zhao,并允许zhao将该权限授予他人。GRANTALLPRIVILEGESONStudent,CourseTOzhaoWITHGRANTOPTION26,拒绝访问,例:DENYSELECTONdbo.Student,CourseTOzh

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论