Microsoft PowerPoint - MIS_Lec03.ppt [相容模式]

Similar documents
教 学 目 标 描 述 主 要 数 据 库 对 象 创 建 表 描 述 列 定 义 时 可 用 的 数 据 类 型 改 变 表 的 定 义 删 除 改 名 和 截 断 表 描 述 每 个 DML 语 句 插 入 行 到 表 中 更 新 表 中 的 行 从 表 中 删 除 行 描 述 约 束 创 建

数 据 库 系 统 基 础 2/54 第 6 章 数 据 库 管 理 与 维 护

1-1 database columnrow record field 不 DBMS Access Paradox SQL Server Linux MySQL Oracle IBM Informix IBM DB2 Sybase 1-2

Microsoft PowerPoint - MIS_Lec02.ppt [相容模式]

untitled

untitled

HTML網頁基礎語言

學 科 100% ( 為 單 複 選 題, 每 題 2.5 分, 共 100 分 ) 1. 請 參 閱 附 圖 作 答 : (A) 選 項 A (B) 選 項 B (C) 選 項 C (D) 選 項 D Ans:D 2. 下 列 對 於 資 料 庫 正 規 化 (Normalization) 的 敘

PowerPoint Presentation

DB2 (join) SQL DB2 11 SQL DB2 SQL 9.1 DB2 DB2 ( ) SQL ( ) DB2 SQL DB2 DB2 SQL DB2 DB2 SQL DB2 ( DB2 ) DB2 DB2 DB2 SQL DB2 (1) SQL (2) S

目錄

ebook46-23

Oracle9i 的查询优化

untitled

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

会 宗旨 理解 Oracle 12c 如何支持 JSON 在数据 中存 JSON 数据 熟悉 JSON 的条件和功能 使用 JSON 条件和功能 JSON 数据 在 JSON_TABLE 上使用 SQL JSON 数据 2

目錄 C ontents Chapter MTA Chapter Chapter

数据库系统概论

投影片 1

基于UML建模的管理管理信息系统项目案例导航——VB篇

Oracle高级复制配置手册_业务广告_.doc

习题1

ebook 165-5

威 福 髮 藝 店 桃 園 市 蘆 竹 區 中 山 里 福 祿 一 街 48 號 地 下 一 樓 50,000 獨 資 李 依 純 105/04/06 府 經 登 字 第 號 宏 品 餐 飲 桃 園 市 桃 園 區 信 光 里 民

数 据 库 管 理 第 章 (1) 创 建 一 个 简 单 的 表 空 间 Create tablespace user1 datafile 'e:\database\oracle\user1_data.dbf' size 00M; () 指 定 数 据 文 件 的 可 扩 展 性 Create t

使用SQL Developer

封面-12

Using JSON in Oracle 12c

ZENworks 11 SP4

幻灯片 1

第1套

Microsoft PowerPoint - MIS_Lec04.ppt [相容模式]

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

ebook4-14

SQL 书写规范

Oracle Database 10g: SQL (OCE) 的第一堂課

Microsoft Word - 三峽鎮衛生所_3_-張家宸.李永繁.doc

Microsoft Word - 武漢大學交流營心得_黃莉云_.doc

untitled

主動學習快樂玩,韻文詩歌我在行

文 学 蓝 皮 书 迅 冯 俐 崔 涛 等 任 副 主 席, 徐 迅 任 秘 书 长 中 国 煤 矿 作 协 成 立 已 30 年, 1983 年 成 立 之 初 为 中 国 煤 矿 文 学 研 究 会, 1995 年 更 名 为 中 国 煤 矿 作 协 煤 炭 系 统 的 作 家 和 广 大 文

(Microsoft Word - 03\300\243\244p.doc)

项目 3 创建和管理表 任务实现 Office Visio PK 3 FK FK1 3.1 相关知识 SQL Server 一 制订表规划 1. 表要存储什么对象 2. 表中每一列的数据类型和长度 059

Microsoft PowerPoint - Ch6

IBM Rational ClearQuest Client for Eclipse 1/ IBM Rational ClearQuest Client for Ecl

untitled

ASP.NET 2.0網頁設計範例教本

國家圖書館典藏電子全文

ASP.NET MVC Visual Studio MVC MVC 範例 1-1 建立第一個 MVC 專案 Visual Studio MVC step 01 Visual Studio Web ASP.NET Web (.NET Framework) step 02 C:\M

