第一次 “数据库原理及应用”课程实践大作业

针对房屋租赁管理系统开发,设计该系统数据库,并在PostgreSQL数据库服务器中实现该数据库。

1)分析房屋租赁管理系统业务的基本数据需求,使用Power Designer建模工具,建立房屋租赁管理系统概念数据模型CDM。

2)针对关系数据库设计,在Power Designer建模工具中,将房屋租赁管理系统概念数据模型转换为系统逻辑数据模型LDM设计,并进行规范化完善设计。

3)针对PostgreSQL数据库实现,在Power Designer建模工具中,将房屋租赁管理系统逻辑数据模型转换为系统物理数据模型PDM设计。

4)在Power Designer建模工具中,将房屋租赁管理系统物理数据模型转换为SQL脚本程序

5)在PostgreSQL数据库服务器中,执行该SQL脚本程序,实现房屋租赁管理系统数据库对象创建实现

作业要求:在作业文档分别给出房屋租赁管理系统的概念数据模型、逻辑数据模型、物理数据模型模型设计图,

并将数据库设计模型在PostgreSQL数据库服务器进行实现。给出各个模型设计步骤、设计说明、执行结果界面,并对结果进行说明

实验流程

1.新建概念数据模型

2.选取概念数据类型,输入名称

3.定义租户实体

4.命名实体名称

5.命名实体属性

6.同理定义房屋、房主、租贷合同实体

7.建立实体联系,点取实体联系符号,连接“租户”实体与“房屋”实体

8.双击联系符号,进入联系选项设置,命名实体联系名称

9.设置实体之间的数量关系、参与关系

10.类似方法建立其他实体之间的联系

11.保存概念数据模型

逻辑数据模型设计图

1.    在工具栏中选取创建逻辑数据模型菜单项

关于powerdesinger 出现Entity Attribute code uniqueness解决办法

Tool->check model...去掉Entity Attribute下Entity Attribute name uniqueness 和 Entity Attribute code uniqueness

关于powerdesinger 出现Entity Attribute code uniqueness解决办法_咸鱼恒星的博客-CSDN博客

2.    进入逻辑数据模型转换设置对话框,设置选项与名称后,点击确定

3.    即可将概念数据模型转换为逻辑数据模型

4.    对转换之后的逻辑数据模型进行完善设计,可以增加实体属性

5.    为了更完整展示逻辑数据模型显示内容,可选取工具菜单栏,显示选项菜单项;进入模型显示设置页面,对逻辑数据模型实体显示内容进行设置,点取确定,即可看到逻辑数据模型完整内容

物理数据模型设计图

1.    点取菜单工具Tools->创建物理数据模型Generate Physical Data Model

2.    选取DBMS :PostgreSQL 9.x, 命名物理数据模型名称,点击确定,即可将逻辑数据模型转换为物理数据模型

3.    对物理数据模型的显示内容进行设置, 可通过点取工具菜单中的显示选项菜单项, 进入模型显示设置页面, 对物理数据模型显示内容进行设置,即可看到所需要的模型设计内容

转换为SQL脚本程序,并在PostgreSQL数据库服务器进行实现。

1.    点取数据库菜单栏"Databases"

2.    点取创建数据库菜单项Generate Database

3.    进入数据库设置对话框页面, 在对话框页面中设置脚本转换选项,即可转换为SQL脚本程序

4.    在文本编辑器中,可以打开创建的SQL文件,即可看到各个数据库对象创建的SQL语句

5.    执行SQL脚本创建数据库对象,在PostgreSQL数据库管理工具中,执行SQL脚本,实现数据库对象创建

6.    使用pgAdmin4数据库管理工具,连接PostgreSQL数据库服务器,在服务器中创建房屋租赁数据库HouseDB

7.    调入创建数据库对象的SQL脚本文件,Tool,Query Tool

7.删除索引文件

8.运行 ,刷新数据库,完成

SQL文件内容

