㈠ 数据字典的具体格式怎么写
分为模拟数据
和数据库表亩局结构用以下脚本生成
以SQL2000为例
查出表的各个字段的所有属性
SELECT
表名 = case when a.colorder=1 then d.name else ''拆世 end,
表说明 = case when a.colorder=1 then isnull(f.value,'') else '' end,
字段序号 = a.colorder,
字段名 = a.name,
标识 = case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end,
主键 = case when exists(SELECT 1 FROM sysobjects where xtype='PK' and parent_obj=a.id and name in (
SELECT name FROM sysindexes WHERE indid in(
SELECT indid FROM sysindexkeys WHERE id = a.id AND colid=a.colid))) then '√' else '' end,
类型 = b.name,
占用字节数 = a.length,
长度 = COLUMNPROPERTY(a.id,a.name,'PRECISION'),
小数位数 = isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0),
允许空 = case when a.isnullable=1 then '√'else '' end,
默认值 = isnull(e.text,''),
字段说旅耐肢明 = isnull(g.[value],'')
FROM
syscolumns a
left join
systypes b
on
a.xusertype=b.xusertype
inner join
sysobjects d
on
a.id=d.id and d.xtype='U' and d.name<>'dtproperties'
left join
syscomments e
on
a.cdefault=e.id
left join
sysproperties g
on
a.id=g.id and a.colid=g.smallid
left join
sysproperties f
on
d.id=f.id and f.smallid=0
where
d.name='要查询的表' --如果只查询指定表,加上此条件
order by
a.id,a.colorder
㈡ 股票筹码成本分布设置里平均分布和三角形分别是怎么回事
三角形分布:在概率论与统计学中,三角形分布是低限为a、众数为c、上限为b的连续概率分布。这种分布的数据量大大减少,主要需要"最小值"、"最可能值"和"最大值"三组数据,而且这些数据易于通过分析判断来确定。
这样项目具体活动风险性成本的确定者们只要根据现有的信息或自己的经验判断,去给出项目具体活动的"最小值"、"最可能值"和"最大值"以及"最可能值"的概率,就可以通过简单计算或借助于计算机仿真,得到各个项目具体活动的风险性成本期望值了。
平均分布:平均分布各行用于设置表格各行的宽度相同。
第1步,打开Word2010文档窗口,在表格任意单元格中单击鼠标。
第2步,在打开的“表格工具”功能区中切换到“布局”选项卡,单击“单元格大小”分组中的“分布行”按钮。
用户还可以选中整个表格,然后右键单击表格中的任意单元格,在打开打的快捷菜单中选择“平均分布各行”命令。
㈢ 数据字典怎么画
数据字典画法如下:
1、从问题描述中取出4种基本组成成分。
2、根据1的结果画出系统的基本系统流图(顶层图)。
3、把枝键由2得到的基本系统模型细化为系统的功能级数据流图。
4、对功能级数据流图中的主要功能进一步细化,直至满意为止。
数据字典
数据字典是对于数据模型中的数据对象或者项目的描述的集合,这样做有利于程序员和其他需要参考的人。分析一个用户交换的对象系统的第一步就是去辨别每一个对象,以及它与其他对象之间的关系。这个过程称为数据建模,结果产生一个对象关系图。
当每个数据对象和项碰搭判目都给出了一个描述笑改性的名字之后,它的关系再进行描述(或者是成为潜在描述关系的结构中的一部分),然后再描述数据的类型列出所有可能预先定义的数值,以及提供简单的文字性描述。这个集合被组织成书的形式用来参考,就叫做数据字典。
当开发用到数据模型的程序时,数据字典可以帮助你理解数据项适合结构中的哪个地方,它可能包含什么数值,以及数据项基本上表示现实世界中的什么意思。例如,一家银行或者是一个银行组织可能对客户银行业涉及的数据对象进行建模。
㈣ 数据库数据字典怎么写
数据字典是什么
进行数据库设计的时候,对数据库元素进行的解释说明就是数据字典。举个例子吧,假设有下面这个设计出来的数据库表:
player(fname, lname, account, pwd, email)
对应的数据字典就是:
player:玩家信息表
fname:玩家名
lname:玩家姓
account:账户名
pwd:密码
email:联系电邮
这里只是一个针对某一表的数据字典,还有针对表与表之间关系的数据字典、表内字段属性的数据字典等等。越是大型的数据库设计,越是需要数据字典来辅助进行设计说明,帮助设计人员之间的沟通野竖与交流。
SQL数据库数据字典怎么生成的?
数据字典是关于数据的信息的 *** ,也就是对数据流图中包含的所有元素的定义的 *** 。
数据库数据字典是一组表和视图结构。它们存放在SYSTEM表空间中。
数据库数据字典不仅是每个数据库的中心。而且对每个用户也是非常重要的信息。用户可以用SQL语句访问数据库数据字典。
生成数据库参考代码如下:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:
-- Create date: <2014-09-19>
-- Description:
-- =============================================
CREATE PROCEDURE [dbo].[CreateDatabaseDictionarie]
AS
BEGIN
DECLARE @TableName nvarchar(35),@htmls varchar(8000)
DECLARE @字段名称 VARCHAR(200)
DECLARE @类型 VARCHAR(200)
DECLARE @长度 VARCHAR(200)
DECLARE @数值精度 VARCHAR(200)
DECLARE @小数位数 VARCHAR(200)
DECLARE @默认值 VARCHAR(200)
DECLARE @允许为空 VARCHAR(200)
DECLARE @外键 VARCHAR(200)
DECLARE @主键 VARCHAR(200)
DECLARE @描述 VARCHAR(200)
SET NOCOUNT ON;
DECLARE Tbls CURSOR
FOR
Select distinct Table_name
FROM INFORMATION_SCHEMA.COLUMNS
order by Table_name
OPEN Tbls
PRINT ''
PRINT ''
PRINT ' '
PRINT ' ......
数据字典的组成
数据字典的组成:1、数据项2、数据结构3、数据流4、数据存储5、处理过程数据字典数据字典是数据库的重要组成部分。它存放有数据库所用的有棚脊毕关信息,对用户来说是一组只读的表。数据字典内容包括:1、数据库中所有模式对象的信息,如表、视图、簇、及索引等。2、分配多少空间,当前使用了多少空间等。3、列的缺省值。4、约束信息的完整性。5、用户的名字。6、用户及角色被授予的权限。7、用户访问或使用的审计信息。8、其它产生的数据库信息。数据库数据字典是一组表和视图结构。它们存放在SYSTEM表空间中。数据库数据字典不仅是每个数据库的中心。而且对每个用户也是非常重要的信息。用户可以用SQL语句访问数据库数据字典。关于数据的信息 *** ,是一种用户可以访问的记录数据库和应用程序元数据的目录,是对数据库内表信息的物理与逻辑的说明
数据字典与数据库设计之间有什么关系?
正文
1 引言
1.1编写目的
说明编写这份数据库设计说明链芹书的目的,指出预期的读者。
1.2背景
说明:
a.说明待开发的数据库的名称和使用此数据库的软件系统的名称;
b.列出该软件系统开发项目的任务提出者、用户以及将安装该软件和这个数据库的计算站(中心)。
1.3定义
列出本文件中用到的专门术语的定义、外文首字母组词的原词组。
1.4参考资料
列出有关的参考资料:
a.本项目的经核准的计划任务书或合同、上级机关批文;
b.属于本项目的其他已发表的文件;
c.本文件中各处引用到的文件资料,包括所要用到的软件开发标准。
列出这些文件的标题、文件编号、发表日期和出版单位,说明能够取得这些文件的来源。
2 外部设计
2.1标识符和状态
联系用途,详细说明用于唯一地标识该数据库的代码、名称或标识符,附加的描述性信息亦要给出。如果该数据库属于尚在实验中、尚在测试中或是暂时使用的,则要说明这一特点及其有效时间范围。
2.2使用它的程序
列出将要使用或访问此数据库的所有应用程序,对于这些应用程序的每一个,给出它的名称和版本号。
2.3约定
陈述一个程序员或一个系统分析员为了能使用此数据库而需要了解的建立标号、标识的约定,例如 用于标识数据库的不同版本的约定和用于标识库内各个文卷、、记录、数据项的命名约定等。
2.4专门指导
向准备从事此数据库的生成、从事此数据库的测试、维护人员提供专门的指导,例如将被送入数据 库的数据的格式和标准、送入数据库的操作规程和步骤,用于产生、修改、更新或使用这些数据文卷的操 作指导。 如果这些指导的内容篇幅很长,列出可参阅的文件资料的名称和章条。
2.5支持软件
简单介绍同此数据库直接有关的支持软件,如数据库管理系统、存储定位程序和用于装入、生成、修 改、更新数据库的程序等。说明这些软件的名称、版本号和主要功能特性,如所用数据模型的类型、允许 的数据容量等。列出这些支持软件的技术文件的标题、编号及来源。
3 结构设计
3.1概念结构设计
说明本数据库将反映的现实世界中的实体、属性和它们之间的关系等的原始数据形式,包括各数据项、记录、系、文卷的标识符、定义、类型、度量单位和值域,建立本数据库的每一幅用户视图。
3.2逻辑结构设计
说明把上述原始数据进行分解、合并后重新组织起来的数据库全局逻辑结构,包括所确定的关键字和属性、重新确定的记录结构和文卷结构、所建立的各个文卷之间的相互关系,形成本数据库的数据库管理员视图。
3.3物理结构设计
建立系统程序员视图,包括:
a.数据在内存中的安排,包括对索引区、缓冲区的设计;
b.所使用的外存设备及外存空间的组织,包括索引区、数据块的组织与划分;
c.访问数据的方式方法。
4 运用设计
4.1数据字典设计
对数据库设计中涉及到的各种项目,如数据项、记录、系、文卷、模式、子模式等一般要建立起数据字典,以说明它们的标识符、同义名及有关信息。在本节中要说明对此数据字典设计的基本考虑。
4.2安全保密设计
说明在数据库的设计中,将如何通过区分不同的访问者、不同的访问类型和不同的数据对象,进行分别对待而获得的数据库安全保密的设计考虑。...
mysql数据库数据字典表怎么写
你导出 rmation_schema 数据库里的所有表就OK了 新特性啊,以前只有ORACLE才有的
数据字典包括哪些内容
你好!
我用的是考研参考书,上面的答案是:
数据字典是数据库中描述信息和控制信息的 *** ,他是数据库设计和管理的有力工具。数据字典包含(1.数据项,2数据流,3.数据结构.4.数据存储.5.处理过程)五个部分。同时也是详细数据收集和数据分析的结果。
SQL怎么创建数据字典表,最好举个例子!
我的理解数据字典表就是普通的表,例如性别的数据字典表
而这个字典表即可以包含, xmdm(代码),xmmc(名称),xm *** (说明) 三列,可根据使用情况增加或减少列,里面的数据,即包含了 男,女,未知,三个选择 这男,女等就是字典
是可以列举完全的。
数据库中的字典是什么意思?
数据字典即为数据库说明。包含完整的表结构介绍。
数据字典是特殊的数据库数据库类型是按什么
数据库设计方法、规范与技巧
一、数据库设计过程
数据库技术是信息资源管理最有效的手段。数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。
数据库设计中需求分析阶段综合各个用户的应用需求(现实世界的需求),在概念设计阶段形成独立于机器特点、独立于各个DBMS产品的概念模式(信息世界模型),用E-R图来描述。在逻辑设计阶段将E-R图转换成具体的数据库产品支持的数据模型如关系模型,形成数据库逻辑模式。然后根据用户处理的要求,安全性的考虑,在基本表的基础上再建立必要的视图(VIEW)形成数据的外模式。在物理设计阶段根据DBMS特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式。
1. 需求分析阶段
需求收集和分析,结果得到数据字典描述的数据需求(和数据流图描述的处理需求)。
需求分析的重点是调查、收集与分析用户在数据管理中的信息要求、处理要求、安全性与完整性要求。
需求分析的方法:调查组织机构情况、调查各部门的业务活动情况、协助用户明确对新系统的各种要求、确定新系统的边界。
常用的调查方法有: 跟班作业、开调查会、请专人介绍、询问、设计调查表请用户填写、查阅记录。
分析和表达用户需求的方法主要包括自顶向下和自底向上两类方法。自顶向下的结构化分析方法(Structured Analysis,简称SA方法)从最上层的系统组织机构入手,采用逐层分解的方式分析系统,并把每一层用数据流图和数据字典描述。
数据流图表达了数据和处理过程的关系。系统中的数据则借助数据字典(Data Dictionary,简称DD)来描述。
数据字典是各类数据描述的 *** ,它是关于数据库中数据的描述,即元数据,而不是数据本身。数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分(至少应该包含每个字段的数据类型和在每个表内的主外键)。
数据项描述={数据项名,数据项含义说明,别名,数据类型,长度,
取值范围,取值含义,与其他数据项的逻辑关系}
数据结构描述={数据结构名,含义说明,组成:{数据项或数据结构}}
数据流描述={数据流名,说明,数据流来源,数据流去向,
组成:{数据结构},平均流量,高峰期流量}
数据存储描述={数据存储名,说明,编号,流入的数据流,流出的数据流,
组成:{数据结构},数据量,存取方式}
处理过程描述={处理过程名,说明,输入:{数据流},输出:{数据流},
处理:{简要说明}}
2. 概念结构设计阶段
通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,可以用E-R图表示。
概念模型用于信息世界的建模。概念模型不依赖于某一个DBMS支持的数据模型。概念模型可以转换为计算机上某一DBMS支持的特定数据模型。
概念模型特点:
(1) 具有较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识。
(2) 应该简单、清晰、易于用户理解,是用户与数据库设计人员之间进行交流的语言。
概念模型设计的一种常用方法为IDEF1X方法,它就是把实体-联系方法应用到语义数据模型中的一种语义模型化技术,用于建立系统信息模型。
使用IDEF1X方法创建E-R模型的步骤如下所示:
2.1 第零步——初始化工程
这个阶段的任务是从目的描述和范围描述开始,确定建模目标,开发建模计划,组织建模......
㈤ 数据分析走势图怎么做
选择需要制作曲线图的数据,然后点击左上角的插入,选择插入图表。曲线图看数据最明显。表格中的数据为三组数据,选择其中两组数据。也可以选择右边的设置栏进行设置,表格的形式、大小、内容样式等都可以设置 ,详细步骤:
1、准备好一组数据,这组数据要分好类,而且有明确的标题。
㈥ 如何使用数据字典
为了对数据流程图中的各个元素作出详细的说明,有必要建立数据字典 (Data dictionary) 。数据字典的内容主要是对数据流程图中的数据项、数据结构、数据流、处理逻辑、数据存储和外部实体等六个方面进行具体的定义。数据流程图配以数据字典,就可以从图形和文字两个方面对系统的逻辑模型进行完整的描述。
一、数据项的定义
数据项又称数据元素,是数据的最小单位。分析数据特性应从静态和动态两个方面去进行。在数据字典中,仅定义数据的静态特性,具体包括: (1) 数据项的名称、编号、别名和简述; (2) 数据项的长度; (3) 数据项的取值范围;
例:数据项定义
数据项编号: I02 -01
数据项名称:材料编号
别名:材料编码
简述:某种材料的代码
类型及宽度:字符型, 4 位
取值范围:“0001 ”-“ 9999 ”
二、数据结构的定义
数据结构描述某些数据项之间的关系。一个数据结构可以由若干个数据项组成;也可以由若干个数据结构组成,还可以由若干个数据项和数据结构组成。例如表 5.l 所示订货单就是由三个数据结构组成的数据结构,表中用 DS 表示数据结构,用 I 表示数据项。
数据字典中对数据结构的定义包括以下内容: (1) 数据结构的名称和编号; (2) 简述;(3) 数据结构的组成。如果是一个简单的数据结构,只要列出它所包含的数据项。如果是一个嵌套的数据结构 ( 即数据结构中包含数据结构 ) ,则需列出它所包含的数据结构、的名称,因为这些被包含启指的数据结构在数据字典的其他部分已有定义。
例:数据结构定义
数据结构编号: DS03 - 08
数据结构名称:用户订货单
简述:用户所填用户情况及订货要求等信息
数据结构组成: DS03 - 02 + DS03 - 03 + DS03 -04
三、数据流的定义
数据流由一个或一组固定的数据项组成。定义数据流时,不仅要说明数据流的名称、组成等,还应指明它的来源、去向和数据流量等。
例:数据流定义
数据流编号: FD3 - 08
数据流名称:领料单
简述:车间开出的领料单
数据流来源:车间
数据流去向:发料处理模块
数据流组成:材料编芹核号 + 材料名称 + 领用数量+ 日期 + 领用单位
数据流量: 10 份/时
高峰流量: 20 份/时 ( 上午9 : 00 -11 : 00)
四、处理逻辑的定义
处理逻辑的定义仅对数据流程图中最底层的处理逻辑加以说明。编写数据字典是系统开发的一项重要的基础工作。一旦建立,并按编号排序之后,就是一本可供查阅的关于数据的字典,从系统分析一直到系统设计和实施都要使用它。在数据字典的建立、修嫌旁掘正和补充过程中,始终要注意保证数据的一致性和完整性。
数据字典可以用人工建立卡片的办法来管理,也可存储在计算机中用一个数据字典软件来管理。
㈦ akshare获取的股票数据怎么转化为dataframe
akshare获取的股票数据怎么转化为dataframeKshare获取的股票数据的迟备烂话,想要转化为fe的话就要使用专门的股票数据,码漏股票的话都是您投资的股票数据的话,它就会转化出相应的数据,这样就可滚搏以转化为d a t a r a
㈧ 数据字典怎么写
数据字典要包括在以下六个部分吧:
1、编写数据项:
数据项描述={数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系}。
其中“取值范围”、“与其他数据项的逻辑关系”定义了数据的完整性约束条件,是设计数据检验功能的依据。
2、编写数据结构:辩亩
数据结构描述={数据结构名,含义说明,组成:{数据项或数据结构}}。
3、编写数据流:
数据流描述={数据流名,说明,数据流来源,数据流去向,组成:{数据结构},平均流量,高峰期流量}。
其中“数据流来源”是说明该数据流来自哪个过程,即数据的来源。“数据流去向”是说明该数据流将到哪个过程去,亩顷即数据的去向。“平均流量”是指在单位时间(每天、每周、每月等)里的传输次数。“高峰期流量”则是指在高峰时期的数据流量。
4、编写数据存储:
数据存储描述={数据存储名,说明,编号,流入的数据流,流出的数据流,组成:{数据结构},数据量,存取方式}。
其中“数据量”是指每次存取多少数据,每天(或每小时、每周等)存取几次等信息。“存取方法”包括是批处理,还是联机处理;是检索还是更新;是顺序检索还是随机检索等。
5、编写处理过程:
处理过程描述={处理过程名,说明,输入:{数据流},输出:{数据流},处理:{简要携耐森说明}}。
6、编写外部实体:
简单设计即可。
(8)股票三组数据怎么变成字典扩展阅读:
数据字典最重要的作用是作为分析阶段的工具。任何字典最重要的用途都是供人查询对不了解的条目的解释,在结构化分析中,数据字典的作用是给数据流图上每个成分加以定义和说明。
换句话说,数据流图上所有的成分的定义和解释的文字集合就是数据字典,而且在数据字典中建立的一组严密一致的定义,很有助于改进分析员和用户的通信。
㈨ 数据字典是什么
数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明,使用数据字典为简单的建模项目。简而言之,数据字典是描述数据的信息集合,是对系统中使用的所有数据元素的定义的集合。
数据字典不是可以拿在手上翻阅的字典。数据字典包含:数据项,数据流,数据结构,数据存储,处理过程五个部分。同时也是详细数据收集和数据分析的结果。
(9)股票三组数据怎么变成字典扩展阅读:
数据字典在需求分析阶段被建立。
数据字典是一个预留空间,一个数据库,这是用来储存信息数据库本身。
数据字典可能包含的信息,例如:数据库设计资料,数据内部储存的SQL程序,用户权限,用户统计,数据库的过程中的信息,数据库增长统计,数据库性能统计。
数据字典则是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构。数据字典通过对数据项和数据结构的定义,来描述数据流、数据存储的逻辑内容。
数据字典团雀是关于数据隐或基的信息的集合,也就是对数据流图中包含的所有元素的定义的集合.数据字典还有另一种含义,是在数据库设计时用到的一种工具,用来描述数据库中基本表的设计,主要包括字段名、数据类型、主键、外键等描述表的属性的内容。
以Oracle数据库字典为例:数据字典分为数据字典表和数据字典视图。
Oracle数据库字典通常是在创建和安装数据库时被创建的,Oracle数据字典是Oracle数据库系统工作的基础,没有数据字典的支持,Oracle数据库系统就不能进行任何工作。数据字典中的表是不能直接被访问的,但是可以访问数据字典中的视图。
数据字典表里的数据是Oracle系统存放的系统数据,而普通表存放的是用户的数据。为了方便的区别这些表,这些表的名字都是用"$"结尾,这些表属于SYS用户。
数据字典表由$ORACLE_HOME/rdbms/admin/sql.bsq 脚本创建, 这个脚本里又调用了其他的脚本来创建这些数据字典表。 在那些创建脚本里有基表的创建SQL。
Oracle 对数据字典表的说明:
These underlying tables store information about the database. Only Oracle Database should write to and read these tables. Users rarely access the base tables directly because they are normalized and most data is stored in a cryptic format.
这些数据字典表,只有Oracle 能够进行读写。
SYS用户下的这些数据字典表,存放在system 表空间下面,表名都用"$"结尾,为了便于用户对灶谨数据字典表的查询, Oracle对这些数据字典都分别建立了用户视图,这样即容易记住,还隐藏了数据字典表表之间的关系。
Oracle针对这些对象的范围,分别把视图命名为DBA_XXXX, ALL_XXXX和USER_XXXX。
数据字典视图分2类:静态数据字典(静态性能视图) 和 动态数据字典(动态性能视图)。
静态数据字典中的视图分为三类,它们分别由三个前缀构成:user_*、 all_*、 dba_*。
user_*:该视图存储了关于当前用户所拥有的对象的信息。(即所有在该用户模式下的对象)
all_*:该视图存储了当前用户能够访问的对象的信息, 而不是当前用户拥有的对象。(与user_*相比,all_* 并不需要拥有该对象,只需要具有访问该对象的权限即可)
dba_*:该视图存储了数据库中所有对象的信息。(前提是当前用户具有访问这些数据库的权限,一般来说必须具有管理员权限)
这些视图由SYS用户创建的,所以使用需要加上SYS,为了方便, Oracle为每个数据字典表的视图头建立了同名字的公共同义词(public synonyms). 这样简单的处理就省去了写sys.的麻烦。
㈩ SQL数据库数据字典怎么生成的
数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。
数据库数据字典是一组表和视图结构。它们存放在SYSTEM表空间中。
数据库数据字典不仅是每个数据库搜衡汪的中心。而且对每个用户也是非常重要的信息。用户可以用SQL语句访问数据库数据字典。
生成数据库参考代码如下:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Carbe>
-- Create date: <2014-09-19>
-- Description: <生成数据库字典>
-- =============================================
CREATE PROCEDURE [dbo].[CreateDatabaseDictionarie]
AS
BEGIN
DECLARE @TableName nvarchar(35),@htmls varchar(8000)
DECLARE @字段名称 VARCHAR(200)
DECLARE @类型 VARCHAR(200)
DECLARE @长度 VARCHAR(200)
DECLARE @数值精度 VARCHAR(200)
DECLARE @小数位数 VARCHAR(200)
DECLARE @默认值 VARCHAR(200)
DECLARE @允许为空 VARCHAR(200)
DECLARE @外键 VARCHAR(200)
DECLARE @主键 VARCHAR(200)
DECLARE @描述 VARCHAR(200)
SET NOCOUNT ON;
DECLARE Tbls CURSOR
FOR
Select distinct Table_name
FROM INFORMATION_SCHEMA.COLUMNS
order by Table_name
OPEN Tbls
PRINT '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">'
PRINT '<html xmlns="http://www.w3.org/1999/xhtml"拦山>'
PRINT ' <head>'
PRINT ' <title>KC管理系统-数据库字典</title>'
PRINT ' <style type="text/css">'世仔
PRINT ' body{margin:0; font:11pt "arial", "微软雅黑"; cursor:default;}'
PRINT ' .tableBox{margin:10px auto; padding:0px; width:1000px; height:auto; background:#FBF5E3; border:1px solid #45360A}'
PRINT ' .tableBox h3 {font-size:12pt; height:30px; line-height:30px; background:#45360A; padding:0px 0px 0px 15px; color:#FFF; margin:0px; text-align:left }'
PRINT ' .tableBox table {width:1000px; padding:0px }'
PRINT ' .tableBox th {height:25px; border-top:1px solid #FFF; border-left:1px solid #FFF; background:#F7EBC8; border-right:1px solid #E0C889; border-bottom:1px solid #E0C889 }'
PRINT ' .tableBox td {height:25px; padding-left:10px; border-top:1px solid #FFF; border-left:1px solid #FFF; border-right:1px solid #E0C889; border-bottom:1px solid #E0C889 }'
PRINT ' </style>'
PRINT ' </head>'
PRINT ' <body>'
FETCH NEXT FROM Tbls INTO @TableName
WHILE @@FETCH_STATUS = 0
BEGIN
Select @htmls = ' <h3>' + @TableName + ' : '+ CAST(Value as varchar(1000)) + '</h3>'
FROM sys.extended_properties AS A
WHERE A.major_id = OBJECT_ID(@TableName)
and name = 'MS_Description' and minor_id = 0
PRINT ' <div class="tableBox">'
PRINT @htmls
PRINT ' <table cellspacing="0">'
PRINT ' <tr>'
PRINT ' <th>字段名称</th>'
PRINT ' <th>类型</th>'
PRINT ' <th>长度</th>'
PRINT ' <th>数值精度</th>'
PRINT ' <th>小数位数</th>'
PRINT ' <th>默认值</th>'
PRINT ' <th>允许为空</th>'
PRINT ' <th>外键</th>'
PRINT ' <th>主键</th>'
PRINT ' <th>描述</th>'
PRINT ' </tr>'
DECLARE TRows CURSOR
FOR
SELECT
' <td>' + CAST(clmns.name AS VARCHAR(35)) + '</td>',
' <td>' + CAST(udt.name AS CHAR(15)) + '</td>' ,
' <td>' + CAST(CAST(CASE WHEN typ.name IN (N'nchar', N'nvarchar') AND clmns.max_length <> -1 THEN clmns.max_length/2 ELSE clmns.max_length END AS INT) AS VARCHAR(20)) + '</td>',
' <td>' + CAST(CAST(clmns.precision AS INT) AS VARCHAR(20)) + '</td>',
' <td>' + CAST(CAST(clmns.scale AS INT) AS VARCHAR(20)) + '</td>',
' <td>' + isnull(CAST(cnstr.definition AS VARCHAR(20)),'') + '</td>',
' <td>' + CAST(clmns.is_nullable AS VARCHAR(20)) + '</td>' ,
' <td>' + CAST(clmns.is_computed AS VARCHAR(20)) + '</td>' ,
' <td>' + CAST(clmns.is_identity AS VARCHAR(20)) + '</td>' ,
' <td>' + ISNULL(CAST(exprop.value AS VARCHAR(500)),'') + '</td>'
FROM sys.tables AS tbl
INNER JOIN sys.all_columns AS clmns ON clmns.object_id=tbl.object_id
LEFT OUTER JOIN sys.indexes AS idx ON idx.object_id = clmns.object_id AND 1 =idx.is_primary_key
LEFT OUTER JOIN sys.index_columns AS idxcol ON idxcol.index_id = idx.index_id AND idxcol.column_id = clmns.column_id AND idxcol.object_id = clmns.object_id AND 0 = idxcol.is_included_column
LEFT OUTER JOIN sys.types AS udt ON udt.user_type_id = clmns.user_type_id
LEFT OUTER JOIN sys.types AS typ ON typ.user_type_id = clmns.system_type_id AND typ.user_type_id = typ.system_type_id
LEFT JOIN sys.default_constraints AS cnstr ON cnstr.object_id=clmns.default_object_id
LEFT OUTER JOIN sys.extended_properties exprop ON exprop.major_id = clmns.object_id AND exprop.minor_id = clmns.column_id AND exprop.name = 'MS_Description'
WHERE (tbl.name = @TableName and exprop.class = 1) --I don't wand to include comments on indexes
ORDER BY clmns.column_id ASC
OPEN TRows
FETCH NEXT FROM TRows INTO @字段名称,@类型,@长度,@数值精度,@小数位数,@默认值,@允许为空,@外键,@主键,@描述
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT ' <tr>'
PRINT @字段名称
PRINT @类型
PRINT @长度
PRINT @数值精度
PRINT @小数位数
PRINT @默认值
PRINT @允许为空
PRINT @外键
PRINT @主键
PRINT @描述
PRINT ' </tr>'
FETCH NEXT FROM TRows INTO @字段名称,@类型,@长度,@数值精度,@小数位数,@默认值,@允许为空,@外键,@主键,@描述
END
CLOSE TRows
DEALLOCATE TRows
PRINT ' </table>'
PRINT ' </div>'
FETCH NEXT FROM Tbls INTO @TableName
END
PRINT ' </body>'
PRINT '</html>'
CLOSE Tbls
DEALLOCATE Tbls
END