【数据库设计】mysql+jsp实现房屋租赁管理系统(数据库部分)

这篇具有很好参考价值的文章主要介绍了【数据库设计】mysql+jsp实现房屋租赁管理系统(数据库部分)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


本文写于数据库课程设计结课后,总结了完整的数据库设计流程以供参考学习。

一、环境配置

  1. mysql版本:8.0.29 下载链接
  2. IDEA版本:ideaIU 2022.1.1
  3. Tomcat版本:apache-tomcat-9.0.63

二、数据库设计

1.系统说明书

(1)系统要求

某房屋租赁公司欲建立一个房屋租赁服务系统,统一管理房主和租赁者信息,以便快速地提供租赁服务。该系统具有以下功能:

  • 登记房主信息。对于每名房主,系统需登记其姓名、住址和联系电话。
  • 登记房屋信息。所有在系统中登记的房屋都有一个唯一的识别号(对于新增加的房屋,系统会自动为其分配一个识别号)。除此之外,还需登记房屋的地址、房型(如平房、带阳台的楼房、独立式住宅等)、最多能容纳的房客数、租金及房屋状态(待租赁、已出租)。一名房主可以在系统中登记多个待租赁的房屋。
  • 登记租赁者信息。所有想通过该系统租赁房屋的租赁者,必须事先在系统中登记个人信息,包括:姓名、住址、电话号码、身份证编号、性别。
  • 租赁房屋。已经在系统中登记的租赁者,可以得到一分系统提供的待租赁房屋列表。一旦租赁者从中找到合适的房屋,就可以提出看房请求。系统会安排租赁者与房主见面。对于每次看房,系统会生成一条看房记录。
  • 收取手续费。每成功一次租赁服务,系统根据租赁价格按比例生成费用清单。
  • 变更房屋状态。当租赁者与房主达成租房或退房协议后,房主向系统提交变更房屋状态请求。
  • 用户论坛。租赁者在论坛上寻找合租对象、与房主进行交流。
  • 创建视图查询当前空闲的房屋的识别号、地址、房型、最多能容纳的房客数、租金、房主身份证号、房主姓名、房主联系电话。
  • 建立数据库相关表之间的参照完整性约束。

(2)E-R图

【数据库设计】mysql+jsp实现房屋租赁管理系统(数据库部分)

(3)数据流图

【数据库设计】mysql+jsp实现房屋租赁管理系统(数据库部分)
【数据库设计】mysql+jsp实现房屋租赁管理系统(数据库部分)

(4)数据结构

1、Owner_users(房主用户)数据结构:
House_owner=房主用户编号+用户名称+密码+真实姓名+住址+联系电话
2、Tenant_users(租赁者用户)数据结构:
Tenant_users=租赁者用户编号+用户名称+密码+真实姓名+住址+联系电话+性别
3、House(房屋)数据结构:
House=识别号+地址+房型+容量+租金+房屋状态+房主用户编号
4、Record(看房记录)数据结构:
Record=看房记录编号+租赁者用户编号+房屋识别号
5、Charge(收费记录)数据结构:
Charge=收费记录编号+金额+记录编号
6、Message(留言)数据结构:
Message=留言编号+留言内容+留言时间+房主用户编号+租赁者用户编号

(5)关系模式

根据E-R图向关系模型的转换原则,房屋租赁管理系统的E-R图可以转换为下列关系模式:文章来源地址https://www.toymoban.com/news/detail-453147.html

  • Owner_users(OID,userName,password,OName,OAddress,OTelephone),主码OID,无外码
  • Tenant_users(TID,userName,password,TName,TAddress,TTelephone,TSex),主码TID,无外码
  • House(HID,HAddress,layout,capacity,rent,con,OID),主码HID,外码OID
  • Record(RID,TID,HID),主码RID,外码TID,HID
  • Charge(CID,amount,RID),主码CID,外码RID
  • Message(MID,content,createDate,OID,TID),主码MID,外码OID,TID

