精华内容
下载资源
问答
  • 信息管理系统数据库设计
    千次阅读
    2022-04-10 09:10:41

    《数据库系统原理》大作业要求

    对“学生成绩系统”需求进行分析,完成数据库设计,数据库设计应体现数据安全性和完整性要求
    学生成绩管理系统需求 成绩管理系统的主要功能模块包括:
    学生成绩管理、院系管理、课程信息管理和成绩 信息管理,具体功能描述如下:
    院系信息(系号,系名,电话)管理:录入、修改、查询
    班级信息(班级号,人数,班长学号)管理:录入、修改、查询
    学生信息(学号,姓名,性别,地址,系号,班级号)管理:录入、修改、查询
    课程信息(课程号,课程名,学时,学分)管理:录入、修改、查询
    一个学生属于一个院系,一个院系包含多个学生;一个学生属于一个班级,一个班级 包含多个学生;一个学生可以选多门课程,一个课程可以包含多个学生。
    1.设计过程中可视实际情况和需要,对系统功能做适当扩展和补充。
    2. 根据上述需求绘制 E-R 图,并给出满足 3NF 的关系模式,完成数据库逻辑模型设计;
    3. 在 SQL Server 中通过 SQL 语句实现系统的成绩鉴定系统数据库模型:创建表,合理设置 索引、约束等;
    4. 通过 SQL 语句向各表中插入模拟数据
    5. 通过 SQL 语句能够对各表实现数据的增、删、改、查和基本数据分析,例如求得平均分、 优秀率、不及格人数等


    学生成绩管理系统

    更多相关内容
  • 学生成绩管理系统数据库设计--MySQL/SQL Server

    万次阅读 多人点赞 2020-06-18 13:02:04
    MySQL/SQL Server 数据库设计(学生成绩管理系统) 设计大纲 1. 项目背景及需求分析 1.1 项目背景 1.2 需求分析 1.2.1 信息需求 1.2.2 功能需求 1.2.3 安全性与完整性需求 2. 概念结构设计 2.1 抽象出系统实体 2.2 ...

    MySQL 数据库设计-学生成绩管理系统

    设计大纲

    在这里插入图片描述

    友情链接

    1、医疗信息管理系统数据库–MySQL

    医疗信息管理系统数据库–MySQL

    2、邮件管理数据库设计–MySQL

    邮件管理数据库设计–MySQL

    3、点餐系统数据库设计–SQL Server

    点餐系统数据库设计–SQL Server

    4、商品管理系统数据库设计–SQL Server

    商品管理系统数据库设计–SQL Server

    5、SQL Server医疗信息管理系统数据库【英文版-源码】–(Medical Management System Database)

    SQL Server医疗信息管理系统数据库【英文版-源码】–(Medical Management System Database)

    6、SQL Server电影院数据库管理系统【英文版-源码】–(Movie Theatre Management System Database)

    SQL Server电影院数据库管理系统【英文版-源码】–(Movie Theatre Management System Database)

    1. 项目背景及需求分析

    1.1 项目背景

    为了深刻的理解MySQL数据库,以学生成绩信息管理为例,设计一个简单、规范、高效的学生成绩信息管理系统数据库。

    1.2 需求分析

    1.2.1 信息需求

    对学校而言,学生成绩管理是管理工作中重要的一环,但是高校学生的成绩管理工作量大、繁杂,人工处理非常困难。因此,借助于强大计算机的处理能力,能够把人从繁重的成绩管理工作中解脱出来,并且更加准确、安全、清晰的管理环境。

    1.2.2 功能需求

    能够进行数据库的数据定义、数据操纵、数据控制等处理功能。具体功能应包括:可提供课程安排、课程成绩数据的添加、插入、删除、更新、查询,学生及教职工基本信息查询的功能。

    1.2.3 安全性与完整性要求

    对于学生成绩管理系统数据库来讲,由于其主要数据是学生成绩,只能由本人以及所教老师及教务处知道,因此做好数据安全性是重中之重。另外,要求所有在校学生的信息都要录入其中,并且要设计好个别情况。

    2. 概念结构设计

    概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。
    根据学生成绩信息管理数据库设计需求抽象出学生、教师、课程、成绩四个实体,对四个实体做简化处理,默认一门课程仅被一位老师讲授。因简化后关系结构比较简单,故省略了局部E-R图。对4个实体之间的关系进行分析如下:
    一位学生会被多位老师教导,一位老师会教导多位学生,所有学生与教师之间是多对多(m:n)的关系;
    一位学生可能会选修多门课程,一门课程会被多位学生选修,所以学生与课程之间是多对多(m:n)的关系;
    一位学生会有多项成绩(具体指某学生一门课程的分数),一项成绩仅被一位学生拥有,所以学生与成绩是一对多(1:n)的关系;
    一位教师会讲授多门课程,一门课程会被一位教师讲授,所以教师与课程的关系是一对多(1:n)的关系;
    一门课程拥有多项成绩,一项成绩仅被一门课程拥有,所以课程与成绩的关系是一对多(1:n)的关系;

    2.1 抽象出系统实体

    学生(学号、姓名、班级、性别、专业、出生日期、学分);
    老师(教师编号、姓名、学院);
    课程(课程编号、教师编号、课程名称、课程学分);
    成绩(学号、课程编号、分数);

    2.2 全局E-R图

    在这里插入图片描述

    3. 逻辑结构设计

    3.1 关系模式

    E-R图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为关系模式,如何确定这些关系模式的属性和码。
    设计学生成绩管理数据库,包括学生(students)、老师(teachers)、课程(courses)、成绩(scores)四个实体,其关系模式中对每个实体定义属性如下:

    students 表:学号(sid)、姓名(sname)、班级(sclass)、性别(sgender)、专业(smajor)、出生日期(sbirthday)、学分(credit_points),此为联系“students表”所对应的关系模式,学号为该关系的候选码,满足第三范式。

    teachers表:教师编号(tid)、姓名(tname)、学院(tschool),此为联系“teachers表”所对应的关系模式,教师编号为该关系的候选码,满足第三范式。

    courses表:课程编号(cid)、教师编号(tid)、课程名称(cname)、学分(credit_point),此为联系“courses表”所对应的关系模式,课程编号和教师编号为该关系的候选码,满足第三范式。

    scores表:学号(sid)、课程编号(cid)、分数(score),此为联系“scores表”所对应的关系模式,学号和课程编号为该关系的候选码,满足第三范式。

    3.2 函数依赖识别

    后续更新补充

    3.3 范式

    后续更新补充

    3.4 表结构

    数据库中包含4个表,即学生(students)、老师(teachers)、课程(courses)、成绩(scores)。

    students表的表结构
    在这里插入图片描述
    teachers表的表结构
    在这里插入图片描述
    courses表的表结构
    在这里插入图片描述
    scores表的表结构
    在这里插入图片描述

    4. 物理设计和实施

    4.1 数据库及表创建

    4.1.1 创建数据库

    -- 如果已有该数据库,则删除
    DROP DATABASE IF EXISTS StudentScore;
    
    -- 创建数据库
    CREATE DATABASE StudentScore CHARSET=UTF8;
    

    4.1.2 创建数据表

    -- 使用数据库
    USE StudentScore;
    
    -- 创建数据表
    -- table 1: students
    DROP TABLE IF EXISTS students;
    CREATE TABLE students(
    sid INT(20) UNSIGNED PRIMARY KEY AUTO_INCREMENT NOT NULL,
    sname VARCHAR(20),
    sclass INT(10),
    sgender VARCHAR(10),
    smajor VARCHAR(20),
    sbirthday DATE,
    credit_points INT(5) -- 学生已修学分
    );
    
    -- table 2: teachers
    DROP TABLE IF EXISTS teachers;
    CREATE TABLE teachers(
    tid INT(10) UNSIGNED PRIMARY KEY AUTO_INCREMENT NOT NULL,
    tname VARCHAR(20),
    tschool VARCHAR(20)
    );
    
    -- table 3: courses
    -- 需要完整代码请添加文章底部微信,付费咨询
    
    -- table 4: scores
    -- 需要完整代码请添加文章底部微信,付费咨询
    
    

    4.2 表数据增删改查测试

    4.2.1 MySQL基础知识点总结

    在这里插入图片描述

    4.2.2 精选MySQL练习题数据及解析

    点击查看
    4.2.2 精选MySQL练习题数据及答案解析

    4.2.2.1. 连接查询 - 4题

    1.1 查询同时选修了课程 1 和 课程 2 的学生的信息

    1.2 查询课程 1 比 课程 2 成绩高的学生的信息及课程分数

    1.3 查询课程 1 分数小于 60 的学生信息和课程分数,按分数降序排列

    1.4 查询不同课程成绩相同的学生的学生编号、课程编号、学生成绩

    4.2.2.2. 子查询、连接查询 - 4题

    2.1 查询有成绩的学生信息

    2.2 查询学过 孙悟空 老师所授课程的学生信息

    2.3 查询至少有一门课与学号为 1 的同学所学相同的学生信息

    2.4 查询选修了课程 2 但是没有选修课程 1 的学生信息

    4.2.2.3. 聚合分组、连接查询 - 8题

    3.1 查询同名学生名单,并统计同名人数

    3.2 查询选修了 3 门课程的学生信息

    3.3 查询平均成绩大于等于 85 的所有学生的学号、姓名、平均成绩(保留2位小数)

    3.4 查询平均成绩大于等于 60 分的学生学号、姓名、平均成绩(保留2位小数)

    3.5 查询两门及以上课程分数小于60分的学生学号、姓名及平均成绩(保留2位小数)

    3.6 查询姓 赵 的同学的学生信息、总分,若没选课则总分显示为 0

    3.7 查询所有同学的学号、姓名、选课总数、总成绩,没选课的学生要求显示选课总数和总成绩为 0

    3.8 查询所有学生学号、姓名、选课名称、总成绩,按总成绩降序排序,没选课的学生显示总成绩为 0

    4.2.2.4. if 或 case 语句 - 2题

    4.1 若学号sid为学生座位编号,现开始对座位号调整,奇数号和偶数号对调,如1和2对调、3和4对调…等, 如果最后一位为奇数,则不调换座位,查询调换后的学生座位号(sid)、姓名,按sid排序

    4.2 查询各科成绩最高分、最低分和平均分: 以如下形式显示:课程id、课程名、选修人数、最高分、最低分、平均分、及格率、中等率、优良率、优秀率
    及格为>=60,中等为:70-80,优良为:80-90,优秀为:>=90
    要求查询结果按人数降序排列,若人数相同,按课程号升序排列,平均分、及格率等保留2位小数

    4.2.2.5. 时间函数 - 6题

    5.1 查询 1990 年出生的学生信息

    5.2 查询各学生的年龄,分别按年份和按出生日期来算

    5.3 查询本周或下周过生日的学生

    5.4 查询本月或下月过生日的学生

    5.5 查询学生信息,要求:学号和年龄同时至少比一位学生的学号和年龄大

    5.6 查询连续相邻3年出生的学生中,学生性别相同的学生信息

    4.2.2.6.综合应用 - 12题

    6.1 查询和学号为 1 的同学学习的课程完全相同的其他同学的信息

    6.2 查询每科均及格的人的平均成绩:学号、姓名、平均成绩(保留2位小数)

    6.3 查询选修 张若尘 老师所授课程的学生中,该门课成绩最高的学生信息及成绩(成绩可能重复)

    6.4 查询各科成绩,按各科成绩进行排序,并显示排名 分数重复时保留名次空缺,即名次不连续

    6.5 查询各科成绩,按各科成绩进行排序,并显示排名 分数重复时不保留名次空缺,即名次连续

    6.6 查询学生 赵雷 的 变形 课程成绩的排名:学生信息,分数,排名 分数重复时不保留名次空缺,即名次连续

    6.7 查询课程 时空穿梭 成绩在第2-4名的学生,要求显示字段:学号、姓名、课程名、成绩 分数重复时不保留名次空缺,即名次连续

    6.8 查询学生的总成绩,并进行排名,总分重复时不保留名次空缺,即名次连续

    6.9 查询学生的总成绩,并进行排名,总分重复时保留名次空缺,及名次不连续 排名名次不连续,不需要去重

    6.10 统计各科成绩各分数段人数:课程编号,课程名称,[100-85],[85-70],[70-60],[60-0] 分别所占百分比 结果:保留2位小数

    6.11 查询各科成绩前三名的记录,按照课程编号和分数排序 分数重复时,重复分数按照一名算,即不保留名次空缺,及名次连续

    6.12 查询各科成绩的前两名,列出学生信息、课程名、分数,按照课程名、分数排序 分数重复时,重复分数按照一名算,即不保留名次空缺,及名次连续

    4.2.2.7 MySQL练习题数据及答案解析

    点击查看
    4.2.2 精选36道MySQL练习题数据及答案解析

    4.3 创建视图

    4.3.1 创建一个学生视图,要求显示学生学号、姓名、班级、性别、专业、各科成绩、平均分、总分

    DROP VIEW IF EXISTS v_students_info;
    
    CREATE VIEW v_students_info AS
    SELECT  stu.sid,
    		stu.sname,
    		stu.sclass,
    		stu.sgender,
    		stu.smajor,
    		-- 需要完整代码请添加文章底部微信,付费咨询
    		ifnull(sum(sc.score), 0) AS "总分"
    FROM 	students stu LEFT JOIN
    		scores sc ON stu.sid = sc.sid LEFT JOIN
    		courses c ON c.cid = sc.cid
    GROUP BY stu.sid;
    

    查看视图:
    在这里插入图片描述
    在这里插入图片描述

    4.4 创建函数

    4.4.1 创建一个通过学号sid获取学生信息的函数

    DROP FUNCTION IF EXISTS get_student_info_by_sid;
    
    DELIMITER //
    CREATE DEFINER = CURRENT_USER FUNCTION get_student_info_by_sid(id INT)
    RETURNS VARCHAR(300)
    DETERMINISTIC
    BEGIN
    -- 需要完整代码请添加文章底部微信,付费咨询
    END//
    DELIMITER ;
    -- 调用函数
    SELECT get_student_info_by_sid(8);
    

    调用函数结果:
    在这里插入图片描述
    其中DELIMITER 先定义结束符为 // , 然后又将结束符改为mysql默认的分号结束符。

    了解delimiter 关键字请点击:
    MySQL中 delimiter 关键字详解
    如果出现报错1418:

    Error Code : 1418 This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you might want to use the less safe log_bin_trust_function_creators variable)

    参考下面:
    MySQL ERROR 1418 的解决方法

    4.4.2 自定义函数 2:要求函数体中包含其中一种流程控制语句,要求输入学生学号sid、课程编号,显示学生姓名、课程名称、成绩是否及格(即成绩>=60)

    
    DROP FUNCTION IF EXISTS get_student_scores_by_id;
    
    DELIMITER //
    CREATE DEFINER = CURRENT_USER FUNCTION get_student_scores_by_id(sid INT, cid INT)
    RETURNS VARCHAR(300)
    DETERMINISTIC
    BEGIN
    	-- 多个变量要分开声明,否则会报错
    	DECLARE score INT;
    	DECLARE name VARCHAR(20);
    	DECLARE course_name VARCHAR(20);
    	-- 需要完整代码请添加文章底部微信,付费咨询
    	ELSE
    		RETURN '找不到该学生、课程或该学生没有选课!';
    	END IF;
    END//
    DELIMITER ;
    
    -- 调用函数
    SELECT get_student_scores_by_id(1, 2);
    
    

    调用函数结果:
    在这里插入图片描述

    4.5 创建存储过程

    4.5.1 学生每选修一门课,如果该门课程成绩达到60分及以上,则把该门课程学分加到学生学分里面,输出该学生姓名、学分

    DROP PROCEDURE IF EXISTS add_scores;
    
    DELIMITER //
    CREATE DEFINER = CURRENT_USER PROCEDURE add_scores(
    	IN stu_id INT, 
    	IN co_id INT, 
    	IN s_score INT,
    	OUT name VARCHAR(20),
    	OUT s_credit_point INT
    )
    DETERMINISTIC
    BEGIN
    -- 多个变量要分开声明,否则会报错
    DECLARE points INT;
    -- 需要完整代码请添加文章底部微信,付费咨询
    COMMIT;
    END//
    DELIMITER ;
    
    -- 测试调用存储过程
    SELECT * FROM students WHERE sid > 10;
    CALL add_scores(11, 2, 33, @name, @s_credit_point);
    SELECT @name, @s_credit_point;
    CALL add_scores(12, 2, 88, @name, @s_credit_point);
    SELECT @name, @s_credit_point;
    
    

    调用存储过程结果:
    在这里插入图片描述

    4.6 创建触发器

    4.6.1 创建一个更新学生学分的触发器,如果该学生分数>=60,则给该学生加上这门课的学分

    语法
    create trigger triggerName
    after/before insert/update/delete on 表名 for each row #这句话在mysql是固定的 begin
    sql语句;
    end;

    
    DROP TRIGGER IF EXISTS update_credit_point;
    
    DELIMITER //
    CREATE TRIGGER update_credit_point
    AFTER INSERT ON scores FOR EACH ROW
    BEGIN 
    	DECLARE points INT;
    	-- 需要完整代码请添加文章底部微信,付费咨询
    	END IF;
    END//
    DELIMITER ;
    
    
    -- 测试数据
    SELECT * FROM students WHERE sid < 3;
    INSERT INTO scores VALUES
    (1, 4, 77),
    (2, 4, 55);
    SELECT * FROM students;
    

    测试结果:
    在这里插入图片描述
    终于写完啦!

    展开全文
  • 商品管理系统数据库设计--SQL Server

    万次阅读 多人点赞 2022-02-16 14:55:47
    1、学生成绩管理系统数据库设计–MySQL 学生成绩管理系统数据库设计–MySQL 2、医疗信息管理系统数据库–MySQL 医疗信息管理系统数据库–MySQL 3、邮件管理数据库设计–MySQL 邮件管理数据库设计–MySQL 4、SQL ...

    友情链接

    1、学生成绩管理系统数据库设计–MySQL

    学生成绩管理系统数据库设计–MySQL

    2、医疗信息管理系统数据库–MySQL

    医疗信息管理系统数据库–MySQL

    3、邮件管理数据库设计–MySQL

    邮件管理数据库设计–MySQL

    4、点餐系统数据库设计–SQL Server

    点餐系统数据库设计–SQL Server

    5、SQL Server医疗信息管理系统数据库【英文版-源码】–(Medical Management System Database)

    SQL Server医疗信息管理系统数据库【英文版-源码】–(Medical Management System Database)

    6、SQL Server电影院数据库管理系统【英文版-源码】–(Movie Theatre Management System Database)

    SQL Server电影院数据库管理系统【英文版-源码】–(Movie Theatre Management System Database)

    一、需求分析

    1.研究意义

    因为在各种计算机辅助系统的运作过程中,都会频繁地涉及到大量信息和数据,因此数据库管理系统也是它们重要的组成部分,甚至是核心部分。实现数据共享。数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享减少数据的冗余度。同文件系统相比,由于数据库实现了数据共享,从而避免了用户各自建立应用文件。减少了大量重复数据,减少了数据冗余,维护了数据的一致性。

    2.系统功能

    “商品管理系统”是一个典型的数据库开发应用程序,采用多文档界面,由进货信息,销售信息,商品信息,客户信息,库存信息等板块组成,具体规划如下:

    1. 商品信息板块
      该板块主要负责添加商品信息,修改商品信息,删除商品信息。
    2. 进货信息板块
      该板块主要负责进货功能,查询进货记录。
    3. 客户信息板块
      该板块主要负责添加客户信息,修改客户信息,删除客户信息。
    4. 商品管理系统系统功能结构:
      在这里插入图片描述

    二、数据库概念结构设计(设计E-R图)

    在这里插入图片描述

    三、数据库逻辑结构设计

    逻辑结构设计可以具体理解为将概念设计阶段设计的E-R模型,转化成能够供特定数据库管理系统所使用的逻辑结构模型。同时需要对转换后的逻辑模型做符合需求分析和数据库中表与表之间关系的规范化处理。

    1. “客户信息表”(client)
      在这里插入图片描述

    2. “商品信息表”(goods)
      在这里插入图片描述

    3. “进货信息表”(purchase)
      在这里插入图片描述

    4. “销售信息表”
      在这里插入图片描述

    5. “库存信息表”(stock)

    在这里插入图片描述

    四、数据库物理结构设计

    1. 创建数据库

    使用T-SQL语言为“商品管理系统”创建“goods_management”。要求数据库在D盘的数据库文件夹下,由一个初始大小为3MB,文件增量为10%,最大容量不限的主数据文件(“goods_management_m”),一个初始大小为2MB,文件增量为2mb,最大容量不限的次要数据文件(“goods_management_n”),和一个初始大小为10MB,文件增量为5mb,最大容量不限的事务日志文件(“goods_management_l”)构成。
    数据库文件路径为D:\各自的姓名\

    create database goods_management
    on
    (  name='goods_management_m',
       filename='d:\\goods_management_m.mdf',
       size=30mb,
       filegrowth=10%,
       maxsize=unlimited),
    
    ( name='goods_management_n',
      filename='d:\\goods_management_n.ndf',
      size=20mb,
      filegrowth=2mb,
      maxsize=unlimited)
    
    log on
    ( name='goods_management_l',
      filename='d:\\goods_management_l.ldf',
      size=10mb,
      filegrowth=5mb,
      maxsize=unlimited)
    
    go
    

    2. 创建表与约束

    创建client客户信息表

    create table client
    (
    client_id char(10) not null,
    client_name nchar(4) not null,
    mobile char(11) not null,
    home_address nvarchar(30) not null,
    email varchar(30) check( email like '_%@_%._%'),
    primary key(client_id),
    unique(mobile)
    )
    

    创建goods商品信息表

    create table goods
    (  goods_id char(20) not null,
    goods_barcodevarchar(20) not null,
    goods_namenvarchar(20) not null,
    Production_placenvarchar(30) not null,
    primary key(goods_id))
    

    五、数据库的实施

    1.表数据的添加

    -- 为表client添加数据
    use goods_management
    go 
    insert into client(client_id,client_name,mobile,home_address,email)
    values ('201863516','马兰','13797284133','湖北武汉','1501563221@qq.com')
    
    -- 为表goods添加数据
    go
    insert goods(goods_id,goods_barcode,goods_name,Production_place)
    values('us00100001','6936983800013','钢笔','湖北武汉')
    insert goods(goods_id,goods_barcode,goods_name,Production_place)
    values('us00200001','6916987800021','铅笔','湖北荆州')
    
    -- 为表purchase添加数据
    
    go
    insert purchase
    values('0622000001','us00100001','2.5','50','125','2018-6-22')
    insert purchase
    values('0622000002','us00200001','1','30','30','2018-6-23')
    
    -- 为表sale添加数据
    
    go 
    insert sale(sale_id,goods_id,client_id,sale_price,sale_sum,sale_money,sale_date)
    values('0702000001','us00100001','201863516','2.5','28','70','2018-7-2')
    insert sale(sale_id,goods_id,client_id,sale_price,sale_sum,sale_money,sale_date)
    values('0703000002','us00100002','201863544','30','10','300','2018-7-3')
    
    -- 为stock添加数据
    go
    insert stock
    values('us00100001','63')
    insert stock
    values('us00200001','129')
    
    展开全文
  • 学生信息管理系统数据库

    千次阅读 多人点赞 2022-01-06 20:12:19
    学生信息管理系统资源 2.1ER图设计 ​​​​​​​2.2从ER图到关系模式 ER图中存在三个实体:学生、课程、成绩;两个关系:选修和所属。学生与课程n:m联系。课程与学生成绩1:m联系。“选修”和“所属”...

     一 . 学生信息管理系统资源

    下载链接​​​​​​学生信息管理.accdb-Access文档类资源-CSDN下载

    二.数据库设计 

    2.1ER图设计

    2.2从ER图到关系模式

    ER图中存在三个实体:学生、课程、成绩;两个关系:选修和所属。学生与课程n:m联系。课程与学生成绩1:m联系。“选修”和“所属”不单独建立实体集。把“学生”中的学号和“课程”中的课程号设为主键,其他的属性设为外键。学生与成绩可通过课程建立联系。

    2.3关系模式的数据字典

    学生表

    数据项名

    类型

    长度

    精度

    取值范围

    默认值

    是否允许为空

    KEY

    id

    char

    255

    NULL

    NO

    PRI

    name

    char

    25

    NULL

    YES

    gender

    char

    25

    NULL

    YES

    class

    char

    25

    NULL

    YES

    address

    char

    25

    NULL

    YES

    age

    char

    25

    NULL

    YES

    Phone number

    char

    25

    NULL

    YES

    password

    char

    20

    NULL

    YES

    成绩表

    数据项名

    类型

    长度

    精度

    取值范围

    默认值

    是否允许为空

    KEY

    student_id

    char

    255

    NULL

    NO

    PRI

    class_id

    char

    255

    NULL

    NO

    PRI

    score

    char

    25

    NULL

    YES

    课程表

    数据项名

    类型

    长度

    精度

    取值范围

    默认值

    是否允许为空

    KEY

    id

    char

    255

    NULL

    NO

    PRI

    name

    char

    255

    NULL

    YES

    point

    char

    25

    NULL

    YES

    2.4系统开发工具简介

    开发工具:access

    2.5数据库与表的建立

    学生表:student的创建

    sql = """CREATE TABLE IF NOT EXISTS student(
    
    id char(255) NOT NULL,
    
    name char(25) default NULL,
    
    gender char(5) default NULL,
    
    class char (25) default NULL,
    
    address char(25) default NULL,
    
    age char(25) default NULL,
    
    phone number char(25) default NULL,
    
    password char(20) default NULL,
    
    PRIMARY KEY (id)
    
    
    
    ) ENGINE = InnoDB
    
    DEFAULT CHARSET = utf8
    
    """
    
    cursor.execute(sql)

    Field

    Type

    Null

    Key

    Default

    id

    Char(255)

    NO

    PRI

    NULL

    name

    Char(25)

    YES

    NULL

    gender

    Char(25)

    YES

    NULL

    class

    Char(25)

    YES

    NULL

    address

    Char(25)

    YES

    NULL

    age

    Char(25)

    YES

    NULL

    Phone number

    Char(25)

    YES

    NULL

    password

    Char(20)

    YES

    NULL

    课程表的创建:class

    sql = """CREATE TABLE IF NOT EXISTS class(
    
    id char(255) NOT NULL,
    
    name char(255) default NULL,
    
    point char(25) default NULL,
    
    PRIMARY KEY (id)
    
    ) ENGINE = InnoDB
    
    DEFAULT CHARSET = utf8
    
    """
    
    cursor.execute(sql)
    

    Field

    Type

    Null

    Key

    Default

    id

    Char(255)

    NO

    PRI

    NULL

    name

    Char(255)

    YES

    NULL

    point

    Char(25)

    YES

    NULL

    成绩表的创建:score

    sql = """CREATE TABLE IF NOT EXISTS score(
    
    stu_id char(255) NOT NULL,
    
    class_id char(255) NOT NULL,
    
    score char(25) default NULL,
    
    PRIMARY KEY (class_id,student_id)
    
    ) ENGINE = InnoDB
    
    DEFAULT CHARSET = utf8
    
    """
    
    cursor.execute(sql)

    Field

    Type

    Null

    Key

    Default

    student_id

    Char(255)

    NO

    PRI

    NULL

    class_id

    Chat(255)

    NO

    PRI

    NULL

    score

    Char(25)

    YES

    NULL

    管理员表的创建:admin_k

    sql = """CREATE TABLE IF NOT EXISTS admin_login_k(
    
    admin_id char(50) NOT NULL,
    
    admin_pass char(50) default NULL,
    
    PRIMARY KEY (admin_id)
    
    ) ENGINE = InnoDB
    
    DEFAULT CHARSET = utf8
    
    """
    
    cursor.execute(sql)

    Field

    Type

    Null

    Key

    Default

    admin_id

    Char(50)

    NO

    NULL

    admin_pass

    Char(50)

    YES

    NULL

    2.6用户管理权限的实现

    2.6.1 登陆界面

    页面主要有Visual Basic代码编写,主界面设计关键代码:

    Option Compare Database
    Private gl As Boolean
    
    Private Sub Option4_Click()
    If Me.Option4.Value = -1 Then
       Me.Option8.Value = 0
       gl = True
    End If
    End Sub
    
    Private Sub Option8_Click()
    If Me.Option8.Value = -1 Then
       Me.Option4.Value = 0
       gl = False
    End If
    End Sub

    Private Sub 登录_Click()
    
    If IsNull(Me.Option4.Value) And IsNull(Me.Option8.Value) Then MsgBox "请选择角色后再登录", vbExclamation, vbOKOnly: Exit Sub

    If IsNull(UserName) Then
    
      MsgBox "用户名不能为空,请重新选择!", vbExclamation + vbOKOnly, "提醒您!" '弹出框
    
      Me.UserName.SetFocus
    
      Exit Sub

    Else
    
    If IsNull(Password) Then
    
      MsgBox "注意,您忘了输入密码!", vbExclamation + vbOKOnly, "提醒您!" '弹出框
    
      Me.Password.SetFocus
    
      Exit Sub
    
    End If

    If gl Then
    
     If DLookup("管理员密码", "管理员", "管理员名称='" & UserName & "'") = [Password] Then
    
        '验证账号密码
    
        Me.Visible = False
    
        Me.Password = Null
    
        MsgBox "登录成功!", vbExclamation, "提醒您"
    
    StrName = Me.UserName

      

    Else
    
        MsgBox "您输入的密码有误,请重新输入,注意大小写!", vbExclamation + vbOKOnly, "提醒您!"
    
        Exit Sub
    
      End If

      '管理员登录

      DoCmd.OpenForm ("管理员系统") '登陆成功,打开管理员系统界面

    Else

      '普通用户登录

      If DLookup("密码", "学生", "学号='" & UserName & "'") = [Password] Then

        '验证账号密码

        Me.Visible = False

        Me.Password = Null

        MsgBox "登录成功!", vbExclamation, "提醒您" '登陆成功

    StrName = Me.UserName

      Else

        MsgBox "您输入的密码有误,请重新输入,注意大小写!", vbExclamation + vbOKOnly, "提醒您!"

        Exit Sub

      End If

      DoCmd.OpenForm ("学生系统")

    End If

    '弹出框

    Me.Password = Null

    Me.Password.SetFocus

    End If

    End Sub

    2.6.2学生系统

    Option Compare Database

    Private Sub Command1_Click()
    
    On Error GoTo Err_Command1_Click
    
     Dim stDocName As String
    
     Dim stLinkCriteria As String
    
     stDocName = "学生信息查询"
    
     DoCmd.OpenForm stDocName, , , stLinkCriteria
    
    Exit_Command1_Click:
    
     Exit Sub
    
    Err_Command1_Click:
    
     MsgBox Err.Description
    
     Resume Exit_Command1_Click
    
    End Sub

    Private Sub Command2_Click()
    
    On Error GoTo Err_Command1_Click
    
     Dim stDocName As String
    
     Dim stLinkCriteria As String
    
     stDocName = "课程查询"
    
     DoCmd.OpenForm stDocName, , , stLinkCriteria
    
    Exit_Command1_Click:
    
     Exit Sub
    
    Err_Command1_Click:
    
     MsgBox Err.Description
    
     Resume Exit_Command1_Click
    
    End Sub

    Private Sub Command3_Click()
    
    On Error GoTo Err_Command1_Click
    
     Dim stDocName As String
    
     Dim stLinkCriteria As String
    
     stDocName = "成绩查询"
    
     DoCmd.OpenForm stDocName, , , stLinkCriteria
    
    Exit_Command1_Click:
    
     Exit Sub
    
    Err_Command1_Click:
    
     MsgBox Err.Description
    
     Resume Exit_Command1_Click
    
    End Sub

    2.6.3管理员系统

    Option Compare Database

    Private Sub Command1_Click()
    
    On Error GoTo Err_Command1_Click
    
     Dim stDocName As String
    
     Dim stLinkCriteria As String
    
     stDocName = "学生信息管理"
    
     DoCmd.OpenForm stDocName, , , stLinkCriteria
    
    Exit_Command1_Click:
    
     Exit Sub
    
    Err_Command1_Click:
    
     MsgBox Err.Description
    
     Resume Exit_Command1_Click
    
    End Sub

    Private Sub Command2_Click()
    
    On Error GoTo Err_Command1_Click
    
     Dim stDocName As String
    
     Dim stLinkCriteria As String
    
     stDocName = "成绩管理"
    
     DoCmd.OpenForm stDocName, , , stLinkCriteria
    
    Exit_Command1_Click:
    
     Exit Sub
    
    Err_Command1_Click:
    
     MsgBox Err.Description
    
     Resume Exit_Command1_Click
    
    End Sub

    Private Sub Command3_Click()
    
    On Error GoTo Err_Command1_Click
    
     Dim stDocName As String
    
     Dim stLinkCriteria As String
    
     stDocName = "登录"
    
     DoCmd.OpenForm stDocName, , , stLinkCriteria
    
    Exit_Command1_Click:
    
     Exit Sub
    
    Err_Command1_Click:
    
     MsgBox Err.Description
    
     Resume Exit_Command1_Click
    
    End Sub
    
    Private Sub Command4_Click()
    
    On Error GoTo Err_Command1_Click
    
     Dim stDocName As String
    
     Dim stLinkCriteria As String
    
     stDocName = "采购员信息管理"
    
     DoCmd.OpenForm stDocName, , , stLinkCriteria
    
    Exit_Command1_Click:
    
     Exit Sub
    
    Err_Command1_Click:
    
     MsgBox Err.Description
    
     Resume Exit_Command1_Click
    
    End Sub

    2.7删除记录

    通过宏命令的叠加设计:

     

    2.8修改记录

    宏命令:

     

    2.9增加记录

    宏命令:

    2.10信息查询

    宏命令:

    三、总结(经验与不足)

    数据库管理系统实现的功能

    基本上用所学知识实现了大数据的增删改查,数据比较完整,极易查询,界面清晰,较为简单,操作也相对方便,用户友好度较高界面简洁明了,总体上来说完成度较高,具备了学生信息管理系统的基本功能。

    数据库存在的问题

    距离真正投入使用还是存在着较大差距

    管理员的管理流程和系统过于简单,容易误改学生信息

    学生之间也可以互相查看对方信息,私密性较差

    展开全文
  • 教务管理系统 数据库设计

    千次下载 热门讨论 2011-12-25 21:52:54
    数据库原理课,设计了一个高校教务管理系统数据库,word文档,包括需求分析,ER图,具体的代码设计,SQL语句的数据库查询,创建视图
  • 期末数据库课程设计做了个图书信息管理系统,由于老师给的选题给得早,所以我在开学后的几周就开学搞了,删删改改整了好多,在此整理分享一下: 项目简介: 随着社会的发展,人们对知识的需求也在不断增长。书籍...
  • 数据库设计员工管理系统

    千次阅读 多人点赞 2021-12-04 18:41:34
    数据库原理课程设计,员工管理系统
  • 学生信息管理系统数据库课程设计

    万次阅读 多人点赞 2018-06-12 14:48:25
    概述学生信息管理系统是学校管理的重要工具,是学校不可或缺的一部分。随着在校人数的不断增加,教务系统的数量也不断的上涨。学校工作繁杂,资料众多,人工管理信息的难度也越来越大,显然是不能满足实际的需要,...
  • 学生管理系统数据库设计

    万次阅读 多人点赞 2021-07-04 15:48:15
    引言 科学技术的进步和生产的发展使人类知识总量的增长不断加快,生产社会...计算机用于管理信息处理的突出优点是迅速、准确、可靠、具有很大的存储能力,适应于管理信息量大、面宽的特点,适合于管理信息处理及时、准
  • 超市管理系统数据库设计

    千次阅读 2022-04-17 14:55:06
    超市管理系统数据库设计 设计背景 现如今,各个超市因为规模普遍较大,需要处理的商品数以千计,而且每天的进货和销售情况纷繁复杂,早时的记账方式已经无法满足已经步入信息化的时代。因此以计算机开发的软件系统...
  • 《考勤信息管理系统数据库课程设计

    万次阅读 多人点赞 2021-01-09 17:11:19
    考勤信息管理系统 目 录 一、课程设计目的和要求 2 二、课程设计过程 2 数据库设计的基本步骤如下: 3 1.需求分析阶段 3 1.1应用背景 3 1.2需求分析目标 4 1.3系统设计概要 4 1.4软件处理对象: 4 1.5系统可行性分析...
  • 进销存系统数据库设计用Power Designer完成进销存管理信息系统的数据库建模 包括CDM(E-R图)、PDM(关系模式图)和表清单,生成数据库(SQL 语句)
  • 应包括:需求分析、数据库设计、数据库建立、数据输入、应用系统的设计和开发、用户界面的设计和实现等。 ………… (四)选题参考 1、教学管理系统 1)信息需求: (1) 学生信息:学号、姓名、性别、出生日期、...
  • 教务管理系统数据库设计方案.docx

    千次阅读 2021-01-19 12:25:45
    PAGE \* MERGEFORMAT 1教务管理系统数据库(SQL Server 2008 + delphi7)实验报告班级:7姓名:787学号:787指导教师:完成日期:目录系统概述……………………………………………3系统分析………………………………...
  • 长途汽车信息管理数据库设计与实现

    千次阅读 多人点赞 2019-02-22 16:08:28
            武汉东湖学院计算机科学学院   课 程 设 计 报 告     ...课程名称:数据库原理课程设计 ...题 目:长途汽车信息管理数据库设计与实现  专业班级: 软件工程一班 ...
  • 在大学里,教室仍然是教学的主要场所,也是学生学习的重要场所,所以教室环境和设备直接影响到教学活动的开展和...为此,经过较详细的调查和慎重的思考,我决定做一个教室管理系统,来解决这些问题,使管理简化。......
  • 数据库课程设计
  • 数据库设计概述 数据库设计的任务和特点 数据库shi 数据库应用系统设计 数据库文档设计 数据库应用程序设计案例
  • 医院门诊管理系统数据库设计

    万次阅读 多人点赞 2020-11-19 16:38:19
    医院门诊管理系统数据库设计 目录医院门诊管理系统数据库设计ER图sql语句查询问题 ER图 sql语句 --新建数据库 CREATE DATABASE HOSPITAL_OUTPATIENT_MS ON PRIMARY ( NAME = [201811040728_data], FILENAME = 'E:\...
  • 图书管理系统数据库设计

    万次阅读 多人点赞 2019-12-22 20:30:13
    实验八 图书管理系统数据库设计 一、实验学时 2学时 二、实验目的 (1)熟悉SQL Sever基本操作。 (2)利用T-SQL语句实现相关操作。 (3)通过完成从用户需求分析、概念结构设计,逻辑结构设计等一系列的数据库设计...
  • 图书管理系统数据库SQL设计思路

    千次阅读 2021-06-15 10:09:56
    一个图书管理系统包括用户信息维护、图书馆信息、图书信息维护、书籍借出、书籍归还、借书记录、支付查询等。此系统功能用户可以借书、续借、归还、查询书籍、增加、修改和删除。 2、????需求 1.用户信息维护:查询...
  • 一个简单易懂的学生信息管理系统,源代码非常简单,包含全部源代码和详细注释,已经调试好,没有任何问题直接运行就OK。
  • 仓库管理系统数据库设计

    万次阅读 多人点赞 2019-06-28 13:54:21
    在网上找不到相关的实践设计,于是自己做了一个,希望能对开始学数据库的同学们提供一点帮助。 首先是建立数据库,网上有很多建立数据库的内容这里就不赘述了,再就是建立数据表,首先选择在哪个数据库建立数据表,...
  • 数据库课程设计 ——酒店管理系统

    万次阅读 多人点赞 2019-05-31 10:36:11
    (1)酒店管理系统用于满足酒店工作人员和管理人员的需求。 (2)酒店管理人员和工作人员可以为酒店房间加入入住和退房记录,并生成相应的报表用于查阅,确认和保存,酒店工作人员可以浏览、查询、统计、添加酒店...
  • 校园财务管理系统——数据库设计

    千次阅读 2021-02-01 21:51:44
    校园财务管理系统——数据库设计 ----- 实验小作业1 工具:PowerDesigner 软件 和 orcal 一、需求分析: 1)个人报销管理模块 人员包括:教师、学生、实习生。 教师基本信息管理:姓名、性别、任职时间、级别、所属...
  • 这个系统的主要有三个角色权限,管理员、老师、学生,系统功能模块包括用户管理、班级信息管理、教师信息管理、学生信息管理、科目信息管理、成绩信息管理。 根据本系统的研究现状和发展趋势,系统从需求分析、结构...
  • 系统功能设计 在本系统设计中,主要实现如下一些功能:增加记录、修改记录、删除记录、使用学号查询。学生记录包括:学号、姓名、性别、专业、出生年月、联系电话。 界面要求 欢迎界面、登录界面、管理界面。 ...
  • 员工管理系统数据库课程设计

    千次阅读 热门讨论 2021-08-22 17:25:55
    主要是用java与sql server2012写的员工管理系统,功能如下,有完整的数据库文档以及代码有分层数据流图,ER图,数据字典,有JDBC安装包 调查一些企业,根据了解到的具体情况,分析、设计和实现员工管理的管理系统。...
  • 医疗信息管理系统数据库--MySQL

    万次阅读 多人点赞 2021-12-22 20:54:30
    1、学生成绩管理系统数据库设计--MySQL 2、邮件管理数据库设计--MySQL 3、SQL Server医疗信息管理系统数据库【英文版-源码】 4、SQL Server电影院数据库管理系统【英文版-源码】- 一、 数据库的创建 点击获取源码: ...
  • 数据库课程设计:建材物资管理系统数据库课程设计 ** 一.课设简述 ** 本次设计基于大二学习的数据库原理这门课程,选择了建材物资管理系统这个课设题目,在查阅了相关资料后,设计了集进货商家信息,进货报表到物资...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 585,735
精华内容 234,294
热门标签
关键字:

信息管理系统数据库设计