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

正文內(nèi)容

數(shù)據(jù)庫(kù)開(kāi)發(fā)技術(shù)-第2章關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)理論基礎(chǔ)-資料下載頁(yè)

2025-06-21 08:53本頁(yè)面
  

【正文】 * FROM 課程 WHERE 學(xué)分 =ALL (SELECT 學(xué)分 FROM 課程 ) ? SELECT * FROM 課程 WHERE NOT 學(xué)分 ANY (SELECT 學(xué)分 FROM 課程 ) ? EXIST一般在 WHERE子句中,其后緊跟一個(gè)子查詢,從而構(gòu)成一個(gè)條件。 ? 當(dāng)該子查詢至少存在一個(gè)返回值時(shí),這個(gè)條件為真( .T.) ,否則為假( .F.) ? 例:輸出所有任課老師的姓名和單位 SELECT , FROM teacher s1 WHERE EXISTS (SELECT FROM course s2 WHERE =) 帶 EXIST謂詞的子查詢 子查詢練習(xí) ?查詢至少選修了 28個(gè)學(xué)分的同學(xué)的學(xué)號(hào)、姓名以及所選修各門課程的課程名、成績(jī)和學(xué)分,并按學(xué)號(hào)排序輸出 集合查詢 ? SQL支持集合運(yùn)算 ? SELECT語(yǔ)句查詢的結(jié)果是集合 ? 傳統(tǒng)的集合操作主要包括并 UNION、交INTERSECT、差 EXCEPT運(yùn)算 ? 在執(zhí)行集合運(yùn)算時(shí)要求參與運(yùn)算的查詢結(jié)果的列數(shù)一樣,其對(duì)應(yīng)列的數(shù)據(jù)類型必須一致。 并 ? [例 ] 查詢“信息管理學(xué)院” 1990年出生的同學(xué)的學(xué)號(hào)、出生日期、班級(jí)名稱和所屬學(xué)院以及“會(huì)計(jì)學(xué)院” 1991年出生的同學(xué)的學(xué)號(hào)、出生日期、班級(jí)名稱和所屬學(xué)院。 SELECT studentNo, birthday, className, institute FROM Student a, Class b WHERE = AND year(birthday)=1990 AND institute=39。信息管理學(xué)院 39。 UNION SELECT studentNo, birthday, className, institute FROM Student a, Class b WHERE = AND year(birthday)=1991 AND institute=39。會(huì)計(jì)學(xué)院 39。 交 ? [例 ] 查詢同時(shí)選修了“ 001”號(hào)和“ 005”號(hào)課程的同學(xué)的學(xué)號(hào)和姓名 SELECT , studentName FROM Student a, Score b WHERE = AND courseNo=39。00139。 INTERSECT SELECT , studentName FROM Student a, Score b WHERE = AND courseNo=39。005? 數(shù)據(jù)更新語(yǔ)言 ? SQL語(yǔ)言的更新操作包括插入數(shù)據(jù)、修改數(shù)據(jù)和刪除數(shù)據(jù)三條語(yǔ)句。 ●插入數(shù)據(jù) INSERT ●修改數(shù)據(jù) UPDATE ●刪除數(shù)據(jù) DELETE INSERT語(yǔ)句 INSERT語(yǔ)句向表中插入新行,其語(yǔ)法格式為: INSERT [ INTO] table_or_view [(column_list)] VALUES (DATA_VALUES) 【 例 】 向?qū)W生表插入一個(gè)學(xué)生信息。 INSERT INTO 學(xué)生表 (學(xué)號(hào) ,姓名 ,性別 ,院系名稱 ) VALUES(39。2022030239。,39。李婷 39。,39。女 39。,39。國(guó)貿(mào)系 39。) 沒(méi)有插入的列值為 NULL。如果省略表后的列名則 VALUES中必須包含各個(gè)列的值,這些值可以是 NULL。 【 例 】 向?qū)W生表中插入一條記錄。 INSERT INTO 學(xué)生表 VALUES(39。2022030639。,39。趙莘 39。,39。男 39。, 39。1985623 0:00:0039。,39。2022810 0:00:0039。, 39。國(guó)貿(mào)系 39。,NULL) UPDATE語(yǔ)句 UPDATE語(yǔ)句用于更新一個(gè)表中選定行的一列或者多列的值。其語(yǔ)法格式如下: UPDATE table_or_view SET column=expression[,column=expression]… [WHERE(condition)] 其中的 SET子句指定要更改的列和這些列的新值。對(duì)所以符合 WHERE條件的行,都將使用 SET子句中指定的值更新指定列中的值。 【 例 】 將學(xué)生表中學(xué)號(hào)為“ 20220202”的學(xué)生姓名改為“張純”。 UPDATE 學(xué)生表 SET 姓名 =39。張純 39。 WHERE 學(xué)號(hào) =39。20220202? 【 例 】 修改學(xué)號(hào)為“ 20220306”的學(xué)生信息。 UPDATE 學(xué)生表 SET 學(xué)號(hào) =39。2022020639。,姓名 =39。魏海平 39。,性別 =39。男 39。,院系名稱 =39。企管系 39。 WHERE 學(xué)號(hào) =39。2022030639。 UPDATE語(yǔ)句一次可更改多條記錄 DELETE 語(yǔ)句 ? 命令格式: DELETE FROM TableName [WHERE Condition] ? 例:刪除課程關(guān)系中課程號(hào)為“ 05”的元組。 DELETE FROM課程 WHERE 課程號(hào) =?05? 視圖 ? 視圖是關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)提供給以多種角度觀察數(shù)據(jù)庫(kù)中數(shù)據(jù)的重要機(jī)制,它就象一個(gè)窗口,透過(guò)它可以看到數(shù)據(jù)庫(kù)中用戶感興趣的數(shù)據(jù)及其變化。 1 視圖的特點(diǎn) 2 視圖的定義 3 視圖的數(shù)據(jù)操作 4 視圖的作用 視圖的特點(diǎn) ? 視圖是從一個(gè)或幾個(gè)基本表(或視圖)導(dǎo)出的表,它與基本表不同,是一個(gè)虛表。 ? 數(shù)據(jù)庫(kù)中只保存視圖的定義,并不執(zhí)行 SELECT語(yǔ)句,只有對(duì)視圖查詢時(shí),才按視圖的定義從基本表中將數(shù)據(jù)查出。 ? 一個(gè)基本表可以建立多個(gè)視圖,一個(gè)視圖也可以建立在多個(gè)基本表上。 ? 視圖一旦被定義,就可以和基本表一樣被查詢和刪除。 ? 基本表的數(shù)據(jù)發(fā)生改變,視圖中查詢的數(shù)據(jù)也隨之改變。 視圖的特點(diǎn)(續(xù)) ? 視圖中的數(shù)據(jù)是從現(xiàn)有的一個(gè)或多個(gè)表中提取出來(lái)的,可以屏蔽表中的某些信息,由于數(shù)據(jù)庫(kù)的安全性。 ? 視圖在數(shù)據(jù)庫(kù)中是作為查詢來(lái)保存的,當(dāng)引用一個(gè)查詢時(shí), DBMS就執(zhí)行這個(gè)查詢,然后將查詢結(jié)果作為視圖來(lái)用。 ? 有利于應(yīng)用程序的獨(dú)立性和數(shù)據(jù)的一致性。 ? 可以在視圖上再定義視圖。 視圖的定義 CREATE VIEW 視圖名 [(列名 1, 列名 2,…)] AS 查詢子句 [WITH CHECK OPTION] ? 子查詢可以是任意復(fù)雜的 SELECT 語(yǔ)句,但通常不允許 ORDER BY子句和 DISTINCT短語(yǔ)。 ? WITH CHECK OPTION 子句是為了防止用戶通過(guò)視圖對(duì)數(shù)據(jù)進(jìn)行更新、插入、刪除操作。 行列子集視圖 ? 建立所有蒙古族學(xué)生信息 (學(xué)號(hào)、姓名、性別、出生日期 )的視圖。 CREATE VIEW mgstuinfo AS SELECT sno, sname, ssex, sbirthday FROM student WHERE nation=?蒙古族’ WITH CHECK OPTION 多個(gè)基表上建立的視圖 ? 建立選修了‘ 001?號(hào)課程的學(xué)生信息(學(xué)號(hào)、姓名、性別、班號(hào))的視圖 CREATE VIEW c001stuinfo(學(xué)號(hào),姓名,性別,班號(hào) ) AS SELECT , sname,ssex,classno FROM student, score WHERE = 分組視圖(練習(xí)) ? 建立一個(gè)學(xué)生平均成績(jī)的視圖,要求包括學(xué)號(hào),學(xué)生姓名,選修課程門數(shù),平均成績(jī) 視圖的刪除 ? DROP VIEW 視圖名 ? DROP VIEW c001stuinfo 視圖的數(shù)據(jù)操作 ? 查詢視圖 ? 查詢蒙古族學(xué)生視圖 mgstuinfo中性別為男的學(xué)生 SELECT * FROM mgstuinfo WHERE ssex=?男’ 更新視圖 ? 更新視圖是指通過(guò)視圖進(jìn)行數(shù)據(jù)的增加、刪除、修改。 ? 由于視圖是虛表,因此對(duì)視圖的更新,最終要轉(zhuǎn)換為對(duì)基本表的更新。 ? 為防止用戶通過(guò)視圖對(duì)數(shù)據(jù)進(jìn)行增加、刪除、修改時(shí),有意無(wú)意地對(duì)不屬于視圖范圍內(nèi)的基本表數(shù)據(jù)進(jìn)行操作,可在定義視圖時(shí)加上 WITH CHECK OPTION子句。這樣在視圖上增刪改數(shù)據(jù)時(shí), DBMS會(huì)檢查視圖定義中的條件,若不滿足條件,則拒絕執(zhí)行該操作。 更新視圖 ? 在關(guān)系數(shù)據(jù)庫(kù)中,并不是所有的視圖都是可更新的,因?yàn)橛行┮晥D的更新不能唯一地有意義地轉(zhuǎn)換成對(duì)相應(yīng)基本表的更新。 ? 一般地,行列子集視圖是可更新的。除行列子集視圖外,還有些視圖理論上是可更新的,但它們的確切特征還是尚待研究的課題。 視圖消解 ? 對(duì)視圖查詢的執(zhí)行過(guò)程是系統(tǒng)首先在數(shù)據(jù)字典中找到該視圖的定義,然后把此定義和用戶的查詢結(jié)合起來(lái),轉(zhuǎn)換成等價(jià)的對(duì)基本表的查詢,這一轉(zhuǎn)換過(guò)程成為視圖消解 ? 有些情況下,轉(zhuǎn)換不能直接進(jìn)行,查詢就會(huì)出現(xiàn)問(wèn)題 ? 目前大多數(shù)關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)對(duì)行列子集視圖的查詢均能夠正常的消解,對(duì)非行列子集視圖的消解就不一定能夠正常轉(zhuǎn)換,因此這類查詢應(yīng)該直接對(duì)基本表查詢。 視圖消解舉例 ? [例 ] 在信息系學(xué)生的視圖中找出年齡小于 20歲的學(xué)生。 SELECT Sno, Sage FROM IS_Student WHERE Sage20; ? IS_Student視圖的定義 : CREATE VIEW IS_Student AS SELECT Sno, Sname, Sage FROM Student WHERE Sdept= ?信息系’ ? SQL-視圖轉(zhuǎn)換后的查詢語(yǔ)句為: SELECT Sno, Sage FROM Student WHERE Sdept= ?信息系’ AND Sage20; 視圖的作用 ? 視圖能夠簡(jiǎn)化用戶的操作 ? 視圖能使用戶以多角度看待同一數(shù)據(jù) ? 視圖對(duì)重構(gòu)數(shù)據(jù)庫(kù)提供了一定程度的邏輯獨(dú)立性 ? 視圖能夠?qū)C(jī)密數(shù)據(jù)提供安全保護(hù) 數(shù)據(jù)控制 ? SQL中數(shù)據(jù)控制功能包括事務(wù)管理功能和數(shù)據(jù)保護(hù)功能,即數(shù)據(jù)庫(kù)的恢復(fù)、并發(fā)控制等;數(shù)據(jù)庫(kù)安全性和完整性控制功能。 這里 主要介紹一下安全性控制功能。 ( 1)授權(quán) ( 2)收回權(quán)限 關(guān)系規(guī)范化理論 ? 數(shù)據(jù)庫(kù)設(shè)計(jì)的問(wèn)題可以簡(jiǎn)單地描述為: ? 如果要把一組數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)中, ? 如何為這些數(shù)據(jù)設(shè)計(jì)一個(gè)合適的邏輯結(jié)構(gòu)呢? 問(wèn)題的提出 假定有如下關(guān)系 S: S( NO, NAME, SEX, CNO, CNAME, DEGR) 其中, S 表示學(xué)生表,對(duì)應(yīng)的各個(gè)屬性依次為學(xué)號(hào)、姓名、性別、課程號(hào)、課程名和成績(jī)。主碼為( NO, CNO) 這個(gè)關(guān)系模式存在如下問(wèn)題: ( 1)數(shù)據(jù)冗余 當(dāng)一個(gè)學(xué)生選修多門課程就會(huì)出現(xiàn)數(shù)據(jù)冗余。 例如,可能存在這樣的記錄: ( S0102,”王華”,”男”, C108,” C語(yǔ)言”, 84) ( S0102,”王華“,”男”, C206,”數(shù)據(jù)庫(kù)原理與應(yīng)用”, 92) ( S0108,”李麗”,”女”, C206,”數(shù)據(jù)庫(kù)原理與應(yīng)用”, 86) 這樣導(dǎo)致 NAME、 SEX 和 CNAME 屬性多次重復(fù)存儲(chǔ)。 ( 2)不一致性 由于數(shù)據(jù)存儲(chǔ)冗余,當(dāng)更新某些數(shù)據(jù)項(xiàng)時(shí),就有可能一部分字段修改了,而另一部分字段未修改,造成存儲(chǔ)數(shù)據(jù)的不一致性。 例如,可以存在這樣的記錄: ( S0102,”王華”,”男”, C108,” C語(yǔ)言”, 84) ( S0102,”李麗”,女, C206,”數(shù)據(jù)庫(kù)原理與應(yīng)用”,92) 這就是數(shù)據(jù)不一致性。 ( 3)插入異常 如果某個(gè)學(xué)生未選修課程,則其 NO、 NAME 和 SEX 屬性值無(wú)法插入,因?yàn)? CNO 為空,關(guān)系數(shù)據(jù)模式規(guī)定主碼不能為空或部分為空,這便是插人異常。 例如,有一個(gè)學(xué)號(hào)為 S0110 的新生“陳強(qiáng)”,由于尚未選課,不能插入到關(guān)系 S中,無(wú)法存放該學(xué)生的基本信息。 ( 4)刪除異常 當(dāng)要?jiǎng)h除所有學(xué)生成績(jī)時(shí),所有 NO、 NAME 和 SEX 屬性值也都刪除了,這便是刪除異常。 例如,關(guān)系 S中只有一條學(xué)號(hào)為
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1