2.数据库实施

(1)房主用户表

CREATE TABLE Owner_users (
	OID INT AUTO_INCREMENT PRIMARY KEY,
	userName CHAR ( 10 ) NOT NULL,
    password BLOB NOT NULL,
	OName VARCHAR ( 10 ) NOT NULL,
	OAddress VARCHAR ( 30 ) NOT NULL,
	OTelephone VARCHAR ( 20 ) NOT NULL);

(2)租赁者用户表

CREATE TABLE Tenant_users (
	TID INT AUTO_INCREMENT PRIMARY KEY,
	userName CHAR ( 10 ) NOT NULL,
    password BLOB NOT NULL,
	TName VARCHAR ( 10 ) NOT NULL,
	TAddress VARCHAR ( 30 ) NOT NULL,
	TTelephone VARCHAR ( 20 ) NOT NULL,
	TSex ENUM('男','女') DEFAULT '男');

(3)房屋表

CREATE TABLE House (
	HID INT AUTO_INCREMENT PRIMARY KEY,
	HAddress CHAR ( 30 ) NOT NULL,
	layout VARCHAR ( 10 ) NOT NULL,
	capacity INT NOT NULL,
	rent INT NOT NULL,
	con TINYINT NOT NULL,
	OID INT NOT NULL,
	FOREIGN KEY ( OID ) REFERENCES Owner_users( OID ));

(4)看房记录表

CREATE TABLE Record (
	RID INT AUTO_INCREMENT PRIMARY KEY,
	TID INT NOT NULL,
	HID INT NOT NULL,
	FOREIGN KEY ( TID ) REFERENCES Tenant_users ( TID ),
	FOREIGN KEY ( HID ) REFERENCES House ( HID ));

(5)收费记录表

CREATE TABLE Charge(
	CID INT AUTO_INCREMENT PRIMARY KEY,
	amount DOUBLE NOT NULL,
	RID INT NOT NULL,
	FOREIGN KEY ( RID ) REFERENCES Record ( RID ));

(6)留言表

CREATE TABLE Message(
	MID INT AUTO_INCREMENT PRIMARY KEY,
    content VARCHAR( 500 ) NOT NULL,
    createDate TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
    OID INT,
    TID INT,
	FOREIGN KEY ( OID ) REFERENCES Owner_users ( OID ),
	FOREIGN KEY ( TID ) REFERENCES Tenant_users ( TID ));

(7)空闲房屋视图

CREATE VIEW Vacant_house(HID,HAddress,layout,capacity,rent,OID,OName,OTelephone)
AS 
SELECT HID,HAddress,layout,capacity,rent,House.OID,OName,OTelephone
FROM House,Owner_users
WHERE House.OID = Owner_users.OID AND House.con = 0;

(8)已看房屋视图

CREATE VIEW Seen_house(RID,HID,HAddress,layout,capacity,rent,OID,OName,OTelephone,TID)
AS 
SELECT RID,House.HID,HAddress,layout,capacity,rent,House.OID,OName,OTelephone,Tenant_users.TID
FROM House,Tenant_users,Record,Owner_users
WHERE House.HID = Record.HID AND Tenant_users.TID = Record.TID AND House.OID = Owner_users.OID;

(9)已租房屋视图

CREATE VIEW Rented_house(CID,TID,HID,HAddress,layout,capacity,rent,OID,OName,OTelephone,amount)
AS
SELECT CID,TID,House.HID,HAddress,layout,capacity,rent,House.OID,OName,OTelephone,amount
FROM House,Charge,Owner_users,Record
WHERE Charge.RID = Record.RID AND Record.HID = House.HID AND Owner_users.OID = House.OID;

