MySQL管理系统合集

文章描述了如何设计学校宿舍管理系统和车辆违章系统的数据库结构。宿舍管理系统包括宿舍信息、学生信息和查房记录表,而车辆违章系统涉及用户表、车辆表和违章信息表。在设计中,考虑了表间的一对多和一对一关系,并定义了外键约束来确保数据完整性。
摘要由CSDN通过智能技术生成

学校宿舍管理系统

基本要求

设计一个学校宿舍管理系统. 学校宿舍管理系统,要求:

  1. 包含宿舍信息

  1. 学生信息

  1. 每日的宿舍查房记录。

信息分析

  1. 宿舍信息

宿舍信息包含了:

  1. 宿舍号(关键码)

  1. 宿舍成员

  1. 宿舍地址

  1. 宿舍人数(或者当前宿舍现有人数等基本信息)

此处不一一列举

2.学生信息

学生信息包含:

  1. 学生号(id, 关键码)

  1. 身份证等(候选码)

  1. 名字

  1. 年龄

  1. 班级

  1. 联系方式

  1. 宿舍号

3.每日宿舍查房记录

每日查房记录, 有多个宿舍, 都需要查房, 那么就把每个人对一个宿舍查一次房作为一个记录, 这个记录中包含属性:

  1. 序号(主码 / 候选码)

  1. 宿舍号

  1. 时间

  1. 评级

  1. 查房人名字

这个序号并不重要在这张表里面,重要的是里面的时间还有宿舍号.

多张表的设计

宿舍信息表中,每个宿舍为一个记录.宿舍信息肯定包含了宿舍中的成员, 也就是在这个宿舍里面的成员信息, 所以, 这个学生和宿舍就构成了一对多的关系.

宿舍查房记录的最主要是宿舍的房间号,一个序号对应一个宿舍号, 也就是说,宿舍信息和每日查房记录构成一对一的关系.

实现

create table dormitory(
dorID int primary key,
nums int not null,
address varchar(30) not null
);

create table student(
studentID int primary key,
IDcard int primary key,
name varchar(20) not null,
age int not null,
class varchar(20) not null,
dorID int, foreign key(dorID) references dormitory(dorID)
);

create table attendanceCheck(
attendanceList int primary key auto_increment,
dorID int,
checkTime datetime,
ap varchar(20) not null,
nameCheck varchar(20) not null,
foreign key(dorID) references dormitory(dorID)
);

车辆违章系统

基本要求

车辆违章系统:包含用户表车辆表违章信息表

违章信息表中包含 : 用户, 车辆的违章信息

信息分析

  1. 用户表

用户表包含用户的基本信息, 包括但不限于: 用户名,,年龄, 电话, 车牌号, 电话, 身份证等

create table userlist (
    name varchar(20) not null,
    age int not null,
    tele int not null,
    Lpnum varchar(20) unique not null,
    IDcard int primary key
)
  1. 车辆表

包含车辆的基本信息, 包括但不限于 : 车牌号, 车型号, 拥有者身份证等

create table carlist(
    carType varchar(30) not null,
    ownnerID int unique not null,
    carID int primary key
)
  1. 车辆违章信息表

包含车辆的基本信息, 违章的条目和扣分详细等等:

create table breaklist(
    carID not null,
    item  varchar(100) not null,
    decrease int,
    userID int not null
)

表的设计

这里有三张表, 一张是用户表, 一张是车辆表, 一张是车辆违章信息表格, 其中用户表和车辆表一一对应, 用户表和车辆表里面的记录都是唯一的, 也就是单一个用户不会在用户表中存在多条记录, 车辆同样如此. 然后车辆违章信息表和用户表和车辆表是一对多的关系.

在设计车辆违章信息的时候, 将车辆id和用户id设置为两个约束这个表的外键, 如下:

create table breaklist(
    carID int not null,
    item  varchar(100) not null,
    decrease int,
    userID int not null,
    foreign key(carID) references userlist(IDcard),
    foreign key(userID) references carlist(carID)
)
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值