sql server 2008 怎么查看各表的关系图

sql server 2008 怎么查看各表的关系图,第1张

1、打开sqlserver management studio

2、选择“数据库

3、打开树形结构

4、点击“SCMS”,找到“数据库关系图”

5、点击鼠标右键,再点击“新建关系图”然后d出这个窗口,然后把数据表加载进去。

扩展资料

SQL Server 是Microsoft 公司推出的关系型数据库管理系统。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2012 的大型多处理器的服务器等多种平台使用。

Microsoft SQL Server 是一个全面的数据库平台,使用集成的商业智能 (BI)工具提供了企业级的数据管理。Microsoft SQL Server 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。

本文研究区范围较大,在建库过程中,按照“一个标准,分幅入库,最后整合”的步骤,构建中亚地区数字地质图空间数据库。

1建库准备

(1)资料收集及预处理

完整、齐全而又有效的第一手资料是建立地理信息空间数据库的前提,也是对地理信息空间数据进行空间分析的基础。因此,要根据所选图幅,全面收集有关资料,以满足建库需求。资料收集主要有以下两类:①图形资料:包括相同比例尺的地理底图、地质图、矿产图等;②文字资料:主要是有关的地质报告、地质图说明书、有关规范和标准等。在全面收集资料的基础上,对资料进行系统的分析研究、综合整理及筛选后,将中亚地区地质图按300 dpi规格进行扫描。对扫描色彩较差的图像,进行适当的色彩调整,使之清晰可辨。

(2)坐标系的统一

在矢量化过程中,我们统一采用BJ54平面坐标系,1980黄海高程系作为参照系。中亚地区中央经度为81°,按3°分带在14 带内。在创建空间地理数据库(personal geodatabase)及要素数据集(feature dataset)和扫描影像几何校正时,均采用该坐标系统。

本文在ERDAS IMAGINE 92软件的支持下,对扫描地质图进行几何校正,采用多项式几何校正法,按一次方,选取图纸网格线交点作为控制点,每幅图至少选取20各控制点,进行几何校正,精度保证在05个像素以内,即10米的精度内,完成对中亚地区扫描地质图的几何校正。

(3)各要素图层、属性表的建立

按照上述技术流程,对中亚地区建立统一的矢量属性数据库,每一幅图均采用统一的空间地理数据库(personal geodatabase),每个库下建立一个要素数据集(feature dataset),每个要素数据集包含11个要素类,按几何形状分为面状要素、线状要素和点状要素三大类:①面状要素类有6个:侵入岩地层要素属性表、沉积(火山)岩地层要素属性表、变质岩地层要素属性表、蚀变带要素属性表、脉岩属性表、水域/流域面属性表;②线状要素类有2个:断层属性表、地质界线属性表;③点状要素类有3个:矿产地(点)属性表、产状属性表、火山口属性表。一个属性表就是一个图层,既保存了各地质要素的空间图形数据,又保存了属性数据。每个要素属性表的结构和字段按前文所述,一一建立。如图7-19所示。该图以赛里木湖图幅为例,列举了数据库中包含的所有图层。

2数据采集和编辑

数据采集主要是在ArcMap 环境下对校正后的地质图按各实体要素逐一进行矢量化,对个地质要素类按图层进行分类存储,按照图7-20所示的矢量化步骤,严格依照该流程设计的图层录入顺序进行矢量,这样才能提高矢量化的效率,也保证了整个图幅几何图形逻辑拓扑的一致性。手动矢量图形时,应当跟踪各类地形中心线来完成每根线条(如图7-20 a),尽量保证线条的圆滑,不应产生锐角或小尖角(如图7-20 b),在矢量时,放大的比例不能太大,一般保证当鼠标移动一个像素图上距离不超过20米为宜,如果放大比例过大,就会导致采集点过多、过密,容易造成整个线条的不圆滑(如图7-20 c)。在矢量过程中,利用ArcMap的断点捕捉功能,选择恰当的节点进行捕捉,对于线性地质要素应尽量避免接头过长或过短(如图7-20 d),对后续“线转面”生成面图层时容易造成影响。尤其对断层的矢量尤为注意,因为断层在地质图上一般都用较粗的线表示,而其他岩性界线一般很细,倘若不注意缩放比例的大小,很容易造成矢量失真,难以保证数据采集的精度。

