數(shù)據(jù)庫分析與設計_第1頁
數(shù)據(jù)庫分析與設計_第2頁
數(shù)據(jù)庫分析與設計_第3頁
數(shù)據(jù)庫分析與設計_第4頁
已閱讀5頁,還剩81頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、數(shù)據(jù)庫分析與設計王有天湖北經(jīng)濟學院湖北經(jīng)濟學院 2022-3-72數(shù)據(jù)電子商務系統(tǒng)軟硬件環(huán)境分布式軟件系統(tǒng)(B/S;C/S. P2P)商務系統(tǒng)B/S;C/S現(xiàn)金流物流信息流業(yè)務處理指令,往往體現(xiàn)為SQL的批處理。數(shù)據(jù)庫管理程序數(shù)據(jù)數(shù)據(jù)處理指令:比如SQL。用戶管理程序權限管理程序用戶用戶用戶用戶用戶用戶用戶用戶用戶用戶業(yè)務流程1業(yè)務流程2業(yè)務流程3業(yè)務流程4用戶控制業(yè)務經(jīng)營數(shù)據(jù)層界面業(yè)務支持市場業(yè)務控制控制層表現(xiàn)層郵箱域名2022-3-73數(shù)據(jù)層 數(shù)據(jù)是企業(yè)信息系統(tǒng)的核心。價值實現(xiàn)層業(yè)務經(jīng)營層邏輯控制層頻道經(jīng)營用戶使用內(nèi)容輸入頻道數(shù)據(jù)資源層數(shù)據(jù)庫數(shù)據(jù)發(fā)布程序開發(fā)人員維護內(nèi)容輸入界面開發(fā)人員維護

2、用戶需求市場2022-3-74對數(shù)據(jù)的管理系統(tǒng) 數(shù)據(jù)庫 DBMS DataBase Management System2022-3-75為什么要有DBMS 數(shù)據(jù)完整性 事務的處理 如:轉(zhuǎn)賬事務 相對獨立的系統(tǒng)模塊 數(shù)據(jù)與程序分開。 軟件的相對獨立研發(fā) 集成數(shù)據(jù)處理的機制。 故障恢復 Log 權限2022-3-76DBMS特點 封裝 不能通過DBMS以外的渠道訪問數(shù)據(jù)庫。 否則破壞完整性、一致性。 支持事務處理 能夠故障恢復 控制訪問 并發(fā)操作2022-3-77DBMS的發(fā)展 圖書館/資料庫 如果管理不善,就不能成為系統(tǒng)。 人 文件系統(tǒng) 沒有封裝;沒有事務處理;沒有故障恢復。 數(shù)據(jù)庫2022-3

3、-78DBMS的分類 網(wǎng)絡型/層次型 關系型 擴展 面向?qū)ο?模糊數(shù)據(jù) 多媒體數(shù)據(jù)庫 網(wǎng)絡文件管理2022-3-79關系型數(shù)據(jù)庫 數(shù)據(jù)存儲在表中賬號賬號名稱名稱密碼密碼學生學生1a112b223c31學號學號 姓名姓名 性別性別1張三 男2李四 女3課程課程名稱名稱1電商2信息32022-3-710Entity Relation學生1賬號1張三2022-3-711關系種類: 1:n n:m 學生和課程學號學號姓名姓名性別性別1張三男2李四女3課程課程名稱名稱1電商2信息3學號學號 課程課程1112322022-3-712關系型數(shù)據(jù)庫的優(yōu)點 記錄等長 檢索快。 例如:總記錄個數(shù)。 某個字段值20

