设为首页  
联系我们  
加入收藏  
网页制作 冲浪宝典 图形图像 操作系统 软件教学 编程开发 认证考试 安全技术 站长专区 文学驿站 娱乐天地 游戏天地 办公软件
文章搜索
您的位置: 首页 >> 文章首页 >> 编程开发 >> 网络编程 >> 数据库技巧 >> 如何删除数据库中的冗余数据(翻译)
精品推荐
数据库技巧点击TOP10
·"SQL Server不存在或访问被拒绝"问题的解决
·在SQL Server 2000里设置和使用数据库复制
·两个sql server 2000的通用分页存储过程
·自己改写的一个sql server 2000的分页存储过程
·关于Tomcat与MySQL连接池问题的详解
·如何删除数据库中的冗余数据(翻译)
·SQL Server的链接服务器技术小结
·Oracle中捕获问题SQL解决CPU过渡消耗
·如何手动删除 SQL Server 2000 默认实例、命名实例或虚拟实例
·如何修改SQL Server 2000身份验证模式和系统管理员
网络编程点击TOP10
·ASP.NET 程序中常用的三十三种代码
·CHK文件恢复工具
·.NET 初 级 读 本
·c#操作word表格
·『原创』C#中TreeView类操作全攻略:建立树,新增节点,删除节点,修改节点,拖动节点,与Oracle数据库交互操作(一)
·我的.NET书架 (入门篇)
·十天学会ASP.net之第一天
·从零开始学ASP.NET(基础篇)
·用C#实现木马程序
·官方水晶报表 .NET 应用程序实例下载 (C#、Visual C++.NET)
精选专题

如何删除数据库中的冗余数据(翻译)

作者: 来源:http://www.xgdown.com/ 时间:2005-11-19 1:25:45

如何删除数据库中的冗余数据(翻译) (1)

作为数据库的开发者,我们经常面临着要找出及删除数据库中冗余数据的任务,如果数据库中有大量的冗余数据(占总数的百分比太多),数据的精确性和可靠性将受到影响,同时也影响着数据库的性能,那么如何解决这个问题呢?下面我将探讨关于这个问题的这个解决方案,oracle也为我们提供了一个解决方案,但是Oracle提供的解决方案不够完美,遇到大批量数据那个解决方案工作起来很慢

应该怎么删除冗余数据呢?
在这里我们应用一个PL/SQl方案(一个自定义的存储过程)或者一个SQL语句的解决方案(使用一个分析的函数RANK()和一个嵌套的子查询)来消除冗余数据然后控制应该保留的记录


什么是冗余数据?
冗余数据就是一个数据表中,这个表中的行包含了一些相同的值,这些值理论上来说应该是唯一的(这些值一般来说能确定一条记录)例如,像社会保险号,姓与名的集合.那么我们把这么含有相同信息的行中包含的数据叫做冗余数据,现在所有的数据库表中都有主键约束,主键中记录了一行记录中的唯一值,从数据库的角度来看,每一行都是唯一的,但是从我们用户角度看来,这些记录都是相同的记录,因为它们都包含相同的键值(First Name + Last Name),即使他们有不同的主键
ID   Last Name       First Name City            Phone
---- --------------- ---------- --------------- ----------
1005 Krieger         Jeff       San Ramon       9252997100
1012 Krieger         Jeff       San Ramon       9252997100
1017 Krieger         Jeff       San Ramon       9252997100

那么这些冗余数据是怎么出现的那?通常有两种情况:1.从不同的表中加载或者合并数据

通过图形化的用户接口来输入数据,然后由计算机来生成一个唯一的键,并做为这一条记录的主键

那么怎样找到冗余数据呢?让我们来创建一个叫作Customer 的表并向其中加入冗余数据,看表1,正如你所看到的,我们并没有在这个表上做什么限制来防止冗余数据,下面这么代码创建了一个唯一约束,来防止冗余数据的生成
SQL
Listing 1. 创建Customer表
这个表中我们故意加入了冗余数据
DROP TABLE Customers CASCADE CONSTRAINTS;

CREATE TABLE Customers(
   Id INTEGER NOT NULL,
   LastName VARCHAR2(15) NOT NULL,
   FirstName VARCHAR2(10),
   Address VARCHAR2(20),
   City VARCHAR2(15),
   State CHAR(2),
   Zip VARCHAR2(10),
   Phone VARCHAR2(10),
   RecDate DATE,
   CONSTRAINT Customers_PK
   PRIMARY KEY (ID))
   TABLESPACE TALLYDATA;


1.如何删除数据库中的冗余数据(翻译) (1)
2.如何删除数据库中的冗余数据(翻译) (2)
3.如何删除数据库中的冗余数据(翻译) (3)
4.如何删除数据库中的冗余数据(翻译) (4)
5.如何删除数据库中的冗余数据(翻译) (5)
6.如何删除数据库中的冗余数据(翻译) (6)
7.如何删除数据库中的冗余数据(翻译) (7)
8.如何删除数据库中的冗余数据(翻译) (8)
9.如何删除数据库中的冗余数据(翻译) (9)
10.如何删除数据库中的冗余数据(翻译) (10)
11.如何删除数据库中的冗余数据(翻译) (11)
12.如何删除数据库中的冗余数据(翻译) (12)
13.如何删除数据库中的冗余数据(翻译) (13)
14.如何删除数据库中的冗余数据(翻译) (14)
15.如何删除数据库中的冗余数据(翻译) (15)
16.如何删除数据库中的冗余数据(翻译) (16)
共16页 9 7 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [168 :>

如何删除数据库中的冗余数据(翻译) 相关文章:
如何删除数据库中的冗余数据(翻译) 相关软件:
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
转载请注明来源:http://www.xgdown.com