在矢量化过程中难免会出现图7-20(a、b、c、d)所示的错误,这时我们可以利用ArcMap快捷方便的矢量工具进行修改、编辑。选择要修改的线,双击就会出现构成线的节点,用鼠标拖动,很容易将未沿中线矢量的线条拖至中央,对于矢量锐角明显、不圆滑或接头过长的线条,双击出现节点后,右键选中节点,利用d出的快捷菜单,可以进行“增加节点”“删除节点”等 *** 作,方便地进行修改和编辑。

图7-19 地质图数据库各图层的建立(以赛里木图幅为例)

在保证了对线型地质要素采集的准确性,由“线转面”时才能保证数据采集的有效性和完整性,使原纸质地质图上的信息完整、有效地进行“数字化”。利用ArcMap矢量工具的“线转面”(feature to polygon)工具,将临时线文件转换为临时面文件,设定闭合容差为10米。“线转面”完成后,要对生成的面(polygon)进行检查,看是否有遗漏,若发现至少10处以上遗漏,则重新对“临时线”图层做进一步矢量工作,完善后再转面。若小于10处,则可以在“临时面”图层进行修改和编辑,利用“线跟踪”和“creat polygon”工具进行面的增加,对于遗漏的“孤岛”则用“cut polygon”工具进行创建。

检查“临时面”图层无误后,要对其进行“分类”,按照地质图图例、柱状图等要素按沉积岩地层、侵入岩地层、变质岩地层和面状水域与沼泽进行分类。在“临时面”图层上选择所有沉积岩地层的图斑,然后导出保存在该幅地质图数据库的要素集下的要素类,命名为“临时沉积岩”要素类;依次选择侵入岩地层的图斑、变质岩地层图斑及面状水域与沼泽图斑,分别导出保存在同一个要素集下。各要素导出完成后应仔细检查看是否有分类错误或遗漏,用“面拷贝”或删除工具对该类错误进行修改。

图7-20 矢量化地质要素图

对于脉岩(面)要素、产状(线)要素、蚀变带(面)要素、火山口和矿点(点)要素基本很少与其他图层共用边界,因此,直接对这些要素单独进行矢量便可。

最后进行图形的质量检查,包括岩性划分类别检查,几何拓扑检查,检查无误且没有遗漏后,导入标准库中。这样基本完成了一幅扫描地质图11类地质要素的矢量入库工作,下一步,主要参考图例、柱状图和地质图说明书进行属性录入。如流程图7-16所示。最后,检查属性数据录入完整无误后,便可进行下一图幅的矢量工作。

3图形拼接

依次完成地质图的矢量入库工作后,下一步就是进行图形数据的拼接,属性数据库的合并。首先,将地质图数据库的11个地层,按各要素类导入一个要素集下,例如,将地质图数据库的“沉积岩地层单位”图层导入一个空的标准库中,存入一个要素集下,构成中亚地区地质图数据库。显然,此时,这个数据库里存放的所有图形数据和属性数据只是按各图幅为单位进入数据库的,难免有很多数据冗余,以及图形数据的接边问题,所以我们必须首先从图形数据的接边出发,然后再依据各图斑的属性数据进一步完善各图幅数据库的拼接。

图形的拼接主要针对数据库内面(polygon)类数据和线(line)类数据的拼接,线类数据的拼接与“线”的修改、编辑类同,不做过多阐述。重点讨论面(polygon)类型数据的图形及属性数据的拼接。

在矢量化过程中,我们按标准图框进行分幅。用标准图框的线来裁切“临时线”再转换为面(polygon)数据,所以从整体上来说,各图幅图形数据的接边难度不大。只存在由于各图幅几何校正精度的差异引起的图幅间细小的缝隙或重叠,在几何校正时我们尽量保证每幅图的校正精度在05个象元,图上距离在10米以内,因此,图幅间这些细小的缝隙或重叠区域大多在容差以内,对重叠部分可以用“merge”工具进行简单的合并,对于有缝隙的区域,可以参照该区域相邻的图斑,利用“线跟踪”、“creat polygon”创建新的面,然后将其归并到与之相邻且面积较大的图斑中去。

由于这类空隙和重叠区域较为细小,研究区覆盖范围较大,如果用肉眼一个边界一个边界的去寻找、修改,较繁琐,且容易遗漏,造成拼接的不完整。这时,我们可以利用ArcGIS提供的拓扑图层进行检查,将中亚地区地质图数据进行完整的拓扑检查,根据可能出现的图形错误,设定拓扑检查规则。在本文研究区数据拓扑处理过程中,主要采用“must not have gaps”——“不能有空区”、“must not overlap”——“不能有交集”等规则,能够快速检索出因几何校正精度不一致而引起的“空隙”和“重叠”部分,并直观地将有“空区”或“有重叠部分”的图斑用红色标识出来,能方便的对出现这些区域的图形进行修改、编辑。利用拓扑检查,大大提高了图形拼接的效率和质量,并且减少了人为的错误及遗漏。

