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

sql解析字典

發布時間: 2023-02-03 10:27:40

1. sql資料庫字典表有什麼用

數據字典是關於數據的信息的集合,也就是對數據流圖中包含的所有元素的定義的集合. 組成 1數據流 2數據流分量,即數據元素 3數據存儲 4處理 數據字典 資料庫的重要部分是數據字典。它存放有資料庫所用的有關信息,對用戶來說是一組只讀的表。數據字典內容包括: 資料庫中所有模式對象的信息,如表、視圖、簇、及索引等。 分配多少空間,當前使用了多少空間等。 列的預設值。 約束信息的完整性。 用戶的名字。 用戶及角色被授予的許可權。 用戶訪問或使用的審計信息。 其它產生的資料庫信息。 資料庫數據字典是一組表和視圖結構。它們存放在SYSTEM表空間中。 資料庫數據字典不僅是每個資料庫的中心。而且對每個用戶也是非常重要的信息。用戶可以用SQL語句訪問資料庫數據字典。

2. 請問sql中的數據字典是什麼,起到什麼作用

就是維護整個資料庫運行的內部表。屬於資料庫系統的表。
oracle官方的解釋是

One of the most important parts of an Oracle database is its data dictionary, which is a read-only set of tables that provides information about the database. A data dictionary contains:

The definitions of all schema objects in the database (tables, views, indexes, clusters, synonyms, sequences, proceres, functions, packages, triggers, and so on)

How much space has been allocated for, and is currently used by, the schema objects

Default values for columns

Integrity constraint information

The names of Oracle users

Privileges and roles each user has been granted

Auditing information, such as who has accessed or updated various schema objects

Other general database information

The data dictionary is structured in tables and views, just like other database data. All the data dictionary tables and views for a given database are stored in that database's SYSTEM tablespace.

3. 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 函數 一個行轉列,一個列轉行

4. vs是怎麼獲取sql語句中的參數名稱

你好。
SQL Server 的參數標識符是「@」,所以,SQL語句中,在字元串以外的以「@」開頭的都被視為參數。
雖然不是很明白你的目的是什麼,但是,你要實現這種功能的話,你可以嘗試一下自己設置一個參數標識符(如「#」),然後自己創建一個數據字典,再自己寫一個SQL解析器。

如果我的回答沒能幫助您,請繼續追問。

5. SQL的需求分析中的數據字典如何做請高手指點一二。

網路下,需求模板,一項一項照著寫

6. sql的數據流圖,數據字典是什麼樣的

數據流圖就是用一些不同意義的幾何圖形表示資料庫裡面不同的結構,然後就構成的數據流圖。
數據字典我們所用到的一般就是將資料庫裡面的欄位用表格形式表現出來的。

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