第01章 表格及约束.ppt_第1页
第01章 表格及约束.ppt_第2页
第01章 表格及约束.ppt_第3页
第01章 表格及约束.ppt_第4页
第01章 表格及约束.ppt_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章表格及数据约束 本章主要内容 1 1前言简介数据对象 1 2表格概念介绍表格的概念 1 3数据类型Desc 查看表命令Edit改表命令熟悉各种数据类型及其区别 1 4表的操作熟练掌握建表及修改表规则 1 5数据约束掌握各种约束作用 1 6知识点总结 1 1前言 数据库数据对象中最基本的是表和视图 其他还有约束 序列 函数 存储过程 包 触发器等 对数据库的操作可以基本归结为对数据对象的操作 理解和掌握数据库对象是学习数据库的捷径 1 2表格概念 数据库是由一组相关文件组成的 文件是一组相关的记录 在实际数据库中 文件被称为表 字段称为 列 记录称为 行 列 行 1 3数据类型 1 3 1数值类型所有数字都有符号和精度 精度是除符号位以外的位数NUMBER p s 精度为p且小数位数为s的数字 精度可介于1与38之间 小数位数可介于 84与127之间 例如 Number 4 1 最大存储数据为 999 9FLOAT p 美国国家标准协会 ANSI 数据类型 FLOAT数据类型是二进制精度为p的浮点数 这种数据类型的默认精度为二进制数126或十进制数38 INTEGER 等效于NUMBER p 0 1 3 2字符串类型 字符串是一个字节列 字符串的长度为该序列中的字节数 定长字符串 CHAR n n个字节的固定长度字符数据 最大大小为2 000个字节 如果没有指定长度 那么就认为是1个字节注意 当你创建一个CHAR型字段 数据库将保证在这个字段中的所有数据是定义长度 如果某个数据比定义长度短 那么将用空格在数据的右边补到定义长度 如果长度大于定义长度将会触发错误信息 1 3 2字符串类型 变长字符串 VARCHAR n varchar型数据是varchar2型数据的快照 VARCHAR2 n varchar2数据类型是一种可变长度的 有最大长度的字母数字型数据 Varchar2类型的字段长度可以达到4000字节 一个空的varchar2 2000 字段和一个空varchar2 2 字段所占用的空间是一样的 注意 VARCHAR是VARCHAR2的同义词 工业标准的VARCHAR类型可以存储空字符串 但是oracle不这样做 尽管它保留以后这样做的权利 Oracle自己开发了一个数据类型VARCHAR2 这个类型不是一个标准的VARCHAR 它将在数据库中varchar列可以存储空字符串的特性改为存储NULL值 如果你想有向后兼容的能力 Oracle建议使用VARCHAR2而不是VARCHAR 1 3 2字符串类型 变长字符串 NCHAR 和NVARCHAR2 NCHAR 和NVARCHAR2 数据类型分别与CHAR 和VARCHAR2 类型是相同的 只不过它们用来存储NLS NationalLanguageSupport 数据 比如 某些系统中 日文数据的存储会用到这个类型 1 3 3日期时间型 DATE 在公元前4712年1月1日至公元9999年12月31日之间的有效日期 它还存储以下时间 小时 分钟和秒 TIMESTAMP 使用这种数据类型可指定日期中的年 月和日 以及时间中的小时 分钟和秒 毫秒 1 3 4LOB数据类型 LOB LargeObject 数据类型存储非结构化数据 比如二进制文件 图形文件 或其他外部文件 LOB可以存储到4G字节大小 数据可以存储到数据库中也可以存储到外部数据文件中 LOB数据类型有以下几种 1 BLOB 二进制数据2 CLOB 字符型数据3 BFILE 二进制文件 1 3 5其他数据类型 NULL 是一个区分所有非空值的特殊值ROWID 数据类型是ORACLE数据表中的一个伪列 它是数据表中每行数据内在的唯一的标识 此数据类型与数据存储的实际地址有关 1 4表的操作 1 4 1表的命名规则表名标识一个表 应尽可能在表名中描述表的功能命名规则 表名和列名不能超过30个字符 必须以字母开头必须只能包含A Z a z 0 9 等必须不能和用户定义的其他对象重名必须不能是ORACLE的保留字正确表名 student Info错误表名 student info 1 4表的操作 1 4 2表的创建创建表语法 CREATETABLE表名 列名1属性 默认值是否为空约束 列名2属性 默认值是否为空约束 列名2属性 默认值是否为空约束 1 4表的操作 1 4 2表的创建创建学生表 tbl studentinfo CREATETABLEtbl studentinfo stunoCHAR 5 NOTNULL stunameVARCHAR2 20 NOTNULL stubirthDATE stusexCHAR 1 notnullWITH DEFAULT 0 studaddrVARCHAR2 200 stutelVARCHAR2 11 NOTNULL子句可以用WITHDEFAULT数值扩充 1 4表的操作 1 4 2表的创建创建课程表 tbl classinfo CREATETABLEtbl classinfo classnoCHAR 3 NOTNULL classnameVARCHAR2 10 NOTNULL 1 4表的操作 1 4 2表的创建创建成绩表 tbl scoreinfo CREATETABLEtbl scoreinfo stunoCHAR 5 NOTNULL classnoCHAR 3 NOTNULL scoreNUMBER 3 1 1 4表的操作 1 4 2表的创建注意 1 null 可以为空notnull 不可为空1 一般定义成char型字段 是因为这个字段的数据长度固定 并且实际数据查询中 char型比varchar型的效率高 小结 数据类型创建表 CREATETABLEtbl classinfo classnoCHAR 3 NOTNULL classnameVARCHAR2 10 NOTNULL 数值类型 NUMBER字符串类型 CHAR VARCHAR2日期类型 DATE 1 4表的操作 1 4 3表的删除删除表语法删除学生表 DROPTABLE表名 DROPTABLEtbl studentinfo 1 4表的操作 1 4 4表的修改字段的增加语法 增加小组负责人属性 ALTERTABLE表名ADD列名属性约束 ALTERTABLEtbl studentinfoADDupstunoCHAR 5 DEFAULTNULL ALTERTABLEtbl studentinfoADDupstunoCHAR 5 ALTERTABLEtbl studentinfoADDupstunoCHAR 5 DEFAULT 05001 1 4表的操作 1 4 4表的修改字段的删除语法 删除电话字段 ALTERTABLE表名DROPCOLUMN列名 ALTERTABLEtbl studentinfoDROPCOLUMNstutel 1 4表的操作 1 4 4表的修改字段的修改语法 修改学生名的长度 ALTERTABLE表名MODIFY 列名属性 ALTERTABLEtbl studentinfoMODIFY stuBirthDayDatenotnull 1 5数据约束 数据的完整性就是对数据的准确性和一致性的一种保证 数据完整性 DataIntegrity 是指数据的精确 Accuracy 和可靠性 Reliability 1 5 1约束的概念及作用 约束被ORACLE用来对数据实施业务规则 保证数据的完整性一般数据库提供了5种完整性约束 非空约束 NOTNULL主键约束 Primarykey外键约束 Foreignkey唯一约束 Unique检查约束 Check 约束的创建 可以在创建一个新表时定义一个或多个约束也可以在创建表之后通过更改表来定义它们 CREATETABLE表名 列名数据类型NOTNULL 列名数据类型PRIMARYKEY 列名数据类型UNIQUE 列名数据类型 NOTNULL REFERENCES表名 列名 列名数据类型 NOTNULL CHECK 检查条件 创建一个新表时定义一个或多个约束 非空约束 在定义列时直接定义约束 主键约束 唯一约束 外键约束 检查约束 在创建表的时候用子句的方式创建约束 CREATETABLE表名 列名数据类型 CONSTRAINT约束名 PRIMARYKEY 列名 CONSTRAINT约束名 UNIQUE 列名 CONSTRAINT约束名 FOREIGNKEY 列名 REFERENCES表名 列名 CONSTRAINT约束名 CHECK 检查条件 ALTERTABLE表名MODIFY 列名NOTNULL ALTERTABLE表名ADDPRIMARYKEY 列名1 列名2 ALTERTABLE表名ADDUNIQUE 列名1 列名2 ALTERTABLE表名ADDFOREIGNKEY 列名 REFERENCES表名2 列名2 ALTERTABLE表名ADDCHECK 检查条件 在创建表之后通过更改表来定义 非空约束 主键约束 唯一约束 外键约束 检查约束 约束的删除 删除约束语法 约束定义与它们所应用的数据库相关联 并存储在数据库字典USER CONSTRAINTS DBA CONSTRAINTS中 ALTERTABLE表名DROPCONSTRAINT约束名 USER CONSTRAINT中的约束信息 数据库目录中的约束信息 1 5数据约束 1 5 3主键约束确定哪些列唯一的标识了各个记录 主键不能为Null 并且数据值必须唯一 注意 1 一个表只能有一个主键 但是一个主键可以包含多个列 1 在某些约束的创建过程中由于一个表只有一个此类约束 故约束名的设置可以省略 当约束名不写的时候 数据库系统会为这个约束创建一个自定义的约束名 CREATETABLETBL STUDENTINFO STUNOCHAR 5 PRIMARYKEY CREATETABLE表名 列名数据类型PRIMARYKEY 创建主键约束的语法一 例 学生信息表设置学生学号为主键 主键约束 CREATETABLE表名 列名数据类型 CONSTRAINT约束名PRIMARYKEY 列名 CREATETABLETBL STUDENTINFO STUNOCHAR 5 CONSTRAINTPK STUNOPRIMARYKEY STUNO 主键约束 创建主键约束的语法二 例 学生信息表设置学生学号为主键 ALTERTABLE表名ADDPRIMARYKEY 列名1 列名2 ALTERTABLETBL STUDENTINFOADDPRIMARYKEY STUNO 主键约束 创建主键约束的语法三 例 学生信息表设置学生学号为主键 1 5数据约束 1 5 4外键约束在一对多关系中 将约束添加到 多 表中 确保了如果将一个值输入一个指定的列 那么它必须已经存在域一表中 或者还没有添加这个记录 创建外键约束的语法 例 成绩表的学号可以设置外键 参照为学生表的学号 ALTERTABLEtbl scoreinfoADDFOREIGNKEY stuno REFERENCEStbl studentinfo stuno ALTERTABLE表名ADDFOREIGNKEY 列名 REFERENCES表名2 列名2 其他方法参加主键约束 1 5数据约束 1 5 5唯一约束确保存储在一个指定列中的所有数据值都是唯一的 UNIQUE与PRIMARYKEY的区别在于唯一约束可以为空 创建唯一约束的语法 例 学生信息表的学生姓名创建唯一 ALTERTABLE表名ADDUNIQUE 列名 ALTERTABLEtbl studentinfoADDUNIQUE stuname 其他方法参加主键约束 1 5数据约束 1 5 6检查约束确保在向表中添加数据值之前满足了一个指定的条件 创建检查约束的语法 例 学生成绩必须是大于等于0且小于等于150的数字 ALTERTABLE表名ADDCHECK 条件 ALTERTABLEtbl scoreinfoADDCHECK score 0ANDscore 150 其他方法参加主键约束 CREATETABLETBL STUDENTINFO STUNOCHAR 5 PRIMARYKEY STUNAMEVARCHAR2 20 NOTNULL STUBIRTHDATE STUSEXCHAR 1 STUADDRVARCHAR2 200 STUTELVARCHAR2 11 UNIQUE CREATETABLETBL SCOREINFO STUNOCHAR 5 REFERENCESTBL STUDENTINFO STUNO CLASSNOCHAR 3 NOTNULL SCORENUMBER 3 1 CHECK SCORE 0ANDSCORE 100 附 TBL STUDENTINFO TBL SCOREINFO 非空约束 CREATETABLETBL STUDENTINFO STUNOCHAR 5 NOTNULL STUNAMEVARCHAR2 20 STUBIRTHDATE STUSEXCHAR 1 STUADDRVARCHAR2 200 STUTELVARCHAR2 11 CONSTRAINTPK STUNOPRIMARYKEY STUNO CONSTRAINTQK STUTELUNIQUE STUTEL CREATETABLETBL SCOREINFO STUNOCHAR 5 CLASSNOCHAR 3 NOTNULL SCORENUMBER 3 1 CONSTRAINTFK STUNOFOREIGNKEY STUNO REFERENCESTBL STUDENTINFO STUNO CONSTRAINTCK SCORECHECK SCORE 0ANDSCORE 100 附 TBL STUDENTINFO TBL SCOREINFO CREATETABLETBL STUDENTINFO STUNOCHAR 5 STUNAMEVARCHAR2 20 STUBIRTHDATE STUSEXCHAR 1 STUADDRVARCHAR2 200 STUTELVARCHAR2 11 UPSTUNOCHAR 5 ALTERTABLETBL STUDENTINFOADDPRIMARYKEY STUNO CREATETABLETBL SCOREINFO STUNOCHAR 5 CLASSNOCHAR 3 SCORENUMBER 3 1 ALTERTABLETBL SCOREINFOADDPRIMARYKEY STUNO CLASSNO ALTERTABLETBL SCOREINFOADDFOREIGNKEY STUNO REFERENCESTBL STUDENTINFO STUNO ALTERTABLETBL SCOREINFOADDFOREIGNKEY CLASSNO REFERENCESTBL CLASSINFO CLASSNO

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论