当前位置:首页 > 技术分析 > 正文内容

数据库教程-SQL Server数据字典查询及导出

ruisui883个月前 (03-31)技术分析31

数据字典是描述数据库对象及相关信息的表与视图的集合,常见的数据库对象包括表、存储过程、触发器、视图、约束等。用户定义的数据表对应的各类信息均存储在系统表与视图中,所谓数据字典就是通过查询获取这些用户所定义表的相关信息。数据字典的最大作用是在数据库开发者与程序员之间传递信息,使得开发者能够了解具体的数据库相关信息,保证所设计开发的软件符合数据规则及约束。因此数据字典在信息管理系统开发过程中至关重要。开发者可以根据实际需求生成不同的数据字典模板,用于显示数据库不同的信息,典型数据字典模板描述如下所示:

数据字典样式一描述如上图所示,通过数据字典显示了用户数据库中对应的表名、字段名称、字段类型、字段长度等相关信息,系统开发人员可通过该字段快速理解数据库的表,字段等基本信息。可以根据需求设置其他数据字典模板,以下给出其他形式:


如何设计数据字典

数据字典简单理解就是一个查询语句,从指定的数据表或视图中查询所需的信息,如果是多表连接查询,需要注意查询连接条件。因此为获取以上模板给出的数据字典信息,需要对数据库下的系统相关视图与表进行分析,明确各系统表或者视图的作用。结合给出的数据字段模板样式,可知所需信息主要包括表、字段、数据类型、属性等。因此我们需要明确这些信息都存储在什么表中。系统表及视图较多,在数据库对象资源管理器中可浏览全部视图。部分截图如下:

我们在编写字典过程中,无需对所有视图有所了解,只需要重点了解和字典显示信息相关的视图即可。通过分析可知主要涉及视图包括以下类型,

sysobjects:有关SQL Server数据库的所有信息都存储在其系统表中,其中最有用的是sysobjects.name和sysobjects.xtype。前者表示相关对象的名称,而后者标识了对象的类型:如U类型只的是用户表。
syscolumns:存储当前数据库下所有表与视图的每一列及存储过程中的每一个参数均返回一行。其主要字段包括xusertype(字段的数据类型)、length(字段长度)、isnullable(是否为空)等。
systypes:数据表对应的物理存储类型
syscomments:包含数据库中每个视图,规则,默认值,触发器,CHECK约束,DEFAULT约束和存储过程的条目。
sysindexes:当前数据库中的每个索引和表都包含一行。
sysindexkeys:包含有关数据库索引中的键或列的信息。
sysforeignkeys:包含有关FOREIGN KEY约束的信息,这些约束位于数据库表的定义中。
sys.extended_properties:为当前数据库中的每个扩展属性返回一行。

编写数据字典所需基本系统视图说明如上所示,我们可以连接以上视图,选择需要显示的字段,完成字典格式的定义。系统视图详细解释与说明可参考微软文档信息,如下图所示:

编写查询语句

在明确所需字段来源之后,我们可以进一步编写生成字典的查询语句。在编写查询语句中为方便阅读,我们将使用系统方法及流程控制语句、重命名等措施,提高查询结果的可读性。主要使用方法描述如下:

1、ISNULL()

用于判断表达式是否为空,非空则返回表达式值。

2、COLUMNPROPERTY ( id , column , property )

用于检查指定字段的属性值,第三个参数为Scale时返回列或参数的数据类型的小数位数。

3、流程控制,多路分支语句

多路分支语句主要用于对多条件进行判断,如以下代码:

4、CONVERT()函数

数据类型转换函数,将指定的数据转为指定的数据类型。函数可提供两个参数,第一个为转换的数据类型,第二个为转换的数据。示例如下:

5、EXISTS()函数

该函数主要用于判断查询结果是否存在,如果查询结果存在则返回true,否则返回false。

6、多表连接操作

SQL Server提供多表连接,用于实现多表连接操作,常用多表连接包括内连接、外连接、左外连接、右外连接等。

三种类型连接描述如上表,数据字典需要连接的表包括syscolumns、sysobjects、systypes等。多表连接实现代码描述如下:

4、查询语句及查询结果

按照以上所提供的表信息介绍、系统函数方法等,可以编写数据字典查询语句,并将查询结果进行输出保存,实际过程也可根据需要对查询显示字段进行筛选。查询过程结果如下:

针对查询结果可以进一步使用导出保存功能实现对数据字典的保存操作。导出保存实现效果展示如下:


本头条号长期关注编程资讯分享;编程课程、素材、代码分享及编程培训。如果您对以上方面有兴趣或代码错误、建议与意见,可以联系作者,共同探讨。期待大家关注!

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/3208.html

标签: 数据库导出
分享给朋友:

“数据库教程-SQL Server数据字典查询及导出” 的相关文章

Linux发行版Nobara更新39版本,号称“专为游戏玩家定制”

IT之家 12 月 27 日消息,Linux 发行版 Nobara 今天推出了 39 版本,主要改进了“Gamescope 合成器”,并更新了 OBS Studio、部分驱动程序及 Nautilus 文件管理器,小伙伴们可以点此访问项目地址。IT之家经过查询得知,Nobara 是一款基于 Fedor...

快速上手React

web前端三大主流框架1、Angular大家眼里比较牛的框架,甚至有人说三大框架中只有它能称得上一个完整的框架,因为它包含的东西比较完善,包含模板,数据双向绑定,路由,模块化,服务,过滤器,依赖注入等所有功能。对于刚开始学习使用框架的小伙伴们,可以推荐这个框架,学会之后简直能颠覆之前你对前端开发的认...

国产操作系统上Vim的详解03--安装和使用插件 | 统信 | 麒麟 | 中科方德

原文链接:国产操作系统上Vim的详解03--使用Vundle插件管理器来安装和使用插件 | 统信 | 麒麟 | 中科方德Hello,大家好啊!今天给大家带来一篇在国产操作系统上使用Vundle插件管理器来安装和使用Vim插件的详解文章。Vundle是Vim的一款强大的插件管理器,可以帮助我们轻松地安...

HTML5+眼球追踪?黑科技颠覆传统手机体验

今天,iH5工具推出一个新的神秘功能——眼动追踪,可以通过摄像头捕捉观众眼球活动!为了给大家具体演示该功能的使用,我做了一个案例,供大家参考。实际效果如下:案例比较简单,就是通过眼动功能获取视觉焦点位置,剔除用户看中的牌。现在,舞台的属性中多了一个“启用眼动”的选项,另外,还多了一个“启用摄像头”的...

摄影后期必看 | PS插件camera raw 16.4教程 | 范围蒙版

范围蒙版Camera Raw 【蒙版】模块中提供了三个范围蒙版工具,可以通过特定的范围来创建蒙版。此次新增的【范围蒙版】大大加强了acr插件对局部调整的能力。点击下拉小箭头可以看到【颜色范围】,可用于快速选择想要编辑的颜色。快捷键:Shift + C【明亮度范围】,可用于快速选择想要调整的明亮度。快...

关于Vue页面跳转传参,参数不同, 但页面只获取参数一次的问题

#头条创作挑战赛#1.问题描述问题描述: element 展示表格(页面A),点击表格的每一行的查看详情按钮,可以携带此行的信息参数跳转到另一个页面(页面B),但是从A页面到B页面,只有第一次跳转的时候B页面可以获取到A页面的参数,返回再次A->B ,B页面无法获取到参数。2.解决办法:方法一...