寫程式資料庫設計會用到的資料庫語句

2022-02-18 08:18:14 字數 1535 閱讀 5703

--查詢表結構

select

--表名=case when a.colorder=1 then d.name else '' end,

--表說明=case when a.colorder=1 then isnull(f.value,'') else '' end,

欄位名=

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(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 sys.extended_properties g on a.id=g.major_id and a.colid=

g.minor_id

left

join sys.extended_properties f on d.id=f.major_id and f.minor_id=

0where d.name='表名

'--如果只查詢指定表,加上此條件

order

by a.id,a.colorder

查詢當前資料庫有那些表

select row_number() over(order

by sys.tables.name) as

id, sys.tables.name

as表名,

''as表功能

from sys.tables

資料庫 資料庫設計正規化

在關聯式資料庫中的關係是要滿足一定要求的,滿足不同程度要求為不同正規化,越高的正規化資料庫冗餘越小。但是有些時候一昧的追求正規化減少冗餘,反而會降低資料讀寫的效率,這個時候就要反正規化,利用空間來換時間。目前關聯式資料庫有六種正規化 第一正規化 1nf 第二正規化 2nf 第三正規化 3nf 巴斯 ...

資料庫 資料庫設計過程

理解企業 企業業務過程 資料處理流程 資料處理效能需求。需求 概念模型 e r圖 idef1x圖 概念模型 邏輯模型 實體 關係 實體的屬性 關係的屬性 實體的關鍵字 關係的關鍵字 復合屬性 分量屬性或復合屬性本身作為關係的屬性 多值屬性 將多值屬性和實體的關鍵字組成乙個新的關係 弱實體 從屬實體 ...

資料庫基礎 資料庫設計

一 資料庫生命週期 1.週期 需求分析,概念結構設計,邏輯設計,物理設計,系統實施,系統執行和維護。2.響應的文件 二 正規化 一般資料庫要求規範化到第三正規化,視具體需求重新調整。第一正規化 1nf 強調列的原子性,即列不能分為多列。第二正規化 2nf 關係屬於第一正規化,且每乙個非主屬性完全函式...