- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
sql 作业答案sql 作业答案
现有学生表(学号,姓名,性别,年龄,入学年份,籍贯,手机号码,系号,班长学号),学号是主码,系号和班长学号是外部码,手机号码必须唯一,学生的年龄不得小于10岁和大于50岁,性别必须是男或者女。
系表(系号,系名,系主任),其中系号是主码,系名不能有重复的。
选课表(学号,课程号,成绩),(学号,课程号)是主码,学号和课程号是外部码,成绩不能小于0分和大于100分
课程表(课程号,课程名,先修课,学分),课程号是主码,课程名必须唯一,学分必须大于0小于5。
学分计算表(最低成绩,最高成绩,计算比率)。最低成绩和最高成绩都必须大于0小于100,同时最低成绩不能大于最高成绩。
试完成以下工作:
create table 系表
(系号char(4) PRIMARY KEY,
系名varchar(50) UNIQUE,
系主任varchar(10))
create table 学生表
(学号 char(10) PRIMARY KEY,
姓名 nvarchar(10),
性别 char(2) CHECK(性别 IN (男,女)) ,
年龄 int CHECK(年龄 between 10 and 50 ) ,
入学年份 datetime,
籍贯 nvarchar(100),
手机号码 varchar(20) UNIQUE,
系号 char(4),
班长学号 char(10),
FOREIGN KEY(班长学号)REFERENCES 学生表(学号),
FOREIGN KEY(系号)REFERENCES 系表(系号)
)
create table 课程表
(课程号 char(10) PRIMARY KEY,
课程名 nvarchar(100) UNIQUE,
先修课 char(10) FOREIGN KEY REFERENCES 课程表(课程号),
学分 int CONSTRAINT CK_课程表_学分 CHECK(学分 between 0 and 5)
)
create table 选课表
(学号 char(10),
课程号 char(10),
成绩 int CHECK(成绩 between 0 and 100 ) default 0,
PRIMARY KEY(学号,课程号),
FOREIGN KEY(学号)REFERENCES 学生表(学号),
FOREIGN KEY(课程号)REFERENCES 课程表(课程号))
create table 学分计算表
(最低成绩 real CHECK(最低成绩 between 0 and 100),
最高成绩 real CHECK(最高成绩 between 0 and 100),
计算比率 real ,
CHECK(最高成绩= 最低成绩)
)
2. 在学生表中插入学号为26,姓名为李四,性别为女,年龄为20,入学年份为2008,籍贯为广东,手机号码为10010001000,班长学号为10 的一条记录。
insert into 学生表
values(26,李四,女,20,2008,广东,10010001000, NULL,10)
insert into 学生表(学号,姓名,性别,年龄,入学年份,籍贯,手机号码,班长学号)
values(26,李四,女,20,2008,广东,10010001000, 10)
3. 删除上述记录
delete from 学生表
where 学号=26
4. 将学生表中的姓名字段的长度改为6个汉字
alter table 学生表ALTER COLUMN 姓名 nvarchar(6)
5. 为学生表增加一个字段电子邮件,20个字符。
ALTER TABLE 学生表
ADD 电子邮件 varchar(200) NULL
6. 对课程表的学分字段上的完整性约束进行修改,使其在0到6之间取值。
ALTER TABLE 课程表
DROP CONSTRAINT CK_课程表_学分
ALTER TABLE 课程表
ADD
CONSTRAINT CK_课程表_学分 CHECK(学分 between 0 and 6)
7. 为学生表在学号列上创建cluster索引。
CREATE CLUSTERED
INDEX IX_学号ON 学生表(学号)
8. 创建一个视图,计算每门课的最高分。
CREATE VIEW v_每门课的最高分(课程号,每门课的最高分)
AS
SELECT 课程号,MAX(成绩)
FROM 选课表
group by 课程号
CREATE VIEW v_每门课的最高分
AS
SELECT 课程号,MAX(成绩) as 每门课的最高分
FROM 选课表
group by 课程号
9. 将6系所有学生的年龄,改为7系学生的平均年龄。
update 学
您可能关注的文档
- ROHS有害物质限制指令管理体系管理重点ROHS有害物质限制指令管理体系管理重点.pdf
- ROHS检测方法及标准解析ROHS检测方法及标准解析.ppt
- Rosenau—KdV方程的Crank-Nicolson守恒差分格式Rosenau—KdV方程的Crank-Nicolson守恒差分格式.pdf
- roofmate 防水屋顶roofmate 防水屋顶.pdf
- Royer线路原理分析及参数计算Royer线路原理分析及参数计算.pdf
- RRR_UPRR_RPUR球面转动并联机构运动学分析_张帆RRR_UPRR_RPUR球面转动并联机构运动学分析_张帆.pdf
- RS-485串行通讯大全RS-485串行通讯大全.doc
- RS485控制型微型步进电机驱动器(标准版)(Modbus RTU,2.5A)RS485控制型微型步进电机驱动器(标准版)(Modbus RTU,2.5A).pdf
- RT7257中文资料RT7257中文资料.pdf
- RS-232串口的线序RS-232串口的线序.doc
文档评论(0)