資料庫知識點
1,如果純粹的是學慣用,那你還是買本書或者教程慢慢啃,沒捷徑
2,如果僅為了建站,那你不一定非要學習他或者學習的非常好,站點源碼很多,可以自己去下載
B. 學習資料庫主要要掌握哪些知識
主要是資料庫維護方面的 你得會備份數據 還有資料庫的建立原理什麼的 一些基本的sql語句啥的
C. 資料庫系統原理方面的知識點
default '???' 意思是預設值為??? 也就是默認值。
當你插入記錄的時候,如果color沒有指定顏色值,也就是空值。系統就自動賦值為???
CHECK (VALUE IN(『Red』,『Yellow』,『Blue』,『Green』,『???』)) 是一個約束。約束插入的顏色值只能是Red』,『Yellow』,『Blue』,『Green』,『???』其中的一種。
D. 資料庫的知識有哪些
基礎理論:進程、線程、纖程、死鎖、事務、日誌、範式理論,這些知識建議看看資料庫概論
實用技能裡面:T-SQL語法,PL-SQL語法(T-sql在mssqlserver的幫助文檔里就有,plsql在oracle的幫助文檔里就有)
主流資料庫的使用:MSSqlServer2000/2005/2008,Oracle9i/10g,mysql5等等,各資料庫的幫助文檔里都有使用方法,小技巧之類的也可以下載電子書或者書店裡隨便選,到處都是。
技能提升:資料庫運維、HA(高可用)、數據挖掘、數據倉庫,這些知識內容,除了耐心看書以外,還要耐心工作積累實戰經驗。
E. 關於資料庫的知識
資料庫是「按照數據結構來組織、存儲和管理數據的倉庫.J.Martin給資料庫下了一個比較完整的定義:資料庫是存儲在一起的相關數據的集合,這些數據是結構化的,無有害的或不必要的冗餘,並為多種應用服務;數據的存儲獨立於使用它的程序;對資料庫插入新數據,修改和檢索原有數據均能按一種公用的和可控制的方式進行。當某個系統中存在結構上完全分開的若干個資料庫時,則該系統包含一個「資料庫集合」。
資料庫的基本結構分三個層次,反映了觀察資料庫的三種不同角度。
(1)物理數據層。
它是資料庫的最內層,是物理存貯設備上實際存儲的數據的集合。這些數據是原始數據,是用戶加工的對象,由內部模式描述的指令操作處理的位串、字元和字組成。
(2)概念數據層。
它是資料庫的中間一層,是資料庫的整體邏輯表示。指出了每個數據的邏輯定義及數據間的邏輯聯系,是存貯記錄的集合。它所涉及的是資料庫所有對象的邏輯關系,而不是它們的物理情況,是資料庫管理員概念下的資料庫。
(3)邏輯數據層。
它是用戶所看到和使用的資料庫,表示了一個或一些特定用戶使用的數據集合,即邏輯記錄的集合。
資料庫不同層次之間的聯系是通過映射進行轉換的。
資料庫的主要特點
(1)實現數據共享。
數據共享包含所有用戶可同時存取資料庫中的數據,也包括用戶可以用各種方式通過介面使用資料庫,並提供數據共享。
(2)減少數據的冗餘度。
同文件系統相比,由於資料庫實現了數據共享,從而避免了用戶各自建立應用文件。減少了大量重復數據,減少了數據冗餘,維護了數據的一致性。
(3)數據的獨立性。
數據的獨立性包括資料庫中資料庫的邏輯結構和應用程序相互獨立,也包括數據物理結構的變化不影響數據的邏輯結構。
(4)數據實現集中控制。
文件管理方式中,數據處於一種分散的狀態,不同的用戶或同一用戶在不同處理中其文件之間毫無關系。利用資料庫可對數據進行集中控制和管理,並通過數據模型表示各種數據的組織以及數據間的聯系。
(5)數據一致性和可維護性,以確保數據的安全性和可靠性。
主要包括:①安全性控制:以防止數據丟失、錯誤更新和越權使用;②完整性控制:保證數據的正確性、有效性和相容性;③並發控制:使在同一時間周期內,允許對數據實現多路存取,又能防止用戶之間的不正常交互作用;④故障的發現和恢復:由資料庫管理系統提供一套方法,可及時發現故障和修復故障,從而防止數據被破壞
(6)故障恢復。
由資料庫管理系統提供一套方法,可及時發現故障和修復故障,從而防止數據被破壞。資料庫系統能盡快恢復資料庫系統運行時出現的故障,可能是物理上或是邏輯上的錯誤。比如對系統的誤操作造成的數據錯誤等。
F. 如何學習資料庫知識
好像武俠小說里邊說的:「你的招式忘了沒有?」,回答:「差不多忘了」,「忘了就好」。
這與資料庫編程有什麼關系?關系可大了。同志們學過Pascal、BASIC、C(C++)沒有?如果沒有,FOXBASE、FOXPRO應該學過吧?按以上這些語言編程,都是過程化的,說白一點就是一個數據一個數據、一條記錄一條記錄去處理(FOXBASE、FOXPRO不完全這樣,但書上也經常是這樣介紹的),當初我接觸ACCESS
97時,一下子沒有了IF、FOR這些語句(指數據處理),都用SQL語句,真是找不到北了,好在我學SQL語言時,也盡量忘掉這個IF、FOR,到我忘得差不多時,功夫也進了一大步,原來要編一大段程序,現在一兩條SQL語句搞定,就算用多幾條SQL語句,由於是在圖形界面下做,可視化操作,拉拉扯扯,再修改一下生成的SQL語句,也就省事多了。
由於ACCESS具備完整的SQL語言(FOXBASE沒有、FOXPRO不完整),我從ACCESS
97開始用ACCESS編程,到現在為止,DAO、ADO很少用,加上最近從愛賽思上接觸的一些技術,基本上不用DAO、ADO都可以了,可以從我的「未完工的庫存管理」中看出,只是在特殊情況下才偶爾用一下。(少用,但不是不用,還得學,不要誤解)
如何學好資料庫編程?下面介紹一下本人的一些經驗,僅供參考:
1.首先要把原來一個數據一個數據、一條記錄一條記錄的數據處理方式忘掉,越徹底越好。
現在用成批處理了。少用記錄集一條記錄一條記錄地處理,盡量用SQL語句。
2.學好關系資料庫的理論,尤其是規范化理論,表的設計一定要規范化,最起碼要規范化到第三範式。集合運算(並、交、差)。關系運算(選擇、投影、連接)。其中連接與規范化是緊密結合的。
3.運用面向對象的技術:面向對象的分析OOA、面向對象的設計OOD、面向對象的編程OOP,根據表的關系,用窗體和子窗體、報表和子報表,模擬面向對象,這樣可以增加程序的可讀性和可維護性。(這是高級技術,同志們不要輕視,做大項目你就知道有用了)
4.用查詢時,通常一步做不出來,可以分幾步做,本人通常是這么做的,從我給網友回復的例子中也可以看得出。為什麼要這樣做?(1)有些是SQL語言的限制,沒辦法一步做出來,逼的;(2)可以檢查每一步查詢的結果,容易調試;(3)增加可讀性,便於日後維護。
5.查詢的結果用窗體顯示或用報表列印,兩者的技術差不多。通常改變打開窗體或報表的條件就可控制顯示或列印的記錄范圍。另外用查詢做數據源時,動態改變查詢中的SQL語句,比在查詢中引用窗體的控制項要方便,因為SQL語句生成是在VBA中,可以先存放在字元變數中,然後再更新查詢的SQL語句,這樣就可以用斷點來檢查變數值對不對,如果在查詢中引用窗體的控制項,尤其是包含IIF()函數時,調試是很困難的。
6.開發一個系統,首先要解決技術問題,即演算法,用簡單例子,把演算法弄懂了,再詳細設計,這一點從網友的提問中可以看出,有很多人問題表達不清楚,有的人其中夾了很多與演算法無關的東西,尤其是很專業的東西,別人不容易看得明白,由於演算法沒搞清楚,程序就無法編了。
7.不要使用過多的工具特性,使用過多的工具特性會使可讀性降低,可維護性差,要別人幫忙時難以得到幫助,更要命的是可移植性差,從MDB到ADP就可以體會到了,所以在編程時可讀性很重要,可移植性更重要,你甘心自己的程序就固定在一個環境下運行嗎?你甘心永遠用一個工具搞開發嗎?為了你的「錢途」,不要玩弄太多的技巧,當然技術研究是另外一碼事。
G. 資料庫主要知識點 急急急!
在程序員的求職資料中,用得最泛濫的詞可能是「熟悉」和「精通」了。評價一個程序員的綜合能力並不容易,下面的文字試圖以delphi程序開發為例定義一種描述程序員開發能力的方法。
一、 學習階段劃分。
根據我個人的經驗,delphi程序設計分為以下幾個階段:
1、 熟悉階段。
這一階段指從未接觸過delphi的人,剛開始學習到初步掌握delphi的語法、可視化編程、面向對象編程的概念、delphi ide開發環境、基本代碼編寫、程序結構的過程。
熟悉階段結束後,學習者應該可以編寫簡單的程序,同時對整個delphi開發環境有一定的了解,但還不能從事開發工作。
根據學習者是否有編寫其它語言代碼的經驗、是否接觸過面向對象編程等因素,這一過程可能需要數天到數十天的時間。
2、 入門階段。
在熟悉delphi後,入門的標志是學習者可以有目的地利用delphi強大的可視化開發環境、結合一些常規的代碼編寫技術,編制一些小型的程序,或是完成簡單的資料庫應用。同時,還應掌握基本的程序調試方法。
入門後,程序員可以從事簡單的開發工作,或擔任中小型系統的用戶界面設計及簡單代碼的編寫任務。
同樣,如果沒有代碼編寫經驗,這一過程將需要一個月或更多的時間。
3、 進階階段。
相當多的程序員處於進階階段,他們通過經常性地開發工作,積累代碼編寫和程序調試經驗,通過各種途徑尋找各類代碼編寫技巧。每個人根據自已從事的工作或興趣,在某一方面或幾個方面大量的實踐,可以獨立開發小型、技術含量不高的系統,或在大中型系統中負責普通代碼的編寫。
絕大部分的在職程序員處於這一階段,如果一個程序員不是有目的地在學習、工作中總結、提高,可能很長時間、數年甚至終生處於這一階段。
4、 小成階段。
只有系統地掌握了delphi的結構體系,從實踐上升到理論,有自己完整的編程思想和風格,或是在深度上達到了相當水平、或是在廣度上有了相當經驗,知識達到融會貫通的地步,才算小有所成。
此時,在代碼編寫方面,只要有時間,程序員幾乎可以實現所有想做的東西。很多功能,都可以舉出幾種實現方法並從效率、可讀上優化選取。
除了delphi,程序員應該對操作系統有相當深入的了解,能在短時間內學會新的知識並加以應用,可以讀懂絕大部分delphi源碼,完成復雜程序的調試。
如果向深度發展,程序員應該可以編寫出具有一定水平的組件、專家或較專業的程序。如果向廣度發展,則可以完成中小型的開發任務,或是大中型系統中的核心代碼編寫以及大部分系統分析工作。
這一階段幾乎是沒有現成經驗可學的,完全靠個人的修行和領悟,小有所成後程序員在軟體方面可獨擋一面。
5、 大師級。
如果前面四個階段在某種程度上都可以看做是「應用」的話,大師級的程序員就處於「設計和創造」這一層次。
他們已到技進乎道的境界,可以把delphi玩得隨心所欲,可以創造新的東西,把握發展方向,隨手寫的代碼都可以當教材用。borland公司的工程師、國外一些著名軟體、控制項包的作者、以及國內少數程序員屬於這一階段。
二、 代碼閱讀分析能力。
對一個程序員來說,讀懂別人寫的代碼是一項基本的能力。不僅包括閱讀寫得好的程序,也包括閱讀寫得一般甚至低劣的代碼。
代碼閱讀分析又可分為三個層次,一是代碼本身的閱讀能力,二是代碼編寫思想的理解能力,三是演算法模型分析設計能力。
要看懂一段代碼的作用和功能,首先自己應該擁有大量的代碼閱讀編寫經驗,然後是從手冊資料中快速獲得所需信息的能力。然而,僅有這些,很多優秀的代碼仍然不易理解,這就需要程序員的宏觀分析和聯想能力。
和其它所有事物一樣,很多代碼也只有在特定環境中才有其存在的意義。有經驗的程序員在拿到一段代碼後並不急於馬上閱讀,而是在理解代碼所在單元甚至工程的功能後再有目的地分析,從宏觀和微觀上分析作者的設計意圖、框架結構、實現方法,從中汲取經驗或對代碼編寫質量進行評估。
再深入一些, 是代碼和軟體的演算法設計。給你一段des加密演算法、ucl壓縮演算法或mcnn多層分組神經網路的實現代碼,如果你沒有相關的理論知識做基礎,即使有源演算法模型也是無法看懂的。
三、 代碼編寫調試能力。
程序設計能力一般指的就是代碼編寫調試的能力,程序員的代碼直接代表了他的編程水平。
1、 代碼編寫規范。
代碼、注釋的書寫是否規范直接反映出一個程序員對程序設計的態度。不同的組織定義了不同的代碼編寫規范,但從外觀上看,寫得好的代碼看起來都差不多一個模樣,而糟糕的代碼則五花八門。
2、 程序框架和演算法結構。
很多程序員在一開始編寫代碼時缺乏對開發目標的細致分析和策劃,邊寫邊改,結果寫出的代碼結構冗長、演算法凌亂、可讀易維護性差,特別是在多人開發時很容易導致開發中後期進展緩慢甚至陷入僵局。優秀的程序員代碼書寫簡練、演算法清晰、結構合理,他們善於利用編譯器強大的語法檢查功能減少潛在的錯誤,並在設計編寫代碼時充分考慮程序的可移植性和升級能力。
3、 軟體測試和代碼調試能力。
調試復雜代碼的能力同樣是區分程序員能力的重要因素。同一段有問題的代碼,不同的人調試的時間可能相差數倍甚至數十數百倍。特別是組件開發等不可視代碼的調試,要求一個沒有太多經驗的程序員完成是不現實的。而一個優秀的程序員同時也應該是一個優秀的測試員,發現問題的能力和解決問題的能力同樣重要,盡管並不是所有人都能認識到這一點。
四、 程序員類型。
從程序員所從事的工作及興趣來看,可將其簡單地劃分為:
1、 應用型。
又可分為以「其它領域結合軟體開發」為主和以「軟體開發結合其它領域」為主兩種。
前者有自己的專業知識,但不滿足於簡單的操作應用,而利用vb、delphi等開發工具的強大rad能力開發與自己專業相關的軟體。後者的工作是將計算機技術應用於其它領域,主要為企業編寫各種基於商業資料庫及網路通訊或一些自動化控制應用的軟體。
應用型程序員一般是「廣度型」發展的,他們並不注重系統底層知識的學習,而重在「應用」,利用開發工具來實現「行業規則」而不需要閱讀編寫底層、復雜的代碼。
2、 技術型。
這一類型的程序員是純軟體技術型的,他們的開發焦點集中在計算機軟體本身上,屬「深度」發展型。
技術型程序員大多追求完美、吹毛求疵,對他們來說,花上數小時的時間優化一段代碼,使程序執行效率提高10%是一件很愜意的事。技術型程序員一般重名重義不重利,喜歡自由,不願受現有框架的約束,每每有驚人之舉,他們大多特立獨行或在軟體開發中負責核心代碼編寫,而這個世界也因這些程序員的存在而變得美麗。
3、 創造型。
創造型程序員結合了應用與技術型的特點。
他們既有精明的商業頭腦,又有強勁的技術實力,既是管理人才又是技術人才,是炙手可熱的人物。關於他們的描述媒體上已有很多,不再贅述。
這個行嗎?
H. 資料庫知識包括哪些
詳細的內容,400頁的書也說不完。概括的話,分幾個方面:
1。簡單使用。
2。高級使用。
3。維護管理。
4。其它背景知識(比如廠商、是否免費等)