HTML網頁基礎語言

第四章 SQL 介紹

sql> startup mount 改变数据库的归档模式 sql> alter database archivelog # 打开数据库 sql> alter database open 禁止归档模式 sql> shutdown immediate sql>startup mount sql> al

未命名

Oracle 4

此處提出閱讀本書的注意事項及相關前提, 請務必在閱讀正文前先看過 本書的目標讀者是利用 Oracle Database( 後稱 Oracle) 的程式開發人員和資料庫管理人員 因此, 雖然本書已盡可能詳加解說 SQL 使用方法及實作時需要注意的要點, 但是讀者仍須具備基本的電腦知識及 Oracle

PowerPoint Presentation

123

Oracle Reports培训教程20.doc

1.linesize 说 明 : 设 置 显 示 行 的 宽 度, 默 认 是 80 个 字 符 show linesize set linesize 90 2.pagesize 说 明 : 设 置 每 页 显 示 的 行 数 目, 默 认 是 14 用 法 和 linesize 一 样 至 于 其

10

PowerPoint 簡報

第 一 节 认 识 自 我 的 意 义 一 个 人 只 有 认 识 自 我, 才 能 够 正 确 地 认 识 到 自 己 的 优 劣 势, 找 出 自 己 的 职 业 亮 点, 为 自 己 的 顺 利 求 职 推 波 助 澜 ; 一 个 人 只 有 认 识 自 我, 才 能 在 求 职 中 保 持

Oracle高级复制冲突解决机制的研究

<4D F736F F F696E74202D DA578C657B27BA6E6ABD8BF76B5B2BA63A475B57BAABABADEB27AA8EEABD7BB50A7EFB669ABD8C4B32DBDB2A7D3B4AD2E BACDBAE65BCD2A6A15D>

R D B M S O R D B M S R D B M S / O R D B M S R D B M S O R D B M S 4 O R D B M S R D B M 3. ORACLE Server O R A C L E U N I X Windows NT w w

Microsoft Word - AED190_CH06

Microsoft PowerPoint - C_Structure.ppt

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM

ebook10-5

Oracle数据库应用技术4 [兼容模式]

ebook 96-16

untitled

Microsoft PowerPoint - ch10.ppt [相容模式]

使用手冊

MySQL資料庫教學

13 根 据 各 种 网 络 商 务 信 息 对 不 同 用 户 所 产 生 的 使 用 效 用, 网 络 商 务 信 息 大 致 可 分 为 四 级, 其 中 占 比 重 最 大 的 是 ( A ) A 第 一 级 免 费 信 息 B 第 二 级 低 收 费 信 息 C 第 三 级 标 准 收 费

Process Data flow Data store External entity 6-10 Context diagram Level 0 diagram Level 1 diagram Level 2 diagram

幻灯片 1

基于ECO的UML模型驱动的数据库应用开发1.doc

WQ.s92

Microsoft Word - P-K08-007流通標準作業程序V9

课程名称:数据库系统概论


回滚段探究

三. 发现表被删除, 开始着手解决 1. 该表所在表空间离线 ( 确保删除表所在位置不会被重写 ) SQL> alter tablespace raw_odu offline; Tablespace altered. 2. 通过 logmnr, 找出被删除的数据 data _object _id 1

( Version 0.4 ) 1

Microsoft PowerPoint - ch04.ppt [相容模式]

ITE 資訊專業人員鑑定財團法人中華民國電腦技能基金會主辦 ITE 資訊專業人員鑑定 資料庫系統理論與設計 試卷編號 :IDD102 注意事項 一 本測驗為單面印刷試題, 共計十一頁 第二至十一頁為四十道學科試題, 測驗時間 90 分鐘 : 每題 2.5 分, 總測驗時間為 90 分鐘 二 執行 C

oracle-Ess-05.pdf

四川省普通高等学校

精 品 库 我 们 的 都 是 精 品 _www.jingpinwenku.com (8) 数 据 库 数 据 库 系 统 和 数 据 库 管 理 系 统 之 问 的 关 系 是 ( ) A) 数 据 库 包 括 数 据 库 系 统 和 数 据 库 管 理 系 统 B) 数 据 库 系 统 包 括

