数据库原理及应用(常用版)_第1页
数据库原理及应用(常用版)_第2页
数据库原理及应用(常用版)_第3页
数据库原理及应用(常用版)_第4页
数据库原理及应用(常用版)_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

数据库原理及应用(常用版)(可以直接使用,可编辑完整版资料,欢迎下载)

成都理工大学管理科学学院数据库原理及应用(常用版)(可以直接使用,可编辑完整版资料,欢迎下载)教学实验报告2012~2013学年第1学期实验项目图书管理数据库及排课系统课程名称数据库原理及应用实验日期第7周---第17周实验学时16实验总学时32班级2021070302姓名豆豆学号2021070302专业方向信息管理与信息系统指导教师实验目的与要求目的:1.掌握基本的SQL命令的使用方法2.掌握查询文件的建立方法及查询结果的处理3.掌握视图的建立方法及视图的基本使用4.掌握视图与查询的区别要求:1.练习SQL命令的数据定义、数据操作、数据查询2.练习查询文件的建立、查询文件的使用、查询结果的处理3.练习视图的建立和基本使用实验内容问题一:图书管理信息数据库数据库及其表格的建立、添加、删除、修改等操作的熟练掌握数据权限的设定相关数据查询的语句联系有关函数的掌握问题二:排课系统设计系统开发的基本过程掌握数据流程图、E-R图、关系模式实验成绩:教师签字:年月日注1:实验内容至少包括实验过程与步骤,实验结果及分析,实验心得三部分(可根据实验特殊性增加相应实验内容)。注2:若实验内容较多,提交的纸质文档中可只填写主要的、结论性的内容,其余内容以电子稿提供。

