建设用地信息系统的基础数据设置子模块

2023-10-10 13:50

本文主要是介绍建设用地信息系统的基础数据设置子模块,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、概要

作为《建设用地信息系统》项目基础数据设置子模块开发组的程序员,按要求完成:
数据库的创建;
数据表的创建;
数据的操作。

二、实施步骤及内容

《建设用地信息系统》基础数据设置子模块的E-R图如图2.19所示,逻辑数据模型如图2.20 所示,物理数据模型如图2.21所示,数据表字段名定义见表2.9。请按以下设计完成数据库创建、数据表创建和数据操作任务:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、代码

-- 创建数据表
CREATE TABLE IF NOT EXISTS T_proj(Proj_id VARCHAR(50) NOT NULL COMMENT '项目ID',Proj_name VARCHAR(100) NOT NULL COMMENT '项目名称',Proj_no VARCHAR(50) NOT NULL COMMENT '项目编号',Proj_type VARCHAR(50) NOT NULL COMMENT '项目类型',Tilth_state VARCHAR(50) NOT NULL COMMENT '耕地面积',Proj_kind VARCHAR(100) NOT NULL COMMENT '项目性质',Farm_tot INT COMMENT '农用地总面积',Approve_unit VARCHAR(50) NOT NULL COMMENT '审批单位',Canton_id VARCHAR(50) NOT NULL COMMENT '行政区ID',PRIMARY KEY(Proj_id)
)ENGINE=INNODB DEFAULT CHARSET=utf8;CREATE TABLE IF NOT EXISTS T_can(Canton_id VARCHAR(50) NOT NULL COMMENT '行政区ID,主键',Canton_tot NUMERIC(8,0) COMMENT '行政区面积',Canton_no NUMERIC(8,0) COMMENT '行政区编号',Canton_name VARCHAR(50) NOT NULL COMMENT '行政区名称',Branch VARCHAR(50) NOT NULL COMMENT '直属部门',Remark VARCHAR(100) COMMENT '备注',PRIMARY KEY(Canton_id)
)ENGINE=INNODB DEFAULT CHARSET=utf8;-- 创建约束,在表T_proj中Canton_id为外键,而Canton_no在表T_can中充当主键,
-- T_can则是主表,T_proj为从表。  Canton_no在其中的作用是保证数据的一致性,完整性 。
ALTER TABLE T_proj ADD CONSTRAINT UNIQUE(Canton_id);
ALTER TABLE T_can ADD CONSTRAINT UNIQUE(Canton_no);
ALTER TABLE T_proj ADD CONSTRAINT FOREIGN KEY(Canton_id) 
REFERENCES T_can(Canton_id);-- 在行政区域信息表中插入数据
INSERT INTO T_can(Canton_id,Canton_name,Canton_tot,Branch) VALUES('83100','星沙',142,'长沙市国土资源局');
INSERT INTO T_can(Canton_id,Canton_name,Canton_tot,Branch) VALUES('430200','株洲',123,'株洲市国土资源局');-- 在用地基本信息表中插入数据
INSERT INTO T_proj VALUES('202201','金侨集团建设','C0001','商业项目','900','集团项目',1000,'株洲市国土资源局','430200');
INSERT INTO T_proj VALUES('202202','软件集团建设','C0002','商业项目','800','集团项目',1200,'长沙市国土资源局','83100');-- 查询出项目编号为C0001的建设用地基本信息;
SELECT * FROM T_proj WHERE Proj_no='C0001'-- 查询出行政直属部门为“长沙市国土资源局”的建设用地基本信息
SELECT * FROM T_proj WHERE Canton_id IN
(SELECT Canton_id FROM T_can WHERE Branch='长沙市国土资源局')-- 查询出所有的建设土地基本信息并按农用地总面积升序排序
SELECT * FROM T_proj ORDER BY Farm_tot-- 删除耕地面积大于“800”的建设用地基本信息
DELETE FROM T_proj WHERE Tilth_state > 800-- 把直属部门由“长沙市国土资源局”修改为“株洲市国土资源局”
UPDATE T_can SET Branch='株洲市国土资源局' WHERE Branch='长沙市国土资源局'-- 创建名为ProjInfo_view1的视图,视图的数据为编号是C0002的建设用地基本信息
CREATE VIEW ProjInfo_view1
AS
SELECT * FROM T_proj WHERE Proj_no='C0002'SELECT * FROM ProjInfo_view1-- 删除上题中所创建的ProjInfo_view1视图
DROP VIEW ProjInfo_view1

