关于Mysql的宿舍管理系统数据库

一、项目背景

随着学校规模的不断扩大,宿舍管理面临着越来越多的挑战。为了提高宿舍管理的效率,减少人工操作,我们设计了一个宿舍管理系统。该系统旨在实现宿舍信息的集中管理、快速查询、数据分析以及提高住宿生的生活质量。

二、系统设计目标

1.实现对宿舍楼、房间、床位等信息的集中管理。

2.提供便捷的查询功能,方便管理员和学生查询宿舍信息。

3.实现宿舍费用的查询和缴纳功能。

4.提供数据分析功能,帮助管理员了解宿舍使用情况和住宿生需求。

5.提高宿舍管理的透明度和公正性,减少人为错误和纠纷。

三、数据库概念模型(ER图)

首先,我们需要定义系统中的主要实体及其之间的关系。在宿舍管理系统中,主要的实体包括宿舍楼(Building)、房间(Room)、床位(Bed)、学生(Student)和费用(Fee)等。以下是这些实体之间的ER图(实体-关系图):

四、数据库表设计

基于上述ER图,我们可以设计出以下的数据库表:

创建数据库宿舍管理系统(Dormitory)

CREATE DATABASE Dormitory;

宿舍楼表(Buildings)

CREATE TABLE Buildings(
BuildingID VARCHAR(8) NOT NULL PRIMARY KEY,
BuildingName VARCHAR(20) NOT NULL,
Address VARCHAR (5)NOT NULL,
FloorCount VARCHAR(5) NOT NULL
);

宿舍表(Rooms)

CREATE TABLE Rooms(
RoomID VARCHAR(5) NOT NULL PRIMARY KEY, 
BuildingID VARCHAR(5) FOREIGN KEY REFERENCES Buildings(BuildingID),
RoomType VARCHAR(50) NOT NULL,
OccupiedStatus ENUM('Empty','Occupied')
);

床位表(Beds)

CREATE TABLE Beds(
BedID VARCHAR(10) PRIMARY KEY,
RoomID VARCHAR(10), FOREIGN KEY REFERENCES Rooms(RoomID),
BedStatus ENUM('Empty', 'Occupied')
);

学生表(Students)

CREATE TABLE students(
StudentID VARCHAR(12) PRIMARY KEY AUTO_INCREMENT,
Name VARCHAR(15),
Gender ENUM('Male', 'Female', 'Other'),
Major VARCHAR(15),
PhoneNumber VARCHAR(15),
BedID VARCHAR(15) FOREIGN KEY REFERENCES Beds(BedID) ON DELETE SET NULL
);

费用表(Frees)

CREATE TABLE Fees(
FeeID  VARCHAR(15) INT PRIMARY KEY AUTO_INCREMENT,
StudentID VARCHAR(15) FOREIGN KEY REFERENCES Students(StudentID),
FeeType VARCHAR(15),
Amount DECIMAL(10, 2),
PaidStatus ENUM('Paid', 'Unpaid'),
PaymentDate DATE);

 仅供参考,写得不好,请大家指出错误的地方,我会好好修改的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值