什么是关系型数据库
展开全部 关系型数据库简介 关系型数据库以行和列的形式存储数据,以便于用户理解。
这一系列的行和列被称为表,一组表组成了数据库。
用户用查询(Query)来检索数据库中的数据。
一个Query是一个用于指定数据库中行和列的SELECT语句。
关系型数据库通常包含下列组件: 客户端应用程序(Client) 数据库服务器(Server) 数据库(Database) Structured Query Language(SQL)Client端和Server端的桥梁,Client用SQL来象Server端发送请求,Server返回Client端要求的结果。
现在流行的大型关系型数据库有IBM DB2、IBM UDB、Oracle、SQL Server、SyBase、Informix等。
关系型数据库并不是唯一的高级数据库模型,也完全不是性能最优的模型,但是关系型数据库确实是现今使用最广泛、最容易理解和使用的数据库模型。
大多数的企业级系统数据库都采用关系型数据库,关系型数据库的概念是掌握数据库开发的基础,所以本节的问题也成为.NET面试中频繁出现的问题之一。
所涉及的知识点 关系型数据库的概念 关系型数据库的优点分析问题关系型数据库的概念 所谓关系型数据库,是指采用了关系模型来组织数据的数据库。
关系模型是在1970年由IBM的研究员E.F.Codd博士首先提出,在之后的几十年中,关系模型的概念得到了充分的发展并逐渐成为数据库架构的主流模型。
简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织。
下面列出了关系模型中的常用概念。
关系:可以理解为一张二维表,每个关系都具有一个关系名,就是通常说的表名。
元组:可以理解为二维表中的一行,在数据库中经常被称为记录。
属性:可以理解为二维表中的一列,在数据库中经常被称为字段。
域:属性的取值范围,也就是数据库中某一列的取值限制。
关键字:一组可以唯一标识元组的属性。
数据库中常称为主键,由一个或多个列组成。
关系模式:指对关系的描述,其格式为:关系名(属性1,属性2,…,属性N)。
在数据库中通常称为表结构。
关系型数据库的优点 关系型数据库相比其他模型的数据库而言,有着以下优点: 容易理解:二维表结构是非常贴近逻辑世界的一个概念,关系模型相对网状、层次等其他模型来说更容易理解。
使用方便:通用的SQL语言使得操作关系型数据库非常方便,程序员甚至于数据管理员可以方便地在逻辑层面操作数据库,而完全不必理解其底层实现。
易于维护:丰富的完整性(实体完整性、参照完整性和用户定义的完整性)大大降低了数据冗余和数据不一致的概率。
近几年来,非关系型数据库在理论上得到了飞快的发展,例如:网状模型、对象模型、半结构化模型等。
网状模型拥有性能较高的优点,通常应用在对性能要求较高的系统中;对象模型符合面向对象应用程序的思想,可以完美地和程序衔接,而不需要另外的中间转换组件,例如现在很多的O\R Mapping组件;半结构化模型随着XML的发展而得到发展,现在已经有了很多半结构化的数据库模型。
但是,凭借其理论的成熟、使用的便捷以及现有应用的广泛,关系型数据库仍然是系统应用中的主流方案。
什么是关系型数据库
关系数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。
关系模型是由埃德加·科德于1970年首先提出的,并配合“科德十二定律”。
现如今虽然对此模型有一些批评意见,但它还是数据存储的传统标准。
标准数据查询语言SQL就是一种基于关系数据库的语言,这种语言执行对关系数据库中数据的检索和操作。
关系模型由关系数据结构、关系操作集合、关系完整性约束三部分组成各个数据之间存在关联是关系型数据库得名的主要原因,为了进行join处理,关系型数据库不得不把数据存储在同一个服务器内,这不利于数据的分散,这也是关系型数据库并不擅长大数据量的写入处理的原因。
属于关系型数据库的有什么?
当前主流的关系型数据库有Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL等。
关系模型就是指二维表格模型,因而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织。
1. Oracle。
Oracle是1983年推出的世界上第一个开放式商品化关系型数据库管理系统。
它采用标准的SQL结构化查询语言,支持多种数据类型,提供面向对象存储的数据支持,具有第四代语言开发工具,支持Unix、Windows NT、OS/2、Novell等多种平台。
除此之外,它还具有很好的并行处理功能。
Oracle产品主要由Oracle服务器产品、Oracle开发工具、Oracle应用软件组成,也有基于微机的数据库产品。
主要满足对银行、金融、保险等企业、事业开发大型数据库的需求。
2.SQL Server。
SQL即结构化查询语言(Structured Query Language,简称为SQL)。
SQL Server最早出现在1988年,当时只能在OS/2操作系统上运行。
2000年12月微软发布了SQL Server 2000,该软件可以运行于Windows NT/2000/XP等多种操作系统之上,是支持客户机/服务器结构的数据库管理系统,它可以帮助各种规模的企业管理数据。
随着用户群的不断增大,SQL Server在易用性、可靠性、可收缩性、支持数据仓库、系统集成等方面日趋完美。
特别是SQL Server的数据库搜索引擎,可以在绝大多数的操作系统之上运行,并针对海量数据的查询进行了优化。
目前SQL Server已经成为应用最广泛的数据库产品之一。
由于使用SQL Server不但要掌握SQL Server的操作,而且还要能熟练掌握Windows NT/2000 Server的运行机制,以及SQL语言,所以对非专业人员的学习和使用有一定的难度。
3.Sybase。
1987年推出的大型关系型数据库管理系统Sybase,能运行于OS/2、Unix、Windows NT等多种平台,它支持标准的关系型数据库语言SQL,使用客户机/服务器模式,采用开放体系结构,能实现网络环境下各节点上服务器的数据库互访操作。
技术先进、性能优良,是开发大中型数据库的工具。
Sybase产品主要由服务器产品Sybase SQL Server、客户产品Sybase SQL Toolset和接口软件Sybase Client/Server Interface组成,还有著名的数据库应用开发工具PowerBuilder。
在关系型数据库中, 关系是指
1、存储引擎:MySQL中的数据用各种不同的技术存储在文件(或者内存)中。
这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。
通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。
2、索引设计:索引和表一般要创建在不同的表空间中,以提高IO性能。
因为索引不会在空值上生效,所以如果某列有空值且希望建立索引,那么可以考虑建立组合索引(colName, 1)。
3、sql优化器(商业数据库竞争的核心):由于移动设备的资源限制,嵌入式移动数据库一般和应用系统集成在一起,作为整个应用系统的前端而存在,而它所管理的数据集可能是后端服务器中数据集的子集或子集的副本。
4、事务管理与并发控制:在事务处理中,一旦某个操作发生异常,则整个事务都会重新开始,数据库也会返回到事务开始之前的状态,在事务中对数据库所做的一切操作都会取消。
事务要是成功的话,事务中所有的操作都会执行。
5、容灾与恢复技术:基于数据同步复制技术,通过实时同步I/O,实现服务器和数据库数据从源端到目标端的持续捕获(RPO趋近于0,注:RPO=最后备份与发生灾难之间的时间,也是业务系统所允许的在灾难过程中的最大数据丢失),并且可以全自或手动创建数据恢复点,以确保数据发生错误时,恢复数据到最新的时间点。
常用的数据库软件有哪些?它们的优缺点是什么?
目前,商品化的数据库管理系统以关系型数据库为主导产品,技术比较成熟。
面向对象的数据库管理系统虽然技术先进,数据库易于开发、维护,但尚未有成熟的产品。
国际国内的主导关系型数据库管理系统有Oracle、Sybase、INFORMIX和INGRES。
这些产品都支持多平台,如 UNIX、VMS、Windows,但支持的程度不一样。
IBM的DB2也是成熟的关系型数据库。
但是,DB2是内嵌于IBM的AS/400系列机中,只支持OS/400操作系统。
1.MySQL MySQL是最受欢迎的开源SQL数据库管理系统,它由 MySQL AB开发、发布和支持。
MySQL AB是一家基于MySQL开发人员的商业公司,它是一家使用了一种成功的商业模式来结合开源价值和方法论的第二代开源公司。
MySQL是MySQL AB的注册商标。
MySQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器。
MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass- deployed)的软件中去。
与其他数据库管理系统相比,MySQL具有以下优势: (1)MySQL是一个关系数据库管理系统。
(2)MySQL是开源的。
(3)MySQL服务器是一个快速的、可靠的和易于使用的数据库服务器。
(4)MySQL服务器工作在客户/服务器或嵌入系统中。
(5)有大量的MySQL软件可以使用。
2.SQL Server SQL Server是由微软开发的数据库管理系统,是Web上最流行的用于存储数据的数据库,它已广泛用于电子商务、银行、保险、电力等与数据库有关的行业。
目前最新版本是SQL Server 2005,它只能在Windows上运行,操作系统的系统稳定性对数据库十分重要。
并行实施和共存模型并不成熟,很难处理日益增多的用户数和数据卷,伸缩性有限。
SQL Server 提供了众多的Web和电子商务功能,如对XML和Internet标准的丰富支持,通过Web对数据进行轻松安全的访问,具有强大的、灵活的、基于Web的和安全的应用程序管理等。
而且,由于其易操作性及其友好的操作界面,深受广大用户的喜爱。
3.Oracle 提起数据库,第一个想到的公司,一般都会是Oracle(甲骨文)。
该公司成立于1977年,最初是一家专门开发数据库的公司。
Oracle在数据库领域一直处于领先地位。
1984年,首先将关系数据库转到了桌面计算机上。
然后,Oracle5率先推出了分布式数据库、客户/服务器结构等崭新的概念。
Oracle 6首创行锁定模式以及对称多处理计算机的支持……最新的Oracle 8主要增加了对象技术,成为关系—对象数据库系统。
目前,Oracle产品覆盖了大、中、小型机等几十种机型,Oracle数据库成为世界上使用最广泛的关系数据系统之一。
Oracle数据库产品具有以下优良特性。
(1)兼容性 Oracle产品采用标准SQL,并经过美国国家标准技术所(NIST)测试。
与IBM SQL/DS、DB2、INGRES、IDMS/R等兼容。
(2)可移植性 Oracle的产品可运行于很宽范围的硬件与操作系统平台上。
可以安装在70种以上不同的大、中、小型机上;可在VMS、DOS、UNIX、Windows等多种操作系统下工作。
(3)可联结性 Oracle能与多种通讯网络相连,支持各种协议(TCP/IP、DECnet、LU6.2等)。
(4)高生产率 Oracle产品提供了多种开发工具,能极大地方便用户进行进一步的开发。
(5)开放性 Oracle良好的兼容性、可移植性、可连接性和高生产率使Oracle RDBMS具有良好的开放性。
4.Sybase 1984年,Mark B. Hiffman和Robert Epstern创建了Sybase公司,并在1987年推出了Sybase数据库产品。
Sybase主要有三种版本:一是UNIX操作系统下运行的版本; 二是Novell Netware环境下运行的版本;三是Windows NT环境下运行的版本。
对UNIX操作系统,目前应用最广泛的是SYBASE 10及SYABSE 11 for SCO UNIX。
Sybase数据库的特点: (1)它是基于客户/服务器体系结构的数据库。
(2)它是真正开放的数据库。
(3)它是一种高性能的数据库。
5.DB2 DB2是内嵌于IBM的AS/400系统上的数据库管理系统,直接由硬件支持。
它支持标准的SQL语言,具有与异种数据库相连的GATEWAY。
因此它具有速度快、可靠性好的优点。
但是,只有硬件平台选择了IBM的AS/400,才能选择使用DB2数据库管理系统。
DB2能在所有主流平台上运行(包括Windows),最适于海量数据。
DB2在企业级的应用最为广泛,在全球的500家最大的企业中,几乎85%以上都用DB2数据库服务器,而国内到1997年约占5%。
除此之外,还有微软的 Access数据库、FoxPro数据库等。
既然现在有这么多的数据库系统,那么在游戏编程时应该选择什么样的数据库呢?首要的原则就是根据实际需要,另一方面还要考虑游戏开发预算。
现在常用的数据库有:SQL Server、My SQL、Oracle、FoxPro。
其中MySQL是一个完全免费的数据库系统,其功能也具备了标准数据库的功能,因此,在独立制作时,建议使用。
Oracle虽然功能强劲,但它毕竟是为商业用途而存在的,目前很少在游戏中使用到。
关系型数据库为什么叫关系型数据库?
关系数据库我们接触的比较多些,指的是access、sql server、my sql和orcal、DB2等。
。
。
他们侧重于数据存储之后的处理,也就是后期调用处理修改之类的功能,所以一般财务或者网游都会采用这类软件作为服务器的数据库,就比如你的魔兽帐号,在网易的服务器里都用你这个帐号的属性,比如有寄个角色,有多少钱,有什么装备,身上或者银行里有什么东西等等在数据库里都会记录,事实上你天天都会在用,比如登录QQ、登录邮箱。
。
。
。
另外我们接触的少的是工业上用的实时历史数据库,这类数据库一般都是组态软件厂商开发的,比如国内的力控有pspace数据库,亚控的什么数据库忘记了,国外的有西门子那些等等,这类数据库侧重于数据采集,因为用于工业,所以在数据采集能力和存储能力不是关系数据库能比的,工业现场对数据要求比较高,数据采集存储之后方便用户查看分析历史数据,然后方便生产等等。
。
。
。
就写这么多了~
数据库软件 有哪些!!
常用数据库1. IBM 的DB2作为关系数据库领域的开拓者和领航人,IBM在1997年完成了System R系统的原型,1980年开始提供集成的数据库服务器—— System/38,随后是SQL/DSforVSE和VM,其初始版本与SystemR研究原型密切相关。
DB2 forMVSV1 在1983年推出。
该版本的目标是提供这一新方案所承诺的简单性,数据不相关性和用户生产率。
1988年DB2 for MVS 提供了强大的在线事务处理(OLTP)支持,1989 年和1993 年分别以远程工作单元和分布式工作单元实现了分布式数据库支持。
最近推出的DB2 Universal Database 6.1则是通用数据库的典范,是第一个具备网上功能的多媒体关系数据库管理系统,支持包括Linux在内的一系列平台。
2. OracleOracle 前身叫SDL,由Larry Ellison 和另两个编程人员在1977创办,他们开发了自己的拳头产品,在市场上大量销售,1979 年,Oracle公司引入了第一个商用SQL 关系数据库管理系统。
Oracle公司是最早开发关系数据库的厂商之一,其产品支持最广泛的操作系统平台。
目前Oracle关系数据库产品的市场占有率名列前茅。
3. InformixInformix在1980年成立,目的是为Unix等开放操作系统提供专业的关系型数据库产品。
公司的名称Informix便是取自Information 和Unix的结合。
Informix第一个真正支持SQL语言的关系数据库产品是Informix SE(StandardEngine)。
InformixSE是在当时的微机Unix环境下主要的数据库产品。
它也是第一个被移植到Linux上的商业数据库产品。
4. SybaseSybase公司成立于1984年,公司名称“Sybase”取自“system”和 “database” 相结合的含义。
Sybase公司的创始人之一Bob Epstein 是Ingres 大学版(与System/R同时期的关系数据库模型产品)的主要设计人员。
公司的第一个关系数据库产品是1987年5月推出的Sybase SQLServer1.0。
Sybase首先提出Client/Server 数据库体系结构的思想,并率先在Sybase SQLServer 中实现。
5. SQL Server1987 年,微软和 IBM合作开发完成OS/2,IBM 在其销售的OS/2 ExtendedEdition 系统中绑定了OS/2Database Manager,而微软产品线中尚缺少数据库产品。
为此,微软将目光投向Sybase,同Sybase 签订了合作协议,使用Sybase的技术开发基于OS/2平台的关系型数据库。
1989年,微软发布了SQL Server 1.0 版。
6. PostgreSQLPostgreSQL 是一种特性非常齐全的自由软件的对象——关系性数据库管理系统(ORDBMS),它的很多特性是当今许多商业数据库的前身。
PostgreSQL最早开始于BSD的Ingres项目。
PostgreSQL 的特性覆盖了SQL-2/SQL-92和SQL-3。
首先,它包括了可以说是目前世界上最丰富的数据类型的支持;其次,目前PostgreSQL 是唯一支持事务、子查询、多版本并行控制系统、数据完整性检查等特性的唯一的一种自由软件的数据库管理系统.7.mySQLmySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。
在2008年1月16号被Sun公司收购。
目前MySQL被广泛地应用在Internet上的中小型网站中。
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
MySQL的官方网站的网址是: www.mysql.com
在软件开发中,什么是框架
展开全部 软件开发中的框架是什么,现在主流的开发框架是一种基于B/S(Brouser/Server)结构技术的web框架,以网页的表现形式,包含前端、后端和数据库三个大的方向,各个方向的技术框架都不一样,现在主流的技术框架包含JAVA、.NET、SqlServer、Bootstrap等,学会了这些也就知道软件开发中的框架是什么了。
软件开发框架详解软件开发框架前端技术包括三个要素:HTML、CSS和JavaScript,还有很多高级的前端框架,比如bootstrap、Jquery等,前端开发也是比较的复杂,如果找到规律,开发起来也比较的快。
软件开发框架后端技术也有很多,比如.Net、JAVA、PHP等,各大语言都有其开发架构,像.NET的MVC架构,JAVA的Java EE,一般web后端技术的知识面是很广的,语言、设计模式、需求分析、性能优化等都要懂。
软件开发框架数据库技术现在有三种主流的关系型数据库:Mysql\SQLserver\Oracle,还有Nosql等结构性关系型数据库:Redis、Mogodb等。
...
转载请注明出处51数据库 » 关系型数据库软件开发过程中的难点是什么如
__-荒