
《空间数据库技术》
以关系数据库为基础,探索数据库系统开发,研究空间数据库的应用及发展趋势。
刘一哥GIS
刘一哥,多年研究地图学、地理信息系统、遥感、摄影测量和GPS等应用,精通ArcGIS、MapGIS、ENVI、Erdas、CASS、Pix4d、CC、PhotoScan、Inpho、EPS、Globalmapper等专业软件的应用,精通多门编程语言,擅长GIS二次开发和数据库系统开发,具有丰富的行业经验,致力于测绘、地信、国土、资源、环境、生态、空间规划、无人机等领域深度应用。
-
原创 SQL SERVER两种分页的存储过程介绍
由于现在很多的企业招聘的笔试都会让来招聘的写一个分页的存储过程,有的企业甚至要求应聘者用两种方式实现分页,如果没有在实际项目中使用过分页,那么很多的应聘者都会出现一定的问题,下面介绍两种分页的方法。一、以学生表为例,在数据库中有一个Student表,字段有StudentNo,,LoginPwd,StudentName,Sex,ClassId,Phone,Address,BornDate,2014-07-21 23:55:46795
0
-
原创 【数据库系统经典案例】销售系统数据库分析及完整实现过程
文章目录一、产品表以及产品添加更新二、顾客管理三、销售记帐四、统计问题一、产品表以及产品添加更新GOODLUCK的产品表:PRODUCTS(PNO,PNAME,PR,QTY)从该表可以知:PNO->PNAME、PR、QTY所以这个表只能按产品编号增加行,也就是说:有新产品了,可以在这个表中、按新的产品编号,增加一行。销售中引起的产品减少、生产中引起的产品增加,只能修改QTY。为了记录产品的增加历史,所以有PACCOUNT表:由此可知,PACCOUNT是一个流水帐表,这个表的意义是记录2020-12-10 17:31:332272
4
-
原创 SQL Server编写函数获取汉字的拼音码(简拼)
拼音码一般分为全拼、简拼、双拼三大类。在数据库系统查询中,使用简拼查询能打打提高输入的速度,提高查询效率。比如,在药店系统中,查询药品阿莫西林时,只需要输入阿莫西林药品对应的简拼码AMXL,点击查询即可查到相应的结果,问题是,数据库系统的表中事先需要通过相应的Sql等语言获取药品名称对应的简码。本文采用SQL语句,自定义函数fun_getPY(),以方便快速获取拼音码。例如前面提到的阿莫西里,只需调用函数:dbo.fun_getpy('阿莫西林') 。Create function fun_get2014-03-04 15:48:337547
2
-
原创 SQL函数获取一年中每个月的天数
第一步:编写判断一年是否是闰年的函数IsLeapYear<strong>CREATE FUNCTION IsLeapYear( @Year INT)RETURNS BIT AS BEGIN IF (@Year % 4 = 0) and ((@Year % 100 <> 0) or (@Year % 400 = 0)) RETURN 1 RETURN 0END</strong>第二步:编写一年中每个月的天数函数DaysPerMonth2014-03-08 08:55:124346
0
-
原创 经典实用SQL语句大全汇总
目 录1.随机取3条记录2.随机选记录3.删除重复记录4.创建数据库5.列出表里的所有的列名6.选择从10到15的记录7.压缩数据库8.按姓氏笔画排序9.数据库加密10.查看硬盘分区11.比较两表是否相等12.杀掉所有的事件探察器进程:13.获取当前数据库中的所有用户表14.查看与某一个表相关的视图、存储过程、函数15.查看当前数据库中所有存储过程16.查询用户创建的所有数据库17.创建数据库18.删除数据库19.备份sql se.2014-07-22 00:44:161368
0
-
原创 学习SQL数据更新,这一篇就够了!
【任务描述】数据查询不能改变数据库中的数据,仅仅是把数据库中符号条件的某些信息反馈给用户。一个数据库若要保持数据的正确性、及时性、则要依赖于数据库的更新功能。数据更新主要包括插入数据、修改数据和删除数据。文章目录一、插入数据二、修改数据三、删除数据一、插入数据插入语句的基本格式为:Insert into 表名称 Values (值1, 值2,…)【例1】向学生表中插入一条记录。Insert into SValues('201801005','张三','男',18,'甘肃天水');2020-11-11 16:10:172292
7
-
原创 学习SQL数据查询,这一篇就够了!
文章目录一、SQL简单查询1. Select查询语句2. 无条件查询3. 单条件查询4. 多条件查询5. 分组查询6. 结果的排序7. 比较完整的Select查询语句二、SQL中常用函数及其使用方式1. 日期型函数2. 字符串函数3. 算术函数三、SQL高级查询技术1. 多表联结查询2. 嵌套查询3. 查询中的表更名【任务概述】建立数据库的目的主要是为了对数据库进行操作,以便能够从中提取有用的信息,而数据查询则是数据库操作的核心。SQL中查询语句的基本形式是:Select–From–Where。2020-11-11 14:05:40143
4
-
原创 SQL语言实现金额小写转大写完整案例代码
本文为用SQL语言实现数字大小写转换,一到十数字大小写:1——壹,2——贰,3——叁,4——肆,5——伍,6——陆,7——柒,8——捌,9——玖,10——拾目录1. 数字大小写对照表2. 大小写转换案例3. SQL转化代码Declare @v_LowerStr VARCHAR(200) -- 小写金额 Declare @v_UpperPart VARCHAR(202014-05-20 18:12:062870
1
-
原创 【GeoDataBase】Geodatabase智能化操作:属性域
Geodatabase中所包含的不仅仅是要素类、要素集和表,还可能包含关系类、注释类、几何网络、拓扑等不同的结构和类别。地理数据库按照面向对象的模型存储地理信息,也可以将其非空间信息保存在表中。对于要素和表可以设置一些规则进行限制,对属性的约束称为属性域。属性域是描述字段合法值的规则,是一种增强数据完整性的方法,用于约束表或要素类的任意特定属性中的允许值,可分为[范围]和[编码的值]。[范围]可以指定一个范围的值城,即[最大值]和[最小值]。[编码的值]给一个属性指定有效的取值集合,包括两部分内容,2020-11-04 00:41:052197
8
-
原创 【空间数据库】传统数据模型(层次、网状、关系)和空间数据模型详解
数据模型是指数据库的组织形式,它决定了数据库中数据之间联系的表达方式,即把在计算机中表示客观事物及其联系的数据及结构称为数据模型。本文详细讲述传统三大数据模型和空间数据模型。一、数据模型概述数据模型是指数据库的组织形式,它决定了数据库中数据之间联系的表达方式,即把在计算机中表示客观事物及其联系的数据及结构称为数据模型。按组织方式的不同,常见的有四种:1、传统数据模型(层次模型、网状模型、关系模型)2、面向对象模型3、时态GIS模型4、三维数据模型二、传统数据模...2020-09-21 22:13:392148
0
-
原创 【空间数据库】空间数据库引擎(Spatial DataBase Engine)ArcSDE详解
一、空间数据库引擎概述空间数据库引擎的概念最早由ESRI提出。ESRI对SDE的定义是:从空间数据管理的角度看,SDE是一个连续的空间数据模型,借助这一模型,我们可以将空间数据加人到关系数据库系统(RDBMS)中去。SDE可以理解为基于特定的空间数据模型,在特定的数据存储、数据库管理系统的基础上,提供对空间数据的存储、检索等操作,以提供在此基础上的二次开发的程序功能集合。同时,SDE又可以看做是基于大型关系型数据库的客户/服务器模式的软件,即相对于客户端,SDE是服务器,提供空间数据服务的接口,接.2020-09-21 21:58:341790
0
-
原创 【空间数据库】时空数据库,时态数据模型详解
一、时态空间数据库概述现实世界的数据不仅与空间相关,而且与时间相关。在许多应用领域,如环境监测、抢险救灾、交通管理、医疗救援等,相关数据随着时间变化而变化,称之为时态数据。很多空间数据库应用都涉及时态数据,这些应用不仅需要存取空间数据库的当前状态,也需要存取空间数据库随时间变化的情况。近年来,时态GIS已经得到了GIS界的广泛关注,人们在研究能支持时态GIS产品的时空数据模型。比较成功的有连续快照模型、基态修正模型、时空复合模型、时空立方体模型及近来发展起来的基于事件的方法和面向对象的方法。2020-09-21 13:57:431038
0
-
原创 【学生选课系统经典】C#与SQLSERVER连接:Windows应用工程案例
实验任务描述1 用C#访问SQLSERVER数据库(两种安全模式);2 用C#完成数据库指定表上的数据显示;3 用C#完成数据库指定表上的数据插入、删除和更新;4 用C#完成数据库用户验证。注意,由于C#语言的强大功能,下面的代码适用于SQLSERVER2000、也适合于SQLSERVER2005。区别仅仅在于WINDOWS用户验证、SQLSERVER用户验证,前者、非常合...2020-03-03 12:25:481094
2
-
原创 Microsoft SQL Server 2019开发版安装配置教程
cn_sql_server_2019_developer_x64_dvd_c21035cc安装包如下所示:双击setup.exe进行安转。点击【安装】。点击【全新SQL Server独立按住啊或向现有安装添加功能】。点击【下一步】。点击【下一步】。选择需要安装的功能,点击【下一步】。点击【下一步】。点击【下一步】。点击【下一步】。点击【下一步】。选择混合模式,输入密码,牢记,添加当前用户。...2020-05-27 17:09:421219
1
-
原创 【空间数据库】ArcSDE 10.7+SQLEXPRESS+ArcServer 10.7.ecp企业级数据库环境搭建
作者一直使用的是ArcGIS10.6做空间数据库相关工作,可以参照文章《ArcGIS 10.6 Database_Server_Desktop安装、连接数据库服务、创建企业级数据库》。今天我们演示安装ArcGIS10.7自带的数据库服务(SQL Server 2014 Express版本)、连接数据库服务和创建数据库。一、软件准备1. ArcGIS 10.7(10.2以后的版本已集成A...2020-05-01 22:51:501272
0
-
原创 SQL Server 2008 阻止保存要求重新创建表的更改问题
习惯了使用SQL Server 2005进行数据库系统开发,为了赶上潮流的发展,最近在使用SQL 2008数据库,本来建好了一个表,后面需要对表的设计做些修改(比如字段长度的修改,忘记了设置主键等等),结果弹出错误提示,说什么“组织保存要求重新创建表的更改”,如下所示:解决办法:(1)【工具】→【选项】(2)【Designers】→【表设计器和数据库设计器】→去掉【阻止保存要求...2018-09-16 09:15:30431
0
-
原创 SQL Server 2008 R2 Developer Edition图文安装教程
本文主要以截图的方式,详细说明SQL Server 2008 R2 Developer Edition的安装过程。1、双击安装包中的setup.exe,如下图,点击“安装”→“全新安装或现有安装添加功能”。2、点击“确定”。3、点击“下一步”。4、勾选“我接受许可条款”,点击“下一步”。5、点击“安装”。2017-06-09 09:55:456412
2
-
原创 AJAX与SQL Server(一)
本实例演示利用Ajax技术,通过asp文件,从SQL Server数据库中读取数据。1、新建一个网站。2、在网站目录下新建一个txt文档,改名为datasource.asp,内容为: <%response.expires=-1sql="SELECT * FROM "sql=sql & request.querystring("q") Set conn = Server.C2016-04-20 19:55:463845
0
-
原创 SQL Server 2005登录名,用户名,角色,架构之间的关系
SQL Server 2005对2000进行了很大的改进,而用户关系这部分也变得相当复杂了,很多朋友都对此一知半解!下面,我将把我应用中总结的和大家分享下,先从概念入手,希望对不理解的朋友有点提示。今天我们要说的包括服务器登录名ServerLogin,服务器角色Server Role,数据库用户DB User,数据库架构DBSchema,数据库角色DB Role。以上几个名词应该从服务2016-04-07 11:32:052278
0
-
原创 SQL Server 2005 cmd工具的使用
您可以使用 sqlcmd 实用工具(Microsoft Win32 命令提示实用工具)来运行特殊的 Transact-SQL 语句和脚本。若要以交互方式使用 sqlcmd,或要生成可使用 sqlcmd 来运行的脚本文件,则需要了解 Transact-SQL。通常以下列方式使用 sqlcmd 实用工具: 在 sqlcmd 环境中,以交互的方式输入 Transact-SQL 语句,输入方式与在命2016-04-07 10:58:58652
0
-
原创 SQL日期时间格式自由转换大全
日期数据格式的处理,两个示例:CONVERT(varchar(16), 时间一, 20) 结果:2007-02-01 08:02/*时间一般为getdate()函数或数据表里的字段*/CONVERT(varchar(10), 时间一, 23) 结果:2007-02-01 /*varchar(10)表示日期输出的格式,如果不够长会发生截取*/语句及查询结果:Selec2014-12-12 00:35:5121185
0
-
原创 解决SQL Server 2005数据库中datetime时间字段在前端显示时分秒的问题
SQL Server 2005中时间类型datetime的格式是“年月日时分秒”,直接读出来该字段,为了不让它在前端显示“时分秒”若是显示在dataGridView中,可以修改控件的某一列格式,如: dataGridView1.Columns[10].DefaultCellStyle.Format = "yyyy-MM-dd"; 但是要在listview控件中的话,就有点困难了2014-12-12 00:30:314992
1
-
原创 SQL分组处理气象数据及注意事项
问题:从全国所有气象站点数据气候数据表中(温度,降水量,风速等)找出研究区气象站点及所需气象信息。解决:select 台站号 as 台站号,年 as 年,降水量 as 降水量,平均气温 as 年均温 from 站点气候年数据where 台站号 in (select 台站号 from 研究区站点 ) and 年 in(select distinct(年) from 研究区站点) gr2014-12-10 10:04:141769
1
-
原创 项目中使用CLR编程
1、创建自己的项目2、右键“解决方案。。。”→添加→新建项目→C#→数据库→SQL Server项目,如下图所示:3、选择操作数据库4、创建存储过程5、代码using System;using System.Data;using System.Data.SqlClient;using System.Data.SqlTypes;using Micr2014-11-03 11:05:432390
0
-
原创 CLR存储过程
using System;using System.Data;using System.Data.SqlClient;using System.Data.SqlTypes;using Microsoft.SqlServer.Server;public partial class StoredProcedures{ [Microsoft.SqlServer.Server.Sq2014-11-03 10:48:211398
0
-
原创 CLR触发器
using System;using System.Data;using System.Data.SqlClient;using Microsoft.SqlServer.Server;public partial class Triggers{ // 为目标输入现有表或视图并取消对属性行的注释 [Microsoft.SqlServer.Server.SqlTrigge2014-11-03 10:47:381953
0
-
原创 SQL Server CLR 集成简介
公共语言运行库 (CLR) 是 Microsoft .NET Framework 的核心,为所有 .NET Framework 代码提供执行环境。 在 CLR 中运行的代码称为托管代码。 CLR 提供执行程序所需的各种函数和服务,包括实时 (JIT) 编译、分配和管理内存、强制类型安全性、异常处理、线程管理和安全性。通过在 Microsoft SQL Server 中托管 CLR(称为 C2014-11-03 10:45:071427
0
-
原创 界面连接数据库
1、获取本机的SQL Server服务器名 private void Form2_Load(object sender, EventArgs e) { listBox1.Items.Clear(); SQLDMO.Application SQLServer = new SQLDMO.Application();2014-10-29 11:25:101107
0
-
原创 SQL Server 编写自动增长的字符串型主键
1、编写标量值函数ICONVERT2STRINGCREATE FUNCTION ICONVERT2STRING(@N INT,@F INT) RETURNS VARCHAR(10) ASBEGINDECLARE @M INTDECLARE @L0 INTDECLARE @CH VARCHAR(10)DECLARE @ST VARCHAR(20)SELECT @CH=''SELEC2014-09-18 23:51:253437
1
-
原创 SQL Server 数据库没有有效所有者的三种解决办法
开发的过程中,操作系统出了问题,决定重装系统。但是没有将SQL Server中的数据库文件分离出来,直接将系统格了。在新系统数据库中附加了数据库文件,一切还算正常,但当打开数据库关系图的时候出现了问题,如下图所示:解决办法:(三种)1、右键你的数据库名→属性→文件→所有者→sa;(该方法是从网上找到的,可能不成功)2、设置兼容级别为90(2002014-09-17 21:01:0226451
0
-
转载 SQL Server 2005将某些数据库行为设置为与指定的 SQL Server 版本兼容
语法sp_dbcmptlevel [ [ @dbname = ] name ] [ , [ @new_cmptlevel = ] version ]参数[ @dbname = ] name要为其更改兼容级别的数据库的名称。数据库名称必须符合标识符的规则。nam2014-09-15 11:00:513401
0
-
原创 SQL Server 2005更改当前数据库的所有者
语法sp_changedbowner [ @loginame = ] 'login'[ , [ @map= ] remap_alias_flag ]参数[@loginame=]'login'当前数据库的新所有者的登录 ID。login的数2014-09-15 10:49:333748
0
-
原创 【学生选课系统经典】C#与SQLSERVER连接:ASP.NET网站(服务器端,IIS发布)
此处使用ASP.NET工程来完成这个项目,和Windows应用不同的是:这个项目是在服务器上、依靠IIS服务发行出去的。你最好安装一个IIS服务,如果不能,则按下面的设计也能完成该项目,当然,你如果有个计算机并运行着IIS,在网络上你最好看看你的运行结果,这些东西是很吸引人的。ASP.NET的开发过程,说来和WINDOWS应用的开发过程非常接近,仅仅有不太大的差异,主要也是依靠VS2008的WEB控件来完成网页页面的设计和开发,但这些控件的运行速度对服务器的性能要求较高,也就是说用户在客户端浏览器上看到的图2020-03-04 12:51:46730
0
-
原创 【学生选课系统经典】VB与SQLSERVER连接:Windows应用工程案例
实验任务描述1 用VB6访问SQLSERVER数据库(两种安全模式);2 用VB6完成数据库指定表上的数据显示;3 用VB6完成数据库指定表上的数据插入、删除和更新;4 用VB6完成SQLSERVER2008数据库用户验证。一、数据库系统该实验中,所要求的数据库名称为SCHOOL,总共涉及以下表:二、数据库管理系统的安全模式设置对SQLSER...2020-03-03 16:51:53486
0
-
原创 T-SQL编程基础之三:游标(Cursor)编程
SQL是一种面向集合操作的语言,大多情况下,一个SQL语句将会操作数据库表里的很多数据,基本上,一个数据库的程序员脑子里应该想的是如何整体操作一个表或者是几个表。但也有一些情况下,试图整表操作是不现实的,需要一行一行处理数据,这种情况下,SQL语言提供了所谓游标的方法。游标是一种数据库逐行处理数据的手段,不鼓励经常使用,这个方法速度不快,在涉及大规模数据的情况下,要谨慎使用。对游标的处理,...2020-03-02 22:51:22355
0
-
原创 T-SQL编程基础之二:条件选择、循环编程
1. 条件判断以及GOTO语句条件判断是计算机语言的重要功能,在T-SQL中,条件判断的语句是:if 条件…else…或者是:if 条件…注意写法和C类似,但条件描述不使用()也可以。如果是在一个条件里执行多条语句,则要构造复合语句,复合语句是在BEGIN…EDN中构造的。例3:计算三角形的面积 1 2 3 4 5...2020-03-02 22:35:47273
0
-
原创 T-SQL编程基础之一:变量与基本语句
一个标准的计算机语言,大概要提供的必要主要功能是:变量说明、分支判断、循环和输入输出结果。T-SQL也一样,具有这些功能,只不过T-SQL的输入和输出不是界面,而是表。完全精确描述一个计算机语言,大概要很厚的书才能做到,好在目前这些书籍的发行也很多,许多书描述的都很详细。以下让我们按计算机语言的一般过程,介绍T-SQL计算机语言。1 变量类型、说明以及赋值在T-SQL中,变量命名是:@...2020-03-02 22:32:00281
0
-
原创 SQL Server T-SQL编程:数据库用户与安全设置
目录一、数据库的注册、用户建立二 、用户安全设置:角色三、用户安全设置:授权用户数据库角色四、用户更改密码一、数据库的注册、用户建立1、SQLSEVER2000用户注册名建立首先保证你的SQLSERVER2000安全模式是在SQL Server和WINDOWS系统混合模式下工作,如下图:在这个模式下,用户是不经过WINDOWS用户管理的,所以这点和前面有所不同。...2020-03-02 22:24:14282
1
-
原创 SQL Server数据库锁的类型、用法及注意事项详解
一、为什么要引入锁多个用户同时对数据库的并发操作时会带来以下数据不一致的问题:丢失更新:A,B两个用户读同一数据并进行修改,其中一个用户的修改结果破坏了另一个修改的结果,比如订票系统脏读:A用户修改了数据,随后B用户又读出该数据,但A用户因为某些原因取消了对数据的修改,数据恢复原值,此时B得到的数据就与数据库内的数据产生了不一致不可重复读:A用户读取数据,随后B用户读出该数据并修改...2020-03-02 22:15:48283
0
-
原创 Entity Framework Code First模式基础知识及入门实例01
1、新建一个控制台应用程序,名为EF Code First实例012、在解决方案名称上右键,选择“管理NuGet程序包”,选择“联机”,搜索Entity,如下图所示(如果是首次使用,则需要下载,以后则直接安装): 安装完成后,在引用中多了对EntityFramework和EntityFramework.SqlServer的引用,接着在程序中加入引用using System.D2016-08-10 17:34:352965
0