你作为《建设用地信息系统》项目基础数据设置子模块开发组的程序员,请按要求完成: 数据库的创建; 数据表的创建; 数据的操作。 2 要 求 《建设用地信息系统》基础数据设置子模块的E-R图如图2.19所示,逻辑数据模型如图2.20 所示,物理数据模型如图2.21所示,数据表字段名定义见表2.9。请按以下设计完成数据库创建、数据表创建和数据操作任务: 图2.19 E-R图 图2.20 逻辑数据模型 图2.21物理数据模型 表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 审批单位 3 数据库操作 3.1 创建数据库 创建数据库Proj。 3.2 数据表设计 根据图2.20和表2.9,创建数据表T_proj_info、T_canton_info。 3.3 数据表之间的关系设计 根据物理数据原型,创建数据关系表。。 3.4 数据操作 用SQL语句查询出以下数据: 查询出项目编号为C0001的建设用地基本信息; 查询出行政直属部门为“长沙市国土资源局”的建设用地基本信息; 查询出所有的建设土地基本信息并按农用地总面积升序排序; 删除耕地面积大于“720”的建设用地基本信息; 请把直属部门由“长沙市国土资源局”修改为“株洲市国土资源局”; 在行政区域信息表中插入数据,编号为“83100”,行政名称为“星沙”,行政面积为“142”,直属部门为“长沙市国土资源局”; 创建名为ProjInfo_view1的视图,视图的数据为编号是C0001的建设用地基本信息; 删除上题中所创建的ProjInfo_view1视图。
时间: 2024-03-28 09:39:20 浏览: 239
3.1 创建数据库
```sql
CREATE DATABASE Proj;
```
3.2 数据表设计
```sql
-- 建设用地基本信息表
CREATE TABLE T_proj_info (
Proj_id INT PRIMARY KEY AUTO_INCREMENT,
Proj_no VARCHAR(50),
Proj_name VARCHAR(50),
Proj_type VARCHAR(50),
Proj_kind VARCHAR(50),
Farm_tot FLOAT,
Tilth_state FLOAT,
Approve_unit VARCHAR(50),
Branch VARCHAR(50),
Remark TEXT
);
-- 行政区域信息表
CREATE TABLE T_canton_info (
Canton_id INT PRIMARY KEY AUTO_INCREMENT,
Canton_no VARCHAR(50),
Canton_name VARCHAR(50),
Canton_tot FLOAT,
Branch VARCHAR(50)
);
```
3.3 数据表之间的关系设计
```sql
-- 建设用地基本信息表与行政区域信息表的关系表
CREATE TABLE T_proj_canton_rel (
Proj_id INT,
Canton_id INT,
PRIMARY KEY (Proj_id, Canton_id),
FOREIGN KEY (Proj_id) REFERENCES T_proj_info(Proj_id),
FOREIGN KEY (Canton_id) REFERENCES T_canton_info(Canton_id)
);
```
3.4 数据操作
```sql
-- 查询出项目编号为C0001的建设用地基本信息
SELECT * FROM T_proj_info WHERE Proj_no = 'C0001';
-- 查询出行政直属部门为“长沙市国土资源局”的建设用地基本信息
SELECT * FROM T_proj_info WHERE Branch = '长沙市国土资源局';
-- 查询出所有的建设土地基本信息并按农用地总面积升序排序
SELECT * FROM T_proj_info ORDER BY Farm_tot ASC;
-- 删除耕地面积大于“720”的建设用地基本信息
DELETE FROM T_proj_info WHERE Tilth_state > 720;
-- 把直属部门由“长沙市国土资源局”修改为“株洲市国土资源局”
UPDATE T_proj_info SET Branch = '株洲市国土资源局' WHERE Branch = '长沙市国土资源局';
-- 在行政区域信息表中插入数据,编号为“83100”,行政名称为“星沙”,行政面积为“142”,直属部门为“长沙市国土资源局”
INSERT INTO T_canton_info (Canton_no, Canton_name, Canton_tot, Branch) VALUES ('83100', '星沙', 142, '长沙市国土资源局');
-- 创建名为ProjInfo_view1的视图,视图的数据为编号是C0001的建设用地基本信息
CREATE VIEW ProjInfo_view1 AS SELECT * FROM T_proj_info WHERE Proj_no = 'C0001';
-- 删除上题中所创建的ProjInfo_view1视图
DROP VIEW ProjInfo_view1;
```
阅读全文