Microsoft數(shù)據(jù)平臺(tái)開發(fā)與SQL Server 2008(1)
來源:易賢網(wǎng) 閱讀:827 次 日期:2015-09-11 14:59:49
溫馨提示:易賢網(wǎng)小編為您整理了“Microsoft數(shù)據(jù)平臺(tái)開發(fā)與SQL Server 2008(1)”,方便廣大網(wǎng)友查閱!

一、前言:

目前,隨著數(shù)據(jù)庫系統(tǒng)和編程語言的不斷發(fā)展,它們各自都有了自己專注的特定的功能而逐漸分離開。這導(dǎo)致產(chǎn)生了在現(xiàn)今的應(yīng)用程序中的數(shù)據(jù)存儲(chǔ)和業(yè)務(wù)邏輯之間的阻抗失諧。SQL Server 2008與Microsoft數(shù)據(jù)平臺(tái)技術(shù)的結(jié)合使得你可以快速并輕松的建立能夠消除這個(gè)失諧的綜合的和可擴(kuò)展的基于數(shù)據(jù)的解決方案。

尤其是,ADO.NET 實(shí)體框架為開發(fā)人員定義了一個(gè)新的方式來將數(shù)據(jù)放到易于使用的實(shí)體中,而一個(gè)叫做LINQ的創(chuàng)新技術(shù)定義了一個(gè)新的、強(qiáng)大的數(shù)據(jù)訪問查詢語法來與實(shí)際的任何數(shù)據(jù)類型直接通信,包括實(shí)體和SQL Server 2008。

SQL Server 2008專注于三個(gè)關(guān)鍵領(lǐng)域來滿足目前的數(shù)據(jù)可編程性需求:

◆ 生產(chǎn)力。SQL Server 2008和Microsoft Visual Studio®為開發(fā)人員提供了新的數(shù)據(jù)模型、語法和團(tuán)隊(duì)合作工具,提高了開發(fā)人員的生產(chǎn)力。

◆ 連接。SQL Server 2008支持新的和舊的連接技術(shù),使得開發(fā)人員可以使用最適合他們的要求的技術(shù)。

◆ 可擴(kuò)展性。SQL Server 2008提供了一個(gè)用于許多不同類型的工作負(fù)載(從移動(dòng)設(shè)備到企業(yè)解決方案)的可擴(kuò)展的數(shù)據(jù)庫系統(tǒng)。它還與Visual Studio 集成,從而使得開發(fā)人員可以建立可擴(kuò)展的解決方案。

二、提高了生產(chǎn)力

Microsoft SQL Server 2008和Microsoft 數(shù)據(jù)平臺(tái)的開發(fā)技術(shù)為開發(fā)人員提供了架構(gòu)、數(shù)據(jù)連接技術(shù)、編程語言、Web services 、開發(fā)工具、和數(shù)據(jù)間的無縫集成,從而提高了開發(fā)人員的生產(chǎn)力。

ADO.NET實(shí)體框架

開發(fā)人員經(jīng)?;ㄙM(fèi)大量的時(shí)間解析數(shù)據(jù)庫架構(gòu)和編寫復(fù)雜的查詢來獲取他們的應(yīng)用程序中所需要的數(shù)據(jù)。ADO.NET 實(shí)體框架簡化了這些工作,使得開發(fā)人員可以專注于他們的應(yīng)用程序的業(yè)務(wù)邏輯。

企業(yè)系統(tǒng)經(jīng)常使用多個(gè)異構(gòu)數(shù)據(jù)源的數(shù)據(jù),這些數(shù)據(jù)使用不同的架構(gòu)和命名規(guī)則。此外,這些數(shù)據(jù)源經(jīng)常使用不同的標(biāo)準(zhǔn)化級別,這導(dǎo)致用于某個(gè)特定的業(yè)務(wù)項(xiàng)目的信息跨越了多個(gè)表和行。而這使得開發(fā)人員得寫大量的應(yīng)用邏輯來管理這些復(fù)雜的數(shù)據(jù)庫關(guān)系。

ADO.NET 實(shí)體框架基于實(shí)體數(shù)據(jù)模型,使得開發(fā)人員可以將數(shù)據(jù)庫架構(gòu)中的關(guān)系數(shù)據(jù)轉(zhuǎn)換到可以直接在應(yīng)用程序中使用的概念實(shí)體中。例如,你的應(yīng)用程序中的客戶數(shù)據(jù)可能存儲(chǔ)在數(shù)據(jù)庫中的多個(gè)表中。通過使用ADO.NET實(shí)體框架,架構(gòu)師和開發(fā)人員可以定義一個(gè)單獨(dú)的概念上的客戶實(shí)體,這個(gè)實(shí)體完全抽象了從應(yīng)用程序中訪問和更新客戶數(shù)據(jù)所需要的復(fù)雜關(guān)系。這個(gè)抽象層將數(shù)據(jù)訪問邏輯封裝到一組用在一個(gè)應(yīng)用程序中的良好定義的實(shí)體中,而這個(gè)抽象幫助開發(fā)人員專注于開發(fā)應(yīng)用程序的邏輯。

