Structure of the Relational database
The relational model is the basis for any relational database management system (RDBMS).A relational model has three core components: a collection of objects or relations, operators that act on the objects or relations, and data integrity methods. In other words, it has a place to store the data, a way to create and retrieve the data, and a way to make sure that the data is logically consistent.
A relational database uses relations, or two-dimensional tables, to store the information needed to support a business. Let#39;s go over the basic components of a traditional relational database system and look at how a relational database is designed. Once you have a solid understanding of what rows, columns, tables, and relationships are, you#39;ll be well on your way to leveraging the power of a relational database.
Tables, Row, and Columns
A table in a relational database, alternatively known as a relation, is a two-dimensional structure used to hold related information. A database consists of one or more related tables.
A row in a table is a collection or instance of one thing, such as one employee or one line item on an invoice. A column contains all the information of a single type, and the piece of data at the intersection of a row and a column, a field, is the smallest piece of information that can be retrieved with the database#39;s query language. For example, a table with information about employees might have a column called LAST_NAME that contains all of the employees#39; last names. Data is retrieved from a table by filtering on both the row and the column.
Primary Keys, Datatypes, and Foreign Keys
The examples throughout this article will focus on the hypothetical work of Scott Smith, database developer and entrepreneur. He just started a new widget company and wants to implement a few of the basic business functions using the relational database to manage his Human Resources (HR) department.
Relation: A two-dimensional structure used to hold related information, also known as a table.
Row:A group of one or more data elements in a database table that describes a person, place, or thing.
Column:The component of a database table that contains all of the data of the same name and type across all rows.
You#39;ll learn about database design in the following sections, but let#39;s assume for the moment that the majority of the database design is completed and some tables need to be implemented. Scott creates the EMP table to hold the basic employee information, and it looks something like this:
Notice that some fields in the Commission (COMM) and Manager (MGR) columns do not contain a value; they are blank. A relational database can enforce the rule that fields in a column may or may not be empty. In this case, it makes sense for an employee who is not in the Sales department to have a blank Commission field. It also makes sense for the president of the company to have a blank Manager field, since that employee doesn#39;t report to anyone.
Field:The smallest piece of information that can be retrieved by the database query language. A field is found at the intersection of a row and a column in a database table.
On the other hand, none of the fields in the Employee Number (EMPNO) column are blank. The company always wants to assign an employee number to an employee, and that number must be different for each employee. One of the features of a relational database is that it can ensure that a value is entered into this column and that it is unique. The EMPNO column, in this case, is the primary key of the table.
Primary Key:A column (or columns) in a table that makes the row in the table distinguishable from every other row in the same table.
Notice the different datatypes that are stored in the EMP table: numeric values, character or alphabetic values, and date values.
As you might suspect, the DEPTNO column contains the department number for the employee. But how do you know what department name is associated with what number? Scott created the DEPT table to hold the descriptions for the department codes in the EMP table.
The DEPTNO column in the EMP table contains the same values as the DEPTNO column in the DEPT table. In this case, the DEPTNO column in the EMP table is considered a foreign key to the same column in the DEPT table.
A foreign key enforces the concept of referential integrity in a relational database. The concept of referential integrity not only prevents an invalid department number from being inserted into the EMP table, but it also prevents a row in the DEPT table from being deleted if there are employees still assigned to that department.
Foreign Key:A column (or columns) in a table that draws its values from a primary or unique key column in another table. A foreign key assists in ensuring the data integrity of a table. Referential IntegrityA method employed by a relational database system that enforces one-to-many relationships between tables.
Data Modeling
Before Scott created the actual tables in the database, he went through a design process known as data modeling. In this process, the developer conceptualizes and documents all the tables for the database. One of the common methods for modeling a database is called ERA, which stands for entities, relationships, and attributes. The database designer uses an application that can maintain entities, their attributes, and their relationships. In general, an entity corresponds to a table in the database, and the attributes of the entity correspond to columns of the table.
Data Modeling:A process of defining the entities, attributes, and relationships between the entities in preparation for creating the physical database.
The data-modeling process involves defining the entities, defining the relat
全文共32551字,剩余内容已隐藏,支付完成后下载完整资料
关系数据库的结构
关系模型是任何关系数据库管理系统(RDBMS)的基础。一个关系模型有三个重要组成部分:对象或关系的集合,作用于对象或关系上的操作,以及数据完整性规则。换句话说,关系数据库有一个存储数据的地方,一种创建和检索数据的方法,以及一种确保数据的逻辑一致性的方法。
一个关系数据库使用关系或二维表来存储支持某个事物所需的信息。让我们了解一下一个传统的关系数据库系统的基本组件并学习关系数据库的设计。一旦你对于行、列、表和关联是什么有了深刻理解,你就能够充分发挥关系数据库的强大功能。
表,行和列
在关系数据库中,一个表是一个用于保存相关信息的二维结构。一个数据库由一个或者多个相关联的表组成。
表中的一行是一种事物的集合或实例,比如一个员工或发票上的一项。表中的一列包含了一类信息;而且行列相交点上的数据、字段,就是能够用数据库查询语言检索到的最小片信息。举个例子来说,一个员工信息表可能有一列,其列名为“LAST_NAME”,列中就包含所有员工的名字。数据是通过对行、列进行过滤而从表中检索出来的。
主码、数据类型和外码
本篇文章均以假设的斯科特·史密斯的工厂为例,他是数据库的建立者和企业的主办人。他刚开办了一个饰品公司并目想要使用关系数据库的几项基本功能来管理人力资源部门。
关系:用来保存相关信息的一个二维结构,也就是表。
行:在一个数据库表中的一组单数据或多数据元素,用于描述一个人、地方或事物。
列:列是数据库表的组件,它包含所有行中同名和同类型的所有数据。
你会在下面章节学到如何设计数据库,现在让我们假设数据库大部分己经设计完成并且有一些表需要被执行。斯科特创建了EMP表来保存基本的员工信息,就像这样:
你可能注意到佣金列和管理人列中有一些单元格中没有值;它们是空值。一个关系数据库能够规定列中的一个单元格是否为空。如此,可以明确那些非销售部的员工佣金单元为空。同样也明确了公司董事长的管理人单元为空,因为这个员工不需要向任何人汇报工作。
单元格:是数据库查询语言所能够检索到的最小片信息。一个单元格就是一个数据库表的行和列交叉形成的。
另一方面,没有哪个员工的员工编号单元格为空。公司总是希望为每个员工分配一个员工号,并目这个号码必须是每个员工都不同的。关系数据库的一个特性能够确定某列的键入值必须为独一无二的。如此,EMPNO列便是这个表的主码。
主码:主码即是表中的一列(或多列),使每一行能够区别于同表中的其他行。
留意一下EMP表中存储的不同数据类型:数值型,字符型或字母型,以及日期型。
你可能会猜测,部门成员列保存的是员工所在部门的编号。但是你如何知道哪个部门名称对应哪个部门编号呢?斯科特建立了DEPT表来具体描述EMP表中提到的部门编号的情况。
EMP表中的部门编号列同DEPT表中的部门编号列有着相同的值。既然如此,EMP表中的部门编号列便被看作是与DEPT表中相同列对应的外码。
外码加强了关系数据库中参照完整性的概念。参照完整性的概念不只可以阻止无效的部门编号被插入EMP表中,而且在某部门仍有员工的情况下,可以防止DEPT表中该部门的信息被删除。
外码:表中的一列(或多列),它的值来自于其他表的主码列或单值列。一个外码有助于确定表中数据的完整性。
参照完整性:是关系数据库用来加强表间一对多关联的一种方式。
数据建模
在斯科特于数据库中创建真实表之前,他要经过一个称作数据建模的过程。在这个过程中,数据库创建者定义和填写数据库中所有表。有一种为数据库建模的方式叫作ERA,它可以表示出实体、实体间的关联和实体的属性。数据库设计者使用一个能够支持实体、实体属性和实体间关联的应用程序。通常,一个实体对应数据库中的一个表,而实体的属性对应于表中的列。
数据建模:一个定义实体、实体属性和实体间关联的过程,从而为建立物理数据库做准备。
数据建模过程包括定义实体、定义实体间关联以及定义每个实体的属性的过程。一旦一个周期完成,就需要不断重复直到设计者抓住了重点,足以开始建立数据库。让我们进一步了解为数据库建模过程的步骤。
定义实体
首先,设计者确定数据库应用程序范围内的所有实体。实体是人、地方或事物,它们对于整个团体是重要的且需要被记录在数据库中。实体将被巧妙的转化为数据表。比如,在第一版斯科特饰品公司数据库中,他定义了四个实体:员工、部门、工资水平和奖金。它们将称为EMP(员工)表,DEPT(部门)表,SALGRADE(工资水平)表和BONUS(奖金)表。
定义实体间的关联
一旦定义了实体,设计者就能够继续定义每个实体间是如何关联的。通常,设计者通常将每个实体同其他实体配对,并目考虑:“两者之间是否存在关联呢?”实体间的某些关联是明显的,某些不是。
在饰品公司数据库中,员工实体和部门实体间极可能存在关联,而依据事物间的关系原则,部门实体跟工资水平实体间似乎就没有关联了。如果事物间的关系原则是用来约束某个部门的工资水平的,就可能需要一个新的实体来说明工资水平和部门之间的关联。这个实体被称作关系表或交表,其中包含工资水平和部门之间的有效联合。
关系表:是一个数据库表,其中保存着另外两个表的行(记录)间的有效结合,并且通常强调了事物间的关系原则。关联表处理的是一个多对多关联。
通常,关系数据库间有二种关联方式:
·一对多关联:最常见的关联是一对多关联。意思是对于每个给出的现有实体(即父实体)都有一个或多个现有的另一个实体(即子实体)与之相关联。举个例子来说,在饰品公司数据库中,部门实体是一个父实体,而每个部门中,都有一个或多个员工属于该部门。这样,部门实体和员工实体间的关联就是一对多关联。
·一对一关联:在一个一对一关联中,表中的一行只关联另一个表中的一行甚至0行。这种关联类型通常用于子类型数据中。例如,一个员工表可能保存了所有员工的信息,而全职表、兼职表和承包人表则分别保存全职员工、兼职员工和承包人的信息。这些实体被认为是员工表的子表,并目同员工表维持一对一关联。这种关系不像一对多关联那么常见,因为如果一个实体与另一个实体总有对应行,在大多数情况下,两个实体中的属性只在一个实体内出现就可以了。
·多对多关联:在多对多关联中,表的一行可能对应另一个表的许多行,反之亦然。通常,当这些关联在数据库中被执行时,往往再定义第三个实体用来保存前两个实体间的所有关联。例如,在一个学籍注册数据库中,学生表与班级表之间有一个多对多关联——一个学生可能听一门或多门课程,并目一个班级也可能有一个或多个学生。而学生_班级关系表中就包含了学生和班级之间的关系,以表明哪个学生在哪个班。
指定实体属性
一旦设计者定义了实体间关联,下一步就是去指定每个实体的属性。这是实现列的使用,如右图所示由工资水平实体所建立的工资水平表。
重复步骤:我们仍然在原地
在定义了实体、关联以及属性之后,设计者往往要多重复几次数据建模过程。当我们在回顾关联时,就会发现需要建立新的实体。比如,当讨论饰品库存表和与它相关的客户订单时,就会发现需要制定一个送货约束表。
一旦设计过程完成,下面将要建立实际的数据库表。逻辑数据库的设计过程不会牵涉实际执行中的问题。然而,一旦设计进入到实际的运作,数据库管理员就会很快让设计者从理想回到现实中来。结果,设计就可能需要再次构想以求得理想的数据库存运行与预算和进度之间的平衡。
数据库管理
数据库(有时拼成Database)也称为电子数据库,是指由计算机特别组织的用下快速查找和检索的任意的数据或信息集合。数据库与其它数据处理操作协同工作,其结构要有助于数据的存储、检索、修改和删除。数据库可存储在磁盘或磁带、光盘或某些辅助存储设备上。
一个数据库由一个文件或文件集合组成。这些文件中的信息可分解成一个个记录,每个记录有一个或多个域。域是数据库存储的基本单位,每个域一般含有由数据库描述的属于实体的一个方面或一个特性的信息。用户使用键盘和各种排序命令,能够快速查找、重排、分组并在查找的许多记录中选择相应的域,建立特定集上的报表。
数据库记录和文件的组织必须确保能对信息进行检索。早期的系统是顺序组织的(如:字母顺序、数字顺序或时间顺序);直接访问存储设备的研制成功使得通过索引随机访问数据成为可能。用户检索数据库信息的主要方法是query(查询)。通常情况下,用户提供一个字符串,计算机在数据库中寻找相应的字符序列,并且给出字符串在何处出现。比如,用户必须能在任意给定时间快速处理内部数据。而且,大型企业和其它组织倾向于建立许多独立的文件,其中包含相互关联的甚至重叠的数据,这些数据、处理活动经常需要和其它文件的数据相连。为满足这些要求,开发各种不同类型的数据库管理系统,如:非结构化的数据库、层次型数据库、网络型数据库、关系型数据库、面向对象型数据库。
在非结构化的数据库中,按照实体的一个简单列表组织记录;很多个人计算机的简易数据库是非结构的。层次型数据库按树型组织记录,每一层的记录分解成更小的属性集。层次型数据库在不同层的记录集之间提供一个单一链接。与此不同,网络型数据库在不同记录集之间提供多个链接,这是通过设置指向其它记录集的链或指针来实现的。网络型数据库的速度及多样性使其在企业中得到广泛应用。当文件或记录间的关系不能用链表达时,使用关系型数据库。一个表或一个“关系”,就是一个简单的非结构列表。多个关系可通过数学关系提供所需信息。面向对象的数据库存储并处理更复杂的称为对象的数据结构,可组织成有层次的类,其中的每个类可以继承层次链中更高一级类的特性,这种数据库结构最灵活,最具适应性。
很多数据库包含自然语言文本信息,可由个人在家中使用。小型及稍大的数据库在商业领域中占有越来越重要的地位。典型的商业应用包括航班预订、产品管理、医院的医疗记录以及保险公司的合法记录。最大型的数据库通常用于政府部门、企业、大专院校等。这些数据库存有诸如摘要、报表、成文的法规、通讯录、报纸、杂志、百科全书、各式目录等资料。索引数据库包含参考书目或用于找到相关书籍、期刊及其它参考文献的索引。目前有上万种可公开访问的数据库,内容包罗万象,从法律、医学、工程到新闻、时事、游戏、分类广告、指南等。科学家、医生、律师、财经分析师、股票经纪人等专家和各类研究者越来越多地依赖这些数据库从大量的信息中做快速的查找访问。
1. 数据库管理系统的组织技术
顺序的、直接的以及其他的文件处理方式常用于单个文件中数据的组织和构造,而DBMS可综合几个文件的数据项以回答用户对信息的查询,即DBMS能够将几个大文件夹中逻辑相关的数据组织并连接在一起。
逻辑结构。确定这些逻辑关系是数据管理者的任务,由数据定义语言完成。DBMS在存储、访问和检索操作过程中可选用以下逻辑构造技术:
链表结构。在该逻辑方式中,记录通过指针链接在一起。指针是记录中的一个数据项,它指出另一个逻辑相关的记录的存储位置,例如,顾客主文件中的记录将包含每个顾客的姓名和地址,而且该文件中的每个记录都由一个账号标识。在记账期间,顾客可在不同时间购买许多东西。公司保存一个发票文件以反映这下地交易,这种情况下可使用链表结构,以显示给定时间内未支付的发票。顾客文件中的每个记录都包含这样一个字段,该字段指向发票文件中该顾客的第一个发票的记录位置,该发票记录又依次与该顾客的下一个发票记录相连,此链接的最后一个发票记录由一个作为指针的特殊字符标识。
层次(树型)结构。该逻辑方式中,数据单元的多级结构类似一棵“倒立”的树,该树的树根在顶部,而树枝向下延伸。在层次(树型)结构中存在主-从关系,惟一的根数据下是从属的元或节点,而每个元或树枝都只有一个所有者,这样,一个customer(顾客)拥有一个invoice(发票),而invoice(发票)又有从属项。在树型结构中,树枝不能相连。
网状结构。网状结构不像树型结构那样不允许树枝相连,它允许节点间多个方向连接,这样,每个节点都可能有几个所有者,中央电视台它又可能拥有任意多个其他数据单元。数据管理软件允许从文件的任一记录开始提取该结构中的所需信息。
关系型结构。关系型结构由许多表格组成,数据则以“关系”的形式存储在这些表中。例如,可建立一些关系表,将大学课程同任课教师及上课地点连接起来。为了找到英语课的上课地点和教师名,首先查询课程/教师关系表得到名字(为“Fitt”),再查询课程/地点关系表得到地点(“Main 142”),当然,也可能有其他关系。这是一个相当新颖的数据库组织技术,将来有望得到广泛应用。
物理结构。人们总是为了各自的目的,按逻辑方式设想或组织数据。因此,在一个具体应用中,记录R1和R2是逻辑相连且顺序处理的,但是,在计算机系统中,这些在一个应用中逻辑相邻的记录,物理位置完全可能不在一起。记录在介质和硬件中的物理结构不仅取决于所采用的I/O设备、存储设备及输入输出和存取技术,而且还取决于用户定义的R1和R2中数据的逻辑关系。例如,R1和R2可能是持有信用卡的顾客记录,而顾客要求每两周将货物运送到同一个城市的同一个街区,而从运输部门的管理者看,R1和R2是按地理位置组织的运输记录的顺序项,但是在A/R应用中,可找到R1长表示的顾客,并且可根据其完全不同的账号处理他们的账目。简言之,在许多计算机化的信息记录中,存储记录的物理位置用户是看不见的。
2. Oracle的数据库管理功能
Oracle 包括许多使数据库易于管理的功能,分三部分讨论:Oracle 企业管理器、附加包、备份和恢复。<!--
全文共9048字,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[12544],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。