落霞与孤鹜齐飞,秋水共长天一色。

2023-05-31
超图软件学习之路

基本概念

一、有关数据方面的概率

(1)工作空间:是用于保存用户工作环境,主要完成数据的组织和管理,包括打开、关闭、创建、保存工作空间文件。
文件方式存储(.sxwu,.smwu,.sxw,.smw)
数据库方式存储(SQL Server、Oracle)
(2)数据源:由各种类型数据集组成,是空间数据集的物理存储方式。
文件方式存储(*.udb/udd)
其中:udb格式是精准数据格式;UDD
在文件型数据源中,*.udb 文件主要存储空间数据的空间几何信息,*.udd 文件存储属性信息。
数据库方式存储(SQL、Oracle、PostgreSQL、DB2、BeyonDB)
(3)数据集:是同种类型数据组成的数据集合,也就是一组数据对象的集合。数据集没有对应的物理存储文件,其物理存储在对应的数据源中。
(4)点数据集:只能用于存储点对象,如离散点的分布。
(5)线数据集:是用于存储线对象的数据集,例如河流、道路、国家边界线的分布。
(6)面数据集:是用于存储面对象的数据集,例如表示房屋的分布、国家区域等。
(7)文本数据集:是用于存储文本对象的数据集,那么文本数据集中只能存储文本对象,而不能存储其他几何对象。例如表示注记的文本对象。
(8)网络数据集:是用于存储具有网络拓扑关系的数据集。如道路交通网络等。
(9)复合数据集:是指可以存储多种几何对象的数据集。
(10)路由数据集:是由一系列空间信息中带有刻度值 Measure 的线对象构成
(11)影像数据集:属于栅格数据集类型,不具备属性信息,例如影像地图、多波段影像和实物地图等。
(12)格网数据集:(Grid)属于栅格数据集类型,例如高程数据集和土地利用图。其中每一个栅格存储的是表示地物的属性值(例如高程值)。
(13)记录集(Recordset):是 SuperMap 数据的基本操作单位,由一条或多条记录(行)组成,每条记录对应矢量数据集中的一个几何对象及其关联的属性信息。

阅读更多

2023-05-19
oracle表空间

Oracle表空间之基本概念

ORACLE的一个表空间相当于SQLSERVER的一个库。
ORACLE数据库被划分成称作为表空间 [1] 的逻辑区域——形成ORACLE数据库的逻辑结构。一个ORACLE数据库能够有一个或多个表空间,而一个表空间则对应着一个或多个物理的数据库文件。表空间是ORACLE数据库恢复的最小单位,容纳着许多数据库实体,如表、视图、索引、聚簇、回退段和临时段等。
每个ORACLE数据库均有SYSTEM表空间,这是数据库创建时自动创建的。SYSTEM表空间必须总要保持联机,因为其包含着数据库运行所要求的基本信息(关于整个数据库的数据字典、联机求助机制、所有回退段、临时段和自举段、所有的用户数据库实体、其它ORACLE软件产品要求的表)。
一个小型应用的ORACLE数据库通常仅包括SYSTEM表空间,然而一个稍大型应用的ORACLE数据库采用多个表空间会对数据库的使用带来更大的方便。
例如:便于理解,把oracle数据库看作一个实在房间,表空间可以看作这个房间的空间,是可以自由分配,在这空间里面可以堆放多个箱子(箱子可以看作数据库文件),箱子里面再装物件(物件看作表)。用户指定表空间也就是你希望把属于这个用户的表放在那个房间(表空间)里面。
表空间是一个虚拟的概念可以无限大,但是需要由数据文件作为载体。
Segment(段)
段是指占用数据文件空间的通称,或数据库对象使用的空间的集合;段可以有表段、索引段、回滚段、临时段和高速缓存段等。
Extent(区间)
分配给对象(如表)的任何连续块叫区间;区间也叫扩展,因为当它用完已经分配的区间后,再有新的记录插入就必须在分配新的区间(即扩展一些块);一旦区间分配给某个对象(表、索引及簇),则该区间就不能再分配给其它的对象.

阅读更多

2023-04-02
sqlserver row_num()的用法

1
2
3
4
5
6
7
8
9
select row_number() over(order by 表名 desc) as RowNumber_ID,*from 
(
select t.name as '表名' ,i.name as '主键'
,s.avg_fragmentation_in_percent as '阈值' from sys.tables t
join sys.indexes i on i.object_id=t.object_id
join sys.dm_db_index_physical_stats(db_id(),object_id(0),null,null,'limited') s
on s.object_id=i.object_id and s.index_id=i.index_id
)
c
1
2
3
4
5
6
7
8
9
10

select row_number() over( partition by 阈值 order by 表名 desc) as RowNumber_ID,*from
(
select t.name as '表名' ,i.name as '主键'
,s.avg_fragmentation_in_percent as '阈值' from sys.tables t
join sys.indexes i on i.object_id=t.object_id
join sys.dm_db_index_physical_stats(db_id(),object_id(0),null,null,'limited') s
on s.object_id=i.object_id and s.index_id=i.index_id
)
c
阅读更多

2023-04-02
sqlserver with as的用法

/以下sql语法为优化前后,查看有何妙处*****/
–前

select n.c1, n.c2,n.c3,n.c4,n.c5 from
(
select count(t.c1), t.c1, t.c2,t.c3,t.c4,t.c5 from tab1 t
where t.c2 not in (‘val1’,’val2’,’val3’,’val4’,’val5’)
group by t.c1, t.c2,t.c3,t.c4,t.c5
) n
where 1=1
and n.c1 is not null
and not exists
(
select * from
(
select count(s.c2), s.c1, s.c2
from (
select m.c1, m.c2,m.c3,m.c4,m.c5 from tab1 m
where exists
(
select c1 from tab2 n
where c2 > sysdate - 14
and m.c1 = n.c1
)
and m.c1 is not null
and m.c2 not in (‘val1’,’val2’, ‘val3’, ‘val4’, ‘val5’)
) s
group by s.c1, s.c2
)
t1 where t1.c2 = n.c2
)

–后

with t1 as(
select count(t.c1), t.c1,t.c2,t.c3,t.c4,t.c5
from tab1 t
where t.c2 not in (‘val1’,’val2’,’val3’,’val4’,’val5’)
and c1 is not null
group by t.c1, t.c2,t.c3,t.c4,t.c5)

select t1.c1,t1.c2,t1.c3,t1.c4,t1.c5
from t1
where not exists(
select /+ use_hash(m,n)/ m.c1, m.c2,m.c3,m.c4,m.c5
from t1 m,tab2 n
where n.c2 > sysdate - 14
and m.c1 = n.c1
and t1.c2 = m.c2);

阅读更多

2023-04-02
sqlserver游标

@@fetch_status= 0 fetch语句执行成功
@@fetch_status=-1 fetch语句失败或行不在结果集中
@@fetch_status=-2 提取的行不存在
@@fetch_status=-9 光标未执行提取操作

@@error=0 表示执行出错

阅读更多
浏览 |

© 2023 南疆 with help from Hexo and Twitter Bootstrap. Theme by Freemind.

container-narrow -->