ADO.NET 實(shí)體框架提供了一個(gè)數(shù)據(jù)編程界面

◆ 易于理解概念數(shù)據(jù)模型。通過使用實(shí)體數(shù)據(jù)模型,你可以按照應(yīng)用程序中的業(yè)務(wù)邏輯來使用數(shù)據(jù),而不是數(shù)據(jù)源的邏輯架構(gòu)。

◆ 易于設(shè)計(jì)和開發(fā)應(yīng)用程序。開發(fā)結(jié)合了業(yè)務(wù)邏輯和數(shù)據(jù)訪問邏輯的應(yīng)用程序使得架構(gòu)師設(shè)計(jì)應(yīng)用程序和開發(fā)人員編寫代碼都變得簡單得多。

◆ 易于維護(hù)應(yīng)用程序。通過使用一個(gè)概念數(shù)據(jù)模型,開發(fā)人員可以專注于應(yīng)用程序的業(yè)務(wù)邏輯,而不是數(shù)據(jù)存儲(chǔ)邏輯。而且,ADO.NET 實(shí)體框架保護(hù)應(yīng)用程序,防止對后臺(tái)數(shù)據(jù)架構(gòu)的改動(dòng),這樣就將維護(hù)工作降低到最小。

因?yàn)閷?shí)體數(shù)據(jù)模型使用實(shí)體而不是表和行,開發(fā)人員需要一個(gè)與這些對象交互的查詢語言。實(shí)體SQL(Entity SQL)是一個(gè)新的語言,它能夠執(zhí)行面向集合的聲明性查詢語言和對實(shí)體數(shù)據(jù)模型中的實(shí)體和關(guān)系的更新。實(shí)體SQL與實(shí)際的數(shù)據(jù)提供商無關(guān),所以你可以重用對不同的數(shù)據(jù)庫提供商的查詢,這節(jié)省了你的編碼時(shí)間。

大多數(shù)開發(fā)人員使用面向?qū)ο蟮木幊陶Z言例如C#和Visual Basic 在他們的商業(yè)應(yīng)用程序中編寫新的代碼。這些語言模型實(shí)體將類及其活動(dòng)作為它們的代碼,而ADO.NET將數(shù)據(jù)作為它的值。這導(dǎo)致了數(shù)據(jù)和應(yīng)用程序間的阻抗失諧。ADO.NET 實(shí)體框架提供了一個(gè)對象服務(wù)層,它降低了這個(gè)失諧程度。開發(fā)人員可以使用對象服務(wù)來建立類型查詢和返回、操縱和更新作為業(yè)務(wù)對象的結(jié)果。ADO.NET 實(shí)體框架從架構(gòu)中的實(shí)體數(shù)據(jù)模型實(shí)體生成.NET類。這些類是局部類,因此開發(fā)人員可以用定制的業(yè)務(wù)邏輯來擴(kuò)展它們,而不會(huì)影響已生成的代碼。這些業(yè)務(wù)對象可以通過實(shí)體SQL或語言級集成查詢能力來查詢(Language Integrated Query,LINQ)。

LINQ

目前的數(shù)據(jù)訪問代碼是內(nèi)嵌在應(yīng)用程序的字符串中的,用各個(gè)數(shù)據(jù)庫特定的SQL語言來編寫。由于這個(gè)原因,開發(fā)人員必須熟悉一個(gè)SQL語言和他們所選擇的編程語言。這增加了對基于數(shù)據(jù)的解決方案的開發(fā)人員的知識(shí)要求。字符串中的內(nèi)嵌查詢意味著代碼不能在編譯的時(shí)候進(jìn)行檢查,因此開發(fā)人員必須等到查詢代碼發(fā)送到數(shù)據(jù)庫服務(wù)器上才能確定是否是正確的。這個(gè)運(yùn)行時(shí)調(diào)試通常導(dǎo)致更復(fù)雜的調(diào)試過程。

LINQ 是一組對Microsoft .NET 框架庫、C#和Visual Basic .NET 的擴(kuò)展,它使得這些語言將數(shù)據(jù)看作是普通的對象。LINQ使得開發(fā)人員能夠以他們本地的編程語言來編寫查詢,然后這個(gè)查詢會(huì)在編譯時(shí)進(jìn)行檢測和語法檢查。因?yàn)樗?NET 語言的一個(gè)主要組成部分,LINQ還可以利用Microsoft Visual 套件開發(fā)系統(tǒng)的Microsoft IntelliSense。

