sqlserver中架構(gòu),sqlserver 架構(gòu)

sql server2005數(shù)據(jù)庫(kù)中使用架構(gòu)

引用幫助文檔對(duì)架構(gòu)的定義: 從 SQL Server 2005 開(kāi)始,每個(gè)對(duì)象都屬于一個(gè)數(shù)據(jù)庫(kù)架構(gòu)。數(shù)據(jù)庫(kù)架構(gòu)是一個(gè)獨(dú)立于數(shù)據(jù)庫(kù)用戶的非重復(fù)命名空間。您可以將架構(gòu)視為對(duì)象的容器??梢栽跀?shù)據(jù)庫(kù)中創(chuàng)建和更改架構(gòu),并且可以授予用戶訪問(wèn)架構(gòu)的權(quán)限。任何用戶都可以擁有架構(gòu),并且架構(gòu)所有權(quán)可以轉(zhuǎn)移。 在SQL Server 2000中架構(gòu)和用戶是沒(méi)有多大的區(qū)別,我們?cè)?000中一般是指所有者。2005后,用戶和架構(gòu)開(kāi)始明確的分開(kāi),架構(gòu)可以理解為對(duì)象的容器或者命名空間。 對(duì)于架構(gòu)特點(diǎn)的理解小節(jié)如下: 1.一個(gè)架構(gòu)中不能包含相同名稱的對(duì)象,相同名稱的對(duì)象可以在不同的架構(gòu)中存在。 2.一個(gè)架構(gòu)只能有一個(gè)所有者,所有者可以是用戶, 數(shù)據(jù)庫(kù)角色, 應(yīng)用程序角色。 3.一個(gè)用數(shù)據(jù)庫(kù)角色可以可以擁有一個(gè)默認(rèn)架構(gòu),和多個(gè)架構(gòu)。 4.多個(gè)數(shù)據(jù)庫(kù)用戶可以共享單個(gè)默認(rèn)架構(gòu)。 5.由于架構(gòu)與用戶獨(dú)立,刪除用戶不會(huì)刪除架構(gòu)中的對(duì)象。 6.SQL Server 2000 中對(duì)象引用是: [DatabaseServer].[DatabaseName].[ObjectOwner].[DatabaseObject] SQL Server 2005 中對(duì)象引用是: [DatabaseServer].[DatabaseName].[DatabaseSchema].[DatabaseObject]

目前創(chuàng)新互聯(lián)建站已為上1000+的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管、服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計(jì)、阿圖什網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

sql server中的架構(gòu)是什么意思?

在sqlserver 2005中,可能大家在工作或?qū)W習(xí)的時(shí)候會(huì)經(jīng)常發(fā)現(xiàn)這樣一些問(wèn)題,你使用一個(gè)賬戶在數(shù)據(jù)庫(kù)中創(chuàng)建了一張表,卻發(fā)現(xiàn)你自己創(chuàng)建的表卻沒(méi)有修改和查詢的權(quán)限,這是一件很郁悶的事情,在sqlserver2000中卻不存在這樣的問(wèn)題,那為什么在2005中會(huì)出現(xiàn)這樣的事情,這樣的設(shè)置可以帶來(lái)哪些好處?其實(shí)導(dǎo)致這一問(wèn)題的原因主要在于2005中多了一個(gè)新的概念—架構(gòu)。

首先我們來(lái)看一下msdn中對(duì)架構(gòu)的定義:架構(gòu)(Schema)是形成單個(gè)命名空間的數(shù)據(jù)庫(kù)實(shí)體的集合。命名空間是一個(gè)集合,其中每個(gè)元素的名稱都是唯一的。在這里,我們可以將架構(gòu)看成一個(gè)存放數(shù)據(jù)庫(kù)中對(duì)象的一個(gè)容器。

架構(gòu)實(shí)際上在sqlserver2000中就已經(jīng)存在,當(dāng)我們使用查詢分析器去查詢一個(gè)表的時(shí)候,一個(gè)完整的表的名稱應(yīng)該包括服務(wù)器名.數(shù)據(jù)庫(kù)名.用戶名.對(duì)象名,而在sqlserver2005中一個(gè)表的完全限定名稱應(yīng)該為服務(wù)器名.數(shù)據(jù)庫(kù)名.架構(gòu)名.對(duì)象名

