创建Student Course SC表

student 

create table student

(

sno char(9)     primary key,

sname char(20)    not null,

Ssex char(20)    check( Ssex in('','')),

Sage smallint    check(Sage between 12 and 40),

Sdept char(20)

)   

insert into student values('200215121','李勇','',20,'CS')

insert into student values('200215122','刘晨','',19,'CS')

insert into student values('200215123','王敏','',18,'MA')

insert into student values('200215125','张立','',19,'IS')

 

 

course

create table course

(

 cno char(10) ,    --primary key

cname char(20),

Cpno char(10),

Ccredit smallint,

constraint cPK primary key(cno),

 constraint cFK foreign key(Cpno) references course(cno)

)  

insert into course values('1','数据库',null,4)

insert into course values('2','数学',null,2)

insert into course values('3','信息系统',null,4)

insert into course values('4','操作系统',null,3)

insert into course values('5','数据结构',null,4)

insert into course values('6','数据处理',null,2)

insert into course values('7','PASCAL语言',null,4)

update course set cpno='5' where cno='1'

update course set cpno='1' where cno='3'

update course set cpno='6' where cno='4'

update course set cpno='7' where cno='5'

update course set cpno='6'where cno='7'

select * from course

               

sc 表  完整约束命名子 句----约束名称不能 重复.note

create table sc

(

sno char(10) not null,

cno char(4) not null,

grade smallint check(grade>=and grade<=100),

constraint sPK primary key(sno,cno),

constraint sFK foreign key(sno) references student(sno) on delete cascade  

                                                        on update cascade,

constraint sFK foreign key(cno) references course(cno) on delete no action

                                                      on update  cascade

)      

 

sc 

create table sc

(

sno char(9) not null,

cno char(10) not null,

grade smallint check(grade>=and grade<=100),

constraint sPK primary key(sno,cno),

constraint sFK1 foreign key(sno) references student(sno) on delete cascad  

                                                        on update cascade,

constraint sFK2 foreign key(cno) references course(cno) on delete no action

                                                       on update  cascade

)      

sc表.note


 

create table sc

