《數據庫原理與應用》02.關系數據庫
《《數據庫原理與應用》02.關系數據庫》由會員分享,可在線閱讀,更多相關《《數據庫原理與應用》02.關系數據庫(57頁珍藏版)》請在裝配圖網上搜索。
1、孫 發(fā) 勤 揚 州 大 學 新 聞 與 傳 媒 學 院第 2章關 系 數 據 庫 數 據 庫 原 理 與 應 用 SQL Server 2005 SQL Server 2005第 2章 關 系 數 據 庫學 習 目 標 :了 解 關 系 數 據 庫 和 關 系 數 據 模 型 的 基 本 概 念 和 相 互 關 系掌 握 關 系 數 據 模 型 的 數 據 結 構了 解 關 系 的 集 合 運 算 ( 并 , 交 , 差 , 笛 卡 爾 積 )熟 練 掌 握 關 系 的 專 門 運 算 ( 投 影 , 選 擇 , 連 接 )掌 握 關 系 模 型 完 整 性 規(guī) 則 ( 實 體 完 整 性 ,
2、 用 戶 定 義 完 整 性 , 參 照完 整 性 )掌 握 概 念 模 型 到 關 系 模 型 轉 換 的 基 本 方 法 和 原 則 了 解 關 系 規(guī) 范 化 的 基 本 概 念 和 關 系 的 規(guī) 范 化 方 法 和 要 求 目 標 SQL Server 20052.1 關 系 數 據 庫 與 關 系 模 型 概 述 關 系 數 據 庫 概 述1 關 系 模 型 概 述2 關 系 模 型 的 特 點3 SQL Server 20052.1.1 關 系 數 據 庫 概 述關 系 數 據 庫 是 目 前 應 用 最 廣 泛 的 數 據 庫用 關 系 數 據 模 型 來 組 織 數 據以 關
3、 系 代 數 為 基 礎 處 理 數 據 庫 中 的 數 據擁 有 許 多 性 能 良 好 的 關 系 數 據 庫 管 理 系 統( RDBMS) SQL Server 20052.1.2 關 系 模 型 概 述關 系 數 據 模 型 ( Relational Data Model) , 簡 稱 關系 模 型 , 是 數 據 庫 產 品 的 主 導 數 據 模 型關 系 模 型 的 組 成 要 素關 系 數 據 結 構關 系 操 作 集 合關 系 完 整 性 約 束 SQL Server 20052.1.3 關 系 模 型 的 特 點數 據 結 構 單 一 或 模 型 概 念 單 一 化實 體
4、 和 實 體 之 間 的 聯 系 用 關 系 表 示關 系 的 定 義 也 是 關 系 ( 元 關 系 )關 系 的 運 算 對 象 和 運 算 結 果 還 是 關 系采 用 集 合 運 算關 系 是 元 組 的 集 合 , 所 以 對 關 系 的 運 算 就 是 集 合 運 算運 算 對 象 和 結 果 都 是 集 合 , 可 采 用 數 學 上 的 集 合 運 算數 據 完 全 獨 立只 需 告 訴 系 統 “ 做 什 么 ” , 不 需 要 給 出 “ 怎 么 做 ”程 序 和 數 據 各 自 獨 立數 學 理 論 支 持 有 集 合 論 、 數 理 邏 輯 做 基 礎以 數 學 理 論
5、 為 依 據 對 數 據 進 行 嚴 格 定 義 、 運 算 和 規(guī) 范 化 SQL Server 20052.2 關 系 模 型 關 系 數 據 結 構1 關 系 運 算 ( 傳 統 的 集 合 運 算 )2 關 系 運 算 ( 專 門 的 集 合 運 算 )3 關 系 完 整 性4 SQL Server 20052.2.1 關 系 模 型 的 數 據 結 構關 系 的 基 本 定 義關 系 是 滿 足 一 定 條 件 的 二 維 表 , 稱 為 關 系 ( relation) , 在 關 系 模 型 中 ,無 論 概 念 世 界 中 的 實 體 還 是 實 體 之 間 的 聯 系 均 由
6、關 系 ( 表 ) 來 表 示 。 例 如 : 學 生 情 況 表 Student, 表 2-1 。SID Sname Sex Birthday Specialtyt2005216001 趙 成 剛 男 1986年 5月 計 算 機 應 用 2005216002 李 敬 女 1986年 1月 軟 件 技 術2005216003 郭 洪 亮 男 1986年 4月 電 子 商 務2005216004 呂 珊 珊 女 1987年 10月 計 算 機 網 絡2005216005 高 全 英 女 1987年 7月 電 子 商 務2005216006 郝 莎 女 1985年 8月 電 子 商 務20052
7、16007 張 峰 男 1986年 9月 軟 件 技 術2005216111 吳 秋 娟 女 1986年 8月 電 子 商 務 SQL Server 20052.2.1 關 系 模 型 的 數 據 結 構關 系 術 語關 系 : 每 個 二 維 表 稱 為 一 個 關 系例 如 : 學 生 情 況 表 Student關 系 名 : 二 維 表 的 名 字例 如 : Student關 系 型 : 表 的 所 有 列 標 題 , 描 述 實 體 或 聯 系 的 型例 如 : (SID,Sname,Sex,Birthday,Specialty)關 系 值 : 表 的 列 對 應 的 數 據 , 描
8、述 實 體 或 聯 系 的 值 例 如 : 2005216003 , 郭 洪 亮 , 男 , 1986年 4月 , 電 子 商 務 2005216004 , 呂 珊 珊 , 女 , 1987年 10月 , 計 算 機 網 絡 SQL Server 20052.2.1 關 系 模 型 的 數 據 結 構關 系 術 語元 組 : 表 中 的 一 行 , 描 述 一 個 實 體 或 聯 系例 如 : 2005216004, 呂 珊 珊 , 女 , 1987年 10月 , 計 算 機 網 絡屬 性 : 表 中 的 一 列 的 標 題例 如 : SID, Sname屬 性 值 : 表 中 的 一 列 對
9、 應 的 數 據 , 描 述 實 體 或 聯 系 的 特 征例 如 : 2005216003, 郭 洪 亮主 碼 : 表 中 的 某 個 屬 性 或 屬 性 組 , 能 惟 一 確 定 一 個 元 組 , 即 確 定 一 個 實 體例 如 : SID關 系 模 式 : 對 關 系 的 描 述 , 表 示 為 關 系 名 ( 屬 性 1, 屬 性 2, , 屬 性 n) 例 如 : Student(SID,Sname,Sex,Birthday,Specialty) Course(CID, Cname,Credit) SC(SID, CID,Grade) SQL Server 20052.2.1
10、關 系 模 型 的 數 據 結 構關 系 術 語 與 其 他 術 語 的 對 照 表 2-2 概 念 模 型 中 關 系 理 論 中 關 系 數 據 庫 中 某 些 軟 件 中實 體 集Entity set 關 系Relation 表Table 表 或 數 據 庫 文 件實 體Entity 元 組Tuple 行Row 記 錄Record屬 性Attribute 屬 性Attribute 列Column 字 段Field 主 碼Primary key 主 碼Primary key 關 鍵 字Primary key 關 鍵 字Primary key SQL Server 20052.2.1 關 系
11、 模 型 的 數 據 結 構關 系 的 特 點 關 系 ( 表 ) 的 每 一 元 組 ( 行 ) 定 義 實 體 集 的 一 個 實 體 , 每 一 列 定 義實 體 的 一 個 屬 性 。每 一 列 表 示 一 個 屬 性 , 且 列 名 不 能 重 復 。關 系 必 須 有 一 個 主 碼 , 唯 一 標 識 一 個 元 組 ( 實 體 ) 。列 的 每 個 值 必 須 與 對 應 屬 性 的 類 型 相 同 。列 有 取 值 范 圍 , 稱 為 域 。列 是 不 可 分 割 的 最 小 數 據 項 。 行 、 列 的 順 序 對 用 戶 無 關 緊 要 。 SQL Server 200
12、52.2.2 關 系 運 算 ( 傳 統 的 集 合 運 算 )設 : 有 兩 個 關 系 R和 S, 具 有 相 同 的 結 構 , t是 元 組 變 量 , 關 系R為 喜 歡 跳 舞 的 學 生 , S為 喜 歡 唱 歌 的 學 生 。表 2-3 喜 歡 跳 舞 的 學 生 關 系 R Sname Sex 李 敬 女 高 全 英 女 吳 秋 娟 女 穆 金 華 男 張 欣 欣 女 王 婷 女 表 2-4 喜 歡 唱 歌 的 學 生 關 系 S Sname Sex 趙 成 剛 男 張 峰 男 吳 秋 娟 女 穆 金 華 男 孫 政 先 男 王 婷 女 呂 文 昆 男 孫 煒 女 SQL S
13、erver 20052.2.2 關 系 運 算 ( 傳 統 的 集 合 運 算 )并 ( Union)公 式 : R S=tt R t S 語 義 : t 元 組 屬 于 R或 者 屬 于 S。例 2-1: 喜 歡 跳 舞 或 喜 歡 唱 歌 的 學 生 , R S的 關 系 如 表 2-5所 示 。 表 2-5 R SSname Sex李 敬 女高 全 英 女吳 秋 娟 女穆 金 華 男張 欣 欣 女王 婷 女 趙 成 剛 男張 峰 男孫 政 先 男呂 文 昆 男孫 煒 女 SQL Server 20052.2.2 關 系 運 算 ( 傳 統 的 集 合 運 算 )差 ( Differenc
14、e)公 式 : R S=tt R tS 語 義 : t 元 組 屬 于 R, 但 不 屬 于 S。例 2-2: 喜 歡 跳 舞 但 是 不 喜 歡 唱 歌 的 學 生 , R S的 關 系 如 表 2-6所 示 。 表 2-6 R-SSname Sex李 敬 女高 全 英 女 張 欣 欣 女 SQL Server 20052.2.2 關 系 運 算 ( 傳 統 的 集 合 運 算 )交 ( Intersection)公 式 : R S=t t R t S 語 義 : t 元 組 屬 于 R并 且 屬 于 S。例 2-3: 既 喜 歡 跳 舞 也 喜 歡 唱 歌 的 學 生 , R S的 關 系
15、 如 表 2-7所 示 。 表 2-7 RSSname Sex吳 秋 娟 女 穆 金 華 男王 婷 女 SQL Server 20052.2.2 關 系 運 算 ( 傳 統 的 集 合 運 算 )笛 卡 爾 積 ( Cartesian Product)設 : 關 系 R為 n列 ( n個 屬 性 ) , k1行 ( k1個 元 組 ) ;關 系 S為 m列 ( m個 屬 性 ) , k2行 ( k2個 元 組 ) 。公 式 : R S=tRtS tR R tS S 語 義 : 笛 卡 爾 積 仍 是 一 個 關 系 , 該 關 系 的 結 構 是 R和 S結 構 之 連接 , 即 前 n個 屬
16、 性 來 自 R, 后 m個 屬 性 來 自 S, 該 關 系 的 值 是 由 R中 的 每 個 元 組 連 接 S中 的 每 個 元 組 所 構 成 元 組 的 集 合 。注 意 : 新 關 系 的 屬 性 個 數 等 于 n+m, 元 組 個 數 等 于 k1*k2。 SQL Server 20052.2.2 關 系 運 算 ( 傳 統 的 集 合 運 算 )例 2-4 : 設 關 系 R和 S如 表 2-8和 表 2-9所 示 , R S如 表 2-10所 示 。 表 2-8 學 生 關 系 RSID Sname2005216001 趙 成 剛2005216002 李 敬 表 2-9 課
17、 程 關 系 SCID Cname16020010 C語 言 程 序 設 計16020011 圖 像 處 理16020012 網 頁 設 計表 2-10 學 生 選 課 新 關 系 R S SID Sname CID Cname2005216001 趙 成 剛 16020010 C語 言 程 序 設 計2005216001 趙 成 剛 16020011 圖 像 處 理2005216001 趙 成 剛 16020012 網 頁 設 計2005216002 李 敬 16020010 C語 言 程 序 設 計2005216002 李 敬 16020011 圖 像 處 理2005216002 李 敬
18、16020012 網 頁 設 計 SQL Server 20052.2.2 關 系 運 算 ( 專 門 的 集 合 運 算 )投 影 ( Projection)設 : t是 關 系 R中 的 一 個 元 組 , A是 要 從 R中 投 影 出 的 屬 性 子集 。公 式 : A(R)= t.At R 語 義 : 從 關 系 R中 按 所 需 順 序 選 取 若 干 個 屬 性 構 成 新 關系 。注 意 : 新 關 系 的 元 組 數 小 于 等 于 原 關 系 的 元 組 數 ,新 關 系的 屬 性 數 不 多 于 原 關 系 中 的 。 SQL Server 20052.2.2 關 系 運
19、 算 ( 專 門 的 集 合 運 算 )表 2-11 關 系 RSID Sname Sex Birthday Specialty2005216001 趙 成 剛 男 1986年 5月 計 算 機 應 用2005216002 李 敬 女 1986年 1月 軟 件 技 術2005216003 郭 洪 亮 男 1986年 4月 電 子 商 務 2005216004 呂 珊 珊 女 1987年 10月 計 算 機 網 絡2005216005 高 全 英 女 1987年 7月 電 子 商 務2005216006 郝 莎 女 1985年 8月 電 子 商 務2005216007 張 峰 男 1986年 9
20、月 軟 件 技 術2005216111 吳 秋 娟 女 1986年 8月 電 子 商 務 表 2-12 Sname,Sex (R)Sname Sex趙 成 剛 男李 敬 女郭 洪 亮 男呂 珊 珊 女高 全 英 女郝 莎 女張 峰 男吳 秋 娟 女例 2-5: 列 出 學 生 情 況 表 R( 表 2-11) 的 學 生 姓 名 和 性 別 的情 況 , 投 影 運 算 結 果 如 表 2-12所 示 。 SQL Server 20052.2.2 關 系 運 算 ( 專 門 的 集 合 運 算 )選 擇 ( Selection)設 : t是 關 系 R中 的 一 個 元 組 , F(t)為 元
21、 組 邏 輯 表 達 式 。公 式 : F(t)(R)= tt R F(t)=true語 義 : 從 關 系 中 找 出 滿 足 條 件 的 那 些 元 組 稱 為 選 擇 。注 意 : 運 算 結 果 的 元 組 數 不 多 于 原 關 系 中 的 元 組 數 。例 2-6: 在 學 生 情 況 表 2.10 R中 選 擇 出 男 生 , 如 表 2-13所 示 。表 2-13 Sex=男 (R)SID Sname Sex Birthday Specialty2005216001 趙 成 剛 男 1986年 5月 計 算 機 應 用2005216003 郭 洪 亮 男 1986年 4月 電
22、子 商 務2005216007 張 峰 男 1986年 9月 軟 件 技 術 SQL Server 2005連 接 ( Join)設 : A, B分 別 是 關 系 R和 S中 的 屬 性 , t是 連 接 關 系 中 的 一 個 元 組 。公 式 : R S=R.AS.B ( R S) AS 語 義 : 兩 個 關 系 R和 S按 相 應 屬 性 值 的 比 較 條 件 連 接 起 來 , 生 成 一 個新 關 系 , 也 稱 為 連 接 。 等 值 連 接 R S 選 擇 ( 為 )按 照 兩 關 系 中 對 應 屬 性 值 相 等 的 條 件 所 進 行 的 連 接 自 然 連 接 等
23、值 連 接 去 重 復 屬 性記 作 : R S 2.2.2 關 系 運 算 ( 專 門 的 集 合 運 算 ) SQL Server 20052.2.2 關 系 運 算 ( 專 門 的 集 合 運 算 )例 2-7: 設 學 生 、 選 課 和 課 程 表 如 表 2-14、 表 2-15、 表 2-16所 示 , 學生 選 課 的 情 況 為 S SC C的 結 果 , 如 表 2-17所 示 。 表 2-14 SSID Sname2005216111 吳 秋 娟2005216112 穆 金 華2005216115 張 欣 欣表 2-15 SC SID CID2005216111 1602
24、00102005216111 160200132005216112 160200142005216112 160200102005216115 160200112005216115 16020014 表 2-16 CCID Cname16020010 C語 言 程 序 設 計16020011 圖 像 處 理16020012 網 頁 設 計16020013 數 據 結 構16020014 數 據 庫 原 理 與 應 用16020015 專 業(yè) 英 語16020016 軟 件 文 檔 的 編 寫16020017 美 工 基 礎16020018 面 向 對 象 程 序 設 計 SQL Server
25、20052.2.2 關 系 運 算 ( 專 門 的 集 合 運 算 )自 然 連 接 結 果 如 下 :表 2-17 S SC C SID Sname CID Cname2005216111 吳 秋 娟 16020010 C語 言 程 序 設 計2005216111 吳 秋 娟 16020013 數 據 結 構2005216112 穆 金 華 16020014 數 據 庫 原 理 與 應 用2005216112 穆 金 華 16020010 C語 言 程 序 設 計 2005216115 張 欣 欣 16020011 圖 像 處 理2005216115 張 欣 欣 16020014 數 據 庫
26、 原 理 與 應 用 SQL Server 20052.2.3 關 系 完 整 性實 體 完 整 性 ( Entity Integrity) 規(guī) 則 : 若 屬 性 A是 基 本 關 系 R的 主 碼 , 則 屬 性 A不 能 取 空值 。 例 如 : 建 立 一 個 課 程 情 況 表 ( Course) , 屬 性 學 號 CID為 主 碼 , 惟 一且 不 能 為 空 值 。CREATE TABLE Course ( CID char(8) NOT NULL PRIMARY KEY, -實 體 完 整 性 控 制 Cname nchar(30) NULL, Credit decimal(
27、3,1) NULL, ) SQL Server 20052.2.3 關 系 完 整 性參 照 完 整 性 ( Reference Integrity) 規(guī) 則 : 參 照 關 系 ( 子 表 ) 的 外 碼 取 值 不 能 超 出 被 參 照 關 系 ( 父表 ) 的 主 碼 取 值 。例 如 : 建 立 一 個 學 生 選 課 表 ( SC) 。 SC是 參 照 關 系 , Student是 被 參 照 關 系 , SC中 外 碼 SID的 值 或 者 為 空 或 者 等 于 Student中主 碼 SID的 值 。 CREATE TABLE SC ( SID char(10) NOT NU
28、LL, CID char(8) NOT NULL, Grade numeric(5,1) NULL, PRIMARY KEY(SID,CID), FOREIGN KEY(SID) REFERENCES Student(SID) -參 照 完 整 性 控 制 ) SQL Server 20052.2.3 關 系 完 整 性域 ( 用 戶 ) 定 義 完 整 性 約 束 : 屬 性 取 值 滿 足 某 種 條 件 或 函 數 要 求例 如 : 建 立 一 個 學 生 情 況 表 ( Student) , 屬 性 性 別 Sex的 取 值 必 須滿 足 為 男 或 女 。CREATE TABLE S
29、tudent (SID char(10) PRIMARY KEY, -實 體 完 整 性 控 制Sname char(8) NOT NULL,Sex char(2) NULL CHECK(Sex=男 OR Sex=女 ), -域 完 整 性 控 制Birthday datetime NULL, Specialty varchar(26) NULL, ) SQL Server 20052.2.3 關 系 完 整 性完 整 性 規(guī) 則 檢 查為 了 維 護 數 據 庫 中 數 據 的 完 整 性 , 在 對 關 系 數 據 庫 執(zhí) 行 插 入 、 刪 除和 修 改 操 作 時 , 要 檢 查 是
30、否 滿 足 完 整 性 規(guī) 則 。 實 體 完 整 性 規(guī) 則 : 檢 查 主 碼 屬 性 上 的 值 是 否 已 經 存 在 。若 不 存 在 , 可 以 執(zhí) 行 插 入 操 作 , 否 則 不 能 執(zhí) 行 插 入 操作 。參 照 完 整 性 規(guī) 則 : 向 參 照 關 系 插 入 , 檢 查 外 碼 屬 性上 的 值 是 否 在 被 參 照 關 系 的 主 碼 屬 性 值 中 存 在 。 若存 在 , 可 以 執(zhí) 行 插 入 操 作 , 否 則 不 能 執(zhí) 行 插 入 操 作 。 戶 定 義 完 整 性 規(guī) 則 : 檢 查 輸 入 數 據 是 否 符 合 用 戶 定義 的 完 整 性 規(guī)
31、則 。 若 符 合 , 可 以 執(zhí) 行 插 入 操 作 , 否則 不 能 執(zhí) 行 插 入 操 作 。 SQL Server 20052.2.3 關 系 完 整 性刪 除參 照 完 整 性 規(guī) 則 : 刪 除 被 參 照 關 系 中 的 行 , 檢 查 其 主 碼 是 否 被 參照 關 系 的 外 碼 引 用 ,若 沒 被 引 用 : 刪 除若 被 引 用 : 拒 絕 刪 除 空 值 刪 除 ( 外 碼 改 為 空 值 ) 級 聯 刪 除 ( 參 照 關 系 中 的 相 應 行 一 起 刪 除 )修 改 等 價 : 先 刪 除 , 后 插 入 ( 以 上 兩 種 情 況 的 綜 合 ) SQL
32、Server 20052.3 E-R模 型 到 關 系 模 型 的 轉 換 實 體 ( E) 轉 換 為 關 系 模 式1 2 聯 系 ( R) 轉 換 為 關 系 模 式 SQL Server 20052.3.1 實 體 ( E) 轉 換 為 關 系 模 式 的 方 法 一 個 實 體 轉 換 為 一 個 關 系 模 式 , 實 體 的 屬 性 就 是 關 系 的屬 性 , 實 體 的 碼 就 是 關 系 的 碼 。 例 如 : 學 生 實 體 轉 換 為 關 系 模 式 學 生 ( 學 號 , 姓 名 , 性 別 ,出 生 日 期 )Student(SID,Sname,Sex,Birthd
33、ay,Specialty) SQL Server 20052.3.2 聯 系 ( R) 轉 換 為 關 系 模 式 的 方 法一 對 一 將 聯 系 與 任 意 端 實 體 所 對 應 的 關 系 模 式 合 并 , 加 入 另 一 端 實體 的 碼 和 聯 系 的 屬 性 。例 如 : 實 體 學 校 ( 學 校 編 號 , 名 稱 )與 校 長 ( 編 號 , 姓 名 ) 之 間 的 任 職 聯系 是 1: 1的 聯 系 。 學 校 編 號 名 稱任 職 日 期 學 校任 職 校 長編 號 姓 名11 SQL Server 20052.3.2 聯 系 ( R) 轉 換 為 關 系 模 式
34、的 方 法校 長 ( E)編 號 ( PK)姓 名學 校 ( E)學 校 編 號 ( PK)名 稱 任 職 ( R)任 職 日 期1 : 1學 校 ( 學 校 編 號 , 名 稱 ) 校 長 ( 編 號 , 姓 名 , 學 校 編 號 , 任 職 日 期 ) SQL Server 2005 2.3.2 聯 系 ( R) 轉 換 為 關 系 模 式 的 方 法一 對 多將 聯 系 與 n端 實 體 所 對 應 的關 系 模 式 合 并 , 加 入 1端 實 體 的 碼和 聯 系 的 屬 性 。例 如 : 圖 書 實 體 和 讀 者 類 型 實 體 的 聯 系是 1:n的 。 讀 者 編 號 姓
35、名 限 借 數 量讀 者屬 于 類 型讀 者 類 型類 型 編 號 類 型 名 稱 n1 借 閱 期 限 SQL Server 20052.3.2 聯 系 ( R) 轉 換 為 關 系 模 式 的 方 法類 型 ( E)類 型 編 號 ( PK)類 型 名 稱限 借 數 量借 閱 期 限讀 者 ( E)讀 者 編 號 ( PK)姓 名 屬 于 類 型 ( R) 借 閱 數 量n : 1 Reader(RID,Rname, TypeID, Lendnum ) ReaderType(TypeID, Typename,LimitNum, LimitDays) SQL Server 20052.3.2
36、 聯 系 ( R) 轉 換 為 關 系 模 式 的 方 法多 對 多將 聯 系 轉 換 成 一 個 關 系 模 式 。 該 聯 系 相 連 的 各 實 體 的 碼和 聯 系 本 身 的 屬 性 轉 換 為 關 系 的 屬 性 。例 如 : 教 務 管 理 中 選 課 的 E-R模 型 如 圖 所 示 , 學 生 和 課程 的 聯 系 是 多 對 多 的 。 課 程學 生 選 課 成 績n m SQL Server 20052.3.2 聯 系 ( R) 轉 換 為 關 系 模 式 的 方 法課 程 ( E)課 程 編 號 ( PK)課 程 名 稱學 分學 生 ( E)學 生 編 號 ( PK)姓
37、 名性 別出 生 日 期專 業(yè) 選 課 ( R) 成 績n : m Student(SID,Sname,Sex,Birthday,Specialty) Course(CID, Cname,Credit) SC(SID, CID,Grade) SQL Server 20052.4 關 系 規(guī) 范 化 基 礎不 規(guī) 范 : 產 生 數 據 冗 余 , 帶 來 很 多 問 題 。規(guī) 范 : 提 高 數 據 的 結 構 化 、 共 享 性 、 一 致 性 和 可 操 作 性 。范 式 : 規(guī) 范 化 的 程 度 , 級 別 。規(guī) 范 化 : 在 關 系 數 據 庫 中 的 每 個 關 系 都 需 要
38、進 行 規(guī) 范 化 ,使 之 達 到 一 定 的 規(guī) 范 化 程 度 。 SQL Server 2005 2.4.2第 一 范 式 1NF( First Normal Form) 定 義 : 所 有 屬 性 不 可 再 分 , 即 原 子 屬 性 。 記 作 : R 1NF例 如 : 設 一 個 通 信 錄 , 電 話 屬 性 需 要 再 分 , 達 不 到 1NF。 學 號 姓 名 性 別 電 話手 機 家 庭 宿 舍2005216111 吳 秋 娟 女 13105242389 6127963 61254632005216112 穆 金 華 男 13105543364 6231159 623
39、5159 2005216115 張 欣 欣 女 13105326757 3890356 57903562005216117 孟 霞 女 13105242336 7843567 7900453 SQL Server 2005 2.4.2 第 一 范 式 1NF( First Normal Form) 問 題 : 不 是 二 維 表 , 不 夠 1NF解 決 方 法 1: 在 屬 性 上 展 開學 號 姓 名 性 別 手 機 家 庭 電 話 宿 舍 電 話2005216111 吳 秋 娟 女 13105242389 6127963 61254632005216112 穆 金 華 男 1310554
40、3364 6231159 6235159 2005216115 張 欣 欣 女 13105326757 3890356 57903562005216117 孟 霞 女 13105242336 7843567 7900453 SQL Server 2005 2.4.2 第 一 范 式 1NF( First Normal Form) 解 決 方 法 2: 分 解 為 二 個 關 系學 號 姓 名 性 別2005216111 吳 秋 娟 女2005216112 穆 金 華 男2005216115 張 欣 欣 女2005216117 孟 霞 女 學 號 手 機 家 庭 電 話 宿 舍 電 話20052
41、16111 13105242389 6127963 61254632005216112 13105543364 6231159 62351592005216115 13105326757 3890356 57903562005216117 13105242336 7843567 7900453 SQL Server 20052.4.2第 二 范 式 2NF( Second Normal Form)定 義所 有 非 主 屬 性 完 全 依 賴 每 個 候 選 關 鍵 字 。 記 作 R 2NF或 : 取 消 部 分 依 賴 。假 設 : 有 一 個 教 師 授 課 的 關 系 模 式 。TC(T
42、NO,Tname,Title,ADDR,CNO,Cname, CCredit,CDesc)PK: ( TNO, CNO) SQL Server 20052.4.2第 二 范 式 2NF( Second Normal Form)問 題 數 據 冗 余 ( 不 同 課 程 同 一 任 教 的 教 師 名 等 )更 新 異 常 ( 冗 余 帶 來 的 不 一 致 )插 入 異 常 ( 沒 課 的 教 師 關 鍵 字 無 值 不 允 許 插 入 )刪 除 異 常 ( 沒 課 的 教 師 要 刪 除 , 致 使 刪 除 有 關 記 錄 ) SQL Server 20052.4.2 第 二 范 式 2NF
43、( Second Normal Form)原 因關 系 屬 性 之 間 存 在 部 分 函 數 依 賴 , 不 夠 2NF。主 碼 ( TNO, CNO) 決 定 Cname,CCredit,CDesc, 但 是 存 在主 碼 的 一 部 分 CNO就 可 以 決 定 Cname, CDesc。 ( TNO, CNO) Cname,CDesc (CNO) Cname, CDesc SQL Server 20052.4.2第 二 范 式 2NF( Second Normal Form)解 決 辦 法拆 分 : 原 則 是 概 念 單 一 , 完 整 ( 無 損 )上 述 達 不 到 2NF的 關
44、 系 分 解 如 下 :多 T ( TNO,Tname,Title,ADDR)對 TC( TNO,CNO, CCredit)多 C( CNO,Cname,CDesc) SQL Server 20052.4.3第 三 范 式 3NF( Third Normal Form)定 義 所 有 非 主 屬 性 都 不 傳 遞 函 數 依 賴 每 個 候 選 關 鍵 字 。 記 作 :R 3NF 或 : 取 消 傳 遞 依 賴假 設 : 為 圖 書 管 理 系 統 的 數 據 模 式 Book增 加 一 個 屬 性 ISBN。Books (BID,ISBN,Bname,Author, PubComp, P
45、ubDate,Price,State) PK: BID SQL Server 20052.4.3第 三 范 式 3NF( Third Normal Form)問 題 數 據 冗 余 ( 圖 書 館 多 本 書 副 本 )更 新 異 常 ( 冗 余 帶 來 的 不 一 致 )插 入 異 常 ( 圖 書 館 沒 有 購 進 的 書 的 出 版 情 況 不 允 許 插 入 )刪 除 異 常 ( 圖 書 館 丟 失 刪 除 的 書 , 致 使 刪 除 該 書 的 有 關出 版 情 況 ) SQL Server 20052.4.3 第 三 范 式 3NF( Third Normal Form)原 因關
46、系 屬 性 之 間 存 在 傳 遞 函 數 依 賴 , 不 夠 3FN。存 在 : BIDISBN, ISBNBname,Author, PubComp, PubDate,Price X Y , Y Z, Y X X傳 遞 決 定 Z或 Z函 數 依 賴 于 X SQL Server 20052.4.3 第 三 范 式 3NF( Third Normal Form)解 決 辦 法拆 分 : 原 則 是 概 念 單 一 , 完 整 ( 無 損 ) 。上 述 達 不 到 3NF的 關 系 分 解 如 下 :m Books( BID, State )對 BooksType (BID,ISBN) FK
47、:ISBN, BID1 Type (ISBN,Bname,Author,PubComp,PubDate,Price) SQL Server 20052.5 關 系 數 據 庫 的 標 準 語 言 SQL簡 介SQL( Structured Query Language) 被 稱 為 結 構化 查 詢 語 言 , 是 目 前 最 為 廣 泛 使 用 的 關 系 數 據 庫 查 詢語 言 。IBM公 司 : SQL/DS( 7181)Sybase與 Microsoft公 司 : Transact-SQLOracle公 司 : PL/SQLANSI( Institute) / ISO( 198619
48、99) : SQL-92/SQL-99標 準 SQL Server 2005 2.5.1 SQL語 言 概 述 SQL語 言 的 功 能DDL定 義DML操 縱 、 查 詢DCL控 制SQL語 言 的 特 點大 中 小 型 DBMS支 持 SQL高 度 非 過 程 性 語 言 和 面 向 操 作 的 語 言 SQL Server 20052.5.2 Transact-SQL( T-SQL) 語 言 概 述 T-SQL是 SQL Server功 能 的 核 心 , 不 管 應 用 程 序 的用 戶 界 面 是 什 么 形 式 , 只 要 與 數 據 庫 服 務 器 交 互 , 最終 都 必 然
49、體 現 為 T-SQL。 T-SQL語 言 的 功 能 特 點支 持 ANSI SQL-92標 準 : DDL,DML,DCL加 入 局 部 變 量 , 全 局 變 量 等加 入 程 序 控 制 結 構 SQL Server 20052.5.2 T-SQL語 言 的 特 點SQL語 言 的 特 點交 互 式 查 詢 語 言 ( 使 用 SSMS語 言 編 輯 器 編 輯 、 編 譯 、 運行 和 保 存 )可 嵌 入 程 序非 過 程 化 SQL Server 2005小 結1.關 系 數 據 庫 與 關 系 模 型 概 述關 系 數 據 庫 用 關 系 模 型 來 組 織 數 據關 系 模
50、型 由 關 系 數 據 結 構 、 關 系 操 作 集 合 和 關 系 完 整 性 規(guī)則 三 部 分 組 成(1)數 據 結 構 :二 維 表(2)操 作 集 合 : A(R)投 影 , F(t)(R)選 擇 , R S 自 然 連 接(3)完 整 性 規(guī) 則 :實 體 : 主 碼 , 參 照 : 外 碼 , 域 : 邏 輯 表 達式 或 函 數 SQL Server 2005小 結2. E-R模 型 到 關 系 模 型 的 轉 換實 體 關 系 : 實 體 的 屬 性 就 是 關 系 的 屬 性聯 系 關 系1對 1: 聯 系 與 任 意 端 實 體 合 并 , 加 入 另 一 端 實 體
51、的 碼 和 聯系 的 屬 性 。1對 n: 聯 系 與 n端 實 體 合 并 , 加 入 1端 實 體 的 碼 和 聯 系 的屬 性 。n對 m: 聯 系 轉 換 成 一 個 關 系 模 式 , 該 聯 系 相 連 的 各 實 體的 碼 和 聯 系 本 身 的 屬 性 轉 換 為 關 系 的 屬 性 。 SQL Server 2005小 結3. 關 系 規(guī) 范 化1NF:原 子 屬 性 , 2NF:不 存 在 部 分 函 數 依 賴 , 3NF: 不 存在 傳 遞 函 數 依 賴4.結 構 化 查 詢 語 言 SQLISO的 SQL-92: DDL,DML,DCLMS的 T-SQL: 標 準 加 程 序 等 擴 展 功 能 特 點 : 大 中 小 型 DBMS支 持 SQL, 高 度 非 過 程 性 語 言 和 面向 操 作 的 語 言 揚 州 大 學 新 聞 與 傳 媒 學 院 孫 發(fā) 勤
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。