目 錄 1. 青 椒 炒 肉 絲 2 2. 茄 汁 燴 魚 片 3 3. 乾 煸 四 季 豆 4 4. 黑 胡 椒 豬 柳 5 5. 香 酥 花 枝 絲 6 6. 薑 絲 魚 片 湯 7 7. 醋 瓦 片 魚 8 8. 燜 燒 辣 味 茄 條 9 9. 炒 三 色 肉 丁 榨 菜 炒

Function of SQL

Microsoft Word - 關聯性資料庫.doc

Oracle数据库应用技术13 [兼容模式]

錄...1 說...2 說 說...5 六 率 POST PAY PREPAY DEPOSIT 更

单元四数据的查询 数据库原理与应用 教学设计 数据库原理与应用 教学设计 课题名称 综合案例 数据的查询一 授课班级 移动通信 课时 2 学时 授课地点 实训室 知识目标能力目标素质目标 1. 掌握查询所有数据的方 1. 能够熟练地查询表中的 1. 培养学生的吃苦耐劳 法 ; 所有数据 ; 克服困难

数据库系统概论

P4i45GL_GV-R50-CN.p65

Microsoft PowerPoint - 資料庫-08 [相容模式]

Transcription:

關聯性與限制條件之 管理 Constraint Type Add, Rename, Drop Constraints Constraint Information

Integrity Constraints 限制條件 Entity Integrity Constraints 配合主鍵限制 Referential Integrity Constraints 配合外來鍵限制 Domain Integrity Constraints 配合基數限制 加入限制條件後, 資料庫將自動檢查輸入之資料是否符合條件, 輸入未符合之資料時會傳回錯誤訊息 Constraint Type NOT NULL 不允許空值存在 UNIQUE 不允許重複值存在 ( 但允許空值 ) PRIMARY KEY UNIQUE and NOT NULL FOREIGN KEY 存在於子表格中與父表格相關聯 CHECK 檢查資料是否符合定義域 ( 基數限制 )

建立限制條件 CREATE TABLE tablename (col datatype [DEFAULT expr] [CONSTRAINT col_cons cons_type,], [CONSTRAINT table_cons cons_type (cons_col) REFERENCES parent_table (pk_col) [ON DELETE option],,]); tablename,col,datatype: 表格名稱, 欄位名稱, 資料型態 expr: 欄位預設值 ( 如果有設定 DEFAULT) col_cons: column level 限制條件名稱 (inline) table_cons: table level 限制條件名稱 (out-of-line) cons_type: 限制條件種類 cons_col: 加上限制條件之欄位名稱 parent_table: 設定 fk 時所關聯之父表格名稱 pk_col: 設定 fk 時所關聯之父表格主鍵名稱 option: 當刪除具限制條件之 pk 資料時, 控制是否將關聯鍵之資料也刪除 (CASCADE) 或改為空值 (SET NULL)

建立 Not Null 或 Unique SQL> CREATE TABLE dept 2 (deptno NUMBER(2) PRIMARY KEY, 3 dname VARCHAR2(15) UNIQUE, 4 loc VARCHAR2(15) NOT NULL) ; 建立具 column level 限制條件之部門資料表 deptno: 部門編號, 設為主鍵 dname: 部門名稱, 必須是唯一值 loc: 部門位置, 不允許空值 未手動建立限制條件名稱時, 系統會自動命名如 SYS_C003123 之類的名稱格式 如欲加上限制條件名稱, 以 UNIQUE 為例, 可依規定設計如下 dname VARCHAR2(15) CONSTRAINT dept_dname_un UNIQUE,

建立 Primary Key SQL> CREATE TABLE dept 2 (deptno NUMBER(2), 3 dname VARCHAR2(15) UNIQUE, 4 loc VARCHAR2(15) NOT NULL, 5 CONSTRAINT dept_deptno_pk PRIMARY KEY (deptno)); deptno 以附加條件的方式設為主鍵 dept_deptno_pk: 結合表格名稱 欄位名稱及限制鍵型態作為主鍵名稱 table level 限制條件的方式如同在建立完表格之後再另外加限制條件, 維護上比較有條理, 多習慣用於主鍵 外來鍵的設定

