空间专业-模型
本课目的: 学习空间专业的模型,以及在数据库中的关联关系。
本课要求: 理解掌握空间专业的模型,能在数据库中完成各项任务。
前导知识: 空间专业-概念
主要内容:
前面我们了解了空间专业中各个资源的基本概念,现在我们来学习空间专业的模型和各个表之间的关系。
下图是空间资源的关联关系模型图(PK(primary key)为主键):
PS: 空间资源的具体数据模型可以从百度云下载:
链接: https://pan.baidu.com/s/1miifVDI 密码: y2w6
我们将上面的数据模型划分为四个模块来分别介绍空间专业的数据模型:
(一)区域-局站-机房-设备模型关系
1、区域与子区域是一个相对的概念,都是同一个表:SPC_REGION,主要通过区域表中"SUPER_REGION_ID"(上级区域)字段相对区分。
2、一个区域下有多个局站,局站表SPC_STATION通过REGION_ID(所属区域)字段与区域表关联。
3、一个局站下有多个机房,机房表SPC_ROMM通过STATION_ID(所属局站)字段与局站表关联;通过REGION_ID(所属区域)字段与区域表关联。
4、一个机房下管理了多种设备,设备表一般通过POSIT_ID(所属机房)字段与机房表关联;通过STATION_ID(所属局站)字段与局站表关联;通过REGION_ID(所属区域)字段与区域表关联。
(二)区域-标准地址-设备模型关系
1、一个区域下有多个地址,区域表SPC_REGION通过REGION_ID(所属区域)字段与标准地址表关联。
2、一个标准地址可以关联多个设备,标准地址表与设备表关联是通过中间表ADDR_SEGM_EQP完成的。
3、标准地址表ADDR_SEGM通过SEGM_ID(标准地址ID)字段与设备标准地址关联表关联。
4、设备表RME_EQP通过EQP_ID(设备ID)字段与设备标准地址关联表关联。
(三)小区主表-从表模型
小区这个空间资源有一点特殊,特殊在哪呢?
我们运用本文第一点中的方法,从页面中得到小区的res_type_id是209。然后在数据库中查询对应表,得到:
我们可以发现,查询结果有两个表,第二个SPC_REGION我们知道这是区域表,为什么区域表会在查询结果中呢?
我们仔细看一下查询结果,这个后面的含义是:SPC_COM是主表,二SPC_REGION在这里作为SPC_COM的从表,两个表共同构成了小区的全部信息,我们同样可以在Pub_object_property表中得到该结果:
PS:从小区我们可以推导:一个对象的属性并不只有仅仅由1个表构成,它可能由1个主表与多个从表共同构成。
再结合该模型图,我们就可以理解了:
1、小区主表SPC_COM通过REGION_ID(所属区域)字段关联了区域表.
2、小区主表SPC_COM同时通过REGION_ID(所属区域)字段将区域表视为从表,把区域表的部分字段作为小区信息的一份子,与小区主表的所有字段共同构成了小区的全部信息。
(四)局向-设备模型
我们从模型图的这一部分可以得到一个信息:设备与局向是可以建立关联的,而局向设备关联表就是用于存储它们的关联关系。
为什么要将设备与局向关联呢?
新增局向会通过接口把数据传到施工调度外系统,在外系统局向就绑定了一个岗位,设备绑定局向。开通业务会把设备信息同步到施工调度系统,施工调度系统根据局向找到相应的岗位,岗位下有施工人员,就实现了装维按单派单施工。
因此我们能得到该图得到它们之间的关系:
1、一个区域下有多个局向,局向表EXC_STATION_DIRECTION通过REGION_ID(所属区域)字段与区域表关联。
2、一个局向可以关联多个设备,标准地址表与设备表关联是通过中间表SPC_EXC_EQP_RELA完成的。
3、局向表EXC_STATION_DIRECTION通过SEGM_ID(标准地址ID)字段与局向设备关联表关联。
4、设备表RME_EQP通过DIRE_ID(局向ID)字段与局向设备关联表关联。
以上,我们将模型图分成四个模块详细介绍。大家可以根据这个关系图,尝试在PL/SQL中进行一些查询操作,以下列举了部分查询操作:
/*区域*/ select * from pub_res_table a where a.res_type_id = '200'; select * from SPC_REGION a where a.region_name like '%海产区%'; /*局站*/ select * from pub_res_table a where a.res_type_id = '201'; select * from SPC_STATION a where a.china_name like '%海鲜大学%'; /*机房*/ select * from pub_res_table a where a.res_type_id = '205'; select * from SPC_ROOM a where a.china_name like '%海鲜大学01%'; /*标准地址 这个是五级标准地址*/ select * from pub_res_table a where a.res_type_id = '214'; select * from ADDR_SEGM a where a.segm_name like '%海鲜大学江边公寓01%' /*小区 通过编号要从两个表里找信息*/ select * from SPC_REGION a, SPC_COM b where a.region_id = b.com_id and a.delete_state = '0' /*Tips:加上delete_state='0'*/ and b.delete_state = '0' and a.region_name like '%海鲜大学江边公寓%';
PS:文章中的简易模型图可参考:空间资源模型简易图,密码: 2848
完整数据模型可参考:空间资源模型,密码:y2w6