《大型数据库资料打印.docx》由会员分享,可在线阅读,更多相关《大型数据库资料打印.docx(10页珍藏版)》请在优知文库上搜索。
1、【例】创立一个students数据库,该数据库有1个10MB1个20MB的数据文件和2个IoMB的日志文件。数据文件的逻辑名称为:Studentl和student2;物理名称为:StudentLmdf和student2.ndf;主文件是student由PRIMARY指定;两个数据文件的最大尺寸分别为无限大和IOoMB,增长速度分别为10%和1MB。事务日志文件逻辑名称为StIldelItlOgl和StUdeIltlOg2,物理文件名为StlldentlOgI.Idf和StiIdelltlog2.ldf,最大尺寸分别为50MB,增长速度分别为IMBe数据文件存放在D:data下,日志文件存放在E
2、:data。createdatabasestudentsONPRIMARY(NAME=tSTUDENTl1,FILENAME=DAdataVSTUDENTLMDFt,SIZE=10MB,Maxsize=Unlimited,FILEGROVVTH=10%),(NAME=SrUDENT2FILENAME=,DdataSTUDENT2.NDF,SIZE=20MB,Maxsize=100MB,Filegrovvth=IMB)logON(NAME=,STUDENTLOG,FILENAMETeAdataVSTUDENTLOGLLDF,SIZE=10MB,MAXSIZE=50MB,Filegrovvth=I
3、MB),(NAME=tSTUDENTLOGZ,FlLENAME=e:dataSTUDENTLOG2.LDF,SIZE=10MB,MAXSIZE=50MB,Filegrowth=IMB)go工程实训创立名为“goods的数据库,要求:1、主数据文件名为goods_data.MDF,存放在e:目录下,初始值大小为5MB,增长方式为按照10%的比例增长;2、次数据文件名为goods_datal.NDF和goods_data2.NDF,都存放在D:目录下,初始大小为IMB,增长方式为按2MB的增量增长,文件组为aa;3、日志文件名goodsog.LDF,都存放在E:目录下,初始大小为3MB,增长方式为
4、按照IMB的增量增长。要求分别使用企业管理器和Transact-SQL语句,并记录完整语句。4、对上述数据库分别进展查看、别离、附加、脱机、联机、收缩、删除等操作。CREATEDATABASEGOODSONPRIMARY(NAME=,goods-data.MDF,FlLENAME=C:goods_data.MDF、SIZE=5,FILEGROWTH=10%),FILEGROUPaa(NAME=,good-data2.NDE,FILENAME=D:good_data2.NDF,SIZE=I,FILEGROVVTH=2),(NAME=,good-datal.NDFFILENAME=D:good_d
5、atal.NDF,SIZE=I,FILEGROWTH=2)1.OGON(NAME=,goodsJog.LDF,FlLENAME=tEAgoodsJogXDF,SIZE=3,Filegrovvth=I)在数据库XSCj中的表“学生基本信息表中定义学生性别列只能是“男或女,如果用户输入其它值,系统均提示用户输入无效。usexscjALTERTABLE学生基本信息表addCoNSTRAlNTck_studJnfoCHECK(性别=N男or性别二N女)/*删除约束名为aCK-StudJnfo*的约束的语句是:*/ALTERTABLE学生基本信息表DROPCONSTRAlNTcMtudJnfo例:在Em
6、ployees表中给EmployeeID字段添加Check约束,使EmpIoyeeII)100ALTERTABLEEmployeesWITHNOCHECKADDCONSTRAINTID_checkCHECK(EmployeeID100)WITHNOCHECK防止根据现有记录验证该约束default约束的创立、查看、删除/*为表StudJnfo创立一个约束名为de-gender*的DEFAULT约束,要求性别(gender)的默认值为“男。其TfQL语句*/ALTERTABLEstudJnfoADDCoNSTRAINTde_genderDEFAULTN男FORgender/*删除DEFAULT约
7、束的语句:*/ALTERTABLEstudJnfoDROPCONSTRAINTde,genderPrimarykey约束的创立、查看、删除/*为表ShKLiIIfo中的学号(StluLid)定义主键。其TfQL语句如下:*/ALTERTABLEstudJnfoADDCONSTRA1NTPK_XHPRIMARYKEYCLUSTERED(StudJd)*删除该主键的TSQL语句*/ALTERTABLEstudJnfoDROPCONSTRAINTPK_XH例:在EmPloyeeS表中,给字段Name增加PRlMARYKEY约束,并设为非聚集索引(默认主键列为聚集索引)ALTERTABLEEmploy
8、eesADDCONSTRAINTPK.NamePRIMARYKEYNONCLUSTERED(Name)外键约束的创立、查看、删除/*为学生成绩表StlKLgrade与课程信息表IeSSOli_info创立外键约束,其TSQL语句如下:*/-为IessonJnfo表中的CourseJd列建设主键约束ALTERTABLEIessonJnfbADDCONSTRAlNTpk_courseJdPRIMARYKEYCLUSTERED(course.id)-为stud_grade表中的CourseJd列建设外键约束ALTERTABLEstudqradeADDCONSTRAINTfk_course_idFOR
9、EIGNKEY(CourseJd)REFERENCESlesson_info(course_id)UNIQUE约束的创立、查看、删除/*针对学生基本信息表的“号码”创立UNIQUE约束。具体语句如下:*/ALTERTABLEstudJnfoADDCONSTRAINTUN.telcodeUNIQUE(telcode)*删除UNlQUE约束的TfQL语句如下:*/ALTERTABLEstudJnfoDROPCONSTRAINTUN.telcode查询少数民族学生的基本情况。USEXSCJSELECT*FROM学生基本信息表WHERE族别。,汉族4、 ToP关键字的使用用于提取前几条,或者前百分比数
10、据。语法:ToP(EXPRESSIoN)PERCENT例:查询前三名同学的所有信息SELECTTOP(3)*FROMstudent5、DISTINCT关键字的使用例:查询所有学生所在的城市,要求没有重复信息SELECTDISTINCTCityFROMstudent例:查询所有学生的姓名、学号以及出生年并按姓名升序和出生年降序排列SELECTName,Numb,YearFROMstudentORDERBYName,YearDESC例查询所有男生学号、姓名和年龄,并按出生日期进展排列(升序)的语句:USEstudentGOSELECTstud_id学号,name姓名,year(getdate()-
11、year(birthday)年龄,birthday出生日期FROMStudJnfoWHEREgender=N男ORDERBYbirthdayASC例、统计计算机工程系各个专业的学生的平均入学成绩的语句:USEstudentGOSELECTsubstring(stud_id,5,2)专业编号,avg(mark)平均入学成绩FROMstudJnfbWHERESUbString(SnKUd,3,2)=0GROUPBYsubstring(studJd,5,2)-1、在学生基本信息表中查询所有姓,王,的学生的学号、姓名、家庭住址。select学号,姓名,家庭住址from学生基本信息表where姓名lik
12、e王-2、查询所有出生日期在1985-03-10室W986-03-l(之间学生的学号和姓名。select学号,姓名,出生日期from学生基本信息表where出生日期between03/10/1985and03/10/1986-3、查询课程编号为,007号课程成绩高于80分的学生学号,姓名,课程编号,成绩。selecta.学号,a.姓名,b.课程编号,b.成绩from学生基本信息表a,成绩表bWherea.学号=b.学号and课程编号=002,and成绩80-4、从学生基本信息表中查找所有新疆学生的记录。select*from学生基本信息表Where家庭住址like,%新疆,-5、从学生基本信息
13、表中检索学号末位数字是奇数的学生。select*from学生基本信息表whereright(rtrim(学号),l)%20-6、查询学生的学号,姓名,课程编号,成绩,并按成绩降序、姓名升序排列selecta.学号,a.姓名b课程编号,b.成绩from学生基本信息表a,成绩表bwherea.学号=b.学号orderby成绩desc,姓名-7、统计各民族男女生的学生总数,输出结果包含:性别、族别、人数。select性别,族别,count(*)as人数from学生基本信息表groupby族别,性别-8、在成绩表中统计每个学生的学号,平均成绩及总成绩。select学号,avg(成绩)平均成绩,sum(
14、成绩)总成绩from成绩表groupby学号-9、查询总成绩小于500分的学生学号、姓名、总成绩及所在班级selecta.学号,a.姓名,c.班级名称,sum(成绩)总成绩from学生基本信息表a,成绩表b,班级表Cwherea.学号=b.学号anda.班级编号=c.班级编号groupbya.学号,a.姓名,c.班级名称havingSUm(成绩)500-10、查询C语言程序设计课程成绩大于等于60分的学生姓名、课程名称及成绩。selecta.姓名,b.成绩C课程名称from学生基本信息表a,成绩表b,课程信息表Cwherea.学号=b.学号andb.课程编号=c.课程编号andc.课程名称=C
15、语言程序设计,andb.成绩=60-11、列出成绩表中各门课程的学生学号、课程编号和成绩以及该门课程的平均分、最高分和最低分。select学号,成绩,课程编号from成绩表orderby课程编号computeavg(成绩),max(成绩),min(成绩)by课程编号-12、列出C语言程序设计课程成绩高于该门课程平均分的学生信息。selecta.*from学生基本信息表a,成绩表b,课程信息表Cwherea.学号=b.学号andb.课程编号二c.课程编号andc.课程名称=C语言程序设计andb成绩(selectavg(成绩)from成绩表a,课程信息表bwherea.课程编号二b.课程编号andb.课程名称=C语言程序设计)-13、查询选修了课程名称为C语言程序设计课程的学生基本信息,select*from学生基本信息表where学号in(SeIeCta.学