oracle知识点整理

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

数据库的三层结构,(1)客户端:专门用于访问数据库的(2)数据库管理系统:用于接收用户发出的请求,然后从数据库实例中获取数据(3)数据库实例:数据库实例中装的是数据库对象(表,视图,序列,索引,同义词包,,函数,存储过程,触发器等)数据库的基本概念数据库:数据库指的是以一定方式储存在一起、能为多个用户共享、具有尽可能小的冗余度(多余重复的)、与应用程序彼此独立的数据集合。union表是一系列二维数组的集合,用来代表和储存数据对象之间的关系。在现实生活中,每个表其实就是一个实体(客观存在并可以相互区分的事物(例如:每一个学生、每一辆轿车))字段就是表的列名(一个字段就相当于一个属性,实体一般具有若干特征,称之为实体的属性。例如:学生具有学号、姓名等属性。)实体间联系方式有哪几种?(15)实体间联系情况比较复杂,但就其联系方式而言,可以分为三种:一对一联系(简记1:1),若两个不同型实体集中,一方的一个实体与另一方的一个实体相对应,比如生活中的夫妻关系就是一个老公和一个老婆;一对多联系(简记1:n),若两个不同型实体集中,一方一个实体对应另一方多个实体或另一方一个最多只与本方一个实体相对应,比如生活中的母子关系就是一个母亲可能会有多个孩子;多对多联系(简记m:n),若两个不同型实体集中,任何一方一个实体都与对方一个或多个实体相对应,比如师生关系就是一个老师要教很多班的学生,而一个班的学生也会有很多老师来教。什么叫E-R图?实体联系表示法简称E-R方法(Entity-RelationshipApproach)。此法通过E-R图表示实体间及其联系,是P.P.Chen1976年提出的,现已广泛用于数据库中。设计数据库时,人们往往把E-R图作为一个中间步骤,先用E-R图准确地反映信息,再从E-R图出发构造数据模型,会使问题变得简单,容易被用户所理解,可不犯或少犯错误。如何画E-R图?(16)E-R图中包括实体、属性和联系三种基本图素。习惯上实体用方框表示,实体的属性用椭圆框表示,联系用菱形框表示。由于实体集中的个体成千上万,我们不可能也没有必要一一指出个体间的对应关系,只需指出实体型间的联系,注明联系方式,这样既简单又能表达清楚概念。具体画法是:把有联系的实体(方框)通过联系(菱形框)连接起来,注明联系方式,再把实体的属性(椭圆框)连到相应实体上。怎样设计E-R图?(17)怎样用E-R图准确反映信息模型,设计方法虽无规定,但大体应遵守以下两条原则:1、针对每一个用户作出该用户信息的局部E-R图,确定该用户视图的实体、属性和联系。注意,能作为属性的就不要作为实体,这有利于E-R图的简化。2、综合局部E-R图,产生出总体E-R图。在综合过程中,同名实体只能出现一次,还要去掉不必要的联系,以便消除冗余。一般来说,从总体E-R图必须能导出原来所有局部视图,包括实体和属性以及联系。最后我们要指出,一个系统的E-R图不是唯一的,强调不同的侧面作出的E-R图可能有很大不同。总体E-R图所表示实体联系模型,只能说明实体间的联系关系,还需要把它转换成数据模型才能被实际的DBMS所接受。数据库的比较:1.sqlserver它是微软开发的数据库,专门处理windows平台下的数据2.mysql,它是由瑞典的AB公司开发的一种免费的,开源的数据库,后来被oracle公司收购了3.db2,它是由IBM公司开发的,主要是用来处理海量数据库的,数据量越大,它的效果越好,主要用在电信行业4.SYSBASE,它是美国SYSBASE公司开发的,最开始,它和SQLSERVER是一家的,后来在1984年分开的,SQLSERVER主要致力于在windows平台下数据,而windows平台下主要致力于unilx平台的开发,主要用在金融业5.oracle,它是由甲骨文公司开发的,它主要的优点就是可用性强,数据特别安全,稳定性强javasunoraclemysqloracle兼容性特别好公司及创始人甲骨文公司,全称甲骨文股份有限公司是全球最大的企业软件公司,总部位于美国加利福尼亚州的红木滩。甲骨文是继Microsoft及IBM后,全球收入第三多的软件公司。拉里·埃里森(LarryEllision)是世界上最大数据库软件公司甲骨文的老板,他的产品遍布全世界。他是陌生的人,但谁都似乎无法离开他。埃里森在32岁以前还一事无成。读了三个大学,没得到一个学位文凭,换了十几家公司,老婆也离他而去。开始创业时只有1200美元,却使得Oracle公司连续12年销售额每年翻一番,成为世界上第二大软件公司,他自己也成为硅谷首富Oracle的登录方式1.在运行中输入sqlplus2.在运行中输入sqlplusw3.计算机名:5560/isqlplus创建表createtable表名(字段名1字段类型1,字段2字段类型2,字段n字段类型n);查看已创建的表selecttable_namefromuser_tables;表的数据类型char定长显示宽度小慢varchar2(10)不变长显示宽度大快number(3,2)一共有3位有效数字2位小数number(2)表示一个两位整数number范围10的-38次方到10的38次方date时间类型年月日timestamp较为精确的时间年月日小时,分钟秒星期在oracle用单引号表示字符插入时间时,必须将时间格式修改修改表结构添加一个字段altertable表名add(字段名字段类型)修改字段长度(如果是字符型,修改之后的显示宽度,要大于或等于修改之前的)altertable表名modify(字段名字段类型)修改字段类型(如果数据库中存在数据值时,尽量不要修改数据类型)altertable表名modify(字段名字段类型)修改字段名altertable表名renamecolumn字段名to新字段名删除一个字段altertable表名dropcolumn字段名修改表的名字rename表名to新表名删除表droptable表名查看已创建的表selecttable_namefromuser_tables;查看表结构desc表名;数据完整性约束表的数据有一定的取值范围和联系,多表之间的数据有时也有一定的参照关系。在创建表和修改表时,可通过定义约束条件来保证数据的完整性和一致性。约束条件是一些规则,在对数据进行插入、删除和修改时要对这些规则进行验证,从而起到约束作用。完整性包括数据完整性和参照完整性,数据完整性定义表数据的约束条件,参照完整性定义数据之间的约束条件。数据完整性由主键(PRIMARYKEY)、非空(NOTNULL)、惟一(UNIQUE)和检查(CHECK)约束条件定义,参照完整性由外键(FOREIGNKEY)约束条件定义。约束分为两级,一个约束条件根据具体情况,可以在列级或表级定义。列级约束:约束表的某一列,出现在表的某列定义之后,约束条件只对该列起作用。表级约束:约束表的一列或多列,如果涉及到多列,则必须在表级定义。表级约束出现在所有列定义之后。表的五种约束表共有五种约束,它们是、非空、惟一、主键、外键和检查。1.非空(NOTNULL)非空约束指定某列不能为空,它只能在列级定义。在默认情况下,Oracle允许列的内容为空值。比如“图书名称”列要求必须填写,可以为该列设置非空约束条件。非空约束语法如下:[CONSTRANT约束名]NOTNULL--列级z字段名notnull2.惟一(UNIQUE)惟一约束条件要求表的一列或多列的组合内容必须惟一,即不相重,可以在列级或表级定义。但如果惟一约束包含表的多列,则必须在表级定义。比如出版社表的“联系电话”不应该重复,可以为其定义惟一约束。惟一约束的语法如下:[CONSTRANT约束名]UNIQUE--列级[CONSTRANT约束名]UNIQUE(列名1,列名2,...)--表级3.主键(PRIMARYKEY)主键是表的主要完整性约束条件,主键惟一地标识表的每一行。一般情况下表都要定义主键,而且一个表只能定义一个主键。主键可以包含表的一列或多列,如果包含表的多列,则需要在表级定义。主键包含了主键每一列的非空约束和主键所有列的惟一约束。主键约束的语法如下:[CONSTRANT约束名]PRIMARYKEY--列级[CONSTRANT约束名]PRIMARYKEY(列名1,列名2,...)--表级4.外键(FOREIGNKEY)指定表的一列或多列的组合作为外键,外键参照指定的主键或惟一键。外键的值可以为NULL,如果不为NULL,就必须是指定主键或惟一键的值之一。外键通常用来约束两个表之间的数据关系,这两个表含有主键或惟一键的称为主表,定义外键的那张表称为子表。如果外键只包含一列,则可以在列级定义;如果包含多列,则必须在表级定义。外键的列的个数、列的数据类型和长度,应该和参照的主键或惟一键一致。比如图书表的“出版社编号”列,可以定义成外键,参照出版社表的“编号”列,但“编号”列必须先定义成为主键或惟一键。如果外键定义成功,则出版社表称为主表,图书表称为子表。在表的创建过程中,应该先创建主表,后创建子表。数据完整性和约束条件当表加上外键之后,那么这个表,与外键依靠的表,就具有父子关系,如果两个表具有父子关系,那么当做插入操作时,先给父表插入数据,再给子表插入数据如果两个表具有父子关系,那么当做删除操作时,先给子表中数据删除,再给父表中数据删除外键约束的语法如下:第一种语法,如果子记录存在,则不允许删除主记录:[CONSTRANT约束名]FOREIGNKEY(列名1,列名2,...)REFERENCES表名(列名1,列名2,...)第二种语法,如果子记录存在,则删除主记录时,级联删除子记录:[CONSTRANT约束名]FOREIGNKEY(列名1,列名2,...)REFERENCES表名(列名1,列名2,...)ondeletecascade第三种语法,如果子记录存在,则删除主记录时,将子记录置成空:[CONSTRANT约束名]FOREIGNKEY(列名1,列名2,...)REFERENCES表名(列名1,列名2,...)ondeletesetnull其中的表名为要参照的表名。数据完整性和约束条件5.检查(CHECK)检查约束条件是用来定义表的一列或多列的一个约束条件,使表的每一列的内容必须满足该条件(列的内容为空除外),一个CHECK约束可以包含一列或多列。检查约束的语法如下:[CONSTRANT约束名]CHECK(约束条件)--列级,约束条件中只包含本列在以上5种约束的语法中,CONSTRANT关键字用来定义约束名,如果省略,则系统自动生成以SYS_开头的惟一约束名。约束名的作用是当发生违反约束条件的操作时,系统会显示违反的约束条件名称,这样用户就可以了解到发生错误的原因。函数1||连接符selectename||'的工资'||salfromemp;数值函数1round四舍五入selectround(12.35),round(123.45,-1),round(125.45,-2),round(123.45,1)fromdual;2trunc截取数值selecttrunc(12.35),trunc(123.45,-1),trunc(185.45,-2),trunc(123.45,1)fromdual;3mod取模selectmod(12,10),mod(12,2)fromdual;4ceil不小于该数值的最小整数selectceil(12.34)fromdual;5floor不大于该数值的最大整数selectfloor(12.34)fromdual;6..dbms_random.value随机函数selectdbms_random.valuefromdual;随机获取0到1之间的数selectdbms_random.value(数值1,数值2)fromdual;随机获取数值1到数值2之间的数7Abs绝对值函数selectabs(-1),abs(3),abs(-78)fr

1 / 33
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功