찾다
데이터 베이스MySQL 튜토리얼文件数据库和关系数据库的比较

文件数据库和关系数据库的比较

Jun 07, 2016 pm 03:06 PM
관계요약데이터 베이스문서비교하다

文件数据库和关系数据库的比较 摘要:随着应用领域的不断拓展和多媒体技术 , 人们发现关系数据库的许多限制和不足,因而数据库技术进入了 后关系数据库时代 。文件数据库由此应运而生。本文概要地从数据格式、数据库结构和 WEB 发布数据三个方面比较了文件数

文件数据库和关系数据库的比较

摘要:随着应用领域的不断拓展和多媒体技术, 人们发现关系数据库的许多限制和不足,因而数据库技术进入了后关系数据库时代。文件数据库由此应运而生。本文概要地从数据格式、数据库结构和WEB发布数据三个方面比较了文件数据库和关系数据库的异同,同时差别了文件数据库和过去存储数据的文件系统的不同。

 

关键词:数据库 Internet 文件数据库 WEB数据库服务器

 

一、关系数据库的优势和目前面临的问题

60年代末开始, 数据库技术经历了层次数据库、网状数据库和关系数据库而进入数据库管理系统( DBMS)阶段至今, 数据库技术的研究也不断取得进展。80年代, 关系数据库成为发展的主流, 几乎所有新推出的DBMS产品都是关系型的。关系型数据库在计算机数据管理的发展史上是个重要的里程碑,这种数据库具有数据结构化、最低冗余度、较高的程式和数据独立性、易于扩充、易于编制应用程式等好处,目前较大的信息系统都是建立在结构化数据库设计之上的。

然而,随着网络技术和软件技术的飞速发展,特别是InternetIntranet技术的发展,使得非结构化数据的应用日趋扩大。关系数据库从1970年发展至今,虽功能日趋完善,但对数据类型的处理只局限于数字、字符等,对多媒体信息的处理只是停留在简单的二进制代码文件的存储。然而,随着用户应用需求的提高、硬件技术的发展和Intranet/Internet提供的多彩的多媒体交流方式,用户对多媒体处理的需求从简单的存储上升为识别、检索和深入加工,正是用户呼唤出"通用"数据库服务器来处理占信息总量70%的声音、图像、时间序列信号和视频等复杂数据类型。据有关数据,1996,全球数据库市场的销售额已接近40亿美元,预计到2000,数据库市场销售额将达到80亿美元。巨大的增长潜力来自复杂数据类型的处理需求,使处理复杂数据类型的"超媒体"数据库将成为各公司投资研发的重点。

二、全新的文件数据概念

1989年起,Lotus通过其群件产品Notes提出了数据库技术的全新概念-"文件数据库",文件数据库差别于传统的其他数据库,他是用来管理文件。在传统的数据库中,信息被分割成离散的数据段,而在文件数据库中,文件是处理信息的基本单位。一文件能非常长、非常复杂、能无结构,和字处理文件类似。

文件数据库和五、六十年代管理数据的文件系统不同,文件数据库仍属于数据库范畴。首先,文件系统中的文件基本上对应于某个应用程式。当不同的应用程式所需要的数据有部分相同时,也必须建立各自的文件,而不能共享数据,而文件数据库能共享相同的数据。因此,文件系统比文件数据库数据冗余度更大,更浪费存储空间,且更难于管理维护。其次,文件系统中的文件是为某一特定应用服务的,所以,要想对现有的数据再增加一些新的应用是非常困难的,系统不容易扩充。数据和程式缺乏独立性。而文件数据库具有数据的物理独立性和逻辑独立性,数据和程式分离。

文件数据库也不同于关系数据库,关系数据库是高度结构化的,Notes的文件数据库允许创建许多不同类型的非结构化的或任意格式的字段,和关系数据库的主要不同在于,他不提供对参数完整性和分布事务的支持,但和关系数据库也不是相互排斥的,他们之间能相互交换数据,从而相互补充、扩展。

三、关系数据库和文件数据库的异同

下面从三个方面比较两种数据库的异同:

1、格式文本/多媒体