另外,利用ArcGIS的“dissove”工具,也可以快速完成这些细小的“空隙”和“重叠”带来的图形拼接工作。选择要处理的图层,然后设定适当的容差,将该要素图层按某个字段进行合并,能迅速完成该图层的拼接。由于该工具在合并图斑时,只要各图斑所选的字段相同,都合并为一个大的图斑,且属性也进行合并,生成新的“multipolygon”类型的图层。所有,还应利用“multi-part to single part”转换为单个的“polygon”类型的数据才能完成真正的图形拼接工作。

图7-21 中亚地区数字地质图空间数据库的组成

通过上述讨论和分析,采用ArcGIS便捷的工具菜单,对标准图框进行分幅入库的图形数据和矢量数据,可以快捷、高效的完成图幅的拼接工作,完成中亚地区数字地质图空间数据库的构建。如图7-21所示。每个要素类包括一个图形图层和一个与之对应的属性数据表。通过图形即可方便地进行属性的查询,也可通过属性表的字段来查询相关的地质要素。中亚地质图数据库的建立,为进行GIS空间分析,成矿信息的提取以及证据权计算奠定了数据基础,提供了数据分析平台。

先给出我做的效果图,应该符合你的要求:

 

代码:

      private DataSet GetData(string sql)

      {   //不知道你用的什么数据库,我由于最近在用Access,

          //所以函数是连接的Access,得到    DataSet

         //如果用SQL Server或者其他是类似的,传入sql语句,得到DataSet

         //DBAccess是自定义类,没有贴上代码,如果要具体的数据库连接代码,说一下

          string accessDb = @"E:\datmdb";

          DBAccess access = new DBAccess(accessDb, sql);

          return accessGetDataSet();

      }

  private void button1_Click(object sender, EventArgs e)

      {

          if (!treeView1NodesContainsKey("区域名"))//先判断是否已经存在这个节点

          {

              TreeNode root = new TreeNode("区域名");//创建节点

      rootName = "区域名";//为节点取个名字,这儿创建的是根节点

              treeView1NodesAdd(root);//将节点添加到treeView1上

              DataSet ds = GetData("select distinct 区域位置 from T_Machines");//获取数据集dataset

              foreach (DataRow row in dsTables[0]Rows)

              {

                  TreeNode node = new TreeNode(row["区域位置"]ToString());

                  nodeName = row["区域位置"]ToString();

                  if (!rootNodesContainsKey(nodeName))

                  {

                      rootNodesAdd(node);

                  }

              }

          }

      }

      private void treeView1_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)

      {

          TreeNode clickedNode = eNode;

          string name = clickedNodeText;

          DataSet ds = GetData("select 机器编号 from T_Machines where 区域位置='" + name + "'");           

          foreach (DataRow row in dsTables[0]Rows)

          {

              TreeNode node = new TreeNode(row["机器编号"]ToString());

              nodeName = row["机器编号"]ToString();

              if (!clickedNodeNodesContainsKey(nodeName))

              {

                  clickedNodeNodesAdd(node);

              }

          }

      }

创建表

现在已经创建了一个数据库 接下来可以使用它来创建数据库中的各种对象 例如表 表是存储数据的地方 这是一个常识性的逻辑 但也是RDBMS分道扬镳的地方

拿笔者的冰箱为例 笔者在冰箱表面用小磁铁吸住了各种各样的东西 例如游览动物园后带回来的一些好玩的纪念品 友好的保险代理商赠送的日历 孩子所在学校的饮食菜单(以及查询学校考勤的电话号码) 购物列表 小狗的照片 孩子们的照片 订购比萨的热线电话等

可以将其视为笔者的一个私人数据库 只需要将各种东西粘贴在上面即可 文本 日历等 相比之下 RDBMS更加特殊一些 它要求根据数据类型来对数据排序 第 章将详细地讨论数据类型 就目前而言 只需要关注最容易理解也是RDBMS最好处理的数据类型 文本

就像前面的例子中创建数据库一样 创建一个表也是非常简单的 创建表时 需要指定表中各列的列名和数据类型

