如何用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语句等向数据库中添加学生的各项具体数据了。

Create Table Students

(

StudentID Int,

StudentsName Varchar(32),

StudentsAge Int

)

Select From Students --查询

Update Students --修改

Set StudentsName = 'Adam'

Where StudentsID = '001'

Insert into Students --新增

Select '004','Rachel','20'

Delete Students --删除

WHere StudentsID = '004'

这只是最简单的内容,其中应该还要注意表结构中的主键,索引,自增栏等。。。

USE [master]

GO

CREATE DATABASE StudentManage ON PRIMARY

( NAME = N'StudentManage', FILENAME = N'D:\StudentManagemdf' , SIZE = 3072KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )

LOG ON

( NAME = N'StudentManage_log', FILENAME = N'D:\StudentManage_logldf' , SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)

GO

/学生管理数据库(StudentManage)创建完成,下面创建学生表(Student):/

USE [Jinlong]

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_PADDING ON

GO

CREATE TABLE [dbo][Student](

[学号C9] [char](7) NOT NULL,

[姓名C10] [char](6) NULL,

[性别C2] [char](2) NULL,

CONSTRAINT [PK_Student] PRIMARY KEY CLUSTERED

(

[SID] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

GO

SET ANSI_PADDING OFF

GO

以SQLServer为例

create database 学生管理

on primary -- 默认就是属于primary文件组的,可省略

(

/--数据文件的具体描述--/

name='studb_data', -- 主数据文件的逻辑名称

filename='D:\studb_datamdf', -- 主数据文件的物理名称

size=5mb, --主数据文件的初始大小

maxsize=100mb, -- 主数据文件增长的最大值

filegrowth=15%--主数据文件的增长率

)

log on

(

/--日志文件的具体描述,各参数含义同上--/

name='studb_log',

filename='D:\studb_logldf',

size=2mb,

filegrowth=1mb

)

学生表 student

课程表 course

学生选课关系表 stucourse

create table student(sno number primary key,sname varchar2(20));

insert into student values(1,'alley');

insert into student values(2,'bob');

commit;

create table course(cno number primary key,cname varchar2(20));

insert into course values(1,'语文');

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

commit;

 create table stucourse(sno number,cno number);

alter table stucourse add constraint pk_stucource primary key(sno,cno);

     insert into stucourse values(1,1);

 insert into stucourse values(1,2);

     insert into stucourse values(2,1);

     commit;

2 select asname,ccname

from student a,stucourse b,course c

where asno = bsno and bcno=cno;

3  查询选修一门以上的学生,按学号从小到大排序

select asno, asname

  from student a,stucourse b,course c

  where asno = bsno and bcno=cno

group by asno,asname

having count(1)>=1

order by asno;

4、各用一条语句实现下列功能:添加表的列、更新表的某一字段值、删除表的列、删除表数据、修改表的名称。

alter table student add ssex varchar2(2);

update student set ssex='女';

alter table student drop column ssex;

delete from student where sno=1;

alter table student rename to studentnew;

5、在PL/SQL中执行SELECT语句:在某一实体表中,查询符合某一条件的记录,并显示相应的几个字段值

select  sno, sname

from student

where sno=1;

6、用CASE语句实现一多分支结构

select  case when sno=1 then '学号1‘ when sno=2  then '学号2' else '其他学号' end

from student;

也不算复杂吧,如果是SQL SERVER,我告诉你步骤吧。

1安装SQL SERVER,目前版本是2008,注意版本对应的 *** 作系统。

2安装完成后,在开始菜单打开SQL Server Management Studio,服务器名称默认,如果是空的,就输入一个 ,身份验证选择windows身份验证。

3登录后左侧菜单的菜单里找“数据库”,点开此节点后,在“数据库”菜单上点右键,选择“新建数据库”,点击后在d出的窗口信息里填写信息,填完后点确定,数据库就创建成功了,不过里面还没有表。

4新建表,点开你刚才建立的数据库后,找到“表”菜单,双击,然后在“表”菜单上点右键,选择“新建表”,输入你要填写的字段名,选择好类型,长度后,点击确定,就建好表了,这时再右键选中“表”菜单,选择“刷新”,刚才建立的表就可以显示出来了。

你应该总结出学生成绩查询需要几张表,我大概告诉你一下吧,最基本的3张,

1学生基本信息表

2学生考试科目表

3学生成绩表,这三张之间的关系你要是搞明白了,那学生成绩查询就不会有问题了。

以上就是关于如何用SQL建立一个学生成绩管理系统数据库 全部的内容,包括:如何用SQL建立一个学生成绩管理系统数据库 、建立一个关于学生的数据库,利用SQL语句进行增删改查、如何建立“学生管理”数据库,并在“学生管理”数据库中分别建立“学生基本情况表”求高手教一下等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/sjk/9536794.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存