【正文】
據(jù)庫; ? 對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行查詢和更新; ? 數(shù)據(jù)庫重構(gòu)和維護(hù) ? 數(shù)據(jù)庫安全性、完整性控制等 ?用戶數(shù)據(jù)庫投入運(yùn)行后,可根據(jù)需要隨時逐步修改模式,不影響數(shù)據(jù)的運(yùn)行。 ? 存取路徑的選擇以及 SQL的操作過程由系統(tǒng)自動完成。 表 3 . 1 S Q L 語言的動詞 S Q L 功 能 動 詞 數(shù) 據(jù) 查 詢 S E L E C T 數(shù) 據(jù) 定 義 C R E A T E , D R O P , A L T E R 數(shù) 據(jù) 操 縱 I N S E R T , U P D A T E D E L E T E 數(shù) 據(jù) 控 制 GRANT , R E V O K E SQL概述 ? SQL 的產(chǎn)生與發(fā)展 ? SQL的特點(diǎn) ? SQL的基本概念 SQL的基本概念(續(xù)) SQL 視圖 2 視圖 1 基本表 2 基本表 1 基本表 3 基本表 4 存儲文件 2 存儲文件 1 外模式 模 式 內(nèi)模式 SQL支持關(guān)系數(shù)據(jù)庫三級模式結(jié)構(gòu) SQL的基本概念(續(xù)) ?基本表 ? 本身獨(dú)立存在的表 ? SQL中一個關(guān)系就對應(yīng)一個基本表 ? 一個 (或多個 )基本表對應(yīng)一個存儲文件 ? 一個表可以帶若干索引 ?存儲文件 ? 邏輯結(jié)構(gòu)組成了關(guān)系數(shù)據(jù)庫的內(nèi)模式 ? 物理結(jié)構(gòu)是任意的,對用戶透明 ?視圖 ? 從一個或幾個基本表導(dǎo)出的表 ? 數(shù)據(jù)庫中只存放視圖的定義而不存放視圖對應(yīng)的數(shù)據(jù) ? 視圖是一個虛表 ? 用戶可以在視圖上再定義視圖 第三章 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言 SQL SQL概述 學(xué)生 課程數(shù)據(jù)庫 數(shù)據(jù)定義 數(shù)據(jù)查詢 數(shù)據(jù)更新 視圖 小結(jié) 學(xué)生 課程 數(shù)據(jù)庫 ?學(xué)生 課程模式 ST : 學(xué)生表: Student(Sno,Sname,Ssex,Sage,Sdept) 課程表: Course(Cno,Cname,Cpno,Ccredit) 學(xué)生選課表: SC(Sno,Cno,Grade) Student表 學(xué) 號 Sno 姓 名 Sname 性 別 Ssex 年 齡 Sage 所 在 系 Sdept 202215121 202215122 202215123 202215125 李勇 劉晨 王敏 張立 男 女 女 男 20 19 18 19 CS CS MA IS Course表 課程號 Cno 課程名 Cname 先行課 Cpno 學(xué)分 Ccredit 1 2 3 4 5 6 7 數(shù)據(jù)庫 數(shù)學(xué) 信息系統(tǒng) 操作系統(tǒng) 數(shù)據(jù)結(jié)構(gòu) 數(shù)據(jù)處理 PASCAL語言 5 1 6 7 6 4 2 4 3 4 2 4 SC表 學(xué) 號 Sno 課程號 Cno 成績 Grade 202215121 202215121 202215121 202215122 202215122 1 2 3 2 3 92 85 88 90 80 第三章 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言 SQL SQL概述 學(xué)生 課程數(shù)據(jù)庫 數(shù)據(jù)定義 數(shù)據(jù)查詢 數(shù)據(jù)更新 視圖 小結(jié) 數(shù)據(jù)定義 表 3 . 2 S Q L 的數(shù)據(jù)定義語句 操 作 方 式 操 作 對 象 創(chuàng) 建 刪 除 修 改 模式 C R E A T E S C H E MA D R O P S C H E MA 表 C R E A T E T A B L E D R O P T A B L E A L T E R T A B L E 視 圖 C R E A T E V I E W D R O P V I E W 索 引 C R E A T E I N D E X D R O P I N D E X SQL的數(shù)據(jù)定義功能 : 模式定義、表定義、視圖和索引的定義 數(shù)據(jù)定義 ? 基本表的定義、刪除與修改 ? 索引的建立與刪除 基本表的定義、刪除與修改 一 、 定義基本表 CREATE TABLE 表名 ( 列名 數(shù)據(jù)類型 [ 列級完整性約束條件 ] [, 列名 數(shù)據(jù)類型 [ 列級完整性約束條件 ] ] … [, 表級完整性約束條件 ] ) ; 如果完整性約束條件涉及到該表的多個屬性列,則必須定義在表級上,否則既可以定義在列級也可以定義在表級。 CREATE TABLE Student (Sno CHAR(9) PRIMARY KEY, /* 列級完整性約束條件 */ Sname CHAR(20) UNIQUE, /* Sname取唯一值 */ Ssex CHAR(2), Sage SMALLINT, Sdept CHAR(20) ); 主碼 課程表 Course [例 6] 建立一個“課程”表 Course CREATE TABLE Course ( Cno CHAR(4) PRIMARY KEY, Cname CHAR(40), Cpno CHAR(4) , Ccredit SMALLINT, FOREIGN KEY (Cpno) REFE