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

1. 项目(任务)概要

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

  数据库的创建;

  数据表的创建;

  数据的操作。

2. 实施步骤及内容

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

图2.19 E-R图  

表2.9字段名定义表

字段名

字段说明

字段名

字段说明

Proj_id

项目ID

Canton_id

行政区ID

Proj_no

项目编号

Canton_no

行政区编号

Proj_name

项目名称

      Canton_name

行政区名称

Canton_no

行政区编号

Canton_tot

行政区面积

Proj_type

项目类型

Branch

直属部门

Proj_kind

项目性质

Remark

备注

Farm_tot

农用地总面积

Tilth_state

耕地面积

Approve_unit

审批单位

实施步骤

第一步 创建数据库

创建数据库Proj

第二步 数据表设计

根据图2.20和表2.9,创建数据表T_proj_info、T_canton_info。

第三步 数据表之间的关系设计

根据物理数据原型,创建数据关系表。

第四步 数据操作

SQL语句查询出以下数据:

  1. 在行政区域信息表中插入数据,ID为“A001”编号为“83100”,行政名称为“星沙”,行政面积为“142”,直属部门为“长沙市国土资源局”;
  2. 在用地基本信息表中插入测试数据
  3. 查询出项目编号为C0001的建设用地基本信息;
  4. 查询出行政直属部门为“长沙市国土资源局”的建设用地基本信息;
  5. 查询出所有的建设土地基本信息并按农用地总面积升序排序;
  6. 删除耕地面积大于“720”的建设用地基本信息;
  7. 请把直属部门由“长沙市国土资源局”修改为“株洲市国土资源局”;
  8. 创建名为ProjInfo_view1的视图,视图的数据为编号是C0001的建设用地基本信息;

删除上题中所创建的ProjInfo_view1视图。

代码展示:

-- 第一步 创建数据库
-- 创建数据库Proj。
CREATE DATABASE Proj;
-- 第二步 数据表设计
-- 根据图2.20和表2.9,创建数据表T_proj_info、T_canton_info。
CREATE TABLE T_proj_info(
	Proj_id VARCHAR(50) PRIMARY KEY,
	Proj_name VARCHAR(100) NOT NULL,
	Proj_no VARCHAR(50) NOT NULL, 
	Proj_type VARCHAR(50) NOT NULL, 
	Tilth_state VARCHAR(50) NOT NULL, 
	Proj_kind VARCHAR(100) NOT NULL,
	Approve_unit VARCHAR(50) NOT NULL, 
	Canton_id VARCHAR(50) NOT NULL
);
CREATE TABLE T_canton_info(
	Canton_id VARCHAR(50) PRIMARY KEY,
	Canton_tot NUMERIC(8,0) NOT NULL,
	Canton_no NUMERIC(8,0) NOT NULL,
	Canton_name VARCHAR(50) NOT NULL,
	Branch VARCHAR(50) NOT NULL,
	Remark VARCHAR(100) NOT NULL
);
-- 第三步 数据表之间的关系设计
-- 根据物理数据原型,创建数据关系表。
ALTER TABLE T_proj_info ADD CONSTRAINT UNIQUE(Canton_id);
ALTER TABLE T_canton_info ADD CONSTRAINT UNIQUE(Canton_no);
ALTER TABLE T_proj_info ADD CONSTRAINT FOREIGN KEY(Canton_id);
REFERENCES T_canton_info(Canton_id);

ALTER TABLE T_proj_info
ADD CONSTRAINT fk_Canton_id
FOREIGN KEY(Canton_id)
REFERENCES T_canton_info(Canton_id);
-- 第四步 数据操作
-- 用SQL语句查询出以下数据:
-- 	在行政区域信息表中插入数据,ID为“A001”编号为“83100”,行政名称为“星沙”,行政面积为“142”,直属部门为“长沙市国土资源局”;
SELECT *FROM T_proj_info
INSERT INTO T_canton_info(Canton_id,Canton_tot,Canton_no,Canton_name,Branch,Remark) VALUES('A001','142','83100','星沙','长沙市国土资源局','公司');
INSERT INTO T_canton_info(Canton_id,Canton_tot,Canton_no,Canton_name,Branch,Remark) VALUES('A002','150','83101','长沙','长沙市国土资源局','公司');
-- 	在用地基本信息表中插入测试数据
INSERT INTO T_proj_info VALUES('202201','金侨集团建设','C0001','商业项目','900','集团项目','株洲市国土资源局','A001');
INSERT INTO T_proj_info VALUES('202202','软件集团建设','C0002','商业项目','800','集团项目','长沙市国土资源局','A002');
-- 	查询出项目编号为C0001的建设用地基本信息;
SELECT * FROM T_proj_info WHERE Proj_no='C0001'
-- 	查询出行政直属部门为“长沙市国土资源局”的建设用地基本信息;
 SELECT * from T_proj_info AS a,T_canton_info AS b WHERE Branch='长沙市国土资源局' AND a.Canton_id=b.Canton_id;
 
-- 	查询出所有的建设土地基本信息并按农用地总面积升序排序;
SELECT * FROM T_proj_info ORDER BY Tilth_state
-- 	删除耕地面积大于“720”的建设用地基本信息;
DELETE FROM T_proj_info WHERE Tilth_state > 800
SELECT *FROM T_proj_info
-- 	请把直属部门由“长沙市国土资源局”修改为“株洲市国土资源局”;
UPDATE T_canton_info SET Branch='株洲市国土资源局' WHERE Branch='长沙市国土资源局'
SELECT*FROM T_canton_info
-- 	创建名为ProjInfo_view1的视图,视图的数据为编号是C0001的建设用地基本信息;
CREATE VIEW ProjInfo_view1
AS
SELECT * FROM T_proj_info WHERE Proj_no='C0002'

SELECT * FROM ProjInfo_view1
-- 删除上题中所创建的ProjInfo_view1视图。
DROP VIEW ProjInfo_view1
-- 

以上就是全部结果!!!

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小酒馆囍

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值