要设计一个学生课程管理数据库,包含3个关系分别是:学生表Student、课程表Cors

要设计一个学生课程管理数据库,包含3个关系分别是:学生表Student、课程表Cors,第1张

1.SELECT COUNT(DISTINCT(学号)) FROM SC 2.SELECT 姓名 FROM S,SC WHERE S.学号=SC.学号 AND S.学号=1号 3.SELECT S.学号,姓名,课程名,成绩 FROM S,SC,C WHERE S.学号=SC.学号 AND SC.课程号=C.课程 AND 课程号=1号 4.SELECT S.学号,姓名 FROM S,SC WHERE S.学号=SC.学号 AND SC.课程=‘人工智能’ 5.SELECT MAX(成绩) FROM S,SC WHERE S.学号=SC.学号 AND S.学号=1号 6.SELECT 学号,姓名 FROM S WHERE SUBSTRING(姓名,3,2)=’月’ 7.SELECT 课程号,COUNT(*) FROM C,SC WHERE C.课程号=SC.课程号 8.SELECT S.学号,姓名 FROM S,SC,C WHERE S.学号=SC.学号 AND SC.课程号=C.课程号 AND C.成绩>80 9.SELECT DISTINCT(省区) FROM S WHERE S.系别=‘物理’ 10.SELECT * FROM S ORDER BY 系别 ASC,年龄 DSC 11.SELECT AVG(成绩 ) FROM C WHERE 课程号=2号 12.SELECT 学号,姓名 FROM S WHERE SUBSTRING(姓名,3,2)=’阳’

首先在SQL中利用企业管理器或向导建立一个数据库,命名为学生管理系统,启动SQL

Sever服务,运行企业管理器,单击要创建数据库的服务器左边的加号图标,展开树形目录,在“数据库”节点上右击鼠标,在d出的快捷菜单中选则“新建数据库”命令,然后按照提示一步步建立数据库,不再详细叙述。假设学生管理系统下有三个表,分别为学生表、课程表、修课表,表的结构分别如下:学生表(student)

(学号(sno)

普通编码定长字符类型,长度7,主码,姓名(sname)

普通编码定长字符类型,长度8,非空,性别(ssex)

统一编码定长字符类型,长度1,年龄(sage)

微整型,所在系(sdept)

统一编码可变长字符类型,长度20)课程表(course)

(课程号(cno)

普通编码定长字符类型,长度6,主码,课程名(cname)

统一编码定长字符类型,长度10,非空,学分(credit)

小整型,学期(semester)

小整型)修课表(sc)(学号(sno)

普通编码定长字符类型,长度7,主码,外码课程号(cno)

普通编码定长字符类型,长度6,主码,外码成绩(grade)

小整型,修课类别(type)普通编码定长字符类型,长度4)则创建表的语句分别为:create

table

Student(Sno

char(7)

primary

key,Sname

char(8)

not

null,Ssex

nchar(1),Sage

tinyint,Sdept

nvarchar(20))create

table

Course(Cno

char(6)

primary

key,Cname

nchar(10)

not

null,Credit

smallint,Semester

smallint)create

table

SC(Sno

char(7),Cno

char(6),Grade

smallint,Type

char(4),primary

key(Sno,Cno),Foreign

key(Sno)

References

Student

(Sno),Foreign

key(Cno)

References

Course

(Cno))各表的结构大体如此,如有变化可自行修改。

以上数据库和表就基本建立好了,然后就可以通过数据导入或SQL语句等向数据库中添加学生的各项具体数据了。

SQL语言,是结构化查询语言(Structured

Query

Language)的简称。SQL语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

1、创建“学生-课程”数据库:将数据文件和日志文件都存放在D盘自已学号的目录下。其中数据文件和日志文件初始大小都为1MB,自动增长率都为10%。

create database MyDB

on(

name='Student-SC',

filename='d:\自己学号\Student-SC.mdf',

size=1,filegrowth=10%)

log on

(name='Student-SClog',

filename='d:\自己学号\Student-SClog.ldf',

size=1,filegrowth=10%)

go

2、在“学生-课程”数据库创建“学生”表,它由学号Sno、姓名Sname、性别Ssex、年龄Sage、所在系Sdept五个属性组成,其中学号设为主键约束,性别设置检查性约束。

use Student-SC

create table Student

(Sno char(5) primary key,

Sname varchar(20),

Ssex varchar(2),

Sage tinyint,

Sdept varchar(30),

check(Ssex in('男','女')))

go

3、查询“学生”表中全体学生的学号与姓名

select Sno,Sname from Student

4、查询年龄在20至23岁之间的学生的姓名、所在系和年龄

select Ssex,Sdept,Sage from Student where Sage between 20 and 23

5、 查所有姓刘的学生的姓名、学号和性别

select Sname,Sno,Ssex from Student where Sname like '刘%'

6、 查询“学生选课”表中成绩最高和成绩最低的记录,要求显示学号(Sno)、课程号(Cno)、成绩(Grade)三个属性

select Sno,Cno,Grade from SC group by Sno,Cno having max(Grade) or min(Grade)

7、使用内部联接查询并显示所有选修课程的同学的学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)、课程号(Cno)、成绩(Grade)属性

select SC.Sno,Student.Sname,Student.Ssex,Student.Sage,Student.Sdept,SC.Cno,SC.Grade from SC inner join Student on SC.Sno=Student.Sno

8、向“学生”表中插入如下记录:学号:’04160’、姓名:’王燕’、性别 :’女’、年龄:22、所在系: ’计算机科学系’

insert into Student values('04160','王燕','女',22,'计算机科学系')

9、将计算机科学系全体学生的成绩置零

update SC set Grade=0 where exists(select Sno,Sdept from Student where Student.Sno=SC.Sno and Student.Sdept='计算机科学系')

10、在“学生”表中,删除学号为’04160’同学的记录

delete from Student where Sno='04160'


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10818093.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存