数据库(数据库完整性)_第1页
数据库(数据库完整性)_第2页
数据库(数据库完整性)_第3页
数据库(数据库完整性)_第4页
数据库(数据库完整性)_第5页
全文预览已结束

下载本文档

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

文档简介

数据库完整性使用s_t数据库mipsql>uses_t;Databasechanged显式说明参照完整性的违约处理示例(级联删除SC表中相应的元组,级联更新SC表中相应的元组,当删除course表中的元组造成了与SC表不一致时拒绝删除,当更新course表中的cno时,级联更新SC表中相应的元组)定义完sc表,并插入数据进行操作检查。iysql>createtablesc<snochar<9>notnull,enochar<4>notnull,Gradesmallint->primaryke^CSno,Cno>,foreignkey<Sno>referencesstudentCSno>ondeleteascade->onupdatecascade,foreigfnkey<Cno>referencescou.rse<Cno>ondeletenoction->onupdatecascade>;lueryOK,0rowsaffected<0.09sec>mysql>select*fromsc;snoeno!Grademysql>select*fromsc;snoeno!Grade92!92!85!88!90!80!!200215121!1!200215121!2!200215121!3!200215122!2!200215122!35rowsinset<0.03sec>ysql>createtablecourse<Cnochar<4>primarykey,-> Cnamechar<40>,Cpnochar<4>,Ccreditsmallint,-> foreignkey<Cpno>referencescourse<Cno>>;ueryOK,0rowsaffected<0.06sec>nysql>insertintocourse<Cno,Cname,CCredit>values<J2*,fmath,,J2J>;3ueryOK,1rowaffected<0.05sec>nysql>insertintocourse<Cno,Cname,CCredit>ualiwW6’,'DC','2’〉;3ueryOK,1rowaffected<0.00sec>nysql>insertintocourseualues<J7J,JpascalJJ6J,J4J>;3ueryOK,1rowaffected<0.00sec>nysql>insertintocourseumliwW5’,',W,'4’〉;3ueryOK,1rowaffected<0.00sec>nysql>insertintocourseualues<J1J,JdbsJ,J5J,J4J>;3ueryOK,1rowaffected<0.00sec>nysql>insertintocourseumliwW3’,'is',','4’〉;3ueryOK,1rowaffected<0.00sec>nysql>insertintocourseualues<J4,,,os,,,6,J.,3,>;3ueryOK,1rowaffected<0.00sec>2.Student表的Ssex只允许取“男”或“女”。mysql>createtablestudent-><snochar<9>primarykey,->snamechar<8>notnull,->ssexchar<2>check<ssexin<JmJ,JwJ->sagesmallint,->sdeptchar<20>->>;QueryOK,0rowsaffected<0.05sec>3.当学生的性别是男时,其名字不能以Ms.打头。mysql>createtablestudent-><snochar<9>,->snamechar<8>notnull,->ssexchar<2>,->sagesmallint,->adeptchar<20>,->primarykey<sno>,->check<ssex orsnamenotlike"msQueryOK,0rowsaffected<0.08sec>4.建立学生登记表Student,要求学号在90000〜99999之间,姓名不能取空值,年龄小于30,性别只能是“男”或“女”。mysql>createtablestudent-><snonumeric<6>,->constraintclcheck<snobetween90000and->snamechar<20>->notnull,->sagenumeric<3>,->constraintc3check<sage<30>,->ssexchar<2>,->constraintc4check<ssexin<JmJ,JwJ->constraintstudentkei/primarykey<sno>>;QueryOK,0rowsaffected<0.00sec>mysql>insertintostudentualues<J95121J,JliuiFongJ,J,*n*>;QueryOK,1rowaffected<0.00sec>mysql>insertintostudentualues<J95122J,Jliuchengf,f19J,JmJ>QueryOK,1rowaffected<0.00sec>mysql>insertintostudentualues<J95123J,Jvjangming,,f18J,JwJ>QueryOK,1rowaffected<0.00sec>mysql>insertintostudentualues<J95125J,JzhangliJ,Jwr>;QueryOK,1rowaffected<0.00sec>5.修改表Student中的约束条件,要求学号改为在900000〜999999之间,年龄由小于30改为小于40。mysql>altertablestudent->addconstraintclcheck<snobetween900000and999999>QueryOK,0rowsaffected<0.02sec>Records:0Duplicates:0Warnings:0mysql>altertablestudent->addconstraintc3check<sage<40>;QueryOK,0rowsaffected<0.02sec>Records:0Duplicates:0Uarnings:0插入数据:mi/sql>insertintostudentualues<J951210,,fliuxiaozhi,,J35*,f>;QueryOK,1rowaffected<0.00sec>mi/sql>insertintostudentualues<J951220*,fliuchengji,,J3?f,fm*>;QueryOK,1rowaffected<0.00sec>mi/sql>insertintostudentualues<J951230*,fuangmingliJ,J38*,f>;QueryOK,1rowaffected<0.00sec>mi/sql>insertintostudentualues<J951250*,*Ehanglili*,*30J,JwJ>;QueryOK,1rowaffected<0.00sec>课后习题第6题。mysql>createdatabasevjokers;QueryOK,1rowaffected<0.02sec>inysql>usewoJeers;Databasechanged 曷mysql>createtabledept<deptnochap<20>,->deptnamechar<20>,managerchap<10>,phonenumberchar<30>,->primarykey<deptno>>;QueryOK,0rowsaffected<0.01sec>nysql>createtableempCempnochai'<10>,->empnamechar<20>,empagechai'<4>,constraintclcheclt<enpage<=60>,->jobchar<30>,salchar<10>,deptnochar<20>,primarykey<enpno>,foreignkey<deptno>referencesdept<deptno>>;QueryOK,0rowsaffected<0.02sec>触发器mysql>uses_t;Databasechangedmysql>createtablestudent<Snochai'<9>primarykey,-> Snamechai'<20>Linique,-> Ssexchar<2>,Sagesmallint,Sdeptchar<20>>;QueryOK,0rowsaffected<0.00sec>mysql>createtablecourse<Cnochar<4>primarykey,-> Cnamecbar<40>,Cpnochar<4>,Ccreditsmallint,-> foreignkey<Cpno>referencescourse<Cno>>;QueryOK,0rowsaffected<0.02sec>mysql>createtablesc<Snochar<9>,Cnocbar<4>,GradesmaHint,ppimarykey<Sno,Cno>,->foreignkey<Sno>referencesstudent<Sno>,->foreic(nkey<Cno>referencescourse<Cno>>;QueryOK,0rowsaffected<0.00sec>l.MySQL数据库中触发器语句一般格式createtrigger[触发器名]before/after[触发事件]on[表名]foreachrow[触发体]ysql>createtriggerstudent_trigger->beforeupdateonstudent->foreachrow->updatestudentsetsage=,22Jwheresno=,200215121,;ueryOK,0rowsaffected<0.05sec>

mysql>createtriggercourse_trigger->beforeupdateoncourse->foreachrow->updatestudentsetcpno=,4rwhereenoQueryOK,0rowsaffected<0.02sec>mysql>createtriggersc_trigger->beforeupdateonsc->foreachrow->updatestudentsetcno=,4Jwheresno=,1025812033JQiiEryOH.日fdwsmFFectEd sec〉查看触发器showtriggers;mysql>shoutriggers;!Trigger !Euent!Table!Statement!chapacter_set_client!Timing!Created!sql_mode!Definer!chapacter_set_client!collation_connection!DatabaseCollation!icourse_triggeriUPDATEicourseiupdatestudentset!BEFORE!NULL! !ODBCPlocalhostiutf8_general_ci ilatin1_swedish_ciiisc_trigger iUPDATEisc iupdatestudentset5812033J !BEFORE!NULL! !ODBCPlocalhost!utf8_general_ci

温馨提示

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

评论

0/150

提交评论