动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
电脑书籍下载:程序设计书籍 | 数据库教程书籍 | 平面与多媒体书籍 | 网络通讯书籍 | 系统管理书籍 | 网络安全书籍 | 认证考试书籍
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > 数据库技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ 数据库技巧 ]的信息



本月文章推荐
.小結SQL Server連接失敗錯誤及解.
.sql server 2008 对 t-sql 语言的.
.奇怪的SQL:排序方法不同但结果却.
.SQL Server 2005安装失败的处理方.
.一个有关DISTINCT的问题解答.
.探讨SQL Server存储过程.
.Informix数据库记录数过多引起的.
.无法在SQL 2005系统数据库中执行.
.讲解SQL Server 2005数据库表的递.
.使用 IP 地址连接到 SQL Server .
.深入讲解阻塞现象的产生原因及处.
.生成50万条记录的大数据表的TSQL.
.sql2k中新增加的Function的sqlbo.
.在SQL Server 2005中实现异步触发.
.如何用SQL写出当M*N时的螺旋矩阵.
.SQL SERVER中直接循环写入数据.
.sql语句查询结果合并union all用.
.使用SQL语句快速获取SQL Server数.
.教你在不同数据库环境下读取前N条.
.SQL Server 2008与Microsoft数据.

全面解析关系数据模型存在的不足之处

发表日期:2008-5-6 |


关系数据库模型支持了SQL语言的发展,并且拥有强大的理论基础为后盾(基于一阶的谓词逻辑),目前,SQL已经成为定义和操纵关系数据库的标准语言。

关系数据模型的另一个好处在于它的简单性、适合联机事务处理(OLTP)、支持数据独立性。但是关系数据模型特别是RDBMS同样存在许多的不足之处。详细内容请参考下文:

一.对“现实世界”实体的表达能力比较弱

规范化通常导致表与“现实世界”中的实体不对应,它将“现实世界”中的实体分割成几张表来显示,以物理表示法来反映实体结构,这样效率会比较差,常常要在查询处理中进行很多连接操作。

二.语义过载

关系模型表达数据和数据间关系的构造只有一种——表。例如,为了表达实体A和实体B之间的多对多(*:*)关系、我们需要创建三张表,两个分别用于表达实体A和B,第三张表用于表达实体间的关系。它没有一种机制来区分实体和关系,也无法区分在实体间存在的不同种类的关系。例如,一个1:*关系可能是Has、Supervises、Manages等等。如果可以进行区分,也许我们就可以将语义构建到操作中。所以,我们说关系模型语义过载了。

三.不能很好的支持业务规则

很多商业化系统不能完全支持实体和参照完整性、域等业务规则,所以需要将它们内置到应用程序中。这样当然是危险的,而且容易导致做重复的工作。更糟糕的是,可能还会引起不一致现象。而且,在关系模型中不支持其他类型的业务规则,这又意味着它们需要被构建到DBMS或应用程序中。

四.有限的操作

关系模型只有一些固定的操作集,例如面向集合和记录的操作,操作是在SQL规格说明中提供的。但是,SQL目前不允许指定新的操作。因此,在给许多“现实世界”对象的行为建模就有了太多的限制。例如,一个GIS应用程序典型的使用点、线、线组、多边形和一些处理距离、交叉点和包含关系的操作。

五.处理递归查询困难

数据的原子性意味着在关系模型中不允许出现重复的数据组,这样就导致了处理递归查询极为困难。递归查询就是那些有关表和自身直接或间接的关系的查询。为了解决这个问题,SQL可以嵌入在一个高级程序设计语言中,由高级程序设计语言来提供支持反复操作的功能。而且,很多RDBMS提供了具有类似结构的报表书写程序。不管是哪种情况,都是应用程序而不是系统的内在功能提供了所需的功能。

六.阻抗失配

直到最新版本的SQL标准,都缺少完全的计算功能。为了解决这个问题并且提供更多的灵活性,SQL标准提供嵌入式SQL来帮助开发更加复杂的数据库应用程序。但是,这引起了阻抗不匹配(impedance mismatch)的问题,因为我们将两种不同的程序设计模式混合在了一起。

1.SQL是一种处理行数据的声明性语言,而诸如C语言这样的高级语言则是过程化的语言,一次只能处理一行数据。

2.SQL和3GL使用不同的模型来表达数据。比如,SQL提供内置的数据类型Date(日期型)和Interval(时间间隔型),而在传统的编程语言中却没有这样的类型。因此,就需要应用程序在两种表示法之间进行转换。而这样做无论从程序设计的工作量还是运行时资源的使用来看都是低效的。而且,由于我们使用两种不同的系统,因此,不可能将类型检测作为一个整体自动进行。

注:SQL标准(SQL3)通过引入许多新的特征已经弥补了上文中讲述的一些不足之处。

上一篇:如何查看并导出数据表中字段的注释信息 人气:550
下一篇:Oracle 9i数据库的用户创建以及权限分配 人气:494
浏览全部SQL Server的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-7-19 Roclog v3.1.4 SP1
2008-7-19 马克斯CMS(Maxcms) v1.1 Build 0
2008-7-19 乐学LBBS无限级目录图片直读系统
2008-7-19 PHP在线考试系统PPExam v1.2.5
2008-7-19 APJE私服发布系统 v2.0
2008-7-19 寻觅图书管理系统 v1.12
2008-7-19 寻觅学校管理系统
2008-7-19 义乌网站目录baidu新闻订阅 v1.0
2008-7-19 牛仔IIS日志蜘蛛爬行记录分析器
2008-7-19 UltraEdit 简体中文增强版 14.10
2008-7-19 CentOS 5.2 i386 LiveCD
2008-7-19 Snapture多功能相机 v1.4
2008-7-19 iAcces中文输入法 v1.0Build016
2008-7-19 Cookbook烹饪秘籍 v2.5
2008-7-19 苹果专用DVD转换工具 v1.1.59汉化
2008-7-19 Modem修复软件ZiPhone修改版04.0
2008-7-19 AgileMessenger即时通讯工具美化
2008-7-19 Sketches画图软件 v0.7b6破解版


  发表评论
姓 名: 验证码:
内 容:
[ 汉字翻译拼音 ] [ 广告代码 ] [ 符号对照表 ] [ 进制转换 ] [ 经典小工具 ] [ 个税计算 ] [ 汉字简繁转换 ] [ 普通单位换算 ] [ 公制单位换算 ]
[ 生辰老黄历 ] [ 国内电话区号 ] [ 国家代码与域名缩写 ] [ 文字加密解密 ] [ 健康查询 ] [ 万年历 ] [ 手机号码查询 ] [ ip搜索 ] [ Google PR查询 ]
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