谈数据库中模糊数据的输入与判别

2016-01-29 16:16 1 1 收藏

谈数据库中模糊数据的输入与判别,谈数据库中模糊数据的输入与判别

【 tulaoshi.com - SQLServer 】

  前言

模糊数据库,是指能够处理模糊数据的数据库。一般的数据库都是以二直逻辑和精确的数据工具为基础的,不能表示许多模糊不清的事情。随着模糊数学理论体系的建立,人们可以用数量来描述模糊事件并能进行模糊运算。这样就可以把不完全性、不确定性、模糊性引入数据库系统中,从而形成模糊数据库。模糊数据库研究主要有两方面,首先是如何在数据库中存放模糊数据;其次是定义各种运算建立模糊数据上的函数。模糊数的表示主要有模糊区间数、模糊中心数、模糊集合数和隶属函数等。
自从1965年美国加州大学伯克利分校的LoftiZadeh提出了模糊逻辑以来,人类在这一领域内的研究一直没有终止过;在数据库领域内,模糊逻辑理论也得到了一定的应用,本文就模糊数据的输入与判别谈一下自己的认识,意在抛砖引玉。

一、模糊逻辑基本原理  
U 为某些对象的集合,称为论域,可以是连续的或离散的;u 表示U 的元素,记作U ={u}。
定义1 模糊集合(fuzzy sets) 论域U 到[0,1]区间的任一映射mF ,即mF :U ®[0,1],都确定U 的一个模糊子集F ;mF称为F的隶属函数(membership function)或隶属度(grade of membership)。也就是说,mF 表示u属于模糊子集F的程度或等级。在论域U中,可把模糊子集表示为元素u与其隶属函数mF(u)的序偶集合,记为:
F ={(u,mF(u)|uÎU)}  
若U 为连续,则模糊集F 可记作:
F =òUmF(u)/u  
若U 为离散,则模糊集F 可记为:
F=mF(u1)/u1+mF(u2)/u2+….+mF(un)/un= åmF(ui)/ui  
定义2 模糊支集、交叉点及模糊单点 如果模糊集是论域U 中所有满足mF(u)0的元素u 构成的集合,则称该集合为模糊集F的支集。当u 满足mF =10,则称此模糊集为模糊单点。  
定义3 语言变量 一个语言变量可定义为多元组(x,T(x),U,G,M)。其中,x为变量名;T(x)为x的词集,即语言值名称的集合;U 为论域;G 是产生语言值名称的语法规则;M 是与各语言值含义有关的语法规则。语言变量的每个语言值对应一个定义在论域U 中的模糊数。语言变量基本词集把模糊概念与精确值联系起来,实现对定性概念的定量化以及定量数据的定性模糊化。 例如,某浴室锅炉把水的温度作为一个语言变量,其词集T(温度)可为:
T(温度)={超高,很高,较高,适中,较低,很低,过低}

二、 数据库中存放模糊数据的方法

1、 数据模型的选择
近年应用较多的数据库模型主要有关系数据模型、面向对象模型、对象-关系数据模型。
模糊数据库要求存储的数据具有抽象度高、数据类型复杂、面向对象操作的特点,特别针对模糊识别功能的实现还必须具即时的隶属函数。
关系数据模型具有结构统一、面向记录、有限数据类型、不能清晰表示和有效处理复杂对象的缺点,难以满足模糊数据库的需求。
面向对象数据库管理系统(OODBMS)是从对象观点出发,移向数据库管理思维,以面向对象的程序设计语言为基础的持久化的程序设计语言,目前实行的是ODMG-93标准,适合于具有复杂数据要求的工程、图形、多媒体等领域,是目前比较先进的一种数据模型理念。但是它在查询、事物管理和并发方面较差,而且用户端的参与不好,同时由于其属于新生事物,尚不成熟,因此各大数据库厂家对其的支持较差,可谓“曲高和寡”。因此也不是最好的选择。
对象-关系数据库管理系统(ORDBMS)是从关系数据库观点出发,移向对象思维,以关系数据库和SQL为基础的扩展关系模型,具扩展复杂数据类型和允许用户自定义函数(SQL或C语言)功能。具面向对象特性,受通用性强的SQL3(SQL99)标准支持。ORDBMS既满足了传统关系型数据库用户的要求,同时又具有复杂数据需要的应用,具强大查询语言功能,同时也有很多大的数据库厂商支持。是建立模糊数据库的最佳选择。

2、 数据模型的建立
首先建立非1NF文档关系:
[sayyes]http://www.computerworld.com.cn/htm/app/service/01_7_13_3.gif[/sayyes]
以例某浴室锅炉把水的温度作为一个语言变量,其词集T(温度)可为:
T(温度)={超高,很高,较高,适中,较低,很低,过低}
----------------------------------------------------------------------------
SQL99语句:
Create type mynum1 integer varying.
Create type mynum2 numeric varying.
/*建立复杂类型*/
create table temperature
(fuzzytemp char(4),
x mynum1 [10],
mn mynum2 [10],
/*使用数组,以确定各数的位置*/
check (fuzzytemp in (‘超高’,’很高’,’较高’,’适中’,’较低’,’很低’,’过低’))
create table measure
(time time,
temp smallint;
check (temp<=100))

三、模糊数据的判决

通过模糊推理得到的结果是一个模糊集合或者隶属函数,但在实际使用中,特别是在模糊逻辑控制中,必须用一个确定的值才能去控制伺服机构。在推理得到的模

来源:https://www.tulaoshi.com/n/20160129/1498125.html

延伸阅读
Deleting all data from an Access database Sometimes it may be necessary to delete all the data in a database while retaining the table structure. If done manually, this job can quickly become tedious. If your database has many tables, the following code will clear all the data in a hurry. Dim ctr As Container, d...
Microsoft公司提供了统一的数据访问接口ActiveX Data Object,简称ADO。但实际应用编程中,访问不同的数据库,如Access、SQL Server或VFP,会存在一些“细微”差别,常常有这样的情况,用ADO对象访问某一数据库的程序都调试通过了,但用同样的程序访问其他数据库就存在这样或那样的问题,反之也一样。这种差别就笔者来看好像没什么意义,...
把表达式True=False放到表的ValidationRule属性就能锁上。HardLockTable?实现了该功能。 声明 PublicMyDBAsDatabase DimDummyAsInteger 函数 FunctionHardLockTable(ByValwhichActionAsString,?ByValaTableAsString)AsInteger OnErrorGoToHardLockTableError HardLockTable=True SelectCasewhichAction C...
标签: ASP
DbPath = "test.mdb"’数据库位置 ConnStr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.MapPath(DbPath) Set Conn = Server.CreateObject("ADODB.Connection") Conn.open ConnStr Class Class_Read Public Arr,Rs,SQL,Ar...
在对数据库进行操作过程中我们可能会遇到这种情况,表中的数据可能重复出现,使我们对数据库的操作过程中带来很多的不便,那么怎么删除这些重复没有用的数据呢? 重复数据删除技术可以提供更大的备份容量,实现更长时间的数据保留,还能实现备份数据的持续验证,提高数据恢复服务水平,方便实现数据容灾等。 重复的数据可能有这样两种情况...

经验教程

290

收藏

8
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部