在2000中,假如有一個(gè)賬戶tt在test數(shù)據(jù)庫(kù)中創(chuàng)建了一張表table1的時(shí)候,在服務(wù)器上對(duì)查詢的語(yǔ)句應(yīng)為select * from test.tt.table1,也就是說(shuō),在sqlserver 2000中一張表所屬的架構(gòu)默認(rèn)就是表的創(chuàng)建者的登錄名稱,用戶可以和修改他所創(chuàng)建的所有數(shù)據(jù)庫(kù)對(duì)象。但在2005中已經(jīng)將用戶和其創(chuàng)建對(duì)象所屬架構(gòu)的關(guān)聯(lián)取消了,而加入了一個(gè)全新的架構(gòu)體系,這樣做的優(yōu)點(diǎn)主要在于下面幾個(gè)方面:

1. 多個(gè)用戶可以通過(guò)角色(role)或組(Windows groups)成員關(guān)系擁有同一個(gè)架構(gòu)。

2. 刪除數(shù)據(jù)庫(kù)用戶變得極為簡(jiǎn)單。

3. 共享缺省架構(gòu)使得開(kāi)發(fā)人員可以為特定的應(yīng)用程序創(chuàng)建特定的架構(gòu)來(lái)存放對(duì)象,這比僅使用管理員架構(gòu)(DBO schema)要好。

4. 在架構(gòu)和架構(gòu)所包含的對(duì)象上設(shè)置權(quán)限(permissions)比以前的版本擁有更高的可管理性。

5. 區(qū)分不同業(yè)務(wù)處理需要的對(duì)象,例如,我們可以把公共的表設(shè)置成pub的架構(gòu),把銷售相關(guān)的設(shè)置為sales,這樣管理和訪問(wèn)起來(lái)更容易.

sql server 中創(chuàng)建架構(gòu),架構(gòu)是干什么用的,為什么要?jiǎng)?chuàng)建架構(gòu),有什么好處?

SQL Server 中的 架構(gòu) ( schema )

與 軟件構(gòu)架 與 架構(gòu)師 的不是同一個(gè)概念

schema 是用于 在一個(gè) 大項(xiàng)目中的 各個(gè) 小項(xiàng)目

每個(gè) 小項(xiàng)目的表, 放在 各自的 schema 下面.

這樣, 遇到 小項(xiàng)目里面. 有 相同名字的 表的話, 不會(huì)發(fā)生沖突.

例如一個(gè) 公司的 系統(tǒng).

里面分2個(gè) 子系統(tǒng), 分別為 財(cái)務(wù)系統(tǒng) 和 人力資源系統(tǒng).

這2個(gè) 子系統(tǒng), 共用一個(gè)數(shù)據(jù)庫(kù)

.

那么 財(cái)務(wù)系統(tǒng)的表, 可以放在 財(cái)務(wù)的 schema.

人力資源系統(tǒng)的表,放在 人力資源系統(tǒng)的模式里面。

這2個(gè) 子系統(tǒng), 能夠 互相訪問(wèn) 對(duì)方的表

但是又不因?yàn)?表重名 的問(wèn)題,影響對(duì)方。

體系結(jié)構(gòu)是下面這個(gè)樣子的

[服務(wù)器名稱].[數(shù)據(jù)庫(kù)名稱].[構(gòu)架名稱].[表名]

create database -- 創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)

create schema -- 創(chuàng)建一個(gè)構(gòu)架

當(dāng)你在 SQL Server 里面, 使用 create database 創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)以后。

你可以不必額外的去創(chuàng)建 schema

因?yàn)?SQL Server 會(huì) 自動(dòng)的創(chuàng)建一個(gè) 名字叫 dbo 的 schema

sql server中架構(gòu)是什么意思

架構(gòu)(Schema)是一組數(shù)據(jù)庫(kù)對(duì)象的集合,它被單個(gè)負(fù)責(zé)人(可以是用戶或角色)所擁有并構(gòu)成唯一命名空間。你可以將架構(gòu)看成是對(duì)象的容器。

在 SQL Server 2000 中,用戶(User)和架構(gòu)是隱含關(guān)聯(lián)的,即每個(gè)用戶擁有與其同名的架構(gòu)。因此要?jiǎng)h除一個(gè)用戶,必須先刪除或修改這個(gè)用戶所擁有的所有數(shù)據(jù)庫(kù)對(duì)象。

在 SQL Server 2005 中,架構(gòu)和創(chuàng)建它的數(shù)據(jù)庫(kù)用戶不再關(guān)聯(lián),完全限定名(fully-qualified name)現(xiàn)在包含4個(gè)部分:server.database.schema.object

1. 體系結(jié)構(gòu)(Architecture)