LINQ 可以用于多種數(shù)據(jù)源,包括內(nèi)存數(shù)據(jù)結(jié)構(gòu)、XML文檔、數(shù)據(jù)庫、實(shí)體模型、和數(shù)據(jù)集。例如,LINQ可以用于訪問三個(gè)不同的數(shù)據(jù)源的數(shù)據(jù),操縱數(shù)據(jù),然后將它輸出到第四個(gè)數(shù)據(jù)存儲(chǔ)里。整個(gè)功能極大的簡化了對異構(gòu)數(shù)據(jù)源的數(shù)據(jù)的使用。

有五個(gè)使你可以訪問數(shù)據(jù)的LINQ工具:

◆ LINQ到SQL(LINQ to SQL) 支持快速的開發(fā)通過使用直接與SQL Server 架構(gòu)中的數(shù)據(jù)庫對象匹配的programmatic 對象(例如表、視圖、存儲(chǔ)過程和用戶定義的函數(shù))來查詢所有的Microsoft SQL Server 版本的應(yīng)用程序。

◆ LINQ 到實(shí)體(LINQ to Entities) 支持一個(gè)更靈活的對象與關(guān)系表、視圖、存儲(chǔ)過程和用戶定義的函數(shù)之間的匹配。你可以使用LINQ到實(shí)體通過擴(kuò)展的ADO.NET數(shù)據(jù)提供商來訪問SQL Server和其它關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)。

◆ LINQ 到數(shù)據(jù)集(LINQ to DataSet) 推出了針對常規(guī)的和類型化的數(shù)據(jù)集的豐富的查詢功能。這使得你可以創(chuàng)建和查詢數(shù)據(jù)集中數(shù)據(jù)表間的連接。

◆ LINQ 到XML(LINQ to XML) 是一個(gè)內(nèi)存XML編程應(yīng)用程序編程界面(API),它是設(shè)計(jì)用來利用最新的.NET 框架語言的創(chuàng)新。

◆ LINQ 到對象(LINQ to Object) 使得你可以對內(nèi)存對象執(zhí)行LINQ查詢。這使得你可以以你使用其它數(shù)據(jù)源的數(shù)據(jù)的相同方式來使用內(nèi)存數(shù)據(jù)。

Visual Studio

Visual Studio 將所有這些數(shù)據(jù)平臺(tái)技術(shù)結(jié)合到一個(gè)強(qiáng)大的、而且高效的和易于使用的環(huán)境中去。Visual Studio 是一個(gè)綜合的開發(fā)環(huán)境,它使得架構(gòu)師和開發(fā)人員可以輕松的設(shè)計(jì)和開發(fā)客戶端和服務(wù)器代碼。

Visual Studio 為開發(fā)人員提供了可以自動(dòng)為已有的和新的數(shù)據(jù)源創(chuàng)建實(shí)體的工具??梢援a(chǎn)生能夠利用新的對象服務(wù)層的局部類。在生成了實(shí)體數(shù)據(jù)模型之后,開發(fā)人員可以使用實(shí)體SQL和LINQ以一種新的和高效的方式來為它制定計(jì)劃。

Visual Studio在開發(fā)人員編寫代碼時(shí)為其提供IntelliSense 信息。因?yàn)锳DO.NET 實(shí)體框架和LINQ是完全集成到C#和Visual Basic .NET 中的,當(dāng)使用這些功能來建立應(yīng)用程序的時(shí)候開發(fā)人員可以使用強(qiáng)大的IntelliSense功能。這導(dǎo)致生成了用于設(shè)計(jì)和開發(fā)數(shù)據(jù)庫應(yīng)用程序的更高效的開發(fā)環(huán)境、更高質(zhì)量的代碼和一個(gè)更易于維護(hù)的系統(tǒng)。

Visual Studio Team System幫助你提高你的整個(gè)開發(fā)過程的效率,它為你提供了一些功能,例如源代碼控制、跟蹤,它還為你提供了整個(gè)團(tuán)隊(duì)從項(xiàng)目經(jīng)理到測試人員都可以使用的開發(fā)工具。

更多信息請查看IT技術(shù)專欄

更多信息請查看數(shù)據(jù)庫
易賢網(wǎng)手機(jī)網(wǎng)站地址:Microsoft數(shù)據(jù)平臺(tái)開發(fā)與SQL Server 2008(1)
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65317125(9:00—18:00) 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)