當前位置:首頁 » 編程語言 » sql字典編程
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql字典編程

發布時間: 2023-07-19 07:08:07

A. sql怎麼創建數據字典表,最好舉個例子!

我的理解數據字典表就是普通的表,例如性別的數據字典表
而這個字典表即可以包含, xmdm(代碼),xmmc(名稱),xmsm (說明) 三列,可根據使用情況增加或減少列,裡面的數據,即包含了 男,女,未知,三個選擇 這男,女等就是字典
是可以列舉完全的。

B. 資料庫數據字典怎麼寫

數據字典是什麼
進行資料庫設計的時候,對資料庫元素進行的解釋說明就是數據字典。舉個例子吧,假設有下面這個設計出來的資料庫表:

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 第零步——初始化工程

這個階段的任務是從目的描述和范圍描述開始,確定建模目標,開發建模計劃,組織建模......

C. SQL Server中如何實現類似於字典的功能

很顯然 行轉 列。在sqlserver 中可以實現的。sqlserver 2005以上版本更容易 用unpivot函數
你先把 sheet1 這個表 裝換成
sheet1
c1
d1
a1
b1

給你個例子
姓名 語文 數學 物理

---------- ----------- ----------- -----------
張三 74 83 93

李四 74 84 94

可以轉成
姓名 課程 分數

---------- ---- -----------

李四 語文 74

李四 數學 84

李四 物理 94

張三 語文 74

張三 數學 83

張三 物理 93

你看下 sqlserver pivot /unpivot 函數 一個行轉列,一個列轉行

D. SQL資料庫數據字典怎麼生成的

SELECT 表名=case when a.colorder=1 then d.name 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 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.xtype=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
order by a.id,a.colorder

E. 編寫數據字典用什麼工具好

製作數據字典工具的sql文件必須Navicat或MySQLFront或Toad導出,我使用的是sqlyog,因此格式和這個工具有沖突,導致經常使用有問題,建議使用的話採用Navicat導出表結構,這樣就不會存在sql格式不兼容的問題。

比較哦可惜的是不能自動生成每個表的功能以及索引情況。先上一張圖展示一下效果:

對於MySQL, 總共三步操作:
一、點DataDictionaryTool版本號.bat打開圖形界面。
二、MySQL->載入sql腳本文件
三、MySQL->生成數據字典

對於Oracle,也是三步操作
一、點DataDictionaryTool版本號.bat打開圖形界面。
二、Oracle->載入sql腳本文件
三、Oracle->生成數據字典

F. 數據字典怎麼寫

數據字典要包括在以下六個部分吧:

1、編寫數據項:

數據項描述={數據項名,數據項含義說明,別名,數據類型,長度,取值范圍,取值含義,與其他數據項的邏輯關系}。

其中「取值范圍」、「與其他數據項的邏輯關系」定義了數據的完整性約束條件,是設計數據檢驗功能的依據。

2、編寫數據結構:

數據結構描述={數據結構名,含義說明,組成:{數據項或數據結構}}。

3、編寫數據流:

數據流描述={數據流名,說明,數據流來源,數據流去向,組成:{數據結構},平均流量,高峰期流量}。

其中「數據流來源」是說明該數據流來自哪個過程,即數據的來源。「數據流去向」是說明該數據流將到哪個過程去,即數據的去向。「平均流量」是指在單位時間(每天、每周、每月等)里的傳輸次數。「高峰期流量」則是指在高峰時期的數據流量。

4、編寫數據存儲:

數據存儲描述={數據存儲名,說明,編號,流入的數據流,流出的數據流,組成:{數據結構},數據量,存取方式}。

其中「數據量」是指每次存取多少數據,每天(或每小時、每周等)存取幾次等信息。「存取方法」包括是批處理,還是聯機處理;是檢索還是更新;是順序檢索還是隨機檢索等。

5、編寫處理過程:

處理過程描述={處理過程名,說明,輸入:{數據流},輸出:{數據流},處理:{簡要說明}}。

6、編寫外部實體:

簡單設計即可。

(6)sql字典編程擴展閱讀:

數據字典最重要的作用是作為分析階段的工具。任何字典最重要的用途都是供人查詢對不了解的條目的解釋,在結構化分析中,數據字典的作用是給數據流圖上每個成分加以定義和說明。

換句話說,數據流圖上所有的成分的定義和解釋的文字集合就是數據字典,而且在數據字典中建立的一組嚴密一致的定義,很有助於改進分析員和用戶的通信。

G. 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

H. sql一個表A有多列數據是字母,需要關聯字典表B,將這多列字母轉為漢字。

selecta.*,b1.漢字,b2.漢字fromAa
leftjoinBb1ona.欄位1=b1.欄位
leftjoinbb2ona.欄位2=b2.欄位

如果有再多欄位就後面 left join 往上加