(  sno char(9),

   cno char(10),

   grade smallint,

primary key(sno, cno),

foreign key(sno) references student(sno),

foreign key(cno) references course(cno)

)

 

  • 5
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
数据库系统概论Sql练习studentsccourse 数据库系统概论 数据库系统概论Sql 练习 练习student、 、sc、 、course。 。 先创建⼀个数据库 create database sql_test; //创建名为sql_test的数据库 创建三张studentsccourse (1)student CREATE TABLE `student` ( `Sno` char(20) NOT NULL, `Sname` char(20) DEFAULT NULL, `Ssex` char(2) DEFAULT NULL, `Sage` smallint DEFAULT NULL, `Sdept` char(20) DEFAULT NULL, PRIMARY KEY (`Sno`), UNIQUE KEY `Sname` (`Sname`) ); //直接复制即可 (2)course CREATE TABLE `course` ( `Cno` char(4) NOT NULL, `Cname` char(40) NOT NULL, `Cpno` char(4) DEFAULT NULL, `Ccredit` smallint DEFAULT NULL, PRIMARY KEY (`Cno`), KEY `Cpno` (`Cpno`), CONSTRAINT `course_ibfk_1` FOREIGN KEY (`Cpno`) REFERENCES `course` (`Cno`) ); (3)sc CREATE TABLE `sc` ( `Sno` char(20) NOT NULL, `Cno` char(4) NOT NULL, `Grade` smallint DEFAULT NULL, PRIMARY KEY (`Sno`,`Cno`), KEY `Cno` (`Cno`), CONSTRAINT `sc_ibfk_1` FOREIGN KEY (`Sno`) REFERENCES `student` (`Sno`), CONSTRAINT `sc_ibfk_2` FOREIGN KEY (`Cno`) REFERENCES `course` (`Cno`) ); 插⼊数据 (1)student INSERT INTO `student` VALUES ('201215121', '李勇', '男', 20, 'CS'); INSERT INTO `student` VALUES ('201215122', '刘晨', '⼥', 19, 'CS'); INSERT INTO `student` VALUES ('201215123', '王敏', '⼥', 19, 'MA'); INSERT INTO `student` VALUES ('201215125', '张⽴', '男', 19, 'IS'); (2)course insert into COURSE(Cno,Cname)values('1','数据库'); insert into COURSE(Cno,Cname)values('2','数学'); insert into COURSE(Cno,Cname)values('3','信息系统'); insert into COURSE(Cno,Cname)values('4','操作系统'); insert into COURSE(Cno,Cname)values('5','数据结构'); insert into COURSE(Cno,Cname)values('6','数据处理'); insert into COURSE(Cno,Cname)values('7','PASCAL语⾔'); //先插⼊第⼀段,因为参照完整性规则此含有student的外键不能⼀次性插⼊ update COURSE set Cpno='5',Ccredit = 4 where Cno = '1'; update COURSE set Cpno='4',Ccredit = 2 where Cno = '2'; update COURSE set Cpno='1',Ccredit = 4 where Cno = '3'; update COURSE set Cpno='6',Ccredit = 3 where Cno = '4'; update COURSE set Cpno='7',Ccredit = 4 where Cno = '5'; update COURSE set Cpno='5',Ccredit = 2 where Cno = '6'; update COURSE set Cpno=
交互式SQL的使用 环境:WINDOWS,Microsoft SQL Server 实验要求: 1,创建Student数据库,包括Students,Courses,SC结构如下: Students(SNO,SNAME,SEX,BDATE,HEIGHT,DEPARTMENT) Courses(CNO,CNAME,LHOUR,CREDIT,SEMESTER) SC(SNO,CNO,GRADE) (注:下划线示主键,斜体示外键),并插入一定数据。 2.完成如下的查询要求及更新的要求。 (1)查询身高大于1.80m的男生的学号和姓名; (2)查询计算机系秋季所开课程的课程号和学分数; (3)查询选修计算机系秋季所开课程的男生的姓名、课程号、学分数、成绩; (4)查询至少选修一门电机系课程的女生的姓名(假设电机系课程的课程号以EE开头); (5)查询每位学生已选修课程的门数和总平均成绩; (6)查询每门课程选课的学生人数,最高成绩,最低成绩和平均成绩; (7)查询所有课程的成绩都在80分以上的学生的姓名、学号、且按学号升序排列; (8)查询缺成绩的学生的姓名,缺成绩的课程号及其学分数; (9)查询有一门以上(含一门)三个学分以上课程的成绩低于70分的学生的姓名; (10)查询1984年~1986年出生的学生的姓名,总平均成绩及已修学分数。 (11) 在STUDENTSC关系中,删去SNO以’01’开关的所有记录。 (12)在STUDENT关系中增加以下记录: (13)将课程CS-221的学分数增为3,讲课时数增为60 3.补充题: (1) 统计各系的男生和女生的人数。 (2) 列出学习过‘编译原理’,‘数据库’或‘体系结构’课程,且这些课程的成绩之一在90分以上的学生的名字。 (3) 列出未修选‘电子技术’课程,但选修了‘数字电路’或‘数字逻辑’课程的学生数。 (4) 按课程排序列出所有学生的成绩,尚无学生选修的课程,也需要列出,相关的学生成绩用NULL示。 (5) 列出平均成绩最高的学生名字和成绩。(SELECT句中不得使用TOP n子句) 4.选做题:对每门课增加“先修课程”的属性,用来示某一门课程的先修课程,每门课程应可记录多于一门的先修课程。要求: 1) 修改结构的定义,应尽量避免数据冗余,建立必要的主键,外键。 2) 设计并插入必要的测试数据,完成以下查询: 列出有资格选修数据库课程的所有学生。(该学生已经选修过数据库课程的所有先修课,并达到合格成绩。) 注意:须设计每个查询的测试数据,并在查询之前用INSERT语句插入中。 提交作业形式: 1) 建立Student数据库的SQL脚本,插入所有数据项的SQL脚本(包括所有的测试数据)。 2) 完成查询要求的SQL语句脚本。 3) 选做题:须提交修改数据库定义的SQL脚本,插入测试数据的SQL脚本以及用于查询的SQL语句。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wangchuang2017

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值