【数据库】实验三-系统设计综合实验

唠唠嗑

在刚结束的学期里,课设任务是实现排课系统,需要实现基本功能和GUI界面。想起与上学期数据库三的综合实验类似,就将部分数据库三的实验报告内容搬运到这里,一起学习

实验内容

假设有“教师”、“学生”、“课程”三个实体。
教师的基本信息包括:工号、姓名、职称、工资;
课程的基本信息包括:课程号、课程名、学分数;
学生的基本信息包括:学号、姓名、性别、年龄。
系统必须满足以下要求:
(1) 一门课程只能有一个教师任课,一个教师可以上多门课程;
(2) 一个学生可以选修多门课程,一门课程可以由多个学生来选修,记录不同学生选修不同课程的成绩;
(3) 设置一个管理员,用于维护(添加、删除和修改等基本任务)学生基本信息、教师基本信息和教师所授课程等工作,此外,管理员添加学生时,为其设置初始密码;当学生选修了某门课程,课程成绩由管理员录入;
(4) 学生可以利用学号和密码登录系统,登陆系统后,可以进行选课、修改密码和个人基本信息、查询自己的选课及总学分等操作;
(5) 能够统计不同职称的教师的数量、不同职称的教师的平均工资,可以统计每门课程的平均成绩、最高分、最低分,统计每个学生选修课程的总学分;

实验问题

根据上述描述,解答下列问题:
(1) 设计并画出E-R 图,要求标注连通词(即联系类型);
(2) 将E-R 图转化为关系模型,并指出各关系的主码和外码;
(3) 在MySql、SQL Server、Oracle 中选择一个数据库管理系统,并完成数据库的逻辑设计;

实验结果

E-R图

在这里插入图片描述

关系模型

teacher(tno,tname,tprofession,tsalary,tpwd),tno为teacher的主码;
student(sno,sname,ssex,sage,spwd),sno为student的主码;
course(cno,cname,ccredit,tno),cno为course的主码;
sc(sno,cno,grade),(sno,cno)为sc的主码,sno为外码,参照student的主码,cno为外码,参照course的主码。

逻辑设计

选择Oracle;
创建用户C##AA(oracle12c的用户必须要以C##作为前缀),并授权用户相应的权限:

create user C##AA identified by aapassword;
grant connect,resource,unlimited tablespace to C##AA;
grant create view to C##AA;

在C##AA用户下创建表格:

//教师表
create table teacher(
   tno varchar(10) primary key,
   tname varchar(10) not null,
   tprofession varchar(10)not null,
   tsalary smallint not null,
   tpwd varchar(10) not null
);
//学生表
create table student(
   sno varchar(10) primary key,
   sname varchar(10) not null,
   ssex varchar(5)check (ssex in ('男','女')),
   sage smallint not null,
   spwd varchar(10) not null
);
//课程表
create table course(
   cno varchar(10) primary key,
   cname varchar(15) not null,
   ccredit varchar(5) not null,
   tno varchar(10) not null
);
//选修关系表
create table sc(
   sno varchar(10) ,
   cno varchar(10) not null,
   grade varchar(5) ,
   primary key(sno,cno),
   foreign key(sno) references student(sno),
   foreign key(cno) references course(cno)
);
//管理员表
create table admi(
  ano varchar(10) primary key,
  apwd varchar(10) not null
);

插入数据:

//插入教师信息
insert into teacher(tno,tname,tprofession,tsalary,tpwd)values('001','李粤','教授','20000','123456');
insert into teacher(tno,tname,tprofession,tsalary,tpwd)values('002','王大庆','教授','20000','123456');
insert into teacher(tno,tname,tprofession,tsalary,tpwd)values('003','张悦','讲师','10000','123456');
insert into teacher(tno,tname,tprofession,tsalary,tpwd)values('004','林小徐','副教授','15000','123456');
//插入学生信息
insert into student(sno
  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
数据库一个用来存储和管理数据的系统数据库系统设计综合实验C主要是指在数据库系统设计方面的综合实验。这个实验通常包括数据库设计、搭建、测试和优化等多个环节,旨在让学生在实际操作中掌握数据库系统设计的全流程。 数据库系统设计综合实验C的主要内容包括: 1. 数据库设计:根据实际需求,对数据库进行设计,包括确定数据表的结构、设置主键、外键等约束条件,设计适当的索引等。 2. 数据库搭建:根据设计好的数据库结构,使用数据库管理系统(如MySQL、Oracle等)搭建数据库,创建数据表,插入数据等。 3. 数据库测试:对搭建好的数据库进行系统测试,包括对数据的增删改查操作、性能测试、安全性测试等。 4. 数据库优化:通过分析数据库性能瓶颈等问题,进行适当的优化,包括修改索引设计、优化SQL语句等。 通过这个实验,学生将能够掌握数据库系统设计的基本原理和方法,了解数据库设计的实际应用,为将来从事数据库相关工作打下坚实的基础。同时,实验还将培养学生的团队合作能力和问题解决能力,提高他们的实际操作能力。 总的来说,数据库系统设计综合实验C是一个重要的实践环节,对于学生来说具有非常重要的意义,是他们将理论知识应用到实际工作中的一个非常好的机

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值