搭建一个简易的成绩管理系统的数据库(实验楼)

题目

搭建一个简易的成绩管理系统的数据库

介绍

现需要构建一个简易的成绩管理系统的数据库,来记录几门课程的学生成绩。数据库中有三张表分别用于记录学生信息、课程信息和成绩信息。

数据库表的数据如下:

学生表(student):学生 id 、学生姓名和性别

此处输入图片的描述

课程表:课程 id 和课程名

此处输入图片的描述

成绩表:成绩 id 、学生 id 、课程 id 和分数

此处输入图片的描述

服务器中的 MySQL 还没有启动,请注意 MySQL 的 root 账户默认密码为空。

目标

1.MySQL 服务处于运行状态

2.新建数据库的名称为 gradesystem

3.gradesystem 包含三个表:student、course、mark;

  • student 表包含3列:sid(主键)、sname、gender;
  • course 表包含2列:cid(主键)、cname;
  • mark 表包含4列:mid(主键)、sid、cid、score ,注意与其他两个表主键之间的关系。

4.将上述表中的数据分别插入到各个表中

提示

  • 建立表时注意 id 自增和键约束
  • 每个表插入语句可通过一条语句完成

解法

启动mysql:

sudo service mysql start
mysql -u root

创建一个名为gradesystem的数据库:

create database gradesystem;
use gradesystem;

创建student表:

create table student
(
    sid int(10)primary key,
    sname char(10),
    gender char(10)
);

创建course表:

create table course
(
    cid int(10)primary key,
    sname char(10)
);

创建mark表:

create table mark
(
    mid int(10)primary key,
    sid int(10),foreign key (sid) references student(sid),
    cid int(10),foreign key (cid) references course(cid),
    score int(100)
);

student插入数据:

insert into student values(1,'Tom','male');
insert into student values(2,'Jack','male');
insert into student values(3,'Rose','female');

course插入数据:

insert into course values(1,'math');
insert into course values(2,'physics');
insert into course values(3,'chemistry');

mark插入数据:

insert into mark values(7,1,3,95);
insert into mark values(8,2,3,75);
insert into mark values(9,3,3,85);

最后可以查看这三张表:

select * from student;
/*
+-----+-------+--------+
| sid | sname | gender |
+-----+-------+--------+
|   1 | Tom   | male   |
|   2 | Jack  | male   |
|   3 | Rose  | female |
+-----+-------+--------+
*/
select * from course;
/*
+-----+-----------+
| cid | sname     |
+-----+-----------+
|   1 | math      |
|   2 | physics   |
|   3 | chemistry |
+-----+-----------+
*/
select * from mark;
/*
+-----+------+------+-------+
| mid | sid  | cid  | score |
+-----+------+------+-------+
|   7 |    1 |    3 |    95 |
|   8 |    2 |    3 |    75 |
|   9 |    3 |    3 |    85 |
+-----+------+------+-------+
*/

这里写图片描述

学生成绩管理系统 1 问题描述 1.1 背景 1)某大学有学生若干万名,每个学生每学期必须学习若干门课程。 2)每个学生有学号、姓名、性别、班级、出生日期等基本信息。 3)每门课程有课程号,课程名称、任课教师、学分等信息。 4)学校需要对每个学生的基本信息、所学课程、成绩进行统一管理,以便于对信息进行 查询、浏览和修改。 1.2 数据需求 学生成绩管理系统主要用于学生成绩信息管理,据分析学生成绩管理系统的数据可浓 缩为:学生基本信息、课程基本信息学生成绩信息。根据学校的情况,可按下 面的步骤来分析: 1) 确定学生所在的院系、所学的专业以及所在的班级。 2) 确定学生所在班级的课程以及该课程学生的成绩;另外还需要知道学生所在班级、学 号和学期。 3) 分析学生的基本信息,如姓名、性别、出生年月、家庭住址、联系电话。 4) 用户信息分析,通常包括用户名和密码。 2 解决方案 ( 或数据库系统设计 ) 2.1 E-R 模型设计 根据E—R图,将其转化为如下数据实体,数据库学生成绩管理系统.dbc,包括如下的 和视图: 1) 学生登记——学生.dbf。 字段名称 字段类型 字段宽度 xh 字符型 10 xm 字符型 6 xb 字符型 2 csrq 日期型 8 bj 字符型 4 2) 课程登记——课程.dbf。 字段名称 字段类型 字段宽度 kch 字符型 2 kcm 字符型 10 js 字符型 10 xf 字符型 10 3) 成绩登记——成绩.dbf 字段名称 字段类型 字段宽度 xh 字符型 10 kch 字符型 2 cj 数值型 3 4) 借书视图(lyxview)。 为了进行浏览总的需要,需要设计了一个浏览视图,该视图从学生.dbf等 3个提取了10个字段的数据: 学生.xh 学生.xm 学生.xb 学生.csrq 学生.bj 课程.kch 课程.kcm 课程.js 课程.xf 成绩.cj 其视图关系可由以下SQL语句定义: SELECT 学生.*, 课程.*, 成绩.cj; FROM 学生成绩管理系统!学生, 学生成绩管理系统!课程,; 学生成绩管理系统!成绩; WHERE 学生.xh = 成绩.xh; AND 课程.kch = 成绩.kch 所建数据库如下图所示: 2.2 数据 本系统需要使用的数据如下: 3 系统实现 3.1 开发环境 本系统由SQL语言编写,在Visual Foxpro 6.0软件环境下可以正常运行 3.2 系统流程图 系统流程图模块主要由刘龙洋同学设计,而系统的功能设计主要由李江滨同学完成, 我主要负责程序主要功能界面的设计,下面是部分流程图: 、 3.3 程序主要功能界面 1、登录界面的设计: 第一步:在单上单击鼠标右键,并在弹出菜单选择"数据环境"项,打开数据环境 设计器,添加数据mm.dbf; 第二步:创建单并保存为"登录"; 第三步:添加lable1,并设置其caption属性为"欢迎使用学生成绩管理系统!"; 第四步:添加lable2和text1并设置相关属性; 第五步:添加timer控件,并设置其Enabled属性为"真",用于设计窗口动画。 登录界面如下图所示: 2、修改密码单的设计: 第一步:在单上单击鼠标右键,并在弹出菜单选择"数据环境"项,打开数据环境 设计器,添加数据mm.dbf; 第二步:创建单并保存为"修改密码"; 第三步:添加label1 、label2、 label3,并设置其caption属性分别为"请输入旧密码"、"请输入新密码"、"请确认新密 码"; 第四步:添加text1、 text2、 text3,并设置相关属性; 第五步:添加command1和command2,并设置其caption属性分别为"确认"和"取消"; 修改密码单如下图: 3、学生基本信息维护单的设计: 第一步:创建单,并保存为学生.scx; 第二步:添加lable1~lable5,其caption的属性如下图所示 ; 第三步: 添加文本框text1~text5,并设置相关属性; 第四步:添加"院系"、"专业"、"班级"和"学期"列框; 第五步:添加类,并设置相关属性,用于增添和修改学生基本信息; 第六步:添加文本框text6,并设置相关属性; 第七步:添加command1~command10,并设置相关属性; 第八步:添加"返回"按钮,其功能是关闭此界面; 第九步:执行运行命令,并进行测试。 4、课程信息维护单的设计: 第一步:创建单,并保存为课程.scx; 第二步:添加lable1~lable4,其caption的属性如下图所示 ; 第三步: 添加文本框text1~text4,并设置
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值