扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。
成都一家集口碑和实力的网站建设服务商,拥有专业的企业建站团队和靠谱的建站技术,十多年企业及个人网站建设经验 ,为成都上千家客户提供网页设计制作,网站开发,企业网站制作建设等服务,包括成都营销型网站建设,品牌网站设计,同时也为不同行业的客户提供成都网站建设、网站制作的服务,包括成都电商型网站制作建设,装修行业网站制作建设,传统机械行业网站建设,传统农业行业网站制作建设。在成都做网站,选网站制作建设服务商就选创新互联建站。
数据库数据字典是一组表和视图结构。它们存放在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" ""'
PRINT 'html xmlns=""'
PRINT ' head'
PRINT ' titleKC管理系统-数据库字典/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
区别
1、操作的平台不同
Oracle可在所有主流平台上运行,Oracle数据库采用开放的策略目标,它使得客户可以选择一种最适合他们特定需要的解决方案。客户可以利用很多种第三方应用程序、工具。而SQL Server却只能在Windows上运行了。
2、安全性不同
Oracle的安全认证获得最高认证级别的ISO标准认证,而SQL Server并没有获得什么安全认证。这方面证明了Oracle的安全性是高于SQL Server的。
3、性能不同
SQL Server 多用户时性能不佳,而Oracle 性能最高,保持windowsNT下的TPC-D和TPC-C的世界记录。
4、文体结构不同
Oracle 的文件体系结构为:数据文件 .dbf(真实数据、日志文件 .rdo、控制文件 .ctl、参数文件 .ora。
SQL Server 的文件体系结构为:.mdf (数据字典)、.ndf (数据文件)、.ldf (日志文件)。
5、客户端支持及应用模式不同
SQL Server C/S结构,只支持windows客户,可以用ADO,DAO,OLEDB ,ODBC连接。
Oracle多层次网络计算,支持多种工业标准,可以用ODBC, JDBC,OCI等网络客户连接。
参考资料来源:百度百科—Microsoft SQL Server
参考资料来源:百度百科—Oracle数据库
数据字典用来表示某些数据或者说明某些数据的。数据库中的字典表是针对整个数据库库而言的,表示数据库表基本信息的,如SqlServer一些字典表。而对一个项目来说,一般都会定义一些常量存储到一张单独的表中,用来表示项目中一些常量信息!如项目中的一些下拉选项,这些都是常量,存储到数据库中,我们就认为这个表是字典表。简单来说,数据库的字典表就是描述数据库表基本信息的表,我们不需要维护。项目中的字典表通常指那些不可变的可以穷举出来的常量存储的表。
数据管理和数据字典两者相互相乘,不要独立地分开。
sql server 2000说实话没怎么来开发过,从我其他项目中系统建设的角度给你提几点建议把:
1、首先要分析对象,即你这个系统的受众有哪些,这些受众都有什么类型的需求,并且做一个频度的分析,这样有利于下一步的数据字典设计。
2、根据上一步的分析提炼出基础数据原单位,属性是什么样子的,设计数据字典,包括数据结构、基础参数。
3、再做一个对未来数据量的估算,包括某段时间后数据的增长情况,哪些数据表的操作频度如何以及受众对某些信息的操作频度,以便建立有效的索引、视图和存储过程等。
4、查询属于受众操作的一类动作属性,第二部完成后这个问题基本上一并解决了。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流