4、22-3-713基本詞匯 表 字段 記錄 字段 關鍵字段 記錄 記錄的字段值 關系 定義某個表中某字段的值取自另外一個表2022-3-714記錄的增加刪除更新 記錄沒有順序。 查詢語言可以按字段排序。 刪除記錄 取決于DBMS 一般作標記,重用空間。 可以壓縮表。但DBMS一般不自動進行。 增加記錄 刪除記錄或最后 更新記錄 定位到記錄字段,覆蓋。2022-3-715約束和觸發(fā)器 字段 取值范圍 某個記錄必須符合某個范疇。 更復雜的約束需要觸發(fā)器。2022-3-716數(shù)據(jù)庫中表和類的關系 表 固定字段,表示某一類對象。 每個記錄相當于類的實例。 每個字段值相當于實例的屬性或者與其他實例的關系。

5、 非同類的數(shù)據(jù)存儲在同一個表,并不適合。2022-3-717記錄和語句的關系 每個記錄相當于符合特定語法的語句。 表示一定的語義。 Null表示不知道 Null的運算2022-3-718關系型數(shù)據(jù)庫的范式 第一范式: 字段的原子性。要么視為原子。要么應該再分。 否則不便查詢。字段1 字段2 字段3 字段4 字段3.1 字段3.2 2022-3-719第二范式 非關鍵字段完全函數(shù)依賴于關鍵字段。 函數(shù)依賴 y=f(x); 不能說y=f(x)附近。2022-3-720不符合第二范式造成問題 假定選課關系表為SelectCourse(學號學號, 姓名, 年齡, 課程名稱課程名稱, 成績, 學分) 關

6、鍵字為組合關鍵字(學號, 課程名稱),因為存在如下決定關系: (學號, 課程名稱) (姓名, 年齡, 成績, 學分) 這個數(shù)據(jù)庫表不滿足第二范式,因為存在如下決定關系: (課程名稱) (學分) (學號) (姓名, 年齡) 即存在組合關鍵字中的字段決定非關鍵字的情況。 2022-3-721不符合第二范式造成問題 數(shù)據(jù)冗余: 同一門課程由n個學生選修,“學分”就重復n-1次;同一個學生選修了m門課程,姓名和年齡就重復了m-1次。 更新異常: 若調(diào)整了某門課程的學分,數(shù)據(jù)表中所有行的“學分”值都要更新,否則會出現(xiàn)同一門課程學分不同的情況。 插入異常: 假設要開設一門新的課程,暫時還沒有人選修。這樣,

7、由于還沒有“學號”關鍵字,課程名稱和學分也無法記錄入數(shù)據(jù)庫。 刪除異常: 假設一批學生撤銷某些課程的選修,這些選修記錄就應該從數(shù)據(jù)庫表中刪除。但是,與此同時,課程名稱和學分信息也被刪除了。很顯然,這也會導致插入異常。2022-3-722不符合第二范式造成問題 冗余 重復的數(shù)據(jù) 更新麻煩 更新不一致造成沖突 冗余的根源在于 非關鍵字段不是由關鍵字段完全決定。 部分就能決定,結(jié)果另外一部分關鍵字改變時,非關鍵字段重復。2022-3-723關系型數(shù)據(jù)庫的范式 第三范式 非關鍵字段之間不存在傳遞依賴。 否則存在冗余。 冗余帶來同樣的問題。2022-3-724適當?shù)娜哂?適當?shù)娜哂?造成重復但可能提高性

8、能。 如index是故意的冗余。 照顧語義。2022-3-725數(shù)據(jù)庫設計的多樣性 對同一件事情描述方法可以不同。 因此數(shù)據(jù)庫的結(jié)構(gòu)有所不同。 但這些數(shù)據(jù)庫中的數(shù)據(jù)應該是等價的。 可以相互推導。2022-3-726關系型數(shù)據(jù)庫的數(shù)據(jù)操作 DBMS完成。 RDBMS支持查詢語言SQL SQL=Structured Query Language 是一個語言規(guī)范。DBMS一般支持該規(guī)范,并有自己的擴展。 查詢和操作:增刪改查2022-3-727SQL的組成的組成(分類分類) DATABASE DATABASE TABLE TABLECREATECREATE VIEW VIEW INDEX INDEX

