ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它。
概念结构设计
概念结构设计是在需求分析的基础上形成数据库的概念模型,这是语义层的描述,与具体的DBMS无关。通常可以使用E-R图来表示概念模型。
在概念结构设计中,主要会用到以下几种方法。
Oracle结构设计详解
自底向上:先定义每个局部应用的概念结构,然后按一定的规则把它们集成起来,从而得到全局概念模型。
自顶向下:先定义全局的概念结构框架,然后再逐步细化。
由里向外:先定义最重要的核心结构,然后再逐步向外扩展。
混合策略:将自顶向下和自底向上方法结合起来,先用自顶向下方法设计一个概念结构框架,然后以此为框架再根据自底向上策略设计局部概念结构,最后把它们集成起来。
采用E-R图进行数据库概念结构设计可分以下3步:
1)设计局部E-R模型,确定各个局部E-R模型的范围、定义实体、关系以及它们的属性。
2)集成局部E-R图,形成全局E-R模型。在此过程中,需要消除各个局部E-R中的属性冲突、命名冲突、结构冲突等问题。
3)对全局E-R模型做进一步的优化,其原则是实体个数尽可能少、实体所包含的属性尽可能少、实体间关系无冗余。可以把具有相同主码的实体进行合并,将具有1对1关系的两个实体合并成一个实体,消除冗余属性和冗余联系。
逻辑结构设计
逻辑结构设计的任务就是将概念结构设计阶段产生的E-R图转换为具体的数据库管理系统所支持的数据模型。对于关系数据库而言,逻辑结构设计就是将E-R图转换成关系模式,并对关系模式进行优化。
1.将E-R图转换成关系模式
将E-R图转换为关系模式的基本原则为:
一个实体转换为一个二维表。实体的名字作为表的名字,实体的属性作为表的属性,实体的主码作为表的主码。
一对一联系可以转换为一个独立的表,也可以与任意一端的实体所对应的表合并。如果单独作为一张表,则关系的名称作为表的名称,与关系相关联的两个实体的主码及联系本身的属性都作为这张表的属性,任选一个与之相关联的实体的主码作为主码。如果与实体所对应的表合并,则需要在该表中添加另一张表的主码和联系本身的属性作为该表的属性。
一对多联系可以转换为一个单独的表,也可以合并到多端实体所对应的表中。如果单独作为一张表,则关系的名称作为表的名称,与关系相关联的两个实体的主码及关系本身的属性都作为这张表的属性,多端实体的主码作为主码。如果与多端实体所对应的表合并,则需要在该表中添加一端所对应表的主码和关系本身的属性作为该表的属性。
多对多联系必须转换为一张表,关系的名称作为表的名称,相关联的两个实体的主码及联系本身的属性都作为该表的属性,两个实体的主码联合起来作为该表的主码。
三个或三个以上实体间的多元关系可以转换为一张表,各个实体的主码及关系本身的属性作为该表的属性,各个实体的主码联合起来作为该表的主码。
2.关系模式优化
数据库逻辑结构设计的结果并不是唯一的。为了进一步提高数据库应用系统的性能,通常以规范化理论为指导,适当地修改、调整数据模型的结构,即关系模式优化。
关系模式优化的步骤如下:
1)确定数据依赖。分析出每个关系模式的各属性之间的依赖关系及不同关系模式各属性之间的数据依赖关系。
2)对各个关系模式之间的数据依赖进行极小化处理,消除冗余的关系。
3)按照数据依赖的理论对关系模式逐一进行分析,考察是否存在部分函数依赖、传递函数依赖、多值依赖等,确定各关系模式分别属于第几范式。根据应用需求,分析模式是否合适,是否需要进行合并或分解。
物理结构设计
物理结构设计的目的是利用已经确定的逻辑结构的结果及DBMS提供的方法、技术,以适当的存储结构、存取路径、合理的存储位置及存储分配,设计出一个高效的、可实现的数据库结构。
数据库的物理结构设计通常分为以下两个方面。
确定数据库的物理结构,在关系数据库中主要指确定存储结构和存取方法。确定数据库存储结构时要综合考虑存取时间、存储空间利用率和维护代价3方面的因素。常用的存储方式有顺序存储、散列存储和聚簇存储。为了提高数据的存取效率,应该建立合适的索引。
对物理结构进行评价,评价的重点是时间和空间效率。评价物理数据库的方法完全依赖于所选用的DBMS,主要从定量估算各种方案的存储空间、存取时间和维护代价入手,对估算结果进行权衡、比较,选择出一个较优的、合理的物理结构。
关于数据库的物理结构设计,需要明确一点,即使不进行物理结构设计,数据库系统照样能够正常运行,物理结构设计主要是为了进一步提高数据的存取效率。如果项目的规模不大,数据量不多,那么可以不进行物理结构设计。
原文件下载网址http://www.xiazai.com/article31537
分享到:
相关推荐
Oracle数据库的逻辑结构设计得非常精细且层次分明,这对于数据库的管理与维护至关重要。本文将从数据库、表空间、数据段、区(Extent)、块(Block)等多个层面深入解析Oracle数据库的逻辑结构。 #### 一、表空间...
Oracle PL/SQL编程详解 PL/SQL,全称Procedure Language & Structured Query Language,是Oracle数据库专有的一个高级数据库程序设计语言,它扩展了SQL语言的功能,提供了过程化编程的能力,使得开发者能够在数据库...
### ORACLE PL/SQL编程详解知识点汇总 #### 一、引言 - **PL/SQL的概念**:PL/SQL(Procedure Language for Structured Query Language)是Oracle专有的过程化SQL扩展语言,它允许用户在Oracle数据库环境中编写...
### Oracle Data Guard详解 Oracle Data Guard是Oracle数据库系统中一种重要的高可用性和容灾解决方案,其设计目的是为了提高系统的可用性、性能,并实现自动化故障切换。通过Data Guard,用户可以在主数据库之外...
### ORACLE-TNS协议分析详解 #### 一、TNS介绍 TNS(Transparent Network Substrate)协议是Oracle数据库系统中用于实现客户端与服务端之间通信的重要协议之一。该协议支持多种传输方式,包括TCP/IP协议、SSL加密...
【Oracle 体系结构详解】 Oracle数据库的体系结构是其高效管理和优化数据操作的关键。这个复杂的架构设计主要目的是为了有效地管理数据库系统中的稀缺资源,特别是内存,以提高性能并确保数据的完整性和可用性。 1...
### Oracle实战详解 #### Oracle数据库系统概述 Oracle数据库系统是由美国Oracle公司提供的,以其核心的分布式数据库技术闻名,是市场上非常流行的客户/服务器(CLIENT/SERVER)架构或B/S架构的数据库之一。Oracle...
Oracle OCCI,全称为Oracle Call Interface for C++,是Oracle公司提供的一种C++接口,用于与Oracle数据库进行交互。OCCI使得开发人员能够利用C++的强大功能和面向对象特性来编写高效、健壮的数据库应用。在Oracle...
总的来说,Oracle索引详解及SQL优化是一个深度广度兼具的主题,需要结合实际数据库结构和业务需求,灵活应用各种索引类型和优化策略,以实现数据库性能的最大化。通过深入学习和实践,你可以更好地驾驭Oracle数据库...
### Oracle内存架构详解 #### 一、Oracle内存架构概述 Oracle数据库的性能很大程度上依赖于其内存配置。本文档深入探讨Oracle内存架构的核心组件及其如何影响数据库的整体性能。Oracle实例由一系列内存结构(如SGA...
Oracle Dual表详解 在Oracle数据库中,`DUAL`是一个特殊的表,主要用于测试和获取系统信息,如当前日期和时间。它由Oracle系统拥有的`SYS`模式下的一个表,同时通过`PUBLIC SYNONYM`为所有数据库用户提供了公共访问...
Oracle数据库系统为了支持网络环境下的数据访问,设计了一套复杂的网络通信机制。本文档将重点介绍Oracle的基本网络结构,包括必要的配置文件及其功能,帮助解决常见的连接问题,比如无法通过TNS或数据库登录的情况...
### Oracle Dual 表详解 #### 一、Oracle Dual 表简介 在Oracle数据库中,`DUAL`表是一个特殊的表,通常用于查询那些不需要从实际数据表中获取的信息,例如系统时间、版本号等。虽然它看起来像是一个普通表,但其...
Oracle PL/SQL编程详解 PL/SQL,全称Procedural Language/Structured Query Language,是Oracle数据库系统中专为数据库应用程序设计的一种高级编程语言。它将SQL查询语言与过程编程语言的功能结合在一起,使得...
Oracle 9i 应用服务器详解(PDG)涵盖了Oracle公司推出的9i Application Server(9iAS)的关键技术和应用,这是一款强大的中间件平台,用于构建、部署和管理企业级的应用程序。以下是关于9iAS的一些核心知识点: 1. *...
在实际项目中,你需要学会如何设计数据库表结构,编写HQL(Hibernate查询语言)或SQL语句,以及如何配置数据源等。 总之,SSH1框架整合与Oracle交互是一个深入学习Java Web开发的重要主题,涵盖了前端控制、业务...
### OracleDB体系结构详解 #### 一、Oracle数据库体系结构概览 Oracle数据库以其高度可靠的性能、丰富的功能和广泛的应用场景而闻名于世。本文旨在深入解析Oracle数据库的体系结构,帮助读者理解其核心组件及运作...
PowerDesigner则是一款强大的数据库建模工具,不仅可以用于设计数据库模型,还可以进行UML建模。其安装过程相对简单,用户只需按照提示进行操作。 在Oracle的基本概念中,数据库是数据的物理存储,包括数据文件...
Oracle 数据库中的表分区是一种强大的工具,它可以显著提高大型表的性能和管理效率。通过合理的分区设计,可以实现数据的快速访问、高效管理和灵活的维护操作。根据实际应用场景选择合适的分区类型(范围分区、列表...
理解Oracle数据类型对于数据库设计、开发和管理至关重要。以下是Oracle 10g中数据类型的详细讲解: 1. **数值类型** - `NUMBER(p,s)`: 最通用的数值类型,可以存储整数和小数,p代表总位数,s代表小数位数。 - `...