数据库实验三 数据库系统设计综合实验实验报告

您所在的位置:网站首页 ssm框架实训目的 数据库实验三 数据库系统设计综合实验实验报告

数据库实验三 数据库系统设计综合实验实验报告

2023-11-27 09:32| 来源: 网络整理| 查看: 265

广州大学学生实验报告

开课学院及实验室:计算机学院 2020年12月24日

学院 计算机学院 年级、专业、班级 网络192 姓名 zoea 学号 19062000** 实验课程名称 数据库原理实验 成绩 实验项目名称 数据库系统设计综合实验 指导老师 *** 一、预备知识

本实验的任务是设计并实现一个数据库系统。数据库设计的一般步骤包括:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护。

(1) 概念结构设计

了解概念结构设计的基本方法,根据需求分析的结果或实验题目给出的要求,能够准确地用实体联系图来描述实体和实体之间的联系。

(2)逻辑结构设计

理解逻辑结构设计的基本方法,根据实体联系图的设计,转换成合理的关系模式,每个关系模式至少应该满足第三范式的要求。

(3) 物理结构设计

理解物理结构设计的基本方法,选择合理的索引结构和存储结构,优化数据库的存取。

(4)数据库实施

选择一门熟悉的面向对象程序设计语言,完成应用程序的开发。

二、实验目的

通过实验,使学生掌握数据库系统设计和开发的一般方法,能够设计并实现简单的数据库系统。

三、实验要求

熟悉实验室实验环境,掌握实验预备知识,了解实验中故障排除的基本方法。实验中根据实验内容和步骤完成相应的任务,并独立完成实验报告。实验素材可选择数据库原理实验七素材,也可以自行选题,选题要求有一定的难度,设计的数据库系统至少要有5张表。

四、实验环境

操作系统:Windows10

数据库管理系统:MySQL 5.7

java库:JDK1.8

web服务器:Tomcat 9.0.37

项目结构:Maven 3.6.3

开发工具:Navicat、Intellij IDEA 2020.1

五、实验内容和步骤 1.实验题目

假设有“教师”、“学生”、“课程”三个实体,教师的基本信息包括:工号、姓名、职称、工资,课程的基本信息包括:课程号、课程名、学分数,学生的基本信息包括:学号、姓名、性别、年龄。系统必须满足以下要求:

(1) 一门课程只能有一个教师任课,一个教师可以上多门课程;

(2) 一个学生可以选修多门课程,一门课程可以由多个学生来选修,记录不同学生选修不同课程的成绩;

(3) 设置一个管理员,用于维护(添加、删除和修改等基本任务)学生基本信息、教师基本信息和教师所授课程等工作,此外,管理员添加学生时,为其设置初始密码;当学生选修了某门课程,课程成绩由管理员录入;

(4) 学生可以利用学号和密码登录系统,登陆系统后,可以进行选课、修改密码和个人基本信息、查询自己的选课及总学分等操作;

(5) 能够统计不同职称的教师的数量、不同职称的教师的平均工资,可以统计每门课程的平均成绩、最高分、最低分,统计每个学生选修课程的总学分;

根据上述描述,解答下列问题:

(1) 设计并画出E-R 图,要求标注连通词(即联系类型);

(2) 将E-R 图转化为关系模型,并指出各关系的主码和外码;

(3) 在MySql、SQL Server、Oracle 中选择一个数据库管理系统,并完成数据库的逻辑设计;

2.大致的需求

image-20201231223536872

3.数据库表的E-R图

image-20201231230817404

image-20201231230904924

image-20201231230942259

关系模型

student(sid,sname,gender,age,uid,pwd)中sid为主码;

course(cid,cname,credit)中cid为主码

teacher(tid,tname,post,salary)中tid为主码

tc(tid,cid)中tid,cid为主码,tid为外码引用teacher的tid,cid为外码引用course的cid

sc(sid,cid)中sid,cid为主码,sid为外码引用student的sid,cid为外码引用course的cid

4.创建数据库和表

新建一个数据库

image-20201226102846963

建表:目前需要六张表,即:教师表、学生表、课程表、教师课程表、学生课程表、管理员表:

image-20201226103039015

源代码:

CREATE TABLE teacher( tid INT(16) PRIMARY KEY, tname VARCHAR(11) NOT NULL, post VARCHAR(11),#职位 salary DOUBLE(11, 3) ); CREATE TABLE student( sid INT(16) PRIMARY KEY, sname VARCHAR(11) NOT NULL, gender VARCHAR(1), age INT(2), uid VARCHAR(20), pwd VARCHAR(20)#密码 ); CREATE TABLE course( cid INT(16) PRIMARY KEY, cname VARCHAR(11) NOT NULL, credit DOUBLE(2,1)#学分 ); CREATE TABLE tc( tid INT(16), #一个课程只有一个老师,采用UNIQUE约束 cid INT(16) UNIQUE, FOREIGN KEY(tid) REFERENCES teacher(tid), FOREIGN KEY(cid) REFERENCES course(cid), PRIMARY KEY(tid,cid) ); CREATE TABLE sc( sid INT(16), cid INT(16), grade DOUBLE(4,1),#学生该课程的成绩 FOREIGN KEY(sid) REFERENCES student(sid), FOREIGN KEY(cid) REFERENCES course(cid), PRIMARY KEY(sid,cid) ); CREATE TABLE manager( mid INT(16) PRIMARY KEY, pwd VARCHAR(20) ); 5.创建SSM项目

1.创建Maven项目

image-20201226103624773

image-20201226103652332

添加web支持:

image-20201226105558465

IDEA连接数据库:

image-20201226162429255

连接成功

image-20201226162836580

6.项目结构

主要采用MVC结构

image-20201231232312886

根据该结构创建的目录:

image-20201231232423035

7.相关配置文件的编写 依赖相关

首先是pom.xml导入相关依赖,以及解决Maven资源过滤的问题

4.0.0 org.example DBProject 1.0-SNAPSHOT junit junit 4.12 mysql mysql-connector-java 5.1.47 com.mchange c3p0 0.9.5.2 javax.servlet servlet-api 2.5 javax.servlet.jsp jsp-api 2.2 javax.servlet jstl 1.2 org.mybatis mybatis 3.5.2 org.mybatis mybatis-spring 2.0.2 org.springframework spring-webmvc 5.1.9.RELEASE org.springframework spring-jdbc 5.1.9.RELEASE src/main/java **/*.properties **/*.xml false src/main/resources **/*.properties **/*.xml false Spring相关配置

spring-dao.xml



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3