



版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、數(shù)據(jù)庫(kù)分析與設(shè)計(jì)王有天湖北經(jīng)濟(jì)學(xué)院湖北經(jīng)濟(jì)學(xué)院 2022-3-72數(shù)據(jù)電子商務(wù)系統(tǒng)軟硬件環(huán)境分布式軟件系統(tǒng)(B/S;C/S. P2P)商務(wù)系統(tǒng)B/S;C/S現(xiàn)金流物流信息流業(yè)務(wù)處理指令,往往體現(xiàn)為SQL的批處理。數(shù)據(jù)庫(kù)管理程序數(shù)據(jù)數(shù)據(jù)處理指令:比如SQL。用戶管理程序權(quán)限管理程序用戶用戶用戶用戶用戶用戶用戶用戶用戶用戶業(yè)務(wù)流程1業(yè)務(wù)流程2業(yè)務(wù)流程3業(yè)務(wù)流程4用戶控制業(yè)務(wù)經(jīng)營(yíng)數(shù)據(jù)層界面業(yè)務(wù)支持市場(chǎng)業(yè)務(wù)控制控制層表現(xiàn)層郵箱域名2022-3-73數(shù)據(jù)層 數(shù)據(jù)是企業(yè)信息系統(tǒng)的核心。價(jià)值實(shí)現(xiàn)層業(yè)務(wù)經(jīng)營(yíng)層邏輯控制層頻道經(jīng)營(yíng)用戶使用內(nèi)容輸入頻道數(shù)據(jù)資源層數(shù)據(jù)庫(kù)數(shù)據(jù)發(fā)布程序開發(fā)人員維護(hù)內(nèi)容輸入界面開發(fā)人員維護(hù)
2、用戶需求市場(chǎng)2022-3-74對(duì)數(shù)據(jù)的管理系統(tǒng) 數(shù)據(jù)庫(kù) DBMS DataBase Management System2022-3-75為什么要有DBMS 數(shù)據(jù)完整性 事務(wù)的處理 如:轉(zhuǎn)賬事務(wù) 相對(duì)獨(dú)立的系統(tǒng)模塊 數(shù)據(jù)與程序分開。 軟件的相對(duì)獨(dú)立研發(fā) 集成數(shù)據(jù)處理的機(jī)制。 故障恢復(fù) Log 權(quán)限2022-3-76DBMS特點(diǎn) 封裝 不能通過(guò)DBMS以外的渠道訪問(wèn)數(shù)據(jù)庫(kù)。 否則破壞完整性、一致性。 支持事務(wù)處理 能夠故障恢復(fù) 控制訪問(wèn) 并發(fā)操作2022-3-77DBMS的發(fā)展 圖書館/資料庫(kù) 如果管理不善,就不能成為系統(tǒng)。 人 文件系統(tǒng) 沒有封裝;沒有事務(wù)處理;沒有故障恢復(fù)。 數(shù)據(jù)庫(kù)2022-3
3、-78DBMS的分類 網(wǎng)絡(luò)型/層次型 關(guān)系型 擴(kuò)展 面向?qū)ο?模糊數(shù)據(jù) 多媒體數(shù)據(jù)庫(kù) 網(wǎng)絡(luò)文件管理2022-3-79關(guān)系型數(shù)據(jù)庫(kù) 數(shù)據(jù)存儲(chǔ)在表中賬號(hào)賬號(hào)名稱名稱密碼密碼學(xué)生學(xué)生1a112b223c31學(xué)號(hào)學(xué)號(hào) 姓名姓名 性別性別1張三 男2李四 女3課程課程名稱名稱1電商2信息32022-3-710Entity Relation學(xué)生1賬號(hào)1張三2022-3-711關(guān)系種類: 1:n n:m 學(xué)生和課程學(xué)號(hào)學(xué)號(hào)姓名姓名性別性別1張三男2李四女3課程課程名稱名稱1電商2信息3學(xué)號(hào)學(xué)號(hào) 課程課程1112322022-3-712關(guān)系型數(shù)據(jù)庫(kù)的優(yōu)點(diǎn) 記錄等長(zhǎng) 檢索快。 例如:總記錄個(gè)數(shù)。 某個(gè)字段值20
4、22-3-713基本詞匯 表 字段 記錄 字段 關(guān)鍵字段 記錄 記錄的字段值 關(guān)系 定義某個(gè)表中某字段的值取自另外一個(gè)表2022-3-714記錄的增加刪除更新 記錄沒有順序。 查詢語(yǔ)言可以按字段排序。 刪除記錄 取決于DBMS 一般作標(biāo)記,重用空間。 可以壓縮表。但DBMS一般不自動(dòng)進(jìn)行。 增加記錄 刪除記錄或最后 更新記錄 定位到記錄字段,覆蓋。2022-3-715約束和觸發(fā)器 字段 取值范圍 某個(gè)記錄必須符合某個(gè)范疇。 更復(fù)雜的約束需要觸發(fā)器。2022-3-716數(shù)據(jù)庫(kù)中表和類的關(guān)系 表 固定字段,表示某一類對(duì)象。 每個(gè)記錄相當(dāng)于類的實(shí)例。 每個(gè)字段值相當(dāng)于實(shí)例的屬性或者與其他實(shí)例的關(guān)系。
5、 非同類的數(shù)據(jù)存儲(chǔ)在同一個(gè)表,并不適合。2022-3-717記錄和語(yǔ)句的關(guān)系 每個(gè)記錄相當(dāng)于符合特定語(yǔ)法的語(yǔ)句。 表示一定的語(yǔ)義。 Null表示不知道 Null的運(yùn)算2022-3-718關(guān)系型數(shù)據(jù)庫(kù)的范式 第一范式: 字段的原子性。要么視為原子。要么應(yīng)該再分。 否則不便查詢。字段1 字段2 字段3 字段4 字段3.1 字段3.2 2022-3-719第二范式 非關(guān)鍵字段完全函數(shù)依賴于關(guān)鍵字段。 函數(shù)依賴 y=f(x); 不能說(shuō)y=f(x)附近。2022-3-720不符合第二范式造成問(wèn)題 假定選課關(guān)系表為SelectCourse(學(xué)號(hào)學(xué)號(hào), 姓名, 年齡, 課程名稱課程名稱, 成績(jī), 學(xué)分) 關(guān)
6、鍵字為組合關(guān)鍵字(學(xué)號(hào), 課程名稱),因?yàn)榇嬖谌缦聸Q定關(guān)系: (學(xué)號(hào), 課程名稱) (姓名, 年齡, 成績(jī), 學(xué)分) 這個(gè)數(shù)據(jù)庫(kù)表不滿足第二范式,因?yàn)榇嬖谌缦聸Q定關(guān)系: (課程名稱) (學(xué)分) (學(xué)號(hào)) (姓名, 年齡) 即存在組合關(guān)鍵字中的字段決定非關(guān)鍵字的情況。 2022-3-721不符合第二范式造成問(wèn)題 數(shù)據(jù)冗余: 同一門課程由n個(gè)學(xué)生選修,“學(xué)分”就重復(fù)n-1次;同一個(gè)學(xué)生選修了m門課程,姓名和年齡就重復(fù)了m-1次。 更新異常: 若調(diào)整了某門課程的學(xué)分,數(shù)據(jù)表中所有行的“學(xué)分”值都要更新,否則會(huì)出現(xiàn)同一門課程學(xué)分不同的情況。 插入異常: 假設(shè)要開設(shè)一門新的課程,暫時(shí)還沒有人選修。這樣,
7、由于還沒有“學(xué)號(hào)”關(guān)鍵字,課程名稱和學(xué)分也無(wú)法記錄入數(shù)據(jù)庫(kù)。 刪除異常: 假設(shè)一批學(xué)生撤銷某些課程的選修,這些選修記錄就應(yīng)該從數(shù)據(jù)庫(kù)表中刪除。但是,與此同時(shí),課程名稱和學(xué)分信息也被刪除了。很顯然,這也會(huì)導(dǎo)致插入異常。2022-3-722不符合第二范式造成問(wèn)題 冗余 重復(fù)的數(shù)據(jù) 更新麻煩 更新不一致造成沖突 冗余的根源在于 非關(guān)鍵字段不是由關(guān)鍵字段完全決定。 部分就能決定,結(jié)果另外一部分關(guān)鍵字改變時(shí),非關(guān)鍵字段重復(fù)。2022-3-723關(guān)系型數(shù)據(jù)庫(kù)的范式 第三范式 非關(guān)鍵字段之間不存在傳遞依賴。 否則存在冗余。 冗余帶來(lái)同樣的問(wèn)題。2022-3-724適當(dāng)?shù)娜哂?適當(dāng)?shù)娜哂?造成重復(fù)但可能提高性
8、能。 如index是故意的冗余。 照顧語(yǔ)義。2022-3-725數(shù)據(jù)庫(kù)設(shè)計(jì)的多樣性 對(duì)同一件事情描述方法可以不同。 因此數(shù)據(jù)庫(kù)的結(jié)構(gòu)有所不同。 但這些數(shù)據(jù)庫(kù)中的數(shù)據(jù)應(yīng)該是等價(jià)的。 可以相互推導(dǎo)。2022-3-726關(guān)系型數(shù)據(jù)庫(kù)的數(shù)據(jù)操作 DBMS完成。 RDBMS支持查詢語(yǔ)言SQL SQL=Structured Query Language 是一個(gè)語(yǔ)言規(guī)范。DBMS一般支持該規(guī)范,并有自己的擴(kuò)展。 查詢和操作:增刪改查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 對(duì)于連接的表可以進(jìn)行查詢(如選擇)202
11、2-3-733Into查詢結(jié)果存儲(chǔ)在表中 Select Table1.Field1, into NewTable1From 2022-3-734Union豎著合并表Select Field1,From Table1Where UnionSelect Field1,From Table2Where2022-3-735交叉表查詢TRANSFORM Sum(銷售收入) AS 銷售收入之總計(jì)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 字段別名和表別名 表別名允許給表另起一個(gè)名字,相當(dāng)于將表復(fù)制一遍參加查詢。 視為單獨(dú)的表,臨時(shí)。2022-3-737Group by 進(jìn)行分組集合運(yùn)算2022-3-7
13、38Having, Where Where 決定哪些元組被選擇參加運(yùn)算,作用于關(guān)系中的元組 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權(quán)限管理語(yǔ)言的圖形化2022-3-745電子商務(wù)系統(tǒng)中對(duì)SQL的調(diào)用 DBMS可以批處理SQL語(yǔ)句。 電子商務(wù)系統(tǒng)調(diào)用SQL 效率更高 安全,保持?jǐn)?shù)據(jù)完整性。 支持事務(wù)。2022-3-746事務(wù)處理 事務(wù) 一組數(shù)據(jù)操作,要么成功要么失敗。 SQLBEGIN TRANSACTION COMMIT ROLLBACK2022-3-747事務(wù)特點(diǎn) Atomicity 事務(wù)是數(shù)據(jù)庫(kù)的邏輯工作單位,事務(wù)中包括的諸操作事務(wù)是數(shù)據(jù)庫(kù)的邏輯工作單位,事務(wù)中包括的諸操作要么都做,要么都不做。要么都做,要么都不做。 Consistency 事務(wù)執(zhí)行的結(jié)果必須是
15、使數(shù)據(jù)庫(kù)從一個(gè)一致性狀態(tài)變事務(wù)執(zhí)行的結(jié)果必須是使數(shù)據(jù)庫(kù)從一個(gè)一致性狀態(tài)變到另一個(gè)一致性狀態(tài)到另一個(gè)一致性狀態(tài) Isolation 一個(gè)事務(wù)的執(zhí)行不能被其他事務(wù)干擾。并發(fā)執(zhí)行的各一個(gè)事務(wù)的執(zhí)行不能被其他事務(wù)干擾。并發(fā)執(zhí)行的各個(gè)事務(wù)之間不能互相干擾。個(gè)事務(wù)之間不能互相干擾。 Durability 一個(gè)事務(wù)一旦提交,它對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的改變就應(yīng)該一個(gè)事務(wù)一旦提交,它對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的改變就應(yīng)該是永久性的。是永久性的。2022-3-748故障恢復(fù) 出現(xiàn)異常。造成事務(wù)中斷。比如斷電。 此時(shí)數(shù)據(jù)可能不一致。 單獨(dú)的數(shù)據(jù)庫(kù)文件難于解決該問(wèn)題。 Log 寫入數(shù)據(jù)庫(kù)文件前,先寫日志。在日志中保留恢復(fù)信息。 在數(shù)據(jù)庫(kù)
16、文件寫成功后,在日志中標(biāo)記。 檢查日志。沒有成功的寫入應(yīng)該嘗試再寫或者放棄。2022-3-749日志格式 每條日志記錄的內(nèi)容 事務(wù)標(biāo)識(shí) 操作類型(插入、刪除或修改) 操作對(duì)象(記錄ID、Block NO.) 更新前數(shù)據(jù)的舊值(對(duì)插入操作而言,此項(xiàng)為空值) 更新后數(shù)據(jù)的新值(對(duì)刪除操作而言, 此項(xiàng)為空值)2022-3-750故障恢復(fù) 系統(tǒng)重啟時(shí), 如果日志完整,向前繼續(xù)執(zhí)行事務(wù) 如果日志不完整,撤銷該事務(wù)。2022-3-751數(shù)據(jù)庫(kù)軟件 一般是關(guān)系型的 文件型 Access 沒有日志。 服務(wù) Oracle Ms Sql Server MySQL2022-3-752數(shù)據(jù)庫(kù)軟件 這些軟件都支持SQL
17、,并擴(kuò)展。 SQL Server下的T-SQL2022-3-753SQL Server簡(jiǎn)介 原來(lái)為另外一家公司產(chǎn)品,后被微軟收購(gòu)。最新版本2005。 支持.net。 可以定義類型 可以定義函數(shù)、存儲(chǔ)過(guò)程、觸發(fā)器等。 支持xml2022-3-754SQL Server安裝 安裝時(shí)會(huì)檢查: 至少512M,建議1G內(nèi)存。 安裝在Windows Server 2003 需要Service pack較新版本 最好安裝有.net2022-3-755SQL Server數(shù)據(jù)庫(kù)文件 管理多個(gè)數(shù)據(jù)庫(kù) 數(shù)據(jù)庫(kù)文件 一個(gè)或多個(gè)文件組 每個(gè)文件組有一個(gè)或多個(gè)文件。 分布在多個(gè)磁盤上可以并行讀取。 不放在壓縮磁盤上。
18、日志2022-3-756連接 可以用客戶端連接。比如: 剛才的Management Studio Access 理解為一種服務(wù)/客戶端使用關(guān)系。 程序連接 比如:A中建立SqlConnection對(duì)象,指定數(shù)據(jù)庫(kù)位置(地址)、用戶名、密碼、數(shù)據(jù)庫(kù)2022-3-757管理2022-3-758Mgmt Studio: T-SQL2022-3-759Access+SQL ServerAccess文件SQL Server服務(wù)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 實(shí)際例子2022-3-7752022-3-776T-SQL 除了標(biāo)準(zhǔn)SQL外,支持更多功能。 可以有變量、邏輯控制,因此可以編程。 SQL Server 2005支持在.net環(huán)境中編程,如類型、觸發(fā)器等。2022-3-777T-SQL2022-3-778數(shù)據(jù)庫(kù)空間 一般單獨(dú)提供。 目前市場(chǎng)上提供的數(shù)據(jù)庫(kù)空間有: MySQL MS Sql Server Oracle較少。 價(jià)格差不多。2022-3-779數(shù)據(jù)庫(kù)的維護(hù) 備份 復(fù)制/分布 數(shù)據(jù)完整性 權(quán)限控制 安全性2022-3-780數(shù)據(jù)庫(kù)的備份 用于在系統(tǒng)發(fā)生故障后還原和恢復(fù)數(shù)據(jù)。 對(duì)于例行的工作(例如,將
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國(guó)男性護(hù)理液行業(yè)市場(chǎng)全景分析及前景機(jī)遇研判報(bào)告
- 中班美術(shù)活動(dòng)變臉
- 無(wú)創(chuàng)呼吸機(jī)應(yīng)用和護(hù)理
- 智慧教育發(fā)展
- 煤礦機(jī)電運(yùn)輸事故原因及控制對(duì)策探究
- 物業(yè)品質(zhì)管理與培訓(xùn)
- 車用尿素研發(fā)生產(chǎn)與銷售合作協(xié)議書
- 房地產(chǎn)租賃合同補(bǔ)充協(xié)議書
- 員工培訓(xùn)計(jì)劃表
- 知識(shí)產(chǎn)權(quán)侵權(quán)代理授權(quán)協(xié)議
- 冠寓運(yùn)營(yíng)管理手冊(cè)正式版
- 2022年珠海市金灣區(qū)體育教師招聘筆試試題及答案
- GB/T 10610-2009產(chǎn)品幾何技術(shù)規(guī)范(GPS)表面結(jié)構(gòu)輪廓法評(píng)定表面結(jié)構(gòu)的規(guī)則和方法
- 畢業(yè)離校學(xué)生證遺失證明
- 智慧停車技術(shù)方案
- 土地整理質(zhì)量評(píng)定表
- 【告知牌】某公司全套重大危險(xiǎn)源告知牌(7頁(yè))
- 中考數(shù)學(xué)復(fù)習(xí)專題二方程與不等式
- 牛津深圳版七年級(jí)下冊(cè)英語(yǔ)作文匯總
- 供應(yīng)商管理庫(kù)存VMI的實(shí)施
- 公司“師帶徒”實(shí)施方案
評(píng)論
0/150
提交評(píng)論