【课设系列】高中化学网上辅助教学平台(下)

简介: 高中化学网上辅助教学平台(下)

4 数据库的操作

4.1 数据库的创建

根据数据库设计结果,利用SQL Server Management 工具,用SQL语句创建数据库。

use master

go

if exists (select * from sysdatabases where name='化学课程网上教学平台')

drop database 化学课程网上教学平台

go

create database 化学课程网上教学平台

on primary

( name=化学课程网上教学平台_data,

filename='D:\SQLServer2012\化学课程网上教学平台_data.mdf',

size=100MB,

maxsize=200GB,

filegrowth=10%)

log on

( name =化学课程网上教学平台_log,

filename='D:\SQLServer2012\化学课程网上教学平台_log.ldf',

size=100MB,

maxsize=200GB,

filegrowth=5%

) 

l 创建高中化学课程在线教学数据库(HXJX)

create database HXJX

 

l 创建教师信息表(teacher)

use HXJX

create table teacher(

tno nchar(11) primary key not null , 

tname varchar(20) not null ,

tsex varchar(20) not null,

level varchar(10) not null,

tphone nchar(11) not null,

tmail varchar(20) not null,

taddress varchar(100) not null, 

constraint a1 check(tsex in ('男','女')),

)

l 创建学生信息表(student)

use HXJX

create table student (

sno nchar(11) primary key not null, 

sname varchar(20) not null , 

ssex varchar(4) not null, 

sdate datetime , 

smail varchar(20) ,

saddress varchar(100),  

sphone nchar(11),

constraint a2 check(ssex in ('男','女')),

)

l 创建课程信息表:

create table course (

cno nchar(11) primary key not null, 

cname varchar(20) not null, 

intro text,

outline text,

tno nchar(11) not null

--教师编号作为课程表的外键

constraint a3 foreign key (tno)references teacher(tno)

)

l 创建教学资源表

create table resource(

rno nchar(11) not null,

rname varchar(255) not null,

cno nchar(11) not null,

tno nchar(11) not null,

upload datetime not null,

rcontent text,

--cno 和 tno 作为resourse的外键

constraint a4 foreign key (cno)references course(cno),

constraint a5 foreign key (tno)references teacher(tno),

)

l 创建学生问题表

use HXJX

create table question(

qno nchar(11) not null,

title varchar(255) not null,

qcontent text,

cno nchar(11) not null,

sno nchar(11) not null,

qdate datetime not null,

--cno sno 作为question的外键

constraint a6 foreign key (cno)references course(cno),

constraint a7 foreign key (sno)references student(sno),

)

l 创建问题回复表

use HXJX

create table answer(

ano nchar(11) not null,

acontent text not null,

qno nchar(11)not null,

tno nchar(11) not null,

adate datetime not null,

constraint a8 foreign key (tno)references teacher(tno),

)

4.2数据的插入操作

l 向教师信息表中插入数据

use HXJX

insert into teacher values

('20220001','宋老师','男','中级','13506542689','2356987@163.com','北大街011号'),            

('20220002','李老师','女','高级','18721234454','1274345@qq.com','北大街012号'),                      

('20220003','张老师','女','特级','13504536453','215487@163.com','东一环路013号'),                     

('20220004','王老师','男','高级','18706545019','234147@163.com','北大街014号')

img

图 4.1教师信息表

l 向学生信息表中插入数据

insert into student values

('220001','张平','男','2022-02-13','255484547@qq.com','雷家巷011号','13659867454'),

('220002','李楠','女','2021-09-16','113221454@qq.com','雷家巷012号','13525986745'),

('220003','王五','男','2021-06-16','245545237@qq.com','北大街013号','13540145478'),

('220004','孙七','女','2022-06-09','35657447@163.com','风景路014号','13659435431')

img

图 4.2 学生信息表

l 向课程表中插入数据

insert into course values

('0001','有机化学分析','针对高考中常见的有机化学题目进行讲解','有机化学基本知识和进阶应用','20220002'),

('0002','化工流程推断30讲','化工流程剖析','工业流程的基本过程','20220001'),

('0003','无机化学分析','针对高考中常见的无机化学题目进行讲解','无机化学基本知识和进阶应用','20220003'),

 ('0004','化学与生活','常见的化学与生活题目进行讲解','基本化学知识和进阶应用','20220004')

