学生管理系统

管理员注册/登录/注销

注册班级(班级详细信息)

注册学生信息

查看班级信息/查看老师资料

教师注册/注销  查看教师资料  查看学生资料  根据名称/班级/ 查看学生详细信息--支持模糊

注册科目

管理员(admini)

ad_id(管理员id)     ad_number(管理员账号)

ad_pass(管理员密码)    ad_yn(管理员是否禁用)

create table admini(

ad_id int PRIMARY KEY AUTO_INCREMENT,-- 主键自增,非空唯一

ad_number int unique not null ,-- 非空唯一

ad_pass int  not null,-- 非空

ad_yn varchar(10) check(ad_yn='y' or ad_yn='n' )-- 限制只能为'y'或'n'

)

班级(classes)

cl_id(班级的id)   cl_adress(班级的地址)

create table classes(

cl_id int PRIMARY KEY ,-- 主键

cl_adrss varchar(30) not null-- 非空

)

老师(teacher)

te_id (老师id)  te_name(老师名字)

te_subject(老师科目)  te_yn(是否离职)

create table teacher(

te_id int PRIMARY KEY AUTO_INCREMENT,-- 主键自增,非空唯一

te_name varchar(20) not null,-- 非空

te_subject varchar(20) not null,-- 非空

te_yn varchar(10) check(te_yn='y' or te_yn='n' )-- 限制只能为'y'或'n'

)

老师班级关联表(cla_teacher)

ct_id(关联表)     cl_id(班级_id)     te_id(老师_id)

create table cla_teacher(

ct_id int PRIMARY KEY AUTO_INCREMENT,-- 主键自增,非空唯一

cl_id int,

te_id int

)

-- 添加班级外键

ALTER TABLE cla_teacher ADD CONSTRAINT cl_FK1 FOREIGN KEY(cl_id) REFERENCES classes(cl_id)

-- ALTER TABLE主表名 ADD CONSTRAINT 外键名 FOREIGN KEY(主表作为外键的列名)REFERENCES 从表名(从表列名)

-- 添加老师外键

ALTER TABLE cla_teacher ADD CONSTRAINT te_FK1 FOREIGN KEY(te_id) REFERENCES teacher(te_id)

-- ALTER TABLE主表名 ADD CONSTRAINT 外键名 FOREIGN KEY(主表作为外键的列名)REFERENCES 从表名(从表列名)

学生(student)

stu_id (学生id)   stu_name(学生姓名)

stu_age(学生年龄)   stu_gender(学生性别)  stu_classes(学生班级)

create table student(

stu_id int PRIMARY KEY AUTO_INCREMENT,-- 主键自增,非空唯一

stu_name varchar(20) not null,-- 非空

stu_age int,

stu_gender varchar(10) check(stu_gender='男' or stu_gender='女' ),-- 限制只能为'男'或'女' stu_classes int

)

-- 添加班级外键

ALTER TABLE student ADD CONSTRAINT stucl_FK1 FOREIGN KEY(stu_classes) REFERENCES classes(cl_id)

-- ALTER TABLE主表名 ADD CONSTRAINT 外键名 FOREIGN KEY(主表作为外键的列名)REFERENCES 从表名(从表列名)

科目表(subject)

su_id(科目的id)    su_name(科目名称)   su_teacher(科目老师)

create table subject(

su_id int PRIMARY KEY AUTO_INCREMENT,-- 主键自增,非空唯一

su_name varchar(20) unique not null ,-- 非空唯一

su_teacher int  not null-- 非空

)

-- 添加老师外键

ALTER TABLE subject ADD CONSTRAINT sute_FK1 FOREIGN KEY(su_teacher) REFERENCES teacher(te_id)

-- ALTER TABLE主表名 ADD CONSTRAINT 外键名 FOREIGN KEY(主表作为外键的列名)REFERENCES 从表名(从表列名)

学生科目关联表(stu_su)

ss_id(科目关联表id)    stu_id(学生id)    su_id(科目id)

create table stu_su(

ss_id int PRIMARY KEY AUTO_INCREMENT,-- 主键自增,非空唯一

stu_id int ,

su_id int

)

-- 添加学生外键

ALTER TABLE stu_su ADD CONSTRAINT stu_FK FOREIGN KEY(stu_id) REFERENCES student(stu_id)

-- ALTER TABLE主表名 ADD CONSTRAINT 外键名 FOREIGN KEY(主表作为外键的列名)REFERENCES 从表名(从表列名)

-- 添加科目外键

ALTER TABLE stu_su ADD CONSTRAINT su_FK FOREIGN KEY(su_id) REFERENCES subject(su_id)

-- ALTER TABLE主表名 ADD CONSTRAINT 外键名 FOREIGN KEY(主表作为外键的列名)REFERENCES 从表名(从表列名)