/*==============================================================*/
/* DBMS name:      PostgreSQL 9.x                               */
/* Created on:     2022Äê4ÔÂ24ÈÕ 19:57:04                          */
/*==============================================================*//*==============================================================*/
/* Table: contract                                              */
/*==============================================================*/
create table contract (IDnumber             VARCHAR(18)          not null,IDnumber2            VARCHAR(18)          not null,renttime2            DATE                 null,owner2               VARCHAR(20)          null,address2             VARCHAR(50)          null,tenement             VARCHAR(20)          null
);/*==============================================================*/
/* Index: partyB_FK                                             */
/*==============================================================*/
create  index partyB_FK on contract (
IDnumber
);/*==============================================================*/
/* Index: partyA_FK                                             */
/*==============================================================*/
create  index partyA_FK on contract (
IDnumber2
);/*==============================================================*/
/* Table: house                                                 */
/*==============================================================*/
create table house (address              VARCHAR(50)          not null,area                 NUMERIC(5,2)         not null,owner                VARCHAR(20)          not null,housetype            CHAR(4)              not null,renttime             DATE                 null,rent                 VARCHAR(20)          null,number               SERIAL               not null,IDnumber             VARCHAR(18)          null,IDnumber2            VARCHAR(18)          not null,rentstate2           CHAR(4)              null,constraint PK_HOUSE primary key (number)
);/*==============================================================*/
/* Index: house_PK                                              */
/*==============================================================*/
create unique index house_PK on house (
number
);/*==============================================================*/
/* Index: rent_FK                                               */
/*==============================================================*/
create  index rent_FK on house (
IDnumber
);/*==============================================================*/
/* Index: own_FK                                                */
/*==============================================================*/
create  index own_FK on house (
IDnumber2
);/*==============================================================*/
/* Table: owner                                                 */
/*==============================================================*/
create table owner (name2                VARCHAR(20)          null,gender2              CHAR(2)              null,address3             VARCHAR(50)          not null,phonenumber2         VARCHAR(11)          null,identity             CHAR(4)              not null,IDnumber2            VARCHAR(18)          not null,constraint PK_OWNER primary key (IDnumber2)
);/*==============================================================*/
/* Index: owner_PK                                              */
/*==============================================================*/
create unique index owner_PK on owner (
IDnumber2
);/*==============================================================*/
/* Table: tenement                                              */
/*==============================================================*/
create table tenement (IDnumber             VARCHAR(18)          not null,name                 VARCHAR(20)          not null,gender               CHAR(2)              not null,phonenumber          VARCHAR(11)          not null,address              VARCHAR(50)          not null,renttime             DATE                 null,rentstate2           CHAR(4)              null,constraint PK_TENEMENT primary key (IDnumber)
);/*==============================================================*/
/* Index: tenement_PK                                           */
/*==============================================================*/
create unique index tenement_PK on tenement (
IDnumber
);alter table contractadd constraint FK_CONTRACT_PARTYA_OWNER foreign key (IDnumber2)references owner (IDnumber2)on delete restrict on update restrict;alter table contractadd constraint FK_CONTRACT_PARTYB_TENEMENT foreign key (IDnumber)references tenement (IDnumber)on delete restrict on update restrict;alter table houseadd constraint FK_HOUSE_OWN_OWNER foreign key (IDnumber2)references owner (IDnumber2)on delete restrict on update restrict;alter table houseadd constraint FK_HOUSE_RENT_TENEMENT foreign key (IDnumber)references tenement (IDnumber)on delete restrict on update restrict;