建立 Foreign Key SQL> CREATE TABLE emp 2 (empno NUMBER(4), 3 ename VARCHAR2(20) NOT NULL, 4 job VARCHAR2(20), 5 mgr NUMBER(4), 6 hiredate DATE, 7 sal NUMBER(7,2), 8 comm NUMBER(7,2), 9 deptno NUMBER(2), 10 CONSTRAINT emp_empno_pk PRIMARY KEY (empno), 11 CONSTRAINT emp_deptno_fk FOREIGN KEY (deptno) 12 REFERENCES dept(deptno)); 建立員工資料表 (emp), 並與部門資料表 (dept) 之 deptno 建立關聯 以 empno 為主鍵,emp_empno_pk 為主鍵名稱 以 deptno 為外來鍵, emp_deptno_fk 為外來鍵名稱 此範例中相關聯的表格使用相同欄位名稱之關聯鍵 (deptno), 亦可使用不同名稱, 只要指定所關聯的表格名稱, 即可建立關聯

建立 Check SQL> CREATE TABLE bonus 2 (ename VARCHAR2(20), 3 job VARCHAR2(20), 4 sal NUMBER(7,2), 5 comm NUMBER(7,2), 6 CONSTRAINT bonus_sal_ck CHECK (sal > 1000)); 建立一個 bonus 表格記錄員工的職稱 薪資及紅利 建立 check 限制條件 bonus_sal_ck, 使薪資必須大於 1000 check 限制條件亦可加在欄位後面, 例如 sal NUMBER(7,2) CONSTRAINT bonus_sal_ck CHECK (sal > 1000), 如未定義限制條件名稱, 系統會自動取名 ( 如 SYS_C003183) 一個欄位的 check 限制條件可不只一個 如欲修改 check 限制條件, 須先將其刪除再作新增條件的動作

修改 Not Null 限制條件 ALTER TABLE table_name MODIFY col_name [CONSTRAINT cons_name] NULL NOT NULL; Not Null 屬於 column level 限制條件, 可想像為欄位屬性的一種, 利用修改欄位屬性的方式新增或移除 Not Null 限制條件 cons_name: 限制條件名稱, 如未定義, 則系統將會以 SYS_C001234 之類的格式自動命名 Example: SQL> ALTER TABLE dept 2 MODIFY loc CONSTRAINT dept_loc_nn NOT NULL ; 新增 not null 限制條件 SQL> ALTER TABLE dept 2 MODIFY loc NULL ; 移除 not null 限制條件

新增 Unique 限制條件 ALTER TABLE table_name ADD [CONSTRAINT cons_name] UNIQUE (col_name); cons_name: 限制條件名稱, 如未定義, 則系統將會以 SYS_C001234 之類的格式自動命名 table_name, col_name: 表格及加限制之欄位名稱 Example: SQL> ALTER TABLE dept 2 ADD UNIQUE (dname) ; 新增 unique 限制條件於 dname 欄位並由系統自動命名 SQL> ALTER TABLE dept 2 ADD CONSTRAINT dept_dname_un UNIQUE (dname) ; 新增自行定義之 unique 限制條件於 dname 欄位

新增 Check ALTER TABLE table_name ADD [CONSTRAINT cons_name] CHECK (check condition); 如未定義限制條件名稱 ( 即未設定 CONSTRAINT 語句 ), 系統會自動取名 ( 如 SYS_C003183) 一個欄位的 check 限制條件可不只一個 如欲修改 check 限制條件, 須先將其刪除再作新增條件的動作 Example: SQL> ALTER TABLE bonus 2 ADD CONSTRAINT bonus_sal_ck CHECK (sal > 1000)); 在 bonus 表格中新增 check 限制條件 bonus_sal_ck, 使薪資必須大於 1000 如表格內已經有資料, 但違反新增之限制條件, 則會出現錯誤訊息, 如無法驗證 (S9619401.bonus_SAL_CK) - 違反檢查條件

新增 Primary Key 限制條件 ALTER TABLE table_name ADD [CONSTRAINT cons_name] PRIMARY KEY (col_name); cons_name: 主鍵名稱, 如未定義, 則系統將會以 SYS_C001234 之類的格式自動命名 table_name, col_name: 表格及加限制之欄位名稱 Example: SQL> ALTER TABLE dept 2 ADD PRIMARY KEY (deptno) ; 新增 PK 限制條件於 deptno 欄位並由系統自動命名 SQL> ALTER TABLE dept 2 ADD CONSTRAINT dept_deptno_pk PRIMARY KEY (deptno) ; 新增自行定義之 PK 限制條件於 deptno 欄位

