freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

數(shù)據(jù)庫(kù)系統(tǒng)原理串講-資料下載頁(yè)

2025-04-29 07:03本頁(yè)面
  

【正文】 廣義笛卡兒積 R(A) ? S(B) = { t | ?u?R?s?S( t[A] = u[A] ? t[B] = s[B])} 并 R?S={ t | t?R ? t?S} 交 R?S={ t | t?R ? ┑ t?S} 域關(guān)系演算 形式化定義 { x1 , x2 , ? , x n | P( x1 , x2 , ? , x n ) } xi代表域變量, P為由原子構(gòu)成的公式 原子公式 x1 , x2 , ? , x n ? R xi是域變量或域常量 x ? y 域變量 x與 y之間滿足比較關(guān)系 ? x ? c 域變量 x與常量 c之間滿足比較關(guān)系 ? A B C 1 2 3 4 5 6 7 8 9 A B C 1 2 3 3 4 6 5 6 9 R S A B C 4 5 6 R1={ x, y, z | x, y, z?R ? x5 ? y3} A B C 1 2 3 4 5 6 7 8 9 3 4 6 R2={ x, y, z | x, y, z?R ? ( x, y, z?S ? y=4)} D E 7 5 4 8 W B D A 5 7 4 8 7 7 8 4 7 R2={ x, y, z | (?u) (?v) ( z, x, u?R ? y, v?W ? uv)} 示例: 找出工資在 800元以上的老師 { a , b , c , d , e | a , b , c , d , e ?PROF ? e 800} 找出工資在 800元以上的老師的姓名 { b | ? a , c , d , e ( a , b , c , d , e ?PROF ?e 800 )} 關(guān)系代數(shù)表達(dá)式的優(yōu)化問(wèn)題 目的 在關(guān)系代數(shù)中找一種好的操作步驟,既省空間,查詢效率又比較高。 在關(guān)系代數(shù)中,笛卡兒積和聯(lián)結(jié)運(yùn)算是最費(fèi)時(shí)間和空間的,在關(guān)系很大的時(shí)候,必須要考慮怎樣做才能合理的安排,做到省時(shí)省力。 一個(gè)例子 設(shè)關(guān)系 R和 S都是二元關(guān)系,屬性名分別是 A、 B和 C、 D。那么如下查詢: E1=π A( σ B=C ? D=‘99’( R S)) 也可以是 E2=π A( σ B=C( R σ D=‘99’( S)) 或 E3=π A( R σ D=‘99’( S)) B=C 這三個(gè)代數(shù)表達(dá)式的等價(jià)的,但是執(zhí)行的效率不一樣。 第一種:先做笛卡兒積。假設(shè)每個(gè)物理塊可以存儲(chǔ) R的 B1個(gè)元組,或者 S的 B2個(gè)元組, R關(guān)系中有 n1個(gè)元組, S關(guān)系中有 n2個(gè)元組,內(nèi)存每次只能裝載 m塊數(shù)據(jù)。 在做聯(lián)接的時(shí)候先把 R的第一個(gè) m1塊數(shù)據(jù)裝入內(nèi)存,然后逐個(gè)調(diào)入 S中的數(shù)據(jù)塊; R中的每個(gè)數(shù)據(jù)塊只要進(jìn)入內(nèi)存一次,總共需要裝入的塊數(shù)示n1/B1; S中的每個(gè)數(shù)據(jù)塊需要進(jìn)入內(nèi)存( n1/B1) /( m1)次,總共需要裝入的塊數(shù)是: ( n1/B1)( 1/( m1))( n2/B2) 這三個(gè)代數(shù)表達(dá)式的等價(jià)的,但是執(zhí)行的效率不一樣。 執(zhí)行 R X S的總裝入塊數(shù)是( n1/B1)( 1+n2/( m1) /B2) 若 n1=n2=10000, B1=B2=5, m=100,那么總的裝入塊數(shù)是 42400,若每秒裝入 20塊,需要 35分鐘。 耗費(fèi)時(shí)間長(zhǎng),在實(shí)際使用中不采用。 這三個(gè)代數(shù)表達(dá)式的等價(jià)的,但是執(zhí)行的效率不一樣。 第二種和第三種:先做了選擇,裝入的塊數(shù)為 n1/B1+n2/B2,大約需要裝入 4000塊,耗費(fèi)時(shí)間 3分多鐘。 對(duì)于 S來(lái)說(shuō),元組并不是全部進(jìn)入內(nèi)存,而且只是進(jìn)入一次,所以速度快。 我們所說(shuō)的優(yōu)化和存儲(chǔ)沒(méi)有關(guān)系,主要是如何來(lái)安排操作的順序,節(jié)省時(shí)間和空間的消費(fèi)優(yōu)化的一般技術(shù): 在關(guān)系代數(shù)表達(dá)式中盡可能早地執(zhí)行選擇操作。 把笛卡兒積和其后的選擇操作合并成 F聯(lián)接運(yùn)算。 同時(shí)計(jì)算一連串的選擇和投影操作,避免分開(kāi)運(yùn)算造成多次掃描文件。 對(duì)一個(gè)關(guān)系代數(shù)表達(dá)式進(jìn)行語(yǔ)法分析可以得 到一棵語(yǔ)法樹(shù),葉子式關(guān)系,非葉子結(jié)點(diǎn)式關(guān) 系代數(shù)操作。 算法 關(guān)系代數(shù)表達(dá)式的優(yōu)化。 輸入:一個(gè)關(guān)系代數(shù)表達(dá)式的語(yǔ)法樹(shù)。 輸出:計(jì)算表達(dá)式的一個(gè)優(yōu)化程序。 方法:依次執(zhí)行下面的每一步。 (1)使用等價(jià)變換規(guī)則 4將每個(gè)形為 σ F1?… ?Fn( E)的子表達(dá)式轉(zhuǎn)換成串接形式: σ F1( … ( σ Fn( E)) … ) (2)對(duì)每個(gè)選擇操作,盡可能把選擇操作移近樹(shù)的葉端(盡可能早的實(shí)行選擇操作)。 (3)對(duì)每個(gè)投影操作,盡可能把投影操作移近樹(shù)的葉端。 (4)把選擇和投影合并成單個(gè)選擇、單個(gè)投影或一個(gè)選擇后跟一個(gè)投影。 (5)將上述步驟得到的語(yǔ)法樹(shù)的內(nèi)結(jié)點(diǎn)分組。 (6)生成一個(gè)序列,每一組結(jié)點(diǎn)的計(jì)算是序列中的一步。 見(jiàn)課本例子。 本章結(jié)束 第五章 SQL語(yǔ)言 學(xué)習(xí)目的與要求: SQL語(yǔ)言是關(guān)系數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)語(yǔ)言,是本課程的一個(gè)重點(diǎn)。本章總的要求是:全面掌握,深刻理解。熟練應(yīng)用。 要求掌握的技能是: SQL 定義語(yǔ)句、嵌入式 SQL語(yǔ)句的應(yīng)用。 要求熟練掌握的技能是 :SQL查詢語(yǔ)句、視圖、 SQL更新語(yǔ)句的應(yīng)用。 方法:多做題,多上機(jī)實(shí)踐。 考核知識(shí)點(diǎn)與考試要求 (識(shí)記) (綜合應(yīng)用) 5 .,連接、嵌套、存在量詞 的三種查詢方式 (綜合應(yīng)用) ,分組子句、排序子句的用法 (綜合應(yīng)用 ) (簡(jiǎn)單應(yīng)用 ) (簡(jiǎn)單應(yīng)用 ) (領(lǐng)會(huì) ) (綜合應(yīng)用 ) (綜合應(yīng)用 ) 視圖 (簡(jiǎn)單應(yīng)用 ) SQL(領(lǐng)會(huì) ) SQL/PSM(識(shí)記 ) SQL簡(jiǎn)介 SQL從 1970年美國(guó) IBM研究中心的 1974年Boyce和 Chamberlin把 SQUARE語(yǔ)言改為 SEQUEL語(yǔ)言,到現(xiàn)在還在不斷完善和發(fā)展之中, SQL(結(jié)構(gòu)式查詢語(yǔ)言 )雖然名為查詢,但實(shí)際上具有定義、查詢、更新和控制等多種功能。 SQL數(shù)據(jù)庫(kù)的體系結(jié)構(gòu)也是三級(jí)結(jié)構(gòu) ,但術(shù)語(yǔ)與傳統(tǒng)關(guān)系模型術(shù)語(yǔ)不同,在 SQL中,關(guān)系模式稱為 基本表 ,存儲(chǔ)模式稱為 存儲(chǔ)文件 ,子模式稱為 視圖 ,元組稱 行 ,屬性稱 列 。 SQL數(shù)據(jù)庫(kù)體系的結(jié)構(gòu)要點(diǎn)如下: (1)一個(gè) SQL數(shù)據(jù)庫(kù)是表的匯集。 (2)一個(gè) SQL表由行集構(gòu)成,行是列的序列,每列對(duì)應(yīng)一個(gè)數(shù)據(jù)項(xiàng)。 (3)表或者是基本表,或者是視圖?;颈硎菍?shí)際存儲(chǔ)在數(shù)據(jù)庫(kù)中的表,視圖由是由若干基本表或其他視圖構(gòu)成的表的定義。 (4)一個(gè)基本表可以跨一個(gè)或多個(gè)存儲(chǔ)文件,一個(gè)存儲(chǔ)文件也可存放一個(gè)或多個(gè)基本表。存儲(chǔ)文件與物理文件對(duì)應(yīng)。 (5)用戶可以用 SQL語(yǔ)句對(duì)表進(jìn)行操作,包括視圖和基本表。 (6)SQL的用戶可以是應(yīng)用程序,也可以是終端用戶。 SQL由四部分組成: (1)數(shù)據(jù)定義: SQL DDL。定義 SQL模式,基本表、視圖和索引。 (2)數(shù)據(jù)操縱: SQL DML。包括數(shù)據(jù)查詢和數(shù)據(jù)更新 (增、刪、改 )。 (3)數(shù)據(jù)控制:包括對(duì)基本表和視圖的授權(quán)、完整性規(guī)則的描述,事務(wù)控制等。 (4)嵌入式 SQL的使用規(guī)定。 ( 1) SQL具有十分靈活和強(qiáng)大的查詢功能。 ( 2) SQL不是一個(gè)應(yīng)用開(kāi)發(fā)語(yǔ)言,它只提供對(duì)數(shù)據(jù)庫(kù)的操作功能,不能完成屏幕控制、菜單管理、報(bào)表生成等功能。 ( 3) SQL是國(guó)際性標(biāo)準(zhǔn)語(yǔ)言,有利于各種數(shù)據(jù)庫(kù)之間交換數(shù)據(jù),有利于程序的移植,有利于實(shí)現(xiàn)高度的數(shù)據(jù)獨(dú)立性,有利于實(shí)現(xiàn)標(biāo)準(zhǔn)化。 ( 4) SQL的詞匯不多,完成核心功能只用了 9個(gè)英語(yǔ)動(dòng)詞,它的語(yǔ)法結(jié)構(gòu)接近英語(yǔ),因此容易學(xué)習(xí)和使用。 SQL的數(shù)據(jù)定義 : SQL模式的創(chuàng)建可簡(jiǎn)單理解為建立一個(gè)數(shù)據(jù)庫(kù),定義一個(gè)存儲(chǔ)空間,其句法是: CREATE SCHEMA 模式名 AUTHORIZATION 用戶名 撤消 SQL模式的句法為: DROP SCHEMA 模式名 [ CASCADE | RESTRICT ] 方括號(hào)中的選項(xiàng)參數(shù) CASCADE表示連鎖方式,執(zhí)行時(shí)將模式下所有基本表、視圖、索引等元素全部撤消。 RESTRICT表示約束式,執(zhí)行時(shí)必須在 SQL模式中沒(méi)有任何下屬元素時(shí)方可撤消模式。 數(shù)值型:包括 integer、 smallint、 real、 double precision 、float(n),numeric(p, d) 字符串型: char(n)、 varchar(n),前者是定長(zhǎng),后者為變長(zhǎng)串 位串型: bit(n),bit varying(n),同上。 時(shí)間型: date、 time。 、修改和撤消 基本表的創(chuàng)建: (可理解為建立表結(jié)構(gòu) ) CREAT TABLE SQL 模式名 .基本表名 (列名,類型, …… 完整性約束 ...) 完整性約束包括主鍵子句 (PRIMARY KEY)、檢查子句 (CHECK)和外鍵子句 (FOREIGN KEY)。 基本表結(jié)構(gòu)的修改 ALTER TABLE 基本表名 ADD/ DROP (增加 /刪除 ) 列名 類型名(增加時(shí)寫(xiě)出 ) 刪除時(shí)有子句 [CASCADE|RESTRICT],前者為連鎖刪除,后者為約束刪除,即沒(méi)有對(duì)本列的任何引用時(shí)才能刪除。 基本表的撤消 DROP TABLE 基本表名 [CASCADE|RESTRICT] 創(chuàng)建: CREATE [UNIQUE] INDEX 索引名 ON 基本表名 (列名表 [ASC|DESC]) 撤消: DROP INDEX 索引名 總結(jié):凡創(chuàng)建都用 CREATE ,刪除都用 DROP ,改變用 ALTER ,再跟類型和名字,附加子句很容易了。 SQL的數(shù)據(jù)查詢 FROM WHERE 句型 SELECT 列名表 (逗號(hào)隔開(kāi) ) FROM 基本表或視圖序列 WHERE 條件表達(dá)式 在這里,重點(diǎn)要掌握條件表達(dá)式中各種運(yùn)算符的應(yīng)用,如 =,,等算術(shù)比較運(yùn)算符、邏輯運(yùn)算符 AND、 OR、 NOT 、集合成員資格運(yùn)算符: IN, NOT IN ,以及嵌套的 SELECT 語(yǔ)句的用法要特別注意理解。 針對(duì)課本的例題和課后習(xí)題進(jìn)行掌握。 在查詢時(shí), SELECT 語(yǔ)句可以有多種寫(xiě)法,如聯(lián)接查詢、嵌套查詢和使用存在量詞的嵌套查詢等。最好都掌握,但是起碼應(yīng)能寫(xiě)出一種正確的查詢語(yǔ)句。 語(yǔ)句完整的句法: SELECT 列名表 (逗號(hào)隔開(kāi) ) FROM 基本表或視圖序列 [WHERE 條件表達(dá)式 ] (此為和條件子句 ) [GROUP BY 列名序列 ] (分組子句 ) [HAVING 組條件表達(dá)式 ] (組條件子句 ) [ORDER BY列名 [ASC|DESC]..] (排序子句 ) 這段關(guān)于完整句法的內(nèi)容能夠理解也就問(wèn)題不大了。 語(yǔ)句中的限定 這一段內(nèi)容主要是對(duì) SELECT 語(yǔ)句進(jìn)一步使用進(jìn)行的深入學(xué)習(xí),領(lǐng)會(huì)下列各種限定的使用目的和方法。 要求輸出表格中不出現(xiàn)重復(fù)元組,則在 SELECT 后加一 DISTINCT SELECT 子句中允許出現(xiàn)加減乘除及列名,常數(shù)的算術(shù)表達(dá)式 WHERE 子句中可以用 BETWEEN...AND...來(lái)限定一個(gè)值的范圍 同一個(gè)基本表在 SELECT 語(yǔ)句中多次引用時(shí)可用 AS來(lái)增加別名 WHERE 子句中字符串匹配用 LIKE和兩個(gè)通配符, %和下劃線 _. 查詢結(jié)果的結(jié)構(gòu)完全一致時(shí)可將兩個(gè)查詢進(jìn)行并 (UNION)交(INTERSECT)差 (EXCPT)操作 查詢空值操作不是用 =39。null39。,而是用 IS NULL來(lái)測(cè)試。 集合成員資格比較用 IN/NOT IN ,集合成員算術(shù)比較用元組θ SOME/ALL 可以用子查詢結(jié)果取名 (表名 (列名序列 ))來(lái)作為導(dǎo)出表使用 基本表的自然聯(lián)接操作是用 NATURAL INNER JOIN來(lái)實(shí)現(xiàn)的。 SQL的數(shù)據(jù)更新 : INSERT INTO 基本表名 (列名表 ) VALUES(元組值 ) 或 INSERT INTO 基本表名 (列名表 ) SELECT 查詢語(yǔ)句 其中元組值可以連續(xù)插入。用查
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1