现有学生选课系统数据库: 学生表Student(sno学号,snamelass.com姓名,sage年龄,ssex性

&>&&>&学生成绩管理系统数据库(2)
学生成绩管理系统数据库(2) 投稿:刘碷碸
枣 庄 学 院 信息科学与工程学院课程设计任务书 题 目:学 号: 姓 名:专 业: 网络工程 课 程: 数据库 指导教师:职称:完成时间: 2013年 12 月----2014 年 1月枣庄学院信息科学与工程学院制日 课程设计…
早读材料(三)星期一一、字音1.分道扬镳biāo 2.风声鹤唳lì 3. 封妻荫子yìn 4.负隅顽抗yú 5.甘冒不韪wěi6. 刚愎自用bì 7.逾期作废yú 8.鹬yù蚌bàng相争 9.殒yǔn身不恤xù 10.运筹帷wéi幄wò 11.一蹴…
天元镇关于落实“两个责任”工作的调研报 告 区纪委:按照你委下发《中共德阳市旌阳区纪委关于开展落实“两个责任”和正风肃纪工作相关情况调研的通知》(德市旌纪发,,2015"19号)的要求,现将我镇调研情况汇报如下:一、天元镇落实“两个责任”的基本情况(一…
枣 庄 学 院
信息科学与工程学院课程设计任务书
指导教师:职称:
完成时间: 2013年 12 月----2014 年 1月
枣庄学院信息科学与工程学院制
课程设计任务书及成绩评定
一、需求分析阶段 ················································································································· 1
1.1信息需求 ··················································································································· 1 1.2功能需求 ··················································································································· 1 1.3对数据库操作维护的需求 ····················································································· 1 二、概念结构设计阶段 ········································································································ 1 三、逻辑结构设计阶段 ········································································································ 2 四、物理设计阶段 ················································································································· 3 五、数据库实现 ····················································································································· 3
5.1创建数据库 ··················································································································· 3
六、数据库运行和维护阶段 ································································································ 4
6.1数据定义 ······················································································································ 4
6.2数据操作 ······················································································································ 7
6.2.1单表查询 ··········································································································· 7 6.2.2连接查询 ··········································································································· 9 6.2.3嵌套查询 ········································································································· 10 6.3数据库更新操作 ········································································································· 11
6.3.1.插入数据 ········································································································ 11 6.3.2修改数据 ········································································································· 12 6.3.3.删除数据 ········································································································ 12 6.4为数据库建立索引 ····································································································· 13
6.4.1创建及修改索引 ······························································································ 13 6.4.2.删除索引 ········································································································ 14 6.5触发器的操作 ············································································································· 14
6.5.1创建及修改触发器 ·························································································· 14 6.5.2删除触发器 ····································································································· 15 6.6视图的操作 ················································································································· 15
6.6.1.创建视图 ········································································································ 15 6.6.3删除视图 ········································································································· 16
七、总结································································································································· 16
学生成绩管理系统数据库
一、需求分析阶段
1.1信息需求
高校学生的成绩管理工作量大、繁杂,人工处理非常困难。学生成绩管理系统借助于计算机强大的处理能力,大大减轻了管理人员的工作量,并提高了处理的准确性。学生成绩管理系统的开发运用,实现了学生成绩管理的自动化,不仅把广大教师从繁重的成绩管理工作中解脱出来、把学校从传统的成绩管理模式中解放出来,而且对学生成绩的判断和整理更合理、更公正,同时也给教师提供了一个准确、清晰、轻松的成绩管理环境。
1.2功能需求
能够进行数据库的数据定义、数据操纵、数据控制等处理功能,进行联机处理的相应时间要短。具体功能应包括:系统应该提供课程安排数据的插入、删除、更新、查询;成绩的添加、修改、删除、查询,学生及教职工基本信息查询的功能。
1.3对数据库操作维护的需求
二、概念结构设计阶段
概念结构设计阶段是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。设计教室管理数据库包括班级、教室、课程、教师四个关系。E-R图如下图1.1
三、逻辑结构设计阶段
逻辑结构是独立于任何一种数据模型的信息结构。逻辑结构的任务是把概念结构设计阶段设计好的基本E-R图转化为宜选用的DBMS所支持的数据模型相符合的逻辑结构,并对其进行优化。
E-R图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为关系模式,如何确定这些关系模式的属性和码。
设计学生成绩管理数据库,包括课程、学生、教师、成绩四个关系, 模式中对每个实体定义的属性如下:
课程信息表 Class:(课程号,课程名,教师号,学分,学时)
学生信息表
Student1:(学号,姓名,性别,年龄,专业,系别)
成绩表 Score:(学号号,课程名,成绩)
教师表 Teacher1:(教师号,教师名,教师性别,教师系别)
3.1课程信息表(class)
3.2学生信息表(student)
3.3教师表(teacher1)
四、物理设计阶段
数据库物理设计的任务是为上一阶段得到的数据库逻辑模式,即数据库的逻辑结构选择合适的应用环境的物理结构,既确定有效地实现逻辑结构模式的数据库存储模式,确定在物理设备上所采用的存储结构和存取方法,然后对该存储模式进行性能评价、修改设计,经过多次反复,最后得到一个性能较好的存储模式。数据库物理设计内容包括记录存储结构的设计,存储路径的设计。
五、数据库实现
数据库实施是指建立数据库,编制与调试应用程序, 组织数据入库,并进行试运行。
5.1创建数据库
(1) 打开SQL工具“查询分析器” (2) 在查询窗口中键入下列SQL语句
create database ScoreSystem
执行上述SQL语句即可新建一名为ScoreSystem的数据库
六、数据库运行和维护阶段
6.1数据定义
基本表创建、修改及删除;索引的创建和删除;视图的创建和删除 (1)创建数据表
一个完整的数据库不可缺少的就是数据表,若干个数据表的集合成一个数据库。数据表主要用来存放一定格式的记录,数据表中的行被称为记录,列被称为字段。创建数据表的过程其实就是定义字段的过程。
在此学生成绩管理系统中需要创建四个表,即课程信息表、学生信息表、教师信息表和成绩表。
创建数据库后,为ScoreSystem数据库添加数据表,步骤如下。 (1) 新建查询窗口
(2) 在查询窗口中键入下列SQL语句
课程信息相关表格
create table Class(
//创建课程信息表
cno char(10) primary key,
//课程号 cname char(45) not null,
//课程名 teano char(10) Not null
//教师号 credit char(4), Not null
//学分 ctime char(50), Not null
执行上述SQL语句即可创建课程信息表相关表格 学生信息相关表格
create table student(
//创建学生信息表
sno char(10) primary key,
sname char(10) not null,
ssex char(3) not null,
Sage char(3) not null,
Major char(30) not null,
Depart char(50) not null,
执行上述SQL语句即可创建学生信息表相关表格
教师信息表
create table teacher1(
//创建教师信息表
tno char(10) primary key,
tname varchar(10) not null,
tsex char(2),
//教师性别
tdepart varchar(50)
//教师系别
执行上述SQL语句即可创建教师信息表相关表格 成绩信息表
CREATE TABLE
//创建成绩表 sno char(19) not null primary key,
//学号 cno char(10)
constraint fk_cno foreign key references class (cno), //课程号
degree char(3) not null
执行上述SQL语句即可创建成绩表相关表格 (2)基本表的删除
drop table students
6.2数据操作
数据库查询操作 6.2.1单表查询
(1)查询sno为学生的sname
select sname from student1
where sno=' ' 结果:
(2)查询ssex为’女’并且depart为’信息科学与工程学院’的sname
select sname from student
where ssex ='女' and depart ='信息科学与工程学院' 结果:
(3)查询所有学生的姓名、性别和年龄。
select sname,ssex,sage from student 结果:
(4)查询学生信息表中年龄小于21和年龄大于21的学生的姓名和年龄
sname,sage from
sage>21 or sage<21 结果:
(5)查询表student中所有姓“王”数据
6.2.2连接查询
(1)学生的学号、姓名,所选课程的课程号、课程名和成绩、任课教师名 Select
student1.sno,student1.ame,score.degree,teacher1.tname
from student,class,score,teacher1 Where student1.sno=score.sno o and teacher1.tno=class.teano
(2)找出教授数据库原理的老师的教师名
teacher1.tname from class,teacher1
Where class.tno=teacher1.tno ame='枣庄文化' 结果:
(3)操作结果集查询
查询号同学和号同学共同选修的课程 Select cno From score
Where sno='' Intersect Select cno From score
Where sno='' 查询结果
6.2.3嵌套查询
查询选修了306这门课的所有学生的学号、姓名、年龄、院系
Select sno,sname,sage,depart From student Where sno in (select sno
From score
Where cno=’306’) 查询结果
6.3数据库更新操作
6.3.1.插入数据
向Student表中添加一项记录:
姓名:王辰,学号:,性别:男,年龄:21专业:网络工程,系别:信息科学与工程学院 Insert Into
student(Sno,Sname, Ssex,sage,major,depart)
Values ('',' 王辰', '男',' 21,' 网络工程','信息科学与工程学院')
6.3.2修改数据
修改陈琦的学号为:
Update Student
Set Sno=’’
Where Sname=’陈琦’;
6.3.3.删除数据
删除董朝阳的学号为:
from student
Where(sno=)
6.4为数据库建立索引
创建索引可以大大提高系统的性能。第一,通过创建唯一性索引,可以保证每一行数据的唯一性。第二,可以大大加快数据的检索速度,这也是所以的最主要原因。第三,可以加速表与表之间的连接,特别是实现数据的参考完整性方面特有意义。第四,在使用ORDER BY和GROUP BY子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。第五,通过使用索引,可以在查询过程中,使用优化隐藏器,提高系统性能。 6.4.1创建及修改索引
(1) 在class表的cno列上创建非聚集索引。
Create index classrname
class (cno)
(2) 在student表的sno列上创建非聚集索引。 Create unique index studentno
ON Student(sno)
(3) 在Student表的sno列创建一个非聚集索引,要求索引键值按sno升序排列。
Create index studentno
student(sno ASC)
6.4.2.删除索引
删除student表中的studentno 索引。 Drop
student.studentno
6.5触发器的操作
6.5.1创建及修改触发器
建一个名为UPDATE_sno的触发器
6.5.2删除触发器
触发器的删除
6.6视图的操作
数据库视图的定义(创建和删除)、查询和更新
6.6.1.创建视图
(1).创建视图scorecar3并查询所有学生选课的信息,包括学号、姓名、课程号、课程名、成绩 create view score3 as
s.sno'学号',sname'学生名',c.cno'课程号',cname'课程名',sc.degree'成绩'
from student s,class c,score sc
where s.sno=sc.sno o
6.6.2.更新视图
修改信息:将陈琦的名字改为陈琪琪
Update score3
set 学生名='陈琪琪'
where 学生名='陈琦’ 修改前
6.6.3删除视图
删除视图:删除前面的score3视图。
view score3
本学生成绩查询系统主要参照课本,相对来说比较简单。但是由于主要以
课本为依据,所以整个设计做下来基本掌握了课本上数据库的基础操作。设计过程中我也遇到了一些问题,再向其他同学请教的过程中我收获了很多。(1)操作视图查询,编写代码时发现,一个表中的主键必须是另一个表的外键时才
可以对另一个表进行引用。(2)在设计表时应注意使用正确的字段类型。
(3)在建表语句中,如果这个表的主键是多个属性的组合主键,则必须作为表级完整性进行定义。
枣 庄 学 院 信息科学与工程学院课程设计任务书 题 目:学 号: 姓 名:专 业: 网络工程 课 程: 数据库 指导教师:职称:完成时间: 2013年 12 月----2014 年 1月枣庄学院信息科学与工程学院制日 课程设计…
枣 庄 学 院 信息科学与工程学院课程设计任务书 题 目:学 号: 姓 名:专 业: 网络工程 课 程: 数据库 指导教师:职称:完成时间: 2013年 12 月----2014 年 1月枣庄学院信息科学与工程学院制日 课程设计…
枣 庄 学 院 信息科学与工程学院课程设计任务书 题 目:学 号: 姓 名:专 业: 网络工程 课 程: 数据库 指导教师:职称:完成时间: 2013年 12 月----2014 年 1月枣庄学院信息科学与工程学院制日 课程设计…
本文由()首发,转载请保留网址和出处!
免费下载文档:下载作业帮安装包
扫二维码下载作业帮
1.75亿学生的选择
跪求一道数据库题答案。2.有一个[学生课程]数据库,数据库中包括三个表:学生表Student由学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)五个属性组成,记为:Student(Sno,Sname,Ssex,Sage,Sdept) ,Sno 为关键字。课程表Course由课程号(Cno)、课程名(Cname)、先修课号(Cpno)、学分(Ccredit)四个属性组成,记为:Course(Cno,Cname,Cpno,Ccredit)Cno为关键字。成绩表SG由学号(Sno)、课程号(Cno)、成绩(Grade)三个属性组成,记为: SG(Sno,Cno,Grade) (SNO, CNO)为关键字。用SQL语言实现下列功能:(1).建立学生表Student,其中学号属性不能为空,并且其值是唯一的。(2).向Student表增加“入学时间(Scome)”列,其数据类型为日期型。(3).查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排列。(4).查询学习1号课程的学生最高分数、平均成绩。(5).查询与“李洋”在同一个系学习的学生。(6).将计算机系全体学生的成绩置零。(7).删除学号为05019的学生记录。(8).删除计算机系所有学生的成绩记录。
use 教师数据库go/*1、创建教师表*/create table 教师表(教师编号 char(6) primary key,姓名 varchar(10) not null,性别 varchar(10) not null,职称 varchar(10),身份证号 varchar(10) unique nonclustered )/*2、创建课程表*/create table 课程表(课号 char(6) primary key,名称 varchar(20) not null)/*3、创建任课表*/create table 任课表(ID int null,教师编号 char(6) references 教师表(教师编号),课号 char(6) references 课程表(课号),课时数 int) /*4、将下列课程信息添加到课程表的代码*/insert 课程表 values ('100001','SQL Server数据库')insert 课程表 values ('100002','数据结构')insert 课程表 values ('100003','VB程序设计')/*5 、查找所有教师的信息。*/select * from 教师表/*6、检索有一门或一门以上课程课时数大于90的所有教师的信息,包括编号、姓名。*/select 教师编号,姓名 from 教师表 where
EXISTS (select count(*) from 任课表 where 教师表.教师编号=任课表.教师编号 group by 教师编号 HAVING count(*)>90)/*7、查找张老师的代课总课数。*/select count(*) from 任课表 where EXISTS (select * from 教师表 where 教师表.教师编号=任课表.教师编号 and 姓名='张老师')请采纳答案,支持我一下。
为您推荐:
扫描下载二维码某数据库中有关系Student(Sno,Sname,Ssex,Sage,Sdept),各属性分别表示学号,姓名,性别,年_答案_百度高考
某数据库中有关系Student(Sno,Sname,Ssex,Sage,Sdept),各属性分别表示学号,姓名,性别,年龄以及所在的系;Course(Cno,Cname,Credit)属性分别表示课程号,课程名,学分;SC(Sno,Cno,Grade)为学生选课表,各属性分别表示为学号,课程号和分数;完成下列的SQL语句:
①查询其他系中比计算机科学(CS)某一学生年龄小的学生姓名和年龄。
②建立信息系(IS)选修了1号课程的学生的视图IS_S1
③定义一个AFTER的行级触发器Print_f,当往成绩表(SC)中插入的成绩小于60就打印不及格
第-1小题正确答案及相关解析
①SELECT Sname,Sage
FROM Student
WHERE Sage<ANY(SELECT Sage
FROM Student
WHERE Sdept=’CS’)
AND Sdept<>’CS’
②CREATE VIEW IS_S1(Sno,Sname,Grade) AS
SELECT Student.Sno,Sname,Grade
FROM Student,SC
WHERE Sdept=’IS’ AND
Student.Sno=SC.Sno AND
SC.Cno=’1’;
③CREATE TRIGGER Print_f
AFTER INSERT ON Student
FOR EACH ROW
IF(new.Grade<60)THEN
PRINT’不及格’

我要回帖

更多关于 erlang sname 的文章

 

随机推荐