--要求1:--创建数据库CREATEDATABASETSXXGLKGO--设置为当前数据库USETSXXGLKGO--学生档案表(学号、姓名、性别、籍贯、班级名称、所在系、所属学院)CREATETABLEXSDAB(XHVARCHAR(20),XMVARCHAR(40),XBBIT,JGVARCHAR(20),BJMCVARCHAR(30),SZXVARCHAR(40),SSXYVARCHAR(20))GO--插入学生信息INSERTINTOXSDAB(XH,XM,XB,JG,BJMC,SZX,SSXY)VALUES('202107030001','张三','0','四川成都市','信息资源管理系班','信息资源管理系','管理科学学院')INSERTINTOXSDAB(XH,XM,XB,JG,BJMC,SZX,SSXY)VALUES('202107030002','李四','0','贵州遵义市','信息资源管理系班','信息资源管理系','管理科学学院')INSERTINTOXSDAB(XH,XM,XB,JG,BJMC,SZX,SSXY)VALUES('202107030003','王五','0','浙江义乌市','信息资源管理系班','信息资源管理系','管理科学学院')INSERTINTOXSDAB(XH,XM,XB,JG,BJMC,SZX,SSXY)VALUES('202107030004','杨燕','0','内蒙古商都县','信息资源管理系班','信息资源管理系','管理科学学院')INSERTINTOXSDAB(XH,XM,XB,JG,BJMC,SZX,SSXY)VALUES('202107030005','曹晨','0','辽宁省锦州市','信息资源管理系班','信息资源管理系','管理科学学院')INSERTINTOXSDAB(XH,XM,XB,JG,BJMC,SZX,SSXY)VALUES('202107030006','杜婷婷','0','吉林省长春市','信息资源管理系班','信息资源管理系','管理科学学院')INSERTINTOXSDAB(XH,XM,XB,JG,BJMC,SZX,SSXY)VALUES('202107030007','李晓芹','0','吉林省榆树乌','信息资源管理系班','信息资源管理系','管理科学学院')INSERTINTOXSDAB(XH,XM,XB,JG,BJMC,SZX,SSXY)VALUES('202107030008','赵宇瑄','0','吉林省桦甸市','信息资源管理系班','信息资源管理系','管理科学学院')INSERTINTOXSDAB(XH,XM,XB,JG,BJMC,SZX,SSXY)VALUES('202107030009','张志昂','0','黑龙江省哈尔滨市','信息资源管理系班','信息资源管理系','管理科学学院')INSERTINTOXSDAB(XH,XM,XB,JG,BJMC,SZX,SSXY)VALUES('202107030010','韩兵','0','黑龙江省齐齐哈尔市','信息资源管理系班','信息资源管理系','管理科学学院')INSERTINTOXSDAB(XH,XM,XB,JG,BJMC,SZX,SSXY)VALUES('202107030011','吴永昊','0','上海市普陀区','信息资源管理系班','信息资源管理系','管理科学学院')INSERTINTOXSDAB(XH,XM,XB,JG,BJMC,SZX,SSXY)VALUES('202107030012','张靓伟','0','浙江省杭州市','信息资源管理系班','信息资源管理系','管理科学学院')GO--删除学生信息表DROPTABLEXSDABGO--教师信息表(教师编号、姓名、性别、职称、所属学院)CREATETABLEJSXXB(JSBHVARCHAR(20),XMVARCHAR(40),XBBIT,ZCVARCHAR(30),SSXYVARCHAR(20))GO--插入教师信息INSERTINTOJSXXB(JSBH,XM,XB,ZC,SSXY)VALUES('3211','小乔','0','教授','管理科学学院')INSERTINTOJSXXB(JSBH,XM,XB,ZC,SSXY)VALUES('3215','武大郎','0','教授','管理科学学院')INSERTINTOJSXXB(JSBH,XM,XB,ZC,SSXY)VALUES('3212','武松','0','教授','管理科学学院')INSERTINTOJSXXB(JSBH,XM,XB,ZC,SSXY)VALUES('3213','陆毅','0','教授','管理科学学院')INSERTINTOJSXXB(JSBH,XM,XB,ZC,SSXY)VALUES('3214','母夜叉','0','教授','管理科学学院')INSERTINTOJSXXB(JSBH,XM,XB,ZC,SSXY)VALUES('3216','樱桃小丸子','0','教授','管理科学学院')INSERTINTOJSXXB(JSBH,XM,XB,ZC,SSXY)VALUES('3217','一休','0','教授','管理科学学院')INSERTINTOJSXXB(JSBH,XM,XB,ZC,SSXY)VALUES('3218','邋遢大王','0','教授','管理科学学院')INSERTINTOJSXXB(JSBH,XM,XB,ZC,SSXY)VALUES('3219','西施','0','教授','管理科学学院')INSERTINTOJSXXB(JSBH,XM,XB,ZC,SSXY)VALUES('3220','东施','0','教授','管理科学学院')GO--删除教师信息表DROPTABLEJSXXBGO--图书信息表(图书编号、图书名称、作者、版本、出版日期,内容简介、入库日期、登记人员)CREATETABLETSXXB(TSBHVARCHAR(20),TSMCVARCHAR(80),ZZVARCHAR(40),BBVARCHAR(40),CBRQDATETIME,NRJJVARCHAR(600),RKRQDATETIME,DJRYVARCHAR(20))GO--插入图书信息(图书编号、图书名称、作者、版本、出版日期,内容简介、入库日期、登记人员)INSERTINTOTSXXB(TSBH,TSMC,ZZ,BB,CBRQ,NRJJ,RKRQ,DJRY)VALUES('20210001','数据库系统原理及应用','苗雪兰','第三版','20210909','好好学习天天向上','20210909','张冬')INSERTINTOTSXXB(TSBH,TSMC,ZZ,BB,CBRQ,NRJJ,RKRQ,DJRY)VALUES('20210002','C/C++','你猜','第五版','20210909','学好C/C++走遍天下都不怕','20210909','张冬')INSERTINTOTSXXB(TSBH,TSMC,ZZ,BB,CBRQ,NRJJ,RKRQ,DJRY)VALUES('20210003','概率论与数理统计','盛骤','第四版','20210109','本书第四版是在第三版的基础上增订而成。新增的内容有:在数理统计中应用Excel,bootstrap方法,户值检验法,箱线图等','20210909','张冬')INSERTINTOTSXXB(TSBH,TSMC,ZZ,BB,CBRQ,NRJJ,RKRQ,DJRY)VALUES('20210004','工程数学——线性代数','同济大学数学系','同济第五版','20070501','好好学习天天向上','20210909','张冬')INSERTINTOTSXXB(TSBH,TSMC,ZZ,BB,CBRQ,NRJJ,RKRQ,DJRY)VALUES('20210005','高等数学','同济大学数学系','第版','20211101','线性代数附册学习辅导与习题全解','20210909','张冬')INSERTINTOTSXXB(TSBH,TSMC,ZZ,BB,CBRQ,NRJJ,RKRQ,DJRY)VALUES('20210006','营销管理','菲利普•¿Æ特勒','第三版','20211101','经典版本菲利普•¿Æ特勒《营销管理》最新第版原汁原味,全貌呈现,无删减、修改全球简体中文版唯一正式授权新经济形势下,最新全球营销智慧和最佳实践的精华集萃。','20210909','张冬')INSERTINTOTSXXB(TSBH,TSMC,ZZ,BB,CBRQ,NRJJ,RKRQ,DJRY)VALUES('20210007','经济学原理','(美)曼昆','第五版','20210301','本书是世界上最流行的经济学教材!其英文原版现已被哈佛大学、耶鲁大学、斯坦福大学等美国余所大学用作经济学原理课程的教材迄今为止它已被翻译成种语言在全世界销售多万册!','20210909','张冬')INSERTINTOTSXXB(TSBH,TSMC,ZZ,BB,CBRQ,NRJJ,RKRQ,DJRY)VALUES('20210008','项目管理知识体系指南','(美)项目管理协会','第四版','20210801','美国国家标准,具有全球影响力的执行标准,项目管理培训机构指定教材,PMP考试指定用书,项目管理专业人员必备标准。','20210909','张冬')INSERTINTOTSXXB(TSBH,TSMC,ZZ,BB,CBRQ,NRJJ,RKRQ,DJRY)VALUES('20210009','普通心理学','彭聃龄','修订版','20040109','《普通心理学》是国家教委推荐的一本高校心理教材,它适用于全日制高校心理学专业及其他相关专业、自学高考心理学专业的本科学生,同时,也可作为广大心理爱好者,电大、函选修心理学课程学员的参考读物','20210909','张冬')INSERTINTOTSXXB(TSBH,TSMC,ZZ,BB,CBRQ,NRJJ,RKRQ,DJRY)VALUES('20210010','刑法学','张明楷','第四版','20210701','《刑法学(第版)》是张明楷教授风格鲜明、独步学林的代表作。无论是理论体系的构建,抑或分析问题的逻辑,都带有强烈的法益思想和浓厚的大陆刑法理论的气息。','20210909','张冬')GO--删除图书信息DROPTABLETSXXBGO--借阅信息表(读者编号、图书编号、借阅日期、归还日期、登记人员、登记日期)CREATETABLEJYXXB(DZBHVARCHAR(50),TSBHVARCHAR(20),JYRQDATETIME,GHRQDATETIME,DJRYVARCHAR(20),DJRQDATETIME)GO--插入借阅信息(读者编号、图书编号、借阅日期、归还日期、登记人员、登记日期)INSERTINTOJYXXB(DZBH,TSBH,JYRQ,GHRQ,DJRY,DJRQ)VALUES('202107030001','20210001','20210910','20211010','Tom','20210910')INSERTINTOJYXXB(DZBH,TSBH,JYRQ,GHRQ,DJRY,DJRQ)VALUES('202107030002','20210002','20210910','20211010','Tom','20210910')INSERTINTOJYXXB(DZBH,TSBH,JYRQ,GHRQ,DJRY,DJRQ)VALUES('202107030003','20210003','20210910','20211010','Tom','20210910')INSERTINTOJYXXB(DZBH,TSBH,JYRQ,GHRQ,DJRY,DJRQ)VALUES('202107030004','20210004','20210910','20211010','Tom','20210910')INSERTINTOJYXXB(DZBH,TSBH,JYRQ,GHRQ,DJRY,DJRQ)VALUES('202107030005','20210005','20210910','20211010','Tom','20210910')INSERTINTOJYXXB(DZBH,TSBH,JYRQ,GHRQ,DJRY,DJRQ)VALUES('202107030007','20210006','20210910','20211010','Tom','20210910')GO--删除借阅信息DROPTABLEJYXXBGO--测试修改数据信息命令(UPDATE)UPDATEJYXXBSETDZBH=DZBH+1--创建读者信息表视图,只包含学生,列项信息有:学号、姓名、性别、所属学院、读者类别<设置为学生>CREATEVIEW读者信息表视图ASSELECTXHAS读者编号,XMas姓名,XBas性别,SSXYas所属学院,'学生'AS读者类别FROMXSDABgo--创建读者信息表视图,只包含教师,列项信息有:教师编号、姓名、性别、所属学院、读者类别<设置为教师>CREATEVIEW读者信息表视图ASSELECTJSBHAS读者编号,XMas姓名,XBas性别,SSXYas所属学院,'教师'AS读者类别FROMJSXXBGO--删除读者信息表视图DROPVIEW读者信息表视图GO--创建读者信息表视图,包含学生和教师信息,列项信息有:读者编号、姓名、性别、所属学院、读者类别<教师或学生>CREATEVIEW读者信息表视图ASSELECT读者编号,姓名,性别,所属学院,读者类别FROM读者信息表视图UNIONALLSELECT读者编号,姓名,性别,所属学院,读者类别FROM读者信息表视图GO--将各表中常用的属性建立索引,如关键字段、姓名等。CREATEUNIQUEINDEXXHONXSDAB(XH)CREATEUNIQUEINDEXXMONXSDAB(XM)CREATEUNIQUEINDEXJSBHONJSXXB(JSBH)CREATEUNIQUEINDEXXMONJSXXB(XM)--要求2:--分别编写命令查找学生档案表中姓名为张的、借阅信息表中读者编号中包含“”的、借阅信息表中读者姓名的第二个字母为“小”的;USETSXXGLKGOSELECT*FROMXSDABGO--分别编写命令查找学生档案表中姓名为王的、读者编号中包含“”的、读者姓名的第二个字母为“小”的SELECT*FROMXSDABWHEREXMLIKE'张%'SELECT*FROMJYXXBWHEREDZBHLIKE'%12%'SELECT*FROMXSDABWHEREXMLIKE'_[^小]%'GO--查找出借时间在/01/1到/10/1的图书信息,包含图书编号、图书名称、借阅时间、归还时间;SELECTTSBH,TSMC,JYRQ,GHRQFROMJYXXBWHEREJYRQBETWEEN'20210101'AND'20211001'GO--查找返回读者编号、读者姓名、其借阅的图书编号、图书名称;SELECTXMASDZXMFROMXSDAB,SELECTTSBH,TSMCFROMTSXXBWHEREJYXXB.DZBH=XSDAB.XHGO--统计每个班级的学生人数;SELECT*FROMXSDABWHEREBJMC='2021070302'SELECTBJMCAS班级名称,COUNT(*)AS人数FROMXSDABGROUPBYBJMCGO--查找借阅图书次数超过次的图形信息(图书信息,包含图书编号、图书名称、借阅时间、归还时间)SELECTJYB.TSBH,JYB.JYRQ,JYB.GHRQFROMJYXXBJYBWHEREJYB.TSBH>2GO--统计每个班级的学生人数;SELECTCOUNT(BJMC)FROMXSDAB--统计每个班级的学生人数;selectBJMC,count(XH)fromXSDABgroupbyBJMC;--查找借阅信息表中读者编号中包含“”的SELECT*FROMJYXXBWHEREDZBHLIKE'%12%'--查找借阅图书次数超过次的图形信息(图书信息,包含图书编号、图书名称、借阅时间、归还时间)SELECTA.TSBH,B.TSMC,A.JYRQ,A.GHRQFROMJYXXBALEFTJOINTSXXBBONA.TSBH=B.TSBHWHEREA.TSBHIN(SELECTTSBHFROMJYXXBGROUPBYTSBHHAVINGCOUNT(*)>=2)--建立一个存储过程通过参数返回指定学号的学生姓名CREATEPROCEDURE学生档案表_RETURN@学号CHAR(12),@姓名VARCHAR(9)OUTPUT,@性别VARCHAR(2),@籍贯VARCHAR(8),@班级名称VARCHAR(49),@所在系VARCHAR(49),@所属学院VARCHAR(49),@专业VARCHAR(12)ASSELECT姓名FROM学生档案表WHERE学号=@学号GO--要求3:--3.1建立一个存储过程实现学生信息的新增CREATEPROCEDUREXSDAB_INSERT@XHBIGINT,@XMCHAR(8),@XBCHAR(2),@JGNVARCHAR(MAX),@BJMCNVARCHAR(20),@SZXNVARCHAR(20),@SSXYNVARCHAR(20)ASINSERTINTOXSDAB(XH,XM,XB,JG,BJMC,SZX,SSXY)VALUES(@XH,@XM,@XB,@JG,@BJMC,@SZX,@SSXY)--3.2建立一个存储过程实现图书信息的新增;CREATEPROCEDURETSXXB_insert@TSBHvarchar(20),@TSMCvarchar(40),@ZZvarchar(40),@BBvarchar(10),@CBRQdatetime,@NRJJvarchar(100),@RKRQdatetime,@DJRYvarchar(20)ASINSERTINTOtsxXB(TSBH,TSMC,ZZ,BB,CBRQ,NRJJ,RKRQ,DJRY)VALUES(@TSBH,@TSMC,@ZZ,@BB,@CBRQ,@NRJJ,@RKRQ,@DJRY)GOexectsxXB_insert'3101','基础会计','陈国辉','第一版','19550214','基础会计','19580512','张冬'--3.3建立一个存储过程实现借阅信息的新增;CREATEPROCEDUREJYXXB_insert@DZBHvarchar(20),@TSBHvarchar(30),@JYRQvarchar(10),@GHRQdatetime,@DJRYvarchar(10),@DJRQdatetimeASINSERTINTOJYXXB(DZBH,TSBH,JYRQ,GHRQ,DJRY,DJRQ)values(@DZBH,@TSBH,@JYRQ,@GHRQ,@DJRY,@DJRQ)execJYXXB_insert'202107032','3103','2021-5-14','2021-6-20','04','2021-5-14'select*fromJYXXB--3.4建立一个存储过程实现按读者信息查阅其借阅图书信息;CREATEPROCEDUREJYXXB_SELECT@DZBHVARCHAR(13),@TSBHVARCHAR(12),@JYRQDATETIME,@GHRQDATETIME,@DJRYVARCHAR(9),@DJRQDATETIMEASSELECTDZBHFROMJYXXBWHEREDZBH=@DZBHGO--3.5建立一个存储过程实现按图书名称匹配查阅图书信息CREATEPROCEDURETSXXB_SELECT@TSBHVARCHAR(20),@TSMCNVARCHAR(100),@ZZNVARCHAR(300),@BBNVARCHAR(10),@CBRQDATETIME,@NRJJNTEXT,@RKRQDATETIME,@DJRQCHAR(8)ASSELECTTSMCFROMTSXXBWHERETSMC=@TSMC--3.6建立一个存储过程实现按图书编号删除图书信息CREATEPROCEDURETSXXB_DELETE@TSBHVARCHAR(20),@TSMCNVARCHAR(100),@ZZNVARCHAR(300),@BBNVARCHAR(10),@CBRQDATETIME,@NRJJNTEXT,@RKRQDATETIME,@DJRQCHAR(8)ASSELECTTSMCFROMTSXXBWHERETSMC=@TSMCGO--要求4:--4.1建立一个存储过程通过参数返回指定学号的学生姓名;CREATEPROCEDURE返回学生姓名@XHVARCHAR(20)asselectXMfromXSDABwhereXH=@XHgoexec返回学生姓名'202107031'godropPROCEDURE返回学生姓名--4.2建立一个触发器实现修改图书编号时自动修改借阅信息表相应的图书编号;CREATEtrigger自动修改图书编号onTSXXBWITHENCRYPTIONFORUPDATEASIFUPDATE(TSBH)UPDATETSXXBSETTSBH=newTSBHhFROMTSXXBRIGHTJOIN(SELECTTSXXB.TSBHASoldTSBH,JYXXB.TSBHASnewTSBHFROMDELETEDTSXXBINNERJOININSERTEDJYXXBONTSXXB.MYID=JYXXBb.MYID)ASONJYXXB.TSBH=C.oldTSBHUPDATEtsxXBSETTSBH='20210011'whereTSBH='20210001'GOSELECT*FROMtsxXBGO--4.3自定义一个函数返回实数的绝对值。dropfunction返回函数绝对值CREATEFUNCTION返回函数绝对值(@Xint)RETURNSintASBEGINRETURN(abs(@X))ENDGOSELECTDBO.返回函数绝对值(-5)GO--4.4定义一个函数在借阅信息表中求出某学生,在某时间范围中所借图书的数量。dropfunction查找借书数量createfunction查找借书数量(@dzbhvarchar(20),@jyrqvarchar(10),@ghrqdatetime)returnsintASbegindeclare@Mintselect@M=count(*)fromjyxXBwherejyxXB.dzbh=@dzbhand(jyxXB.jyrqbetween@jyrqand@ghrq)return(@M)endgoSELECTdbo.查找借书数量('202107030003','2021-5-10','2021-06-20')--要求5:--5.1采用命令方式备份该数据库并通过该数据库备份文件还原为新的数据库名称为MyDB;BACKUPDATABASE TSXXGLKtodisk='D:\tsxxglk.bak'withinitRestoreDatabaseMyDBfromdisk='D:\tsxxglk.bak'WithreplaceGO--5.2若要求采用重写覆盖方式,并加密方式(密码:)实现备份和还原上述数据库;BACKUPDATABASE TSXXGLKtodisk='D:\tsxxglk.bak'withinit,password='123'goRestoreDatabaseMyDBfromdisk='D:\tsxxglk.bak'Withreplace,password='123',Move'TSXXGLK_log'to'd:\MyDB_log.ldf', Move'TSXXGLK'to'd:\MyDB_Data.mdf'go--5.3建立SQLSERVER自定义帐户Kate,要求密码:,默认数据库”图书信息管理库”;--5.4设置对数据库(“图书信息管理库”)具有访问权限;grantallpriviligestopublic--5.5将Kate添加到数据库(“图书信息管理库”)角色(public)中;grantKATETOPUBLIC--5.6设置Kate对数据库对象的访问权限--5.7对学生档案表具有查询、插入权限grantselect,insertonXSDABtoKATEgo--5.8对图书信息表具有修改、删除权限--5.9对借阅信息表具有所有权限。grantallprivilegestoKateGO--5.10设置用户具有创建表、视图、存储过程的权限。GRANTCREATETABLE,CREATEVIEW,CREATEPROCEDURETOKATE--要求6:--6.1在学生档案表中按学号建立唯一簇集索引;CREATEuniqueCLUSTEREDINDEXXH_indexONXSDAB(XH)GOselect*fromXSDABGOdropINDEXXSDAB.XH_indexGO--6.2在图书信息表中按图书编号建立唯一簇集索引;CREATEuniqueCLUSTEREDINDEXTSBH_indexONtsxXB(TSBH)GOdropindextsxXB.bh_indexGO--6.3在学生档案表中按学号建立一般索引;CREATEUNIQUEINDEXDZXM_indexONDZXXB(XSXH)GO--6.4在图书信息表中分别按图书名称、作者建立一般索引;createindextsxXB_tsmc_zz_indexontsxXB(tsmc,zz)--6.5在借阅信息表中按借阅日期建立一般索引;createindexjyxXB_jyrq_indexonjyxXB(jyrq)--6.6在学生档案表中按学号建立主键约束、在图书信息表中按图书编号建立主键约束;CREATETABLEXSDAB1(XHvarchar(12)NOTNULL,XMVARCHAR(20),CONSTRAINTXH_KEYPRIMARYKEYCLUSTERED(XH))createtabletsxXB1(tsbhvarchar(30)constrainttsbh_keyprimarykeyclustered(tsbh))GO--6.7在图书信息中添加书刊号列,并建立为唯一索引。altertabletsxXBaddskhvarchar(20)createindextsxXB_skh_indexontsxXB(skh)GO--6.8再建立一学生成绩表(学号、课程名称、考试日期、成绩)createtablexscjb(XHvarchar(30),kcmcvarchar(20),ksrqdatetime,cjfloat)GO--6.9对成绩信息列建立检查约束,保证输入数据在-3到之间。createtablecjb(XHvarchar(20),kcmcvarchar(40),cjintCONSTRAINTCK_cjCHECK(cj>=-3andcj<=100))GO--6.10然后建立规则实现上述功能;CREATERULERULE_CJAS(@CJ>=-3AND@CJ<=100)GO--6.11在学生档案表添加籍贯列;建立默认值名称,实现籍贯的默认值为“四川成都”altertableXSDABaddjg1varchar(10)default'四川'GO--6.12在学生档案表添加超过十五条数据,然后查询返回第条到第条数据。insertintoXSDAB(XH,XM,XB,BJMC,SZX,)values('202107030210','张十','1','2021070302','信息资源管理','管理科学学院')insertintoXSDAB(XH,XM,XB,BJMC,SZX,SSXY)values('202107030211','赵十一','0','2021070302','信息资源管理','管理科学学院')insertintoXSDAB(XH,XM,XB,BJMC,SZX,SSXY)values('202107030212','赵十二','0','2021070302','信息资源管理','管理科学学院')insertintoXSDAB(XH,XM,XB,BJMC,SZX,SSXY)values('202107030213','赵十三','0','2021070302','信息资源管理','管理科学学院')insertintoXSDAB(XH,XM,XB,BJMC,SZX,SSXY)values('202107030214','赵十四','0','2021070302','信息资源管理','管理科学学院')insertintoXSDAB(XH,XM,XB,BJMC,SZX,SSXY)values('202107030215','赵十五','0','2021070302','信息资源管理','管理科学学院')GOSELECTtop5*FROMXSDABWHEREXHNOTIN(SELECTTOP7XHFROMXSDAB)GO