在信息时代,所有信息大体上能分为两类:一类信息能够用数据或统一的结构加以表示。例如,成本、费用、人员、工资及员工业绩等,都能用数字或文字来描述或表达。这类信息具有相同的层次或网络结构,我们称之为结构化数据;而另一类信息根本无法用数字或统一的结构表示,例如,图象、声音等,我们称之为非结构化数据。这些非结构化数据既能是一段包含大量附加信息(如排版信息)的文字信息,也可能是一段声音、图象,甚至是影像。对于结构化数据和非结构化数据的关系如图所示,非结构化数据包括结构化数据,但又不止是结构化数据;结构化数据属于非结构化数据,是非结构化数据的特例。一般来说,在人们的认识之中,关系数据库最主要的特征就是数据的结构化。然而,随着网络技术和软件技术的飞速发展,特别是InternetIntranet技术的发展,使得非结构化数据的应用日趋扩大。关系数据库是高度结构化的,这种数据结构化使关系数据库具有冗余度最低、程式和数据独立性较高、易于扩充、易于编制应用程式的特点。不过,随着应用领域的不断拓展, 为满足应用对数据处理不断"苛刻"的需求, 人们开始发现关系数据库的许多限制和不足。因为文件数据库的基本元素就是文件本身,而数据库中的文件能同时包含结构化的和非结构化的信息,所以,文件数据库能够存储和管理类似文件这样的非结构化数据。特别是,Notes的对象库是个非常最佳的商业信息存储器,可用于高效地存储、传播、分配和管理这类信息。这类信息通常具有丰富的数据类型,如表格(能是从某个关系数据库或电子表软件中得到的)、格式化文本、WWW的页面、图像、OLE对象、或扫描的图象及传真件、声频或视频信号这样的多媒体信息。

2、在结构上

关系数据库是应用数学方法来处理数据库数据的,其数据模型也是建立在数学概念基础上的,在关系模型中,数据在用户观点下的逻辑结构就是一张二维表。而Lotus Notes是个文件数据库管理系统,文件数据库的基本元素就是文件。这里的文件和关系数据库中的记录相似。Notes文件的结构是由表单(form)定义的,而表单由一组各式各样的字段域组成。

