




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 數據庫系統概述 一、有關概念1數據2數據庫(DB)3數據庫管理系統(DBMS) Access桌面DBMS VFP SQL Server Oracle客戶機/服務器型DBMS MySQL DB24數據庫系統(DBS) 數據庫(DB) 數據庫管理系統(DBMS) 開發工具 應用系統二、數據管理技術的發展1數據管理的三個階段 (1)人工管理階段 (2)文件系統階段 (3)數據庫系統階段 概念模型一、模型的三個世界1現實世界2信息世界:即根據需求分析畫概念模型(即E-R圖),E-R圖與DBMS無關。3機器世界:將E-R圖轉換為某一種數據模型,數據模型與DBMS相關。注意:信息世界又稱概念模型,機器世
2、界又稱數據模型二、實體及屬性1實體:客觀存在并可相互區別的事物。2屬性:3關鍵詞:能唯一標識每個實體又不含多余屬性的屬性組合。一個表的碼可以有多個,但主碼只能有一個。4實體型:即二維表的結構5實體集:即整個二維表三、實體間的聯系:1兩實體集間實體之間的聯系1:1聯系、1:n聯系、m:n聯系2同一實體集內實體之間的聯系1:1聯系、1:n聯系、m:n聯系 數據模型一、層次模型:用樹型結構表示實體之間的聯系。二、網狀模型:用圖結構表示實體之間的聯系。三、關系模型:用二維表表示實體之間的聯系。1重要術語:關系:一個關系就是一個二維表;元組:二維表的一行,即實體;關系模式:在實體型的基礎上,注明主碼。關
3、系模型:指一個數據庫中全部二維表結構的集合。 數據庫系統結構 數據庫系統的模式結構 三級模式 1 模式:是數據庫中全體數據的邏輯結構和特征的描述。模式只涉及數據庫的結構;模式既不涉及應用程序,又不涉及數據庫結構的存儲; 外模式:是模式的一個子集,是與某一個應用程序有關的邏輯表示。特點:一個應用程序只能使用一個外模式,但同一個外模式可為多個應用程序使用。 內模式:描述數據庫結構的存儲,但不涉及物理記錄。2兩級映象 外模式/模式映象:保證數據庫的邏輯獨立性; 模式/內模式映象:保證數據庫的物理獨立性;3兩級映象的意義 使數據庫與應用系統完全分開,數據庫改變時,應用系統不必改變。 數據的存取完全由D
4、BMS管理,用戶不必考慮存取路徑。 數據庫管理系統1 DBMS的功能:負責對數據庫進行統一的管理與控制。 數據定義:即定義數據庫中各對象的結構 數據操縱:包括對數據庫進行查詢、插入、刪除、修改等操作。 數據控制:包括安全性控制、完整性控制、并發控制、數據庫恢復。2DBMS的組成:DDL語言 DML語言DCL語言實用程序一、 基本概念1碼:能唯一標識元組的屬性集。2候選碼:一個屬性集既能唯一標識元組,且又不含有多余屬性,一個關系模式可以有多個候選碼。3主碼:任選候選碼中的一個。4主屬性:主碼中包含的各個屬性。5非主屬性:不包含在主碼中的各個屬性。6外碼:設F是關系R的一個屬性,不是R的主碼,但卻
5、是另一個關系S的主碼,則稱F是關系R的外碼。關系的數學定義一、域1定義:域是一組具有相同類型的值的集合。2域的基數:域中所含數據的個數。二、笛卡爾積1定義:給定一組域D1,D2,D3,則D1D2D3稱為笛卡爾積。2笛卡爾積D1D2D3對應一個二維表,所含元組的個數等于各個域的基數之積。三、關系1定義:笛卡兒積的一部分元組稱為關系。2關系的目(或度):一個關系所含屬性的個數。3關系的性質任意兩個元組不能完全相同,但屬性名允許重復。四、關系的完整性1實體完整性:指關系的所有主屬性都不能取空值。注意:實體完整性不僅僅是主碼整體不能取空值。2參照完整性:指一個關系外碼的取值必須是相關關系中主碼的有效值
6、或空值。 五、專門的關系運算1 選擇:從關系R中選擇滿足條件的元組。 2投影:從關系R中選擇若干屬性組成新的關系,并把新關系的重復元組去掉。3條件連接:將兩關系按一定條件連接成一個新關系 說明:條件連接:兩關系可以沒有公共屬性,若有公共屬性,則新關系含有重復屬性。4自然連接:將兩關系按公共屬性連接成一個新的關系,并把新關系的重復屬性去掉。說明: 自然連接:兩關系至少有一個公共屬性。 對于R的每個元組,S都從第一個元組開始判斷,若兩元組的公共屬性值相同,則產生一個新元組添加到新關系中,最后把新關系中的重復屬性去掉。 關系數據庫規范化理論 函數依賴一、有關概念:1函數依賴:任給R(U),U為屬性集
7、,x、y為U的子集,如果對于x的每個值,y有唯一確定的值與之對應,則稱x決定y,或y函數依賴于x。2. 完全函數依賴:若xy,且對于x的所有真子集x,都有x y,則稱x完全決定y,或y完全函數依賴于x。結論:若xy,且x只包含一個屬性,則。3部分函數依賴:若xy,且存在x的一個真子集x,滿足xy,則稱x部分決定y,或y部分函數依賴于x。4傳遞函數依賴:若xy,yz,但 y x,則二、平凡函數依賴與非平凡函數依賴設xy,如果y是x的子集,則該依賴是平凡的。如果y中至少有一個屬性不在x中,則該依賴是非平凡的。如果y中沒有一個屬性在x中,則該依賴為完全非平凡的。 關系模式的規范化一、存在問題 數據冗
8、余大; 修改麻煩; 插入異常:應該插入到DB中的數據插不進去。如:新開課程沒有學生選修時,新開課程的課程號、課程名插不進去。 刪除異常:不應該刪除的數據被刪掉。如選修某門課的學生畢業了,在刪除學生信息的同時,把課程信息也刪除掉。結論:一個好的關系模式應滿足: 冗余應盡可能少; 應盡可能避免插入、刪除異常; 消去關系中不合適的屬性依賴關系。二、關系模式的規范化1第一范式(1NF) 定義:若關系R的所有屬性不能再分,則R1NF 存在問題 原因:存在非主屬性對主碼的部分依賴。 解決辦法:消除非主屬性對主碼的部分依賴,將關系R一分為二,將滿足完全依賴的屬性集組成一個關系;將滿足部分依賴的屬性集組成另一
9、個關系; 2第二范式(2NF) 定義:若關系R1NF,且它的每個非主屬性都完全依賴于主碼,則稱R2NF。3第三范式(3NF) 定義:若關系R2NF,且它的每個非主屬性都不傳遞依賴于主碼,則稱R3NF。4結論 若R1NF,且主碼只含一個屬性,則R一定為2NF。 若R2NF,且只有01個非主屬性,則R一定為3NF。 3NF一般控制了數據冗余,一般避免了操作異常。 范式并非越高越好,適可而止。 數據庫設計 一、數據庫設計的步驟 需求分析:了解分析用戶的需要、要求。 概念結構設計:根據需求分析的結果畫概念模型(即E-R圖)。 邏輯結構設計:將E-R圖轉換為某一種數據模型,并優化。 物理結構設計 數據庫
10、實施 數據庫運行與恢復 概念結構設計一、局部E-R圖設計 1確定局部范圍 通常把系統涉及的各個部門或各個主要功能作為局部。2確定實體與屬性 屬性是不能再分的數據項; 聯系只發生在兩實體之間; 原則上,能夠作為屬性,就不要作為實體。二、合并成總體E-R圖1消除各局部E-R圖的沖突問題。2按公共實體名合并,生成初步E-R圖。3消除冗余的屬性和冗余的聯系,生成總體E-R圖。 邏輯結構設計一、聯系的屬性和主碼(1)聯系的屬性:必須包含相關聯的各實體型的主碼。(2)聯系的主碼1:1聯系:可以是相關聯的任一實體型的主碼。1:n聯系:必須是n方實體型的主碼。m:n聯系:必須是相關聯的各實體型的主碼之和。二、
11、E-R圖向關系模型的轉換(1)把每個實體型轉換為一個關系模式。(2)1:1聯系:可以消化到相關聯的任一實體型對應的關系模式中。(3)1:n聯系:可以消化到n方實體名對應的關系模式中。(4)m:n聯系:必須轉換為一個關系模式,并且不能消化。(5)多元聯系:不能消化物理結構設計與數據庫實施1物理結構設計在邏輯設計的基礎上,為每個關系模式選擇合適的存儲結構與存儲方式。選擇存儲結構:即決定每個表的記錄順序。選擇存取方式:即決定為哪些屬性建立非聚集索引,以便加快查找速度。一般把經常查詢的屬性名指定為非聚集索引。2數據庫實施主要工作:定義數據庫結構;組織數據入庫;編寫應用程序;數據庫試運行; 創建和使用數
12、據庫一、數據庫文件1一個數據庫至少有一個主要數據文件和一個事務日志文件。如果數據庫很大,可以使用一個主要數據文件、多個次要數據文件和多個事務日志文件。用于存放數據庫的各類對象主數據文件(.mdf )次數據文件(.ndf ) 事務日志文件(.ldf ):用來記錄對數據庫對象的所有更新操作。2系統數據庫Master數據庫、Model數據庫二、創建數據庫1打開數據庫:Use 數據庫名2刪除數據庫:Drop database數據庫名三、修改數據庫1分離和附加數據庫2備份和還原數據庫3數據的導入和導出 創建和使用表 數據類型1字符型char(n)、varchar(n)、Text2統一碼字符型每個英文字母
13、、數字、漢字算1個字符,每個字符占2個字節。nchar(n)、nvarchar(n)、ntext3整型4實型 精確數值型 近似數值型5貸幣型6日期時間型 使用對象資源管理器創建和管理表一、創建表1在一個表中只能定義一個標識字段。2只有整型和精確數值型(decimal、numeric)字段才能指定為標識字段。3把某個字段指定為公式字段。二、設置約束1主鍵約束:每個表中只能有一列或一個組合被指定為主鍵,主鍵中的各個列不能為空值。2外鍵約束:創建外鍵約束,就是定義兩個表的永久關聯,這兩個表分別稱為主鍵表、外鍵表。外鍵表中外鍵的值只能是主鍵表中主鍵的有效值或空值。3唯一性約束:主鍵約束與唯一性約束的區
14、別是:(1) 在一個表中只能定義一個主鍵約束,但可定義多個唯一性約束;(2)指定為主鍵約束的列不能取空值,但指定為唯一性約束的列允許取空值。4唯一性約束:用于限制輸入到一列或多列的值的范圍,保證數據庫的數據完整性。5默認值約束: T-SQL 一、SQL語言的特點SQL語言集數據定義、數據查詢、數據操縱、數據控制的功能于一體。所有的DBMS都支持SQL語言。 T-SQL基礎一、創建和使用數據庫1創建數據庫create database 數據庫名2使用數據庫Use數據庫名3刪除數據庫 drop database數據庫名二、 定義表1創建表 create table 表名(屬性名 類型,屬性名 類型
15、)指定標識字段:identity(標識種子,標識增量)指定公式字段:屬性名 as 表達式2刪除表 drop table表名, 表名三、select語句select */表達式表into 新表from 表名,表名where 條件group by 屬性名having 條件order by屬性名Asc/Desc1Select 子句 *代表所有屬性名 若一個屬性名來自多個表,則屬性名前須冠以表名,格式為:表名. 屬性名 設置表達式的別名: 表達式 As 別名 限制查詢結果的記錄行數: all 返回全部記錄 top n 返回前面n行記錄 distinct 表示取消重復行 說明:top n只能放在關鍵字s
16、elect的后面; all、distinct只能放在關鍵字select或聚合函數的后面。2Where 子句 in的格式:屬性名 in (常量,常量) like的格式:屬性名 like 通配字符串 在Where 子句中指定連接: Where 表名1. 屬性名=表名2. 屬性名3Order by子句 order by屬性名1 Asc/Desc, 屬性名2 Asc/Desc4聚合函數5Group by子句 使用Group by子句時,Select 子句只能使用分組項字段和聚合函數6Having子句 Having子句只能跟在Group by子句之后,且只能使用聚合函數和分組項字段。 where子句放在
17、Group by子句之前,甚至可以沒有Group by子句;且不能包含聚合函數。7into子句 功能:將查詢結果保存到新的基表中。一、 查詢的分類 單表查詢連接查詢嵌套查詢五、數據操縱1insert語句(1)每次插入一條記錄 insert into 表名(屬性名表) values(表達式表)(2)插入子查詢的結果 insert into 表名(屬性名表) update 表名 set 屬性名=值,屬性名=值 where 條件 缺省where子句,默認為更新全部記錄。3delete語句delete from 表名 where 條件T-SQL程序設計基礎 一、常量: 字符型:由單引號括住 整型實型二
18、、變量: 局部變量:由用戶定義和賦值,以 開頭。 全局變量:由系統定義和賦值,以 開頭。1.聲明局部變量Declare 變量名 類型2.給局部變量賦值 使用set語句: Set 變量名=表達式 使用select 語句 Select 變量名=表達式,,變量名=表達式 from 表名 若表達式中含有屬性名,則必須使用from子句。3.輸出表達式的值:使用print 語句 Print 表達式使用select語句 Select 表達式,表達式 from 表名4局部變量的作用域: 只能在聲明它的批處理中使用。 批處理1什么叫批處理? 一個腳本由一個或多個批處理組成,批處理以GO作為結束標志。2批處理是腳
19、本的編譯單位,當一個批處理中的某個語句出現編譯錯誤,則批處理中的任何語句均無法執行。3當一個批處理中的某個語句出現運行錯誤,則批處理中當前語句和它之后的語句將無法執行。 流程控制語句一、beginend語句二、if-else語句當邏輯表達式包含子查詢時,子查詢必須用括號括住。三、case表達式說明:case表達式不是語句,不能單獨執行。四、while語句2專用于循環體的語句: Break 強制退出while語句,執行其后續語句。 Continue 返回while語句的入口。 Break、Continue必須放在循環體內,并常與if-else語句結合使用。二、 其它語句1Return語句 2存儲
20、過程 創建存儲過程 刪除存儲過程 函數1創建函數create function 函數名(形參名 類型) returns 類型asbegin函數體 End注: 函數體最后一條語句必須是return語句。 兩類函數:標量函數、內嵌表值函數2執行函數Exec 變量名1=函數名 常量| 變量名 Print 函數名 (常量| 變量名)3刪除函數 Drop function 函數名 T-SQL 高級應用 一、查詢的分類 單表查詢連接查詢嵌套查詢一、 連接查詢:在where子句中指定連接1內連接:where 表名1.屬性名=表名2.屬性名2自身連接:給一個表取兩個別名,where子句的格式為:where 別
21、名1.屬性名=別名2.屬性名3左外連接:where 表名1.屬性名*=表名2.屬性名 意義:查詢結果包含了表1的全部記錄和表2滿足條件的記錄。4右外連接:where 表名1.屬性名=*表名2.屬性名 意義:查詢結果包含了表2的全部記錄和表1滿足條件的記錄。三、連接查詢:在from子句中指定連接1內連接:from 表名1 inner join 表名2 on 條件2左外連接:from 表名1 left outer join 表名2 on 條件3右外連接:from 表名1 right outer join 表名2 on 條件4完全外連接:from 表名1 full outer join 表名2 on
22、 條件5交叉連接四、嵌套查詢 事務處理1什么叫事務? 事務是用戶定義的一組操作序列。 事務是并發控制的基本單位。 一個事務包含的諸操作要么都執行,要么都不執行。1 事務的屬性 原子性:指事務中包含的諸操作要么都執行,要么都不執行。 一致性:事務必須使數據庫從一個一致性狀態變到另一個一致性狀態。 隔離性:一個事務的執行不能被其他事務干擾。 持久性3顯式定義事務4在事務內設置保存點 使用游標一、游標的概念1 每個表均有一個游標,它可以指向表的任意一條記錄。2 移動游標的方法:在觸發器或存儲過程中,使用SQL語句定義和使用游標。在前臺應用程序中,使用主語言實現對游標的移動。二、 Transact-S
23、QL游標的使用:1. 聲明游標Declare 游標名 cursorforward_only / scroll global /localread_only for select 語句 forward_only(只進游標):只能進行next操作,缺省為forward_only。 scroll (滾動游標)global /local:缺省為:global2打開游標 open 游標名 打開游標時,游標指向查詢結果集的第一條記錄之前。3提取游標 fetch next / prior / first /last from游標名 into 局部變量名表 缺省into子句:移動游標,并顯示當前記錄的內容。
24、含into子句:移動游標,并將當前記錄各屬性值依次賦給局部變量。 缺省游標移動方式,則為next。4關閉游標 close游標名5釋放游標索引一、索引的概念: 如果把數據表比作一本書,那么表的索引就是這本書的目錄。可見,索引使用戶能快速訪問數據表的特定信息。 索引包括兩項:索引字段值、原記錄號 索引必須依附于某個基本表,不能單獨存在。二、索引的類型:聚集索引:影響數據表的記錄順序非聚集索引:不會影響數據表的記錄順序注:一個表只能建立一個聚集索引,但可以建立若干個非聚集索引。三、創建索引1自動創建索引:。如果在數據表的某個屬性設置主鍵約束或唯一約束,則系統將在這些屬性上自動創建唯一索引。自動創建的索引隨約束的存在而存在,隨約束的消失而消失。2使用SQL語句創建索引Create unique clustered/nonclustered index 索引名 On 表名(屬性名asc/desc, 屬性名asc/desc)注:若未指定clustered,則創建非聚集索引;若未指定排序方式,則為ASC;text,ntext類型的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 具有振震雙控功能的模塊化層并聯橡膠支座及組合隔振(震)層研究
- 管理與護理管理學
- 倉庫人員安全意識提升方案
- 保護牙齒健康教案說課
- 腎挫傷患者的常規護理
- 超聲波泵技術解析與應用
- 師德警示教育案例解析與應用
- 《智能網聯汽車技術》課件-智能網聯汽車發展目標的認知
- 預防職業病危害課件
- 小學教師常規培訓
- 實驗室培育鉆石行業技術發展趨勢報告
- 2025年領英大制造行業人才全球化報告-馬來西亞篇
- 專題:閱讀理解 30篇 中考英語高分提升之新題速遞第二輯【含答案+解析】
- 企業面試題目和答案大全
- 抖音房產直播課件
- 2025至2030中國近視眼治療儀市場競爭力剖析及企業經營形勢分析報告
- 2025年高考化學試卷(廣東卷)(空白卷)
- 體育老師招聘試題及答案
- 自然生態探險之旅行業跨境出海項目商業計劃書
- 2025年北京市高考英語試卷真題(含答案解析)
- 西藏自治區拉薩市達孜區孜縣2025年七下英語期中質量檢測模擬試題含答案
評論
0/150
提交評論