如何用SQL建立一个学生成绩管理系统数据库?

如何用SQL建立一个学生成绩管理系统数据库?,第1张

首先在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语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

create database [数据库名]\x0d\x0auser [该数据库名]\x0d\x0a\x0d\x0a--学生表\x0d\x0acreate table [学生表表名](\x0d\x0asId int primary key, --学生ID编号,主键\x0d\x0asName varchar(10) unique not null, --学生名字\x0d\x0a)\x0d\x0a\x0d\x0a--科目表\x0d\x0acreate table [科目表表名](\x0d\x0asjId int primary key, --科目ID编号,主键\x0d\x0asjName varchar(10) unique not null, --科目名称\x0d\x0a)\x0d\x0a\x0d\x0a--成绩表\x0d\x0acreate table [成绩表表名]\x0d\x0arId int primary key, --成绩ID编号,主键\x0d\x0asjId int references [科目表表名](sjId), --科目ID编号,继承科目表的ID编号\x0d\x0asId int references [学生表表名](sId), --学生ID编号,继承学生表的ID编号\x0d\x0aresult float not null --成绩\x0d\x0a)\x0d\x0a\x0d\x0a--查询语句\x0d\x0aselect r.rId,sj.sjId,sj.sjName,su.sId,su.sName,r.result \x0d\x0afrom [成绩表表名] r,\x0d\x0ajoin [科目表表名] sj on sj.sjId=r.sjId,\x0d\x0ajoin [学生表表名] su on su.sId=r.sId

create table score (

id int(10) primary key,

sno int(8) not null,

sname varchar(10) not null,

math int(3),

english int(3),

chi int(3)

)


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存