1)域(Domain)和字段(Field

在关系数据库中,域(Domain)是属性值的集合,如:大于0小于150的正整数,长度小于25的字符串集合等等。而在文件数据库中,域(Field)的概念出目前表单对象中,域是表单上存储数据的单个元素,域决定了一个独立的文件能包含什么数据。虽二者的中文译文相同,但其实际意义和作用相差千里。反而在文件数据库中域的概念和关系数据库中的字段(Field)相类似。

2)条目(Item)和属性(Attribute

在关系数据库中,有属性(Attribute)的概念,即二维表中的每一列称为一个属性,给每一列起一个名称即属性名。而在文件数据库中,就没有"属性",文件拥有的是条目(Item),条目是指存储于文件中的任意数据部分。每一个条目代表文件中一段数据,在用户界面中,是通过表单中的域来显示文件中的条目的。二者虽命名不同,但笔者认为从"属性"的角度更容易理解文件数据库中条目的意义。

3)视图(View

在关系数据库和文件数据库中,均有视图的概念。在关系数据库中,视图是指从一个或几个基本表(或视图)导出的表。视图和基本表不同,视图是个虚表,即视图所对应的数据不实际存储在数据库中,数据库中只存储视图的定义(存在数据字典中)。在文件数据库中,用户通过Notes视图浏览文件。视图是非常方便的目录,用户能从中看到关于文件的概要信息和文件的状态,然后存取特定的Notes文件。文件数据库中文件能在视图中显示起全部或部分内容,通过视图,用户能看一组文件的关键域,并可按某一准则对显示的信息进行分类和排序。实质上,二者逻辑上非常相似,即视图所对应的数据均不实际存储在数据库中,数据库中只存储视图的定义。

3WEB数据库

近年来网络体系结构经历了一次次重大变迁,客户机/服务器结构越来越流行了,Intranet以惊人的速度在短短一年内迅速蔓延,面临新的格局,怎么简易地实现"客户机/服务器"连接和"Web/Intranet"连接成为数据库管理人员关注的焦点。计算机技术和网络技术的发展使以网络为中心的计算日益得到重视,WWW系统和数据库成为网络化信息服务的基础。如果能把文件数据库同WWW服务器连接起来,就能从浏览器中检索文件。这种一体化的信息网络系统:数据库+WWW服务器,便成为下一代Internet研发的新领域。目前,在Web上一个典型的数据库应用程式应包括三个部分:Web浏览器、HTTP 服务器和Web数据库服务器。对于一般的关系型数据库,实现Web数据库的应用通常有两种方法:一种是Web服务器提供中间件连接Web服务器和数据库服务器;另一种是把应用程式下载到客户端直接访问数据库。最常用的中间件技术有通用网关接口(CGI)和应用程式编程接口(API)两种。CGI程式缺陷在于CGI接口不支持用户和数据库间的持续互操作,再就是CGI的效率低,且需要同时运行多个CGI程式。用户每次连至服务器时,服务器都要创建一个事务或运行CGI程式的一个拷贝。这样对于一个复杂的应用或有多个用户访问时,就会加重服务器的负担。API在非常大程度上克服了CGI的缺点,但其兼容性差和研发难度大也让广大研发人员望而却步。客户端访问数据库主要包括Java Script和数据库连接器(IDC)等。用Java ScriptIDC研发Web数据库虽简单但同时也存在功能有限、不能完全控制其过程等缺点。所以他们也无法胜任较复杂的Web数据库的研发。难道就没有一个研发相对容易、功能强大且高效的Web数据库的研发方法吗?有,答案是-Lotus NotesLotus Notes通过文件数据库实现了多媒体文件管理,支持客户机/服务器工作方式。每个数据能包含若干不同形式的Notes文件。存放在一个或多个Notes服务器上,能让许多用户存取的数据库称为共享数据库。通过利用服务器存取和数据库存取控制等安全措施,数据库管理员能规定谁能存取数据库和在什么范围内使用数据库,各数据库在网上通过复制功能实现同步。这样,通过文件数据库用户能在网络上存取、追踪储存和组织信息。

. 结束语

最近几年,我国的数据库市场飞速发展,并将具有更为巨大的增长潜力,表现为如下特点:首先,在近五年里,用户的选型观念发生了明显的改动,有更多的用户把数据库的重要性放在十分重要的地位,其主要原因是用户将把应用软件和应用需求放在首位,应用软件是否满足用户需求是整个项目是否成功的标志,而应用软件研发直接依赖于数据库研发工具。实际上,大量潜在的投资都在应用软件的研发上;另一个原因是硬件随着芯片技术的发展越来越缺乏特性,硬件指标将变成次要的考虑因素。对行业性应用来讲,以前是制定几家硬件产品作为优选,而今可能是最佳选择数据库厂家再考虑硬件厂家了。正是用户需求的这种变化给数据库厂商提供了新的发展机会。Lotus Notes为各数据库系统集成商提供了强大的文件数据库研发平台,Notes结合了企业级电子邮件、分布式文件数据库和快速应用研发等三位一体的强大技术、完全集成Internet技术,提供用户完整的,以网络为中心的应用技术平台。能预言,在不久的将来,Lotus Notes的文件数据库将成为继层次数据库、网状数据库和关系数据库之后的又一热点技术。

 

以上内容由 华夏名网 搜集整理

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
MySQL은 sqlite와 어떻게 다릅니 까?MySQL은 sqlite와 어떻게 다릅니 까?Apr 24, 2025 am 12:12 AM

MySQL과 Sqlite의 주요 차이점은 설계 개념 및 사용 시나리오입니다. 1. MySQL은 대규모 응용 프로그램 및 엔터프라이즈 수준의 솔루션에 적합하며 고성능 및 동시성을 지원합니다. 2. SQLITE는 모바일 애플리케이션 및 데스크탑 소프트웨어에 적합하며 가볍고 내부질이 쉽습니다.

MySQL의 색인이란 무엇이며 성능을 어떻게 향상 시키는가?MySQL의 색인이란 무엇이며 성능을 어떻게 향상 시키는가?Apr 24, 2025 am 12:09 AM

MySQL의 인덱스는 데이터 검색 속도를 높이는 데 사용되는 데이터베이스 테이블에서 하나 이상의 열의 주문 구조입니다. 1) 인덱스는 스캔 한 데이터의 양을 줄임으로써 쿼리 속도를 향상시킵니다. 2) B-Tree Index는 균형 잡힌 트리 구조를 사용하여 범위 쿼리 및 정렬에 적합합니다. 3) CreateIndex 문을 사용하여 CreateIndexIdx_customer_idonorders (customer_id)와 같은 인덱스를 작성하십시오. 4) Composite Indexes는 CreateIndexIdx_customer_orderOders (Customer_id, Order_Date)와 같은 다중 열 쿼리를 최적화 할 수 있습니다. 5) 설명을 사용하여 쿼리 계획을 분석하고 피하십시오

MySQL에서 트랜잭션을 사용하여 데이터 일관성을 보장하는 방법을 설명하십시오.MySQL에서 트랜잭션을 사용하여 데이터 일관성을 보장하는 방법을 설명하십시오.Apr 24, 2025 am 12:09 AM