CREATE TABLE myLibrary (all_my_books VARCHAR( ))

上面的语句将ALL_MY_BOOKS列定义为字符串数据类型(关于数据类型的更多信息 请参见第 章) 并且定义该列可以容纳 个字符

读者或许已经想到 与上面的例子相比 CREATE TABLE语法还有更多的内容 对于任何一种RDBMS 完整的CREATE TABLE语法列表的长度将超过一页 精通这些选项要求读者具有高级SQL的知识 因此本书只是简要介绍一下CREATE TABLE的语法

在第 章中将会介绍 在创建了一个表之后 还可以从数据库中删除或修改表 SQL提供了对数据库对象的完全控制 可以创建 修改并销毁对象

试一试在Microsoft SQL Server 中创建一个数据库

创建数据库通常是数据库管理员的工作 特别是在一个产品级的环境之中 有太多的选项需要权衡和考虑而不是让所有选项保留默认设置 然而对本书而言 只需要使用基本的语法即可 在Microsoft SQL Server中可以采用多种办法来创建数据库 毫无疑问使用SQL ServerManagement Studio Express是最简单的办法 下面列出了相应的 *** 作步骤

( ) 确保SQL Server实例已经安装并处于运行状态(请参考附录B中的安装指南)

( ) 单击Microsoft SQL Server 菜单项 启动SQL Server Management Studio Express(在本练习中 假定SQL Server已经安装到了读者的本地计算机上 因此可以使用Windows

Authentication自动连接)

( ) 首先我们看到一个连接数据库服务器的提示屏幕 如果提示窗口中没有填入默认值 那么将服务器类型设置为Database Engine 将服务器名称设置为 \SQLEXPRESS(如果按照附录B的指南完成了安装的话 否则从下拉列表中选择另外一个名称 该下拉列表中仅显示当前计算机上可见的SQL Server实例) 另外将身份验证设置为Windows Authentication

( ) 单击Connect按钮

( ) SQL Server Management Studio Express将显示一个带有多个窗格的窗口 对于这个练习 我们只需要关注位于窗口左上角的New Query按钮 它就在File菜单之下(如图 所示) 单击New Query按钮

( ) 在窗口的中部 将显示一个新的查询窗口 在该窗口中可以输入SQL命令

( ) 输入下面的SQL语句 创建一个数据库

CREATE DATABASE library;

( ) 单击位于上方工具栏中的Execute按钮 如图 所示

( ) 注意观察下方窗格的Messages选项卡中的消息 Command(s) pleted successfully

( ) 新创建的数据库将出现在左侧标题为Object Explorer的窗格的Databases列表之中 如图 所示 单击Databases节点之前的加号 就可以展开列表

示例说明

Microsoft SQL Server承担了创建数据库过程中的许多复杂工作 在后台 SQL Server将在计算机的硬盘(或者外部存储设备)上创建一系列的文件 在Windows注册表中创建数十个条目和特定于SQL Server的配置文件 它还将创建额外的多个支撑对象用于数据库 *** 作(展开新创建数据库中的LIBRARY节点 就可以看到这些对象)

在该例子中 省略了所有的可选配置选项 使用所有选项的默认值来创建数据库 存储文件名称 位置 初始大小 排序规则等 尽管这并不是创建性能优化的数据库的最好办法(关于性能优化的内容请参见第 章) 但对于本书演示的目的来说已经足够了

       返回目录 SQL实战新手入门

       编辑推荐

       Oracle索引技术

       高性能MySQL

lishixinzhi/Article/program/SQL/201311/16486

可以在SQL Server Management Studio里新建一个数据库关系图,将要查看的表添加到关系图里,主外键关系就能很清晰的显示出来了。数据库关系图在每个数据库的“数据库关系图”节点创建。

对于任何数据库,都可以创建任意多个数据库关系图;每个数据库表都可以出现在任意数量的关系图中。这样,便可以创建不同的关系图使数据库的不同部分可视化,或强调设计的不同方面。例如,可以创建一个大型关系图来显示所有表和列,并且可以创建一个较小的关系图来显示所有表但不显示列。

所创建的每个数据库关系图都存储在相关联的数据库中。

以上就是关于sql server 2008 怎么查看各表的关系图全部的内容,包括:sql server 2008 怎么查看各表的关系图、中亚地区数字地质图数据库的建立、C# winform 中 treeview 动态添加节点问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10180511.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存