時(shí)間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(0)
?? 本章介紹MySQL 關(guān)系數(shù)據(jù)庫管理系統(tǒng)(R D B M S)及其所采用的結(jié)構(gòu)化查詢語言(S Q L)。文中給出了應(yīng)該掌握的基本術(shù)語和概念,并介紹了本書中使用的樣例數(shù)據(jù)庫,提供了怎樣利 用MySQL 創(chuàng)建數(shù)據(jù)庫并對(duì)其進(jìn)行存取訪問的指導(dǎo)。 在此,如果您對(duì)數(shù)據(jù)庫不熟悉,可能還不能肯定是否需要一個(gè)數(shù)據(jù)庫或是否能夠使用一 個(gè)數(shù)據(jù)庫?;蛘?,如果您對(duì)MySQL 或SQL 一無所知,需要一種入門性的指導(dǎo),那么應(yīng)該仔 細(xì)閱讀本章。對(duì)MySQL 或?qū)?shù)據(jù)庫系統(tǒng)具有一定經(jīng)驗(yàn)的讀者可能希望跳過這一章。但是, 不管是否是初學(xué)者都應(yīng)該閱讀1 . 2節(jié)"一個(gè)樣例數(shù)據(jù)庫",因?yàn)檫@一節(jié)中給出的數(shù)據(jù)庫是熟悉 數(shù)據(jù)庫的用途和內(nèi)容的一個(gè)最好的樣例,本書將要反復(fù)地用到它。
??? 1.1 MySQL 的用途
? ? 本節(jié)介紹MySQL 的應(yīng)用場合。提供MySQL 能夠做什么,以何種方式做的一個(gè)大致的概 念。如果您不需要了解數(shù)據(jù)庫的用途,或許您已經(jīng)在頭腦中有了要解決什么問題的想法,只 是希望知道怎樣用MySQL 來幫助解決它,那么可以跳到1.2 節(jié)"一個(gè)樣例數(shù)據(jù)庫"。 數(shù)據(jù)庫系統(tǒng)本質(zhì)上是一種用來管理信息列表的手段。這些信息可來自不同的地方。例如, 它可以代表研究數(shù)據(jù)、業(yè)務(wù)記錄、顧客請(qǐng)求、運(yùn)動(dòng)數(shù)據(jù)統(tǒng)計(jì)、銷售報(bào)告、個(gè)人愛好信息、人 事記錄、問題報(bào)告或?qū)W生成績等。雖然數(shù)據(jù)庫系統(tǒng)能夠處理廣泛的信息,但您不會(huì)僅僅只是 為用它而用它。如果一項(xiàng)工作很容易,那么就沒有理由非得僅為了使用數(shù)據(jù)庫而將數(shù)據(jù)庫引 入這項(xiàng)工作。雜貨單就是一個(gè)很好的例子:開列一個(gè)購物清單,購買后在上面畫叉,然后將 它扔了,極不可能為此事使用一個(gè)數(shù)據(jù)庫。即使您有一臺(tái)便攜式電腦,也只會(huì)為雜貨單使用 記事本,而不會(huì)啟用數(shù)據(jù)庫。
??? 數(shù)據(jù)庫系統(tǒng)的力量只在組織和管理的信息很龐大或很復(fù)雜,用手工處理極為繁重時(shí)才能 顯示出來。當(dāng)然,每天處理數(shù)百萬個(gè)業(yè)務(wù)的大公司可以使用數(shù)據(jù)庫。但是,即使只涉及個(gè)人 愛好的單一人員維護(hù)信息的小公司也可能會(huì)需要數(shù)據(jù)庫。不難想像由于在信息變得難于管理 之前,使用了數(shù)據(jù)庫而帶來的好處??紤]下列情形:
??? ■ 您的木工店有幾個(gè)員工。需要保存員工和工資記錄,以便知道給誰付過工資,什么時(shí) 候付的,并且必須對(duì)這些記錄進(jìn)行匯總以便能向稅務(wù)部門報(bào)收益表。還需要明了您的 公司雇人所做的工作以及對(duì)每項(xiàng)工作所做的安排。
? ? ■ 您有一個(gè)汽車零部件的庫房網(wǎng),需要知道哪些庫房中有給定的零件,以便能填寫顧客 訂單。
? ? ■ 作為玩具銷售商,要特別關(guān)注所進(jìn)貨物是否流行。需要知道某項(xiàng)物品的當(dāng)前銷售曲線, 以便能夠估計(jì)是否需要增加庫存量(對(duì)越來越流行的物品),或減少其庫存量(從而用 不著存放一大堆銷售不好的東西)。
? ? ■ 多年課題研究收集的大量研究數(shù)據(jù)需要進(jìn)行分析以便發(fā)表。希望對(duì)大量的原始數(shù)據(jù)進(jìn) 行加工,得出結(jié)論性的信息,并為更詳細(xì)的統(tǒng)計(jì)分析篩選出觀察樣本子集。
? ? ■ 您是位受歡迎的演講者,到全國各地的各種集會(huì)上進(jìn)行演講,如在畢業(yè)典禮、商務(wù)會(huì) 議、城市集會(huì)和行政大會(huì)上進(jìn)行講演。作了這么多講演,自己很難記住在什么地方講 了些什么,因此一定很愿意保存過去講演的記錄,以幫助準(zhǔn)備以后的演說。如果您回 到了一個(gè)以前曾作過演說的地方,肯定不愿意作一個(gè)與上一次類似的演講,到過的地 方都有一個(gè)記錄能幫助您避免重復(fù)。您必定也愿意注意講演受歡迎的程度。(您在"大 都會(huì)狗窩"俱樂部所做的演講"我為什么喜歡貓"不太成功,那么下次去那兒時(shí)一定 不希望再犯同樣的錯(cuò)誤。)
? ? ■ 您是個(gè)教師,需要知道學(xué)分和出勤情況。每當(dāng)您進(jìn)行測驗(yàn)或考試時(shí),都要記錄學(xué)生們 的學(xué)分。將考試成績寫在學(xué)分簿上很容易,但以后利用這個(gè)學(xué)分簿卻很費(fèi)事。因此, 在學(xué)期未確定最終成績時(shí),您寧可不進(jìn)行學(xué)分排序,而且寧可不匯總每個(gè)學(xué)生的學(xué)分。 要統(tǒng)計(jì)出每個(gè)學(xué)生的缺曠課情況也不是一件簡單的事。
? ? ■ 您是某機(jī)構(gòu)的秘書,這個(gè)機(jī)構(gòu)有一個(gè)龐大的會(huì)員姓名地址簿。(所謂機(jī)構(gòu)可以是任何組 織,如一個(gè)專業(yè)團(tuán)體、俱樂部、交響樂團(tuán)或球迷俱樂部等。)您每年都要根據(jù)會(huì)員信息 變化,用字處理器進(jìn)行編輯,然后為每個(gè)會(huì)員們打印一個(gè)地址名錄。 您厭倦了以這種方式維護(hù)這個(gè)地址簿,因?yàn)樗拗沽四盟勺龅氖?。用它難于以不 同的方式對(duì)各條目排序,不能方便地選擇每個(gè)條目的特定部分(如給出僅由姓名和電話號(hào)碼 組成的清單)。也不能查出某組會(huì)員,如那些不久就需要更新其會(huì)員資格的人員,如果可能的 話,應(yīng)該取消為了找到哪些需要發(fā)送補(bǔ)充說明的會(huì)員而每個(gè)月都要查找所有條目的工作。 而且,您一定不愿意自己做地址簿的編輯工作,但是團(tuán)體沒有那么多的預(yù)算,請(qǐng)人會(huì)產(chǎn) 生問題。您聽說過"無紙化辦公",這是一種導(dǎo)致電子化保存記錄的方法,但您沒有看到任何 好處?,F(xiàn)在會(huì)員記錄是電子化的,但具有諷刺意義的是,除了地址簿的打印外,沒省多少事。 上述情形中有的涉及信息量較大,有的涉及信息量較小。它們的共同特征都是所涉及的 任務(wù)可由手工完成,但是用數(shù)據(jù)庫系統(tǒng)來做會(huì)有效得多。 使用如像MySQL 這樣的數(shù)據(jù)庫系統(tǒng)希望看到什么樣的效果呢?這有賴于您的特定需求, 正如上面的例中所看到的那樣,其效果的差異是相當(dāng)大的。我們來考慮一種常見的情形,從 而也是一種相當(dāng)有代表性的數(shù)據(jù)庫應(yīng)用。 通常利用數(shù)據(jù)庫管理系統(tǒng)來處理諸如人們用文件柜來完成的那樣一類的任務(wù)。確實(shí)在某 種意義上說,數(shù)據(jù)庫就像一個(gè)大文件柜,只不過是一個(gè)內(nèi)建的文件編排系統(tǒng)而已。電子化處 理記錄相對(duì)手工處理記錄有很多優(yōu)點(diǎn)。例如,如果您在某種保存有客戶記錄的辦公設(shè)施內(nèi)工 作,那么MySQL 可在某些方面向您提供幫助:
? ? ■ 減少記錄編檔時(shí)間。不必為尋找增加新記錄的位置而查看櫥柜的所有抽屜。只要將記 錄放入文件編排系統(tǒng),并令文件編排系統(tǒng)為您將該記錄放入正確的位置即可。
? ? ■ 減少記錄檢索時(shí)間。在查找記錄時(shí),不需要自己去尋看每個(gè)記錄以找到含有所需信息 的那個(gè)記錄。假如您在一個(gè)牙科診所中工作。如果想給所有近來未到診斷做過檢查的 病人發(fā)催詢單,只需要求文件編排系統(tǒng)查找合適的記錄即可。當(dāng)然,這樣做會(huì)有別于 吩咐別人去做。吩咐別人去做,您只需說,"請(qǐng)確定哪些病人最近6 個(gè)月內(nèi)沒來過。" ?
? ? 而使用數(shù)據(jù)庫,則需要發(fā)出一串奇怪的"咒語":
??? 如果您從來沒有看到過類似的東西,可能會(huì)感到相當(dāng)嚇人,但是在一兩秒內(nèi)就能得到結(jié)果遠(yuǎn)勝于用一個(gè)小時(shí)來查找,這應(yīng)該是很有吸引力的。(不管怎樣,不用太發(fā)愁。這些"咒語" 用不了多久就會(huì)不奇怪了。事實(shí)上,只要您讀完本章就能完全理解其含義。)
??? ■ 靈活的查找序列。不需要按記錄存放的固定序列去查看它們(例如,按姓查找)??梢砸笪募幣畔到y(tǒng)以任意的序列查出記錄;如按姓、保險(xiǎn)公司名、最后光臨日期等提出記錄。
? ? ■ 靈活的輸出格式。在查找到感興趣的記錄后,不需要手工拷貝其信息??梢宰屛募幣畔到y(tǒng)為您生成一份清單。有時(shí),您可能只需要打印這些信息。有時(shí),您又可能希望在其他程序中使用這些信息。(如,在生成誤了看牙預(yù)約的病人清單后,可將這些信息送入一個(gè)字處理器,打出送給這些病人的通知單。)或者您只對(duì)匯總信息感興趣,如對(duì)所選出記錄數(shù)感興趣。不必自己數(shù)它們;文件編排系統(tǒng)可自動(dòng)生成匯總。
? ? ■ 多個(gè)用戶同時(shí)訪問記錄。對(duì)紙上的記錄,如果兩個(gè)人想同時(shí)查找一個(gè)記錄,那么其中一個(gè)人必須等另一個(gè)人找完才能查找。MySQL 提供多個(gè)用戶同時(shí)查找的能力,從而兩個(gè)人可同時(shí)訪問記錄。
? ? ■ 記錄的遠(yuǎn)程訪問與電子傳輸。紙面記錄需要有該記錄在手邊才能使用,或者需要有人做拷貝再發(fā)送給您。而電子記錄可以遠(yuǎn)程訪問或進(jìn)行電子化傳輸。如果您的牙醫(yī)專家在多個(gè)診所工作,那么他們可從自己的所在地訪問您的記錄,不需要給他們發(fā)快信。如果需要記錄的某個(gè)人沒有與您的數(shù)據(jù)庫軟件相同的軟件,但有電子郵件,那么您可以選擇所需的記錄,用電子文檔發(fā)送。
??? 如果您以前使用過數(shù)據(jù)庫管理系統(tǒng),已經(jīng)了解數(shù)據(jù)庫的上述諸般好處,可能會(huì)想,怎樣才能超越"取代文件柜"的用途?,F(xiàn)在,數(shù)據(jù)庫系統(tǒng)已經(jīng)可以用來提供過去不能,直到最近才能夠提供的服務(wù)。例如,許多機(jī)構(gòu)以一種與Web 結(jié)合的方式使用數(shù)據(jù)庫,這種方式過去是做不到的。
??? 假如您的公司有一個(gè)庫存數(shù)據(jù)庫,在顧客詢問庫房中是否有某項(xiàng)物品,它的價(jià)格是多少時(shí),服務(wù)臺(tái)人員使用這個(gè)數(shù)據(jù)庫,這是數(shù)據(jù)庫的一種較為傳統(tǒng)的應(yīng)用。但是,如果您的公司向顧客提供一個(gè)可供訪問的Web 站點(diǎn),那么可以提供另一項(xiàng)服務(wù),即:提供一個(gè)允許顧客確定物品價(jià)格和可得性的搜索頁。這給顧客提供了他們所需的信息,提供的方法是讓顧客自動(dòng)地搜索存放在庫存中的物品信息。顧客可以立即得到信息,不用聽預(yù)先錄好的音,或受服務(wù)臺(tái)是否正在工作的限制。對(duì)于每個(gè)使用您的Web 站點(diǎn)的顧客,所花的費(fèi)用比服務(wù)臺(tái)工作人員轉(zhuǎn)接電話的費(fèi)用還少。(或許,該Web 站點(diǎn)已為這個(gè)付了費(fèi)。)
??? 還有比上述更好的利用數(shù)據(jù)庫的方法?;赪eb的庫存查詢請(qǐng)求可以不僅僅為顧客提供信息,而且還可以為您自己提供信息。該查詢請(qǐng)求告訴您顧客在找什么,而查詢的結(jié)果又可以讓您知道能否滿足他們的請(qǐng)求。您可能會(huì)在不能滿足顧客需求的方面喪失商機(jī)。因此,記錄有關(guān)庫存搜索的信息是很有意義的,如記錄:顧客在找什么、庫存有沒有。然后,可以利用這些信息調(diào)整您的庫存,更好地為顧客提供服務(wù)。
關(guān)鍵詞標(biāo)簽:用途,記錄,數(shù)據(jù)庫,一個(gè)
相關(guān)閱讀 IIS5和IIS6應(yīng)用中遇到的問題 刪除sql server日志 MSSQL的數(shù)據(jù)庫命令 Oracle數(shù)據(jù)庫百問百答 優(yōu)化SQL Server數(shù)據(jù)庫服務(wù)器的內(nèi)存配置 Oracle數(shù)據(jù)庫的啟動(dòng)和停止
熱門文章 Xbox Game Pass 10款MySQL數(shù)據(jù)庫客戶端圖形界面管理工具推薦 MySQL常用維護(hù)管理工具 MySQL數(shù)據(jù)庫啟動(dòng)失敗1067進(jìn)程意外終止的解決辦法總結(jié)
時(shí)間:2020-07-01 18:29:01
時(shí)間:2018-11-23 11:54:36
時(shí)間:2018-10-25 19:11:08
時(shí)間:2018-08-29 18:11:16
時(shí)間:2018-03-14 09:11:59
時(shí)間:2017-10-12 15:12:31
人氣排行 10款MySQL數(shù)據(jù)庫客戶端圖形界面管理工具推薦 MySQL數(shù)據(jù)庫啟動(dòng)失敗1067進(jìn)程意外終止的解決辦法總結(jié) Mysql 1045錯(cuò)誤解決辦法 MySQL服務(wù)器進(jìn)程CPU占用100%解決辦法 MySQL導(dǎo)出導(dǎo)入命令的用例 MySQL連接字符串的實(shí)際操作步驟匯總 MySQL無法啟動(dòng)、無法停止各種解決方法總結(jié) 三種常用的MySQL建表語句