體系結(jié)構(gòu)亦可稱為架構(gòu),所謂軟件架構(gòu),根據(jù)Perry 和Wolfe之定義:Software Architecture = {Elements,Forms, Rationale / Constraint },也就是軟件主架構(gòu) = {組件元素,元素互助合作之模式,基礎(chǔ)要求與限制}。Philippe Kruchten采用上面的定義,并說(shuō)明主架構(gòu)之設(shè)計(jì)就是:將各組件元素以某些理想的合作模式組織起來(lái),以達(dá)成系統(tǒng)的基本功能和限制。體系結(jié)構(gòu)又分為多種樣式,如Pipes and Filters等。

2. 框架(Framework)

框架亦可稱為應(yīng)用架構(gòu),框架的一般定義就是:在特定領(lǐng)域基于體系結(jié)構(gòu)的可重用的設(shè)計(jì)。也可以認(rèn)為框架是體系結(jié)構(gòu)在特定領(lǐng)域下的應(yīng)用。框架比較出名的例子就是MVC。

3. 庫(kù)(Library)

庫(kù)應(yīng)該是可重用的、相互協(xié)作的資源的集合,供開(kāi)發(fā)人員進(jìn)行重復(fù)調(diào)用。它與框架的主要區(qū)別在于運(yùn)行時(shí)與程序的調(diào)用關(guān)系。庫(kù)是被程序調(diào)用,而框架則調(diào)用程序。比較好的庫(kù)有JDK。

4. 設(shè)計(jì)模式(Design Pattern)

設(shè)計(jì)模式大家應(yīng)該很熟悉,尤其四人幫所寫的書更是家喻戶曉?!八娜藥汀睂⒛J矫枋鰹椤霸谝欢ǖ沫h(huán)境中解決某一問(wèn)題的方案”。這三個(gè)事物 — 問(wèn)題、解決方案和環(huán)境 — 是模式的基本要素。給模式一個(gè)名稱,考慮使用模式將產(chǎn)生的結(jié)果和提供一個(gè)或多個(gè)示例,對(duì)于說(shuō)明模式也都是有用的。

5. 平臺(tái)(PlatForm)

由多種系統(tǒng)構(gòu)成,其中也可以包含硬件部分。

對(duì)于以上的概念有一個(gè)比較清楚的認(rèn)識(shí)之后,就可以在軟件的開(kāi)發(fā)過(guò)程中進(jìn)行應(yīng)用。理論和實(shí)踐是缺一不可的,相輔相成的。沒(méi)有理論的指導(dǎo),實(shí)踐就缺乏基礎(chǔ);沒(méi)有實(shí)踐的證明,理論就缺乏依據(jù),因此我一直認(rèn)為:對(duì)于當(dāng)代的程序員,在有一定的實(shí)踐基礎(chǔ)后,必須學(xué)習(xí)更深的理論知識(shí)。無(wú)論你是從那方面先開(kāi)始學(xué)習(xí)的。

在軟件的開(kāi)發(fā)過(guò)程中,從許多過(guò)程實(shí)踐和方法中,大致可以提煉出五大步驟:需求、分析、設(shè)計(jì)、編碼、測(cè)試。而體系結(jié)構(gòu)是軟件的骨架,是最重要的基礎(chǔ)。體系結(jié)構(gòu)是涉及到每一步驟中。一般在獲取需要的同時(shí),就應(yīng)該開(kāi)始分析軟件的體系結(jié)構(gòu)。體系結(jié)構(gòu)現(xiàn)在一般是各個(gè)大的功能模塊組合成,然后描述各個(gè)部分的關(guān)系。

我一般認(rèn)為框架是體系結(jié)構(gòu)中每個(gè)模塊中更細(xì)小的結(jié)構(gòu)。如需要表示web技術(shù),就會(huì)用到MVC框架,而web功能只是整個(gè)軟件體系中的一個(gè)功能模塊。每個(gè)框架可以有許多個(gè)實(shí)例,如用java實(shí)現(xiàn)的MVC框架structs。

而在框架之下就是設(shè)計(jì)模式,設(shè)計(jì)模式一般是應(yīng)用中框架之中的,也可以說(shuō)是對(duì)框架的補(bǔ)充。因?yàn)榭蚣苤皇翘峁┝艘粋€(gè)環(huán)境,需要我們我里面填入更多的東西。無(wú)論是否應(yīng)用了設(shè)計(jì)模式,你都可以實(shí)現(xiàn)軟件的功能,而正確應(yīng)用了設(shè)計(jì)模式,是我們對(duì)前人軟件的設(shè)計(jì)或?qū)崿F(xiàn)方法的一種繼承,從而讓你的軟件更軟。