新增 Foreign Key 限制條件 ALTER TABLE table_name ADD [CONSTRAINT cons_name] FOREIGN KEY (col_name) REFERENCES parent_table (ref_col) [ON DELETE option]; table_name, col_name: 表格及加限制之欄位名稱 cons_name: 外來鍵名稱, 如未定義, 則系統將會以 SYS_C001234 之類的格式自動命名 parent_name: 所關連之父表格名稱 ref_col: 所關連之主鍵欄位 option: 控制是否伴隨關聯欄位同步刪除 Example: SQL> ALTER TABLE emp 2 ADD CONSTRAINT emp_deptno_fk FOREIGN KEY (deptno) 3 REFERENCES dept (deptno); 在 emp 新增自行定義之外來鍵於 deptno 欄位與 dept 產生關聯, 當 dept 的關聯欄位資料被刪除時, 外來鍵欄位資料不隨之異動

ON DELETE 與整合性限制 SQL> ALTER TABLE emp 2 ADD CONSTRAINT emp_deptno_fk FOREIGN KEY (deptno) 3 REFERENCES dept (deptno) 4 ON DELETE SET NULL; 當父表格 dept 的關聯欄位 (deptno) 的資料被刪除時, 子表格 emp 的外來鍵欄位對應的資料設為 null SQL> ALTER TABLE emp 2 ADD CONSTRAINT emp_deptno_fk FOREIGN KEY (deptno) 3 REFERENCES dept (deptno) 4 ON DELETE CASCADE; 當父表格 dept 的關聯欄位 (deptno) 的資料被刪除時, 子表格 emp 的外來鍵欄位對應的資料設為也一併刪除

重新命名或終止限制條件 ALTER TABLE table_name RENAME CONSTRAINT old_cons TO new_cons; old_cons: 原始限制條件名稱 new_cons: 更名後之限制條件名稱 ALTER TABLE table_name ENABLE DISABLE CONSTRAINT cons_name [CASCADE] ; ENABLE: 啟動限制條件 DISABLE: 終止限制條件 cons_name: 限制條件名稱 CASCADE: 限制條件終止或啟動後亦終止或啟動關聯欄位的限制條件 Example: SQL> ALTER TABLE dept RENAME CONSTRAINT 2 dept_deptno_pk TO dept_dno_pk; 將限制條件 dept_deptno_pk 更名為 dept_dno_pk SQL> ALTER TABLE dept DISABLE CONSTRAINT 2 dept_dno_pk CASCADE ; 終止限制條件 dept_dno_pk( 但未移除 ), 並同時終止相關聯欄位之限制條件

刪除限制條件 ALTER TABLE table_name DROP cons_type [(col_name)] [CASCADE] ; cons_type: 限制條件型態 col_name: 如限制條件為 UNIQUE, 需加上欄位名稱 cons_name: 限制條件名稱 CASCADE: 限制條件刪除後亦移除關聯欄位的限制條件 ALTER TABLE table_name DROP CONSTRAINT cons_name [CASCADE] ; cons_name: 限制條件名稱 Example: SQL> ALTER TABLE dept 2 DROP CONSTRAINT dept_deptno_pk CASCADE; 刪除主鍵 dept_deptno_pk 並移除關聯欄位之外來鍵 SQL> ALTER TABLE dept 2 DROP UNIQUE dname 移除 dname 之 UNIQUE 限制條件

查詢限制條件 Data Dictionary 資料字典 提供資料庫管理人員查詢關聯表格屬性資訊 Oracle 伺服器之資料字典表格分 user_, dba_, all_ 三種層級, 一般使用者綱要權限內可查詢 user_ 層級的資料字典, 如 user_tables, user_constraints, user_views, 等 user_constraints 提供所有被使用者定義於關聯式資料表之限制條件資訊, 如 SQL> SELECT constraint_name, constraint_type, table_name, r_constraint_name 2 FROM user_constraints ; 查詢所有的限制條件之名稱 型態與其存在的表格 user_cons_columns 提供被使用者定義限制條件之欄位資訊, 如 SQL> SELECT constraint_name, table_name, column_name 2 FROM user_cons_columns ; 查詢所有限制條件存在於表格的哪些欄位上