9、 SQL DDL SQL DDL:ALTERALTERDROPDROP SQL QUERY SQL QUERY:SELECT SELECT FROM FROM INSERT INSERT SQLSQL SQL DML SQL DML:UPDATE UPDATE DELETE DELETE GRANTGRANT SQL DCL SQL DCL:REVOKEREVOKE2022-3-728增加記錄 Insert Table1(Field1,) Values(,) Insert Table1(Field1,)Select 2022-3-729更新 Update Table1Set Field1=,

10、Field2=Where 2022-3-730刪除 Delete Table1Where2022-3-731Select, Where 篩選記錄 Select Field1, Field4 from Table1 Where (Field1=張三 and Field2=2) or Field1=李四 篩選條件 Like Between And ,=,=,=2022-3-732Join, On豎著連接表,按一定條件 Table1 join Table2 on Table1.Field1=Table2.Field1 Left Join Right Join 對于連接的表可以進行查詢(如選擇)202

11、2-3-733Into查詢結(jié)果存儲在表中 Select Table1.Field1, into NewTable1From 2022-3-734Union豎著合并表Select Field1,From Table1Where UnionSelect Field1,From Table2Where2022-3-735交叉表查詢TRANSFORM Sum(銷售收入) AS 銷售收入之總計SELECT 部門, 人員FROM 銷售GROUP BY 部門, 人員PIVOT 季度;部門部門人員人員1 12 23 34 4銷售1部張三3024255635781962133299333銷售2部李四3780銷售

12、2部王五32899922141112352341部門部門人員人員季季度度銷售銷售收入收入銷售1部張三1300000銷售1部張三2560012銷售1部張三362000銷售1部張三43299100銷售2部李四23780銷售2部王五2328999銷售2部王五32214111銷售2部王五42349999銷售1部張三12425銷售1部張三23566銷售1部張三3134213銷售1部張三4233銷售2部王五423422022-3-736as 字段別名和表別名 表別名允許給表另起一個名字,相當于將表復制一遍參加查詢。 視為單獨的表,臨時。2022-3-737Group by 進行分組集合運算2022-3-7

13、38Having, Where Where 決定哪些元組被選擇參加運算,作用于關系中的元組 Having 決定哪些分組符合要求,作用于分組2022-3-739Order By 排序 Desc Asc2022-3-740In,ExistsSELECTFROM WHERE S# IN ( SELECT S# FROM Student WHERE Course = C1 );2022-3-741In, ExistsSELECT SNFROM SWHERE EXISTS ( SELECT * FROM SC WHERE S.S#=SC.S# AND C#=C1 );2022-3-742查詢的圖形化-Q

14、BE2022-3-743查詢的圖形化2022-3-744權限管理語言的圖形化2022-3-745電子商務系統(tǒng)中對SQL的調(diào)用 DBMS可以批處理SQL語句。 電子商務系統(tǒng)調(diào)用SQL 效率更高 安全,保持數(shù)據(jù)完整性。 支持事務。2022-3-746事務處理 事務 一組數(shù)據(jù)操作,要么成功要么失敗。 SQLBEGIN TRANSACTION COMMIT ROLLBACK2022-3-747事務特點 Atomicity 事務是數(shù)據(jù)庫的邏輯工作單位,事務中包括的諸操作事務是數(shù)據(jù)庫的邏輯工作單位,事務中包括的諸操作要么都做,要么都不做。要么都做,要么都不做。 Consistency 事務執(zhí)行的結(jié)果必須是

