GIS开发随笔(2)——关于建立GIS数据库的几个问题
在建库的过程中我们使用的是微软的Sql Server2000数据库,在分析数据库前也在网上游荡了些时日,发现很多人都很支持Oracle数据库(我并没有使用过Oracle数据库,然而领导决定使用Sql Server2000数据库),听说当中有支持空间数据库的概念,可以将整个地图信息都放入数据库中,不知道大家对此有多少了解。而目前我们却是使用Sql Server2000的数据库的,建立了跟应用系统有关的表(如:权限控制方面的表、用户信息表等等)、通信设备有关的表(如:仪器信息表——其中包含仪器的上行和下行数据或命令的格式)、图层有关的表(如:基本图层表和专题图层表。此部分中的表要和图层一一对应,而且每个表中都有一个字段也是和相应图层中的表文件数据一一对应)和非图层的详细信息表(如:被管理者信息表和警告信息表等。主要是表示系统各个部分数据关系以及用到的系统参数设置的表),不知道这样见表有没有不对的地方?还望知道的人能给些回答。
还有一个关于数据库的问题。在原来本人使用Sql Server2000来建立应用程序数据库时,总是希望能加上表和表之间的约束,这样能够使数据库中的数据保证数据完整性,然而最近却让我将这些约束从物理意义上去除,而逻辑意义上还是存在的,那就需要靠编程等方法来实现逻辑意义这些关系约束。比如一张表是部门,一张表是人员,人员是属于部门的,部门和人员是一对多的关系。过去我是在人员和部门两张表间添加一个外键约束;现在却要求我将这个外键去除,在部门中除了自己的主键“记录ID”外再加入一个唯一性的字段“部门编号”,在人员表中也加入同样的“部门编号”字段,而这两张表之间并没有实际的主外键约束,只有逻辑意义上的关系。不知道这样做和以前的做法哪一个更好些。我个人觉得虽然没有实际上的约束使得表更加灵活,独立性更强,但是还是添加主外键约束的更好些,用户在大部分情况下可能更希望数据的准确,所以保证数据库的完整性应该更好些,你们认为呢?
最近数据库已经建立完成了,现在就是在用.Net来开发系统功能程序和公共类的方法。等到这些事情忙完了,相信就该把重点放到ArcIMS以及MapNet上了。
不过空间数据库的建立也是我头一次建立这样的数据库,其中有什么观点不对的地方还请专业人士给出一些自己的见解和经验。
本文转自刚刚博客园博客,原文链接:http://www.cnblogs.com/lijigang/archive/2007/01/18/621665.html,如需转载请自行联系原作者
GIS开发随笔(2)——关于建立GIS数据库的几个问题相关推荐
- 从事GIS开发多年,2017年对GIS行业的心得,尤其对三维GIS的理解
个人群号 309141738 本人从事GIS方面开发六年了,但是一开始大学并未学的是GIS方面的专业,本人学习的专业叫对日软件开发,呵呵...很新颖的一个名字把,没错,本来想着毕业后去日本从事软件开发 ...
- 从事GIS开发多年,2017年对GIS行业的心得,尤其对三维GIS的理解 1
个人群号 309141738 开源GIS群 455073433 本人从事GIS方面开发六年了,但是一开始大学并未学的是GIS方面的专业,本人学习的专业叫对日软件开发,呵呵... ...
- GIS开发随笔(3)——ArcXML和NET_Link方法
在ArcIMS中似乎有两种连接方法,一种是在.Net工程用引用StudioAT.MapNet.DLL文件,还有一种是在.Net工程中引用ArcIMS在完全安装后(非默认安装)的ESRI.ArcIMS. ...
- 三维GIS开发的发展路线以及需要掌握的技能
什么是三维gis? 三维GIS在WebGIS的基础上,增加了对地球表面的第三维度,即高度或深度. 相比于二维层面的WebGIS,三维GIS能够更好的分析和处理地理空间数据,使用准确的三维地理模型可 ...
- 《ArcGIS Engine+C#实例开发教程》第一讲桌面GIS应用程序框架的建立
原文:<ArcGIS Engine+C#实例开发教程>第一讲桌面GIS应用程序框架的建立 摘要:本讲主要是使用MapControl.PageLayoutControl.ToolbarCon ...
- ArcEngine C# GIS开发入门作业 (三)Ex04——实现地图的简单渲染和唯一值渲染
文章评论 写评论 sinat_37432938: 可以说非常有参考的意义,谢谢分享 4周前 #2楼 举报回复查看回复(1) domen_dragon 回复 sinat_37432938: 哈哈,谢谢夸 ...
- 基于TerraDeveloper的三维GIS开发研究
[中文题名] 基于TerraDeveloper的三维GIS开发研究 [英文题名] Research on the Development of 3D GIS Based on TerraDevel ...
- WEB GIS 开发基础概念汇总
WEB GIS 开发基础概念汇总 文章目录 WEB GIS 开发基础概念汇总 1.基础概念 2.技术框架 2.1 常见技术概念汇总 2.2 思维导图(借用,感觉比较到位) 3.内网离线WEB GIS搭 ...
- [转]GIS开发平台的未来 —— .NET还是J2EE?
在GIS开发领域,从底层开发到应用系统,从数据采集到空间分析,从单机应用到网络发布,我们是否真的需要.NET或J2EE?尽管四周一片鼓噪之声,尽管已经有了转换平台的成功先例,我们依然需要冷静的考虑,慎 ...
最新文章
- python顺序表代码_python实现顺序表的简单代码
- linux 进程防火墙连接管理,Linux系统管理初步(五)系统防火墙控制程序firewalld...
- jQuery的过滤遍历
- @value 静态变量_Spring注解驱动开发之八——@Value属性赋值、@PropertySource 加载外部配置文件...
- 推荐一个有趣的Chrome扩展程序-查看任意网站的开发技术栈
- Lua coroutine vs Java wait/notify
- 跨站点脚本(xss)_跨站点脚本(XSS)和预防
- python中升级pip报错_linux系统下pip升级报错的解决方法
- kotlin 查找id_Kotlin程序查找圆柱体区域
- 英语笔记:写作:Recreational activities
- python三维图能画地图_Python地图绘制实操详解
- 观察者模式(浅谈监听器工作原理)
- Codeforces Round #339 (Div. 1) C. Necklace 构造题
- 关于DiskFileUpload的杂谈
- 计算机国二全称,计算机国二的全称是什么?
- RDKit | 基于RDKit的随机SMILES的生成
- 一篇教你随意下载网易云音乐歌曲的博客!
- 移动安全-IOS逆向第三天——实战HOOK RSA/DES加密
- pci-e服务器显卡性能,旗舰显卡不同PCI-E模式下性能对比测试
- 动态 Probit 模型及 Stata 实现
热门文章
- Ubuntu 14.04 64位机上不带CUDA支持的Caffe配置编译操作过程
- Windows7在Eclipse中配置Python+OpenCV
- matlab图像处理命令(一)
- 遍历数据键和值 php,php数组实例之获取当前数组键和值 each()
- vscode断开调试服务器文件,vscode显示等待调试器断开连接
- python多进程原理_python多进程的详细介绍(附示例)
- php图片美颜,Mac_Mac如何使用Photo Booth拍摄照片拍摄好玩好看的相片, 我们经常会使用美颜相机 - phpStudy...
- python vs javascript_Python“是”vs JavaScript===
- mysql isnu_mysql和nginx服务是否正常监控脚本
- 生成窄带信号_房间冲激响应RIR原理与模拟生成方法