教学管理系统E-R建模
一、抽象对象
对于教学管理系统,我们就很容易想到教学管理中肯定有老师,而老师是有性别,年龄,电话号码,家庭住址作为属性的,有老师就一定有课程,老师可以进行授课,老师可以以一对多的形式讲授特定的课程系,而课程要进行区分,所以课程也是要有属性的,那就给课程一个编号,名称,以及上课时间地点等信息,有这么多课程和老师,总不能都由校长负责管理吧,那就在老师中找出一个人进行替校长管理相同类型课程或授课老师的事务,那么就需要一个主管来管理老师,既然有一个主管负责授课内容基本一致的老师和性质相同课程的事务管理,那就很明显会有不同性质的团队区分出来,那就给这个主管负责的团队一个编号吧,这样就更容易管理了,于是就出现了系,同时为了更易区别系与系之间的情况,那就给系也给一些属性,于是我们就能够知道以下的简单的实体图
那么,我们接着分析,对于实体之间都是有联系的,那我们就分析一下联系关系吧:
1、首先主管是由老师这个群体产生,所以主管本质上是老师,主管又是整个系的负责人,所以只能有一个,这样,主管就和系形成了一对一的关系。
2、每个系中不可能只有一个老师,而每个老师只能属于一个系,这样系就和老师形成了一对多的关系
3、每个系中都有多门课程,这样系就和课程形成了一对多的关系,也就是系开设的课程
4、老师的职责是授课,那么一个老师可以讲授一门课程,也可以讲授多门课程,而一个课程可以由一个老师讲授,也可以由多个老师讲授,这样就形成了老师与课程之间多对多的联系
二、图形示例
经过以上分析,我们获得了实体之间的对应关系,如下图所示:
根据截图中的ER图,进行建表
1.矩形表示实体
2.菱形表示对实体与实体之间关系的描述
3.椭圆是实体的属性
4.每个系都有一个系主任来管理(系主任也是教师)
5.每个系都可以请求多个任课教师
6.系里面可以没有任何老师
7.任课老师也可以不属于任何系
三、sql语句汇总
下面是创建表的sql语句
首先创建教师表,教师表中无引用列,不会产生依赖错误:
create table t_teacher(id number primary key,name varchar2(100) not null,gender char(1) check(gender in('f','m')),title varchar2(100)
);
建立系部门表,将系主管使用外键引用老师表,在这里解决了部门主管与老师一对一的关系,具体使用外键和unique限制
create table t_dept(id number primary key,name varchar2(100) unique,phone number,manager_id number references t_teacher(id),unique(manager_id)
);
建立部门表之后,我们进行创建课程表,由于是一对多关系,因此我们只需在多的表建立外键引用一的表即可
create table t_course(id number primary key,name varchar2(100) not null,credit number not null,dept_id number references t_dept(id)
);
描述系与教师1对多关系,在这里可要注意了,由于部门主管引用了教师表中的教师编号列,那么如果我们再引用部门中的列就会形成相互依赖,对于相互依赖,数据库设计中可是不允许的,因此我们采用建桥表的方式进行关联部门表,如下所示代码:
create table t_tea_dept(id number primary key,dept_id number references t_dept(id),teacher_id number references t_teacher(id),unique(teacher_id)
);
描述教师和课程多对多关系 ,在教师讲授的课程中,我们能够再次抽象出一个表,用于记录教师与课程以及教师课程的信息
create table t_tea_cour(id number primary key,book varchar2(200) not null,teacher_id number references t_teacher(id),course_id number references t_course(id)
);
教学管理系统E-R建模相关推荐
- 简单教学管理系统画E-R关系图
例题: 现有一简单教学管理系统,需要反应如下情况: 学生有属性︰学号.姓名.性别.年龄.籍贯: 教师有属性∶教师名.年龄.职称: 课程有属性∶课程号.课程名.学分: 假设一个学生能选多门课:一门课由多 ...
- web课设 thinkphp5+mySQL 简易教学管理系统
教学管理系统 需求 结果展示 登录界面 学生界面 教师界面 管理员界面 数据库设计 E-R图 实现 一.文件创建 二.前端界面 三.数据库设置 四.控制器 五.前端返回信息处理 ajax简单入门 需求 ...
- SQL Server【数据库-系统设计-大作业】【教学管理系统】【完整代码】
SQL Server 2012(软件名称)--教学管理系统的后台数据库设计(实验名称) 实验报告展示 目 录 1.课本[P281-P287] 2.SQL语句[建立数据表(6个表).插入数据] 2. ...
- [附源码]java毕业设计实践教学管理系统
项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...
- [附源码]SSM计算机毕业设计实践教学管理系统JAVA
项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...
- [附源码]计算机毕业设计JAVA实践教学管理系统
[附源码]计算机毕业设计JAVA实践教学管理系统 项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(Inte ...
- 数据库应用课程设计 教学管理系统 大学编程作业(TUST天津科技大学2022年)
教学管理系统 目录 教学管理系统 一.项目简介 二.交流学习 数据库应用课程设计报告 教学管理系统 一.设计题目:教学管理系统 1. 课题简介 : 二.设计目的: 三.设计内容和步骤: 1.需求分析: ...
- 基于web的实验教学管理系统java ssm教学视频平台源码和论文
研究背景 近几年来,随着地方高等院校办学规模的不断扩大,为了适用社会发展需要,地方高校将应用 型人才培养作为学校的人才培养目标.为了适应学校应用型人才培养目标,各专业尤其是理工科专 业人才培养方案中加 ...
- 数据库应用课程设计 教学管理系统 大学编程作业(TUST 天津科技大学 2022 年)
数据库应用课程设计 教学管理系统 大学编程作业(TUST 天津科技大学 2022 年) 数据库应用课程设计 教学管理系统 大学编程作业(TUST 天津科技大学 2022 年) 一.项目简介 二.交流学 ...
最新文章
- 获得jar包存放路径的方法
- Zabbix 安装部署
- nginx访问502 gateway,*1 connect() failed (111: Connection refused) while connecting to upstream
- 直播预告:基于动态词表的对话生成研究 | PaperWeekly x 微软亚洲研究院
- BZOJ 1097 [POI2007]旅游景点atr
- window server 2012 IE10 增强的安全设置 如何关闭
- 前端开发 表格元素 单元格的合并 0229
- 新版本vsphere支持最大单个vmdk超过2T,理论上支持最大62T
- miui11是android几,miui11是安卓几
- 【语音分离】基于matlab FASTICA语音分离【含Matlab源码 1023期】
- 软件工程专业英语专用名词翻译
- 计算机网络实验报告3-tcp,计算机网络实验报告3 TCP
- SQL注入学习之union联合查询注入
- Qt环境下调用捷宇高拍仪OCX
- 2019 8 9 STM32F407ADS1526连续转换模式相关配置(采样率达到15000SPS)
- 基于msm8916移植lcd流程
- 证明最小码距与纠检错图像_最小码距和检错纠错能力关系
- 电影评论分类:二分类问题 —— R语言实现
- win10系统双屏显示
- 深入理解debuginfo