




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
數(shù)據(jù)庫知識點串講數(shù)據(jù)庫概述數(shù)據(jù)庫基本概念什么是數(shù)據(jù)庫數(shù)據(jù)庫是存儲在計算機內有組織、可共享的數(shù)據(jù)集合。什么是數(shù)據(jù)就是人們通過對客觀事物的觀察和測量得到的事實,是對客觀事件的物理狀態(tài)反映。信息:人們對數(shù)據(jù)進行加工整理后,為某一特定目的所提供的決策依據(jù)。數(shù)據(jù)處理就是信息處理P191數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)(DBMS)是位于用戶和操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,它由系統(tǒng)運行控制程序、語言翻譯程序、和一組公共程序組成。主要功能:數(shù)據(jù)定義、數(shù)據(jù)操縱、數(shù)據(jù)庫的控制和數(shù)據(jù)庫的維護。數(shù)據(jù)庫系統(tǒng)(DBS)帶有數(shù)據(jù)庫的計算機系統(tǒng)。數(shù)據(jù)庫系統(tǒng)的特征20世紀60年代IBM開放第一個數(shù)據(jù)庫系統(tǒng)IMS主要特征1數(shù)據(jù)結構化2數(shù)據(jù)的共享性、冗余度低、易擴充3數(shù)據(jù)獨立性高數(shù)據(jù)模型數(shù)據(jù)庫發(fā)展中主要的三種模型層次模型、網狀模型、關系模型非關系型數(shù)據(jù)庫系統(tǒng)層次模型、網狀模型關系型數(shù)據(jù)庫系統(tǒng)關系模型20世紀70年代RDBS(商品化關系型數(shù)據(jù)庫)關系型數(shù)據(jù)庫采用二維表為基本數(shù)據(jù)結構關系型數(shù)據(jù)庫系統(tǒng)SQLSERVEROraclemySQL數(shù)據(jù)庫的總體設計步驟123首先確定數(shù)據(jù)庫所要完成的任務,需要從數(shù)據(jù)庫中得到什么樣的信息。再確定數(shù)據(jù)庫中應包含哪些數(shù)據(jù)表,每個表中包含哪些字段。最后確定每個字段的數(shù)據(jù)類型和字段長度等。一、數(shù)據(jù)表概念
數(shù)據(jù)表是數(shù)據(jù)庫最重要的組成部分之一,是實際存放數(shù)據(jù)的地方,當建立一個數(shù)據(jù)庫后,接著就要建立數(shù)據(jù)表。一、數(shù)據(jù)表概念大部分數(shù)據(jù)庫管理系統(tǒng)中一個數(shù)據(jù)庫包含若干張數(shù)據(jù)表。
數(shù)據(jù)表的設計是數(shù)據(jù)庫設計的一大難點,在數(shù)據(jù)表的設計過程中應遵循以下的原則:1、每張數(shù)據(jù)表中不應該包含重復的數(shù)據(jù)。2、每張表中只包含一個主題信息。1、每張數(shù)據(jù)表中不應該包含重復的數(shù)據(jù)。設計數(shù)據(jù)表時應該保證每條信息只能出現(xiàn)在一個表中,避免各個表中含有相同的信息,否則容易造成數(shù)據(jù)的冗余和不一致,不利于數(shù)據(jù)更新。當然,作為表格之間的“紐帶”,用來創(chuàng)建關系的字段除外。2、每張表中只包含一個主題信息。如下表所示,學生通信錄中只包含學生通信方面的信息,可以根據(jù)需要再增加地址、郵編等內容,但不應該把成績也加入學生通信錄數(shù)據(jù)表,因為當該同學有兩次考試成績時,會造成存放兩條記錄,這兩條記錄只有成績不同,其他如學號、姓名都相同,也造成了數(shù)據(jù)的冗余。二、字段與記錄表中每一行稱為一條記錄,用于表示某件物體各方面的屬性。數(shù)據(jù)表中的數(shù)據(jù)項稱為字段,字段表示物體某方面的性質。記錄字段字段簡介一每個字段至少有4個屬性:字段名、字段類型、字段長度和小數(shù)位數(shù),即從這四個方面去定義字段。字段名就是字段的名稱,一般可以包含英文字母和數(shù)字,有些數(shù)據(jù)庫也支持漢字作為字段名。字段簡介二不同的數(shù)據(jù)庫管理系統(tǒng)支持的數(shù)據(jù)類型有所區(qū)別,但數(shù)據(jù)庫管理系統(tǒng)基本上支持字符型、數(shù)值型、日期型、邏輯型這4種類型。1、字符型字段:如姓名、地址等,不參加算術運算的數(shù)字,如學號、電話、身份證號碼等雖然形式上是數(shù)字,但也應該設為字符型字段。字段簡介二2、數(shù)值型字段:用于存放數(shù)值型數(shù)據(jù),其中存放的數(shù)據(jù)一般是用于數(shù)值運算的,如工資、成績、身高等。3、日期型字段:用于存放“年-月-日”等日期信息,有些還可以存放時間信息。存放“出生日期”、“入團日期”等信息。4、邏輯型字段:用于存放只有兩種結果的數(shù)據(jù)信息,如“是否團員”,只有“是”或“否”兩種情況。字段簡介三“年齡”信息,應該盡量選擇與“出生日期”這種日期型字段計算獲得。對于字符型字段只有字段長度這個屬性,沒有小數(shù)位數(shù)屬性。
姓名字段長度可以設計為4,有些數(shù)據(jù)庫信息系統(tǒng)中規(guī)定一個漢字要占二位長度,就設置為8,姓名字段沒必要設計為更長的長度;
地址字段,考慮到某些地址可能比較復雜,應該把字段長度設得大一些。課堂練習1.數(shù)據(jù)表中字段最常用的有
、
、
、
和
4種類型。2.寫出以下字段應該選擇的字段類型:姓名
、成績
、身高
題工電話號碼
、語文成績
、地址
、出生日期
、是否團員
、書名
、圖書編號
、工資
、進校時間
dd字符型、數(shù)值型、日期型、邏輯型字符型字符型字符型字符型數(shù)值型數(shù)值型數(shù)值型數(shù)值型字符型邏輯型日期型日期型年齡:Year(Now())-Year([出生日期])4.3SQL數(shù)據(jù)定義和數(shù)據(jù)查詢4.3SQL數(shù)據(jù)定義和數(shù)據(jù)查詢SQL簡介:全稱“結構化查詢語言”
由IBM公司1981年推出。1989年,美國ANSI(美國國家標準協(xié)會)定義的關系數(shù)據(jù)管理系統(tǒng)為SQL標準語言,稱為ANSISQL89。SQL的優(yōu)點:
首先,SQL為非過程化語言
其次,SQL擁有極少的命令
第三,SQL有極廣的應用場合完整的SQL語言主要包含四部分:1、數(shù)據(jù)查詢語句SELECT;2、數(shù)據(jù)操縱語句INSERT,UPDATE,DELETE;3、數(shù)據(jù)定義語句CREATE,ALTER,DROP;4、數(shù)據(jù)控制語句COMMITWORK,ROLLBACKWORK。要確認對數(shù)據(jù)庫表的更改時使用。要在永久存儲之前取消對數(shù)據(jù)表的一些更改時用。添加、修改和刪除字段刪除一個數(shù)據(jù)表4.3.2 創(chuàng)建數(shù)據(jù)庫及數(shù)據(jù)表創(chuàng)建數(shù)據(jù)庫語句格式:
CreateDatabase<數(shù)據(jù)庫名>功能:新建一個數(shù)據(jù)庫。注意:不同的數(shù)據(jù)庫系統(tǒng)語法格式各有不同。例1、創(chuàng)建一個名為“學生學籍管理
”數(shù)據(jù)庫
CreateDatabase學生學籍管理練習:創(chuàng)建一個名為“商品信息”的數(shù)據(jù)庫
CreateDatabase商品信息創(chuàng)建數(shù)據(jù)表語句格式:CreateTable<數(shù)據(jù)表名>
(字段名1類型[NotNull][Primarykey],
字段名2類型[NotNull][Primarykey],
…
)功能:創(chuàng)建一個數(shù)據(jù)表。例:創(chuàng)建一個學生通信錄,有學號長度為8,姓名,電話,地址CreateTable學生通信錄(學號char(8),姓名Varchar,電話Varchar,地址Varchar)數(shù)據(jù)庫字段類型:數(shù)值型:Int(整型)Real(單精度型)Float(雙精度型)字符型:Char(定長字符型)Varchar(變長字符型)日期型:Datetime,輸入格式:#月/日/年#或#年-月-日#邏輯型:BitNotNull,只能取0,-1或No,Yes或False,True非零值均為True,與VB統(tǒng)一NotNull—表示該字段值不能為空。PrimaryKey—表示該字段為主鍵。[]—表示可選項。注:()—不能少,字段名之間用逗號分隔。解釋下列語句的功能:1、CreateTable學生成績(姓名Varchar,語文Real,數(shù)學Real,英語Real)2、CreateTable學生家庭住址(學號Char(8)PrimaryKey,姓名Varchar,家庭住址Varchar)3、CreateTable學生檔案(姓名Varchar(8),出生日期Datetime,是否團員Bit
NotNull)2023/6/184.3.3簡單查詢數(shù)據(jù)查詢語句——SELECT1、SELECT的完整格式:
SELECT字段名,……|*
[FROM
數(shù)據(jù)表名稱]
[WHERE
條件表達式]
[GROUP
BY
字段名]
[HAVING
條件表達式]
[ORDER
BY
字段名[ASC|DESC],……]這里[]之間的內容可以省略,當同時使用多個子句時,必須按指定的順序書寫,如GROUP
BY子句必須寫在WHERE子句的后面。2、SELECT語句的基本格式基本格式:SELECT字段名1,字段名2,……
FROM數(shù)據(jù)表名[WHERE條件]
功能:把數(shù)據(jù)表中滿足條件的記錄或記錄中的某幾個字段信息顯示出來注意:放在[]之間的稱為子句,在使用時可有可無。2023/6/18例1:SELECT姓名,語文FROM學生成績功能:顯示“學生成績”數(shù)據(jù)表中所有記錄的姓名和語文成績信息2023/6/18習題:1、顯示“學生成績”數(shù)據(jù)表中所有記錄的姓名和數(shù)學成績信息。2、顯示“學生成績”數(shù)據(jù)表中所有記錄的姓名、計基和VB成績信息。例2:SELECT姓名,語文,數(shù)學,英語,語文+數(shù)學+英語AS總分FROM學生成績功能:顯示“學生成績”數(shù)據(jù)表中所有記錄的姓名、語文、數(shù)學、英語和總分信息使用“表達式AS名稱”來生成一個臨時字段名。由此可見,SELECT語句有計算功能,可以根據(jù)原有字段生成新的字段。2023/6/18習題:3、顯示“學生成績”數(shù)據(jù)表中所有記錄的姓名、語文、數(shù)學、英語、計基、VB和總分信息。例3:SELECT*FROM學生成績功能:顯示“學生成績”數(shù)據(jù)表的全部信息。這兒可以使用“*”代表所有字段。2023/6/18習題4、顯示“學生基本信息”數(shù)據(jù)表的全部信息。這兒可以使用“*”代表所有字段。2023/6/184.3.4條件查詢“條件子句”是指用關系
運算符和
邏輯
運算符組成的表達式。關系運算符有6個,分別是:大于>小于<等于=大于等于>=小于等于<=不等于<>可以用關系運算符進行比較的有數(shù)值型、字符型、日期型三種類型的字段,邏輯型數(shù)據(jù)不能進行比較(既不能使用關系運算符)。2023/6/18字符型根據(jù)字符的編碼進行比較,可以分三種情況:1)半角字符根據(jù)ASCII編碼進行比較,從小到大分別是0-9A-Za-z。2)漢字根據(jù)國標碼進行比較,對于一級漢字來說,就是根據(jù)漢語拼音順序,二級漢字呢?3)半角字符與全角字符比較,全角字符大。2023/6/18下面通過一些例題來了解“WHERE條件子句”的用法:例4:SELECT*FROM學生成績WHERE語文>=85功能:顯示“學生成績”數(shù)據(jù)表中語文成績大于或等于85分的記錄信息2023/6/18習題:5、顯示“學生成績”數(shù)據(jù)表中計基成績小于或等于100分的記錄信息。例5:SELECT*FROM學生成績WHERE姓名="李強"功能:顯示“學生成績”數(shù)據(jù)表中姓名為“李強”的記錄信息2023/6/18習題:6、顯示“學生成績”數(shù)據(jù)表中姓名為“王晨”的記錄信息對于字符的比較還有一個“LIKE”運算符,用于字符的匹配比較,與LIKE同時使用的還有二個通配符:“*”代表任意個任意字符“?”代表一個任意字符2023/6/18LIKE的用法有幾種:1)字段名LIKE“A*”:用于匹配“A”開頭的任意長度的字符串2)字段名LIKE“A?”:用于匹配“A”開頭的后接一個任意字符的字符串3)字段名LIKE“*A*”:用于匹配含有“A”的字符串2023/6/18注意:在SQL(ANSI
1989)標準中,用
%
和
_代替
*
和?例6:SELECT*FROM學生成績WHERE姓名LIKE
"李*"功能:顯示“學生成績”數(shù)據(jù)表中姓“李”的記錄信息,也就是顯示姓名中第一個字為“李”的記錄。2023/6/18聚集函數(shù)2023/6/18函數(shù)名稱函數(shù)功能COUNT()統(tǒng)計所選數(shù)據(jù)的行數(shù)SUM()計算數(shù)據(jù)列的和MIN()計算數(shù)據(jù)列中的最小值MAX()計算數(shù)據(jù)列中的最大值AVG()計算數(shù)據(jù)列的平均值例24SelectCOUNT(*)AS總人數(shù)From學生成績功能:顯示“學生成績”數(shù)據(jù)表中總的記錄條數(shù)例25功能:顯示“學生成績”數(shù)據(jù)表中語文和數(shù)學的平均成績SelectAVG(語文)as語文平均,AVG(數(shù)學)as數(shù)學平均From學生成績SelectAVG(語文),AVG(數(shù)學)From學生成績【例26】
SELECTMAX(語文),MIN(數(shù)學)FROM學生成績
功能:顯示“學生成績”數(shù)據(jù)表中語文最高分,數(shù)學最低分,顯示結果只有一條記錄。1、統(tǒng)計“學生成績”表總人數(shù),并僅顯示“總人數(shù)”SelectCount(*)As總人數(shù)From學生成績2、顯示“學生成績”表中語文最高分,字段名顯示“語文最高分”SelectMax(語文)as語文最高分From學生成績3、統(tǒng)計“學生成績”表中英語在60分及以上記錄的“英語平均”
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 印刷企業(yè)市場調研方法考核試卷
- 家庭裝飾畫框批發(fā)考核試卷
- 園藝陶瓷的公共空間裝飾效果考核試卷
- 印刷設備生產過程的智能化技術應用案例考核試卷
- 圖書出租業(yè)務的服務標準化培訓考核試卷
- 影視錄放設備的智能鏡頭切換考核試卷
- 暖氣施工合同范本
- 簽訂重大銷售合同范本
- 口腔消毒培訓課件
- 電商行業(yè)產品描述免責協(xié)議承諾書
- 兔子坡(閱讀課上課課件)
- 高中數(shù)學《立體幾何》教材分析及教學建議
- 八年級英語初中英語閱讀理解閱讀專項練習試卷附答案
- 固定資產清查盤點明細表
- 人教版八年級數(shù)學下冊課件【全冊】
- 物聯(lián)網管理平臺的設計與實現(xiàn)
- 1例妊娠糖尿病的個案護理
- 光伏發(fā)電職業(yè)病危害預評價方案方案
- 財務報表涉稅分析
- 立式單軸木工銑床安全操作規(guī)程
- 重癥患者識別課件
評論
0/150
提交評論