MySQL에서 트랜잭션을 사용하면 데이터 일관성이 보장됩니다. 1) STARTTRANSACTION을 통해 트랜잭션을 시작한 다음 SQL 작업을 실행하고 커밋 또는 롤백으로 제출하십시오. 2) SavePoint를 사용하여 부분 롤백을 허용하는 저장 지점을 설정하십시오. 3) 성능 최적화 제안에는 트랜잭션 시간 단축, 대규모 쿼리 방지 및 격리 수준을 합리적으로 사용하는 것이 포함됩니다.

MySQL을 통해 어떤 시나리오에서 PostgreSQL을 선택할 수 있습니까?MySQL을 통해 어떤 시나리오에서 PostgreSQL을 선택할 수 있습니까?Apr 24, 2025 am 12:07 AM

MySQL 대신 PostgreSQL을 선택한 시나리오에는 다음이 포함됩니다. 1) 복잡한 쿼리 및 고급 SQL 기능, 2) 엄격한 데이터 무결성 및 산 준수, 3) 고급 공간 기능이 필요하며 4) 큰 데이터 세트를 처리 할 때 고성능이 필요합니다. PostgreSQL은 이러한 측면에서 잘 수행되며 복잡한 데이터 처리 및 높은 데이터 무결성이 필요한 프로젝트에 적합합니다.

MySQL 데이터베이스를 어떻게 보호 할 수 있습니까?MySQL 데이터베이스를 어떻게 보호 할 수 있습니까?Apr 24, 2025 am 12:04 AM

MySQL 데이터베이스의 보안은 다음 조치를 통해 달성 할 수 있습니다. 1. 사용자 권한 관리 : CreateUser 및 Grant 명령을 통한 액세스 권한을 엄격히 제어합니다. 2. 암호화 된 전송 : 데이터 전송 보안을 보장하기 위해 SSL/TLS를 구성합니다. 3. 데이터베이스 백업 및 복구 : MySQLDump 또는 MySQLPump를 사용하여 정기적으로 백업 데이터를 사용하십시오. 4. 고급 보안 정책 : 방화벽을 사용하여 액세스를 제한하고 감사 로깅 작업을 가능하게합니다. 5. 성능 최적화 및 모범 사례 : 인덱싱 및 쿼리 최적화 및 정기 유지 보수를 통한 안전 및 성능을 모두 고려하십시오.

MySQL 성능을 모니터링하는 데 사용할 수있는 몇 가지 도구는 무엇입니까?MySQL 성능을 모니터링하는 데 사용할 수있는 몇 가지 도구는 무엇입니까?Apr 23, 2025 am 12:21 AM

MySQL 성능을 효과적으로 모니터링하는 방법은 무엇입니까? Mysqladmin, Showglobalstatus, Perconamonitoring and Management (PMM) 및 MySQL Enterprisemonitor와 같은 도구를 사용하십시오. 1. MySQLADMIN을 사용하여 연결 수를보십시오. 2. showglobalstatus를 사용하여 쿼리 번호를보십시오. 3.pmm은 자세한 성능 데이터 및 그래픽 인터페이스를 제공합니다. 4. MySQLENTERPRISOMITOR는 풍부한 모니터링 기능 및 경보 메커니즘을 제공합니다.

MySQL은 SQL Server와 어떻게 다릅니 까?MySQL은 SQL Server와 어떻게 다릅니 까?Apr 23, 2025 am 12:20 AM

MySQL과 SqlServer의 차이점은 1) MySQL은 오픈 소스이며 웹 및 임베디드 시스템에 적합합니다. 2) SQLServer는 Microsoft의 상용 제품이며 엔터프라이즈 수준 애플리케이션에 적합합니다. 스토리지 엔진의 두 가지, 성능 최적화 및 응용 시나리오에는 상당한 차이가 있습니다. 선택할 때는 프로젝트 규모와 향후 확장 성을 고려해야합니다.

MySQL을 통해 어떤 시나리오에서 SQL Server를 선택할 수 있습니까?MySQL을 통해 어떤 시나리오에서 SQL Server를 선택할 수 있습니까?Apr 23, 2025 am 12:20 AM

고 가용성, 고급 보안 및 우수한 통합이 필요한 엔터프라이즈 수준의 응용 프로그램 시나리오에서는 MySQL 대신 SQLServer를 선택해야합니다. 1) SQLServer는 고 가용성 및 고급 보안과 같은 엔터프라이즈 수준의 기능을 제공합니다. 2) VisualStudio 및 Powerbi와 같은 Microsoft Ecosystems와 밀접하게 통합되어 있습니다. 3) SQLSERVER는 성능 최적화에서 우수한 성능을 발휘하며 메모리 최적화 된 테이블 및 열 스토리지 인덱스를 지원합니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.