use Roy --數(shù)據(jù)庫
創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設、高性價比新邱網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式新邱網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設找我們,業(yè)務覆蓋新邱地區(qū)。費用合理售后完善,10多年實體公司更值得信賴。
go
--2005實現(xiàn)數(shù)據(jù)庫表字段屬性統(tǒng)計(2000里的系統(tǒng)表sysproperties描述表不存在,2005里用sys.extended_properties視圖替代)
select
[表名]=c.Name,
[表說明]=isnull(f.[value],''),
[列名]=a.Name,
[列序號]=a.Column_id,
[標識]=case when is_identity=1 then '√' else '' end,
[主鍵]=case when exists(select 1 from sys.objects x join sys.indexes y on x.Type=N'PK' and x.Name=y.Name
join sysindexkeys z on z.ID=a.Object_id and z.indid=y.index_id and z.Colid=a.Column_id)
then '√' else '' end,
[類型]=b.Name,
[字節(jié)數(shù)]=case when a.[max_length]=-1 and b.Name!='xml' then 'max/2G'
when b.Name='xml' then '2^31-1字節(jié)/2G'
else rtrim(a.[max_length]) end,
[長度]=case when ColumnProperty(a.object_id,a.Name,'Precision')=-1 then '2^31-1'
else rtrim(ColumnProperty(a.object_id,a.Name,'Precision')) end,
[小數(shù)]=isnull(ColumnProperty(a.object_id,a.Name,'Scale'),0),
[是否為空]=case when a.is_nullable=1 then '√' else '' end,
[列說明]=isnull(e.[value],''),
[默認值]=isnull(d.text,'')
from
sys.columns a
left join
sys.types b on a.user_type_id=b.user_type_id
inner join
sys.objects c on a.object_id=c.object_id and c.Type='U'
left join
syscomments d on a.default_object_id=d.ID
left join
sys.extended_properties e on e.major_id=c.object_id and e.minor_id=a.Column_id and e.class=1
left join
sys.extended_properties f on f.major_id=c.object_id and f.minor_id=0 and f.class=1
1、你用什么打開的?2、如果使用客戶端(比如微軟的mssql),你就可以看到表結構。mysql可以命令行 desc table。3、如果你想知道ER關系,可以使用諸如powerdesigner等工具來reserv數(shù)據(jù)庫。
sqlserver在同一個數(shù)據(jù)庫里復制表結構的具體操作步驟如下:
1、首先,選中目標數(shù)據(jù)庫然后點擊任務導入數(shù)據(jù):
2、然后,進入SQL Server導入導出向導:
3、選擇數(shù)據(jù)源(源數(shù)據(jù)庫):
4、選擇目標(目標數(shù)據(jù)庫)、指定表復制或查詢:
5、最后勾選復制表數(shù)據(jù),然后點擊完成,這樣數(shù)據(jù)庫軟件就會自動復制表的數(shù)據(jù)了:
應該是第二種比較好,至于你說的類型名稱,你可以在NewsInfo 里面建一個冗余字段,來拼接一個名稱,用于顯示用,但是查詢的話,你可以使用一個exist來關聯(lián)那個關系表。因為只有拉一個關系表出來才能更好的維護這個類型的數(shù)據(jù)。
SQL Server 中的 架構 ( schema )
與 軟件構架 與 架構師 的不是同一個概念
schema 是用于 在一個 大項目中的 各個 小項目
每個 小項目的表, 放在 各自的 schema 下面.
這樣, 遇到 小項目里面. 有 相同名字的 表的話, 不會發(fā)生沖突.
例如一個 公司的 系統(tǒng).
里面分2個 子系統(tǒng), 分別為 財務系統(tǒng) 和 人力資源系統(tǒng).
這2個 子系統(tǒng), 共用一個數(shù)據(jù)庫
.
那么 財務系統(tǒng)的表, 可以放在 財務的 schema.
人力資源系統(tǒng)的表,放在 人力資源系統(tǒng)的模式里面。
這2個 子系統(tǒng), 能夠 互相訪問 對方的表
但是又不因為 表重名 的問題,影響對方。
體系結構是下面這個樣子的
[服務器名稱].[數(shù)據(jù)庫名稱].[構架名稱].[表名]
create database -- 創(chuàng)建一個數(shù)據(jù)庫
create schema -- 創(chuàng)建一個構架
當你在 SQL Server 里面, 使用 create database 創(chuàng)建一個數(shù)據(jù)庫以后。
你可以不必額外的去創(chuàng)建 schema
因為 SQL Server 會 自動的創(chuàng)建一個 名字叫 dbo 的 schema