到了这里,关于【数据库设计】mysql+jsp实现房屋租赁管理系统(数据库部分)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • JSP SSM 学生综合测评管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

    一、源码特点      JSP SSM 学生综合测评管理系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,spring+springMVC+mybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为M

    2024年02月07日
    浏览(34)
  • MySQL-数据库设计与实现

    将已建好的概念模型,变成MySQL物理实现。 1.数据库设计的阶段和每阶段的任务; 2.概念模型; 3.逻辑模型及其与概念模型的关系; 4.在DBMS中的物理实现。 数据库的设计大致分为以下几个阶段: 需求分析 根据业务需求,确定应用系统所涉及的数据(信息),以及处理需 求,形

    2024年02月08日
    浏览(81)
  • MySQL实现—新闻发布系统数据库设计

    本章介绍的是一个小型新闻发布系统,管理员可以通过该系统发布新闻信息、管理新闻信息。 一个典型的新闻发布系统网站至少应该包含新闻信息管理、新闻信息显示和新闻信息查询 3 种功 能。 新闻发布系统所要实现的功能具体包括新闻信息添加、新闻信息修改、新闻信息

    2024年02月02日
    浏览(47)
  • 数据库-MySQL 实战项目——学生选课系统数据库设计与实现(附源码)

            该项目非常适合MySQL入门学习的小伙伴,博主提供了源码、数据和一些查询语句,供大家学习和参考,代码和表设计有什么不恰当还请各位大佬多多指点。  MySQL可视化工具:navicat;  数据库:MySql 5.7/8.0等版本均可;      学生选课系统主要完成某学校教务系统中

    2024年04月08日
    浏览(49)
  • 数据库课程设计-图书馆管理系统(2.数据库实现-基于mysql)

    如果对你有帮助,可以给卑微的博主留个赞、关注、收藏   (不是)  (骗一下数据,说不定以后面试就过了,拜谢) 好像有读者说现在不要积分的资源也要vip才能下,如果下不了可以留邮箱到评论区或者私聊,我也把资源放到github了,地址如下: https://github.com/goLSX/library_mana

    2024年02月06日
    浏览(37)
  • 实现数据库增删改查+界面效果-----jsp

    1.通过连接数据库完成用户登录模块。 2.登录成功后查询出一张数据库表中的内容;登录不成功返回登录页面。 3.页面面端要有空值和非法字符验证。 4.登录成功后对一张表中数据进行增加、删除、修改和查询操作。 创建数据库 名字为jdbcHomework,字符编码为utf8 数据库创建表

    2024年02月06日
    浏览(32)
  • 【JAVA】Eclipse+MYSQL数据库+JSP+基础Servlet开发JavaWeb学生信息管理系统

    目录 前言 一、搭建环境  二、功能实现、 1、   登陆界面 注册按钮 2、学生信息管理系统主界面 3、dao包  4、用户的信息展示,添加,删除,修改功能(只展示添加代码) 5、学生的信息展示,添加,删除,修改功能(只展示添加代码) 6、成绩的信息展示,添加,删除,修

    2024年02月05日
    浏览(46)
  • 编写jsp页面实现对数据库表的查询

    在本次作业中,我将eclipse与sql server连接起来,并在SSMS中进行插入数据,从而编写jsp页面实现对数据库表的查询。 一、连接数据库 按照(4条消息) eclipse连接SQL server数据库_eclipse如何连接数据库_shexianyu的博客-CSDN博客 教程中的步骤,最初只得到了加载驱动成功,连接数据库失

    2024年02月07日
    浏览(31)
  • JSP在线小说系统用eclipse定制开发mysql数据库BS模式java编程jdbc

    一、源码特点      JSP 在线小说系统是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,eclipse开发,数据库为Mysql5.0,使用java语言开发。 JSP在线小说系统用eclipse定制开发mysql数据库

    2024年02月12日
    浏览(34)
  • java 宠物医院系统Myeclipse开发mysql数据库web结构jsp编程计算机网页项目

    一、源码特点     java 宠物医院系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发。 java Web 宠物医院管理系统1 下载地

    2024年02月20日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包