img

图 4.3 课程信息表

l 向教学资源表中插入数据

insert into resource values

('001','无机化学总结','0003','20220003','2021-08-12','关于无机化学的详细总结'),

('002','有机化学常见题型','0001','20220002','2022-03-24','关于有机化学的详细总结'),

('003','化学与生活100题','0004','20220004','2020-06-22','化学生活常见100题'),        

('004','化工流程总结','0002','20220001','2020-11-14','化工流程总结')

img

图 4.4 教学资源信息表

l 向学生问题表中插入数据

insert into question values

('01','化工流程过程','化工流程中的具体过程是什么?','0002','220001','2022-03-04'),             

('02','有机化学流程','有机化学中的聚合反应怎么写?','0001','220002','2021-09-16')

('03','无机化学反应','Na钠的性质如何?','0003','220003','2022-08-26'),    

('04','化学生活详解','制造芯片的硅属于什么材料?')

img

图 4.5 学生问题表

l 向问题回复表中插入数据

insert into answer values

('100','原材料加工产出','01','20220001','2022-03-05'),

('101','低分子量单体转化为聚合物','02','20220002','2021-09-17'),

('102','浮游溶响红','03','20220003','2022-08-27'),

('103','无机非金属','04','20220004','2022-08-27')

img

图 4.6 问题回复表

4 .3 数据操作

(1) 数据查询操作

l 查询全部教师的个人信息

select *

from teacher

img

图 4.7 全部教师个人信息

l 查询学号为“220001”的学生的基本信息

select *

from student

where sno = 220001

img

图 4.8 学号为20001的学生基本信息

l 查询全部的问题回复

select *

from answer 

img

图 4.9 问题的全部回复

l 查询学号为220001提问的问题

select qcontent

from question 

where sno  = 220001

img

图 4.10 学号为220001的学生提问的问题

l 查询课程号为0004的课程信息

select *

from course

where cno = 0004

img

图 4.11课程号为0004的课程信息

(2) 数据更新操作

l 将学号为220003的学生电话更新为13506942684

update student

set sphone='13506942684'

where sno = 220003

img

图 4.12 更新后的学生表

l 将教师编号为20220002的教师职称更新为特级

update teacher

set level = '特级'

where tno = 20220002

更新后的教师表如图4.3.7所示

img

图 4.13 更新后的教师表

(3) 数据删除操作

l 删除资源编号为004的全部信息

delete

from  resource

where rno = 004

删除后的资源表如图4.3.8所示

img

图 4.14 删除后的资源表

(4) 建立视图

l 将问题表中的问题编号,问题标题,问题内容建立视图

use HXJX

create view view_1 

as

select qno,title,qcontent

from question

视图建立结果如图4.3.9所示

img

图 4.15 建立的视图

5 总结

通过本次数据库课程设计,完成对高中化学课程网上辅助教学平台的分析和数据库的实现。在过程中,将重点放在系统的分析与数据库设计方面。根据了解系统的相关信息,初步分析系统需求,在需求分析基础上,通过画E-R图,完成对数据库的概念结构设计;将E-R图转化为关系模式,完成数据库的逻辑结构设计;将关系模式转化为数据库中的表,完成数据库的物理结构设计。并利用SQL语句完成数据库中对象的创建、插入数据记录、查询记录、创建数据存储等。

高中化学课程网上辅助教学平台的设计过程,是对软件工程与数据库课程相关内容的温习。整个完成过程严格按照软件开发流程与数据库设计步骤进行,为后期的系统实现打下了坚实的基础。该系统可扩展功能很多,有待进一步完善。相信通过本次数据库课程设计后,在未来的软件开发过程中,我们将更加规范自己的设计过程,使所开发系统更加稳定可靠,具有更多功能,服务于更多用户。

[1] 严蔚敏,吴伟民.数据结构(C语言版)[M].北京:清华大学出版社,2021

[2] 林小玲.数据库原理及应用[M]. 北京:机械工业出版社,2021

[3] 苗雪兰,刘瑞新,宋会群.数据库系统原理及应用教程(第2版)[M].北京:机械工业出版社,2016.

[4] 向阳.信息系统分析与设计(第1版)[M].北京:清华大学出版社,2019.

[5] 卫红春.信息系统分析与设计[M].西安:西安电子科技大学出版社,2013