1.分析排课管理系统所涉及的实体对象及其联系,绘制系统E-R图;

2.通过E-R图分析并构造系统数据库的关系表;学生(学号,学生姓名,所在系,性别)教师(教师号,教师姓名,所在系,性别)课程(课程号,课程名称,课时,课程类型,任课老师,上课时间,上课地点)选课(课程号,学号,成绩)3.创建排课管理数据库及所有数据关系表,保持关系表数据的一致性;createdatabase排课管理数据库gouse排课管理数据库goDROPdatabase排课管理数据库--学生信息表createtable学生信息表(学号varchar(20),学生姓名varchar(20),所在系varchar(20),性别varchar(20))Go--学生信息表中插入数据(学号,学生姓名,系别,性别)-----------INSERTINTO学生信息表(学号,学生姓名,所在系,性别)VALUES('202107031','黄蓉','0702','女')INSERTINTO学生信息表(学号,学生姓名,所在系,性别)VALUES('202107032','郭靖','0702','男')INSERTINTO学生信息表(学号,学生姓名,所在系,性别)VALUES('202107033','穆念慈','0702','女')INSERTINTO学生信息表(学号,学生姓名,所在系,性别)VALUES(,'杨康','0702','男')INSERTINTO学生信息表(学号,学生姓名,所在系,性别)VALUES('202107035','欧阳克','0702','男')INSERTINTO学生信息表(学号,学生姓名,所在系,性别)VALUES('202107036','欧阳锋','0702','男')GO--教师信息表createtable教师信息表(教师号varchar(20),教师姓名varchar(20),所在系varchar(20),性别varchar(20))Go--教师信息表中插入数据(教师号,教师姓名,性别)INSERTINTO教师信息表(教师号,教师姓名,性别)VALUES('0001','何计容','女')INSERTINTO教师信息表(教师号,教师姓名,性别)VALUES('0002','谢跃美','女')INSERTINTO教师信息表(教师号,教师姓名,性别)VALUES('0003','苟华勇','男')INSERTINTO教师信息表(教师号,教师姓名,性别)VALUES('0004','段建华','男')INSERTINTO教师信息表(教师号,教师姓名,性别)VALUES('0005','朱涛','男')INSERTINTO教师信息表(教师号,教师姓名,性别)VALUES('0006','党庆忠','男')INSERTINTO教师信息表(教师号,教师姓名,性别)VALUES('0007','王敏晰','女')INSERTINTO教师信息表(教师号,教师姓名,性别)VALUES('0008','吴仁明','男')INSERTINTO教师信息表(教师号,教师姓名,性别)VALUES('0009','唐元毅','男')INSERTINTO教师信息表(教师号,教师姓名,性别)VALUES('0010','王丽英','女')INSERTINTO教师信息表(教师号,教师姓名,性别)VALUES('0011','刘玉超','男')INSERTINTO教师信息表(教师号,教师姓名,性别)VALUES('0012','张瑜','女')INSERTINTO教师信息表(教师号,教师姓名,性别)VALUES('0013','刘红军','男')GO--课程安排信息表createtable课程安排信息表(课程号varchar(20),课程名称varchar(20),课时int,课程类型varchar(20),任课教师varchar(20),上课时间datetime,上课地点varchar(20))Godroptable课程安排信息表GO------课程安排信息表中插入数据(课程号,课程名称,课时,课程类型,任课教师)INSERTINTO课程安排信息表(课程号,课程名称,课时,课程类型,任课教师,上课时间,上课地点)VALUES('001','数据库原理及应用','40','必修课','王欣','2021-3-15','6C301')INSERTINTO课程安排信息表(课程号,课程名称,课时,课程类型,任课教师,上课时间,上课地点)VALUES('002','运筹学','50','专业课','谭露','2021-4-15','6C301')INSERTINTO课程安排信息表(课程号,课程名称,课时,课程类型,任课教师,上课时间,上课地点)VALUES('003','管理信息系统','45','专业基础课','李斯丹尼','2021-5-15','6C301')INSERTINTO课程安排信息表(课程号,课程名称,课时,课程类型,任课教师,上课时间,上课地点)VALUES('004','概率论','45','公共课','王义杰','2021-3-20','6C301')INSERTINTO课程安排信息表(课程号,课程名称,课时,课程类型,任课教师,上课时间,上课地点)VALUES('005','电影鉴赏','45','选修课','于佳丽','2021-3-18','6C301')INSERTINTO课程安排信息表(课程号,课程名称,课时,课程类型,任课教师,上课时间,上课地点)VALUES('006','计算机网络','45','专业基础课','洋洋','2021-4-25','6C301')GO--选课表createtable选课表(课程号varchar(20),学号varchar(20),成绩varchar(20))GO---选课表中插入数据(课程号,学号,成绩)INSERTINTO选课表(课程号,学号,成绩)VALUES('001','202107032','89')INSERTINTO选课表(课程号,学号,成绩)VALUES('002','202107032','79')INSERTINTO选课表(课程号,学号,成绩)VALUES('003','202107032','94')INSERTINTO选课表(课程号,学号,成绩)VALUES('004','202107032','86')INSERTINTO选课表(课程号,学号,成绩)VALUES('005','202107032','77')INSERTINTO选课表(课程号,学号,成绩)VALUES('006','202107032','87')INSERTINTO选课表(课程号,学号,成绩)VALUES('007','202107032','90')INSERTINTO选课表(课程号,学号,成绩)VALUES('008','202107032','89')GO4.实现对数据表及关联数据的查询,如查询学生教师课程量、查询某时段课程情况、某时间某些教师的课程情况、统计学生(教师)的学时数等;--查询学生成绩select学生信息表.学号,学生信息表.学生姓名,选课表.课程号,课程安排信息表.课程名称,选课表.成绩,课程安排信息表.课程类型from学生信息表innerjoin选课表on学生信息表.学号=选课表.学号innerjoin教师信息表on选课表.课程号=课程安排信息表.课程号innerjoin课程安排信息表on教师信息表.教师姓名=课程安排信息表.课程名称orderby学生信息表.学号select学生信息表.学号,学生信息表.学生姓名,课程安排信息表.课程名称,选课表.成绩from学生信息表,课程安排信息表,选课表where学生信息表.学号=选课表.学号and课程安排信息表.课程号=选课表.课程号--查询学生教师课程量select任课教师,COUNT(课时)from课程安排信息表groupby任课教师select学号,count(课程号)from选课表groupby学号--查询某时段课程情况select课程号,课程名称from课程安排信息表where上课时间between'2021-3-20'and'2021-5-23'--某时间某些教师的课程情况select课程安排信息表.课程号,课程安排信息表.课程名称from课程安排信息表where课程安排信息表.任课教师='谭露'and上课时间between'2021-3-15'and'2021-5-30'--统计学生(教师)的学时数等select任课教师,SUM(课时)from课程安排信息表groupby任课教师5.编写存储过程实现课表的查询,要求不同对象(教师、学生、楼层管理员、教务检查人员)提供不同查询结果。--要求不同对象(教师、学生、楼层管理员、教务检查人员)提供不同查询结果。createprocedure课程表_select@课程号varchar(20),@课程名称varchar(20),@课时int,@课程类型varchar(20),@任课教师varchar(20),@上课时间datetime,@上课地点varchar(20)asselect课程名称from课程表where课程号=@课程号GO6.实现数据库备份与还原操作;BACKUPDATABASE排课管理数据库todisk='D:\排课管理数据库.bak'withinit,password='123'RestoreDatabase排课管理数据库fromdisk='D:\排课管理数据库.bak' WithPassWord='123'7.设定不同用户教师、学生、楼层管理员、教务检查人员)的访问权。EXECsp_addrole'dab'grantallondabtopublicgograntselect,update,deleteondabto楼层管理员gograntselect,updateondabto教师gograntselectondabto学生go核准通过,归档资料。未经允许,请勿外传!第一章绪论数据:描述事物的符号记录称为数据,数据是数据库的基本对象。数据字典:是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明。数据库:存放数据的仓库,是长期存储在计算机内、有组织、可共享的大量数据的集合。数据库管理系统:DBMS科学的组织和存储诗句,高效的获取和维护数据,具有数据定义功能;数据组织、存储和管理功能;数据操纵功能;数据库的事务管理和运行管理功能;数据库的建立和维护功能;其他功能。数据库系统:是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。发展过程:人工管理——文件系统——数据库系统数据库系统的特点:一、数据结构化结构化:指任何一列数据不可再细分,同时任何一列的数据都有相同的数据类型整体结构化:不再仅仅针对某一个应用,而是面向全组织,同时不仅数据内部结构化,整体是结构化的,数据之间具有联系。实体:表示任何可以发送或接受信息的硬件或软件进程。数据的共享性高,冗余度低,易扩充。数据库系统从整体角度看待和描述数据,数据面向整个系统,可以被多个用户、多个应用共享使用。三、数据独立性高。体现在两方面:第一,物理独立性:指用户的应用程序和存储在磁盘上的数据库中数据时相互独立的,当数据在物理存储改变了,应用程序不用改变。第二,逻辑独立性:指用户的应用程序与数据库的逻辑结构相互独立,数据的逻辑结构改变了,用户程序也可以不变。四、数据由DBMS(数据库管理系统)统一管理和控制。1、数据的安全性(security)保护:保护数据,以防止不合法使用造成的数据的泄密和破坏;2、数据的完整性检查:将数据控制在有效地范围内,或保证数据之间满足一定的关系;3、并发控制:对多用户的并发操作加以控制盒协调,防止相互干扰得到错误的结果;4、数据库恢复:对数据库从错误状态恢复到某一已知的正确状态。数据模型数据模型:用这个工具来抽象、表示和处理现实世界中的数据和信息。就是对现实世界的模拟。三方面的要求:1、能够比较真实的模拟现实世界;2、容易为人所理解;3、便于在计算机上实现。两类数据模型:概念模型:也称信息模型,它是按用户的观点对数据和信息建模,用于数据库设计阶段。2、逻辑模型和物理模型:逻辑模型主要包括网状模型、层次模型、关系模型、面向对象模型等,按计算机系统的观点对数据建模,用DBMS实现。物理模型是对数据库底层的抽象,描述数据在系统内部的表示方式和存取方法,在硬盘或磁带上的存储方式和存取方法。两步抽象:1、现实世界中的客观对象抽象为概念模型2、把概念模型转换为某一DBMS支持的数据模型。数据模型的组成要素:数据结构:描述数据库的组成对象,以及对象之间的联系。数据模型对数据结构的定义:一、与数据类型、内容、性质有关的对象;二、与数据之间联系有关的对象。数据结构是对系统静态特征的描述。2、数据操作:对数据库中各种对象(型)的实例(值)允许执行的操作及有关的操作规则。类型有:查询;更新(包括插入、删除、修改)。数据库模型对操作的定义:操作的确定含义(例如定义);操作符号(具体符号的定义的操作);操作规则(如优先级);实现操作的语言(SQL标准化操作语言)。数据结构是对系统动态特征的描述。3、完整性约束条件:一、一组完整性规则的集合;二、完整性规则:给定的数据模型中数据及其联系所具有的制约和存储规则;三、具以限定符合数据模型的数据库状态以及状态的变化(例如修改),以保证数据的正确、有效、相容。数据模型对完整性约束条件的定义:一、反映和规定本数据模型必须遵守的基本的通用的完整性约束条件。例如在关系模型中,任何关系必须满足实体(内部)完整性和参照(实体和实体之间的)完整性两个条件。二、提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件。(现实世界的约束)概念模型一、信息世界中的基本概念实体:客观存在并可相互区别的事物称为实体属性:实体所具有的某一特征为属性码:唯一标识实体的属性集称为码(特殊的属性)域:域是一组具有相同数据类型的值得集合,属性的取值范围称为该属性的域。实体型:用实体名及其属性名集合来抽象和刻画同类实体(一类实体),称为实体型。联系:现实世界的事物内部以及事物之间的联系在实体内部的联系通常是指组成实体的个体属性之间的联系,实体之间的联系通常是指不同实体集之前的联系。二、两个实体型之间的联系(E-R模型)一对一学生学生学号111一对多班级班级姓名1N多对多。姓名姓名课程MN三、两个以上实体型之间的联系若实体型E1,E2,...,En存在联系,对于实体型Ej(j=1,2,...,i-1,i+1,...,n)中的给定实体,最多只和Ei中的一个实体相联系,则我们说Ei与E1,E2,...,Ei-1,Ei+1,...,En之间的联系是一对多的四、单个实体型内的联系五、概念模型的一种表示方法E-R图层次模型:满足以下两个条件的基本层次联系的集合为层次模型1、有且只有一个节点没有双亲结点;2、根以外的其他结点有且只有一个双亲结点。中序遍历子女兄弟链接法;层次序列链接法。网状模型满足条件:允许一个以上结点无双亲;一个节点可以有多于一个的双亲。关系模型(重点):在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成,关系:一个关系对应通常说的是一张表元组:表中的一行即为一个元组属性:表中的一列即为一个属性,给每一个属性起一个名称称为“属性名”。组码:表中的摸个属性组,它可以唯一确定一个元组。域:属性的取值范围分量:元组中的一个属性值关系模式:对关系的描述关系名(属性1,属性2,…………,属性n,)Ex:学生(学号,姓名,年龄,系别,年级)关系模型的数据结构:关系必须是规范化的,满足一定的规范条件。最基本的规范条件:关系的每一个分量必须是一个不可分的数据项,不允许表中有表。关系模型的优缺点:优点一、建立在严格的概念基础上二、概念单一:1、实体和各类联系都用关系来表示;2、对数据的检索结果也是关系。三、关系模型的存取路径对用户透明:1、具有更高的数据独立性,更好的安全保密性;2、简化了程序员的工作和数据库开发建立的工作。缺点一、存取路径会用户透明导致查询效率往往不如关系数据模型二、为提高性能,必须对用户的查询请求进行优化,增加了开发DBMS的难度。数据库系统结构(模式)型:对某一类数据的结构的属性的说明。值:是型的一个具体赋值。模式:数据库逻辑结构和特征的描述,是型(属性)的描述,反映的是数据的结构及其联系,结构是相对稳定的。注:SQLServer中定义模式实际上指定了一个命名空间,在这个空间中可以进一步定义该模式包含的数据库对象,例如基本表、视图、索引等。实例:模式的一个具体值,反映数据库某一时刻的状态,同一模式可以拥有很多的实例,实例随数据库中的数据的更新而变动。二级映象在DBMS内部实现着三个抽象层次的联系和转换:外模式/模式映象;模式/内模式映象数据库系统的组成:硬件平台及数据库;软件;人员。第二章关系数据库域:属性的取值范围笛卡尔积:笛卡尔(Descartes)乘积又叫直积。假设集合A={a,b},集合B={0,1,2},则两个集合的笛卡尔积为{(a,0),(a,1),(a,2),(b,0),(b,1),(b,2)}。可以扩展到多个集合的情况。类似的例子有,如果A表示某学校学生的集合,B表示该学校所有课程的集合,则A与B的笛卡尔积表示所有可能的选课情况。关系:一个关系对应通常说的是一张表候选码:若关系某一属性组的值能唯一的标识一个元组,则称该属性组为候选码全码:在最极端的情况下,关系模式的所有属性组是这个关系模式的候选码,称为全码主码:若一个关系有多个候选码,则选定其中一个为主码。主属性:包含在候选码中的属性叫做主属性。关系模式:关系的描述称为关系模式,表示为:R(U,D,DOM,F)R为关系名,U为组成该关系的属性名的集合,D为属性组U中属性所来自的域,DOM为属性见的映像集合,F为属性间的依赖关系集合。关系数据库:在给定的关系中所有关系的集合,称为关系数据库。关系操作关系模型中常用的关系操作包括查询query操作和插入insert、删除delete、修改update操作两大部分。查询操作包括:选择select、投影project、连接join、除divide、并union、差expect、交intersection、笛卡尔积。其中选择、投影、并、差、笛卡尔积是5种基本操作。其他操作可以用基本操作来定义。SQL结构化查询语言,具有关系代数和关系演算双重特点的语言。关系完整性(重点):关系模型中有三类完整性约束条件:实体完整性、参照完整性、用户定义完整性。实体完整性:若属性(指一个活一组属性)A是基本关系R的主属性,则A不能取空值。实体完整性规则说明:1、实体完整性规则是针对基本关系而言的,一个基本表通常对应现实世界的一个实体集。例如学生关系对应于学生的集合。2、现实世界中的实体是可区分的,即它们具有某种唯一性标识。例如每个学生都是独立的个体,是不一样的。3、相应的,关系模型中以主码作为唯一性标识。4、主码中的属性即主属性不能取空值,如果主属性取空值,就说明存在某个不可标识的实体,即存在不可区分的实体,这与第2点矛盾。参照完整性:若属性(或属性组)F是基本关系R(参照关系)的外码,它与基本关系S(被参照关系)的主码K相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组F上的值必须为:或者取空值(F的每个属性值均为空值)。或者等于S中某个元组的主码值。用户定义完整性:不同的关系数据库根据其应用环境的不同,往往还需要一些特殊的约束条件。它反映了某一具体应用所涉及的数据必须满足的语义要求。关系代数:关系代数运算符:传统的集合运算:⒈并(Union)设关系R和关系S具有相同的目n(即两个关系都有n个属性),且相应的属性取自同一个域,则关系R与关系S的并由属于R或属于S的元组组成。其结果关系仍为n目关系。记作:R∪S={t|t∈R∨t∈S}⒉差(Difference)设关系R和关系S具有相同的目n,且相应的属性取自同一个域,则关系R与关系S的差由属于R而不属于S的所有元组组成。其结果关系仍为n目关系。记作:R-S={t|t∈R∧t∉S}⒊交(IntersectionReferentialintegrity)设关系R和关系S具有相同的目n,且相应的属性取自同一个域,则关系R与关系S的交由既属于R又属于S的元组组成。其结果关系仍为n目关系。记作:R∩S={t|t∈R∧t∈S}⒋广义笛卡尔积(Extendedcartesianproduct)两个分别为n目和m目的关系R和S的广义笛卡尔积是一个(n+m)列的元组的集合。元组的前n列是关系R的一个元组,后m列是关系S的一个元组。若R有k1个元组,S有k2个元组,则关系R和关系S的广义笛卡尔积有k1×k2个元组。专门的关系运算:分量:设关系模式为R(A1,A2,A3,………..,An)。它的一个关系设为R,t∈R表示t是R的一个元组,t[Ai]则表示元组t中属性Ai上的一个分量。选择selection选择又称为限制(restriction)。它是关系R中寻则满足给定条件的诸元组,记做:σF(R)={t|t∈R∧F(t)=”真”}其中F指属性列,R指所在关系表。投影projection关系R上的投影是从R中选择出若干属性列组成新的关系。记做:πA(R)={t[A]|t∈R}连接join连接也称θ连接,它是从两个关系的笛卡尔积中选取属性间满足一定条件的元组。记做:等值连接:θ为=的连接运算称为等值连接。自然连接:一种特殊的等值连接。它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。即若R和S具有相同的属性组B,则自然连接可记为外连接:如果把舍弃的元组也保存在结果关系中,而在其他属性上填空值(Null),这种连接就叫做外连接(OUTERJOIN)除division象集:给定一个集合A到B的映射,且a属于A,b属于B.如果元素a和元素b对应,那么,我们把元素b叫做元素a的象,元素a叫做元素b的原象。所以所有的b构成的集合叫做象集。也就是a在对应法则f作用下产生的b的集合,叫做象集。除运算:R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在X属性上的投影:元组在X上分量值x的象集Yx包含S在Y上的投影的集合。记做:第三章关系数据库标准语言SQL(重点)SQL:StructuredQueryLanguage机构化查询语言,是关系数据库的标准语言,SQL是一个通用的、功能极强的关系数据库语言。SQL特点:SQL集数据查询(dataquery)、数据操纵(datamanipulation)、数据定义(datadefinition)、和数据控制(datacontrol)功能于一体。主要特点:一、综合统一:1、集数据定义语言(DDL),数据操纵语言(DML),数据控制语言(DCL)于一体。2、可以独立完成数据库生命周期的全部活动:定义数据模式,插入数据,建立数据库;对数据库中的数据进行查询和更新;数据库重构和维护;数据库安全性、完整性控制。3、用户数据库投入运行后,可根据需要随时逐步修改模式,不影响数据的运行。4、数据操作符统一。二、过程高度非过程化:1、非关系数据模型的数据操纵语言“面向过程”,必须制定存取路径2、SQL只要提出“做什么”,无须了解存取路径。3、存取路径的选择以及SQL的操作过程由系统自动完成。三、面向集合的操作方式:SQL采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新的对象也可以是元组的集合。四、以同一种语法结构提供多种使用方式:SQL既是独立的语言,也是嵌入式的语言。能够独立的用于联机交互使用,同时也可嵌入到高级语言程序中。五、语言简洁,易学易用:核心由9个动词组成:SQL功能动词数据查询Select(查找)数据定义Create(创建),Drop(删除表的结构),Alter(修改)数据操纵Insert(插入),Update(更新,校正),Delete(删除表中元组)数据控制Grant(授权),Revoke(撤回,废除)SQL的三级模式:基本表:本身独立存在的表;SQL中一个关系对应一个基本表;一个(或多个)基本表对应一个存储文件;一个表可以带若干索引。索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。存储文件:数据库的存储文件组成了关系数据库的内模式。存储文件的物理结构是任意的,对用户是透明的。视图:由一个或者几个基本表导出的表;它本身不独立存储在数据库中,即数据库中只存放视图的定义而不存放视图对应的数据。这些数据仍存放于导出视图的基本表中。因此,视图是一个虚表。试图在概念上等同于基本表,用户可以在视图上再定义视图。数据定义:SQL数据定义功能:包括模式定义、表定义、视图和索引的定义。SQLServer中定义模式实际上指定了一个命名空间,在这个空间中可以进一步定义该模式包含的数据库对象,例如基本表、视图、索引等。模式的定义和删除:定义:CREATESCHEMA<模式名>AUTHORIZATION<用户名>;CREATESCHEMAAUTHORIZATION<用户名>;CREATESCHEMA<模式名>AUTHORIZATION<用户名>[<表定义子句>|<视图定义子句>|<授权定义子句>]EX1:CREATESCHEMATESTAUTHORIZATIONZHANGCREATETABLETAB1(COL1SMALLINE,COL2INT,COL3CHAR(20),COL4NUMERIC(10,3),COL5DECIMAL(5,2));删除:DROPSCHEMA<模式名><CASCADE|RESTRICT>其中CASCADE(级联)和RESTRICT(限制)两者必须其一。选择了CASCADE(级联),表示在删除模式的同时把该模式中所有的数据库对象全部一起删除。选择了RESTRICT(限制),表示如果该模式中已经定义了下属的数据库对象(如表、视图等),则拒接删除语句的执行,只有当该模式中没有任何下属的对象时才能执行RESTRICT语句。EX2:DROPSCHEMAZHANGCASCADE;(紧接EX1)删除模式ZHANG。同时,该模式中已经定义的表TAB1也被删除。基本表的定义、删除和修改:一、定义基本表:CREATETABLE<表名>(<列名><数据类型>[<列级完整性约束条件>][,<列名><数据类型>[<列级完整性约束条件>]]…[,<表级完整性约束条件>])EX3:CREATETABLEStudent(SnoCHAR(9)PRIMARYKEY,/*列级完整性约束条件,Sno为主码。*/SnameCHAR(20)UNIQUE,/*Sname取唯一值*/SsexCHAR(2),SageSMALLINT,SdeptCHAR(20));EX4:CREATETABLECourse(CnoCHAR(4)PRIMARYKEY,CnameCHAR(40),CpnoCHAR(4),CcreditSMALLINT,FOREIGNKEY(Cpno)REFERENCESCourse(Cno)/*表级完整性约束条件,Cpno是外码,被参照表是Course,被参照列是Cno*/);EX5:CREATETABLESC(SnoCHAR(9),CnoCHAR(4),GradeSMALLINT,PRIMARYKEY(Sno,Cno),/*主码由两个属性构成,必须作为表级完整性进行定义*/FOREIGNKEY(Sno)REFERENCESStudent(Sno),/*表级完整性约束条件,Sno是外码,被参照表是Student*/FOREIGNKEY(Cno)REFERENCESCourse(Cno)/*表级完整性约束条件,Cno是外码,被参照表是Course*/);注:Reference引用。二、数据类型:SQL中的域的概念用数据类型来实现。定义表的属性的时候需要指明数据类型集长度数据的选取通过取值范围和要做哪些运算来确定数据类型。数据类型含义CHAR(n)长度为n的定长字符串VARCHAR(n)最大长度为n的变长字符串INT长整数(也可以写作INTEGER)SMALLINT短整数NUMERIC(p,d)定点数,由p位数字(不包括符号、小数点)组成,小数后面有d位数字REAL取决于机器精度的浮点数DoublePrecision取决于机器精度的双精度浮点数FLOAT(n)浮点数,精度至少为n位数字DATE日期,包含年、月、日,格式为YYYY-MM-DDTIME时间,包含一日的时、分、秒,格式为HH:MM:SS三、模式和表:每一个基本表都属于一个模式,一个模式包含多个基本表。基本表定义他所属的模式的方法有三种:1、在表名中明显的给出模式名;CREATETABLE“S-T”.Student(………);2、在创建模式语句中同时创建表,例如EX1;3、设置所属的模式,这样在创建表时表名不必给出模式名。四、修改基本表: 格式:ALTERTABLE<表名>[ADD<新列名><数据类型>[完整性约束条件]][DROP<完整性约束条件>][ALTERCOLUMN<列名><数据类型>]注:修改有三种模式,即添加、删除完整性约束条件和替换,分别对应以上三种模块。EX6:ALTERTABLEStudentALTERCOLUMNSageINT将年龄的数据类型由字符型(假设原来的数据类型是字

温馨提示

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

评论

0/150

提交评论