设计房屋租赁管理系统--PostgreSQL--数据库原理及应用相关推荐

  1. 基于springboot房屋租赁管理系统 (源代码+数据库+需求分析文档) 006

    代码地址 https://gitee.com/ynwynwy/houserent-public 基于springboot房屋租赁管理系统 (源代码+数据库+需求分析文档) 一.系统介绍 包括管理员.房 ...

  2. 数据库课程设计-图书馆管理系统(1.数据库分析部分)

    图书馆管理系统第一部分,数据库分析. 主要是需求分析.设计概要模块.数据库概念结构设计(E-R图).数据库逻辑结构设计(表.存储过程.触发器) 目录 1. 需求分析 1.1 数据流图 1.2 数据字典 ...

  3. (JAVASwing界面)java实现简单的人事管理系统(数据库原理课程设计)

    题目:人事管理系统 重要!!!! 此文章可以作为报告提交,只需要按照你们的格式调整即可,文章内容符合大学报告格式. 摘要(包含两个部分): 1.课题需要完成的内容 人事管理系统是企业管理系统中不可缺少 ...

  4. 数据库课程设计-图书馆管理系统(2.数据库实现-基于mysql)

    如果对你有帮助,可以给卑微的博主留个赞.关注.收藏   (不是) (骗一下数据,说不定以后面试就过了,拜谢) 数据库选用mysql 8.0.25   64位, 配合使用navicat mysql可以在 ...

  5. python房屋租赁系统的设计与实现_房屋租赁管理系统数据库的设计与实现

    目:房屋租赁管理系统数据库的设计与实现 目录 1 系统概况 ...................................................................... ...

  6. 房屋租赁管理系统的设计和实现,SpringBoot计算机毕业设计论文

    作者主页:Designer 小郑 作者简介:Java全栈软件工程师一枚,来自浙江宁波,负责开发管理公司OA项目,专注软件前后端开发(Vue.SpringBoot和微信小程序).系统定制.远程技术指导. ...

  7. 免费开放阅读 | 数据库管理系统的事务原理(上)

    作者介绍: 那海蓝蓝,腾讯技术工程事业群计费平台部金融云TDSQL数据库T4级专家,熟悉PostgreSQL.MySQL.Informix等数据库内核技术,著有<数据库查询优化器的艺术>一 ...

  8. 计算机毕业设计Java房屋租赁管理系统(源码+系统+mysql数据库+lW文档)

    计算机毕业设计Java房屋租赁管理系统(源码+系统+mysql数据库+lW文档) 计算机毕业设计Java房屋租赁管理系统(源码+系统+mysql数据库+lW文档) 本源码技术栈: 项目架构:B/S架构 ...

  9. java计算机毕业设计房屋租赁管理系统源码+系统+lw+数据库+调试运行

    java计算机毕业设计房屋租赁管理系统源码+系统+lw+数据库+调试运行 注意:该项目只展示部分功能,如需了解,文末获取源码地址. 临近学期结束,还是毕业设计,你还在做java程序.网络编程.课程设计 ...

  10. JAVA房屋租赁管理系统计算机毕业设计Mybatis+系统+数据库+调试部署

    JAVA房屋租赁管理系统计算机毕业设计Mybatis+系统+数据库+调试部署 JAVA房屋租赁管理系统计算机毕业设计Mybatis+系统+数据库+调试部署 本源码技术栈: 项目架构:B/S架构 开发语 ...

最新文章

  1. 第六十九期: 漫画说算法之什么是一致性哈希?
  2. java中的4种reference的差别和使用场景(含理论、代码和执行结果)
  3. 自学python3 最好的入门书籍-清华学霸整理,Python入门到精通这几本书帮你快速入行...
  4. 把txt作为数据源绑定到GridView中
  5. ecshop 影响全局的标量lib_main.php
  6. oracle 基本dos命令,Oracle 常用 Dos命令
  7. bzoj2655 calc
  8. 关于虚拟机,影子系统和游戏机器码的问题
  9. 【数据库】数据库的锁机制及原理
  10. CSS 左中右三列布局5种方式
  11. 虚拟运营商出牌:流量不清零难成杀手锏
  12. 附下载 | 图解密评联委会《商用密码应用安全性评估FAQ(第二版)》
  13. 关于MySQL的二次安装问题
  14. ios dat 文件读写_iOS数据恢复前沿探索
  15. 一家之言:de_nuke全面分析
  16. 《C++ primer》(第5版) chapter9 读书笔记
  17. S7-1200和S7-1500计数器操作
  18. 嵌入式 html 解析文件,嵌入式软件测试——方法、案例与模板详解.html.pdf
  19. php的源码怎么查看,php 查看页面源代码的实现代码(图文)
  20. NXP freescale 开发环境搭建

热门文章

  1. Web业务性能优化技术总结
  2. wordpress字体_如何在WordPress中使用网络字体
  3. Android ~ 国际化(多语言)
  4. 使用xshell连接阿里云服务器【最近版、无坑系列】
  5. vpp flowprobe
  6. 计算机网络放大器的作用,运算放大器
  7. 软件开发过程与项目管理(9.软件项目配置管理计划)
  8. 气象报告是什么计算机领域,计算机辅助翻译系统在亚运气象服务方面的应用报告...
  9. VMware Workstation16.2下载安装教程(win10)
  10. C语言程序书写中 每行必须有分号,C语言课后习题答案