您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > Oracle数据库基础
主要内容第第第第第第第第33333333章章章章章章章章数数据据库库基基础础返回总目录返回总目录返回总目录返回总目录↵基本概念↵关系数据库↵常见的数据库对象↵范式数据库技术产生于二十世纪六十年代末它作为数据管理最有效的手段在各行各业中得到越来越广泛的应用可以这样说任何一个行业的信息化现代化都离不开数据库本章将介绍数据库的一些基础知识33..11基本概念3.1.1数据Data所谓数据就是描述事物的符号在我们的日常生活中数据无所不在数字文字图表图象声音等都是数据人们通过数据来认识世界交流信息3.1.2数据库DB即Database数据库顾名思义就是数据存放的地方在计算机中数据库是数据和数据库对象的集合所谓数据库对象是指表Table视图View存储过程StoredProcedure触发器Trigger等这些数据库对象将在以后的章节中介绍3.1.3数据库管理系统DBMS数据库管理系统是用于管理数据的计算机软件数据库管理系统使用户能方便地定义和操纵数据维护数据的安全性和完整性以及进行多用户下的并发控制和恢复数据库3.1.4数据库系统DBS即DatabaseSystem数据库系统狭义地讲是由数据库数据库管理系统和用户构成广义地讲是由计算机硬件操作系统数据库管理系统以及在它支持下建立起来的数据库应用程序用户和维护人员组成的一个整体33..22关系数据库数据库这一概念提出后先后出现了几种数据模型其中基本的数据模型有三种层次模型系统网络模型系统和关系模型系统60年代末期提出的关系模型具有数据结构简单灵活易学易懂且具有雄厚的数学基础等特点从70年代开始流行发展到现在已成为数据库的标准目前广泛使用的数据库软件都是基于关系模型的关系数据库管理系统3.2.1关系模型RM即RelationalModel关系模型把世界看作是由实体Entity和联系Relationship构成的所谓实体就是指现实世界中具有区分与其它事物的特征或属性并与其它实体有联系的对象在关系模型中实体通常是以表的形式来表现的表的每一行描述实体的一个实例表的每一列描述实体的一个特征或属性所谓联系就是指实体之间的关系即实体之间的对应关系联系可以分为三种一对一的联系如一个人只有一种性别一个人性别为一对一的联系一对多的联系如相同性别的人有许多个性别人为一对多的联系多对一的联系如很多人有同一个性别人性别为多对一的联系通过联系就可以用一个实体的信息来查找另一个实体的信息关系模型把所有的数据都组织到表中表是由行和列组成的行表示数据的记录列表示记录中的域表反映了现实世界中的事实和值3.2.2关系数据库RDB即RelationalDatabase所谓关系数据库就是基于关系模型的数据库1关系数据库管理系统RDBMS关系数据库管理系统就是管理关系数据库的计算机软件2关键字Key关键字是关系模型中的一个重要概念它是逻辑结构不是数据库的物理部分侯选关键字CandidateKey如果一个属性集能惟一地标识表的一行而又不含多余的属性那么这个属性集称为侯选关键字主关键字PrimaryKey主关键字是被挑选出来作表的行的惟一标识的侯选关键字一个表只有一个主关键字主关键字又可以称为主键公共关键字CommonKey在关系数据库中关系之间的联系是通过相容或相同的属性或属性组来表示的如果两个关系中具有相容或相同的属性或属性组那么这个属性或属性组被称为这两个关系的公共关键字外关键字ForeignKey如果公共关键字在一个关系中是主关键字那么这个公共关键字被称为另一个关系的外关键字由此可见外关键字表示了两个关系之间的联系以另一个关系的外关键字作主关键字的表被称为主表具有此外关键字的表被称为主表的从表外关键字又称作外键33..33常见的数据库对象数据库对象是数据库的组成部分常见的有以下几种3.3.1表Table数据库中的表与我们日常生活中使用的表格类似它也是由行Row和列Column组成的图3-1中黑底白字的部分称为行图3-2中黑底白字的部分称为列列由同类的信息组成每列又称为一个字段每列的标题称为字段名行包括了若干列信息项一行数据称为一个或一条记录它表达有一定意义的信息组合一个数据库表由一条或多条记录组成没有记录的表称为空表每个表中通常都有一个主关键字用于惟一地确定一条记录如图3-1中的emp_id列图3-1中的第一条记录即第一行数据所表达的信息为编号为10010001的员工叫张三性别男出生于1968年2月14日工作级别为1工作部门编号为1001受雇日期是1996年8月2日月工资是8000元图3-1员工信息表的行图3-2表的列3.3.2索引Index索引是根据指定的数据库表列建立起来的顺序它提供了快速访问数据的途径并且可监督表的数据使其索引所指向的列中的数据不重复如图3-3所示字段列行图3-3管理索引3.3.3视图View视图看上去同表似乎一模一样具有一组命名的字段和数据项但它其实是一个虚拟的表在数据库中并不实际存在视图是由查询数据库表产生的它限制了用户能看到和修改的数据由此可见视图可以用来控制用户对数据的访问并能简化数据的显示即通过视图只显示那些需要的数据信息例如从图3-2中抽取字段员工编号emp_id员工姓名e_name员工部门编号dept_id员工工资e_wage组成一个员工工资信息表如图3-4所示图3-4员工工资信息视图从图3-2中抽取数据组成工作级别job_level为2的员工信息表如图3-5所示图3-5job_level为2的员工信息视图3.3.4图表Diagram在SQLServer中图表其实就是数据库表之间的关系示意图利用它可以编辑表与表之间的关系如图3-6所示图3-6图表dept_emp3.3.5缺省值Default缺省值是当在表中创建列或插入数据时对没有指定其具体值的列或列数据项赋予事先设定好的值如图3-7所示图3-7定义金额的缺省值3.3.6规则Rule规则是对数据库表中数据信息的限制它限定的是表的列如图3-8所示图3-8规则hire_date_rule3.3.7触发器Trigger触发器是一个用户定义的SQL事务命令的集合当对一个表进行插入更改删除时这组命令就会自动执行如图3-9所示图3-9触发器dept_delete3.3.8存储过程StoredProcedure存储过程是为完成特定的功能而汇集在一起的一组SQL程序语句经编译后存储在数据库中的SQL程序如图3-10所示图3-10存储过程test3.3.9用户User所谓用户就是有权限访问数据库的人数据库对象还有很多我们将在以后的章节中详细介绍33..44范式构造数据库必须遵循一定的规则在关系数据库中这种规则就是范式范式是符合某一种级别的关系模式的集合关系数据库中的关系必须满足一定的要求即满足不同的范式目前关系数据库有六种范式第一范式1NF第二范式2NF第三范式3NF第四范式4NF第五范式5NF和第六范式6NF满足最低要求的范式是第一范式1NF在第一范式的基础上进一步满足更多要求的称为第二范式2NF其余范式以次类推一般说来数据库只需满足第三范式3NF就行了下面我们举例介绍第一范式1NF第二范式2NF和第三范式3NF3.4.1第一范式1NF在任何一个关系数据库中第一范式1NF是对关系模式的基本要求不满足第一范式1NF的数据库就不是关系数据库所谓第一范式1NF是指数据库表的每一列都是不可分割的基本数据项同一列中不能有多个值即实体中的某个属性不能有多个值或者不能有重复的属性如果出现重复的属性就可能需要定义一个新的实体新的实体由重复的属性构成新实体与原实体之间为一对多关系在第一范式1NF中表的每一行只包含一个实例的信息例如对于图3-2中的员工信息表不能将员工信息都放在一列中显示也不能将其中的两列或多列在一列中显示员工信息表的每一行只表示一个员工的信息一个员工的信息在表中只出现一次简而言之第一范式就是无重复的列3.4.2第二范式2NF第二范式2NF是在第一范式1NF的基础上建立起来的即满足第二范式2NF必须先满足第一范式1NF第二范式2NF要求数据库表中的每个实例或行必须可以被惟一地区分为实现区分通常需要为表加上一个列以存储各个实例的惟一标识如图3-2员工信息表中加上了员工编号emp_id列因为每个员工的员工编号是惟一的因此每个员工可以被惟一区分这个惟一属性列被称为主关键字或主键主码第二范式2NF要求实体的属性完全依赖于主关键字所谓完全依赖是指不能存在仅依赖主关键字一部分的属性如果存在那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体新实体与原实体之间是一对多的关系为实现区分通常需要为表加上一个列以存储各个实例的惟一标识简而言之第二范式就是非主属性非部分依赖于主关键字3.4.3第三范式3NF满足第三范式3NF必须先满足第二范式2NF简而言之第三范式3NF要求一个数据库表中不包含已在其它表中已包含的非主关键字信息例如存在一个部门信息表其中每个部门有部门编号dept_id部门名称部门简介等信息那么在图3-2的员工信息表中列出部门编号后就不能再将部门名称部门简介等与部门有关的信息再加入员工信息表中如果不存在部门信息表则根据第三范式3NF也应该构建它否则就会有大量的数据冗余简而言之第三范式就是属性不依赖于其它非主属性33..55本章小结本章介绍了数据库的基本概念常见的数据库对象和构造数据库的规则它们有助于您理解以后章节中的内容
本文标题:Oracle数据库基础
链接地址:https://www.777doc.com/doc-12348 .html