数据库实验前几个解答骄阳教育

上传人:re****.1 文档编号:506752645 上传时间:2023-06-20 格式:DOC 页数:11 大小:51.50KB
返回 下载 相关 举报
数据库实验前几个解答骄阳教育_第1页
第1页 / 共11页
数据库实验前几个解答骄阳教育_第2页
第2页 / 共11页
数据库实验前几个解答骄阳教育_第3页
第3页 / 共11页
数据库实验前几个解答骄阳教育_第4页
第4页 / 共11页
数据库实验前几个解答骄阳教育_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《数据库实验前几个解答骄阳教育》由会员分享,可在线阅读,更多相关《数据库实验前几个解答骄阳教育(11页珍藏版)》请在金锄头文库上搜索。

1、上机实验一数据库的管理-创建数据库CREATE DATABASE teachingDataAON PRIMARY(name=teachingDataA,filename=e:teachingDataA.mdf)LOG ON(name=teachingDataA_log,filename=e:teachingDataA_log.ldf)-删除数据库-DROP DATABASE teachingDataA实验二 数据表的管理(一) USE teachingDataA-自定义数据类型myIDCREATE TYPE myID FROM char(6) NOT NULL-自定义数据类型myName1CR

2、EATE TYPE myName1 FROM nvarchar(10) NOT NULL-自定义数据类型myName2CREATE TYPE myName2 FROM char(20) NOT NULL-自定义数据类型myDeptCREATE TYPE myDept FROM char(50)-创建数据表TInfoCREATE TABLE TInfo(TID myID PRIMARY KEY,TName myName1,Sex char(2) DEFAULT 男 CHECK(sex=男 or sex=女),Dept myDept,Birthday smalldatetime,Title var

3、char(10),homeTel nchar(8),MPhone nchar(11)-或/*CREATE TABLE TInfo(TID myID PRIMARY KEY,TName myName1,Sex char(2) DEFAULT 男,Dept myDept,Birthday smalldatetime,Title varchar(10),homeTel nchar(8),MPhone nchar(11),CONSTRAINT CK_SEX CHECK(sex=男 or sex=女)*/-创建学生表SInfoCREATE TABLE SInfo(SID myID PRIMARY KEY

4、,SName myName1,Sex char(2) DEFAULT 男 CHECK(sex=男 or sex=女),Birthday smalldatetime,Dept myDept,major varchar(30),Class nchar(18),IDCardNo char(18)-创建课程表CInfoCREATE TABLE CInfo(CID myID PRIMARY KEY,CName myName2,CCredit tinyint,CProperty varchar(10)-创建选修表ScoreInfoCREATE TABLE ScoreInfo(CID myID FOREIG

5、N KEY REFERENCES CInfo(CID),SID myID FOREIGN KEY REFERENCES SInfo(SID),TID myID,Score numeric(3,1),Schyear char(9),term char(1),FOREIGN KEY(TID) REFERENCES TInfo(TID),PRIMARY KEY(CID,SID)-修改表SInfo表的表结构,设置IDCardNo值为唯一的。ALTER TABLE SInfoADD CONSTRAINT UQ_Card UNIQUE(IDCardNo)-修改表ScoreInfo的表结构,设置term值只

6、能为1或2,默认值为1。ALTER TABLE ScoreInfoADD CONSTRAINT CK_term CHECK(term=1 OR term=2)ALTER TABLE ScoreInfoADD CONSTRAINT DF_term DEFAULT(1) FOR term-在表SInfo中添加一字段EntrData(即入学日期),要求该输入范围在1900-1-1至2079-12-31。之间ALTER TABLE SInfoADD EntrDate SmallDateTime-修改表TInfo的表结构,要求删除其中的Birthday字段。ALTER TABLE TInfoDROP C

7、OLUMN Birthday-修改表TInfo表的表结构,其中的字段homeTel只允许为数字,且第1位数不能为0。ALTER TABLE TInfoADD CONSTRAINT CK_ThomeTel CHECK(homeTel like 1-90-90-90-90-90-90-90-9)-修改表TInfo的表结构,增加Birthday字段。ALTER TABLE TInfoADD Birthday datetime-向教师表插入数据INSERT INTO TInfo(TID, TName, sex, Dept, Birthday, Title, homeTel)VALUES(101001,

8、施华,男,1962-5-1,教授,43562634)-利用T-SQL命令语句在表TInfo中输入数据,当TID大于101000且小于101999时,其所在部门Dept为信息管理,当TID大于102000且小于102999时,其所在部门Dept为电子商务。UPDATE TInfoSET Dept=信息管理 where TID=101001 and TID=102001 and TID=102999实验三 数据表的管理(二) -利用T-SQL命令语句修改数据表SInfo,取消对性别sex默认字段值的设置。ALTER TABLE SInfoDROP CONSTRAINT DF_SInfo_Sex_0

9、519C6AF-利用T-SQL命令语句移除表ScoreInfo的TID外键引用,移除表TInfo的主键设置。ALTER TABLE ScoreInfoDROP CONSTRAINT FK_ScoreInfo_TID_0CBAE877-外键ALTER TABLE TInfoDROP CONSTRAINT PK_TInfo_00551192-主键-利用T-SQL命令语句更改表SInfo中的字段SID名为SNO。EXEC sp_rename SInfo.SID,SNO,COLUMN-利用T-SQL命令为表TInfo按教师工号(TID)升序建立一个聚集索引clu_tid。CREATE CLUSTERE

10、D INDEX clu_tid ON TInfo(TID ASC)-删除索引clu_tidDROP INDEX TInfo.clu_tid-利用T-SQL命令为表TInfo中的Dept和TName两个字段创建一个简单的复合索引ix_dptnm。CREATE NONCLUSTERED INDEX ix_dptnm ON TInfo(Dept,TName)-利用T-SQL命令为表TInfo中的HomeTel字段创建一个唯一索引unq_hometel。CREATE UNIQUE INDEX unq_hometel ON TInfo(HomeTel)-利用T-SQL命令为表TInfo中的TName字段

11、创建降序的非聚集索引。CREATE NONCLUSTERED INDEX ix_Tname ON TInfo(TName DESC)-禁用表TInfo的索引clu_tid。ALTER INDEX clu_tid ON TInfoDISABLE-启用索引表TInfo的索引clu_tid。ALTER INDEX clu_tid ON TInfoREBUILD-删除已经建立的复合索引ix_dptnm。DROP INDEX ix_dptnm ON TInfo实验四 数据的查询-(一)基本查询-1、查询TchInfo表中教师的工号TID、姓名TName和职称Title,要求查询结果列将TID、TName

12、和Title字段分别显示为工号、姓名和职称。USE teachingDataSELECT TID 工号,TName 姓名,Title 职称FROM TchInfo-2、查询TchInfo表中教师的全部信息。SELECT *FROM TchInfo-3、查询TchInfo表前6行数据。SELECT TOP 6 *FROM TchInfo-4、查询TchInfo表中前50%的数据。SELECT TOP 50 PERCENT *FROM TchInfo-(二)条件查询-1、在表StuInfo中查询2009级、物电学院的学生姓名、性别和所在系。SELECT Sname,Sex,DeptFROM Stu

13、InfoWHERE Grade=2009 AND Dept=物电学院-2、查询StuInfo中出生年月介于1989年9月1日到1990年8月31日的学生信息。SELECT *FROM StuInfoWHERE Birthday BETWEEN 1989-9-1 AND 1990-8-31-3、查询职称为副教授和教授的教师的信息。SELECT *FROM TchInfoWHERE Title = 教授 OR Title=副教授-或SELECT *FROM TchInfoWHERE Title IN (教授,副教授)-4、在表StuInfo中查询所有学号为“2010”开头学生的姓名SName和专业

14、Major。SELECT SName, MajorFROM StuInfoWHERE LEFT(SID,4)=2010-5、在表StuInfo中查询所有学号的第5,6位为“10”的学生的姓名SName和专业Major。SELECT SName, MajorFROM StuInfoWHERE SUBSTRING(SID,5,2)=10-(三)排序与分组查询-1、查询表ScoreInfo中选修了“1101”课程的学生的学号和学生成绩,并按成绩进行降序排列。SELECT SID, ScoreFROM ScoreInfoWHERE CID=1101ORDER BY Score DESC-2、通过查询表TchInfo查询各院系的讲师数。SELECT Dept, COUNT(*) 讲师人数FROM TchInfoWHERE Title=讲师GROUP BY Dept-3、通过表scoreinfo查询各门课程的平均成绩,要求显示列名为:课程代码和平均成绩。SELECT CID as 课程代码, AVG(Score) as 平均成绩FROM ScoreInfoGROUP BY CID- (四)联结查询-查询选修了数据库原理与应用 课程且成绩在70分以上的所有学生的姓名、成绩。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号