这篇关于建设用地信息系统的基础数据设置子模块的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/180863

相关文章

使用Java解析JSON数据并提取特定字段的实现步骤(以提取mailNo为例)

《使用Java解析JSON数据并提取特定字段的实现步骤(以提取mailNo为例)》在现代软件开发中,处理JSON数据是一项非常常见的任务,无论是从API接口获取数据,还是将数据存储为JSON格式,解析... 目录1. 背景介绍1.1 jsON简介1.2 实际案例2. 准备工作2.1 环境搭建2.1.1 添加

MySQL中删除重复数据SQL的三种写法

《MySQL中删除重复数据SQL的三种写法》:本文主要介绍MySQL中删除重复数据SQL的三种写法,文中通过代码示例讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下... 目录方法一:使用 left join + 子查询删除重复数据(推荐)方法二:创建临时表(需分多步执行,逻辑清晰,但会

Java实现任务管理器性能网络监控数据的方法详解

《Java实现任务管理器性能网络监控数据的方法详解》在现代操作系统中,任务管理器是一个非常重要的工具,用于监控和管理计算机的运行状态,包括CPU使用率、内存占用等,对于开发者和系统管理员来说,了解这些... 目录引言一、背景知识二、准备工作1. Maven依赖2. Gradle依赖三、代码实现四、代码详解五

详谈redis跟数据库的数据同步问题

《详谈redis跟数据库的数据同步问题》文章讨论了在Redis和数据库数据一致性问题上的解决方案,主要比较了先更新Redis缓存再更新数据库和先更新数据库再更新Redis缓存两种方案,文章指出,删除R... 目录一、Redis 数据库数据一致性的解决方案1.1、更新Redis缓存、删除Redis缓存的区别二

Redis事务与数据持久化方式

《Redis事务与数据持久化方式》该文档主要介绍了Redis事务和持久化机制,事务通过将多个命令打包执行,而持久化则通过快照(RDB)和追加式文件(AOF)两种方式将内存数据保存到磁盘,以防止数据丢失... 目录一、Redis 事务1.1 事务本质1.2 数据库事务与redis事务1.2.1 数据库事务1.

Python中构建终端应用界面利器Blessed模块的使用

《Python中构建终端应用界面利器Blessed模块的使用》Blessed库作为一个轻量级且功能强大的解决方案,开始在开发者中赢得口碑,今天,我们就一起来探索一下它是如何让终端UI开发变得轻松而高... 目录一、安装与配置:简单、快速、无障碍二、基本功能:从彩色文本到动态交互1. 显示基本内容2. 创建链

Linux中chmod权限设置方式

《Linux中chmod权限设置方式》本文介绍了Linux系统中文件和目录权限的设置方法,包括chmod、chown和chgrp命令的使用,以及权限模式和符号模式的详细说明,通过这些命令,用户可以灵活... 目录设置基本权限命令:chmod1、权限介绍2、chmod命令常见用法和示例3、文件权限详解4、ch

Oracle Expdp按条件导出指定表数据的方法实例

《OracleExpdp按条件导出指定表数据的方法实例》:本文主要介绍Oracle的expdp数据泵方式导出特定机构和时间范围的数据,并通过parfile文件进行条件限制和配置,文中通过代码介绍... 目录1.场景描述 2.方案分析3.实验验证 3.1 parfile文件3.2 expdp命令导出4.总结

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一

更改docker默认数据目录的方法步骤

《更改docker默认数据目录的方法步骤》本文主要介绍了更改docker默认数据目录的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1.查看docker是否存在并停止该服务2.挂载镜像并安装rsync便于备份3.取消挂载备份和迁