Java高级编程细节 模糊数据库database系统
什么是模糊数据库系统
模糊数据库系统指能处理模糊数据的数据库系统。
我们一般遇到的数据库都是具有二值逻辑和精确数据的。但是,在现实中还有很多不确定的模糊不清的事情。我们的大脑也是偏向于处理一些模糊事件,对这些模糊事件更感兴趣。当一件东西太ling清楚地展示在我们面前时,我们大脑就失去了对事物进行探索的欲望。这样就可以把不完全性、不确定性、模糊性引入数据库系统中,从而形成模糊数据库。自1965年美国的L.Z.扎德提出模糊理论以来,人们就对这个领域产生了极大兴趣。模糊理论应用不断扩大,作为流行的数据库更是受到了注意。
随着模糊理论体系的建立,人们可以用数量来描述模糊事件并能进行模糊运算。在数据库系统中,也可以将数学上的这种成果,如不完全性、不确定性、模糊性引入,从而形成模糊数据库。
模糊数据库的研究主要有两方面:
首先是如何在数据库中存放模糊数据,其次是定义各种运算、建立模糊数据上的函数。模糊数据的表示方法主要有模糊区间数、模糊中心数、模糊集合数和隶属函数等。
在模糊数据库中,如果把各记录值视为节点,把关系视为节点间的连线。一个模糊数据库就可以看成是一个复杂的网络。模糊数据库上的主要操作是指从某节点到网络其他节点的移动。但由于主要涉及到很强的指针或游标指示当前的位置,其复杂性会大大增加,所以发展前景也不容乐观。
在模糊层次数据模型中,将树中的各节点“父子关系”和“兄弟关系”的亲密程度通过隶属值来实现。然而,与模糊网络数据模型一样,其复杂性也限制了模糊层次数据库的发展。
模糊关系数据模型中,有元组模糊关系数据模型、模糊关系数据模型、集合值模糊关系数据模型和属性具有加权模糊值的模糊关系数据模型等几类。其中属性具有加权模糊的模糊关系数据库是一对一一般关系数据库模糊化最彻底的模糊数据库,并且是应用非常广泛的模糊数据库。
在模糊面向对象数据库中,对象类的定义引入了递归的概念,采用面向对象的描述方法,模块化强,结构化程度高,便于分层实现,有利于实际系统的开发。但由于目前还没成熟,开发带来很大的困难。
对象-关系数据模型是结合关系数据模型和面向对象模型一起发展的一种模型,它具有关系数据模型的强大查询语言的功能,同时也有面向对象的特性,所以目前建立模糊数据库的最好选择。
欢迎工作一到五年的Java工程师朋友们加入Java架构开发:468947140
点击链接加入群聊【Java-BATJ企业级资深架构】:https://jq.qq.com/?_wv=1027&k=5zMN6JB
本群提供免费的学习指导 架构资料 以及免费的解答
不懂得问题都可以在本群提出来 之后还会有职业生涯规划以及面试指导
如果您觉得好的话,请转发或者关注我哦
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
字符串模板浅析
前言 虽然现在有各种前端框架来提高开发效率,但是在某些情况下,原生 JavaScript 实现的组件也是不可或缺的。例如在我们的项目中,需要给业务方提供一个通用的支付组件,但是业务方使用的技术栈可能是 Vue、React 等,甚至是原生的 JavaScript。那么为了实现通用性,同时保证组件的可维护性,实现一个原生 JavaScript 的组件也就显得很有必要了。 下面左图为我们的 Panel 组件的大概样子,右图则为我们项目的大概目录结构: 我们将一个组件拆分为 .html、 .js、 .css 三种文件,例如 Panel 组件,包含 panel.html、panel.js、panel.css 三个文件,这样可以将视图、逻辑和样式拆解开来便于维护。为了提升组件灵活性,我们 Panel 中的标题,button 的文案,以及中间 item 的个数、内容等均由配置数据来控制,这样,我们就可以根据配置数据动态渲染组件。这个过程中,为了使数据、事件流向更为清晰,参考 Vue 的设计,我们引入了数据处理中心 data center 的概念,组件需要的数据统一存放在 data center 中。...
- 下一篇
经典算法详解(8)数的分组
题目:有10个任意的正整数,将其分为两组A和B,要求组A中每个数据的和与组B中每个数据的和之差的绝对值最小。请设计算法实现数的分组(找出一个答案即可)。 C++版本: 1 #include<iostream> 2 3 using namespace std; 4 5 void get_groupAB(int arr[]) { 6 int sum_a, sum_b; 7 int index, difference=0; 8 int i,i_copy; 9 //数组所有的元素求和给difference赋初值 10 for ( i = 0; i < 10; i++) { 11 difference += arr[i]; 12 } 13 //从0000000000到1111111111,尾数为零时,对应的数组元素划分给a数组,否则划分给b数组 14 for ( i = 0; i < 0x3FF; i++) { 15 sum_a = 0, sum_b = 0; 16 i_copy=i; 17 for (int j = 0; j < 10; j++) { 18 if ...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8编译安装MySQL8.0.19
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果