博客

  • 簡述SUN認證

    Sun公司為了為業界建立一套認證的標準,特別針對最先進的科技,推出Java及Solaris 技術認證方案。根據這些認證,在企業方面可以藉此作為招聘人才的評判標準,或是作為衡量員工技術水準的依據;在技術方面,通過這些認證也可以證明個人的技術能力。

    Sun在 UNIX領域一直是技術上和市場占有率的領先者;近年來推出的Java技術,更成為業界的標準。所以Sun公司所舉辦的認證考試,必然成為Java和UNIX在全球信息界公認的標準。Sun推出的專業認證包括下列三種:

    Java認證考試

    對於Java程序設計員,Sun推出兩項認證:Sun Certified Java Programmer (SCJP)和Sun Certified Java Developer(SCJD)。SCJP測驗Java程序設計概念及能力,內容偏重於Java語法及JDK的內容;SCJD則進一步測試用Java 開發應用程序的能力,考試者必須先完成一個程序的設計方案,再回答與此方案相關的一些問題。

    Solaris系統管理認證考試

    對Solaris/Sun OS系統管理員,Sun推出Certified Solaris Administrator(CSA)。CSA分別為兩個等級( Part I 和 Part II ),測試對Solaris 系統管理的了解程度。

    Solaris網絡管理認證考試

    為了測試使用者對於Solaris網絡管理能力,Sun推出Certified Network Administrator(CNA)。內容包括基本網絡概念、Routing and Subnet、Security、Performance、DNS、NIS+等。通過SUN任何一門專業認證後,將全收到Sun Microsystems 總公司寄發的資格證書及徽章,並有權將通過Sun認證的標記印在個人名片上,作為個人技術能力的肯定。

    java開發員認證Sun Certified JAVA Deverloper(SCJD) java開發員的認證考試以Sun指定的javaSL-285為教材,機考部分的考試號為310-027。Java開發員的認證考試: Java開發員的考試分程序設計和機考兩部分。其中,程序設計部分不限時。考生報名後,可從指定的網址下載考試題目,並根據題目要求進行程序設計。在指定的時間段(1年)內,考生須傳回自行設計的java程序。

  • 初學者,你應當如何學習C++以及編程

    Javascript是世界上最受誤解的語言,其實C++何嘗不是。坊間流傳的錯誤的C++學習方法一抓就是一大把。我自己在學習C++的過程中也走了許多彎路,浪費了不少時間。

    為什麼會存在這麼多錯誤認識?原因主要有三個,一是C++語言的細節太多。二是一些著名的C++書籍總在(不管有意還是無意)暗示語言細節的重要性和有趣。三是現代C++庫的開發哲學必須用到一些犄角旮旯的語言細節(但注意,是庫設計,不是日常編程)。這些共同塑造了C++社群的整體心態和哲學。

    單是第一條還未必能夠成氣候,其它語言的細節也不少(儘管比起C++起來還是小巫見大巫),就拿javascript來說,作用域規則,名字查找,closure,for/in,這些都是細節,而且其中還有違反直覺的。但許多動態語言的程序員的理念我猜大約是學到哪用到哪罷。但C++就不一樣了,學C++之人有一種類似於被暗示的潛在心態,就是一定要先把語言核心基本上吃透了才能下手寫出漂亮的程序。這首先就錯了。

    這個意識形成的原因在第二點,C++書籍。市面上的C++書籍不計其數,但有一個共同的缺點,就是講語言細節的書太多——《C++ gotchas》,《Effective C++》,《More Effective C++》,但無可厚非的是,C++是這樣一門語言:要拿它滿足現代編程理念的需求,尤其是C++庫開發的需求,還必須得關注語言細節,乃至於在C++中利用語言細節已經成了一門學問。比如C++模板在設計之初根本沒有想到模板元編程這回事,更沒想到C++模板系統是圖靈完備的,這也就導致了《Modern C++ Design》和《C++ Template Metaprogramming》的驚世駭俗。
    這些技術的出現為什麼驚世駭俗,打個比方,就好比是一塊大家都認為已經熟悉無比,再無秘密可言的土地上,突然某天有人挖到原來地下還蘊藏著最豐富的石油。在這之前的C++雖然也有一些細節,但也還算容易掌握,那可是C++程序員們的happy old times,因為C++的一切都一覽無餘,everything is figured out。然而《Modern C++ Design》的出世告訴人們,“瞧,還有多少細節你們沒有掌握啊。”於是C++程序員們久違的激情被重燃起來,奮不顧身的踏入細節的沼澤中。尤其是,模板編程將C++的細節進一步挖掘到了極致——我們幹嘛關心涉及類對象的隱式轉換的優先級高低?看看boost::is_base_of就可以知道有多詭異了。
    但最大的問題還在於,對於這些細節的關注還真有它合適的理由:我們要開發現代模板庫,要開發active library,就必須動用模板編程技術,要動用模板編程技術,就必須利用語言的犄角旮旯,enable_if,type_traits,甚至連早就古井無波的C宏也在亂世中重生,看看

    boost::preprocessor有多詭異就知道了,連C宏的圖靈完備性(預編譯期的)都被挖掘出來了。為什麼要做這些?好玩?標榜?都不是,開發庫的實際需求。但這也正是最大的悲哀了。在boost裡面因實際需求而動用語言細節最終居然能神奇的完成任務的最好教材就是
    boost::foreach,這個小設施對語言細節的發掘達到了驚天地泣鬼神的地步,不信你先試著自己去看看它的源代碼,再看看作者介紹它的文
    章吧。而boost::typeof也不甘其後——C++語言裡面有太多被“發現”而不是被“發明”的技術。難道最初無意設置這些語言規則的傢伙們都是oracles?

    因為沒有variadic templates,人們用宏加上缺省模板參數來實現類似效果。因為沒有concepts,人們用模板加上析構函數的細節來完成類似工作。因為沒有typeof,人們用模板元編程和宏加上無盡的細節來實現目標… C++開發者們的DIY精神不可謂不強。然而,如果僅僅是因為要開發優秀的庫,那麼涉及這些細節都還是情有可原的,至少在C++09出現並且編譯器廠商跟上之前,這些都還能說是不得已而為之。但我們廣大的C++程序員呢?大眾是容易被誤導的,我也曾經是。以為掌握了更多的語言細節就更牛,但實際卻是那些語言細節十有八九是平時編程用都用不到的。 C++中眾多的細節雖然在庫設計者手裡面有其用武之地,但普通程序員則根本無需過多關注,尤其是沒有實際動機的關注。一般性的編碼實踐準則,以及基本的編程能力和基本功,乃至基本的程序設計理論以及算法設計。才是真正需要花時間掌握的東西。學習最佳編碼實踐比學習C++更重要。看優秀的代碼也比埋頭用差勁的編碼方式寫垃圾代碼要有效。直接、清晰、了、KISS地表達意圖比玩編碼花招要重要…

    避免去過問任何語言細節,除非必要。這個必要是指在實際編程當中遇到問題,這樣就算需要過問細節,也是最省事的,懶惰者原則嘛。一個掌握了基本的編程理念並有較強學習能力的程序員在用一門陌生的語言編程時就算拿著那本語言的聖經從索引翻起也可以編出合格的程序來。十年學會編程不是指對每門語言都得十年,那一輩子才能學幾門語言哪,如果按字母順序學的話一輩子都別指望學到Ruby了;十年學習編程更不是指先把語言特性從粗到細全都吃透才敢下手編程,在實踐中提高才是最重要的。

    至於這種摳語言細節的哲學為何能在社群裡面呈野火燎原之勢,就是一個心理學的問題了。想像人們在論壇上討論問題時,一個對語言把握很細緻的人肯定能夠得到更多的佩服,而由於論壇上的問題大多是小問題,所以解決實際問題的真正能力並不能得到顯現,也就是說,知識型的人能夠得到更多佩服,後者便成為動力和仿效的砝碼。然而真正的編程能力是與語言細節沒關係的,熟練運用一門語言能夠幫你最佳表達你的意圖,但熟練運用一門語言絕不意味著要把它的邊邊角角全都記住。懂得一些常識,有了編程的基本直覺,遇到一些細節錯誤的時候再去查書,是最節省時間的辦法。

    C++的書,Bjarne的聖經《The C++ Programming Language》是高屋建瓴的。 《大規模C++程序設計》是挺務實的。 《Accelerated C++》是最佳入門的。 《C++ Templates》是僅作參考的。 《C++ Template Metaprogramming》是精力過剩者可以玩一玩的,普通程序員碰都別碰的。 《ISO.IEC C++ Standard 14882》不是拿來讀的。 Bjarne最近在做C++的教育,新書是絕對可以期待的。

    PS關於如何學習編程,g9的blog上有許多精彩的文章:這裡,這裡,這裡,這裡…實際上,我建議你去把g9老大的blog翻個底朝天:P

    再PS書單?我是遑於給出一個類似《C++初學者必讀》這種書單的。 C++的書不計其數,被公認的好書也不勝枚舉。只不過有些書容易給初學者造成一種錯覺,就是“學習C++就應該是這個樣子的”。比如有朋友提到的《高質量C/C++編程》,這本書有價值,但不適合初學者,初學者讀這樣的書容易一葉障目不見泰山。實際上,正確的態度是,細節是必要的。但細節是次要的。其實學習編程我覺得應該最先學習如何用偽碼表達思想呢,君不見《Introduction to Algorithm》裡面的代碼?《TAOCP》中的代碼?哦,對了它們是自己建立的語言,但這種僅教學目的的語言的目的就是為了避免讓寫程序的人一開始就忘了寫程序是為了完成功能,以為寫程序就是和語言細節作鬥爭了。 Bjarne說程序的正確性最重要,boost的編碼標準裡面也將正確性列在性能前面。此外,一旦建立了正確的學習編程的理念,其實什麼書(只要不是太垃圾的)都有些用處。都當成參考書,用的時候從目錄或索引翻,基本就對了。

    再再PS myan老大和g9老大都給出了許多精彩的見解。我不得不再加上一個P.S。具體我就不摘錄了,如果你讀到這裡,請務必往下看他們的評論。轉載者別忘了轉載他們的評論:-)許多朋友都問我同一個問題,到底要不要學習C++。其實這個問題問得很沒有意義。 “學C++”和“不學C++”這個二分法是沒意義的,為什麼?因為這個問題很表面,甚至很浮躁。重要的不是你掌握的語言,而是你掌握的能力,借用myan老大的話,“重要的是這個磨練過程,而不是結果,要的是你粗壯的腿,而不是你身上背的那袋鹽巴。 ”。此外學習C++的意義其實真的是醉翁之意不在酒,像C/C++這種系統級語言,在學習的過程中必須要涉及到一些底層知識,如內存管理、編譯連接系統、彙編語言、硬件體系結構等等等等知識(注意,這不包括過分犄角旮旯的語言枝節)。這些東西也就是所謂的內功了(其實最最重要的內功還是長期學習所磨練出來的自學能力)。對此大嘴Joel在《Joel On Software》裡面提到的漏洞抽象定律闡述得就非常漂亮。

    所以,答案是,讓你成為高手的並不是你掌握什麼語言,精通C++未必就能讓你成為高手,不精通C++也未必就能讓你成為低手。我想大家都不會懷疑g9老大如果要抄起C++做一個項目的話會比大多數自認熟練C++的人要做得漂亮。所以關鍵的不是語言這個表層的東西,而是底下的本質矛盾。當然,不是說那就什麼語言都不要學了,按照一種曹操的邏輯,“天下語言,唯imperative與declarative耳”。 C++是前者裡面最複雜的一種,支持最廣泛的編程範式。借用當初數學系入學大會上一個老師的話,“你數學都學了,還有什麼不能學的呢?”。學語言是一個途徑,如果你把它用來磨練自己,可以。如果你把它用來作為學習系統底層知識的鑰匙,可以。如果你把它用來作為學習如何編寫優秀的代碼,如何組織大型的程序,如何進行抽象設計,可以。如果掉書袋,光啃細節,我認為不可以(除非你必須要用到細節,像boost庫的coder們)。

  • Linux認證的基本知識點介紹

    一、什麼是Linux ?

    Linux誕生於1991年10月,至今已有十多年曆史。 Linux是一套免費且功能完整的UNIX軟件。且它是一個32位的操作系統,運作穩定且有

    效率,被廣泛用作服務器操作系統。 Linux承襲的是開放式原始碼(Open Source)的精神,所有Linux Source Code(源代碼)均可免費取得,

    這使得它相對其它的操作系統(尤其是昂貴的Windows NT)而言價格極其便宜。同時,因為它的源代碼是開放的,因此,可以方便地被全球數

    以萬計的程序員應用並不斷改進,使得它在技術上的進展突飛猛進—–目前Linux的內核已經升級到2.4版。這種進步使得Linux成為市場倍

    加青睞的操作系統,1999年,Linux超過了Novell公司的Netware,成為僅次於微軟Windows NT的排名第二的服務器操作系統。 IDC預測,未

    來四年Linux的出貨量將以年增長28%的比例增長,從1999年的130萬套增長到2004年的470萬套。

    目前,全球最大的Linux是Red Hat Linux,紅旗Linux則是中國Linux的第一品牌。

    二、為什麼你應該選擇Linux認證?

    知識產權保護將逐步規範,使得更多企業轉向成本低廉的Linux操作平台。據統計,2000年,Linux在服務器市場上的佔有率超過27%,

    其增長率超過Windows操作系統4個百分點。同時,這一市場正在飛速發展,IDC日前表示,Linux急速增加的使用者急需專業訓練,到公元

    2004年,光是在美國,這塊市場就能成長到3億1千1百萬美金。尤其Linux持續不斷滲入各大企業中,使得Linux的專業教育訓練格外緊要。

    因此,對那些急於轉向IT業界的同學來說,linux認證是一個不錯的選擇。在目前來看,至少它有以下優勢:

    Windows XP高昂的價格和升級收費政策使更多企業和個人用戶轉向自由開放的Linux操作系統,目標雇主群會迅速增長;

    方便地向潛在的雇主證明您在Linux方面獨特的專業技能,獲得更多提升和提薪的機會;

    成為屈指可數的Linux認證工程師,可以在與成千上萬的MCSE、CCNA競爭中脫穎而出,輕鬆勝出;

    相對其他IT認證更低廉的花費(例如最廣泛被接受的LPIL Linux認證的兩門考試每門只需要100美元)。

    同時,根據Tech RePublic的調查,IT業界內人士也有相當多的技術人員正在考慮Linux認證,這一比例高達45%。

    三、國際Linux認證現狀

    目前在國外廣泛承認的linux認證共有四種:

    1. Linux Professional Institute(簡稱為LPI)

    就目前Linux團體所關注的程度來看,LPI認證計劃受到了最為廣泛的支持。 LPI已經先期推出了Linux Profession Institute

    Certified-Level 1 (簡稱為LPIC-1)認證計劃,不久的將來還會按預定計劃推出第2和第3級認證。為了獲得LPIC-1證書,你必須通過兩門各

    自長達90分鐘的考試—–101 (LPI General Linux,Part1)和102 (LPI General Linux,Part 2)。 LPI的LPIC—1的應試對象主要是有至少1

    年Linux工作經驗的系統管理員。

    2.Sair Linux和GNU

    同LPI一樣,Sair提供了三種級別的認證計劃;

    Level 1——Sair Linux & GNU Certified Administrator(LCA)

    Level 2 —– Sair Linux & GNU Certified Engineer(LCE)

    Level 3 —- Master Sair Linux & GNU Certified Engineer(MLCE)

    第1級才是目前得到完全開發的Sair認證項目,這一點也和LPI一樣。

    3.Linux+

    CompTIA主辦的Linux+認證計劃是最新進入Linux認證市場的。該計劃於2001年9月21日正式推出,目前已經在Linux從業人員和業內引起

    了廣泛的關注。幾乎所有的主要認證出版商都撰寫了針對Linux+認證的考試參考書,眾多的IT培訓中心都在準備Linux+認證計劃了。

    同CompTIA推出的其他帶“+”號的認證一樣,Linux十資格證書只需要通過一場考試即可獲得(VUE和Prometric考試中心舉辦此類考試)

    ,一旦你獲得了Linux+資格證書,證書就終生有效。 Linux+考試價格是190美元,考試採用多選題形式,時長120分鐘,所覆蓋的內容很多都

    是和Sair以及LPI認證完全一樣的,但難度稍有降低。

    LPI和Sair認證計劃的考試對像是具有相當經驗的Linux網絡和系統管理員,而Linux+認證則主要面向只有半年左右的Linux體驗、想獲

    得基本Linux技術資格的個人。

    4.Red Hat Certified Engineer

    Linux+代表了低級的Linux認證計劃,而高級的Linux認證長期以來則幾乎完全是Red Hat Certified Engineer(RHCE)認證計劃的天下

    。 RHCE是該領域最具挑戰性的認證考試,所以它也是最有價值的Linux認證。但也是最貴的,全套課程費用為2,498美金,也可單獨做認證

    測驗,費用為749美金。

  • linux的職業方向

    如何入門及如何規劃自己的Linux學習之路一直是困擾Linux愛好者的一大難題,實際上,Linux的入門與學習並不難,只是由於長期使用其他操作系統的習慣與沒有正確的引導指向,所以一個本身不是難題的問題變成了難題。

    本文為長期在Linux行業從業的技術人員與您分享他的經驗與指導意見,相信這篇文章將對很多想入門的Linux愛好者有較大幫助。學習Linux的一個非常大的誤區在於僅僅學習Linux本身,想要讓它對自己有利,必須學習使用Linux做事情,比如:用Linux平台做大型網站、用Linux作為Oracle RAC集群的平台、製作一個電視中運行的小型嵌入式Linux系統。

    很多國家及地區的政府(如新加坡、台灣和德國)已經表明有計劃把自己的服務器體系結構由WINDOWS向Linux轉移。英國政府在與微軟協商一個三年期的合同續約時,利用有可能轉向Linux成功地節省了1.5億美元。美國也不甘落後,其國防部(DOD)、國家安全局(NSA)、國家航空和宇宙航行局(NASA)以及美國國家標準和技術委員會(NIST)都在就部署Linux服務器系統和開放源碼軟件進行研究。千萬不能僅僅學習Linux系統本身,Linux僅僅是操作系統,重要的是其上的應用,就是能為你能創造多少價值,學習Linux的一個誤區在於精力只是局限於Linux本身,從Linux的操作到Linux的內核,也不管自己到底要幹嘛?但是系統畢竟是拿來用的,學習使用Linux的目的是創造效益,如果不是僅僅製作Linux系統,不是加入Red Hat這樣的專業Linux發布版廠商,那麼你在學習了Linux基礎後就相當於掌握了Windows,很顯然這是不夠的,你還需要更進一步的學習,選擇Linux上的應用或者Linux上的軟件開發。

    學習Linux要選擇好自己的發展方向,大的方向有兩個,一是Linux的系統、網絡、服務應用方向,另一個是Linux下軟件開發方向。根據我們多年跟踪的學員情況,我們發現,學員在同等條件,學習Linux後,選擇開發要比系統應用薪水要上升的更為迅速,而且更容易突破5000、8000或10000等每月的門檻,但是這個方向難度會更大,同時會更枯燥些,需要“鐵屁股”——能坐得住,一但真正入門,就會有很強的成就感,進入大公司也只是早晚的事。但是另一方面,高級的系統應用方面,如集群、數據庫等也相當不錯,那些不想吃程序員的苦的人可以選擇這個方向。以下為兩個方向的詳細介紹:

    Linux的系統、網絡、服務、集群,網站,Oracle數據庫應用方向:

    1、數據庫服務器如Oracle Sybase

    2、Web應用服務器如sina baidu大型網站

    3、Mail應用服務器如163或外企mail系統等

    4、中間件或J2EE服務器如為JBOSS Weblogic Websphoto做平台

    5、網絡應用等

    嵌入式開發、UNIX/Linux應用系統開發,Linux內核驅動開發方向,主要有以下幾類:

    1、Linux下的C/C++系統程序開發

    2、Linux平台Java體系開發

    3、Linux下的圖形界面開發

    4、Linux底層內核/驅動開發

    5、嵌入式Linux開發等。

  • Oracle初學者心得

    oracle的體系太龐大了,對於初學者來說,難免會有些無從下手的感覺,什麼都想學,結果什麼都學不好,所以把學習經驗共享一下,希望讓剛剛入門的人對oracle有一個總體的認識,少走一些彎路。
      
    一、定位
    oracle分兩大塊,一塊是開發,一塊是管理。開發主要是寫寫存儲過程、觸發器什麼的,還有就是用Oracle的Develop工具做form。有點類似於程序員,需要有較強的邏輯思維和創造能力,個人覺得會比較辛苦,是青春飯J;管理則需要對oracle數據庫的原理有深刻的認識,有全局操縱的能力和緊密的思維,責任較大,因為一個小的失誤就會down掉整個數據庫,相對前者來說,後者更看重經驗。
      
    因為數據庫管理的責任重大,很少公司願意請一個剛剛接觸oracle的人去管理數據庫。對於剛剛畢業的年輕人來說,可以先選擇做開發,有一定經驗後轉型,去做數據庫的管理。當然,這個還是要看人個的實際情況來定。

    二、學習方法
    我的方法很簡單,就是:看書、思考、寫筆記、做實驗、再思考、再寫筆記
      
         看完理論的東西,自己靜下心來想想,多問自己幾個為什麼,然後把所學和所想的知識點做個筆記;在想不通或有疑問的時候,就做做實驗,想想怎麼會這樣,同樣的,把實驗的結果記下來。思考和做實驗是為了深入的了解這個知識點。而做筆記的過程,也是理清自己思路的過程。
      
         學習的過程是使一個問題由模糊到清晰,再由清晰到模糊的過程。而每次的改變都代表著你又學到了一個新的知識點。
      
         學習的過程也是從點到線,從線到網,從網到面的過程。當點變成線的時候,你會有總豁然開朗的感覺。當網到面的時候,你就是高手了
      
         很多網友,特別是初學的人,一碰到問題就拿到論壇上來問,在問前,你有沒有查過書,自己有沒有研究過,有沒有搜索一下論壇?這就叫思維惰性。由別人來回答你的問題,會讓你在短時間內不費勁地弄懂這個知識點,然而通過自己的努力去研究它,不但會更深入的了解這個知識點,更重要的是在研究的過程會提高你解決問題和分析問題的能力。總的來說,沒有鑽研的學習態度,不管學什麼東西,都不會成功的。
      
         當然,初學的人很多時候是因為遇到問題時,無從下手,也不知道去哪裡找資料,才會到論壇上提問題的。但我認為,在提問的時候,是不是可以問別人是如何分析這個問題?從哪裡可以找到相關的資料?而不是這個問題的答案是什麼?授人以魚不如授人以漁。

       下面我講下我處理問題的過程

       首先要知道oracle的官方網站:www.oracle.com這裡有oracle的各種版本的數據庫、應用工具和權威的官方文檔。其次,還要知道http://metalink.oracle.com/這裡是買了oracle服務或是oracle的合作夥伴才可以進去的,裡面有很多權威的解決方案和補丁。然後就是一些著名網站:asktom.oracle.com www.orafaq.net, www.dbazine.com。這裡有很多經驗之談。

        遇到問題了。如果是概念上的問題,第一時間可以找tahiti.oracle.com,這裡會給你最詳細的解釋。如果在運行的過程中出了什麼錯誤。可以去metalink看看。如果是想知道事務的處理的經驗之談。可以去asktom。當然。這裡只是相對而言。

    三、oracle的體系
    oracle的體系很龐大,要學習它,首先要了解oracle的框架。在這裡,簡要的講一下oracle的架構,讓初學者對oracle有一個整體的認識。
      
    1、物理結構(由控製文件、數據文件、重做日誌文件、參數文件、歸檔文件、密碼文件組成)
    控製文件:包含維護和驗證數據庫完整性的必要信息、例如,控製文件用於識別數據文件和重做日誌文件,一個數據庫至少需要一個控製文件
    數據文件:存儲數據的文件
    重做日誌文件:含對數據庫所做的更改記錄,這樣萬一出現故障可以啟用數據恢復。一個數據庫至少需要兩個重做日誌文件
    參數文件:定義Oracle例程的特性,例如它包含調整SGA中一些內存結構大小的參數
    歸檔文件:是重做日誌文件的脫機副本,這些副本可能對於從介質失敗中進行恢復很必要。
    密碼文件:認證哪些用戶有權限啟動和關閉Oracle例程
      
    2、邏輯結構(表空間、段、區、塊)
    表空間:是數據庫中的基本邏輯結構,一系列數據文件的集合。
    段:是對像在數據庫中佔用的空間
    區:是為數據一次性預留的一個較大的存儲空間
    塊:ORACLE最基本的存儲單位,在建立數據庫的時候指定
      
    3、內存分配(SGA和PGA)
    SGA:是用於存儲數據庫信息的內存區,該信息為數據庫進程所共享。它包含Oracle服務器的數據和控制信息,它是在Oracle服務器所駐留的計算機的實際內存中得以分配,如果實際內存不夠再往虛擬內存中寫。
    PGA:包含單個服務器進程或單個後台進程的數據和控制信息,與幾個進程共享的SGA正相反PGA是只被一個進程使用的區域,PGA在創建進程時分配在終止進程時回收
      
    4、後台進程(數據寫進程、日誌寫進程、系統監控、進程監控、檢查點進程、歸檔進程、服務進程、用戶進程)
    數據寫進程:負責將更改的數據從數據庫緩衝區高速緩存寫入數據文件
    日誌寫進程:將重做日誌緩衝區中的更改寫入在線重做日誌文件
    系統監控:檢查數據庫的一致性如有必要還會在數據庫打開時啟動數據庫的恢復
    進程監控:負責在一個Oracle進程失敗時清理資源
    檢查點進程:負責在每當緩衝區高速緩存中的更改永久地記錄在數據庫中時,更新控製文件和數據文件中的數據庫狀態信息。
    歸檔進程:在每次日誌切換時把已滿的日誌組進行備份或歸檔
    服務進程:用戶進程服務。
    用戶進程:在客戶端,負責將用戶的SQL語句傳遞給服務進程,並從服務器段拿回查詢數據。
      
    5、oracle例程:Oracle例程由SGA內存結構和用於管理數據庫的後台進程組成。例程一次只能打開和使用一個數據庫。
      
    6、SCN(System Change Number):系統改變號,一個由系統內部維護的序列號。當系統需要更新的時候自動增加,他是系統中維持數據的一致性和順序恢復的重要標誌。

    四、深入學習
    管理:可以考OCP證書,對oracle先有一個系統的學習,然後看Oracle Concepts、oracle online document,對oracle的原理會有更深入的了解,同時可以開始進行一些專題的研究如:RMAN、RAS、 STATSPACT、DATAGUARD、TUNING、BACKUP&RECOVER等等。
      
    開發:對於想做Oracle開發的,在了解完Oracle基本的體系結構之後,可以重點關注PL/SQL及Oracle的開發工具這一部分。 PL/SQL主要是包括怎麼寫SQL語句,怎麼使用Oracle本身的函數,怎麼寫存儲過程、存儲函數、觸發器等。 Oracle的開發工具主要就是Oracle自己的Developer Suite(Oracle Forms Developer and Reports Developer這些),學會如何熟練使用這些工具。

    介紹幾本oracle入門的好書

    oracle官方文檔:《concept》上面講了oracle的體系和概念,很適合初學者看。

    OCP的教學用書,也就是STUDY GUIDE(SG)。
    Oracle8i備份恢復手冊
    Oracle8高級管理與優化
    Oracle8i PLSQL程序設計
    Oracle8數據庫管理員手冊
    以上書本都是機械工業出版社出版。
      
    介紹幾個網站
    http://tahiti.oracle.com oracle的官方文檔
    現在http://www.oracle.com.cn/onlinedoc/index.htm也有官方文檔,速度奇快
    http://metalink.oracle.com/ oracle的技術支持網站。需要購買Oracle服務才能有一個帳號,才能登陸,有大量的Knowledge Base,大量問題解決經驗。
    http://www.oracle.com oracle的官方網站,可以在這裡down oracle的軟件、官方文檔和獲得最新的消息
    http://www.dbazine.com/ Oracle的雜誌
    http://asktom.oracle.com
    http://www.orafaq.net/
    http://www.ixora.com.au/
    http://www.oracle-base.com
    http://www.dba-oracle.com/oracle_links.htm

    來源:www.itcert.org
  • 虛擬化項目實施前需考慮的十大問題

    利用虛擬化技術,把軟件從硬件當中抽取出來,創建靈活、動態的環境,這樣的好處很吸引人。不過能否成功實施該項技術則取決於所需技能、安全和管理工具以及業務驅動因素是否到位。因為,在有些情況下,虛擬化技術還沒有準備好,或者回報不夠明顯,因而不能立刻開始實施。虛擬化項目不應該倉促上馬。這是一個長期機會,如果企業把虛擬化當成是一項戰略,而不僅僅是一個項目,那樣更有可能獲得長遠效益。

    以下是啟動全企業虛擬化項目之前要問自己的幾個重要問題。

    1、你擁有支持虛擬化技術的技能嗎?

    EMA把缺少“相應技能”列為成功部署虛擬化技術面臨的最大障礙。這家研究公司聲稱,虛擬化技術還沒有到位的企業約有四分之三不具備支持這項技術的技能。 EMA建議:在採用這項技術之前,對員工進行培訓、確定需求、記下預期出現的變化,並且在小的試點環境裡對虛擬化技術進行試用。

    2、你對虛擬化技術可能帶來的人事紛爭做好準備了嗎?

    第二個隱藏困難也與人這個因素有關。 EMA認為,因為IT部門多年來存在於各自獨立的環境,IT主管試圖讓公司的主流用戶接受虛擬化技術時可能會面臨阻力。譬如說,有些部門可能不想共享服務器資源,正因為如此,EMA建議公司部署報告工具,顯示虛擬化技術如何有助於提升性能,或者因為可共享彼此的資源而至少不會損害各部門的利益。

    3、你有沒有考慮過相關風險?能不能承受?

    雖然虛擬化技術減少了支持多個系統及應用所需的物理資源的數量,但同時把更多的用戶和應用集中到了數量更少、更複雜的共享虛擬化環境下。正因為如此,硬件故障、人為錯誤、安全漏洞、規劃問題、支持問題及其他因素帶來的影響在虛擬化環境下會得到極大地放大。 EMA給出的建議就是:在虛擬化項目的每個階段,企業應當制訂詳細的業務連續性和災難恢復計劃。

    4、你的安全系統承受得了嗎?

    虛擬化技術會帶來更多的安全漏洞、惡意軟件及薄弱環節,數量之多超出了許多公司原先準備的應對能力——這主要是因為如今的技術還無法處理新的威脅。 EMA認為,借助現有工具,幾乎發現不了像虛擬機管理程序感染、rootkIT病毒以及惡意虛擬機這類安全問題。 IT主管必須像保護物理機器那樣來保護虛擬機,還要採取其他步驟來確保虛擬化環境得到保護。 EMA認為,發現、配置、變革管理及其他方面的技術和製度對發現針對虛擬化環境的惡意軟件變得更為關鍵。

    5、你的系統和應用與虛擬化技術兼容嗎?

    有些應用和系統與虛擬化技術之間缺乏良好的兼容性。譬如說,EMA提到的“具有對各種資源的高效利用、極大的需求峰值或者持續高利用率等特點”的應用。這家研究公司認為,直接與硬件進行聯繫的應用也會妨礙虛擬化項目的實施。

    6、你有沒有容量規劃措施?

    虛擬服務器散亂現像是部署的虛擬化技術超過現有容量所帶來的一個常見結果。 EMA建議,IT部門應當利用詳細的容量規劃措施,確保自己有足夠的軟硬件資源來支持所實施的虛擬化技術,並確保虛擬化技術不會失去控制。

    7、你的環境得到支持嗎?

    EMA認為,雖然許多流行的套裝應用軟件支持虛擬化技術,但還是有許多應用軟件不支持。這家研究機構建議,IT部門在部署虛擬化技術之前,應當調查哪些軟硬件平台得到支持、哪些需要升級。

    8、你的網絡支持虛擬化技術嗎?

    網絡和存儲可能會給數據中心的虛擬化技術帶來瓶頸。譬如說,專注於用戶的虛擬化技術(如應用虛擬化、桌面虛擬化或者應用流)在低帶寬連接上就無法使用。企業的IT管理人員可以試著利用廣域網優化技術或者限制系統映像數量過多,克服網絡和存儲帶來的局限性。

    9、你的管理系統能夠處理虛擬化環境嗎?

    雖然虛擬化技術減少了要管理的物理資源的數量,但也加大了整個環境的複雜性,還帶來了讓某些IT管理人員為之頭痛的管理問題。譬如,易於部署可能會帶來虛擬機數量過多,或者虛擬服務器散亂現象,這可能會導致管理難度大大提高。

    另外,添加的一層軟件加大了管理整個環境的複雜性。 EMA認為,在管理工具跟上虛擬化技術的步伐之前,成功的關鍵在於不但要有相應工具,還要有發現、性能管理、配置管理、補丁管理、服務級別管理、自動配置、災難恢復等其他方面嚴格的流程製度。

    10、虛擬化技術可以幫助你滿足業務目標嗎?

    也許在倉促實施虛擬化技術過程中最容易被忽視的因素就是,沒有把技術實施與具體的業務目標聯繫起來。為了評估虛擬化技術部署項目的成功,企業的IT部門必須在部署這項技術之前,先要知道所需要的結果。 EMA建議,IT管理人員應當為長遠的戰略成果做好規劃,不要使用虛擬化技術作為解決緊迫的棘手問題的權宜之計。譬如說,雖然許多公司認為節省成本是虛擬化技術的一個成果,但EMA認為情況往往並非如此。

    EMA認為: “總的來說,節省成本並非是總能得到的結果,實際上,減少成本(軟件、硬件和場地等方面的成本)是最不能指望的結果。譬如說,儘管服務器合併帶來的成本效益經常被吹噓,但它帶來的只是一次性的成本節省,而額外成本(特別是對軟件而言)往往相當大。”

  • 思科詞典-專業詞彙大全

    Cisco

    A

    10BaseT 10M bit/s基帶以太網規範,採用兩對雙絞線(類型3、4或5):一對線用於傳輸數據,另一對線用於接收數據。作為IEEE 802.3

    規範的一部分的10BaesT,其每段的距離限制大約為328英尺(100m)。

    802.x定義局域網協議的一套IEEE標準。

    AAA驗證、授權和統計。此網絡安全服務提供了一個主要框架,通過它可以控制對路由器和接入服務器的訪問。兩種主要的AAA是TACACS+

    和RADIUS。

    ABR區域邊界路由器。位於一個或多個OSPF區域邊界上、將這些區域連接到主幹網絡的路由器。 ABR被認為同時是OSPF主乾和相連區域的成

    員。因此,它們同時維護著描述主幹拓撲和其他區域拓撲的路由選擇表。

    訪問層(access layer)在體系化網絡中為工作組/用戶提供到網絡的訪問的分層。

    訪問列表(access list)路由器和交換機所保持的列表用來針對一些進出路由器或交換機的服務(如組織某個IP地址的分組從路由器或

    交換機的特定端口出發)做訪問控制。

    訪問方法(access methed)一般來說是指網絡設備訪問網絡介質的方法。

    訪問服務器(access server)將異步設備通過網絡和終端仿真軟件連接到局域網或廣域網上的通信處理器。能對所支持的協議進行同步

    和異步路由。有時也被稱為網絡訪問服務器(NAS)

           統計(accounting)跟踪可以連接和惡意行為的方法。

    統計管理(accounting management) ISO為OSI網絡管理所定義的5種網絡管理類型之一。統計管理子系統負責收集有關資源使用的網絡數

    據。

    準確性(accuracy)在系統上被正確地傳輸的有用數據流與包括傳輸錯誤在內的總數數據流的百分比。

    ACK 1. TCP分段中的確認位。 2.參見acknowledgment(確認)。

    確認(acknowledgment)從一台網絡設備發往另一台網絡設備的通知,用來確認某個事件的發生(例如,一條消息的接收)。有時縮寫為

    ACK。請與NAK進行比較。

    ACL參見訪問列表(access-list)。

    AD管理距離。表示路由選擇選擇信息源的可信度。管理距離經常用0到255之間的一個數值來表示。數值越高,可信度越低。

    地址(address)被用來標示一個實體,比如一個具體的進程或網絡設備唯一性的數據結構或邏輯表達式。

    地址映射(address mapping)通過將地址從一種格式轉換為另一種格式,而使不同協議能互操作的技術。例如,當在X.25上承載IP時,

    IP地址必須被映射成X.25地址,以使IP分組能夠通過X.25網絡進行傳輸。參見地址解析(address resolution)。

    地址解析(address resdution)一般來說,是指用於解決計算機編址方案間不同點的一種方法。但地址解析更常指從網絡層(第3層)地

    址映射到數據鏈路層(第2層)地址的一種方法。

    鄰接關係(adjacency)在所選擇的鄰接路由器或末端節點間出於交換路由選擇信息的目的而形成的一種關係。鄰接關係是基於對共介質

    段的使用。

    管理距離(admini strative distance)表征路由選擇信息源的可信度。管理距離值越高,可信度越低。

    通告(advertising)路由選擇或服務更新被以規定的時間間隔進行發送以使網絡上的其他路由器能夠維護可用路由列表的路由器進程。

    AFI機構和格式ID。在OSI NSAP地址中,AFI定義了地址格式和分配地址的機構,長度為1個字節。

    代理(agent) 1.一般來說,是指代表應用程序處理查詢並返回答复的軟件。 2.在NMS中,是指駐留在所有被管理的設備上,並且向管理

    站點匯報指定變量值得一個進程。

    聚合(aggregation)參見路由匯總。

    報警(alarm)通知操作員或管理員網絡出現問題的消息。

    算法(algorithm)用於解決某種能問題的已經定義好的規則或處理過程。在網絡互連中,算法通常用來決定數據流從某個源地址到某個

    目的地的最佳路由。

    模擬(analog)通過連續變化的物理量(比如電壓和頻率)來表示的電路,與分立變量表示(比如數字電路以0/1、關/開來表示)相反

    模擬傳輸(analog transmission)通過有線或無線傳輸信號,其中信息是通過信號波幅、頻率和相位的組合的變化表達的。

    ARPA高級研究項目管理局(Advanced Research Projects Agency)的縮略語。是一個研究和開發組織,它是DoD(國防部,Department of

    Defense)的一部分。 ARPA負責通信和網絡互連領域中的各種先進技術的開發。 ARPA是由DARPA演變過來的,然後又變成了ARPA(在1994年)。

    ARPANET高級研究項目管理局網絡(Advanced Research Projects Agency Network)的縮略語。它是於1969年建立的分組交換網絡的標誌。

    ARPANET是在20世紀70年代由BBN進行開發的,由ARPA(以後的DARPA)資助。它最終演化為Internet。 ARPANET這個術語於1990年正式退出使用

    AS自治系統。共享共同路由選擇策略的、在統一管理下的網絡集合。自治系統可以被分成多個區域。

    ASBR自治系統邊界路由器。 ABR位於OSPF自治系統和非OSPF網絡之間。 ASBR同時運行OSPF和另一種路由選擇協議,比如RIP。 ASBR必須屬於

    一個非末節OSPF區域。

    ASICII美國信息交換標準編碼(American Standard Code for Information Interchange)的縮略語,是用於表示字符的8位編碼(7位再加

    上校驗位)。

    已分配的編碼(assigned numbers) RFC[STD2]記錄了網絡協議實施中所使用的幾種編號系列里當前所分配的值。該RFC是定期進行更新的

    ,可以從IANA獲取當前的信息。如果開發了需要使用某個鏈路、套接字(socks)、端口、協議等的某種協議或應用,請與IANA聯繫以獲得一

    個分配的編號。

    AUI附接單元接口(Attachment Unit Interface)。它是在介質附接單元(MAU)和網絡接口卡(NIC)之間的IEEE 802.3接口。 AUI術語也可以

    指AUI電纜可能連接的後板端口。

    身份驗證(authentication)在安全措施中,對一個人或程序的身份驗證。

    AURP AppleTalk基於更新的路由選擇協議。該協議是一種封裝方法,它將AppleTalk業務封裝在外部協議的頭內,允許通過外部網絡(如TCP

    /IP)把兩個或多個不連續的AppleTalk互連網絡相連接,以組成一個AppleTalk廣域網。這種連接稱為AURP隧道。除了封裝功能之外,AURP

    還通過與外延路由器交換路由選擇信息來維護整個AppleTalk廣域網的路由選擇表。

    AUX Cisco路由器上的輔助端口。

    平均速率(average rate)一條虛電路傳輸數據的平均速率,以kbit/s為單位。

    應用層OSI參考模型的第7層。這一層向OSI模型外的程序處理(如電子郵件、文件傳輸和終端仿真)提供服務。應用層識別並建立目標通

    信夥伴的可用性(以及連接它們所需要的資源),同步共同運行的應用程序,並且為故障恢復和數據完整性控制在程序上達成一致。它大致

    與SNA模型中的交易服務層相同。

    ASIC專用集成電路。一種被編程用來快速完成特定功能的集成電路,被廣泛用於第2層和第3層交換機。

    異步傳輸(asynchronous transmission)傳輸時不需要使用精確時鐘來定時的數字信號。這種信號通常有不同的頻率和相位關係。異步傳

    輸通常將各個字符封裝到控制位(開始和結束位)之間,後者用於指出字符的起始和結束位置。

    ATM異步傳輸模式。一種信元中繼國際標準,通過長度固定的信元傳輸多種服務類型(如語音、視頻和數據)。由於信元的長度固定,因

    此對其處理可在硬件中進行,從而降低了傳輸延遲。 ATM設計用於充分利用高速傳輸介質,如E3、SONET和T3。

    AUI附接單元接口。介質附接單元(MAU)和網絡接口卡(NIC)之間的IEEE 802.3接口。術語AUI也可能指可以連接AUI的背板端口。 AUI也被稱

    為收發器電纜。

    身份驗證(authentication)在安全措施中驗證用戶或進程的身份。

    API應用編程接口。定義服務接口的功能調用約定的規範。

    APNIC亞太地區信息網絡中心。

    AppleTalk蘋果計算機公司所設計的一系列通信協議。目前有兩個階段(版本)。第一階段,早期版本,支持只能有一個網絡號和在一個

    區域中的單個物理網絡。第二階段,更近期的版本,支持在單個物理網絡上的多個邏輯網絡並且允許網絡分佈在多個區域中。參見區域

    (zone)。

    區域(area)網段&它們所連接的設備的邏輯集合。區域通常通過路由器與其他區域相連接,從而構成一個自治系統,參見AS。

    ARIN美洲Internet編號註冊局。它是一個非盈利性機構,為一些地理區域管理和註冊IP地址編號,當前由Network Solutions(InterNIC

    )所管理。這些區域包括,但不限於,北美、南美、南非和比海地區。

    ANSI美國國家標準化組織(American National Standards Institute)。它是自發的民間組織——由公司、政府和其他成員所組成的志願

    機構以協調與標準相關的活動、申請美國標準和在國際標準組織中提升美國的位置。 ANSI主要幫助發展與通信和網絡相關的國際和美國標準

    。 ANSI是國際電工技術委員會(IEC)和國際標準化組織(ISO)的成員。

    已分配的編碼(assigned numbers) RFC[STD2]記錄了網絡協議實施中所示用的機種編號系列里當前所分配的值。該RFC是定期進行更新的

    ,可以從IANA獲取當前的信息。如果開發了需要使用某個鏈路、套接字(socks)、端口、協議等的某種協議或應用,請於IANA聯繫以獲得

    一個分配的編號。

    異步傳輸(asynchronous transmission)該專用術語用來描述不需要使用精確時鐘定時來傳輸的數字信號。這樣的信號通常有不同的頻

    率和相位關係。異步傳輸通常將單獨的字符封裝到指明每個字符的起始和結尾的控制位(稱為開始和停止位)中。

    ATM論壇一個由Cisco系統、NET/ADAPTIVE、北電和Sprint公司在1991年聯合成立的國際組織。該組織發展並提升基於標準的ATM技術的實

    現協定。 ATM論壇擴展了由ANSI和ITU-T發展的官方標準並在官方標準之前發展了執行的協定。

    AUI附接單元接口(Attachment Unit Interface)。它是在介質附接單元(MAU)和網絡接口卡(NIC)之間的IEEE 802.3接口。 AUI術語

    也可以指AUI電纜可能連接的後板端口。

    身份驗證(authentication)在安全措施中,對於一個人或程序的身份驗證。

    AUX Cisco路由器上的輔助端口。

    平均速率(average rate)一條虛電路傳輸數據的平均速率,以kbit/s為單位。

           統計(accounting)跟踪可以連接和惡意行為的方法。

            AH驗證報頭。一種安全協議,提供了數據驗證、數據完整性和防重發服務。 AH被嵌入到要保護戶數據(IP數據報)中。

           天線場地(antenna site)接受廣播和衛星信號的主天線的位置。

           驗證(authentication)確定試圖訪問計算機系統或網絡連接的用戶或進程的身份,確保用戶或進程的身份是真實的。驗證授予

    相關的訪問權限。

           授權(authorization)一種遠程接入控制方法,包括一次性授權或針對每種服務和每個用戶進行授權、配置文件和用戶組支持,

    支持IP、IPX、ARA和Telnet。

     
    B

    備用接口(backup interface)在主鏈路出現故障或負載超過指定之之前一直處於關閉狀態的接口。

           寬帶(broadband)在HFC網絡上以頻分多路復用(FDM)方式將眾多信號組成RF信號,能夠處理大量的信息。

    貝爾曼-福特-摩爾算法(Bellman-Ford-Moore algorithm)路由選擇信息協議(RIP)用來計算最佳路由的算法。

    BIA固化(burned-in)MAC地址,是製造商固化到網絡設備中的一種標示符。

    BPDU網橋協議數據單元。是生成樹協議hello分組,每隔一定的時間間隔(可配置)被發送,以便在網絡中的網橋之間交換信息。

    網橋(bridge)連接兩個使用相同協議的網段並在他們之間傳遞分組的設備。網橋運行在OSI參考模型的數據鏈路層(第2層)。通常,網橋

    根據楨的MAC地址對其進行過濾、轉發和泛洪(flood)。

    廣播域(broadcast domian)是一組設備,其中每台設備都能接收來自其他設備發送的廣播楨。路由器不轉發廣播楨,因此廣播楨通常以路

    由器為邊界。

    自下而上的排故方法一種從物理網絡組件開始並沿著OSI模型向上直到問題的原因被查出的排故方法。

    緩衝區(buffer)用於存儲經過的數據的存儲區域。在網絡互連中,緩衝區用於補償不同網絡設備在處理速度方面的差別。突發數據可被存

    儲到緩衝區中,等待處理速度較慢的設備進行處理。有時也被稱為分組緩衝區。

    主幹(backbone)作為數據流主通道的網絡部分,經常用於為其他源和目標網絡做數據流轉發。

    後向顯示擁塞通告(backward explicit congestion notification)參見BECN。

    帶寬(bandwidth)網絡信號可用的最高和最低頻率之差。這個術語也可用來描述給定網絡介質或協議的吞吐能力。心好的頻率範圍是以

    赫茲(Hz)來表達的。例如,語音信號通常最大帶寬是7kHz而數據傳輸通常最大帶寬為50Hz。

    基線所有網絡信息是網絡在正常運轉狀況下記錄的。包括圖形、地址規範和列表、所用的協議列表、性能信息。

    帶寬保留(bandwidth reservation)為網絡所服務的用戶和應用分配帶寬的過程。它涉及了根據數據流的關鍵性和對延遲的敏感程度而

    對不同數據流分配不同的優先級。這樣可以更好地利用可獲得的帶寬:如果網絡發生擁塞,可以丟棄低優先級的分組。有時也稱為帶寬分配

    (bandwidth allocation)。

    基本速率接口(Basic Rate Interface)參見BRI。

    波特(baud)信號速率單位,等於每秒瑣傳輸分立信號的元素數。如果每個信號元素只表示一位時,波特與bit/s是同義詞。

    Bc過量突發(Excess Burst)。它是在幀中繼網絡互連中商定的一個資費度量值(tariff metric)。是幀中繼網絡在超過Bc後所試圖傳輸的

    位數。因為Be數據可以被網絡標誌為DE(可丟棄,Discard Eligible),所以一般Be數據被傳輸的可能性要低於Bc數據。請參考Bc和DE。

    BCRAN組建Cisco遠程接入網絡(Building Cisco Remote Access Network)。

    BDR備用指定路由器(Backup Designated Router)。當DR正在運行時,BDR不進行任何DR功能。相反,它接收所有信息,但允許DR完成轉發

    和同步任務。 BDR只在DR失效時才完成DR的任務。

    Be過量突發(Excess Burst)。它是在幀中繼網絡互連中商定的一個資費度量值(tariff metric)。是幀中繼網絡在超過Bc後試圖傳輸

    的位數。因為Be數據可以被網絡標誌位DE(可丟棄,Discard Eligible),所以一般Be數據被傳輸的的可能性要低於Be數據。請參考Bc和DE

    BECN後向顯式擁塞通告。幀中繼網絡在與數據幀遇到擁塞路徑的反方向傳輸的數據幀中設置的位。當DTE收到了有BECN位設置的幀後可以

    請求高層協議採取適當的流控措施。請與FECN進行比較。

    貝爾曼-福特算法(Bellman-Ford routing algorithm)參見距離矢量路由選擇算法。

    盡力傳輸(best-effort delivery)不使用複雜確認系統來保證可靠的信息傳輸的網絡系統。

    BGP邊界網關協議。它是取代了EGP的一種域間路由選擇協議。 BGP與其他BGP系統交換可達性信息。它在RFC1163中進行了定義。參見BGP-4

    和EGP。

    BGP-4 BGP版本4。這是在Internet上主要的域間路由選擇協議的第4版本。 BGP-4支持CIDR,並且使用路由聚合機制來減小路由選擇表的大

    小。參見BGP。

    BIA Burned-in-address(燒製地址),MAC地址的另一個名字。

    位(bit)用在二進制系統中的二進制數字。可以是0或1。

    BOD按需帶寬(bandwidth on demand)。

    BOOTP bootstrap協議。網絡節點用來決定其以太網接口的IP地址以影響網絡引導的協議。

    主幹(backbone)作為數據流主通道的網絡部分,經常用於為其他源和目標網絡做數據流轉發。

    二進制(binary)以1和0(1=打開;0=關閉)來表示的數制系統。

    位(bit)用在二進制系統中的二進制數字。可以是0或1。

    BPDU網橋協議數據單元。是生成樹協議hello分組,它在網絡中以可配置的時間間隔進行發送,以便在網橋之間交換信息。

    BRI基本速率接口(Basic Rate Interface)的縮略語。在美國,它是可獲得的ISDN接口中最常用的類型。 BRI包含兩條B信道(每條速率為

    64kbit/s),以及一條用於信令和呼叫進展消息的D信道(16kbit/s)。請與PRI進行比較。

    廣播(broadcast)將被發送到網絡上所有節點的分組。廣播是通過廣播地址進行識別的。請與多播(multicast)和單播(unicast)進行比較

    BSCN組建可擴展的Cisco網絡。

        緩存(buffer)在傳輸中用來處理數據的存儲區。在網絡互連中,緩存用於彌補網絡設備間處理速率的差異。突發數據可以被存儲在緩

    存中,直到它們可以被低速的處理設備所處理。有時被稱為分組緩存(packet buffer)。

    字節(byte)該術語是指作為—個單元進行操作的一系列連續二進制位(例如,—個8位的字節)。

     
    C

    電纜(cable)包在保護層中的銅線或光纖傳輸介質。

    規範地址(canonical)這樣一種地址:在線路上傳輸時,最低為首先被傳輸。以太網地址是規範的,對於其中的每個字節,最低為首先被

    傳輸。

    CCITT國際電報電話諮詢委員會。它是一個負責制定通信標準的國際性組織。現被稱為ITU-T。

    CDP Cisco發現協議(Cisco Discovery Protocol)。這是一種獨立於介質和協議的設備發現協議,Cisco製造的所有設備(包括路由器、

    接入服務器、網橋和交換機)都運行這種協議。通過使用CDP,設備可以向其他設備通告其存在,同時接收位於同一LAN和WAN遠端設備的信

    息。 CDP運行在所有支持SNA系統的介質上,包括LAN、楨中繼和ATM介質。

    信元(cell) ATM交換和多路復用中的基本數據單元。信元中包括指出其所屬數據流的標識符。信元由5字節的信元頭和48字節的有效負載組

    成。

    Cisco IOS軟件Cisco的操作系統軟件,為所有Cisco產品提供通用的功能、擴展性和安全性。 Cisco IOS軟件支持各種協議、介質、服務和

    平台,使能夠集中自動安裝和管理互連網絡。

    同軸電纜(coaxial cable)由中空的圓柱形導體和一個被包裹的金屬導線構成的電纜。當前用於LAN中的同軸電纜有兩種:用於數字信號

    的50電纜和用於模擬信號和高速數字信號的75電纜。

    衝突域(collision domain)衝突域是指在以太網中,衝突的楨傳輸的網絡區域。中繼器和集線器傳播衝突;而局域網交換機、網橋和路

    由器不會傳播衝突。

    壓縮(compression)通過某種算法對數據進行處理,以減少存儲他們所需的空間或降低傳輸它們時所需的帶寬。

    會聚(convergence)一組運行特定路由協議的網絡設備在拓撲發生變化後,就拓撲達成一致的速度和能力。

    CoS服務類型。高層協議用來指出底層協議應如何處理信息的標識。在系統網絡構架(SNA)子區域路由選擇中,CoS被子區域節點用來確

    定建立會話的最佳路由。 CoS由虛擬路由號和傳輸優先級字段組成,也被稱為ToS。

    CRC循環冗餘校驗。這是一種錯誤檢查技術,接受方計算楨內容與一個二進制質數相除得到的餘數,並將結果同發送方存儲在楨中的值進

    行比較。

    CCITT國際電話與電報顧問委員會(Consultative Committee for International Teleg-raph and Telephone)的縮略語。它是負責開發通

    信標準的國際組織。現在稱為ITU-T。參見ITU-T。

    CCDA.思科網絡設計工程師認證

    CCDP.恩科網絡設計專業人員認證

    CCNA.思科網絡支持工程師認證

    CCNP.思科網絡專業人員認證

    CCO Cisco在線連接。 Cisco的Web網址。

    CDP鄰居通過接收CDP組播幀而發現的鄰居(建立鄰接關係)。

    Cisco IOS軟件Cisco操作系統軟件提供了所有Cisco產品的共同的功能性、擴展性和安全性。 Cisco IOS軟件允許集中的、集成的和自動的

    安裝以及互連網絡管理,並確保支持各種各樣的協議、介質、服務和平台。

    Cisco技術支持中心Cisco軟件、硬件維護和支持服務的焦點。聯繫Cisco技術支持中心以獲取安裝和測試、性能、培訓、文檔、設備維修

    、備件更換服務(RMA)和設備規範方面的幫助。

           回撥(callback)一個PPP選項,用於節省呼叫費用。

            RF載波(RF carrier)一種電磁信號,根據另一種低頻信號(通常是基帶,如模擬音頻、模擬視頻或數字數據)對其進行調製,

    以便將低頻信號傳輸到另一個地方。

            CATV有線電視。公用天線電視(community antenna television)的首字母縮寫,現被稱為有線電視(cable TV)。

           認證服務(CA service)受信的第三方服務,通過創建和授予用於加密的數字證書(如公開密鑰證書),確保網絡實體/用戶之間

    的通信安全。 CA確保證書中數據安全條款的約束力,還可以創建用戶加密密鑰。

            CBWFQ基於類別的加權公平排隊。 CBWFQ(通常使用ACL)定義數據流類別,並將注入寬帶和隊列限制等參數應用於這些類別。

           中央路由器(centralized router)這種路由器能夠支持大型公司場點—-通常是總部或大型分部;SOHO和分部連接到總部以獲

    得數據和信息服務。

    CHAP挑戰握手驗證協議。使用PPP封裝的線路支持的一種安全特性,防止未經授權

    時鐘頻率該命令是用來設置連接串行電纜的DCE端的串行接口的時鐘頻率。

    衝突在以太網上,兩個節點同時傳輸的結果。從每台設備發出的幀在物理介質上相遇時回相互影響和破壞。

    糾正問題階段在排故的這一階段,隔離了的問題被糾正。

    CPU中央處理單元。一個複雜的微機芯片控制著由大部分其他的計算設備組件運行的重要任務。

    CHAP應答握手驗證協議。是指在使用PPP封裝的線路上支持的安全特性,它阻止未授權的訪問。 CHAP本身不阻止未授權的訪問,它只標識

    遠程端點。路由器或接入服務器決定是否允許用接入。請與PAP比較。

    信道(Channel)通信路徑。多個信道可以在某種環境中通過一條電纜進行多路復用。

    信道化El(channelized E1)以2.048Mbit/s運行的接入鏈路,它被分為30條B信道和1條D信道。可以支持DDR、幀中繼和X. 25。

    信道化T1(channelized T1)以1.544Mbit/s運行的接入鏈路,它被分為24條64kbit/s的信道(23條B信道和1條D信道)。這些獨立的信道

    或信道組連接到不同的目的地。可以支持DDR、幀中繼和X. 25。也稱為部分T1(fractional Tl)。

    校驗和(checksum)是一種用於檢查數據傳輸完整性的方法。校驗和是通過對一系列的字節施加一系列算術運算而計算出的一個整數值。接

    收端對收到的數據再重新進行計算並與發送方的計算結果進行比較,以驗證數據傳輸的正確性。

    CIDR無類域間路由選擇(classless inter-domain routing)。它是為Internet服務提供商(ISP)所開發的。該策略建議將剩餘的IP地址按

    連續的區塊分配給ISP,並考慮地理因素。

    CIR承諾信息速率(Committed Information Rate)。是幀中繼網絡同意在正常條件下傳輸信息的速率,它是通過對最小時間間隔進行速率平

    均而得來的。以bit/s為單位的CIR是所商定的主要資費度量值(tariff metric)之一。請參考Bc。

    電路(circuit)在兩個或多個點之間的通信通道。

    CiseoSecure是對任何撥號網絡解決方案進行補充的一套完整的訪問控制軟件產品,可以實現集中的安全控制策略。

    分類路由選擇協議(classfial routing protocol)不傳輸任何有關前綴長度信息的路由選擇協議。例如RIP和IGRP。

           載波噪聲比(C/N) RF載波振幅和噪聲震幅的比值。

    無類路由選擇協議(classless routing protocol)在路由更新中包含前綴長度的路由選擇協議;運行無類路由選擇協議的路由器不必自己決

    定前綴長度。無類路由選擇協議支持VLSM。

    CLI命令行界面。使用戶能通過輸入命令和任選項參數與操作系統進行交互的接口。

    客戶(client)向服務器請求服務的節點或軟件程序(前端設備)。參見server。

    客戶機/服務器計算模式一種計算(處理)網絡系統,在其中,事務處理責任被分為兩部分:客戶機(前端)和服務器(後台)。這兩個術語(

    客戶機和服務器)可以被用於指代軟件程序或實際的計算設備。這也被稱為分佈式計算(處理)。

           同軸電纜(coaxial cable)組建CATV系統時使用的主要物理介質,傳輸RF信號。同軸電纜中的信號衰減取決於電纜直徑、絕緣材

    料、環境溫度和工作頻率。

            CLID呼叫線路標識。提高了ISND連接的安全性,這是通過過濾到來的ISDN呼叫來實現的。根據呼叫號碼表對呼叫建立請求中的主

    叫號碼進行驗證。這一特性可避免位來自非授權號碼的呼叫而付費。

    CLNP無連接網絡協議。 CLNP是類似於IP的OSI協議。

    CLNS無連接網絡服務。提供給OSI傳輸層的OSI網絡層的兩種服務類型之一。

    CMIP公用管理信息協議。 OSI協議集的網絡管理協議。

    CMNS連接模式網絡服務。提供給OSI傳輸層的OSI網絡層的兩種服務類型之一。

    緊縮主幹(collapsed backbone)一種非分佈式主幹,其所有網段都通過一台網絡互連設備實現內部互聯。一個緊縮主幹還可以是存在於某

    一設備,比如集線器、路由器或交換機中的虛擬網段。

    衝突(collision)以太網中兩個節點同時發送數據所造成的結果。每台設備發送的幀在網絡介質上相遇時會發生碰撞並且會被損壞。

    承諾突發(Committed burst)參見BC。

    承諾信息速率(Committed information rate)參見CIR。

    Connectionless無連接。在交換數據之前無需建立端到端連接的一種傳輸方式。

    Connection-oriented面向連接的。在交換數據前需建立端到端連接的一種傳輸方式。

    CONP面向連接的網絡協議。

    COS服務類別。 IP協議頭中的5位用來設置

    延遲、吞吐量、可靠性和成本。

    成本(cost)一種仲裁值,一般基於跳數、介質帶寬或其他度量方法,可由網絡管理員分配,並且用於比較通過網絡互連環境的各種路徑。

    成本值被路由選擇協議用來決定到具體目的地的最佳路徑:成本越低,路徑越佳。在OSPF中,這是一個分配給鏈路的值。該度量值是基於介

    質的速率。它有時被稱為路徑成本。

    CPE用戶室內設備(Customer Premises Equipment)。電話公司所提供的、安裝在客戶場點的終接設備(比如終端、電話和調製解調器等),

    與電話公司的網絡相連。

    CR回車(carriage return)。

    CRC循環冗餘檢驗(Cyclic Redundancy Check)的縮略語。它是一種差錯檢驗技術,數據幀的接收方用一個二進制素因子(生成多項式)除以

    數據幀的內容計算出餘數,並將所計算出的餘數與發送方存儲在數據幀中的檢驗碼進行比較。

           加密系統(cryptosystem)執行加密/解密、用戶身份驗證、散列算法和密鑰交換的系統。密碼系統可能是用一種或多種方法,這

    取決於用於各種用戶數據流安全需求的策略。

    CSNP完全序列號PDU。 IS-IS協議中,CSNP用於發布路由器的整個鏈路狀態數據庫,是路由器所有LSP的列表。

    CSU信道服務單元(Channel service unit)。將最終用戶設備連接到本地數字電話環路的數字接口設備。經常與DSU—起被稱為CSU/DSU。

    參見DSU。

    用戶室內設備(Customer Premises Equipment)參見CPE

    循環冗餘檢驗(Cyclic redundancy check)參見CRC

            CSU/DSU信道服務單元/數據服務單元。 CSU連接到服務提供商網絡,而DSU連接到網絡設備的串行接口。 CSU/DSU有時是兩台獨立的

    設備,用於對諸如路由器等數據終端設備(DTE)的介質格式進行轉換,使之與電信運營商交換網絡中的服務提供商設備(如WAN交換器)的

    介質格式匹配。

           自定義排隊(custom queuing)為指定協議預留一定比例的帶寬。

     
    D

    DARPA國防高級研究項目局(Defense Advanced Research Projects Agency)的縮略語。它是美國政府為對internet進行研究和實驗而出資

    建立的。它由ARPA演化而來,後來又於1994年改回ARPA。

    數據加密標準(Data Encryption Stand)參見DES

    數據網絡標識碼(Data Network Identification Code)參見DNIC

    數據終端設備(Data terminal equipment)參見DTE

    數據報(datagram)作為一個網絡層單元而通過傳輸介質傳送的信息的邏輯分組,發送時不需要預先建立虛電路。 IP數據報是Intemet中主

    要的信息單元。 “信元”、 “幀”、 “消息”、 “分組”和“數據段”等術語也在OSI參考模型的各層和各種技術領域中被用來描

    述邏輯信息分組。

    數據鏈路連接標識符(Data-Link connection identifier)參見DLCI

    DB(DB bus connector)數據總線連接器。用於將串行和平行電纜連接到數據總線的一種連接器。 DB連接器名稱的格式為DB-x,其中x代表

    連接器中的線數。儘管每條線都連接到連接器上的一個插針,但並不是所有的插針都被分配了某種功用。 DB連接器由各種EIA/TIA標準做

    了定義。

    DBD數據庫描述分組。描述拓撲數據庫的內容。當初始化一個鄰接關係時交換這些消息。

    DCE數據電路端接設備(Data Circuit Terminating Equipment) (ITU-T擴展)的縮略語。組成用戶—網絡接口的網絡端的通信網絡設備和

    連接。 DCE提供到網絡的物理連接、轉發數據,並為同步DCE和DTE設備間的數據傳輸提供時鐘信號。調製解調器和接口卡就是DCE的例子。請

    與DTE進行比較。

    DDR按需撥號路由選擇(Dial-On-Demand Routing)的縮略語。通過該技術路由器可以根據傳輸站點的需要自動發起或關閉一條電路交換方

    式的會話連接。路由器假傳(spoof)“keepalive”信號以使終端將會話視為活躍的。 DDR允許使用一個外部ISDN終端適配器或調製解調器而

    通過ISDN或電話線進行路由選擇。

    DE可丟棄指示符(Discard eligible indicator)。當路由器檢測到網絡發生擁塞時,幀中繼交換機將首先扔掉有DE位設置的分組。 DE位是

    設置在超額使用的數據流(即超出CIR之後所收到的數據流)上的。

    解密(decry Ption)解密是加密算法的反向應用,用以使已加密數據返回到它原始的、未加密的狀態。參見加密(encry Ption)

    專線(dedicated line)為數據傳輸保留的專用通信線路,它不是在傳輸時才進行交換連接的線路。參見租用專線(leased line)。

    默認路由(default route)該路由條目是用來為其下一跳地址沒有被顯式地列在路由選擇表中的數據幀進行導向的。

    默認路由器當下一跳沒有被明確地列在路由選擇表中時幀被導向的路由器。也被稱為默認網關。

    延遲(delay)從發送方發起一個事務處理過程到它收到第一個應答之間的時間。它也可用來表示將分組通過指定路徑從源地址傳輸到目的

    地所需要的時間。

    延遲敏感應用在網絡有延遲時不能很好地運行或完全不能運行的應用程序。

    Daemon後台程序。一種沒有被顯式激活,但處於休眠狀態,等待某種條件滿足的程序。

    Debug Cisco IOS設備用來顯示操作輸出的應用程序,它是高度處理器密集型的,如果不小心使用,可能導致網絡服務中斷。

    DECnet數字設備公司開發和支持的一組通信產品(包括協議簇),最新的版本是DECnet/ISO(也叫DECnet phase V),它支持OSI協議和

    數字設備公司專用的協議。 Phase IV Prime支持內在的MAC地址,使得DECnet節點能夠與運行有MAC地址限制的其他協議的系統共存。

    Dijkstra算法(Dijkstra’s algorithm) Edsger Dijkstra發明的算法,有時用來根據鏈路狀態拓撲數據庫計算路由。這種算法也被稱為

    最短路徑優先(SPF)算法。

    Dot1Q Cisco對IEEE標準802.1Q的簡稱,這是一種橋接VLAN標準

    數據流一組流量通過源地址/掩碼,目的地址/掩碼,IP下一個協議字段,以及源和目的端口,此處的協議和端口字段可以是任何值。所以

    可以匹配這些規範組合值的流量將被邏輯地分成一組數據流。一個數據流代表一個在兩台主機間的TCP連接或者表示兩個子網間的所有流量

    。 IPSee保護就應用了數據流。

    數據流控制層體系模型的第5層。這一層決定和管理了會話雙方的交互,尤其是數據流。與OSI參考模型的回話層相關。

    調試一個用來表示幫助移除計算軟件或配置文件中的錯誤命令的工具和命令的術語。

    缺省網關IP主機將目的地不在本地網段的數據轉發到的IP地址。

    缺省路由一個路由選擇表條目,用來轉發下一跳沒有在路由選擇表中明確列出的分組。

    缺省VLAN與所有交換機端口關聯的VLAN,除非特別指定其他的。自然,以太網、令牌環網和其他的缺省VLAN是不同的。以太網缺省的VLAN

    通常是VLAN1。

    分而知之的排故方法以排故方法,它選擇一層並從該層開始然後沿著兩個方向進行測試。排故者選擇開始的層次是根據過去的經驗以及任

    何關於手頭問題的信息。當所選的層次是正常時,就檢查上面的層次。當該層有問題時,就檢查下面的層次。

    DNS服務器域名系統服務器。

    DRAM動態隨機存儲器。 RAM存儲在電容裡的信息必需要周期性的刷新。當DRAM刷新它的內容時,是不能被訪問的,因而會產生延遲。然而

    ,DRAM比靜態隨機存取存儲器(SRAM)要簡單而有著更高的能力。

    雙工指定是否設備的接口在相同的電路上發送和接收數據(而不是同時),或者是否發送電路和接收電路是不同的並且接口在接收數據時

    候可以同時發送數據。

    Demarc在運營商和CPE之間的分界點。

    DES數據加密標準(Data Encryption Standard)。是由美國國家標準局開發的標準密碼算法。

    目標地址(destination address)接收數據的網絡設備的地址。參見源地址(source address)。

    DHCP動態主機配置協議(Dynamic Host Configuration Protocol)。它提供了一種動態分配IP地址的技術,可以使當一些主機不再需要使

    用某些IP地址時能讓其他主機重複使用它們。

    撥號備份(dial backup)該特性可以讓網絡管理員用電路交換連接作為串行鏈路的備份,以對廣域網線路故障提供保護。

    按需路由選擇(Dial-on-demand routing)參見DDR。

    撥號線路(dial-up line)通過電話公司的網絡由電路交換連接所建立的通信電路。

    擴散更新算法(Diffusing Update Algorithm) DUAL。用在增強型IGRP(EIGRP)中的一種收斂算法,能在整個路由計算過程中的每一刻都提

    供無環路運行。它使涉及在拓撲變化中的路由器能夠同時達到同步,而不牽扯不受變化影響的路由器。

    數字(digital)通過二進制編碼來表示信息,例如0/1,或開/關。

           撥號監視(dialer watch)撥號監視融撥號備份和路由選擇功能於一體。它不依賴於定義感興趣的數據流來出發到總部路由器的

    撥號,從而提供了可靠的連接性。

           配送網絡(distribution network)在傳統的樹-分支有線電視系統中,幹線電纜和分支電纜組成了配送網絡。主線為主幹。幹線

    將信號傳遍整個社區。通常,配送網絡使用直徑為0.75英寸(19毫米)的同軸電纜。支線與乾線相連,將信號傳輸到服務區中的各個家庭,

    通常是直徑為0.5英寸(13毫米)的同軸電纜。

    DIS IS-IS的指定中間系統。選舉產生的DIS(首先根據配置的優先級,然後是最高MAC地址選舉)代表連接星型拓撲所有路由器的虛擬路由器

    生成LSP。

    抖動1.分組之間的延時差異;即分組到達和離開的時間差。對於語音和視頻的應用,抖動是衡量服務質量的重要尺度。 2.抖動是信號相

    對其參考定位時位置的變化而導致的模擬通信線路失真。尤其在進行高速數據傳輸時,抖動會導致數據丟失。

    距離矢量路由選擇算法(distance vector routing algorithm)要求每台路由器發送其所有或某一部分路由選擇表、但只發送到其鄰居的

    —種路由選擇算法。這也被稱為貝爾曼—福特路由選擇協議和DBF。

    DLCI數據鏈路連接標識符(Data Link connection identifier)的縮略語。在幀中繼網絡中用於標識PVC或SVC的值。在基本的幀中繼規範

    中,DLCl只具有局部意義(所連接的設備可以使用不同的值來標識同一條連接)。在LMI擴展規範中,DLCI具有全局意義(DLCI標識單獨的終端

    設備)參見LMI。

    DNIC數據網絡標識碼(Data Network Identification Code)的縮略語。是X. 121地址的一部分。

    DNS域名系統(Domain Name System)的縮略語。是在Internet中用來將網絡節點名解析為IP地址的系統。

    DoD國防部(Department of Defense)。負責國家防禦的美國政府機構。 DoD經常投資開發通信協議。

    域(domain)是Internet中樹狀命名體系結構的一部分,用來指基於組織類型或地理位置劃分的網絡組。

    域名系統(Domain Name System)參見DNS。

    點分地址(dot address)以n. n. n. n形式的IP地址表示法,其中每個n以十進製表示4字節IP地址中的一個字節。也被稱為點分錶示法或

    四部分點分錶示法。

    點分十進製表示法(dotted decimal notation)該表示法用以句號隔開的4個十進制數來表示一個由4個8位數所組成的32位整數。它被用來

    表示Intemet中的IP地址,比如192.67.67.20。也稱為點分四部分錶示法。

    DR指定路由器(Designated Router)。為多路訪問網絡生成LSA,並且在運行OSPF中負有其他特殊責任的OSPF路由器。每個至少含有兩台路

    由器的OSPF網絡有一台由OSPF Hello協議選舉的指定路由器。指定路由器能夠減少多路訪問網絡上所需的鄰接關係數量,也因此減少了路由

    選擇協議數據流的總量和拓撲數據庫的大小。

    DS數字信號(Digital signal)。

    DSL數字用戶線(或環路)(Digital subscriber line)。它是在限定距離內,通過傳統銅線提供高帶寬的公用網絡技術。有4種類型的DSL:

    ADSL、HDSL、SDSL和VDSL,它們全都需要使用一對調製解調器:一台調製解調器設置在市話局,另一台設置在客戶場點。因為大多數DSL技

    術不佔用雙絞線的全部帶寬,所以還有空間留給語音信道。參見ADSL、HDSL、SDSL和VDSL。

    DSP OSI NSAP地址的域特定部分。 NSAP地址的DSP由HODSP、系統ID和NSEL共同組成。

    DSU數據服務單元(Data service unit)。該設備用於在數字傳輸中將DTE設備上的物理接口適配到如T1或E1之類的傳輸設施。 DSU也負責提

    供如信號時鐘等這類的功能。經常與CSU一起被稱為CSU/DSU。參見CSU。

    DTE數據終端設備(Data terminal equipment)的縮略語。它是用戶—網絡接口的用戶端設備,可作為數據源、目的地或兩者兼而有之。

    DTE通過DCE設備(例如,調製解調器)連接到數據網絡,且一般使用DCE產生的時鐘信號。 DTE包括像計算機、協議轉換器和多路復用器這樣的

    設備。請與DCE進行比較。

    DTR IP TOS字段的延遲、輸出率和可靠性位等。

    DUAL參見擴散更新算法。

    DVMRP距離矢量多播路由選擇協議。一種互連網絡網關協議,基本上基於RIP,它實施了一種典型的密集模式的IP多播方案。 DVMRP用IGMP

    來與其鄰居交換路由數據報。

    動態地址解析(dynamic address resolu tion)用一種地址解析協議來確定和存儲所需的地址信息。

     
    E

    E1外部類型1。自治系統外部鏈路條目。起始於ASBR,它們描述了到自治系統外部目的地的路由。它們被擴散到除末節、完全末節和次末

    節區域以外的OSPF自治系統。對於E1類型的路由,其度量值計算方法是:將外部成本與路由分組所經過的各內部鏈路的成本相加。

    E2外部類型2。自治系統外部鏈路條目。起始於ASBR,它們描述了到自治系統外部目的地的路由。它們被擴散到除末節、完全末節和次末

    節區域以外的OSPF自治系統。對於E2類型的路由,其度量值總等於所分配的外部成本,與它在區域中被傳遞到的位置無關。當只有一台路由

    器向自治系統通告路由時,才使用這種分組類型。除非存在到目的地的兩條等成本路由,否則就使用類型2路由而不必使用類型1路由。

    以太通道技術由Cisco系統開發的和版權所有的。它是一個由以太網接口在邏輯上聚合為一個高帶寬的路由選擇或橋接端口。

    EBGP外部BGP。當BGP在位於不同自治系統內的路由器間運行時,它被稱為EBGP。運行EBGP的路由器相互間通常是直連的。

    EGP外部網關協議(Exterior Gateway Protocol)。在自治系統間交換路由信息的Internet

    協議。對它的描述見於RFC904中。不要與Exterior gateway protocol相混淆,這個EGP是一種被BGP所取代了的過時協議。

    EIGRP增強型內部網關協議。由Cisco開發的IGRP的高級版本。它提供了較好的收斂性能和運行效率,並且將鏈路狀態型協議和距離矢量協

    議的優點結合在一起。

    電子郵件(E-mail)電子信件。一種被廣泛使用的網絡應用,可以通過運行著各種網絡協議的各種類型的網絡在最終用戶之間電子化地傳輸

    文本信息。

    加密(Encryption)用某種算法改變數據的表象,以使這些數據信息對於那些沒有被授權的人即使看到也無法理解。參見解密(decryption)

           加密/解密(encryption/decryption)加密指的是將明文轉換為密文,使之對未經授權的用戶來說不可用的過程;而解密指的是

    將密文轉換為明文,使授權用戶能夠讀懂或使用他們的過程。

    增強型IGRP參見EIGRPo

    ES終端系統。

            ESP封裝安全有效負載。一種安全協議,提供數據保密、數據完整性和保護服務,還可提供數據來源驗證、防重發服務。 ESP對要

    保護的數據進行封裝。

    ES-IS終端系統—中間系統。

    ESH終端系統hello,用於IS-IS協議中,ES發送ESH。

    過量突發(Excess burst)參見Be。

    擴展超幀格式(Extended Superframe Format) ESF。 T1電路中使用的幀格式,由24個192位的幀組成。第193位提供定時和其他功能。 ESF是

    SF的增強版。

    外部網關協議(exterior gateway protocol)任何用於在自治系統間交換路由選擇信息的互連網絡協議。不要與EGP(Exterior Gateway

    Protocol)相混淆。參見BGP.

    外部路由選擇協議(exterior routing protocols)參見外部網關協議。

    EIA/TIA電子行業協會(Electronic lndustries Association)/電信行業協會(Teleco-mmunications Industry Association),是製定電

    子傳輸標準的組織。 EIA和TIA一道製定了很多著名的通信標準,其中包括EIA/TIA-232和EIA/TIA-449。

    封裝(encapsulation)將數據封裝到特定的協議頭中。例如,以太網數據傳輸之前被封裝到以太報頭中。另外,使用網橋連接非同志網

    絡時,來自一個網絡中的楨將被放到另一個網絡的數據鏈路層協議使用的報頭中。

    以太網(Ethernet)由施樂公司提出並由施樂公司、Intel和數字設備公司一道製定的基帶LAN規範。以太網使用CSMA/CD和各種電纜,速

    度為10Mbit/s。以太網類似於IEEE802.3系列標準。

           擴展轉換條目(extended translation)將一對IP地址和端口映射到另一對地址和端口的轉換條目。

     
    F

    FCS楨校驗序列,是額外加入到楨中用於差錯控制的字符。用於HDLC、楨中繼和其他數據鏈路層協議中。

    FDDI分佈式光線數據接口。是ANSI X3T9.5種定義的一種LAN標準,對使用光纜的100Mbit/s令牌傳遞網絡進行了規範,這種網絡最大的傳

    輸距離是2km。 FDDI使用雙環架構,以提供冗餘。

    閃存(flash)閃存是一種特殊的EEPROM(可電擦除可編程只讀存儲器),它可以一次性被全部擦除和重寫而不是一次一個字節。許多現

    代PC都將BIOS存儲在閃存中,以便必要時可以很容易地更新。這種BIOS有時也稱為閃速BIOS。閃存在調製解調器中也很常見,它讓製造商能

    夠在新協議成為標準是支持它們。

            FEC前向糾錯。在數據傳輸中,將指定的算法根據有效負載計算得到的結果加入到包頭中,讓接收方能夠判斷數據在傳輸過程中時

    候發生某類錯誤並進行糾錯。

    泛洪(flooding)交換機和網橋使用的一種數據流傳遞技術,將某個接口受到的數據流從除該核接口之外的所有接口發送出去。

            FDM頻分多路復用。一種多個發送方共享一條傳輸介質的RF傳輸方法。每個發送方都使用不同的頻率。

    刷新(flush)交換機將過期的條目從MAC表中刪除。

    FRAD楨中繼接入設備,是在LAN和楨中繼WAN之間提供連接的網絡設備。

    FCC聯邦通信委員會(Federal Communications Commission)的縮略語。負責監管、批准和擴展電子和電磁傳輸標準的美國政府機構。

    FD可行距離。在EIGRP中,FD是到目的地的最低成本路由。

    可行距離(feasible distance)參見FD

    可行後繼站(_feasible successor)參見FS。

    FECN前向顯式擁塞通告(Forward Explicit Congestion Notification)的縮略語。它是被幀中繼網絡所置位的一個位,用來通知接收方

    DTE在從源到目的地的路徑上發生了擁塞。 DTE設備收到帶有FECN位的幀,就會請求高層協議採取適當的流控措施。請與BECN進行比較。

    FIFO先進先出(First In,First Out)。採用FIFO方式時,信息被以所收到的次序進行傳輸。

    過濾器(filter)一般是指根據某種參數(例如源地址、目標地址或協議等)對網絡數據流進行篩選的一個進程或裝置,它根據已建立的標準

    來決定數據流是該被轉發還是該被丟棄。

    防火牆(firewall)在公用網和專用網之間作為緩衝的路由器或訪問服務器(一台或多台)。作為防火牆用的路由器一般採用訪問列表和一些

    其他方法來保證專用網絡的安全。

    翻動(flapping)間歇性的接口失效。

    閃速更新(flash update)由於網絡拓撲的變化而被異步發送的路由選擇更新。請與路由選擇更新(routing update)進行比較。

    浮動靜態路由(floating static route)一種靜態路由,它的管理距離比動態獲悉的路由更高,以使它能夠被動態獲悉的路由選擇信息所

    覆蓋。

    擴散(flooding)交換機和網橋所使用的一種數據流傳輸技術,從設備的一個接口接收的數據流被從除該接收接口以外的所有其他接口發送

    出去。

    數據流(flow)通過網絡在兩個終端設備間傳輸的數據流(例如,從一個局域網工作站到另一個)。多個數據流可以在一條電路上進行傳輸。

    流控(flow control)用於確保傳輸設備(如調製解調器)發送數據的速率不超過接收設備的處理能力的技術。當接收設備上的緩存被用完時

    ,接收設備將向發送設備發出一條消息要求暫緩發送數據,直到緩存中的數據被處理完再繼續發送。

    FLSM定狀子網掩碼。主網絡是一個A、B或C類網絡,當同一個主類網絡中所有子網都使用相同的子網掩碼時被稱為FLSM。

    FR.參見幀中繼。

    分段(fragmentation)當通過不能支持分組原始大小的網絡介質進行數據傳輸時,將分組分為更小單元的處理過程。

    幀中繼(frme relay)是業界標準的交換數據鏈路層協議,它在所連接的設備之間採用HDLC封裝,可以處理多條虛電路。幀中繼比X. 25更

    為有效,現在一般都認為應該用幀中繼取代X. 25。參見X. 25。

    頻率(frequency)每單位時間交變電流信號的周期數,以赫茲(Hz)為單位。

    快速以太網任何100M bit/s以太網規範。快速以太網提供了比10BASE-T以太網規範高10倍的速度同時保持了幀格式、MAC機制和MTU的品質

    。這種相似性讓現有的10BASE-T應用和網絡管理工具可以在快速以太網上繼續使用。它是基於802.3規範的擴展。

    快速啟動在交換機端口(如19xx交換機)連接終端系統或非橋接設備時所用的一種特性。允許端口在幾秒鐘內進入生成樹轉發狀態(在其

    他的交換機,如5xxx端口上的相似命令是PortFast)。

    波動一個路由選擇問題,當發布的兩個節點之間的路由在兩條路徑之間波動時,由於網絡問題引起了間歇性的接口故障。

    幀一個數據鏈路層數據單元發送到傳輸介質上的邏輯信息組。常指報頭和報尾,用來同步和錯誤控制,包含單元里的用戶數據。術語信元

    、數據報、消息、分組和段也是用來描述OSI參考模型不同層次和不同技術派系中的邏輯信息分組。

           幀中繼端到端存活(Frame Relay end-to-end keepalive)一種幀中繼特性,它在幀中繼中封裝了存活分組。這種特性提供的狀

    態信息可用於確定端到端通信是否正常以及是否在傳輸數據流,讓Cisco設備能夠迅速發現鏈路出現了故障,進而啟用備用鏈路。

    幀錯誤Cisco IOS命令show interface命令輸出中反映的許多錯誤統計信息之一。在讀幀時不是整數長度幀的數量累計(這些幀的長度不

    是整數)。

    FS可行後繼站。 EIGRP朝目的地方向去的下游鄰居,但它不是最小成本路徑,因此不被用於轉發數據。

    FTAM文件傳輸、訪問和管理。是OSI模型中為了在各種計算機之間進行網絡文件交換與管理而開發的應用層協議。

    FTP文件傳輸協議(File Transfer Protocol)的縮略語。它是用來在網絡節點之間傳輸文件的應用協議,是TCP/IP協議棧的一部分。 FTP

    在RFC959中進行了定義。

    全雙工(full duplex)在發送站點和接收站點間同時進行數據傳輸的能力。

    全互聯(full mesh)在該術語所描述的網絡結構中,網絡設備以網狀拓撲被組織在一起,每個網絡節點都要么有一條物理電路要么有一條

    虛擬電路與所有其他網絡節點相連。全互聯提供了大量冗餘性,但是,因為它的成本昂貴,所以通常將它用在主幹上。參見網狀互聯(mesh)

    和部分互聯(partial mesh)。

     
    G

    網關(gateway)在IP領域裡,這個舊的術語是指一台路由設備。現在, “路由器”一詞被用來描述完成這種功能的節點,而網關是指一

    台用於特殊目的的設備,它可以完成從一個協議棧到另一個協議棧的應用層信息轉換。

    全局配置模式(global configuration mode) Cisco IOS設備的主配置模式,用於配置設備通用的參數或切換到其他配置模式。

    十六進制(hexadecimal)一種用於計算機和網絡領域的計數係統,使用0~9和A~F來表示數字。這種技術系統被用於指定第2層介質訪問控

    制(MAC)地址。

    抑制(holddown)一種路由狀態。在這種狀態下,路由器在一定的時間內(抑制時間)不通告該路由,也不接受關於該路由的通告。一直

    用於將網絡中所有路由器的錯誤路由信息刪除。當路由中的鏈路出現故障時,該路由將被抑制。

    GRE通用路由選擇封裝。 Cisco開發的一種隧道協議,可以在IP隧道中封裝多種協議的分組類型,它通過IP連網絡在遠程站點間創建到

    Cisco路由器的虛擬點到點鏈路。通過在一個單一協議的主幹網環境中連接多協議的子網,採用GRE的IP隧道使網絡能夠擴展到單一協議主幹

    網環境之外。

    收集症狀階段排故過程的一個階段,期間問題的症狀被收集。

    通用排故過程三步排故過程由以下3個部分組成:1.收集症狀階段。 2.隔離問題階段。 3.糾正問題階段。

     
    H

    半雙工(half duplex)指在發送站點和接收站點之間同一時刻只能在一個方向上進行數據傳輸的能力。

           散列算法(hashing)一種單向函數和數據完整性技術,使用一種公式/算法來改變長的消息和共享密鑰轉換為長度固定的比特串

    。消息/密鑰和散列值通過網絡從信源傳輸到目的地。在目的地,重新計算散列值,以核實消息和密鑰通過網絡傳輸時沒有被修改。

    HDLC高級數據鏈路控制(High-Level Data Link Control)的縮略語。由ISO開發的面向位的同步數據鏈路層協議,由SDLC協議發展而來。

    HDLC通過使用幀字符和校驗和而規定了在同步串行線路上的封裝方式。

    報頭(header)為網絡傳輸而封裝數據時,在該數據前面放置的控制信息。

    hello分組路由器為發現和恢復鄰居(關係)所使用的多播分組。 Hello分組也指示出客戶仍然在運行並且網絡連接正常。

    Hello PDU IS-IS中的ESH、ISH或Hello之一,用於建立或維護鄰接關係。

    Hello協議OSPF系統為建立和維護鄰居關係所使用的協議。

    高速串行接口(High-speed Serial Interface)參見HSSI。

    HODSP OSI NSAP地址的高序域特定部分,用於把域細化為區域,大致可以比作IP子網的同類項。

    抑制(holddown)路由所處的一種狀態,在這種狀態中,路由器在某段時間內(抑制階段)將既不通告路由也不接收有關該路由的通告;通過

    這種方法,使得整個網絡有機會獲悉路由變化。抑制狀態被用來清除從網絡中所有路由器發來的關於某條路由的“壞”信息。當路由中的一

    條鏈路失效時,通常將這條路由置於抑制狀態。

           前端(headend)對所有信號進行聚合、合併、混合和調製,並將它們發送到下游的地方。上行信號通常發送到前端。

    跳(hop)數據分組在兩個網絡節點間的一段通路(例如,在兩台路由器之間)。參見跳數(hopcount)。

    跳數(hop count)一種用來度量源和目的地間距離的路由度量值。 IPKIP使用跳數作為它的惟一度量值。

    HSRP熱備用路由器協議。它為IP工作站提供一種方法來保持在互連網絡上的通信,即使它們的默認路由器變為不可用。因此它提供了較高

    的網絡可用性,並使網絡拓撲的變化成為透明的。

    HSSI高速串行接口(High-Speed Serial Interface)的縮略語。通過廣域網鏈路的高速(高達52Mbit/s)串行連接的網絡標準。

    幫助地址當接口接收的廣播發送到在接口上所配置的地址。當客戶機配置為DHCP客戶機而DHCP服務器與客戶機在不同網段時,通常會使用

    幫助地址。

    高帶寬應用應用由於其特徵需要更高的帶寬。多媒體網絡應用是此類應用的實例。

    HTTP超文本傳輸協議。 Web瀏覽器和Web服務器所使用的協議,用來傳輸文件如文本和圖形。

    集線器(hub) 1.通常,一個用來描述星型網絡拓撲結構的中心設備的術語。 2.一個硬件或軟件設備包含多個獨立但相連的網

    絡/Internet設備的模塊。集線器可以是主動的(重複經過的信號)或被動的(不是重複,而是分裂經過的信號)。 3.在以太網和IEEE

    802.3中,一個以太網多點重複器,有時稱為集中器。

           中央—分支拓撲(hub-and-spoke topology)一種這樣的拓撲:總部為中心,而分部為分支,每台分支路由器都只與總部相連。

     
    I

    IANA Intemet地址分配機構(Internet Assigned Numbers Authority)。它是ISOC主持下的組織,是IAB的一部分。 IANA授權InterNIC和其

    他組織進行IP地址空間分配,以及分配域名。 IANA還負責維護TCP/IP協議棧中所用的已分配了的協議標識符數據庫,包括自治系統號碼。

            IARP反向地址解析協議。一種在網絡中建立動態路由的方法,讓接入服務器能夠知道與虛電路相關聯的設備的網絡地址。

    ICMP Internet控制消息協議(Internet Control Message Protocol)的縮略語。網絡層協議報告錯誤並提供其他與IP分組處理相關的信息

    。在RFC792中存檔了。

    IETF Internet工程小組。一個由80多個工作組所組成的工程組,負責開發Internet標準。 IETF在Internet協會(ISOC)贊助下運作。

    IGP內部網關協議。用來在自治系統之間交互路由選擇信息的Internet協議。通常用的Internet內部網關協議包括IGRP、OSPF和RIP。

    接口1.在兩個系統或設備之間的連接。 2.路由選擇術語,網絡連接。 3.在電話上,由常用的物理互連特徵、信號特徵和交互信號的方

    式所定義的共同邊界。 4.在OSI模型中相連的層次之間的邊界。

    接口重啟這是Cisco IOS命令show interface輸出中所反映的諸多數字/統計之一。每次接口清除(使用clear Interface接口命令)時,

    當在接口上使用shutdown命令,使用noshutdown命令,以及當接口狀態從up到down或從down到up時,該計數器都會增加。不管接口是以何種

    原因重啟,硬件緩存將會消除。

    IP Internet協議。作為TCP/IP協議棧的網絡層協議,它提供了無連接的的互連網絡服務。 IP提供了地址、服務類型(ToS)規範、分段和

    組合以及安全性方面的特性。在RFC791中定義。

    IP地址一個分配給TCP/IP主機的32位地址。 IP地址分為5類——A、B、C、D或E——由句號分隔的4個8位字節來表示(點號隔離的十進制格

    式)。每個地址由網絡號、可選的子網號碼和主機號組成。網絡和子網號碼都是用來路由選擇的,而主機號碼是用來在在網絡或子網上給單

    個的主機編址的。也稱為Internet地址。

    IPTV基於組播的多媒體軟件程序。

    隔離問題階段排故的一個階段,期間,問題的原因被隔離(明確)。

    ITU國際電信聯盟。一個由聯合國建立的組織,它可以設置國際電信標準並給特別的用戶分配頻率。

    IBGP內部邊界網關協議。當BGP運行在一個AS內的兩台路由器之間時,它被稱為內部BGP。

    ICND Cisco網絡設備互聯。

    IDI域間標識符。 OSI NSAP地址中,用於表示本域,長度可以多達10個字節。

            IDS入侵監測系統。監測所有進入和離開網絡的數據流,識別那些可能表明有人試圖攻擊網絡或系統以闖入或破壞體統的可以程式

    IDP OSI NSAP地址的域間部分。 IDP由AFI和IDI組成,大致等同於IP有類網絡。

    IDRP域間路由選擇協議,純CLNS環境的標準OSI路由選擇協議,Cisco IOS不支持。

    IEEE電氣電子工程師協會(Institute of Electrical and Electronics Engineers)的縮略語。該專業組織的活動包括通信和網絡標準的

    開發。 IEEE的局域網標準是當今的主流局域網標準。

    IETF Internet工程任務組(Internet Engineering TaskForce)的縮略語。它由80多個工作小組組成,負責開發Internet標準。 IETF是在

    ISOC的資助下運作的。

    IGP內部網關協議。用來在自治系統內交換路由信息的Internet協議。常用的Internet IGP例子包括IGRP、OSPF和RIP。

    IGRP內部網關路由選擇協議。 Cisco所開發的內部網關協議,為解決在大型異構網絡中的有關路由選擇問題。請比較增強型內部網關路由

    選擇協議(EIGRP)。

            IKE Internet密鑰交換。一種混合協議,在ISAKMP框架內實現了Oakley密鑰交換和SKEME密鑰交換。 Oakley和SKEME都定義了一種交

    換密鑰的方法,這包括了有效負載的結構、傳輸的信息有效負載、密鑰的處理步驟以及如何使用密鑰。

    IIH IS-IS Hello,用於IS之間。

           侵入噪聲(ingress noise)進入封閉的同軸電纜配送系統的無線電信號,這通常是通過受損的電纜或其他網絡元件(如屏蔽性不

    好的TV和VCR)進入的。侵入噪聲是間歇性的,難以捕捉到。

           內部全局IP地址(inside global IP address)合法的IP地址(由NIC或網絡服務提供商分配的),對外代表一個或多個內部本地

    IP地址。這種地址來自全局唯一的地址空間,通常是ISP提供的。

           內部本地IP地址(inside local IP address)分配給內部網絡中的主機的IP地址,這種地址來自RFC 1918指定的私有地址空間。

           內部/外部地址(inside/outside address) IP主機相對於NAT設備的物理位置。

    基礎設施(infrastructures)網絡互連繫統的基礎部分,包括被互連起來構成計算機互連網絡的電纜和網絡設備。

    集成IS-IS基於OSI路由選擇協議IS-IS的路由選擇協議,但是支持IP和其他協議。

    綜合業務數字網(Integrated Services Digital Network)參見ISDN

            ISAKMP Internet安全關聯和密鑰管理協議(ISAKMP)。一種協議框架,定義了有效負載的格式、實現密鑰交換協議的機制以及SA

    協商。

    內部路由選擇協議路由器在同一自治系統內所使用的路由選擇協議,比如RIP、IGRP和增強型IGRP(EICRP)。

    接口配置模式(interface configuration mode) Cisco IOS軟件的子配置模式,用於配置物理接口或虛擬接口的屬性。

    Internet專用術語,專指最大的全球互連網絡,它連接了全世界成千上萬個網絡,並形成廠一種能夠將基於實際生活中的研究和標準化凝

    聚起來的“文化”。許多前沿的網絡技術都源於Internet社區(Internet Community)。 Internet起源於ARPANET的一部分。有段時間曾被

    稱為DARPA Internet。請不要與一般性術語internet相混淆。

    internet intemetwork的縮寫。不要與Internet相混淆。參見互連網絡(internetwork)。

    互連網絡(internetwork)由路由器和其他設備互聯起來作為(通常)一個網絡的網絡集合。它有時被稱為internet,不要與Internet相混淆

    網絡互連(internetworking)由連接網絡問題所產生的工業這個術語還叫可以指產品、過程和技術。

    Intranet在一個組織內部、基於Internet和Www技術為通過網絡互連的員工提供即時、最新信息和服務的網絡。

    I/O輸入/輸出。通常在討論數據進出設備上的端口時使用。

    IOS互連網絡操作系統。 Cisco系統軟件,用來為CiscoFusion架構下的所有產品提供常用的功能性、擴展性和安全性。 CiscoIOS可以對網

    絡進行集中的、集成的和自動的安裝和管理,同時還能夠確保對各種協議、介質、服務和平台的支持。

    IP Internet協議。在TCP/IP協議棧中提供無連接的網絡互連服務的網絡層協議。 IP提供尋址、服務類型指示、分段和安全功能。它在

    RFC791中被描述。

    IP多播能使IP分組從一個源傳輸到多個目的地,或從多個源傳輸到多個目的地的路由選擇技術。只有—個分組被發送到由—個IP目標組地

    址所標識的多播組,而不是對每個目的地都發送—個分組。

    IPSec基於標準的、為通過IP網絡所傳輸信息提供私密性、完整性和身份驗證的方法。它提供IP網絡層加密。

    IPv4 IP版本4。當前的IP版本的正確名字。

    IPv6 IP版本6。用於取代當前的IP版本(版本4)。 IPv6包括對分組頭中流ID的支持,流ID可以被用來識別數據流。它以前被稱為IPng(1P下

    一代)。

    IPX互連網絡分組交換(協議)。用於從服務器向工作站傳輸數據的Necware網絡層(第3層)協議。

           帶內PPP會話(in-band PPP session)最常見的PPP連接類型,讓用戶能夠訪問網絡資源,如Web服務器和電子郵件服務器。

    IS信息系統。用來描述組織機構中的信息技術使用的一個廣義術語。它包括信息的移動、存儲和使用。

    ISDN綜合業務數字網(Integrated Services Digital Network)。是由電話公司提供的通信協議,它允許電話網絡傳輸數據、語音和其他

    數據流。

    IS-IS中間系統到中間系統(路由選擇協議)。基於DECnet Phase V路由的OSI鏈路狀態型體系化路由選擇協議,網絡中的IS(路由器)間交換

    路由信息,並基於單個度量值判定網絡的拓撲。

    ISL交換機鏈路(Inter-Switch Link),是一種Cisco專用協議,用於數據流在交換機和路由器之間傳輸時維護VLAN信息。

    ISH中間系統hello,IS-IS的概念。 ES通過監聽ISH來發現最近的IS。

    ISO國際標準化組織(International Organization for standardization)。該國際組織是負責制定和批准包括那些有關網絡互連的一

    系列範圍廣泛的標準。 ISO開發了OSI參考模型,該模型是一個流行的網絡互連參考模型。

    ISO-IGRP用於純OSI(CLNS)環境的思科專用協議。

    ISOC Internet社團(Internet Society)。它是創立於1992年的一個非盈利性組織,該組織負責協調Internet的演化和使用。此外,ISOC將

    授權分派給其他與Internet相關的組織,比如IAB。 ISOC總部位於美國弗吉尼亞(Virginia)州的Reston。

    ISP Internet服務提供商(Internet Service Provider)。是為其他公司和個人提供Internet訪問的公司。

    ITU-T國際電信聯盟電信標準化組(International telecommunication Union Telecommunication Standardization Sector)。是開發電

    信技術國際標準的國際實體。 ITU-T承擔了前CCITT的功能。

     
    J

    JPEG聯合攝影專家組。是圖形圖像文件採用的一種標準。

    Jabber 1.網絡設備持續向網絡上傳輸隨即無意義數據的一種故障狀態。 2.在IEEE 802.3標準中,指超過規定長度的數據。

     
    K

    KB千位。約為1000位。

    kbit/s千位每秒。

    Keepalive消息由一台網絡設備所發出的消息,用來通知另一台網絡設備在它們之間的虛電路仍是活躍的。

           密鑰管理(key management)密鑰是用於設置和定期修改密碼系統的運行方式的信息,通常是一個隨機或偽隨機的二進制比特序

    列。密鑰管理是一個管理和控制進程,用於生成、存儲、保護、傳輸、加載、使用和銷毀密鑰。

    Kerberos針對網絡用戶身份驗證所開發的標準。 Kerberos提供了兩個主要益處:它可以運行在由多廠商設備組成的網絡中,而且它不通過

    網絡傳輸口令。

    Keepalive間隔網絡網絡設備所發送的每個Keepalive消息之間的時間間隔。 。

     

     
    L

    局域網(LAN)局部區域網絡(Local Area Network)。它是覆蓋地理區域相對小一些(最多為幾千米)的高速、低誤碼率數據網絡。局域網在

    一座大廈或其他有限的地理區域內連接工作站、外設、終端和其他設備。局域網標準規定了OSI模型中的物理層和數據鏈路層上的電纜連接

    和信號傳輸標準。以太網、FDDI和令牌環是被廣泛採用的局域網技術。參見HAN,MAN和WAN。

    等待時間(latency)設備收到楨到該楨從目標端口被轉發出去的延遲。

    第2層交換機(layer 2 switch)是用專用硬件來提供高速連接性的網絡互連設備,它使用第2層介質訪問控制(MAC)地址在網段之間轉

    發楨。

    第3層交換機(layer 3 switch)是用專用硬件來提供高速連接性的網絡互連設備,它使用第3層網絡地址在網絡之間轉發組。

    第4層交換機(layer 4 switch)是用專用硬件來提供高速連接性的網絡互連設備,它使用第4層協議和端口信息以及第2層介質訪問控制

    (MAC)地址或第3層網絡地址在網段之間轉發楨。

    LAPB平衡式鏈路訪問規程(Link Access Procedure,Balanced)。它是X. 25協議棧中的數據鏈路層協議。 LAPB是源於HDLC的面向位的協議

    LAPD D信道鏈路接入過程。是用於D信道的ISDN數據鏈路層協議。

        租用專線(leased line)通信運營商為客戶保留的專用傳輸線路。租用專線是專線的一種。參見專線(dedicated line)。

    LED發光二極管(Light Emitting Diode)。是通過轉換電子能來發光的半導體器件。很多硬件設備上的狀態顯示燈一般都是LED。

    1級IS(Level 1lS)用於IS-IS,類似於OSPF的內部非主幹路由器,負責區域內的到ES的路由選擇。

    1-2級IS(Level l-2 IS)用於IS-IS,類似於OSPF的區域邊界路由器,在區域和主乾之間路由分組,參與1級域內路由選擇和層2域間路由選

    擇。

    2級IS(Level 2 IS)用於IS-IS,類似於OSPF的主幹路由器,僅僅負責域間路由選擇。

    鏈路(link)由在發送方和接收方之間的電路或傳輸通道,以及所有相關設備所組成的網絡通信信道。經常被用於指一條廣域網連接。有時

    也被稱作線路(line)或者傳輸鏈路(transmission link)。

    鏈路狀態路由選擇算法(link-State routing algorithm)每台路由器向網絡中的所有節點廣播或多播關於到達其每個鄰居的成本信息的一

    種路由算法。請比較距離矢量路由選擇算法。

    LLC邏輯鏈路控制。是數據鏈路層的兩個子層中較高的子層,它由IEEE定義的。 LLC子層處理錯誤控制、數據流控制、或幀和MAC子層尋址

            LLQ低延遲排隊。 LLQ為基於類別的加權公平排隊(CBWFQ)提供絕對優先排隊功能,減少了語音會話的抖動。

           本地/全局地址(local/global address)用戶相對於NAT設備的位置或視角。

    回環接口一個在路由器上創建並分配IP地址的邏輯接口(或有時被稱為軟件接口)。該接口是穩定的,如果配置了,其IP地址常用來作為

    路由選擇協議如BGP和OSPF的路由

    線編碼錯誤一種與在T1/E1或主速率接口(PRI)的線編碼設置/不匹配相關的錯誤。

    線協議線協議通常被認為是緊鄰物理層的上一層(在以太網技術中指媒體訪問控制層(MAC))。該層負責向物理層提交和接收第2層幀(

    或通常所提的協議數據單元)。發送和接收幀的能力需要物理層是健康正常的。例如,一個沒有連接電纜的物理接口將會進入“line

    protocol down”的狀態,因為keepalive失敗所以設備認為它不能從電纜上收發幀。

    LMI本地管理接口(Local Management Interface)。是基本幀中繼規範的增強集。 LMI包括對Keepalive技術的支持(該技術用於驗證數據是

    否能夠在鏈路上流動),對多播(multicast)技術的支持(該技術可為網絡服務器提供其本的DLCI和多播DLCl),對全局尋址的支持(該技術可

    在幀中繼網絡中給出具有全局意義而不只是本地意義的DLCl),以及對狀態技術的支持(該技術為交換機已知的DLCI提供一個行進狀態報告)

    。 LMI在ANSI的專用術語中被叫作LMT。

            MLP多鏈路PPP。將多條信息到捆綁起來,從而增加了可用帶寬。多鏈路PPP特性在多條WAN鏈路之間均衡負載,同時提供了多廠商

    互操作性、分組分段、排序以及根據出站數據流和入站數據流計算負載的功能。

    負載均衡(load balancing)在路由技術中,它是路由器通過其所有到目的地距離相同的網絡端口分派發送數據流的功能。好的負載均衡算

    法既使用線路速率信息也使用鏈路可靠性信息。負載均衡提高了網段的利用率,增加了有效的網絡帶寬。

    本地環路(local loop)也被稱為最後一英里。它是從電話用戶設備到電話公司話局的一段線路。

    本地VLAN與一台交換機端口相關聯並接受所有廣播的VLAN。

    ISA鏈路狀態通告。在OSPF中,鏈路狀態協議所使用的是包含有關鄰居和路徑成本信息的廣播分組。 LSA被接收方路由器用來維護它們的路

    由選擇表。

    ISAck鏈路狀態確認。在OSPF中,路由器用來確認對DBD接收的分組。

    LSP鏈路狀態分組。在OSPF中,如果DBD有更新的鏈路狀態條目,被發送給主路由器的分組。

    LSU鏈路狀態更新。在OSPF中,主路由器在LSU分組中答復有關所請求條目的完整信息。

     
    M

    MAC介質訪問控制(Media Access Control)(層)。 IEFEF.定義的數據鏈路層兩個子層中較低的那一層。 MAC子層處理對共享介質的訪問,

    如令牌傳遞或爭用。

    介質訪問控制(MAC)地址一個在局域網上的每台設備或其端口都需要的標準數據鏈路層地址。其他設備使用這些地址來定位網絡中特定

    的端口並更新其路由選擇表和數據庫。 MAC地址有6個字節長度並受IEEE的控制。也叫硬件地址、MAC層地址和物理地址。

    Mac OS蘋果機操作系統。

    映射(mapping)將第2層地址和第3層地址關聯起來。

    第2層交換機(layer 2 switch)是用專用硬件來提供高速連接性的網絡互連設備,它使用第2層介質訪問控制(MAC)地址在網段之間轉

    發楨。

    第3層交換機(layer 3 switch)是用專用硬件來提供高速連接性的網絡互連設備,它使用第3層網絡地址在網絡之間轉發組。

    第4層交換機(layer 4 switch)是用專用硬件來提供高速連接性的網絡互連設備,它使用第4層協議和端口信息以及第2層介質訪問控制

    (MAC)地址或第3層網絡地址在網段之間轉發楨。

    管理報警系統以嘟嘟聲、發送電子郵件、產生日誌消息等等的形式來實現。管理報警系統監控如設備、CPU、內存和鏈路的狀況。當發生

    錯誤、崩潰、極限超過時,它通知管理員。

    管理IP地址設備的IP地址用來管理設備。在路由器上,回環接口0的地址(在Catalyst 5xxx交換機上,SCO[系統控制台]的地址)常被用

    做管理IP地址。當ping或telnet到設備以及通過SNMP協議與設備進行通信時,使用該地址。

    管理VLAN管理員為網絡管理、管理通信和協議諸如VTP、CDP、HSRP等保留的VLAN。

    介質類型一個Cisco IOS接口配置命令,用來讓管理員配置接口以通過RT45、AUI或其他的所具有的連接器(如MII)來連接電

    組播單個分組經網絡複製後的數據流並發送到特定的子網網絡地址。這個地址在目的地地址字段中指明。

    組播應用一種在服務器上產生組播通信流量的網絡應用程序,並希望將此流量發送到有客戶機加入該組播組的網段中。

    多層交換機根據介質訪問控制(MAC)和網絡地址來過濾和轉發分組的機制。

    城域網(MAN)城市區域網絡(Metropolitan Area Network)。它是覆蓋一個城市區域的網絡。 MAN一般覆蓋比局域網(LAN)更廣的地理區域,

    但是其覆蓋的地理區域要比廣域網(WAN)小。請與LAN和WAN進行比較。

    最大傳輸單元(Maximum Transmission Unit)參見MTU。

    MD5消息摘要算法5 (Message Digest 5)。是用於消息身份驗證的算法。 MD5可驗證通信的完整性,身份驗證信息的發送方,並且檢查信息

    的及時性。

    MED多出口鑑別器(Multi-Exit-Disctim-inator)。在BGP中,MED屬性是一個可選非傳遞屬性。

    網狀互聯(mesh)一種網絡拓撲,網絡設備以一種可管理的分段的方式組織在一起,網絡節點間策略性地設置有許多經常是冗餘的連接。參

    見全互聯(Full mesh)和部分互聯(partial mesh)。

    消息(message)應用層(第7層)信息的邏輯集合,經常由許多低層邏輯分組比如分組所構成。

    介質(media)指的是信號經過的各種物理環境。常見的網絡介質有雙絞線、同軸電纜、光纜和空氣(微波、激光和紅外線傳輸通過空氣

    進行)。有時也稱為物理介質(physical media)。

    介質爭用(media contention)在以太網和其他共享型網絡中,設備必須等待其他設備傳輸完畢之後才能傳輸自己的數據。在共享網絡中

    ,介質爭用導致延遲。

    度量值(metric)度量的標準,比如性能,用於度量是否滿足了網絡管理目標。

    MHSIRP多個HSRP組,提供了一種在運行HSRP時可使用冗餘路徑的途徑。

    移動IP(Mobile IP) IPv4和IPv6都支持的一種IETF標準,讓移動設備能夠在不中斷連接的情況下移動。

    調製解調器(modem)調製器和解調器。是將數字信號與模擬信號進行相互轉換的設備。在信源端,Modem將數字信號轉換為適於通過模擬通

    信設施進行傳輸的形式;在目的地,再將模擬信號還原為數字形式。 Modem使數據能通過語音級電話線路進行傳輸。

    調製(modulation)將電氣信號的特徵進行轉換以表示信息的過程。調製類型包括AM(調幅)、FM(調頻)和PAM(幅相調製)。

    MPEG運動圖像專家組視頻壓縮標準。 MPEGl是一種視頻和音頻壓縮的比特流標準,最適合於帶寬為1.5Mbps的情況;MPEG2用於高質量視頻

    點播應用,其數據速率為4-9Mbps;MPEG4是一種低比特率壓縮算法,用於64Kbps的連接。

    MP PPP多鏈路捆綁(MuMlinkPPP)。

            MPPC Microsoft點到點壓縮。讓Cisco路由器能夠與Microsoft客戶機交換壓縮過的數據。 MPPC採用一種基於LZ的壓縮算法。

    MTU最大傳輸單元(MaximumTransmission Unit)。是某特定接口可以處理的最大分組大小,以字節計。

    多路訪問網絡(multi-access network)允許多台設備同時進行連接和通信的網絡。

    多播(multicast)在這種方式中,網絡(設備)對單個分組進行複制並發送到某個網絡地址子集(由分組的目標地址域(Destination Address

    Field)所指定)。請與廣播(broadcast)和單播(unicast)進行比較。

    多路復用(multiplexing)允許通過一條物理信道同時傳輸多路邏輯信號的技術方案。

           多鏈路PPP(multilink PPP)一種用於將多條鏈路組合起來的PPP選項。對ISDN BRI配置來說,多鏈路PPP很有用:可以同時使用

    兩條B信道來獲得128kbit/s的吞吐量。

    管理性關閉接口所處的狀態之一。當在接口上使用shotdown命令時,接口就會處於此狀態直到輸入noshutdown命令為止。
    N

    NAK否定確認。它是數據接收設備向發送設備發送的、指示它所收到的信息中含有差錯的應答。請與確認(acknowledametn)進行比較。

    NAS網絡訪問服務器(Network Access Server)。

    NAT網絡地址轉換(Network Address Translation)。是用於降低對全球惟一的IP地址需求的技術。 NAT允許一個使用私有地址的組織可以

    通過將那些私有地址轉換為全球可路由地址以訪問Intemet。 NAT有時也被稱為網絡地址轉換器(NetworkAddressTranslator)。

    NBMA非廣播多路訪問(Nonbroadcast Multiaccess)。該術語所描述的多路訪問網絡要么不支持廣播(例如x.25)、要么在它上面進行廣播

    是不可行的(例如,SMDS廣播組成擴展以太網的規模太大了)。

    NBP名稱綁定協議,是一種用於將AppleTalk名稱和地址關聯起來的Appletalk協議。

    鄰接路由器(neighboring router)在OSPF中,有到共同網絡接口的兩台路由器。

    NBT網絡實體名稱。

           下一跳(next hop)互連網絡路徑中,下一個有第3層地址的接口。

    NetBEUI NetBIOS擴展用戶接口(NetBIOS Extended User Interface)。是如局域網管理員(LAN Manager)、局域網服務器(LAN Server)、用

    於工作組的視窗(Windows for Workgroups)和WindowsNT這樣的網絡操作系統所使用NetBIOS協議的增強型版本。 NetBEUI實施了OSI的LLC2協

    議。

    網絡層OSI參考模型的第3層。該層提供了兩台終端系統之間的連接性和路徑選擇。網絡層是路由選擇所在的一層。

    網絡拓撲圖網絡的圖形表示。它展示了網絡中的每台設備是如何連接的以及網絡的邏輯架構。

    NMS網絡管理系統。負責管理至少部分網絡的系統。一個網絡管理系統通常是相當強大且配置非常好的計算機,如工程工作站。網絡管理

    系統與代理通信以助於對網絡統計和資源的持續跟踪。

    噪音一些不需要的通信通道信號。

    NTP網絡時間協議。該協議建立在TCP協議之上,可以確保本地時間與Internet上無線電和原子的時鐘的準確同步。該協議可以在很長距離

    內將同步分佈式時鐘控制在毫秒極。

    NTP對等體Cisco IOS命令允許指定其他時間服務器作為對等體。

    NTP服務器Cisco IOS命令允許指定其他設備充當NTP服務器的角色。

    NTP源Cisco IOS命令允許在NTP服務器上指定一個接口的IP地址作為與其他NTP設備通信的地址。

    網絡(network)是能夠通過某種傳輸介質相互間進行通信的計算機、打印機、路由器、交換機和其他設備的集合。

    NIC. 1.網絡接口卡,是一種讓計算機能夠通過網絡進行通信的電路板,也被稱為適配器;

          2.網絡信息中心,是一個為Intemet社區提供服務的組織,提供幫助、文檔、培訓和其他服務。

            NIC 1.網絡接口卡,在計算機系統之間提供網絡通信能力的電路板,也叫適配器;2.網絡信息中心,完成IANA指派的任務的組織。

    NLSP NetWare鏈路服務協議。基於IS-IS的鏈路狀態路由選擇協議。

    NNI在兩台幀中繼交換機之間符合同一準則的標準接口。

    非末節區域(non-stub area)傳輸默認路由、靜態路由、域內路由、域間路由和外部路由的資源密集型OSPF區域。請比較末節區域。參見

    ASBR。

           非規範地址(noncanonical)在線路上發送時,最高位首先被發送的地址。令牌環地址就是非規範的,其每個字節的最高位首先

    被發送。

    NSAP網絡服務訪問點。

            NTSC美國電視系統委員會制式。北美的電視技術標準,由美國電視系統委員會於1941年制定。使用頻寬6MHz的調製信號。

    NSEL OSI NSAP地址的NSAP選擇符部分。

    NSSA次末節區域(not-so-stubby area)。在OSPF中,次末節區域可以輸入有限數量的外部路由。路由的數量只限於需要提供主幹區域間連

    通性那些路由。

    NVRAM非易失性隨機存取存儲器(Nonvolatile Random Access Memory)。

     
    O

    OC光載波(Optical Caxuier)。針對SONET光信號傳輸而定義的物理協議系列(OC-1、0C-2、0C-3等等)。 OC信號級將STS幀以各種速率放入

    多模光纖線路中。基本速率是51.84Mbit/s(OC-1);其後的每個信號級以該基本速率的乘級速率來運行(例如,OC-3是以155.52Mbit/s的

    速率運行)。

    八位字節(octet)八位。在網絡互連中經常使用這一術語,而不用術語“字節(byte)”,是因為某些計算機體系使用不是8位長的字節。

    ODBC開放數據庫互聯(Open DataBase Connectivity)。

    OLE目標鏈接和嵌入(Object Linking and Embedding)。是Microsoft公司開發的複合文件標準。它可以通過一個應用程序創建目標,然後

    將其鏈接或嵌入到第二個應用程序中。這些目標保持著它們的原始格式,並與創建它們的應用保持鏈接。

    OSI開放系統互聯(Open System Interconnection)。是ISO和ITU-T創立的國際標準化程序,用來為數據網絡互連開發標準以實現多廠商設

    備的互操作性。

           按需撥號電路交換(on-demand circuit switching)一種WAN傳輸方式,對於每次通信會話,都建立和維護一條跨越公共交換電

    話網(PSTN)的專用物理電路,通信結束後將電路拆除。

           外部全局IP地址(outside global IP address)外部網絡中的主機的IP地址,來自全局可路由的地址空間。

           外部本地IP地址(outside local IP address)在內部網絡中看到的外部主機的IP地址,通常來自RFC 1918定義的私有地址空間

    OSI參考模型(OSI reference model)開放系統互連參考模型。 ISO和ITU-T開發的網絡架構模型。該模型由7層組成。每層指定特定的網絡

    功能如地址、流控、錯誤控制、封裝和可靠的消息傳輸。最底層(物理層)是最靠近介質的技術。最高層(應用層)是最靠近用戶的。從第

    1層到第7層,依次如下:物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層和應用層。 OSI參考模型通常被用做一種教學手段和理解

    網絡功能的一種途徑。

    OSPF開放最短路徑優先(Open Shortest Path First)(協議)。推薦作為Internet團體中RIP替代者的一種鏈路狀態型、體系化的IGP路由算法

    。 OSPF特性包括最小成本路由選擇、多路徑路由和負載均衡。 OSPF是從IS-IS的早期版本發展而來。參見EIGRP、IGP,IGRP、IS-IS和RIP。

    OUI組織惟一標識符(Organizational Unique Identifier)。在48位局域網地址中,由IEEE分配的三個字節域。

     
    P

    分組(packet)包括含有控制信息的報頭和用戶數據(通常情況下)的信息邏輯分組。分組最常被用來指網絡層數據單元。術語數據報、幀、

    消息和分段也經常在OSI參考模型的各層和各種技術領域中被用來描述邏輯信息分組。參見PDU。

            PAT端口地址轉換。修改出站分組的源端口號,以便能夠應答轉發給正確的主機;這常被稱為端口多路復用。

            Predictor首先判斷數據是否已被壓縮,如果是,則直接發送他,從而避免了試圖對已壓縮的數據再次進行壓縮,進而節省了時間

    被動接口用在RIP和(E)IGRP中一個路由配置命令,防止路由選擇進程從該命令引用到接口上發送路由選擇更新。

    峰值速率最大速率,以kbit/s計算,一個虛電路傳輸的速度。

    物理層OSI模型的第1層。物理層定義了激活、維護和關閉兩個系統之間的物理鏈路的電磁的、機械的、過程的和功能規範。

    Ping分組Internet探索。一種Internet控制消息協議(ICMP)回音消息和響應。 Ping常被用在IP網絡中醫測試網絡設備的可達性。

    策略圖該命令/結構將類型圖與QOS策略進行關聯。策略圖通過使用service policy命令應用到路由器的接口上。

    端口安全該特性允許管理者將端口的使用限製到某個特定的MAC地址上。

    端口快速給特性能夠用在終端系統或非橋接的設備所連接的交換機端口上。允許該端口在幾秒鐘內進入生成樹的轉發狀態。

    PPP點到點協議。在同步或異步的電路上,是提供路由器到路由器以及主機到網絡連接的串行線Internet協議的繼承者。 PPP可以與幾個網

    絡協議同時工作,它們是IP、IPX和ARA。 PPP也內置了安全性,如挑戰握手認證協議(CHAP)和密碼認證協議(PAP)。 PPP依賴兩個協議:

    鏈路控制協議LCP和網絡控制協議NCP。

    表示層OSI模型的第6層。該層確保由一個終端上的應用程序發送的信息可以被另一個終端系統上的應用層讀取。表示層也涉及程序所用

    的數據庫,因此,它協定應用層數據傳輸的參數。

           協議(protocol)一組網絡中的設備如何交換信息的規則或約定。

    PVC永久虛電路。永久建立的虛電路。在某個電路必須一直存在的情況下,PVC節省了電路建立和拆除所用的帶寬。

    分組交換(Packet switching)一種網絡互連方式:各網絡節點共享帶寬、相互間的信息交換方式為分組收發。 ,

    PAP密碼身份驗證協議,是一種讓PPP對等體能夠彼此驗證對方身份的協議。試圖連接到本地路由器的遠程路由器必鬚髮送身份驗證請求。

    不同於CHAP,PAP以明文方式發送密碼和主機名(用戶名)。 PAP本身並不能防止未經授權的訪問,而只是對遠程端的身份進行驗證,然後由路

    由器或接入服務器決定是否允許該用戶訪問。只能在PPP線路上支持PAP。請將其同CHAP進行比較。

            PAL逐行倒相格式。歐洲的大部分地區以及亞洲、非洲、澳大利亞、巴西和阿根廷使用的電視制式。色差(color difference)信

    號以水平線掃描速率交替變換相位。使用頻寬6MHZ、7MHz還是8MHz的調製信號,取決於PAL版本。

    部分互聯(partial mesh)在這種網絡結構中,網絡設備以網狀拓撲組織在一起,其中有些網絡節點以全互聯方式組織在一起,但其他的網

    絡節點則只連接了網絡中的一個或幾個節點。部分互聯不提供全互聯拓撲的冗餘級別,但是它的實施成本低廉。部分互聯拓撲通常用在連接

    到全互聯主幹網的周邊網絡中。請與全互聯(t~11mesh)和網狀互聯(mesh)進行比較。

    有效負載(Payload)包含了上層信息(數據)的信元、幀或分組的一部分。

    PBR基於策略的路由選擇。按照策略,根據源地址、協議類型和應用程序類型選擇性地讓分組通過不同的路徑進行傳輸。

    PDM獨立於協議的模塊。在EIGRP中,PDM負責網絡層對IP、IPX和AppleTalk的具體協議需求。

    PDN公共數據網(Public Data Network)。由政府(如在歐洲)或私營公司向公共提供計算機通信的網絡,一般是有償的。 PDN能讓小型機構

    建立WAN而不需要為遠距離電路設備投資。

    PDU協議數據單元,一個用於分組的OSI術語。分組由控制信息以及通信對等體要通過網絡進行交換的用戶信息組成。 —般而言,PDU是協

    議棧中某一層生成的數據段,通常由來自上一層的信息以及當前層生成的報頭和報尾信息組成。

    峰值速率(Peak rate)虛電路可以傳輸數據的最大速率,以kbit/s為單位。

    永久虛電路(Permanent Virtual Ciremt,PVC)永久性建立的虛電路。在某些虛電路必須要一直存在的情況下,PVC可以節省與電路建立和

    拆除相關的帶寬。在ATM專用術語中,它被稱為永久虛連接。

           特權EXEC模式(privileged EXEC mode)用於查看Cisco IOS設備的運行參數和配置參數的模式,通過它也可以進入全局配置模式

           專用的(proprietary)指信息(或其他財產)歸某個個人所有,只有他(它)才能使用。

    PIX Cisco的私有Internet交換防火牆。參見防火牆。

    重放(playback)如果有連接在線路上的分析器,就可以捕獲分組為以後使用,即重放。

         PLP分組層協議,用於X. 25。

    分界點(point of demarcation)電話公司結束其對電話連線責任的物理點。

    POP存在點(PointOfPresence)。它是長途通信運營商在用戶當地的運營點。 POP的位置是長途通信運營商或IXC在用戶的長途線路連接到用

    戶本地電話公司的線路或用戶自己的直連環路之前終結這些長途線路的地方。每個IXC可以在一個LATA中有多個POP。所有的長途電話連接都

    通過POP。

           不受版權限制的(public domain)所有人都可免費使用的共享軟件。任何人都可以免費使用和修改這些程序和操作系統,但不能

    販賣或擁有版權。

            POTS普通老式電話服務。隨處可見的各種電話網絡和服務的統稱,有時被稱為公共電話交換網。

    PRC部分路由計算,在IS-IS中用於計算路由可達性。

    PRI基群速率接口(Primary Rate Interface)。它是實現基群速率接入的ISDN接口。基群速率接入是由一條64kbit/s的D信道,加上用於

    語音或數據的23條(T1)或者30條(E1)B信道所組成。請與BRI進行比較。

    偽節點(pseudonode) IS-IS中,通過Dijkstra算法在廣播介質上構建直連圖的虛擬路由器。

    PSNP部分序列號PDU,在IS-IS中用於確認和請求鏈路狀態信息。 PSNP通常只包含1個LSP描述部分。

            PTT郵局。是提供電話服務的政府機構。 PTT在北美以外的大部分地區廣泛存在,即提供本地電話服務,又提供長途電話服務。

     
    Q

    QoS服務質量(quality of service)。對傳輸系統的性能度量,反映傳輸質量以及服務的可用性。

    查詢(query)用來詢問有關某變量或某套變量值的消息。

    隊列(queue) 1.一般來說,等待被處理元素的有次序列表。 2.在路由選擇中,等待通過路由器接口被轉發的一系列分組。

    排隊策略(queuing policy)幫助網絡管理員完成兩項任務的策略:為所有用戶提供合適的服務等級;節省WAN費用。

     
    R

    RADIUS用於身份驗證調製解調器和ISDN連接,以及記錄連接時間的數據庫。

    RAM隨機存取存儲器。是可由微處理器讀寫的易丟失存諸器。

            ROM只讀存儲器,是一種微處理器能夠讀取但是不能寫入的非易失性存儲器。

            Rommon只讀存儲器監視器,是一種命令行界面,用於直接同系統啟動設計的處理器進行交互。

    速率增強(rate enforcement)參見流量控制(traffic policing)。

    重分發(redimibufion)允許將通過一種路由選擇協議發現的路由信息發佈到另一種路由選擇協議的更新消息中。有時被稱為路由重分發。

            R接口(R interface) TA和非ISDN傳輸設備(TE2)之間的接口。

    RFC請求評論(Request For Comments)。被用作有關Internet通信信息主要工具的文檔系列。有些RFC被IAB指定為Internet標準。大多

    數RFC文檔是定義比如Telnet和FTP等協議規範,但有些也比較隨便或只是說明性的。 RFC可以從許多來源在線獲得。

    RIP 1.路由選擇信息協議。距離矢量IGP,RIP使用跳數作為路由度量值。參見增強型IGRP(EIGRF)、跳數、IGP、IGRP和OSPF。 2. IPX路由

    選擇信息協議。 IPX的距離矢量路由選擇協議。

    RJ-45已註冊的接頭連接器。用於lOBaseT和其他類型網絡連接的標準連接器。

           分部路由器(remote router)分部的路由器。分部通常是較小的辦事處,容納那些必須在特定地區的公司員工,如地區性銷售人

    員。分部的用戶必須能夠連接到公司總部已獲得公司信息。

    路由匯總(route summarization)對路由選擇表中網絡地址的匯總通告。匯總路由可以減少路由選擇表中的路由數量、路由更新數據流,

    以及總的路由器成本。也被稱為路由聚合。

    路由器採用一種或多種度量值來確定網絡數據流轉發的最佳路徑的網絡設備。路由器基於網絡層信息從一個網絡向另一個網絡轉發分組。

    它有時也被稱為網關(儘管網關的這種定義已日漸過時)。

    路由選擇(routing)發現到目的地主機路徑的過程。因為在分組到達目的地主機之前可能要經過許多潛在的中間環節,所以在大型網絡中

    的路由選擇是很複雜的。

    路由選擇域(routing domain)在同一套管理規則下運行的一組末端系統和中間系統。

    路由選擇度量值(routing metric)路由選擇算法用來選定到目的地最佳路徑的度量標準,比如路徑長度。該信息被存儲在路由選擇表中。

    度量值可以包括帶寬、通信成本、延遲、跳數、負載、MTU、路徑成本和可達性等信息。有時被簡稱為度量值。

    路由選擇協議(routing protocol)路由選擇協議通過提供共享路由信息技術來支持被路由的協議。路由選擇協議消息在路由器間傳輸。路

    由選擇協議使路由器能夠與其他路由器進行通信以更新和維護路由選擇表。路由選擇協議消息不傳輸從網絡到網絡的最終用戶數據流。路由

    選擇協議使用被路由的協議在路由器間傳輸信息。路由選擇協議的例子有IGRP、OSPF和RIP。

    路由選擇表(routing table)存儲在路由器或其他一些互連網絡設備中的一種表,它記錄到具體網絡目的地的路由,以及與這些路由相關

    的度量值。

    路由選擇更新(routing update)路由器發送的指示網絡可達性和相關成本信息的消息。路由選擇更新通常以固定的時間間隔發送,或是在

    網絡拓撲發生變化之後發送。請比較閃速更新(flash update)。

    RTO重傳超時(retransmission timeout)。 EIGRP在從重傳隊列向鄰居重新傳輸分組之前所等待的時間。

    冗餘1.在互連網絡中,設備、服務或連接的重複,所以一旦發生故障,冗餘的設備、服務或連接能夠完成發生故障的設備、服務或連接

    的工作。

    可靠性1.當某個組件失敗時,決定網絡或系統依然能繼續運作的能力。 2.鏈路的期望存活時間和實際得到的存活時間的比值。比值越高

    ,則線路越可靠。用於作物路由選擇的度量。

    RFC請求註釋。是用做有關Internet的通信信息的主要手段的系列文檔。某些請求註釋是由IAB(Internet體系結構委員會)指定作為

    Internet標準。大多數請求註釋文檔是協議規範(如?Telnet和FTP),但也有一些語言幽默的或者有關歷史的文檔。請求註釋文檔可以從

    許多地方在線獲得。

    RMON遠程監控室RFC1271種描述的MIB(管理信息庫)代理規範,它定義了網絡設備的遠程監控能力。 RMON規範提供眾多的監控、文體檢測

    和報告能力。

    路由器標識(RID)一個協議如OSPF或BGP會選擇路由器的一個IP地址作為RID。回環接口的最高IP地址時首選。否則,若沒有回環接口,

    將只會選擇最高的IP地址作為路由標識(RID)。

    RTP 1.路由選擇表協議。它是基於RIP(路由選擇信息協議)的VINES(虛擬集成網絡服務)路由選擇協議。給協議分佈網路拓撲信息,並

    輔助VINES服務器找到鄰近客戶端口、服務器和路由器。路由選擇表協議使用延遲作為路由選擇度量標準。 2.快速傳輸協議。在APPN(高級

    點對點連網)數據通過APPN網絡時提供協調和錯誤恢復。使用RTP,錯誤恢復和數據流控制是端到端地執行,而不是在每個節點上執行的。

    RTP防止擁塞而不是對它作出反映。 3.實時傳輸協議。通常使用在IP網絡中。 RTP被設計來為那些在多播或單播網絡服務上傳輸實時數據(

    例如音頻、視頻或仿真數據)的應用提供端到端的網絡傳輸功能。 RTP提供了一些服務,例如有效載荷類型識別、順序編號、時間戳和對實

    時應用的傳輸監控。

     
    S

    SA源地址(source address)發送數據的網絡設備的地址。參見目標地址(destination address)。

               SAID安全關聯ID(Security Association ID),是IEEE802.10 FDDI楨中用於實現安全性的值。

    SAP服務訪問點;也是服務通告協議(Novell)。

    SDLC同步數據鏈路控制(Synchronous Data Link Control)的縮略語。它是SNA的數據鏈路層通信協議。 SDLC是面向位的、全雙工的串行通

    信協議,它演化出了各種類似的協議,如HDLC和LAPB等。

    SDU服務數據單元。是定義對低層協議的服務請求的高層協議信息單元。

    服務器(sever)為客戶提供服務的節點或軟件程序。參見客戶機。

            SECAM順序傳遞和存儲彩色信號。法國和前蘇聯國家使用的電視制式,使用頻寬8MHz的調製信號。

    SIA陷於主動狀態(stock in active)。有些情況下,在EIGRP查詢被答復之前要等待很長一段時間。等待時間過長導致路由器放棄查詢並

    且重清到

    不應答路由器的連接,造成鄰居會話被重啟。這被稱為一條SIA路由。

    SIN “夜航(ships-in-the-night)”。 “夜航”路由選擇提倡為每種網絡協議使用完全不同和獨立的路由選擇協議,以使多種路由選擇

    協議能夠獨立地存在。

    SMDS交換式多兆比特數據服務。是由電話公司提供的高速、分組交換、基於數據報的廣域網連網技術。

    Internet協議。

    SNA (IBM)的系統網絡結構。

    SNAP子網訪問協議。

    SNMP簡單網絡管理協議(Simple Network Management Protocol)。

    SNP用於IS-IS,稱為序列號PDU,用於保證LSP可靠發送。 SNP包含LSP描述字——雖然並非真實詳細的LSP信息,但是包含描述LSP的報頭部

    分。

    SNPA用於IS-IS,稱為子網連接點。 SNPA是提供子網服務的點,類似於對應第3層(NET或者NSAP)地址的第2層地址。

    SOF幀的開始。

    SONET同步光纖網(Synchronous Optical Network)。由Bellcore開發並設計運行在光纖上的高速(高達2.5 Gbit/s)同步網絡規範。 STS

    -1是SONET的基本組成部分。它於1998年被批准作為國際標準。

    源地址SPF最短路徑優先算法。對路徑長度進行疊代、以確定最短路徑生成樹的一種路由選擇算法。通常用於鏈路狀態型路由選擇算法。

    有時也稱為Dijkstra’s算法。

    SPID服務配置文件標識符。是某些服務提供商用來定義ISDN設備所預訂的服務號碼。 ISDN設備在訪問初始化到服務提供商連接的交換機時

    使用SPID。

    水平分割(split-horizon)是防止將從某個接口上收到的路由選擇信息再通過同一個接口轉發出去的一種路由選擇技術。路由水平分割技

    術對於防止路由選擇環路的產生是很有用的。

           超網(supernet)可作為一個無類網絡地址進行通告的IP網絡地址集合。例如,給定4個C類網絡:192.0.8.0、192.0.9.0、

    192.0.10.0、192.0.11.0,它們都有固定的子網掩碼255.255.255.0,則可以通告地址192.0.8.0,並將子網掩碼指定為255.255.255.0。

    欺騙(spoofing)路由器所使用的用來讓主機

    以為接口是up的、且正在支持會話連接的一種技術方案。為了讓主機以為會話連接仍然存在,路由器的欺騙假造了主機間的keepalive消息

    。欺騙對於像DDR這種當沒有數據流通過交換電路進行傳輸時、該交換電路就會斷開以節省通信費用的路由選擇環境來說是非常有用的。

    SPX順序分組交換。是一種可靠的、面向連接的協議,它補充了IPX協議所提供的數據捌艮務。

    SQL結構化查詢語言。

    SRTT平均往返時間。這是EIGRP分組被發送到鄰居和本地路由器收到對該分組的確認所用的毫秒數。

    SSAP源服務訪問點(LLC)。

    SSB矽交換引擎。

            SSH安全外殼。一種安全應用程序,用於登陸遠程計算機,並執行命令和下載文件。

    SSP矽交換處理器。

    靜態路由(static route)被明確配置和輸入在路由選擇表中的路由。

    STP 1.屏蔽雙絞線(shielded twisted-pair)。 2.生成樹協議(spanning-treeprotocol)。

    末節區域(stub area)傳輸默認路由、域內路由和域間路由,但不傳輸外部路由的OSPF區域。請比較非末節區域。

    末節網絡(stub network)互連網絡的一部分,只能通過一條路徑到達;只有一條到出口路由器的連接的網絡。

           服務提供商(service provider)提供或銷售廣域網服務和連接的公司。

            Signaling 1.在物理介質上發送傳輸信號以進行通信的過程。 2.通過電話連續發送呼叫信息。這種信息可以通過許多技術發送,例

    如斷開和閉合環路來停止和開始直流環路電流(用於表示挂機和摘機狀態,以及發送數字撥號脈衝),發送振鈴電壓來告知被叫方,發送

    DTMF(雙音多頻)或MF(多頻)音調形式的數字信息,或使用已回收比特在DS0時隙上發送呼叫狀態信息。

    子接口(subinterface)物理接口上的一個虛擬接口。

    第二IP地址Cisco路由器允許使ip address secondary命令給一個接口配置多個IP地址。不同於主IP地址的其他地址因此被稱為接口的第

    二IP地址。

           分段(segmenting)將大型網絡或一組用戶劃分成更易於管理的小組。

    Segment 1.網段。指以網橋、路由器或交換機為邊界的網絡部分。 2.網段。在採用總線拓撲結構的局域網中,一個網段即為一個連續的

    電路,通過中繼器和其他網段相連。 3.數據分段。在TCP規範中使用的術語,用來描述單個傳輸層信息單位。

           用戶接入點(subscriber drop)配送網絡的直線部分和用戶終端(如電視機、VCR等)之間的連接,包括同軸電纜(通常是59-系

    列或6-系列)、硬件、無源設備和頂置盒。

    服務器一個節點或軟件程序向客戶提供服務。

    時間戳服務一種可以在Cisco路由器上記錄或調試的服務。它在記錄或調試輸出行邊上給出了時間戳。

    會話層OSI參考模型的第5層。該層建立、管理和終止應用之間的會話,並管理表示層實體之間的數據交換。

    SMTP簡單又見傳輸協議。一個提供電子郵件服務的Internet協議。

    SNMP簡單網絡管理協議。網絡管理協議主要用在TCP/IP網絡中。 SNMP提供了監測和控製網絡設備以及管理配置、統計收集、性能和安全的

    手段。

    SNMP共同體是指能夠使智能網絡設備符合SNMP要求的驗證架構。

    SNMP服務器是指設置或清除簡單網絡管理參數或接收來自簡單網絡管理協議代理的簡單網絡管理協議陷阱。

    SNMPv2 SNMP第2版是這種流行的網絡管理協議SAMP的第2版。它既支持集中式,也支持分佈式的網絡管理策略,它包括在信息管理結構

    (SMI)、協議操作、管理體系結構和安全等方面的改進。

    生成樹網絡拓撲結構的無循環子集。

    生成樹算法生成樹算法是由生成樹協議用來創建生成樹的算法。有時縮寫為STA。

    速度接口或端口的速度可以設置(如10/100Mbit/s)。該命令可以將速度設置為恰當的值。

    簡單轉換條目(simple translation)將一個IP地址映射到另一個IP地址的轉換條目。

    吞吐量信息到達和通過網絡系統中的一個特定點的速率。

            S/N載波噪聲比。 RF在波振幅和噪聲震幅的比值。

    SOHO路由器SOHO場點的路由器。 SOHO通常是只有幾名僱員的辦公室,也可能是遠程辦公人員的家庭辦公室。考慮到網絡使用時間和可獲得

    的WAN服務等因素,遠程辦公人員一般都使用撥號和寬帶服務。

    SRAM靜態隨機存取存儲器。隨機存取存儲器的一種類型,只要電源持續供電,就可以保留其內容。它不像動態隨機存取存儲器,不需要不

    斷刷新。

    STP 1.生成樹協議是使用生成樹算法的網橋協議,它通過創建生成樹使學習網橋動態工作在網絡拓撲的環路周圍。網橋與檢測環路的其他

    網橋交換BPDU消息,然後關閉選定的網橋接口以刪除環路。請參考IEEE 802.1生成樹協議標準和它基於的早期DEC公司的生成樹協議。 IEEE

    版本支持網橋域,允許網橋架構跨過擴展局域網的無環路拓撲結構。 IEEE版本主要參考Digital版本。 2.信號傳送點。進行SS7信路路由選

    擇的基於SS7的智能網絡的組件。

            Stacker一種基於Lempel-Ziv(LZ)的壓縮算法,對每種數據類型,只發送一次有關其在數據流中位置的信息。接受方根據這些信

    息重組數據流。

            S/T接口TE1/TA和NT之間的接口。 S/T總線最多可以串聯8台設備。

    STP指定橋當生成樹運行時,在某個網段中,由於發布了最佳的BPDU信號而被選為指定設備。

    STP狀態根據經典的生成樹協議,一個端口的狀態可以依次為關閉、偵聽、學習、轉發、或阻塞。

    子網掩碼在IP中所使用的32位地址掩碼,可以提示用做子網地址的IP地址位數。有時簡稱掩碼。

    交換機1.根據每個幀的目的端地址過濾、轉發、和泛洪幀的網絡設備。交換機在OSI模型的數據鏈路層上進行操作。 2.用於電子或機械

    設備的術語,它允許連接在需要時建立,不再有會話需要支持時終止。 3.電話學中的一般術語,指將個人電話連接到電話線路的設備(例

    如PBX)。

           交換機結構(switch fabric)交換機端口之間的內部連接,用於在與端口相連的設備之間傳輸數據。

    子網(subnet)參見子網絡(subnetwork)。

    子網掩碼(subnet mask)它是與IP地址有關的一個32位的數;子網掩碼中的每個位指示怎樣解釋IP地址中的對應位。在二進制中,子網掩

    碼位“1”說明IP地址中相應位是一個網絡或子網位;子網掩碼位“0”說明IP地址中相應位是一個主機位。子網掩碼還能說明已經從主機域

    中為子網域借用了多少個位。有時也簡稱為掩碼。

    子網絡(subnetwork)在IP網中共享某個子網絡地址的一個網絡。子網絡是由網絡管理員進行分段的,其目的是在屏蔽所連接網絡尋址複雜

    性的同時,能提供多層次、體系化的路由結構。有時也被稱為子網(subnet)。 ·

    後繼站(successor)後繼站是用於執行分組轉發的鄰接路由器,它有到目的地的最小成本路徑,該路徑保證不是路由選擇環路的一部分。

    SVC交換虛電路(Switched Virtual Circuit)。它是按需動態建立、·並在數據傳輸完成後斷開的虛擬電路。在數據傳輸為間歇性的情況

    下使用SVC。在ATM專用術語中稱為交換虛連接。請與PVC進行比較。 ,

    交換機(switch) 1.基於數據幀的目的地址進行過濾、轉發和擴散數據幀的網絡設備。交換機運行在OSI模型的數據鏈路層上。 2.允許連

    接在必要時被建立並且當不再有會話要支持時就被斷開的電子或機械設備。

    SYN同步(TCP分段)。

    同步(synchronization)在發送方和接收方之間共同信號時鐘的建立。

           同步傳輸(synchronous transmission)通過準確的定時進行傳輸的數字信號。這種信號的頻率相同,獨立的字符被封裝在指示

    每個字符起始和結尾的控制比特(成為起始比特和結尾比特)中。

     
    T

    T1是一種數字廣域網載波設備。它通過使用AMI(標記交替變換)或者B8ZS(二進制連續8個0的替代)編碼在電話交換網絡上以

    1.544Mbit/s的速率傳輸DS-1格式的數據。

    TACACS+終端接入控制器接入控制系統+。一種與AAA一起使用的安全應用程序,集中演正試圖接入路由器和接入服務器的用戶的身份。

    TACACS+後台程序(daemon)通過維護一個數據庫來提供該項服務,該後台程序通常運行在UNIX或NT工作站中。該程序用於獨立和模塊化的

    AAA設施中。

            TCP報頭壓縮也叫Van Jacobson壓縮,只用於壓縮TCP報頭。

    TDM(Time-division multiplexing)時分多路復用技術可以根據預先指定的時隙為來自多個信道的信息分配單條線路上的帶寬的技術。

    不管該站是否有數據要傳輸,都會為每條信道分配帶寬。

    遠程登錄是TCP/IP協議棧中的標準終端仿真協議。 Telnet用於遠程終端連接,使用戶能登錄遠程系統並使用遠程資源(好像這些資源連接

    到本地系統一樣)。 Telnet在RFC854中定義。

    簡易文件傳輸協議是FTP的簡化版,允許文件從一台計算機通過網絡傳輸到另外一台計算機上,而且通常不需要使用客戶身份驗證(例如

    用戶名和密碼)。

    自上而下的排故方法一種從終端用戶的應用程序開始排故的方法,並沿OSI模式的上層向下層直到發現問題所在。

    拓撲在企業網絡結構中網絡網絡節點和介質的物理放置。

    路由跟踪是許多系統都可使用的一種程序,它跟踪一個分組到目的地所走的路徑。最常用於在主機之間調試路由器選擇問題。路由跟踪協

    議也是由RFC1393定義的。

    傳輸層是OSI參考模型的第4層,該層負責末端節點之間按得可靠網絡通信。傳輸層提供虛電路的建立、維護和終止,傳輸錯誤檢測和恢復

    ,以及信息流控制。對應用於SNA模型中的傳輸控制層。

    中繼線1.在兩台交換機之間用於流量傳輸的物理和邏輯連接。骨幹線由許多中繼線組成。 2.在電話學中,只兩個中心局之間或中心局和

    專用小交換機之間的電話線路。

    隧道接口用來構建隧道所創建的邏輯接口,如IP GRE隧道。

    TAC (Cisco)技術援助中心。

           標記(tag)標識信息,包含一個數字和其它信息。

    TACACS終端訪問控制器訪問控制系統(Terminal Access Controller Access Control System)的縮略語。它是由DDN團體開發的一種身份

    驗證協議,能提供遠程訪問身份驗證和相關服務,例如事件記錄(event logging)。用戶口令是在中央數據庫中集中管理的,而不是分散在

    各個路由器中,從而提供了一種易於擴展的網絡安全解決方案。

    TCP傳輸控制協議(Transmission Control Protocol)的縮略語。是面向連接的傳輸層協議,該協議提供可靠的全雙工數據傳輸。 TCP是TCP

    /IP協議棧的一部分。參見TCP/IP。

    TCP/IP傳輸控制協議/Internet協議(Transmission Control Protocol/Internet Protocol)的縮略語。它是由美國國防部在20世紀70

    年代開發的、用來支持全球網絡互連建設的協議集的常用名稱。 TCP和IP是該協議集中最著名的兩個。參見IP、TCP和UDP。

    Telco電話公司。

    TFTP簡單文件傳輸協議(Trivial File Trans fer Protocol)。 ’

    TIA電信工業聯合會(Telecommunication Industry Association)。

    TLV類型長度值。是IS-ISISP中的可變長度字段。

           令牌環(Token Ring) IBM開發並支持的一種令牌傳遞LAN,它採用環形拓撲,速度為4或16Mbit/s。

           拓撲(topology)企業網絡結構中的網絡節點和介質的物理佈局。

    拓撲表(Topology table)在EIGRP中,拓撲表包含鄰接路由器所通告的所有目的地。

    ToS服務類型。

    流量控制(traffic policing)用於計算通過某給定連接的實際數據流流量,並將其與該連接所允許的總數據流量進行比較的程序。超出所

    允許流量限制的數據流可以被打上標籤(如將CLP位設置為1),如果在途中發生擁塞就將其丟棄。流量控制被應用在ATM、幀中繼以及其他類

    型的網絡中。

    流量整形(traffic shaping)用隊列來限制可能導致網絡擁塞的突發流量。數據先被緩存,然後再以規定的速率發送到網絡上,以確保數

    據流速符合該連接所承諾的流速。流量整形被應用在ATM、幀中繼和其他類型的網絡中。它有時也被稱為計量(metering)、整形(shaping)和

    平滑(smoothing)。

    傳輸控制協議(Transmission control Protocol)參見TCP。

           傳輸網絡(transport network)用於將遠程天線場地與前段相連或將遠程前端與配送網絡相連。也用於連接微波、光纖或同軸電

    纜頂級天線(supertrunk)。

    TTL存活時間(Time To Live)。 IP報頭中的一個字段,指示分組可被認為有效的時間長度。

           遠程登錄(Telnet) TCP/IP協議棧中的標準終端仿真協議,用於遠程終端連接,讓用戶能夠登錄遠程系統並使用遠程資源(好像

    這些資源連接到本地系統一樣)。 Telnet是在RFC854種定義的。

            Trunk 1.主幹線,交換機之間的物理和邏輯連接,數據流通過它進行傳輸,主幹由很多主幹線組成。 2.中繼線,中心局(CO)之間

    或中心局和專用交換機(PBX)之間的電話線。

           中繼技術(trunking)一個Cisco術語,指的是在網絡設備之間的ISL或IEEE 802.1Q線路上添加第2層VLAN標識符。

    隧道技術(tunneling)為兩個同類網絡間提供通過外部網絡的一條虛擬數據鏈路連接的體系結構。該虛擬數據鏈路是通過將網絡數據封裝

    到外部網絡分組內而生成的。

    雙絞線(twisted-pair)兩條被絞在一起的絕緣導線,通常是銅質的,經常被綁入一個公共套筒中以形成多對雙電纜。在ISDN中,它是在用

    戶終端或電話與PBX或市話局之間的基本通道。

    終端系統服務器、工作站、個人電腦和手提電腦是終端系統的實例。

    終端系統網絡配置表該表是記錄終端系統上所有的硬件和軟件的基線文檔。

    最後網關資源所有不能匹配路由選擇表中其他條目的分組將會匹配該條目並發送到它們的下一跳上去。

     
    U

    可用性電話系統或其他設備運轉的時間量——即:它處理電話或其他通信有多久。可用性是一台設備在某段給定的時間內的運轉時間總量

    與這段時間的比率。

            U接口NT1和ISDN網絡之間的2線接口。

            US上行。 RF信號從用戶傳輸到前端,也叫返回/反向路徑(return/reverse path)。

    UDP用戶數據報協議(User Datagram Protocol)。在TCP/IP協議棧中,它是無連接的傳輸層協議。 UDP是一種簡單的協議,它沒有確認機

    制、不能確保數據報的可靠交換,需要由其他協議完成差錯處理和出錯重傳。 UDP在RFC768中定義。

    UNC通用命名規則(Univend Naming Convention)或統一命名規則(Uniform Naminff Convention)。它是用來在局域網(LAN)上指定資源位

    置的一種PC格式。 UNC使用以下格式:\\server-name\shared-resource-pathname。

    單播(unicast)發往單獨一個網絡地址的消息。請比較廣播(broadcast)和多播(multicast)。

    URL統一資源定位符(Uniform Resource Locator)。

    UTC協調的通用時間(與格林威治時間相同)。

    UTL使用(Utilization)。

    UTP非屏蔽雙絞線。

    UNIX 1969年由諾貝爾實驗室開發的操作系統。自從其出現以來,UNIX已經經歷了多次的更迭。這其中包括加州大學伯克利分校開發的

    UNIX4.3 BSD, AT&T(美國電話電報公司)開發的UNIX系統V,4.0版本等。

     
    V

    V. 35一種ITU-T標準,它是用於網絡訪問設備與分組交換網絡之間通信的一種同步物理層協議。 V. 35在北美和歐洲最為常用,其推薦速

    率可高達48Mbit/s。

            VC虛電路。兩台網絡設備之間建立的邏輯電路,用於確保可靠的通信。虛電路由VPI/VCI標識,可以是永久性的(PVC),也可以

    是交換型的(SVC)。虛電路用於楨中繼和X.25中;在ATM中,虛電路被稱為虛信道。

    VIP通用接口處理器(Versatile Interface Processor)。

    虛電路(virtual circuit)在兩台網絡設備間為確保可靠的通信而建立的邏輯電路。虛電路是通過VPI/VCI對進行定義的,並且可以是永

    久的(PVC)或交換的(SVC)。虛電路被應用於ATM、幀中繼和X. 25。在ATM中,虛電路也被稱為虛信道(virtual channel)。有時就縮寫為VC。

    VLAN虛擬局域網。是使用管理軟件對一個或多個局域網上的設備組進行配置,使這些設備好像連接到同一條線路上進行通信,而實際上這

    些設備位於許多不同的局域網段上。由於VLAN是基於邏輯連接,而不是物理連接,因此它們十分靈活。

    VLSM可變長度的子網掩碼。對同一個主類網絡下的不同子網指定不同子網掩碼的功能。 VLSM能幫助優化可獲得的地址空間。有些協議不允

    許使用VLSM。參見無類路由選擇協議。

            VPN虛擬專用網絡。通過加密從一個網絡到另一個網絡的所有數據流,使IP數據流可以通過公共TCP/IP網絡安全地進行傳輸。 VPN

    使用隧道技術在IP級對所有信息進行加密。

    VTP虛擬終端協議。第2層消息協議,對VLAN的添加、刪除和重命名進行管理。

    Vty虛擬終端。

     
    W

    WAN廣域網(Wide Area Network)的縮略語。它是在較大地理範圍內為用戶提供服務、通常使用由公共運營商所提供設施的數據通信網絡。

    幀中繼、SMDS和X. 25都是廣域網的例子。請與LAN、 MAN和HAN進行比較。

    廣域網電路在廣域網上使用諸如PVC或SVC的電路連接兩個遠程站點。

    WINS服務器一種微軟服務,便於NetBIOS名稱和IP地址解析。機器可以在WINS服務器上自動註冊。任何機器如需其他機器(即其NetB

    IOS名稱)的IP地址可以向WINS服務器發送該名稱得請求。

     

    加權公平排隊(Weighted Fair Queuing)縮寫WFQ。它是一種擁塞管理算法,該算法識別對話(以數據流的形式)、分開屬於各個對話的分組

    ,並確保傳輸容量被這些獨立的對話公平地分享。 WFQ是在發生擁塞時穩定網絡運行的一種自動的方法,它能提高處理性能並減少分組的重

    發。

    通配符掩碼(wildcardmask) 32位編碼,與IP地址連用,以確定IP地址中的哪些位在與另一個IP地址比較時可以忽略。在建立訪問列表時

    要說明這個通配符掩碼。

    窗口(window)發送方在收到確認之前允許發送的數據段數量。

    滑動窗口(windowing)通過用不同窗口大小控制端到端傳輸信息量的方法。

    工作組(workgroup)在局域網上被設計用來互相通信和交換數據的工作站和服務器的集合。

    WRED加權隨機早期檢測。是一種排隊方法,用以在網絡發生阻塞時,確保高優先級的流量保持比其他低的丟失率。

    WWW萬維網(World Wide Web)。為運行例如瀏覽器等客戶端應用軟件的終端提供超文本和其他服務的大型Internet服務器網絡。

    WWW瀏覽器基於GUI的超文本客戶應用程序,例如Mosaic,可訪問WWW和Internet上位於遠程服務器中的超文本文檔和其他服務。參見

    Internet和WWW。

     
    X

    X. 25一種ITU-T標準,它定義了PDN(公用數據網絡)中DTE和DCE之間用於遠程終端訪問和計算機通信的連接維護方式。在X. 25中規定了L

    /kPB (一種數據鏈路層協議),以及PLP(一種網絡層協議)。現在,幀中繼已經在某種程度上取代了X. 25。

            x-modem一種異步傳輸協議,可用於恢復Cisco設備中丟失的操作系統。

    XDSL用來泛指ADSL、HDSL、SDSL和VDSL的術語。它們都是正在出現的、使用電話公司提供的現有銅質線對基礎設施的數字技術。 XDSL是除

    ISDN之外的另一種高速通信技術。

    XNS Xerox網絡系統。

     
    Z

    ZIP區域信息協議(Zone lnformation Protoc01)。將網絡號映射到區域名的AppleTalk會話層協議。 ZIP是被NBP用來決定哪些網絡包含屬

    於某一個區域的節點。

  • SQL語法大全

    本部分內容
                SQL基礎
               中級SQL
               高級SQL
    第10章SQL基礎

                     本章內容
               
                      SQL介紹
                     使用SELECT語句從表中取數據
                     創建新表
                     字段屬性
                     向表中添加數據
                     刪除和修改表
             

        為了建立交互站點,你需要使用數據庫來存儲來自訪問者的信息。例如,你要建立一個職業介紹服務的站點,你就需要存儲諸如個人簡歷,所感興趣的工作等等這樣的信息。創建動態網葉也需要使用數據庫,如果你想顯示符合來訪者要求的最好的工作,你就需要從數據庫中取出這份工作的信息。你將會發現,在許多情況下需要使用數據庫。
        在這一章裡,你將學會怎樣使用“結構化查詢語言”(SQL〕來操作數據庫。SQL語言是數據庫的標準語言。在Active Sever Pages中,無論何時你要訪問一個數據庫,你就要使用SQL語言。因此,掌握好SQL對ASP編程是非常重要的。
         
        注意:
        你可以把“SQL”讀作“sequel”,也可以按單個字母的讀音讀作S-Q-L。兩種發音都是正確的,每種發音各有大量的支持者。在本書裡,認為“SQL”讀作“sequel”。

        通過這一章的學習,你將理解怎樣用SQL實現數據庫查詢,你將學會怎樣使用這種查詢從數據表中取出信息,最後,你將學會怎樣設計和建立自己的數據庫。
                
        注意:
        通過下面幾章對SQL的介紹,你將對SQL有足夠的了解,從而可以有效地使用Active Sever Pages。但是,SQL是一種複雜的語言,本書不可能包括它的全部細節。要全面掌握SQL語言,你需要學習在Microsoft SQL Sever中使用SQL。你可以到附近的書店去買一本Microsoft SQL Sever 6.5。

    SQL介紹:
        本書假設你是在SQL操作Microsoft SQL Sever的數據庫。你也可以用SQL操作許多其它類型的數據庫。 SQL是操作數據庫的標準語言。 (事實上,關於SQL語言有一個專門的ANSI標準〕

        注意:
        不要在你的站點上試圖用Microsoft Access代替Microsoft SQL Sever。 SQL Sever可以同時服務於許多用戶,如果你希望你的站點有較高的訪問率,MS Access是不能勝任的。

        在學習SQL的細節之前,你需要理解它的兩大特點。一個特點容易掌握,另一個掌握起來有點困難。
        第一個特點是所有SQL數據庫中的數據都存儲在表中。一個表由行和列組成。例如,下面這個簡單的表包括name和e-mail address:
         Name Email Address
         ………………………………………….. …………..
         Bill Gates billg@microsoft.com
         president Clinton president@whitehouse.com
         Stephen Walther swalther@somewhere.com
        這個表有兩列(列也稱為字段,域〕:Name和Email Address。有三行,每一行包含一組數據。一行中的數據組合在一起稱為一條記錄。
        無論何時你向表中添加新數據,你就添加了一條新記錄。一個數據表可以有幾十個記錄,也可以有幾千甚至幾十億個記錄。雖然你也許永遠不需要存儲十億個Email地址,但知道你能這樣做總是好的,也許有一天你會有這樣的需要。
        你的數據庫很有可能包含幾十個表,所有存儲在你數據庫中的信息都被存儲在這些表中。當你考慮怎樣把信息存儲在數據庫中時,你應該考慮怎樣把它們存儲在表中。
         SQL的第二個特點有些難於掌握。這種語言被設計為不允許你按照某種特定的順序來取出記錄,因為這樣做會降低SQL Sever取記錄的效率。使用SQL,你只能按查詢條件來讀取記錄。
        當考慮如何從表中取出記錄時,自然會想到按記錄的位置讀取它們。例如,也許你會嘗試通過一個循環,逐個記錄地掃描,來選出特定的記錄。在使用SQL時,你必須訓練自己,不要有這種思路。
        假如你想選出所有的名字是“Bill Gates”的記錄,如果使用傳統的編程語言,你也許會構造一個循環,逐個查看表中的記錄,看名字域是否是“Bill Gates”。
        這種選擇記錄的方法是可行的,但是效率不高。使用SQL,你只要說,“選擇所有名字域等於Bill Gates的記錄”,SQL就會為你選出所有符合條件的記錄。 SQL會確定實現查詢的最佳方法。
        建設你想取出表中的前十個記錄。使用傳統的編程語言,你可以做一個循環,取出前十個記錄後結束循環。但使用標準的SQL查詢,這是不可能實現的。從SQL的角度來說,在一個表中不存在前十個記錄這種概念。
        開始時,當你知道你不能用SQL實現某些你感覺應該能實現的功能,你會受到挫折。你也許會以頭撞牆甚至想寫惡毒的信件給SQL的設計者們。但後來你會認識到,SQL的這個特點不僅不是個限制,反而是其長處。因為SQL不根據位置來讀取記錄,它讀取記錄可以很快。
        綜上所述,SQL有兩個特點:所有數據存儲在表中,從SQL的角度來說,表中的記錄沒有順序。在下一節,你將學會怎樣用SQL從表中選擇特殊的記錄。

    使用SQL從表中取記錄。
         SQL的主要功能之一是實現數據庫查詢。如果你熟悉Internet引擎,那麼你已經熟悉查詢了。你使用查詢來取得滿足特定條件的信息。例如,如果你想找到有ASP信息的全部站點,你可以連接到Yahoo!並執行一個對Active Sever Pages的搜索。在你輸入這個查詢後,你會收到一個列表,表中包括所有其描述中包含搜索表達式的站點。
        多數Internet引擎允許邏輯查詢。在邏輯查詢中,你可以包括特殊的運算符如AND、OR和NOT,你使用這些運算符來選擇特定的記錄。例如,你可以用AND來限制查詢結果。如果你執行一個對Active Sever Pages AND SQL的搜索。你將得到其描述中同時包含Active Sever Pages和SQL的記錄。當你需要限制查詢結果時,你可以使用AND。
        如果你需要擴展查詢的結果,你可以使用邏輯操作符OR。例如,如果你執行一個搜索,搜索所有的其描述中包含Active Sever Pages OR SQL的站點,你收到的列表中將包括所有其描述中同時包含兩個表達式或其中任何一個表達式的站點。
        如果你想從搜索結果中排除特定的站點,你可以使用NOT。例如,查詢“Active Sever Pages ”AND NOT “SQL”將返回一個列表,列表中的站點包含Active Sever Pages,但不包含SQL。當必須排除特定的記錄時,你可以使用NOT。
        用SQL執行的查詢與用Internet搜索引擎執行的搜索非常相似。當你執行一個SQL查詢時,通過使用包括邏輯運算符的查詢條件,你可以得到一個記錄列表。此時查詢結果是來自一個或多個表。
         SQL查詢的句法非常簡單。假設有一個名為email_table的表,包含名字和地址兩個字段,要得到Bill Gates的e_mail地址,你可以使用下面的查詢:

         SELECT email from email_table WHERE name=”Bill Gates”

        當這個查詢執行時,就從名為email_table的表中讀取Bill Gates的e_mail地址。這個簡單的語句包括三部分:
         ■ SELECT語句的第一部分指名要選取的列。在此例中,只有email列被選取。當執行時,只顯示email列的值billg@microsoft.com。
         ■ SELECTT語句的第二部份指明要從哪個(些)表中查詢數據。在此例中,要查詢的表名為email_table 。
         ■最後,SELECT語句的WHERE子句指明要選擇滿足什麼條件的記錄。在此例中,查詢條件為只有name列的值為Bill Gates的記錄才被選取。
         Bill Gates很有可能擁有不止一個email地址。如果表中包含Bill Gates的多個email地址。用上述的SELECT語句可以讀取他所有的email地址。 SELECT語句從表中取出所有name字段值為Bill Gates的記錄的email字段的值。
        前面說過,查詢可以在查詢條件中包含邏輯運算符。假如你想讀取Bill Gates或Clinton總統的所有email地址,你可以使用下面的查詢語句:

         SELECT email FROM email_table WHERE name=”Bill Gates” OR
                                                        name=”president Clinton”

        此例中的查詢條件比前一個複雜了一點。這個語句從表email_table中選出所有name列為Bill Gates或president Clinton的記錄。如果表中含有Bill Gates或president Clinton的多個地址,所有的地址都被讀取。
         SELECT語句的結構看起來很直觀。如果你請一個朋友從一個表中為你選擇一組記錄,你也許以非常相似的方式提出你的要求。在SQL SELECT語句中,你“SELECT特定的列FROM一個表WHERE某些列滿足一個特定的條件”。
        下一節將介紹怎樣執行SQL查詢來選取記錄。這將幫助你熟悉用SELECT語句從表中取數據的各種不同方法。

    使用ISQL執行SELECT查詢
        當你安裝SQL Sever時,你同時安裝了一個叫作ISQL/w的應用程序。 ISQL/w允許你執行交互的SQL查詢。在把查詢包括到你的ASP網頁中之前,用ISQL/w對其進行測試是非常有用的。

        注意:
        在這本書的第一部份,你學習了怎樣安裝和配置Microsoft SQL Sever 。如果沒有安裝SQL Sever或者SQL Sever不能運行,請參閱第三章“安裝和使用SQL Sever”。

        選擇任務上SQL Sever程序組中的ISQL_w以啟動該程序。程序啟動時,首先會出現一個對話框,要求輸入服務器信息和登錄信息(見圖10.1)。在Sever框中,輸入你的SQL服務器的名字。如果服務器正運行在本地計算機上,服務器名字就是你計算機的名字。在登錄信息框中,輸入一個登錄帳號和密碼或選擇使用“可信連接”,然後單擊Connect按鈕。

        圖10。1

        注意:
        如果你將SQL Sever配置為使用完整安全或混合安全,那麼你可以使用可信連接。如果你使用標準安全,你則需要提供用戶帳號和密碼。要了解更多信息,參見第三章。

        如果一切正常,在你單擊連接按鈕後會出現一個查詢窗口,如圖10.2所示。 (如果有異常,請參考第三章)

            圖10.2

        在執行查詢之前,你需要選擇數據庫。安裝SQL Sever時你已為自己創建了一個數據庫,SQL Sever還有許多系統數據庫,如master,model,msdb,和tempdb。
        方便的是,SQL Sever帶有一個特殊的名為pubs的例子數據庫。庫pubs中包含供一個虛擬的出版商使用的各個表。文檔中所有的例子程序都是針對這個庫來設計的。本書中的許多例子也使用這個數據庫。
        在查詢窗口頂部的DB下拉框中選擇數據庫pubs,這樣你就選擇了數據庫。你所有的查詢都將針對這個庫中的各個表來執行。現在你可以執行你的第一個查詢了。這真讓人興奮!
        你的第一個查詢將針對一個名為autrors的表,表中包含所有為某個虛擬出版商工作的作者的相關數據。單擊查詢窗口並輸入以下的語句:

         SELECT phone FROM authors WHERE au_name=”Ringer”

        輸入完成後,單擊執行查詢按鈕(一個綠色三角形,看起來像VCR播放鍵)。單擊此按鈕後,任何出現在查詢窗口中的語句均會被執行。查詢窗口會自動變成結果顯示窗口,你可以看到查詢的結果(見圖10.3)。
        你看到的查詢結果也許與圖10.3所示的不同。在SQL Sever的不同版本中,庫pubs中的數據會有所不同。對SQL Sever 6.5來說,將會找到兩條記錄。結果顯示窗口中應顯示如下內容:
        
         phone
    ……………….
    801 826_0752
    801 826_0752
         (2 row(s) affected)

      
     
      圖10.3

        你所執行的SELECT語句從表authors中取出所有名字為Ringer的作者的電話號碼。你通過在WHERE子句中使用特殊的選擇條件來限制查詢的結果。你也可以忽略選擇條件,從表中取出所有作者的電話號碼。要做到這一點,單擊Query標籤,返回到查詢窗口,輸入以下的SELECT語句:

    SELECT Phone FROM authors
        這個查詢執行後,會取出表authors中的所有電話號碼(沒有特定的順序)。如果表authors中包含一百個電話號碼,會有一百個記錄被取出,如果表中有十億個電話號碼,這十億條記錄都會被取出(這也許需要一些時間)。
        表authrs的字段包括姓,名字,電話號碼,地址,城市,州和郵政編碼。通過在SELECT語句的第一部份指定它們,你可以從表中取出任何一個字段。你可以在一個SELECT語句中一次取出多個字段,比如:

         SELECT au_fname ,au_lname, phone FROM authors

        這個SELECT語句執行後,將取出這三個列的所有值。下面是這個查詢的結果的一個示例(為了節省紙張,只顯示查詢結果的一部分,其餘記錄用省略號代替):

         au_fname au_lname phone
         ………………………………………………………………………….
         Johnson White 408 496_7223
         Marjorie Green 415 986_7020
         Cheryl Carson 415 548_7723
         Michael O’Leary 408 286_2428
         …
         (23 row(s) affected)

        在SELECT語句中,你需要列出多少個字段,你就可以列出多少。不要忘了把字段名用逗號隔開。你也可以用星號(*)從一個表中取出所有的字段。這裡有一個使用星號的例子:

         SELECT * FROM authors

        這個SELECT語句執行後,表中的所有字段的值都被取出。你會發現你將在SQL查詢中頻繁使用星號。

        技巧:
        你可以使用星號來查看一個表的所有列的名字。要做到這一點,只需要在執行完SELECT語句後看一下查詢結果的列標題。

    操作多個表
        到現在為止,你只嘗試了用一句SQL查詢從一個表中取出數據。你也可以用一個SELECT語句同時從多個表中取出數據,只需在SELECT語句的FROM從句中列出要從中取出數據的表名稱即可:
            
         SELECT au_lname ,title FROM authors, titles

        這個SELECT語句執行時,同時從表authors和表titles中取出數據。從表authors中取出所有的作者名字,從表titles中取出所有的書名。在ISQL/w程序中執行這個查詢,看一下查詢結果。你會發現一些奇怪的出乎意料的情況:作者的名字並沒有和它們所著的書相匹配,而是出現了作者名字和書名的所有可能的組合,這也許不是你所希望見到的。
        出了什麼差錯?問題在於你沒有指明這兩個表之間的關係。你沒有通過任何方式告訴SQL如何把表和表關聯在一起。由於不知道如何關聯兩個表,服務器只能簡單地返回取自兩個表中的記錄的所有可能組合。
        要從兩個表中選出有意義的記錄組合,你需要通過建立兩表中字段的關係來關聯兩個表。要做到這一點的途徑之一是創建第三個表,專門用來描述另外兩個表的字段之間的關係。
        表authors有一個名為au_id的字段,包含有每個作者的唯一標識。表titles有一個名為title_id的字段,包含每個書名的唯一標識。如果你能在字段au_id和字段title_id之間建立一個關係,你就可以關聯這兩個表。數據庫pubs中有一個名為titleauthor的表,正是用來完成這個工作。表中的每個記錄包括兩個字段,用來把表titles和表authors關聯在一起。下面的SELECT語句使用了這三個表以得到正確的結果:

         SELECT au_name,title FROM authors,titles,titleauthor
                                 WHERE authors.au_id=titleauthor.au_id
                                  AND titles.title_id=titleauthor.title_id

        當這個SELECT語句執行時,每個作者都將與正確的書名相匹配。表titleauthor指明了表authors和表titles的關係,它通過包含分別來自兩個表的各一個字段實現這一點。第三個表的唯一目的是在另外兩個表的字段之間建立關係。它本身不包含任何附加數據。
        注意在這個例子中字段名是如何書寫的。為了區別表authors和表titles中相同的字段名au_id,每個字段名前面都加上了表名前綴和一個句號。名為author.au_id的字段屬於表authors,名為titleauthor.au_id的字段屬於表titleauthor,兩者不會混淆。
        通過使用第三個表,你可以在兩個表的字段之間建立各種類型的關係。例如,一個作者也許寫了許多不同的書,或者一本書也許由許多不同的作者共同完成。當兩個表的字段之間有這種“多對多”的關係時,你需要使用第三個表來指明這種關係。
        但是,在許多情況下,兩個表之間的關係並不復雜。比如你需要指明表titles和表publishers之間的關係。因為一個書名不可能與多個出版商相匹配,你不需要通過第三個表來指明這兩個表之間的關係。要指明表titles和表publishers之間的關係,你只要讓這兩個表有一個公共的字段就可以了。在數據庫pubs中,表titles和表publishers都有一個名為pub_id的字段。如果你想得到書名及其出版商的一個列表,你可以使用如下的語句:
         SELECT title,pub_name FROM titles,publishers
                                 WHERE titles.pub_id=publishers.pub_id

        當然,如果一本書是由兩個出版商聯合出版的,那麼你需要第三個表來代表這種關係。
        通常,當你予先知道兩個表的字段間存在“多對多”關係時,就使用第三個表來關聯這兩個表。反之,如果兩個表的字段間只有“一對一”或“一對多”關係,你可以使用公共字段來關聯它門。

    操作字段
        通常,當你從一個表中取出字段值時,該值與創建該表時所定義的字段名聯繫在一起。如果你從表authors中選擇所有的作者名字,所有的值將會與字段名au_lname相聯繫。但是在某些情況下,你需要對字段名進行操作。在SELECT語句中,你可以在缺省字段名後面僅跟一個新名字來取代它。例如,可以用一個更直觀易讀的名字Author Last Name來代替字段名au_lname:

         SELECT au_lname “Author Last Name” FROM authors

        當這個SELECT語句執行時,來自字段au_lname的值會與“Author Last Name”相聯繫。查詢結果可能是這樣:
             
           Author Last Name
           ……………………………………………………………………..
           White
           Green
           Carson
           O’Leary
           Straight
           …
           (23 row(s) affected)
     
    注意字段標題不再是au_lname,而是被Author Last Name所取代。
        你也可以通過執行運算,來操作從一個表返回的字段值。例如,如果你想把表titles中的所有書的價格加倍,你可以使用下面的SELECT語句:
        
         SELECT price*2 FROM titles

        當這個查詢執行時,每本書的價格從表中取出時都會加倍。但是,通過這種途徑操作字段不會改變存儲在表中的書價。對字段的運算只會影響SELECT語句的輸出,而不會影響表中的數據。為了同時顯示書的原始價格和漲價後的新價格,你可以使用下面的查詢:

    SELECT price “Original price”, price*2 “New price” FROM titles

        當數據從表titles中取出時,原始價格顯示在標題Original price下面,加倍後的價格顯示在標題New price下面。結果可能是這樣:
              
           original price new price
           ……………………………………………………………….
    19.99 39.98
    11.95 23.90
    2.99 5.98
    19.99 39.98

    (18 row(s) affected)
            
        你可以使用大多數標準的數學運算符來操作字段值,如加(+),減(-),乘(*)和除(/)。你也可以一次對多個字段進行運算,例如:

          SELECT price*ytd_sales “total revenue” FROM titles

        在這個例子中,通過把價格與銷售量相乘,計算出了每種書的總銷售額。這個SELECT語句的結果將是這樣的:
           
           total revenue
           ……………………………………………..
           81,859,05
           46,318,20
           55,978,78
           81,859,05
           40,619,68
           …
           (18 row(s) affected)
      
        最後,你還可以使用連接運算符(它看起來像個加號)來連接兩個字符型字段:

           SELECT au_fname+” “+au_lname “author name” FROM authors

        在這個例子中,你把字段au_fname和字段au_lname粘貼在一起,中間用一個逗號隔開,並把查詢結果的標題指定為author name。這個語句的執行結果將是這樣的:

            author names
            …………………………………………………………
            Johnson White
            Marjorie Green
            Cheryl Carson
           Michael O’Leary
           Dean Straight
           …
           (23 row(s) affected)
     
        可以看到,SQL為你提供了對查詢結果的許多控制。你應該在ASP編程過程中充分利用這些優點。使用SQL來操作查詢結果幾乎總是比使用有同樣作用的腳本效率更高。

    排序查詢結果
        本章的介紹中曾強調過,SQL表沒有內在的順序。例如,從一個表中取第二個記錄是沒有意義的。從SQL的角度看來,沒有一個記錄在任何其他記錄之前。
    然而,你可以操縱一個SQL查詢結果的順序。在缺省情況下,當記錄從表中取出時,記錄不以特定的順序出現。例如,當從表authors中取出字段au_lname時,查詢結果顯示成這樣:

            au_lname
            …………………………………….
            White
            Green
            Carson
            O’Leary
            Straight
            …
            (23 row(s) affected)
       
        看一列沒有特定順序的名字是很不方便的。如果把這些名字按字母順序排列,讀起來就會容易得多。通過使用ORDER BY子句,你可以強制一個查詢結果按升序排列,就像這樣:

         SELECT au_lname FROM authors ORDER BY au_lname

        當這個SELECT語句執行時,作者名字的顯示將按字母順序排列。 ORDER BY子句將作者名字按升序排列。
        你也可以同時對多個列使用ORDER BY子句。例如,如果你想同時按升序顯示字段au_lname和字段au_fname,你需要對兩個字段都進行排序:

         SELECT au_lname,au_fname FROM authors ORDER BY au_lname ,au_fname

        這個查詢首先把結果按au_lname字段進行排序,然後按字段au_fname排序。記錄將按如下的順序取出:

           au_lname au_fname
           …………………………………………………………………….
           Bennet Abraham
           Ringer Albert
           Ringer Anne
           Smith Meander
           …
           (23 row(s) affected)

        注意有兩個作者有相同的名字Ringer。名為Albert Ringer的作者出現名為Anne Ringer的作者之前,這是因為姓Albert按字母順序應排在姓Anne之前。
    如果你想把查詢結果按相反的順序排列,你可以使用關鍵字DESC。關鍵字DESC把查詢結果按降序排列,如下例所示:
         
            SELECT au_lname,au_fname FROM authors
                   WHERE au_lname=”Ringer” ORDER BY au_lname ,au_fname DESC

        這個查詢從表authors中取出所有名字為Ringer的作者記錄。 ORDER BY子句根據作者的名字和姓,將查詢結果按降序排列。結果是這樣的:

           au_lname au_fname
           ……………………………………………………………………………………….
           Ringer Anne
           Ringer Albert
           (2 row(s) affectec)

        注意在這個表中,姓Anne出現在姓Albert之前。作者名字按降序顯示。
    你也可以按數值型字段對一個查詢結果進行排序。例如,如果你想按降序取出所有書的價格,你可以使用如下的SQL查詢:

            SELECT price FROM titles ORDER BY price DESC

        這個SELECT語句從表中取出所有書的價格,顯示結果時,價格低的書先顯示,價格高的書後顯示。

        警告:
        不是特別需要時,不要對查詢結果進行排序,因為服務器完成這項工作要費些力氣。這意味著帶有ORDER BY子句的SELECT語句執行起來比一般的SELECT語句花的時間長。

    取出互不相同的記錄
        一個表有可能在同一列中有重複的值。例如,數據庫pubs的表authors中有兩個作者的名字是Ringer。如果你從這個表中取出所有的名字,名字Ringer將會顯示兩次。
        在特定情況下,你可能只有興趣從一個表中取出互不相同的值。如果一個字段有重複的值,你也許希望每個值只被選取一次,你可以使用關鍵字DISTINCT來做到這一點:

          SELCET DISTINCT au_lname FROM authors WHERE au_lname=”Ringer”

        當這個SELECT語句執行時,只返回一個記錄。通過在SELECT語句中包含關鍵字DISTINCT,你可以刪除所有重複的值。例如,假設有一個關於新聞組信息發布的表,你想取出所有曾在這個新聞組中發布信息的人的名字,那麼你可以使用關鍵字DISTINCT。每個用戶的名字只取一次——儘管有的用戶發布了不止一篇信息。
        警告:
        如同ORDER BY子句一樣,強制服務器返回互不相同的值也會增加運行開銷。福氣不得不花費一些時間來完成這項工作。因此,不是必須的時候不要使用關鍵字DISTINCT。

    創建新表
        前面說過,數據庫中的所有數據存儲在表中。數據表包括行和列。列決定了表中數據的類型。行包含了實際的數據。
        例如,數據庫pubs中的表authors有九個字段。其中的一個字段名為為au_lname,這個字段被用來存儲作者的名字信息。每次向這個表中添加新作者時,作者名字就被添加到這個字段,產生一條新記錄。
        通過定義字段,你可以創建一個新表。每個字段有一個名字和一個特定的數據類型(數據類型在後面的“字段類型”一節中講述),例如字段au_lname存儲的是字符型數據。一個字段也可以存儲其它類型的數據。
        使用SQL Sever,創建一個新表的方法是很多的。你可以可執行一個SQL語句或使用SQL事務管理器(SQL Enterprise Manager)來創建一個新表。在下一節裡,你將學會如何用SQL語句來創建一個新表。

    用SQL創建新表
        注意:
        如果你還沒有建立自己的數據庫,現在就跳回到第三章創建這個庫。你絕不能向master,tempdb或任何其他任何系統數據庫中添加數據。

        從SQL Sever程序組(在任務欄中)中啟動ISQL/w程序。出現查詢窗口後,從窗口頂部的下拉列表中選擇你在第三章所創建的數據庫。下一步,在查詢窗口中鍵入下面的SQL語句,單擊執行查詢按鈕,執行這個語句:

           CREATE TABLE guestbook (visitor VARCHAR(40),comments TEXT,entrydate
                                              DATETIME)

    如果一切正常,你會在結果窗口中看到如下的文字(如果出現異常,請參閱第三章):

           This command dit not return data ,and it did not return any rows

    祝賀你,你已經建立了你的第一個表!
        你所創建的表名為guestbook,你可以使用這個表來存儲來字你站點訪問者的信息。你是用REEATE TABLE語句創建的這個表,這個語句有兩部分:第一部份指定表的名子;第二部份是括在括號中的各字段的名稱和屬性,相互之間用逗號隔開。
        表guestbook有三個字段:visitor,comments和entrydate。 visitor字段存儲訪問者的名字,comments字段存儲訪問者對你站點的意見,entrydate字段存儲訪問者訪問你站點的日期和時間。
        注意每個字段名後面都跟有一個專門的表達式。例如,字段名comments後面跟有表達式TEXT。這個表達式指定了字段的數據類型。數據類型決定了一個字段可以存儲什麼樣的數據。因為字段comments包含文本信息,其數據類型定義為文本型。
        字段有許多不同的數據類型。下一小節講述SQL所支持的一些重要的數據類型。

    字段類型
        不同的字段類型用來存放不同類型的數據。創建和使用表時,更你應該理解五種常用的字段類型:字符型,文本型,數值型,邏輯性和日期型。

    字符型數據
        字符型數據非常有用。當你需要存儲短的字符串信息時,你總是要用到字符型數據。例如,你可以把從HTML form的文本框中蒐集到的信息放在字符型字段中。
        要建立一個字段用來存放可變長度的字符串信息,你可以使用表達式VARCHAR。考慮你前面創建的表guestbook:

          CREATE TABLE guestbook (visitor VARCHAR(40),comments TEXT,entrydate
                                              DATETIME)

        在這個例子中,字段visitor的數據類型為VARCHAR。注意跟在數據類型後面的括號中的數字。這個數字指定了這個字段所允許存放的字符串的最大長度。在這個例子中,字段visitor能存放的字符串最長為四十個字符。如果名字太長,字符串會被截斷,只保留四十個字符。
         VARCHAR類型可以存儲的字符串最長為255個字符。要存儲更長的字符串數據,可以使用文本型數據(下一節中講述)。
        另一種字符型數據用來存儲固定長度的字符數據。下面是一個使用這種數據類型的例子:

          CREATE TABLE guestbook (visitor CHAR(40),comments TEXT,entrydate
                                              DATETIME)

        在這個例子中,字段visitor被用來存儲四十個字符的固定長度字符串。表達式CHAR指定了這個字段應該是固定長度的字符串。
         VARCHAR型和CHAR型數據的這個差別是細微的,但是非常重要。假如你向一個長度為四十個字符的VARCHAR型字段中輸入數據Bill Gates。當你以後從這個字段中取出此數據時,你取出的數據其長度為十個字符——字符串Bill Gates的長度。
        現在假如你把字符串輸入一個長度為四十個字符的CHAR型字段中,那麼當你取出數據時,所取出的數據長度將是四十個字符。字符串的後面會被附加多餘的空格。
        當你建立自己的站點時,你會發現使用VARCHAR型字段要比CHAR型字段方便的多。使用VARCHAR型字段時,你不需要為剪掉你數據中多餘的空格而操心。
         VARCHAR型字段的另一個突出的好處是它可以比CHAR型字段佔用更少的內存和硬盤空間。當你的數據庫很大時,這種內存和磁盤空間的節省會變得非常重要。

    文本型數據
        字符型數據限制了字符串的長度不能超過255個字符。而使用文本型數據,你可以存放超過二十億個字符的字符串。當你需要存儲大串的字符時,應該使用文本型數據。
        這裡有一個使用文本型數據的例子:

         CREATE TABLE guestbook (visitor VARCHAR(40),comments TEXT,entrydate
                                              DATETIME)

        在這個例子中,字段comments被用來存放訪問者對你站點的意見。注意文本型數據沒有長度,而上一節中所講的字符型數據是有長度的。一個文本型字段中的數據通常要么為空,要么很大。
        當你從HTML form的多行文本編輯框(TEXTAREA)中收集數據時,你應該把收集的信息存儲於文本型字段中。但是,無論何時,只要你能避免使用文本型字段,你就應該不適用它。文本型字段既大且慢,濫用文本型字段會使服務器速度變慢。文本型字段還會吃掉大量的磁盤空間。
        警告:
        一旦你向文本型字段中輸入了任何數據(甚至是空值),就會有2K的空間被自動分配給該數據。除非刪除該記錄,否則你無法收回這部分存儲空間。

    數值型數據
         SQL Sever支持許多種不同的數值型數據。你可以存儲整數、小數、和錢數。
        通常,當你需要在表中的存放數字時,你要使用整型(INT)數據。 INT型數據的表數範圍是從-2,147,483,647到2,147,483,647的整數。下面是一個如何使用INT型數據的例子:

            CREATE TABLE visitlog (visitor VARCHAR(40),numvisits INT)

        這個表可以用來記錄你站點被訪問的次數。只要沒有人訪問你的站點超過2,147,483,647次,nubvisits字段就可以存儲訪問次數。
        為了節省內存空間,你可以使用SMALLINT型數據。 SMALLINT型數據可以存儲從-32768到32768的整數。這種數據類型的使用方法與INT型完全相同。
        最後,如果你實在需要節省空間,你可以使用TINYINT型數據。同樣,這種類型的使用方法也與INT型相同,不同的是這種類型的字段只能存儲從0到255的整數。 TINYINT型字段不能用來存儲負數。
        通常,為了節省空間,應該盡可能的使用最小的整型數據。一個TINYINT型數據只佔用一個字節;一個INT型數據佔用四個字節。這看起來似乎差別不大,但是在比較大的表中,字節數的增長是很快的。另一方面,一旦你已經創建了一個字段,要修改它是很困難的。因此,為安全起見,你應該預測以下,一個字段所需要存儲的數值最大有可能是多大,然後選擇適當的數據類型。
        為了能對字段所存放的數據有更多的控制,你可以使用NUMERIC型數據來同時表示一個數的整數部分和小數部分。 NUMERIC型數據使你能表示非常大的數——比INT型數據要大得多。一個NUMERIC型字段可以存儲從-1038到1038範圍內的數。 NUMERIC型數據還使你能表示有小數部分的數。例如,你可以在NUMERIC型字段中存儲小數3.14。
        當定義一個NUMERIC型字段時,你需要同時指定整數部分的大小和小數部分的大小。這裡有一個使用這種數據類型的例子:
         
            CREATE TABLE numeric_data (bignumber NUMERIC(28,0),
                                        fraction NUMERIC (5,4) )

        當這個語句執行時,將創建一個名為numeric_data的包含兩個字段的表。字段bignumber可以存儲直到28位的整數。字段fraction可以存儲有五位整數部分和四位小數部分的小數。
        一個NUMERIC型數據的整數部分最大隻能有28位,小數部分的位數必須小於或等於整數部分的位數,小數部分可以是零。
        你可以使用INT型或NUMERIC型數據來存儲錢數。但是,專門有另外兩種數據類型用於此目的。如果你希望你的網點能掙很多錢,你可以使用MONEY型數據。如果你的野心不大,你可以使用SMALLMONEY型數據。 MONEY型數據可以存儲從-922,337,203,685,477.5808到922,337,203,685,477.5807的錢數。如果你需要存儲比這還大的金額,你可以使用NUMERIC型數據。
         SMALLMONEY型數據只能存儲從-214,748.3648到214,748.3647的錢數。同樣,如果可以的話,你應該用SMALLMONEY型來代替MONEY型數據,以節省空間。下面的例子顯示瞭如何使用這兩種表示錢的數據類型:

           CREATE TABLE products (product VARCHAR(40),price MONEY,
                                    Discount_price SMALLMONEY)

        這個表可以用來存儲商品的折扣和普通售價。字段price的數據類型是MONEY,字段discount_price的數據類型是SMALLMONEY。

    存儲邏輯值
        如果你使用複選框(CHECKBOX)從網頁中蒐集信息,你可以把此信息存儲在BIT型字段中。 BIT型字段只能取兩個值:0或1。這裡有一個如何使用這種字段的例子:

         CREATE TABLE opinion (visitor VARCHAR(40),good BIT)

        這個表可以用來存放對你的網點進行民意調查所得的信息。訪問者可以投票表示他們是否喜歡你的網點。如果他們投YES,就在BIT型字段中存入1。反之,如果他們投NO,就在字段中存入0(在下一章裡,你將學會如何計算投票)。
        當心,在你創建好一個表之後,你不能向表中添加BIT型字段。如果你打算在一個表中包含BIT型字段,你必須在創建表時完成。

    存儲日期和時間
        當你建立一個網點時,你也許需要記錄在一段時間內的訪問者數量。為了能夠存儲日期和時間,你需要使用DATETIME型數據,如下例所示:

         CREATE TABL visitorlog( visitor VARCHAR (40), arrivaltime DATETIME ,
                                    departuretime DATETIME)

        這個表可以用來記錄訪問者進入和離開你網點的時間和日期。一個DATETIME型的字段可以存儲的日期範圍是從1753年1月1日第一毫秒到9999年12月31日最後一毫秒。
        如果你不需要覆蓋這麼大範圍的日期和時間,你可以使用SMALLDATETIME型數據。它與DATETIME型數據同樣使用,只不過它能表示的日期和時間範圍比DATETIME型數據小,而且不如DATETIME型數據精確。一個SMALLDATETIME型的字段能夠存儲從1900年1月1日到2079年6月6日的日期,它只能精確到秒。
         DATETIME型字段在你輸入日期和時間之前並不包含實際的數據,認識這一點是重要的。在下一章,你將學習怎樣使用大量的SQL函數來讀取和操作日期和時間(參見下面的“缺省值”一節)。你也可以在VBScript和JScript中使用日期和時間函數來向一個DATETIME型字段中輸入日期和時間。

    字段屬性
        上一節介紹瞭如何建立包含不同類型字段的表。在這一節中,你將學會如何使用字段的三個屬性。這些屬性允許你控制空值,缺省值和標識值。

    允許和禁止空值
        大多數字段可以接受空值(NULL)。當一個字段接受了空值後,如果你不改變它,它將一直保持空值。空值(NULL)和零是不同的,嚴格的說,空值表示沒有任何值。
    為了允許一個字段接受空值,你要在字段定義的後面使用表達式NULL。例如,下面的表中兩個字段都允許接受空值:
          
           CREATE TABLE empty (empty1 CHAR (40) NULL,empty2 INT NULL(
       
        注意:
         BIT型數據不能是空值。一個這種類型的字段必須取0或者1。

        有時你需要禁止一個字段使用空值。例如,假設有一個表存儲著信用卡號碼和信用卡有效日期,你不會希望有人輸入一個信用卡號碼但不輸入有效日期。為了強制兩個字段都輸入數據,你可以用下面的方法建立這個表:
          
           CREATE TABLE creditcards (creditcard_number CHAR(20) NOT NULL,
                                      Creditcard_expire DATETIME NOT NULL)
        注意字段定義的後面跟有表達式NOT NULL。通過包含表達式NOT NULL,你可以禁止任何人只在一個字段中插入數據,而不輸入另一個字段的數據。
        你將會發現,在你建設自己的網點過程中,這種禁止空值的能力是非常有用的。如果你指定一個字段不能接受空值,那麼當你試圖輸入一個空值時,會有錯誤警告。這些錯誤警告可以為程序調試提供有價值的線索。

    缺省值
        假設有一個存儲地址信息的表,這個表的字段包括街道、城市、州、郵政編碼和國家。如果你預計地址的大部分是在美國,你可以把這個值作為country字段的缺省值。
        為了在創建一個表時指定缺省值,你可以使用表達式DEFAULT。請看下面這個在創建表時使用缺省值的例子:
           
           CREATE TABLE addresses (street VARCHAR(60) NULL,
                                    city VARCHAR(40) NULL,
                                    state VARCHAR(20) NULL
                                    zip VARCHAR(20) NULL,
                                    country VARCHAR(30) DEFAULT ‘USA’)

        在這個例子中,字段country的缺省值被指定為美國。注意單引號的使用,引號指明這是字符型數據。為了給非字符型的字段指定缺省值,不要把該值擴在引號中:
        
           CREATE TABLE orders(price MONEY DEFAULT $38.00,
                                quantity INT DEFAULT 50,
                                 entrydate DATETIME DEFAULT GETDATE())

        在這個CREATE TABLE語句中,每個字段都指定了一個缺省值。注意DATETIME型字段entrydate所指定的缺省值,該缺省值是函數Getdate()的返回值,該函數返回當前的日期和時間。

    標識字段
        每個表可以有一個也只能有一個標識字段。一個標識字段是唯一標識表中每條記錄的特殊字段。例如,數據庫pubs中的表jobs包含了一個唯一標識每個工作標識字段:
        
           job_id job_desc
           …………………………………………………………….
    1 New Hire Job not specified
    2 Chief Executive officer
    3 Bushness Operations Manager
    4 Chief Financial Officier
    5 Publisher
     
        字段job_id為每個工作提供了唯一的一個數字。如果你決定增加一個新工作,新增記錄的job_id字段會被自動賦給一個新的唯一值。
        為了建立一個標識字段,你只需在字段定義後面加上表達式IDENTITY即可。你只能把NUMERIC型或INT型字段設為標識字段,這裡有一個例子:
      
            CREATE TABLE visitorID (theID NUBERIC(18) IDENTITY,name VARCHAR(40))
       
        這個語句所創建的表包含一個名為theid的標識字段。每當一個新的訪問者名字添加到這個表中時,這個字段就被自動賦給一個新值。你可以用這個表為你的站點的每一個用戶提供唯一標識。
        技巧:
        建立一個標示字段時,注意使用足夠大的數據類型。例如你使用TINYINT型數據,那麼你只能向表中添加255個記錄。如果你預計一個表可能會變得很大,你應該使用NUMERIC型數據。

        標識字段的存在會使你想嘗試許多不可能的事情。例如,你也許想利用標識字段來對記錄進行基於它們在表中位置的運算。你應該拋棄這種意圖。每個記錄的標識字段的值是互不相同的,但是,這並不禁止一個標識字段的標識數字之間存在間隔。例如,你永遠不要試圖利用一個表的標識字段來取出表中的前十個記錄。這種操作會導致失敗,比如說6號記錄和7號記錄根本不存在。

    使用SQL事務管理器創建新表
        你可以使用前面幾節所講的方法創建新表。但是,使用事務管理器創建新表會更容易。這一節介紹如何使用這個程序創建新表。
        從任務欄的SQL Sever程序組中選擇SQL Enterprise Manager,啟動該程序,你會看到如圖10.4所示的窗口。瀏覽服務管理器窗口中的樹形結構,選擇名為Database的文件夾。打開文件夾Database後,選擇你在第三章中所建立的數據庫。
        
    注意:
        如果你還沒有創建自己的數據庫,回到第三章創建它。你決不要向master,tempdb或任何其它系統數據庫中添加數據。
      
        在選擇了數據庫之後,你會看到一個名為Group/users的文件夾和一個名為objects的文件夾。打開文件夾objects,你會看到許多文件夾,其中一個名為Tables。用右鍵單擊文件夾Tables並選擇New table,就會出現如圖10.5所示的窗口。
        你可以使用Manager Tables窗口來創建一個新表。 Manager Tables窗口有7個列:Key,Column,Name,Datatype,Size,Nulls和Default。 Manager Tables窗口中的每一行標明表中一個字段的信息。

            圖10.4
                10.5

        要建立一個新表,你至少要輸入一行信息。在名為Column Name的列下面鍵入mycolumn。下一步,選擇Datatype列,並從下拉列表中選擇CHAR。當你在這兩個列中輸入信息後,窗口將是如圖10.6所示的樣子。

     圖10.6

        你已經建立了一個只有一個字段的簡單的表。單擊保存按扭保存這個新表。當要求你輸入新表的名字時,輸入mytable並單擊OK。現在這個表已經保存到了你的數據庫中。
    如果你打開服務管理器窗口中的文件夾Tables,你會看到你所建立的新表被列出。你可以雙擊該表的圖表來編輯它,這時Manager Tables窗口會重新出現,你可以增加新的字段並重新保存。
        用SQL事務管理器可以做的工作,你都可以用SQL語句來實現。但是,事務管理器使得建表過程變得更加簡單。

    向表中添加數據
        下一章將討論如何使用SQL向一個表中插入數據。但是,如果你需要向一個表中添加許多條記錄,使用SQL語句輸入數據是很不方便的。幸運的是,Microsoft SQL Sever帶有一個稱為Microsoft Query的客戶端應用程序,這個程序使得向表中添加數據變得容易了。
        啟動位於任務欄SQL Sever程序組中的Microsoft Query程序。從窗口頂部的菜單中選擇File|New Query。這時會顯示一個Select Data Source對話框(見圖10.7)。選擇你的數據源名字並單擊Use。
        
    圖10。7

        輸入你的登錄帳號和密碼後,程序要求你選擇一個表和一個數據庫。選擇你在上一節中所建立的表(mytable ),單擊按鈕Add,然後單擊按鈕Close關閉該對話框。
        在窗口的左上角會出現一個對話框,框中是取自表mytable的一列字段名。你可以雙擊任何一個字段,把它添加到主窗口中。如果你雙擊星號(*)字符,所有的字段都會被添加到主窗口中。
        如果你的表中有記錄,它們現在已經出現在主窗口的字段標題下面了。但是,因為你剛剛建立了這個表,表還是空的。要添加新記錄,選擇Records|Allow Editing,主窗口中就會出現一條新記錄。輸入一行數據完成這個記錄,就向表中添加了一條新記錄。
           
                    圖10。8

        當你轉到下一條新記錄時,你向上一條記錄中輸入的值會自動被保存。如果你需要,你可以用Microsoft Query向表中輸入幾百條記錄。

    刪除和修改表
        你應該在建立表之前仔細設計它們,因為你在改變一個已經存在的表時會受到很大的限制。例如,一旦已經建立了一個表,你就不能刪除表中的字段或者改變字段的數據類型。在這種情況你所能做的是刪除這個表,然後重頭開始(參見第十一章“中級SQL”中的“使用SQL創建記錄和表”一節)。
        要刪除一個表,你可以使用SQL語句DROP TABLE。例如,又從數據庫中徹底刪除表mytable,你要使用如下的語句:
        
            DROP TABLE mytable

        警告:
        使用DROP TABLE命令時一定要小心。一旦一個表被刪除之後,你將無法恢復它。

        當你建設一個站點時,你很可能需要向數據庫中輸入測試數據。而當你準備向世界提供你的網點時,你會想清空表中的這些測試信息。如果你想清除表中的所有數據但不刪除這個表,你可以使用TRUNCATE TABLE語句。例如,下面的這個SQL語句從表mytable中刪除所有數據:

             TRUNCATE TABLE mytable

        雖然你不能刪除和修改已經存在的字段,但你可以增加新字段。最容易的實現方法是使用SQL事務管理器中的Manager Tables窗口。你也可以使用SQL語句ALTER TABLE。下面是一個如何使用這種語句的例子:

          ALTER TABLE mytable ADD mynewcolumn INT NULL

        這個語句向表mytable中增加了一個新字段mynewcolumn。當你增加新字段時,你必須允許它接受空值,因為表中原來可能已經有了許多記錄。

    總結
        這一章向你介紹了SQL。使用SQL,你可以操作Microsoft SQL Sever數據庫。你已經學會了使用SELECT語句從數據庫中取出數據,你還學會了怎樣使用CREATE TABLE語句和SQL事務管理器來創建新表。最後,你學會瞭如何指明一系列重要的字段屬性。
    下一章將介紹如何使用索引來增強SQL查詢的操作。還將通過許多其它的SQL語句和函數,使你的SQL知識得到進一步擴充。

     

    第十一章中級SQL

                   本章內容
                    ■創建索引
                    ■SQL核心語句
                    ■集合函數
    ■其它常用的SQL表達式,
      函數,和過程

     

        第十章“SQL基礎”向你初步介紹了SQL。你學會瞭如何用SELECT語句進行查詢,你還學會瞭如何建立自己的表。在這一章裡,你將加深你的SQL知識。你將學習如何建立索引來加快查詢速度。你還將學會如果用更多的SQL語句和函數來操作表中的數據。

    建立索引
        假設你想找到本書中的某一個句子。你可以一頁一頁地逐頁搜索,但這會花很多時間。而通過使用本書的索引,你可以很快地找到你要搜索的主題。
        表的索引與附在一本書後面的索引非常相似。它可以極大地提高查詢的速度。對一個較大的表來說,通過加索引,一個通常要花費幾個小時來完成的查詢只要幾分鐘就可以完成。因此沒有理由對需要頻繁查詢的表增加索引。
        注意:
        當你的內存容量或硬盤空間不足時,也許你不想給一個表增加索引。對於包含索引的數據庫,SQL Sever需要一個可觀的額外空間。例如,要建立一個聚簇索引,需要大約1.2倍於數據大小的空間。要看一看一個表的索引在數據庫中所佔的空間大小,你可以使用系統存儲過程sp_spaceused,對象名指定為被索引的表名。

    聚簇索引和非聚簇索引
        假設你已經通過本書的索引找到了一個句子所在的頁碼。一旦已經知道了頁碼後,你很可能漫無目的翻尋這本書,直至找到正確的頁碼。通過隨機的翻尋,你最終可以到達正確的頁碼。但是,有一種找到頁碼的更有效的方法。
        首先,把書翻到大概一半的地方,如果要找的頁碼比半本書處的頁碼小,就書翻到四分之一處,否則,就把書翻到四分之三的地方。通過這種方法,你可以繼續把書分成更小的部分,直至找到正確的頁碼附近。這是找到書頁的非常有效的一種方法。
    SQL Sever的表索引以類似的方式工作。一個表索引由一組頁組成,這些頁構成了一個樹形結構。根頁通過指向另外兩個頁,把一個表的記錄從邏輯上分成和兩個部分。而根頁所指向的兩個頁又分別把記錄分割成更小的部分。每個頁都把記錄分成更小的分割,直至到達葉級頁。
        索引有兩種類型:聚簇索引和非聚簇索引。在聚簇索引中,索引樹的葉級頁包含實際的數據:記錄的索引順序與物理順序相同。在非聚簇索引中,葉級頁指向表中的記錄:記錄的物理順序與邏輯順序沒有必然的聯繫。
        聚簇索引非常象目錄表,目錄表的順序與實際的頁碼順序是一致的。非聚簇索引則更像書的標準索引表,索引表中的順序通常與實際的頁碼順序是不一致的。一本書也許有多個索引。例如,它也許同時有主題索引和作者索引。同樣,一個表可以有多個非聚簇索引。
        通常情況下,你使用的是聚簇索引,但是你應該對兩種類型索引的優缺點都有所理解。
        每個表只能有一個聚簇索引,因為一個表中的記錄只能以一種物理順序存放。通常你要對一個表按照標識字段建立聚簇索引。但是,你也可以對其它類型的字段建立聚簇索引,如字符型,數值型和日期時間型字段。
        從建立了聚簇索引的表中取出數據要比建立了非聚簇索引的表快。當你需要取出一定範圍內的數據時,用聚簇索引也比用非聚簇索引好。例如,假設你用一個表來記錄訪問者在你網點上的活動。如果你想取出在一定時間段內的登錄信息,你應該對這個表的DATETIME型字段建立聚簇索引。
        對聚簇索引的主要限制是每個表只能建立一個聚簇索引。但是,一個表可以有不止一個非聚簇索引。實際上,對每個表你最多可以建立249個非聚簇索引。你也可以對一個表同時建立聚簇索引和非聚簇索引。
        假如你不僅想根據日期,而且想根據用戶名從你的網點活動日誌中取數據。在這種情況下,同時建立一個聚簇索引和非聚簇索引是有效的。你可以對日期時間字段建立聚簇索引,對用戶名字段建立非聚簇索引。如果你發現你需要更多的索引方式,你可以增加更多的非聚簇索引。
        非聚簇索引需要大量的硬盤空間和內存。另外,雖然非聚簇索引可以提高從表中取數據的速度,它也會降低向表中插入和更新數據的速度。每當你改變了一個建立了非聚簇索引的表中的數據時,必須同時更新索引。因此你對一個表建立非聚簇索引時要慎重考慮。如果你預計一個表需要頻繁地更新數據,那麼不要對它建立太多非聚簇索引。另外,如果硬盤和內存空間有限,也應該限制使用非聚簇索引的數量。

    索引屬性
        這兩種類型的索引都有兩個重要屬性:你可以用兩者中任一種類型同時對多個字段建立索引(複合索引);兩種類型的索引都可以指定為唯一索引。
        你可以對多個字段建立一個複合索引,甚至是複合的聚簇索引。假如有一個表記錄了你的網點訪問者的姓和名字。如果你希望根據完整姓名從表中取數據,你需要建立一個同時對姓字段和名字字段進行的索引。這和分別對兩個字段建立單獨的索引是不同的。當你希望同時對不止一個字段進行查詢時,你應該建立一個對多個字段的索引。如果你希望對各個字段進行分別查詢,你應該對各字段建立獨立的索引。
        兩種類型的索引都可以被指定為唯一索引。如果對一個字段建立了唯一索引,你將不能向這個字段輸入重複的值。一個標識字段會自動成為唯一值字段,但你也可以對其它類型的字段建立唯一索引。假設你用一個表來保存你的網點的用戶密碼,你當然不希望兩個用戶有相同的密碼。通過強制一個字段成為唯一值字段,你可以防止這種情況的發生。

    用SQL建立索引
        為了給一個表建立索引,啟動任務欄SQL Sever程序組中的ISQL/w程序。進入查詢窗口後,輸入下面的語句:

            CREATE INDEX mycolumn_index ON mytable (myclumn)

        這個語句建立了一個名為mycolumn_index的索引。你可以給一個索引起任何名字,但你應該在索引名中包含所索引的字段名,這對你將來弄清楚建立該索引的意圖是有幫助的。
        注意:
        在本書中你執行任何SQL語句,都會收到如下的信息:
         This command did not return data,and it did not return any rows
    這說明該語句執行成功了。
    索引mycolumn_index對錶mytable的mycolumn字段進行。這是個非聚簇索引,也是個非唯一索引。 (這是一個索引的缺省屬性)
    如果你需要改變一個索引的類型,你必須刪除原來的索引並重建一個。建立了一個索引後,你可以用下面的SQL語句刪除它:

    DROP INDEX mytable.mycolumn_index

    注意在DROP INDEX語句中你要包含表的名字。在這個例子中,你刪除的索引是mycolumn_index,它是表mytable的索引。
    要建立一個聚簇索引,可以使用關鍵字CLUSTERED。 )記住一個表只能有一個聚簇索引。 (這裡有一個如何對一個表建立聚簇索引的例子:

    CREATE CLUSTERED INDEX mycolumn_clust_index ON mytable(mycolumn)

    如果表中有重複的記錄,當你試圖用這個語句建立索引時,會出現錯誤。但是有重複記錄的表也可以建立索引;你只要使用關鍵字ALLOW_DUP_ROW把這一點告訴SQL Sever即可:
     
    CREATE CLUSTERED INDEX mycolumn_cindex ON mytable(mycolumn)
                          WITH ALLOW_DUP_ROW

    這個語句建立了一個允許重複記錄的聚簇索引。你應該盡量避免在一個表中出現重複記錄,但是,如果已經出現了,你可以使用這種方法。
    要對一個表建立唯一索引,可以使用關鍵字UNIQUE。對聚簇索引和非聚簇索引都可以使用這個關鍵字。這裡有一個例子:

    CREATE UNIQUE COUSTERED INDEX myclumn_cindex ON mytable(mycolumn)

    這是你將經常使用的索引建立語句。無論何時,只要可以,你應該盡量對一個對一個表建立唯一聚簇索引來增強查詢操作。
    最後,要建立一個對多個字段的索引──複合索引──在索引建立語句中同時包含多個字段名。下面的例子對firstname和lastname兩個字段建立索引:

    CREATE INDEX name_index ON username(firstname,lastname)

    這個例子對兩個字段建立了單個索引。在一個複合索引中,你最多可以對16個字段進行索引。

    用事務管理器建立索引
    用事務管理器建立索引比用SQL語句容易的多。使用事務管理器,你可以看到已經建立的索引的列表,並可以通過圖形界面選擇索引選項。
    使用事務管理器你可以用兩種方式建立索引:使用Manage Tables窗口或使用Manage Indexes窗口。
        要用Manage Tables窗口建立一個新索引,單擊按鈕Advanced Options(它看起來像一個前面有一加號的表)。這樣就打開了Advanced Options對話框。這個對話框有一部分標名為Primary Key(見圖11.1)。
     
    圖11。1

    要建立一個新索引,從下拉列表中選擇你想對之建立索引的字段名。如果你想建立一個對多字段的索引,你可以選擇多個字段名。你還可以選擇索引是聚簇的還是非聚簇的。在保存表信息後,索引會自動被建立。在Manage Tables窗口中的字段名旁邊,會出現一把鑰匙。
    你已經為你的表建立了“主索引”。主索引必須對不包含空值的字段建立。另外,主索引強制一個字段成為唯一值字段。
    要建立沒有這些限制的索引,你需要使用Manage Indexes窗口。從菜單中選擇Manage|Indexes,打開Manage Indexes窗口。在Manage Indexes窗口中,你可以通過下拉框選擇表和特定的索引。 (見圖11.2)。要建立一個新索引,從Index下拉框中選擇New Index.,然後就可以選擇要對之建立索引的字段。單擊按鈕Add,把字段加人到索引中。

    圖11。2

    你可以為你的索引選擇許多不同的選項。例如,你可以選擇該索引是聚簇的還是非聚簇的。你還可以指定該索引為唯一索引。設計好索引後,單擊按鈕Build,建立該索引。

    注意:
    唯一索引是指該字段不能有重複的值,而不是只能建立這一個索引。

    SQL核心語句
    在第十章,你學會瞭如何用SQL SELECT語句從一個表中取數據。但是,到現在為止,還沒有討論如何添加,修改或刪除表中的數據。在這一節中,你將學習這些內容。

    插入數據
    向表中添加一個新記錄,你要使用SQL INSERT語句。這裡有一個如何使用這種語句的例子:

          INSERT mytable (mycolumn) VALUES (‘some data’)

    這個語句把字符串’some data’插入表mytable的mycolumn字段中。將要被插入數據的字段的名字在第一個括號中指定,實際的數據在第二個括號中給出。
    INSERT語句的完整句法如下:

    INSERT [INTO] {table_name|view_name} [(column_list)] {DEFAULT VALUES |
                     Values_list | select_statement}

    如果一個表有多個字段,通過把字段名和字段值用逗號隔開,你可以向所有的字段中插入數據。假設表mytable有三個字段first_column,second_column,和third_column。下面的INSERT語句添加了一條三個字段都有值的完整記錄:

    INSERT mytable (first_column,second_column,third_column)
             VALUES (‘some data’,’some more data’,’yet more data’)

    注意:
    你可以使用INSERT語句向文本型字段中插入數據。但是,如果你需要輸入很長的字符串,你應該使用WRITETEXT語句。這部分內容對本書來說太高級了,因此不加討論。要了解更多的信息,請參考Microsoft SQL Sever的文檔。

    如果你在INSERT語句中只指定兩個字段和數據會怎麼樣呢?換句話說,你向一個表中插入一條新記錄,但有一個字段沒有提供數據。在這種情況下,有下面的四種可能:
    ■如果該字段有一個缺省值,該值會被使用。例如,假設你插入新記錄時沒有給字段third_column提供數據,而這個字段有一個缺省值’some value’。在這種情況下,當新記錄建立時會插入值’some value’。
    ■如果該字段可以接受空值,而且沒有缺省值,則會被插入空值。
    ■如果該字段不能接受空值,而且沒有缺省值,就會出現錯誤。你會收到錯誤信息:
    The column in table mytable may not be null.
    ■最後,如果該字段是一個標識字段,那麼它會自動產生一個新值。當你向一個有標識字段的表中插入新記錄時,只要忽略該字段,標識字段會給自己賦一個新值。

        注意:
        向一個有標識字段的表中插入新記錄後,你可以用SQL變量@@identity來訪問新記錄
    的標識字段的值。考慮如下的SQL語句:

          INSERT mytable (first_column) VALUES(‘some value’)

          INSERT anothertable(another_first,another_second)
              VALUES(@@identity,’some value’)

        如果表mytable有一個標識字段,該字段的值會被插入表anothertable的another_first字段。這是因為變量@@identity總是保存最後一次插入標識字段的值。
    字段another_first應該與字段first_column有相同的數據類型。但是,字段another_first不能是應該標識字段。 Another_first字段用來保存字段first_column的值。

    刪除記錄
    要從表中刪除一個或多個記錄,需要使用SQL DELETE語句。你可以給DELETE語句提供WHERE子句。 WHERE子句用來選擇要刪除的記錄。例如,下面的這個DELETE語句只刪除字段first_column的值等於’Delete Me’的記錄:
     
    DELETE mytable WHERE first_column=’Deltet Me’

    DELETE語句的完整句法如下:

            DELETE [FROM] {table_name|view_name} [WHERE clause]

    在SQL SELECT語句中可以使用的任何條件都可以在DELECT語句的WHERE子句中使用。例如,下面的這個DELETE語句只刪除那些first_column字段的值為’goodbye’或second_column字段的值為’so long’的記錄:

    DELETE mytable WHERE first_column=’goodby’ OR second_column=’so long’

    如果你不給DELETE語句提供WHERE子句,表中的所有記錄都將被刪除。你不應該有這種想法。如果你想刪除應該表中的所有記錄,應使用第十章所講的TRUNCATE TABLE語句。

    注意:
    為什麼要用TRUNCATE TABLE語句代替DELETE語句?當你使用TRUNCATE TABLE語句時,記錄的刪除是不作記錄的。也就是說,這意味著TRUNCATE TABLE要比DELETE快得多。

    更新記錄
    要修改表中已經存在的一條或多條記錄,應使用SQL UPDATE語句。同DELETE語句一樣,UPDATE語句可以使用WHERE子句來選擇更新特定的記錄。請看這個例子:

    UPDATE mytable SET first_column=’Updated!’ WHERE second_column=’Update Me!’

    這個UPDATE語句更新所有second_column字段的值為’Update Me!’的記錄。對所有被選中的記錄,字段first_column的值被置為’Updated!’。
    下面是UPDATE語句的完整句法:

    UPDATE {table_name|view_name} SET [{table_name|view_name}]
            {column_list|variable_list|variable_and_column_list}
            [,{column_list2|variable_list2|variable_and_column_list2}…
             [,{column_listN|variable_listN|variable_and_column_listN}]]
             [WHERE clause]

    注意:
    你可以對文本型字段使用UPDATE語句。但是,如果你需要更新很長的字符串,應使用UPDATETEXT語句。這部分內容對本書來說太高級了,因此不加討論。要了解更多的信息,請參考Microsoft SQL Sever的文檔。

        
    如果你不提供WHERE子句,表中的所有記錄都將被更新。有時這是有用的。例如,如果你想把表titles中的所有書的價格加倍,你可以使用如下的UPDATE語句:
    你也可以同時更新多個字段。例如,下面的UPDATE語句同時更新first_column,second_column,和third_column這三個字段:

    UPDATE mytable SET first_column=’Updated!’
                          Second_column=’Updated!’
                          Third_column=’Updated!’
                      WHERE first_column=’Update Me1’

    技巧:
    SQL忽略語句中多餘的空格。你可以把SQL語句寫成任何你最容易讀的格式。

    用SELECT創建記錄和表
    你也許已經註意到,INSERT語句與DELETE語句和UPDATE語句有一點不同,它一次只操作一個記錄。然而,有一個方法可以使INSERT語句一次添加多個記錄。要作到這一點,你需要把INSERT語句與SELECT語句結合起來,像這樣:

    INSERT mytable (first_column,second_column)
    SELECT another_first,another_second
    FROM anothertable
    WHERE another_first=’Copy Me!’

    這個語句從anothertable拷貝記錄到mytable.只有表anothertable中字段another_first的值為’Copy Me! ’的記錄才被拷貝。
    當為一個表中的記錄建立備份時,這種形式的INSERT語句是非常有用的。在刪除一個表中的記錄之前,你可以先用這種方法把它們拷貝到另一個表中。
    如果你需要拷貝整個表,你可以使用SELECT INTO語句。例如,下面的語句創建了一個名為newtable的新表,該表包含表mytable的所有數據:
     
    SELECT * INTO newtable FROM mytable

    你也可以指定只有特定的字段被用來創建這個新表。要做到這一點,只需在字段列表中指定你想要拷貝的字段。另外,你可以使用WHERE子句來限制拷貝到新表中的記錄。下面的例子只拷貝字段second_columnd的值等於’Copy Me!’的記錄的first_column字段。
     
    SELECT first_column INTO newtable
    FROM mytable
    WHERE second_column=’Copy Me!’

    使用SQL修改已經建立的表是很困難的。例如,如果你向一個表中添加了一個字段,沒有容易的辦法來去除它。另外,如果你不小心把一個字段的數據類型給錯了,你將沒有辦法改變它。但是,使用本節中講述的SQL語句,你可以繞過這兩個問題。
    例如,假設你想從一個表中刪除一個字段。使用SELECT INTO語句,你可以創建該表的一個拷貝,但不包含要刪除的字段。這使你既刪除了該字段,又保留了不想刪除的數據。
    如果你想改變一個字段的數據類型,你可以創建一個包含正確數據類型字段的新表。創建好該表後,你就可以結合使用UPDATE語句和SELECT語句,把原來表中的所有數據拷貝到新表中。通過這種方法,你既可以修改表的結構,又能保存原有的數據。

    集合函數
    到現在為止,你只學習瞭如何根據特定的條件從表中取出一條或多條記錄。但是,假如你想對一個表中的記錄進行數據統計。例如,如果你想統計存儲在表中的一次民意測驗的投票結果。或者你想知道一個訪問者在你的站點上平均花費了多少時間。要對錶中的任何類型的數據進行統計,都需要使用集合函數。
    Microsoft SQL支持五種類型的集合函數。你可以統計記錄數目,平均值,最小值,最大值,或者求和。當你使用一個集合函數時,它只返回一個數,該數值代表這幾個統計值之一。

    注意:
    要在你的ASP網頁中使用集合函數的返回值,你需要給該值起一個名字。要作到這一點,你可以在SELECT語句中,在集合函數後面緊跟一個字段名,如下例所示:

    SELECT AVG(vote) ‘the_average’ FROM opinion

    在這個例子中,vote的平均值被命名為the_average。現在你可以在你的ASP網頁的數據庫方法中使用這個名字。

    統計字段值的數目
    函數COUNT()也許是最有用的集合函數。你可以用這個函數來統計一個表中有多少條記錄。這裡有一個例子:

    SELECT COUNT(au_lname) FROM authors

    這個例子計算表authors中名字(last name)的數目。如果相同的名字出現了不止一次,該名字將會被計算多次。如果你想知道名字為某個特定值的作者有多少個,你可以使用WHERE子句,如下例所示:

    SELECT COUNT(au_lname) FROM authors WHERE au_lname=’Ringer’

    這個例子返回名字為’Ringer’的作者的數目。如果這個名字在表authors中出現了兩次,則次函數的返回值是2。
    假如你想知道有不同名字的作者的數目。你可以通過使用關鍵字DISTINCT來得到該數目。如下例所示:

    SELECT COUNT(DISTINCT au_lname) FROM authors

    如果名字’Ringer’出現了不止一次,它將只被計算一次。關鍵字DISTINCT決定了只有互不相同的值才被計算。
    通常,當你使用COUNT()時,字段中的空值將被忽略。一般來說,這正是你所希望的。但是,如果你僅僅想知道表中記錄的數目,那麼你需要計算表中所有的記錄─不管它是否包含空值。下面是一個如何做到這一點的例子:

    SELECT COUNT(*) FROM authors

    注意函數COUNT()沒有指定任何字段。這個語句計算表中所有記錄所數目,包括有空值的記錄。因此,你不需要指定要被計算的特定字段。
    函數COUNT()在很多不同情況下是有用的。例如,假設有一個表保存了對你站點的質量進行民意調查的結果。這個表有一個名為vote的字段,該字段的值要么是0,要么是1。0表示反對票,1表示贊成票。要確定贊成票的數量,你可以所有下面的SELECT語句:

    SELECT COUNT(vote) FROM opinion_table WHERE vote=1

    計算字段的平均值
    使用函數COUNT(),你可以統計一個字段中有多少個值。但有時你需要計算這些值的平均值。使用函數AVG(),你可以返回一個字段中所有值的平均值。
    假如你對你的站點進行一次較為複雜的民意調查。訪問者可以在1到10之間投票,表示他們喜歡你站點的程度。你把投票結果保存在名為vote的INT型字段中。要計算你的用戶投票的平均值,你需要使用函數AVG():

    SELECT AVG(vote) FROM opinion

    這個SELECT語句的返回值代表用戶對你站點的平均喜歡程度。函數AVG()只能對數值型字段使用。這個函數在計算平均值時也忽略空值。

    計算字段值的和
    假設你的站點被用來出售卡片,已經運行了兩個月,是該計算賺了多少錢的時候了。假設有一個名為orders的表用來記錄所有訪問者的定購信息。要計算所有定購量的總和,你可以使用函數SUM():

    SELECT SUM(purchase_amount) FROM orders

    函數SUM()的返回值代表字段purchase_amount中所有值的平均值。字段purchase_amount的數據類型也許是MONEY型,但你也可以對其它數值型字段使用函數SUM()。

    返回最大值或最小值
    再一次假設你有一個表用來保存對你的站點進行民意調查的結果。訪問者可以選擇從1到10的值來表示他們對你站點的評價。如果你想知道訪問者對你站點的最高評價,你可以使用如下的語句:

    SELECT MAX(vote) FROM opinion

    你也許希望有人對你的站點給予了很高的評價。通過函數MAX(),你可以知道一個數值型字段的所有值中的最大值。如果有人對你的站點投了數字10,函數MAX()將返回該值。
    另一方面,假如你想知道訪問者對你站點的的最低評價,你可以使用函數MIN(),如下例所示:

    SELECT MIN(vote) FROM opinion

    函數MIN()返回一個字段的所有值中的最小值。如果字段是空的,函數MIN()返回空值。

    其它常用的SQL表達式,函數,和過程
    這一節將介紹一些其它的SQL技術。你將學習如何從表中取出數據,其某個字段的值處在一定的範圍,你還將學習如何把字段值從一種類型轉換成另一種類型,如何操作字符串和日期時間數據。最後,你將學會一個發送郵件的簡單方法。

    通過匹配一定範圍的值來取出數據
    假設你有一個表用來保存對你的站點進行民意調查的結果。現在你想向所有對你的站點的評價在7到10之間的訪問者發送書面的感謝信。要得到這些人的名字,你可以使用如下的SELECT語句:

    SELECT username FROM opinion WHERE vote>6 and vote<11

    這個SELECT語句會實現你的要求。你使用下面的SELECT語句也可以得到同樣的結果:

    SELECT username FROM opinion WHERE vote BETWEEN 7 AND 10

    這個SELECT語句與上一個語句是等價的。使用哪一種語句是編程風格的問題,但你會發現使用表達式BETWEEN的語句更易讀。
    現在假設你只想取出對你的站點投了1或者10的訪問者的名字。要從表opinion中取出這些名字,你可以使用如下的SELECT語句:

    SELECT username FROM opinion WHERE vote=1 or vote

       這個SELECT語句會返回正確的結果,沒有理由不使用它。但是,存在一種等價的方式。使用如下的SELECT可以得到相同的結果:

    SELECT username FROM opinion WHERE vote IN (1,10)

    注意表達式IN的使用。這個SELECT語句只取出vote的值等於括號中的值之一的記錄。
    你也可以使用IN來匹配字符數據。例如,假設你只想取出Bill Gates或President Clinton的投票值。你可以使用如下的SELECT語句:

    SELECT vote FROM opinion WHERE username IN (‘Bill Gates’,’President Clinton’)

    最後,你可以在使用BETWEEN或IN的同時使用表達式NOT。例如,要取出那些投票值不在7到10之間的人的名字,你可以使用如下的SELECT語句:

    SELECT username FROM opinion WHERE vote NOT BETWEEN 7 and 10

    要選取那些某個字段的值不在一列值之中的記錄,你可以同時使用NOT和IN,如下例所示:

    SELECT vote FROM opinion
                 WHERE username NOT IN (‘Bill Gates’,’President Clinton’)

    你不是必須在SQL語句中使用BETWEEN或IN,但是,要使你的查詢更接近自然語言,這兩個表達式是有幫助的。

    轉換數據
    SQL Sever足夠強大,可以在需要的時候把大部分數值從一種類型轉換為另一種類型。例如,要比較SMALLINT型和INT型數據的大小,你不需要進行顯式的類型轉換。 SQL Sever會為你完成這項工作。但是,當你想在字符型數據和其它類型的數據之間進行轉換時,你的確需要自己進行轉換操作。例如,假設你想從一個MONEY型字段中取出所有的值,並在結果後面加上字符串“US Dollars”。你需要使用函數CONVERT(),如下例所示:

    SELECT CONVERT(CHAR(8),price)+’US Dollars’ FROM orders

    函數CONVERT()帶有兩個變量。第一個變量指定了數據類型和長度。第二個變量指定了要進行轉換的字段。在這個例子中,字段price被轉換成長度為8個字符的CHAR型字段。字段price要被轉換成字符型,才可以在它後面連接上字符串’US Dollars’。
    當向BIT型,DATETIME型,INT型,或者NUMERIC型字段添加字符串時,你需要進行同樣的轉換操作。例如,下面的語句在一個SELECT語句的查詢結果中加入字符串’The vote is’,該SELECT語句返回一個BIT型字段的值:

    SELECT ‘The vote is’+CONVERT(CHAR(1),vote) FROM opinion

    下面是這個語句的結果示例:

    The vote is 1
    The vote is 1
    The vote is 0
    (3 row(s) affected)

    如果你不進行顯式的轉換,你會收到如下的錯誤信息:
    Implicit conversion from datatype ‘varchar’ to ‘bit’ is not allowec.
    Use the CONVERT function to run this query.

    操作字符串數據
    SQL Sever有許多函數和表達式,使你能對字符串進行有趣的操作,包括各種各樣的模式匹配和字符轉換。在這一節中,你將學習如何使用最重要的字符函數和表達式。

    匹配通配符
    假設你想建立一個與Yahoo功能相似的Internet目錄。你可以建立一個表用來保存一系列的站點名稱,統一資源定位器(URL),描述,和類別,並允許訪問者通過在HTML form中輸入關鍵字來檢索這些內容。
    假如有一個訪問者想從這個目錄中得到其描述中包含關鍵字trading card的站點的列表。要取出正確的站點列表,你也許試圖使用這樣的查詢:

    SELECT site_name FROM site_directory WHERE site_desc=’trading card’

    這個查詢可以工作。但是,它只能返回那些其描述中只有trading card這個字符串的站點。例如,一個描述為We have the greatest collection of trading cards in the world!的站點不會被返回。
    要把一個字符串與另一個字符串的一部分相匹配,你需要使用通配符。你使用通配符和關鍵字LIKE來實現模式匹配。下面的語句使用通配符和關鍵字LIKE重寫了上面的查詢,以返回所有正確站點的名字:
     
    SELECT SITE_name FROM site_directory
                      WHERE site_desc LIKE ‘%trading cark%’

        在這個例子中,所有其描述中包含表達式trading card的站點都被返回。描述為We have the greatest collection of trading cards in the world!的站點也被返回。當然,如果一個站點的描述中包含I am trading cardboard boxes online ,該站點的名字也被返回。
    注意本例中百分號的使用。百分號是通配符的例子之一。它代表0個或多個字符。通過把trading card括在百分號中,所有其中嵌有字符串trading card的字符串都被匹配。
    現在,假設你的站點目錄變得太大而不能在一頁中完全顯示。你決定把目錄分成兩部分。在第一頁,你想顯示所有首字母在A到M之間的站點。在第二頁,你想顯示所有首字母在N到Z之間的站點。要得到第一頁的站點列表,你可以使用如下的SQL語句:

    SELECT site_name FROM site_directory WHERE site_name LIKE ‘[AM]%’

    在這個例子中使用了表達式[AM],只取出那些首字母在A到M之間的站點。中括號([])用來匹配處在指定範圍內的單個字符。要得到第二頁中顯示的站點,應使用這個語句:

    SELECT site_name FROM site_directory
                      WHERE site_name LIKE ‘[N-Z]%’

    在這個例子中,括號中的表達式代表任何處在N到Z之間的單個字符。
    假設你的站點目錄變得更大了,你現在需要把目錄分成更多頁。如果你想顯示那些以A,B或C開頭的站點,你可以用下面的查詢來實現:
     
    SELECT site_name FROM site_directory WHERE site_name LIKE ‘[ABC]%’

    在這個例子中,括號中的表達式不再指定一個範圍,而是給出了一些字符。任何一個其名字以這些字符中的任一個開頭的站點都將被返回。
    通過在括號內的表達式中同時包含一個範圍和一些指定的字符,你可以把這兩種方法結合起來。例如,用下面的這個查詢,你可以取出那些首字母在C到F之間,或者以字母Y開頭的站點:

    SELECT site_name FROM site_directory WHERE site_name LIKE ‘[C-FY]%’

    在這個例子中,名字為Collegescape和Yahoo的站點會被選取,而名字為Magicw3的站點則不會被選取。
    你也可以使用脫字符(^)來排除特定的字符。例如,要得到那些名字不以Y開頭的站點,你可以使用如下的查詢:

    SELECT site_name FROM site_directory WHERE site_name LIKE ‘[^Y]%’

    對給定的字符或字符範圍均可以使用脫字符。
    最後,通過使用下劃線字符(_),你可以匹配任何單個字符。例如,下面這個查詢返回每一個其名字的第二個字符為任何字母的站點:

    SELECT site_name FROM site_directory WHERE site_name LIKE ‘M_crosoft’

    這個例子既返回名為Microsoft的站點,也返回名為Macrosoft的站點。但是,名字為Moocrosoft的站點則不被返回。與通配符’%’不同,下劃線只代表單個字符。

    注意:
    如果你想匹配百分號或下劃線字符本身,你需要把它們括在方括號中。如果你想匹配連字符(-),應把它指定為方括號中的第一個字符。如果你想匹配方括號,應把它們也括在方括號中。例如,下面的語句返回所有其描述中包含百分號的站點:

         SELECT site_name FROM site_directory WHERE site_desc LIKE ‘%[%]%’
    匹配發音
    Microsoft SQL有兩個允許你按照發音來匹配字符串的函數。函數SOUNDEX()給一個字符串分配一個音標碼,函數DIFFERENCE()按照發音比較兩個字符串。當你不知道一個名字的確切拼寫,但多少知道一點它的發音時,使用這兩個函數將有助於你取出該記錄。
    例如,如果你建立一個Internet目錄,你也許想增加一個選項,允許訪問者按照站點名的發音來搜索站點,而不是按名字的拼寫。考慮如下的語句:

    SELECT site_name FROM site_directory
                      WHERE DIFFERENCE(site_name , ‘Microsoft’>3

    這個語句使用函數DEFFERENCE()來取得其名字的發音與Microsoft非常相似的站點。函數DIFFERENCE()返回一個0到4之間的數字。如果該函數返回4,表示發音非常相近;如果該函數返回0,說明這兩個字符串的發音相差很大。
    例如,上面的語句將返回站點名Microsoft和Macrosoft。這兩個名字的發音與Microsoft都很相似。如果你把上一語句中的大於3改為大於2,那麼名為Zicrosoft和Megasoft的站點也將被返回。最後,如果你只需要差別等級大於1即可,則名為Picosoft和Minisoft的站點也將被匹配。
    要深入了解函數DIFFERENCE()是如何工作的,你可以用函數SOUNDEX()來返回函數DIFFERENCE()所使用的音標碼。這裡有一個例子:

    SELECT site_name ‘site name’,SOUNDEX(site_name) ‘sounds like’

    這個語句選取字段site_name的所有數據及其音標碼。下面是這個查詢的結果:

    site name sounds like
    ……………………………………………………………….
    Yahoo Y000
    Mahoo M000
    Microsoft M262
    Macrosoft M262
    Minisoft M521
    Microshoft M262
    Zicrosoft Z262
    Zaposoft Z121
    Millisoft M421
    Nanosoft N521
    Megasoft M221
    Picosoft P221
    (12 row(s) affected)

    如果你仔細看一下音標碼,你會注意到音標碼的第一個字母與字段值的第一個字母相同。例如,Yahoo和Mahoo的音標碼只有第一個字母不同。你還可以發現Microsoft和Macrosoft的音標碼完全相同。
    函數DIFFERENDE()比較兩個字符串的第一個字母和所有的輔音字母。該函數忽略任何元音字母(包括y),除非一個元音字母是一個字符串的第一個字母。
    不幸的是,使用SOUNDEX()和DIFFERENCE()有一個欠缺。 WHERE子句中包含這兩個函數的查詢執行起來效果不好。因此,你應該小心使用這兩個函數。

    刪除空格
    有兩個函數,TTRIM()和LTRIM(),可以用來從字符串中剪掉空格。函數LTRIM()去除應該字符串前面的所有空格;函數RTRIM()去除一個字符串尾部的所有空格。這裡有一個任何使用函數RTRIM()的例子:

    SELECT RTRIM(site_name) FROM site_directory

    在這個例子中,如果任何一個站點的名字尾部有多餘的空格,多餘的空格將從查詢結果中刪去。
    你可以嵌套使用這兩個函數,把一個字符串前後的空格同時刪去:

    SELECT LTRIM(RTRIM(site_name) FROM site_directory

    你會發現,在從CHAR型字段中剪掉多餘的空格時,這兩個函數非常有用。記住,如果你把一個字符串保存在CHAR型字段中,該字符串會被追加多餘的空格,以匹配該字段的長度。用這兩個函數,你可以去掉無用的空格,從而解決這個問題。

    操作日期和時間
    日期和時間函數對建立一個站點是非常有用的。站點的主人往往對一個表中的數據何時被更新感興趣。通過日期和時間函數,你可以在毫秒級跟踪一個表的改變。

    返回當前日期和時間
    通過函數GETDATE(),你可以獲得當前的日期和時間。例如,語句SELECT GETDATE()返回如下的結果:
    ……………………………..
         NOV 30 1997 3:29AM
    (1 row(s) affected)

    顯然,如果你將來使用這個函數,你得到的日期將比這個時間晚,或者梗早。
    函數GETDATE()可以用來作為DATEDIME()型字段的缺省值。這對插入記錄時保存當時的時間是有用的。例如,假設有一個表用來保存你站點上的活動日誌。每當有一個訪問者訪問到你的站點時,就在表中添加一條新記錄,記下訪問者的名字,活動,和進行訪問的時間。要建立一個表,其中的記錄包含有當前的日期和時間,可以添加一個DATETIME型字段,指定其缺省值為函數GETDATE()的返回值,就像這樣:

    CREATE TABLE site_log (
            username VARCHAR(40),
            useractivity VARCHAR(100),
            entrydate DATETIME DEFAULT GETDATE())

    轉換日期和時間
    你也許已經註意到,在上一節的例子中,函數GETDATE()的返回值在顯示時只顯示到秒。實際上,SQL Sever內部時間可以精確到毫秒級(確切地說,可以精確到3.33毫秒)。
    要得到不同格式的日期和時間,你需要使用函數CONVERT()。例如,當下面的這個語句執行時,顯示的時間將包括毫秒:

    SELECT CONVERT(VARCHAR(30),GETDATE(),9)

    注意例子中數字9的使用。這個數字指明了在顯示日期和時間時使用哪種日期和時間格式。當這個語句執行時,將顯示如下的日期和時間:
    …………………………………..
    Nov 30 1997 3:29:55:170AM
    (1 row(s) affected)

    在函數CONVERT()中你可以使用許多種不同風格的日期和時間格式。表11.1顯示了所有的格式。

    表11.1日期和時間的類型
    類型值標準輸出
        0 Default mon dd yyyy hh:miAM
        1 USA mm/dd/yy
        2 ANSI yy.mm.dd
        3 British/French dd/mm/yy
        4 German dd.mm.yy
        5 Italian dd-mm-yy
        6 – dd mon yy
        7 – mon dd,yy
        8 – hh:mi:ss
    9 Default + milliseconds–mon dd yyyy
    hh:mi:ss:mmmAM(or )
        10 USA mm-dd-yy
        11 JAPAN yy/mm/dd
        12 ISO yymmdd
        13 Europe Default + milliseconds–dd mon yyyy
                                            hh:mi:ss:mmm(24h)
        14 – hh:mi:ss:mmm(24h)

       類型0,9,和13總是返回四位的年。對其它類型,要顯示世紀,把style值加上100。類型13和14返回24小時時鐘的時間。類型0,7,和13返回的月份用三位字符表示(用Nov代表November).

    對錶11.1中所列的每一種格式,你可以把類型值加上100來顯示有世紀的年(例如,00年將顯示為2000年)。例如,要按日本標準顯示日期,包括世紀,你應使用如下的語句:

    SELECT CONVERT(VARCHAR(30),GETDATE(),111)

        在這個例子中,函數CONVERT()把日期格式進行轉換,顯示為1997/11/30

    抽取日期和時間
    在許多情況下,你也許只想得到日期和時間的一部分,而不是完整的日期和時間。例如,假設你想列出你的站點目錄中每個站點被查詢的月份。這時你不希望完整的日期和時間把網頁弄亂。為了抽取日期的特定部分,你可以使用函數DATEPART(),像這樣:

    SELECT site_name ‘Site Name’,
    DATEPART(mm,site_entrydate) ‘Month Posted’ FROM site_directory

    函數DATEPART()的參數是兩個變量。第一個變量指定要抽取日期的哪一部分;第二個變量是實際的數據。在這個例子中,函數DATEPART()抽取月份,因為mm代表月份。下面是這個SELECT語句的輸出結果:

    Site Name Month Posted
    ………………………………………………………………
    Yahoo 2
    Microsoft 5
    Magicw3 5
    (3 row(s) affected)

        Month Posted列顯示了每個站點被查詢的月份。函數DATEPART()的返回值是一個整數。你可以用這個函數抽取日期的各個不同部分,如表11.2所示。

    表11.2日期的各部分及其簡寫
    日期部分簡寫值
    year yy 1753–9999
    quarter qq 1–4
    month mm 1–12
    day of year dy 1–366
    day dd 1–31
    week wk 1–53
    weekday dw 1–7(Sunday–Saturday)
    hour hh 0–23
    minute mi 0–59
    second ss 0–59
    milisecond ms 0–999

    當你需要進行日期和時間的比較時,使用函數DATEPART()返回整數是有用的。但是,上例中的查詢結果(2,5)不是十分易讀。要以更易讀的格式得到部分的日期和時間,你可以使用函數DATENAME(),如下例所示:
     
    SELECT site_name ‘Site Name’
    DATENAME(mm,site_entrydate) ‘Month Posted’
    FROM site_directory

    函數DATENAME()和函數DATEPART()接收同樣的參數。但是,它的返回值是一個字符串,而不是一個整數。下面是上例該用DATENAME()得到的結果:

    Site Name Month Postec
    ………………………………………………………………….
    Yahoo February
    Microsoft June
    Magicw3 June
    (3 row(s) affected)

    你也可以用函數DATENAE()來抽取一個星期中的某一天。下面的這個例子同時抽取一周中的某一天和日期中的月份:

    SELECT site_name ‘Site Name’,
    DATENAME(dw,site_entrydate)+ ‘-’ + DATENAME(mm,site_entrydate)
              ‘Day and Month Posted’ FORM site_directory

    這個例子執行時,將返回如下的結果:

    Site Name Day and Month Posted
    ………………………………………………………………………
    Yahoo Friday – February
    Microsoft Tuesday – June
    Magicw3 Monday – June
    (3 row(s) affected)

    返回日期和時間範圍
    當你分析表中的數據時,你也許希望取出某個特定時間的數據。你也許對特定的某一天中――比如說2000年12月25日――訪問者在你站點上的活動感興趣。要取出這種類型的數據,你也許會試圖使用這樣的SELECT語句:

    SELECT * FROM weblog WHERE entrydate=”12/25/20000”

    不要這樣做。這個SELECT語句不會返回正確的記錄――它將只返回日期和時間是12/25/2000 12:00:00:000AM的記錄。換句話說,只有剛好在午夜零點輸入的記錄才被返回。

    注意:
    在本節的討論中,假設字段entrydate是DATETIME型,而不是SMALLDATETIME型。本節的討論對SMALLDATETIME型字段也是適用的,不過SMALLDATETIME型字段只能精確到秒。

    問題是SQL Sever將用完整的日期和時間代替部分日期和時間。例如,當你輸入一個日期,但不輸入時間時,SQL Sever將加上缺省的時間“12:00:00:000AM”。當你輸入一個時間,但不輸入日期時,SQL Sever將加上缺省的日期“Jan 1 1900”。
    要返回正確的記錄,你需要適用日期和時間範圍。有不止一種途徑可以做到這一點。例如,下面的這個SELECT語句將能返回正確的記錄:

    SELECT * FROM weblog
    WHERE entrydate>=”12/25/2000” AND entrydate<”12/26/2000”

    這個語句可以完成任務,因為它選取的是表中的日期和時間大於等於12/25/2000 12:00:00:000AM並小於12/26/2000 12:00:00:000AM的記錄。換句話說,它將正確地返回2000年聖誕節這一天輸入的每一條記錄。
    另一種方法是,你可以使用LIKE來返回正確的記錄。通過在日期表達式中包含通配符“%”,你可以匹配一個特定日期的所有時間。這裡有一個例子:

    SELECT * FROM weblog WHERE entrydate LIKE ‘Dec 25 2000%’

    這個語句可以匹配正確的記錄。因為通配符“%”代表了任何時間。
    使用這兩種匹配日期和時間範圍的函數,你可以選擇某個月,某一天,某一年,某個小時,某一分鐘,某一秒,甚至某一毫秒內輸入的記錄。但是,如果你使用LIKE來匹配秒或毫秒,你首先需要使用函數CONVERT()把日期和時間轉換為更精確的格式(參見前面“轉換日期和時間”一節)。

    比較日期和時間
    最後,還有兩個日期和時間函數對根據日期和時間取出記錄是有用的。使用函數DATEADD()和DATEDIFF(),你可以比較日期的早晚。例如,下面的SELECT語句將顯示表中的每一條記錄已經輸入了多少個小時:

    SELECT entrydate ‘Time Entered’
    DATEDIFF(hh,entrydate,GETDATE()) ‘Hours Ago’ FROM weblog

    如果當前時間是2000年11月30號下午6點15分,則會返回如下的結果:

    Time Entered Hours Ago
    …………………………………………………..
    Dec 30 2000 4:09PM 2
    Dec 30 2000 4:13PM 2
    Dec 1 2000 4:09PM 698
    (3 row(s) affected)

    函數DADEDIFF()的參數是三個變量。第個變量指定日期的某一部分。在這個例子中,是按小時對日期進行比較,(要了解日期各部分的詳細內容,請參考表11.2)在日期2000年11月1日和2000年11月30日的指定時間之間有689個小時。另外兩個參數是要進行比較的時間。為了返回一個正數,較早的時間應該先給。
    函數DATEADD()把兩個日期相加。當你需要計算截止日期這一類的數據時,這個函數是有用處的。例如,假設訪問者必須先註冊才能使用你的站點。註冊以後,他們可以免費使用你的站點一個月。要確定什麼時候他們的免費時間會用完,你可以使用如下的SELECT語句:

    SELECT username ‘User Name’,
    DATEADD(mm,1,firstvisit_date) ‘Registration Expires’
    FROM registration_table

    函數DATEADD()的參數有三個變量。第一個變量代表日期的某一部分(參見表11.2),這個例子用到了代表月份的mm。第二個變量指定了時間的間隔――在本例中是一個月。最後一個變量是一個日期,在這個例子中,日期是取自DATETIME型字段firstvisit_date.假設當前日期是June 30,2000,這個語句將返回如下的內容:

    User Name Registration Expires
    ……………………………………………………………………………
    Bill Gates Jul 30 2000 4:09PM
    President Clinton Jul 30 2000 4:13PM
    William Shakespeare Jul 1 2000 4:09PM
    (3 row(s) affected)

    注意:
    與你預料的相反,使用函數DATEADD()把一個日期加上一個月,它並不加上30天。這個函數只簡單地把月份值加1。這意味著在11月註冊的人將比在2月註冊的人多得到2天或3天的時間。要避免這個問題,你可以用函數DATEADD()直接增加天數,而不是月份。

    發送郵件
    你可以用SQL Sever發送簡單的e_mail信息。要做到這一點,你需要在你的系統中安裝郵件服務器,如Microsoft Exchange Sever(參見第四章“Exchange Active Sever,Index Sever,和NetShow”)。你還需要配置SQL Sever以識別郵件服務器。
    要讓SQL Sever能識別郵件服務器,啟動事務管理器並從菜單中選擇Sever|SQL Mail|Configue,這時會出現一個如圖11.3所示的對話框。輸入你在郵件服務器中註冊的用戶名和口令,然後單擊OK。

    注意:
    如果你使用Microsoft Exchange Sever,配置SQL Sever的過程將會大大不同。你需要在同一個(域)用戶帳號下運行Microsoft SQL Sever和Exchange Sever。你還需要在安裝了SQL Sever的機器上安裝Exchange Cliect並給這個帳號創建一個一個配置文件。完成這些之後,你就可以在SQL Mail Configuration對話框中輸入該配置文件的名字。
     
    圖11。3

    在發送郵件之前,你要先啟動SQL Mail。從菜單中選擇Sever|SQL Mail|Start。如果你的郵件服務器配置正確,並且你輸入了正確的用戶名和口令,則SQL Mail會成功啟動。

    注意:
    你可以把SQL Sever配置為自動啟動郵件服務。要做到這一點,在Set Sever Optons對話框(從菜單中選擇Sever|SQL Sever|Configure)中選擇Auto Start Mail Client即可。

    要發送一個郵件,你可以使用名為xp_sendmail的擴展存儲過程。這裡有一個如何使用這個過程的例子:

    master..xp_sendmail “president@whitehouse.gov”,”Hello Mr. President”

    這個過程調用向e_mail地址president@whitehouse.gov發送一個簡單的email信息:“Hello Mr. President”。你可以用任何其它的email地址和信息取代上例中相應的內容,但是,你所發送的信息不能超過255個字符長度。
        當你想隨時了解你的站點數據庫的狀態時,存儲過程xp_sendmail是有用處的。例如,你可以向一個頁面管理程序發送信息。如果你的站點出了什麼問題,你馬上就可以知道。下一章將講述更多有關存儲過程的內容。

    總結
    這一章加深了你的SQL知識。你學會瞭如何建立索引,使你的查詢速度更快。你還學會瞭如何插入,刪除和更新一個表中的數據,如何使用集合函數得到一個表中數據的統計信息。最後,你學會了許多有價值的表達式,函數和過程,用來操作字符串,日期和時間及郵件。
    下一章將進一步加深你對Microsoft SQL Sever的掌握。你將學習如何用SQL來進行程序設計,如何建立存儲過程,觸發器和執行計劃。更另人興奮的是,你將學會讓SQL Sever自動創建網頁的一個簡單方法。