【正文】
多維分析的基本活動(dòng):鉆取DrillDown與卷起RollUp;切片Slice與切塊Dice;旋轉(zhuǎn) OLAP的實(shí)現(xiàn)方式:基于多維數(shù)據(jù)庫的;基于關(guān)系數(shù)據(jù)庫的;混合型的 數(shù)據(jù)挖掘:數(shù)據(jù)庫知識(shí)發(fā)現(xiàn)KDD,從存放在數(shù)據(jù)庫、數(shù)據(jù)倉庫或其他信息庫中的大量數(shù)據(jù)中挖掘有趣知識(shí)的過程。(秒級(jí)、小時(shí)級(jí)、天級(jí)、含反饋信息) 數(shù)據(jù)倉庫設(shè)計(jì)以數(shù)據(jù)倉庫的主題數(shù)據(jù)模型設(shè)計(jì)和實(shí)現(xiàn)為核心。 數(shù)據(jù)倉庫的體系結(jié)構(gòu):操作型數(shù)據(jù)、操作型數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)倉庫、數(shù)據(jù)集市;功能層次:數(shù)據(jù)管理、數(shù)據(jù)處理、數(shù)據(jù)應(yīng)用 粒度涉及數(shù)據(jù)倉庫的數(shù)據(jù)量和支持的查詢類型。第20章 數(shù)據(jù)他倉庫與數(shù)據(jù)挖掘 數(shù)據(jù)倉庫解決的問題是如何更合理和理有效的組織企業(yè)的數(shù)據(jù)體系,目的在于根據(jù)決策需求對(duì)數(shù)據(jù)采取適當(dāng)?shù)氖侄芜M(jìn)行集成,形成一個(gè)綜合的面向分析的數(shù)據(jù)環(huán)境;數(shù)據(jù)挖掘解決的問題是如何針對(duì)具體的分析對(duì)象和分需求,嘗試智能和自動(dòng)化的手段把數(shù)據(jù)轉(zhuǎn)換為新的有用的信息和知識(shí)。ObjectStore、Ontos、O2等 對(duì)象關(guān)系數(shù)據(jù)庫(關(guān)系數(shù)據(jù)庫中引入面向?qū)ο螅簲U(kuò)展的數(shù)據(jù)類型定義;繼承性; Universal Server、DB2 UDB、Adaptive Server、Oracle8i、SQL Server 并行數(shù)據(jù)庫體系結(jié)構(gòu):共享內(nèi)存;共享磁盤(中小型);無共享(最好的,銀行出納、民航售票等OLTP類,缺點(diǎn):通信代價(jià)和非本地磁盤訪問代價(jià));層次結(jié)構(gòu)(綜合) 一維數(shù)據(jù)劃分方法:輪轉(zhuǎn)法:最適合于掃描整個(gè)關(guān)系;散列劃分法:比轉(zhuǎn)轉(zhuǎn)法更適合點(diǎn)查詢,也適合順序掃描關(guān)系;范圍劃分法:明顯利于范圍查詢和點(diǎn)查詢。所謂持久數(shù)據(jù),指創(chuàng)建這些數(shù)據(jù)的程序運(yùn)行終止后,數(shù)據(jù)仍然存在于系統(tǒng)之中。 分片是對(duì)關(guān)系(表)的操作,分配是對(duì)分片結(jié)果的操作。A指向B的單向虛線表示子系統(tǒng)B被子系統(tǒng)A引用。 “Initial Catalog = jessymin。User ID = loginID。只有在OLE DB層產(chǎn)生錯(cuò)誤才會(huì)將每個(gè)錯(cuò)誤被翻譯成Error對(duì)象,如果指向一個(gè)不存在的提供者則Errors集合不會(huì)得到任何信息,因?yàn)锳DO不能發(fā)現(xiàn)這個(gè)指定的驅(qū)動(dòng)程序,因此會(huì)將錯(cuò)誤傳遞到Visual Basic Errors中。 “Initial Catalog = 商品經(jīng)營管理數(shù)據(jù)庫。User ID = sa。不支持BookMark屬性(書簽,快速再定位)和AbsolutePosition屬性adUseNone:沒有使用游標(biāo)服務(wù)。只看到其他用戶更改的看不到添加刪除的 CursorLocation屬性:adUseClient:本地客戶端游標(biāo)。僅支持向前移動(dòng),其他與adOpenStatic一致。當(dāng)打印報(bào)表和其他不需要即時(shí)完成更新數(shù)據(jù)的應(yīng)用程序來說很有用。允許用戶直接獲取數(shù)據(jù),因此RecordSet對(duì)象與ADO的訪問過程無關(guān)。 “DESC” End IfEnd With ADO對(duì)象模型Connection對(duì)象 ErrorS集合Error對(duì)象Command對(duì)象 Parameters集合 Parameter對(duì)象RecordSet對(duì)象 Fields集合 Field對(duì)象 Connection對(duì)象可以完成的操作:連接數(shù)據(jù)源打開數(shù)據(jù)庫;執(zhí)行一個(gè)數(shù)據(jù)庫操作命令;利用Error對(duì)象檢查數(shù)據(jù)源返回的出錯(cuò)信息。 Find方法:用于在當(dāng)前結(jié)果集中查找滿足條件的記錄 (“查找條件表達(dá)式”) 與 “選擇表達(dá)式” 相似(.Filter=adFilterNone還原) 更新記錄: (“CustomID”) = Trim()(“Age”) = CInt() 刪除記錄提示窗口:Dim res As Integer res = MsgBox(“確實(shí)要?jiǎng)h除此行記錄嗎?”,vbExclamation+vbYesNo+vbDefaultButton2) If res = vbYes Then End If 在DataGrid中顯示全部列: Dim intCol As Integer With mydg For intCol = 0 To . – 1 .Columns(intCol).Visible = True Next End With 另一種For 循環(huán):For Each par IN ………. Next par 排序功能實(shí)現(xiàn): ( = adodc) With If = True Then .Sort = .Field(intCol).Name amp。2)OLE DB克服了ODBC的一個(gè)主要缺點(diǎn):一個(gè)ODBC驅(qū)動(dòng)程序需要支持幾乎所有的DBMS特征和功能,這需要大量的工作和初始投資,而OLE DB允許DBMS提供商只實(shí)現(xiàn)他們產(chǎn)品的一部分功能。 ADO:動(dòng)態(tài)數(shù)據(jù)對(duì)象ActiveX Data Object,建在OLE DB之上的高層接口集,是介于OLE DB底層接口和應(yīng)用程序之間的接口,它避免了開發(fā)人員直接使用OLE DB底層接口的麻煩。句柄是32位整數(shù)值,代表一個(gè)指針。第16章 VB開發(fā)環(huán)境與數(shù)據(jù)訪問接口(鄙人此前未曾用過VB,疏漏淺薄之處敬請(qǐng)見諒…) 標(biāo)準(zhǔn)數(shù)據(jù)綁定控件:TextBox、CheckBox、ListBox、ComboxBox等外部(ActiveX)數(shù)據(jù)綁定控件:DataCombo、DataList、DataGrid、MSHFGrid等 DBMS支持的兩種數(shù)據(jù)接口:專用接口(與特定的DBMS有關(guān));通用接口(屏蔽掉每個(gè)DBMS底層接口的差異,提供一種標(biāo)準(zhǔn)的訪問方法) 通用接口:ODBC、OLE DB、JDBC,讓應(yīng)用程序具有很好的適應(yīng)性和可移植性;具備同時(shí)訪問多種DBMS系統(tǒng)的能力。 TransactSQL語句恢復(fù)過程示例:1)首先恢復(fù)完全備份RESTORE DATABASE jessymin FROM mydiskdump WITH FILE=1,NORECOVERY2)然后恢復(fù)差異備份(如果有的話)RESTORE DATABASE jessymin FROM mydiskdump WITH FILE=2,NORECOVERY3)最后恢復(fù)日志文件RESTORE LOG jessymin FROM mydiskdumpNorecovery表示對(duì)數(shù)據(jù)庫的恢復(fù)操作尚未完成,相當(dāng)于“使數(shù)據(jù)不再運(yùn)行,但能還原其他事務(wù)的日志文件”。第15章 備份和恢復(fù)數(shù)據(jù)庫 備份的兩種方式:先創(chuàng)建備份設(shè)備(備份數(shù)據(jù)庫的場(chǎng)所),再將數(shù)據(jù)庫備份到備份設(shè)備上(永久備份設(shè)備);直接將數(shù)據(jù)庫備份到物理文件上(臨時(shí)備份設(shè)備) 創(chuàng)建磁盤備份設(shè)備:EXEC sp_addumpdevice ‘disk’,’mydiskdump’,’..\’ 常用備份策略:完全備份加差異備份加日志備份,備份和恢復(fù)速度都比較快,而且當(dāng)系統(tǒng)出現(xiàn)故障時(shí)丟失的數(shù)據(jù)較少。系統(tǒng)預(yù)定義的固定角色;自定義用戶角色 固定的服務(wù)器角色:*amdin + dbcreator,權(quán)限最重要最高的是sysadmin,角色成員源均為系統(tǒng)的登錄賬戶:EXEC sp_addsrvrolemember ‘Server1\nt_user’ ,‘sysadmin’ 固定的數(shù)據(jù)庫角色:db_*+public,權(quán)限最高的是db_owner:EXEC sp_addrolemember ‘db_owner’,’user3’ (注意用戶和用色的順序) public角色:每個(gè)用戶均自動(dòng)為其成員,不具任何權(quán)限但可賦予權(quán)限。 創(chuàng)建數(shù)據(jù)庫用戶:EXEC sp_adduser ‘U2’,’U2’,’user_role’,用戶名與登錄賬戶一致,并讓其成為“user_role”角色的成員。一個(gè)登錄賬戶可以映射為多個(gè)數(shù)據(jù)庫用戶,管理數(shù)據(jù)庫用戶的過程實(shí)際上就是建立登錄賬戶與數(shù)據(jù)庫用戶之間的映射關(guān)系的過程。SA。(查詢分析器中實(shí)現(xiàn))第14章 安全管理 數(shù)據(jù)庫的安全控制:在DBMS的不同層次提供對(duì)有意和無意損害行為的安全防范。 Create Trigger OperatonCon ON T_SaleDetail FOR INSERT AS IF EXISTS(Select * From inserted a Jion T_Goods bON = WHERE ) BEGIN ROLLBACK PRINT ‘此商品庫存量小于此次銷售數(shù)量’ END ELSE UPDATE T_Goods SET TotalCharge = TotalCharge – (SELECT Quanity From inserted) 維護(hù)不同列之間取值完整性的后觸發(fā)器示例:保證商品表中的單價(jià)與價(jià)格變動(dòng)表中一致 CREATE TRIGGER PriceConstraint ON T_PriceHistory FOR INSERT, UPDATE AS DECLARE newprice money SELECT newprice = SalePrice From inserted UPDATE T_Goods SET SaleUnitPrice = newprice WHERE GoodsID IN (SELECT GoodID From inserted ) 前觸發(fā)器指定執(zhí)行觸發(fā)器而不執(zhí)行引發(fā)觸發(fā)器的SQL語句,因此,如果數(shù)據(jù)操作滿足完整性約束則在觸發(fā)器中必須重新執(zhí)行這些數(shù)據(jù)操作語句。 DELETED表:存儲(chǔ)UPDATE和DELETED操作語句所影響行的更新前的舊數(shù)據(jù);INSERTED表:存儲(chǔ)UPDATE和INSERT操作語句所影響行的更新后的新數(shù)據(jù)。 觸發(fā)器適用場(chǎng)合:比CHECK語句更復(fù)雜的數(shù)據(jù)約束(可引用其他表中的列);為保證數(shù)