[6] 郑炜,朱怡安.软件工程[M].西安:西北工业大学出版社,2019

相关文章
|
Web App开发 安全 中间件
谷歌、火狐、Edge等浏览器如何使用ActiveX控件
allWebPlugin 是一款为用户提供安全、可靠且便捷的浏览器插件服务的中间件产品,支持 Chrome、Firefox、Edge 和 360 等浏览器。其 V2.0.0.20 版本支持一个页面加载多个插件,并解决了插件与浏览器之间的焦点问题。用户可通过“信息化系统 + allWebPlugin + 插件 + 浏览器”的解决方案实现 ActiveX 插件的无缝集成。下载地址见文末,安装包含详细说明。
3654 115
|
Linux 文件存储 开发工具
贝锐花生壳内网穿透:无需公网IP,远程访问自建WebDAV文件共享!
WebDAV共享协议支持几乎所有系统和设备,极大方便了文件共享。群晖NAS等设备可通过安装WebDAV套件实现文件共享,结合花生壳内网穿透服务,只需三步即可实现远程访问。具体步骤包括:1. 安装花生壳客户端;2. 登录并配置映射;3. 创建映射,生成远程访问地址。这样,用户可以随时随地访问和管理文件资源。
875 3
|
11月前
|
机器学习/深度学习 算法 计算机视觉
基于CNN卷积神经网络的金融数据预测matlab仿真,对比BP,RBF,LSTM
本项目基于MATLAB2022A,利用CNN卷积神经网络对金融数据进行预测,并与BP、RBF和LSTM网络对比。核心程序通过处理历史价格数据,训练并测试各模型,展示预测结果及误差分析。CNN通过卷积层捕捉局部特征,BP网络学习非线性映射,RBF网络进行局部逼近,LSTM解决长序列预测中的梯度问题。实验结果表明各模型在金融数据预测中的表现差异。
465 10
|
安全 Java API
告别繁琐编码,拥抱Java 8新特性:Stream API与Optional类助你高效编程,成就卓越开发者!
【8月更文挑战第29天】Java 8为开发者引入了多项新特性,其中Stream API和Optional类尤其值得关注。Stream API对集合操作进行了高级抽象,支持声明式的数据处理,避免了显式循环代码的编写;而Optional类则作为非空值的容器,有效减少了空指针异常的风险。通过几个实战示例,我们展示了如何利用Stream API进行过滤与转换操作,以及如何借助Optional类安全地处理可能为null的数据,从而使代码更加简洁和健壮。
424 0
|
XML JSON 网络协议
【TCP/IP】自定义应用层协议,常见端口号
【TCP/IP】自定义应用层协议,常见端口号
436 3
|
小程序 JavaScript Java
微信小程序+SpringBoot接入后台服务,接口数据来自后端
这篇文章介绍了如何将微信小程序与SpringBoot后端服务进行数据交互,包括后端接口的编写、小程序获取接口数据的方法,以及数据在小程序中的展示。同时,还涉及到了使用Vue搭建后台管理系统,方便数据的查看和管理。
微信小程序+SpringBoot接入后台服务,接口数据来自后端
|
数据库连接 API Python
RESTful API 如何处理异常
RESTful API 如何处理异常
|
Python
在Python的pandas库中,向DataFrame添加新列简单易行
【6月更文挑战第15天】在Python的pandas库中,向DataFrame添加新列简单易行。可通过直接赋值、使用Series或apply方法实现。例如,直接赋值可将列表或Series对象分配给新列;使用Series可基于现有列计算生成新列;apply方法则允许应用自定义函数到每一行或列来创建新列。
1325 8
|
SQL 数据采集 分布式计算
Dataphin功能大图(三)研发:设计即研发,规范建模保障数据模型与代码的一致性
在《Dataphin核心功能: 规划功能》一文中, 讲到过Dataphin的OneModel方法论将数据建设分为四层, 分别为主题域模型(建模), 概念模型, 逻辑模型和分析模型。本文将继续展开逻辑模型和分析模型的讲解。
Dataphin功能大图(三)研发:设计即研发,规范建模保障数据模型与代码的一致性
|
存储 缓存 安全
TimeZone-改变JVM默认时区是否影响log4j打印日志中的日期时间?
TimeZone-改变JVM默认时区是否影响log4j打印日志中的日期时间?
589 1