Mysql学生管理系统:表的建立,外键一对多,多对多关系,中间关联表的建立的更多相关文章

  1. MySQL 建立外键约束

    http://www.jzxue.com/shujuku/mysql/201109/06-8742.html MySQL 建立外键约束的语法太晦涩难懂了, 不得不记下笔记. 1. 在建表时建立外键 C ...

  2. MySQL建立外键(Foreign Key)

    如果在最初建立表的时候就建立外键这样一般不会有什么问题,顺便说一下建立外键的时候,需要注意的地方. cascade方式在父表上update/delete记录时,同步update/delete掉子表的匹 ...

  3. Django——ContentType(与多个表建立外键关系)及ContentType-signals的使用

    一.ContentType 在django中,有一个记录了项目中所有model元数据的表,就是ContentType,表中一条记录对应着一个存在的model,所以可以通过一个ContentType表的 ...

  4. Django学习——Django测试环境搭建、单表查询关键字、神奇的双下划线查询(范围查询)、图书管理系统表设计、外键字段操作、跨表查询理论、基于对象的跨表查询、基于双下划线的跨表查询

    Django测试环境搭建 ps: 1.pycharm连接数据库都需要提前下载对应的驱动 2.自带的sqlite3对日期格式数据不敏感 如果后续业务需要使用日期辅助筛选数据那么不推荐使用sqlite3 ...

  5. 自增特性,外键,级联更新与级联删除,表间关系,SELECT用法,GROUP BY

    自增特性 自动增长的作用: 问题:为数据表设置主键约束后,每次插入记录时,如果插入的值已经存在,会插入失败. 如何解决:为主键生成自动增长的值. 自动增长的语法: 字段名 数据类型 AUTO_INCR ...

  6. 第15课-数据库开发及ado.net-数据库介绍,主键,外键,启动数据库,数据库身份验证方式,建表,分离数据库

    第15课-数据库开发及ado.net 数据库介绍,主键,外键,启动数据库,数据库身份验证方式,建表,分离数据库 1.  学习方法 2.  多涨见识 3.  比自己强的人一起,学习更强:比自己更聪明的人 ...

  7. mysql更新(五) 完整性约束 外键的变种 三种关系 数据的增删改

    11-数据的增删改   本节重点: 插入数据 INSERT 更新数据 UPDATE 删除数据 DELETE 再来回顾一下之前我们练过的一些操作,相信大家都对插入数据.更新数据.删除数据有了全面的认识. ...

  8. 在PowerDesigner中设计物理模型1——表和主外键

    原文:在PowerDesigner中设计物理模型1--表和主外键 在PD中建立物理模型由以下几种办法: 直接新建物理模型. 设计好概念模型,然后由概念模型生成物理模型. 设计好逻辑模型,然后由逻辑模型 ...

  9. SQL Server中建立外键的方法

    在SQL中建立外键约束,可以级联查询表中的数据,在C#代码生成器中,也能根据外键关系生成相应的外键表数据模型.外键也可防止删除有外键关系的记录,一定程度上保护了数据的安全性. 步骤: 1.要建立外键关 ...

  10. python 全栈开发,Day62(外键的变种(三种关系),数据的增删改,单表查询,多表查询)

    一.外键的变种(三种关系) 本节重点: 如何找出两张表之间的关系 表的三种关系 一.介绍 因为有foreign key的约束,使得两张表形成了三种了关系: 多对一 多对多 一对一 二.重点理解如果找出 ...

随机推荐

  1. CI 笔记(easyui js命令)

    1. 两种方式加载easyui,一是用class自动渲染,一种是js.建议js. 2. 参考李炎恢的easyui的视频教程.最好的一个视频,对于easyui.

  2. 分享最近写的一个存储过程 SOLVE_LOCK

    CREATE OR REPLACE PROCEDURE SOLVE_LOCK AS V_SQL VARCHAR2(3000); --定义 v_sql 接受抓取锁的sql语句V_SQL02 VARCHA ...

  3. ios地图小例子和手势的使用 供大家参考一下呦

    最近做了一个小例子 做点笔记 供刚入职场的菜鸟学习,也供自己记忆. 目标:在地图上加上标记  同时复习一下手势的使用 效果图: 具体代码 导入框架:MapKit.framework 创建一个新类 继承 ...

  4. SpringMVC4+thymeleaf3的一个简单实例(篇一:基本环境)

    首语:用SpringMVC和thymeleaf实现一个简单的应用,包括基本环境搭建,SpringMVC4和thymeleaf3的整合,页面参数的获取,页面参数验证,以及用MySQL保存数据.我会把步骤 ...

  5. (java)从零开始之--异常处理(以文件拷贝为例)

    开发过程中避免不了对异常的处理,但是异常的处理又不能乱throw 下面是简单的抛异常处理 public static void CopyFile(String souFile,String dirFi ...

  6. WampServer修改端口及菜单Localhost

    一.修改Apache端口 1.在界面中选Apache,弹出隐藏菜单选项,打开配置文件httpd.conf: 2.找到 Listen 80: 3.将 80 改成 8080(当然自己也可以设定别的不使用的 ...

  7. 线程取消 (pthread_cancel)

    线程取消(pthread_cancel) 基本概念pthread_cancel调用并不等待线程终止,它只提出请求.线程在取消请求(pthread_cancel)发出后会继续运行,直到到达某个取消点(C ...

  8. 验证视图状态MAC失败解决方案

    验证视图状态 mac 失败.如果此应用程序由网络场或群集承载 请确保 machinekey 配置指定了相同的 validationkey 和验证算法.不能在群集中使用 autogenerate. 总是 ...

  9. MySQL5.7.9免安装版配置方法

    1. 解压MySQL压缩包    将下载的MySQL压缩包解压到自定义目录下,我的解压目录是:    "D:\Program Files\mysql-5.7.9-win32"    ...

  10. CSS远程加载字体

    CSS 远程加载字体的方法,做网站CSS的都知道,用户浏览网站时,网页上的字体是加载本地的.换言之,如果网站使用了用户电脑所没有安装的字体,那显示字体就会被默认字体所代替了,自然效果就大受影响了. 上 ...