将信息系学生的计算机文化学,大婶们 来个人给做道题吧

建表的语句也要

给定的一个数据库student,有三个表student(学生基本信息表),course(课程基本信息表),sc(学生选课表),表的结构如下:

Student表:

Sno

char

(7)

, --学号

Sname

char (10)

, --姓名

Ssex

char (2)

,

--性别

Sage

tinyint

,

--年龄Sdept

char (20),

--系别

Sno为主键,sname姓名非空,

Sage取值约束 15-45

Sdept默认值为”计算机系”

Course表:

Cno

char (10), --课程号

Cname

char (20),--课程名

Ccredit

tinyint

, --学分

Term

tinyint,--学期号cno为主键,cname姓名 非空,

sc表

Sno char (7),--学号

Cno char (10),--课程号Grade tinyint,--分数

(Sno,cno)主键

Sno为外键

来自student的主键sno

Cno为外键

来自course的主键cno

要求:

1.修改表结构 (30分)

(1)给student表性别字段ssex添加取值约束ck_sex,取值为‘男’或‘女’;

(2)给student表加备注字段(remark

varchar(10))

可为空

(3)删除course表中的term字段

(4)创建teacher表

结构如下:

Tno

char (6),

--职工号

Tname

nchar (10),--教师姓名

Tbirth

date,

--出生年月

Tzc

varchar (10)

--职称

其中tno为主键tname不能为空

(5)创建表tc(教授课程表)

Tno

char (6)

,--职工号

cno

char](10)

,--课程号

term

varchar(30),--学期

(tno,cno,term)共同做主键

(6)向两个表中插入数据

Teacher

Tno

tname

tbirth

tzc

000001刘启芬

1970-01-01

副教授

000002郑阿奇

1964-03-28

教授

000003顾运华

1980-02-01

讲师

000004叶霞

1974-10-01

讲师

Tc表

Tno

cno

term

000001

c01

1

000001

c02

1

000002

c03

1

000002

c06

1

000003

c05

1

000004

c04

1

2.查询语句(30分)

(1)查询所有未选修课程的学生的姓名

(2)查询高等数学的平均成绩

(3)按系别统计每个系的男女生人数

(4)查找选修课程超过2门或两门以上课并且成绩都在80分以上的学生的学号

(5)将平均分高于80分得学生,在student表中的备注字段remark里写上“优秀

(6)将信息系学生的“计算机文化学”课程的考试成绩加5分

3.创建视图(20分)

(1)要求查询选修课程的学生的姓名和总学分数,成绩大于60分才获该课程的学分,并按学分从高到低排序

(2)要求查询term为1的学期开课教师的姓名和课程名

4.数据控制(20分)

(1)建立一个SQLserver身份验证的登录名,登录名为log_stu,密码为“12345”

为student数据库定义一个名为log_stu的用户,对应的登录名为log_stu

(2)为用户log_sql授予对sc表的删除权限和插入权限

(3)为log_sql用户赋予创建表和视图的权限

(4)建立一个新的用户定义的角色,角色名为newadmins

将sql_stu用户添加到newadmins中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值