15、使數(shù)據(jù)庫從一個一致性狀態(tài)變事務執(zhí)行的結(jié)果必須是使數(shù)據(jù)庫從一個一致性狀態(tài)變到另一個一致性狀態(tài)到另一個一致性狀態(tài) Isolation 一個事務的執(zhí)行不能被其他事務干擾。并發(fā)執(zhí)行的各一個事務的執(zhí)行不能被其他事務干擾。并發(fā)執(zhí)行的各個事務之間不能互相干擾。個事務之間不能互相干擾。 Durability 一個事務一旦提交,它對數(shù)據(jù)庫中數(shù)據(jù)的改變就應該一個事務一旦提交,它對數(shù)據(jù)庫中數(shù)據(jù)的改變就應該是永久性的。是永久性的。2022-3-748故障恢復 出現(xiàn)異常。造成事務中斷。比如斷電。 此時數(shù)據(jù)可能不一致。 單獨的數(shù)據(jù)庫文件難于解決該問題。 Log 寫入數(shù)據(jù)庫文件前,先寫日志。在日志中保留恢復信息。 在數(shù)據(jù)庫

16、文件寫成功后,在日志中標記。 檢查日志。沒有成功的寫入應該嘗試再寫或者放棄。2022-3-749日志格式 每條日志記錄的內(nèi)容 事務標識 操作類型(插入、刪除或修改) 操作對象(記錄ID、Block NO.) 更新前數(shù)據(jù)的舊值(對插入操作而言,此項為空值) 更新后數(shù)據(jù)的新值(對刪除操作而言, 此項為空值)2022-3-750故障恢復 系統(tǒng)重啟時, 如果日志完整,向前繼續(xù)執(zhí)行事務 如果日志不完整,撤銷該事務。2022-3-751數(shù)據(jù)庫軟件 一般是關系型的 文件型 Access 沒有日志。 服務 Oracle Ms Sql Server MySQL2022-3-752數(shù)據(jù)庫軟件 這些軟件都支持SQL

17、,并擴展。 SQL Server下的T-SQL2022-3-753SQL Server簡介 原來為另外一家公司產(chǎn)品,后被微軟收購。最新版本2005。 支持.net。 可以定義類型 可以定義函數(shù)、存儲過程、觸發(fā)器等。 支持xml2022-3-754SQL Server安裝 安裝時會檢查: 至少512M,建議1G內(nèi)存。 安裝在Windows Server 2003 需要Service pack較新版本 最好安裝有.net2022-3-755SQL Server數(shù)據(jù)庫文件 管理多個數(shù)據(jù)庫 數(shù)據(jù)庫文件 一個或多個文件組 每個文件組有一個或多個文件。 分布在多個磁盤上可以并行讀取。 不放在壓縮磁盤上。

18、日志2022-3-756連接 可以用客戶端連接。比如: 剛才的Management Studio Access 理解為一種服務/客戶端使用關系。 程序連接 比如:A中建立SqlConnection對象,指定數(shù)據(jù)庫位置(地址)、用戶名、密碼、數(shù)據(jù)庫2022-3-757管理2022-3-758Mgmt Studio: T-SQL2022-3-759Access+SQL ServerAccess文件SQL Server服務Access程序SQL Server Mgt. Studio2022-3-760Access + SQL Server2022-3-761新建2022-3-762瀏覽2022-3-

19、7632022-3-7642022-3-7652022-3-7662022-3-7672022-3-7682022-3-7692022-3-7702022-3-7712022-3-7722022-3-7732022-3-774Access + SQL Server 實際例子2022-3-7752022-3-776T-SQL 除了標準SQL外,支持更多功能。 可以有變量、邏輯控制,因此可以編程。 SQL Server 2005支持在.net環(huán)境中編程,如類型、觸發(fā)器等。2022-3-777T-SQL2022-3-778數(shù)據(jù)庫空間 一般單獨提供。 目前市場上提供的數(shù)據(jù)庫空間有: MySQL MS Sql Server Oracle較少。 價格差不多。2022-3-779數(shù)據(jù)庫的維護 備份 復制/分布 數(shù)據(jù)完整性 權限控制 安全性2022-3-780數(shù)據(jù)庫的備份 用于在系統(tǒng)發(fā)生故障后還原和恢復數(shù)據(jù)。 對于例行的工作(例如,將

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論