體系結(jié)構(gòu)是可以從不同視角來(lái)進(jìn)行分析的,所以軟件體系結(jié)構(gòu)的設(shè)計(jì)可以按照不同的視角來(lái)進(jìn)行的。按4+1 views的論述,那是四種views:邏輯、開(kāi)發(fā)、過(guò)程、物理和場(chǎng)景。因此體系結(jié)構(gòu)是逐漸細(xì)化的,你不可能開(kāi)始就拿出一個(gè)完美的體系結(jié)構(gòu),而只能根據(jù)開(kāi)發(fā)過(guò)程逐漸對(duì)體系結(jié)構(gòu)進(jìn)行細(xì)化。

打個(gè)比方:如果我們準(zhǔn)備建一個(gè)房子,那房子如果按功能來(lái)分:墻壁、地板、照明等,它是按那種樣式來(lái)組成的,房子是四方的還是圓形的等,這樣就組成了房子的體系結(jié)構(gòu)。在體系結(jié)構(gòu)之下,我們可以把框架應(yīng)用在每個(gè)模塊中,例如墻壁,我們準(zhǔn)備應(yīng)用什么框架。墻壁可以包括:窗戶、門等。窗戶和門的組成的就是一種框架。而窗戶是什么形狀的或者是大還是小,是要為了實(shí)現(xiàn)屋內(nèi)的亮度的,因此挑選什么樣的窗戶就是設(shè)計(jì)模式。

oracle與sql server在架構(gòu)處理上有何區(qū)別

oracle的架構(gòu)圖如下:

sql server中是用戶架構(gòu)分離:架構(gòu)不再等效于數(shù)據(jù)庫(kù)用戶;現(xiàn)在,每個(gè)架構(gòu)都是獨(dú)立于創(chuàng)建它的數(shù)據(jù)庫(kù)用戶存在的不同命名空間。也就是說(shuō),架構(gòu)只是對(duì)象的容器。任何用戶都可以擁有架構(gòu),并且架構(gòu)所有權(quán)可以轉(zhuǎn)移。

架構(gòu)的所有權(quán)和架構(gòu)范圍內(nèi)的安全對(duì)象可以轉(zhuǎn)移。有關(guān)詳細(xì)信息,請(qǐng)參閱?ALTER AUTHORIZATION (Transact-SQL)。

對(duì)象可以在架構(gòu)之間移動(dòng)。有關(guān)詳細(xì)信息,請(qǐng)參閱?ALTER SCHEMA (Transact-SQL)。

單個(gè)架構(gòu)可以包含由多個(gè)數(shù)據(jù)庫(kù)用戶擁有的對(duì)象。

多個(gè)數(shù)據(jù)庫(kù)用戶可以共享單個(gè)默認(rèn)架構(gòu)。

與早期版本相比,對(duì)架構(gòu)及架構(gòu)中包含的安全對(duì)象的權(quán)限的管理更加精細(xì)。有關(guān)詳細(xì)信息,請(qǐng)參閱?GRANT 架構(gòu)權(quán)限 (Transact-SQL)?和?GRANT 對(duì)象權(quán)限 (Transact-SQL)。

架構(gòu)可以由任何數(shù)據(jù)庫(kù)主體擁有。這包括角色和應(yīng)用程序角色。

可以刪除數(shù)據(jù)庫(kù)用戶而不刪除相應(yīng)架構(gòu)中的對(duì)象。

如果為 SQL Server 早期版本編寫的代碼假定架構(gòu)等效于數(shù)據(jù)庫(kù)用戶,這些代碼可能會(huì)返回錯(cuò)誤的結(jié)果。

為 SQL Server 早期版本設(shè)計(jì)的目錄視圖可能會(huì)返回錯(cuò)誤的結(jié)果。這包括 sysobjects。

在創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象時(shí),如果您將某一有效的域主體(用戶或組)指定為對(duì)象所有者,則該域主體將作為架構(gòu)添加到數(shù)據(jù)庫(kù)中。這個(gè)新架構(gòu)將為該域主體所擁有。

分享標(biāo)題:sqlserver中架構(gòu),sqlserver 架構(gòu)
URL分享:http://muchs.cn/article26/hcgejg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開(kāi)發(fā)、用戶體驗(yàn)營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站排名、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

小程序開(kāi)發(fā)