重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
加多一列层级码,会简单很多比如亚洲用‘01’ 中国用‘0101’,北京用‘010101‘,海定用‘01010101’,东城用’01010102‘
创新互联网站建设由有经验的网站设计师、开发人员和项目经理组成的专业建站团队,负责网站视觉设计、用户体验优化、交互设计和前端开发等方面的工作,以确保网站外观精美、成都网站设计、做网站、成都外贸网站建设公司易于使用并且具有良好的响应性。
这样语句可以
select id as col1,(select name from 表 where code = SubString(a.Code, 1,2)) as col2,
(select name from 表 where code = SubString(a.Code, 3,2)) as col3,
(select name from 表 where code = SubString(a.Code, 5,2)) as col4,
(select name from 表 where code = SubString(a.Code, 7,2)) as col5
from 表 a where Type = 'Distric'
不然
(select d.name from 表 b, 表 c, 表 d where a.parentid = b.id and b.parentid = c.id
and c.parentid = d.id) as col2,...
写起来比较麻烦
1、首先你得搞清楚建设数仓的目的是什么
是偏向于整合各系统数据,为数据分析决策服务,还是偏向于快速的完成分析决策需求?
如果是前者,那么在数据仓库建模的时候一般会选择ER建模方法;
如果是后者,一般会选择维度建模方法。
ER建模:即实体关系建模,由数据仓库之父BIll Inmon提出,核心思想是从全企业的高度去设计三范式模型,用实体关系描述企业服务。主张的是自上而下的架构,将不同的OLTP数据集中到面向主题的数据仓库中。
维度建模:由Kimball提出,核心思想是从分析决策的需求出发构建模型。这种模型由事实表和维表组成,即星型模型和雪花模型。Kimball倡导自下而上的架构,可以针对独立部门建立数据集市,再递增的构建,汇总成数据仓库。
2、其次你得进行深入的业务调研和数据调研
业务调研:深入的业务调研能使你更加明确数仓建设的目的;同时也利于后续的建模设计,随着调研的开展,如何将实体业务抽象为数仓模型会更加明朗。
数据调研:各部门或各科室的数据现状了解,包括数据分类、数据存储方式、数据量、具体的数据内容等等。这对后续的主数据串联或者维度一致性处理等等都是必须的基础。
3、然后是数据仓库工具选型
传统型数据仓库:一般会选择第三方厂家的数据库和配套ETL工具。因为有第三方支持,相对有保障;但缺点也很明显,受约束以及成本较高。
NoSQL型数据仓库:一般是基于hadoop生态的数据仓库。hadoop生态已经非常强大,可以找到各种开源组件去支持数据仓库。缺点是需要招聘专门人士去摸索,并且相对会存在一些未知隐患。
4、最后是设计与实施
设计:包括数据架构中的数据层次划分以及具体的模型设计;也包括程序架构中的数据质量管理、元数据管理、调度管理等;
实施:规范化的项目管理实施,但同时也需记住一点,数据仓库不是一个项目,它是一个过程。
一、开发公司不同
1、SQLserver:SQLserverr是由Microsoft开发和推广。
2、Mysql:Mysql由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。
二、开发工具包搭配不同
1、SQLserver:SQLserver能与 Microsoft Visual Studio、Microsoft Office System以及开发工具包搭配。
2、Mysql:Mysql不能与 Microsoft Visual Studio、Microsoft Office System以及开发工具包搭配。
应用环境:
与其他的大型数据库例如 Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于 MySQL是开放源码软件,因此可以大大降低总体拥有成本。
以上内容参考:百度百科-mySQL
电子商务最早产生于20世纪60年代,大规模发展于20世纪90年代,其产生和发展的重要条件主要有以下几个方面。
1.经济全球化的发展
经济全球化是指世界各国的经济在生产、分配、消费各个领域发生的一体化趋势。经济全球化促进了跨国公司的发展,使国际范围内的商务活动变得频繁,而且使国际贸易成为了各国经济发展的重要组成部分。经济全球化促使人们寻找合适的方式来满足这种商务活动,电子商务由此应运而生,并以其独特的优势成为这场革命中的重要力量,在国际商务活动中扮演着越来越重要的角色。
2.计算机和网络技术的发展、普及和广泛应用近30年来,计算机的运行速度越来越快,处理能力越来越强,价格越来越低,应用越来越广泛,这为电子商务的应用提供了基础。由于国际互联网逐渐成为全球通信与交易的媒体,全球上网用户呈级数增长趋势,快捷、安全、低成本的特点为电子商务的发展提供了应用条件。
3.信用卡和电子金融的普及应用
信用卡以其方便、快捷、安全等优点而成为人们消费支付的重要手段,并由此形成了完善的全球性信用卡计算机网络支付与结算系统,使“一卡在手,走遍全球”成为可能,同时也成为电子商务中网上支付的重要手段。各大银行也都看到了电子商务的发展前景,纷纷推出了支持在线交易的电子金融服务,在安全技术的保障下,电子银行的发展解决了商务活动中的支付问题,成为促进电子商务发展的强大动力。
4.电子安全交易协议的制定和安全技术的发展
1997年5月31日,由美国VISA和Mastercard国际组织等联合指定的电子安全交易协议(Secure Electronic Transfer
Protocol,SET)出台,该协议得到了大多数厂商的认可和支持,为在网络上进行电子商务活动提供了一个关键的安全环境。计算机和网络安全技术的发展为电子商务的开展提供了技术和安全保障,这些技术包括HTML、XML、数据库技术、动态网页技术、SSL协议、SET协议、加密技术、防火墙技术和数字签名技术等。
5.政府的支持与推动
自1997年欧盟发布了欧洲电子商务协议,美国随后发布《全球电子商务纲要》以后,电子商务受到了世界各国政府的重视,许多国家的政府开始尝试“网上采购”,这为电子商务的发展提供了有力的支持。同时,各国政府都非常重视电子商务的发展,为电子商务的发展提供良好的生存环境,同时为电子商务制定法律规范和技术标准,这就保障了电子商务的合法进行和长远发展
数据库技术从诞生到现在,在不到
半个世纪的时间里,形成了坚实的理论
基础、成熟的商业产品和广泛的应用领
域,吸引越来越多的研究者加入。数据库
的诞生和发展给计算机信息管理带来了
一场巨大的革命。三十多年来,国内外已
经开发建设了成千上万个数据库,它已
成为企业、部门乃至个人日常工作、生产
和生活的基础设施。同时,随着应用的扩
展与深入,数据库的数量和规模越来越
大,数据库的研究领域也已经大大地拓
广和深化了。30年间数据库领域获得了
三次计算机图灵奖(C.W. Bachman,
E.F.Codd, J.Gray),更加充分地说明
了数据库是一个充满活力和创新精神的
领域。就让我们沿着历史的轨迹,追溯一
下数据库的发展历程。
数据库发展简史
1. 数据管理的诞生
数据库的历史可以追溯到五十年前,
那时的数据管理非常简单。通过大量的
分类、比较和表格绘制的机器运行数百
万穿孔卡片来进行数据的处理,其运行
结果在纸上打印出来或者制成新的穿孔
卡片。而数据管理就是对所有这些穿孔
卡片进行物理的储存和处理。
然而,1 9 5 1 年雷明顿兰德公司
(Remington Rand Inc.)的一种叫做
Univac I 的计算机推出了一种一秒钟可
以输入数百条记录的磁带驱动器,从而
引发了数据管理的革命。1956 年IBM生
产出第一个磁盘驱动器—— the Model
305 RAMAC。此驱动器有50 个盘片,
每个盘片直径是2 英尺,可以储存5MB
的数据。使用磁盘最大的好处是可以随
机地存取数据,而穿孔卡片和磁带只能
顺序存取数据。
数据库系统的萌芽出现于60 年代。
当时计算机开始广泛地应用于数据管理,
对数据的共享提出了越来越高的要求。
传统的文件系统已经不能满足人们的需
要。能够统一管理和共享数据的数据库
管理系统(DBMS)应运而生。数据模型
是数据库系统的核心和基础,各种
DBMS 软件都是基于某种数据模型的。
所以通常也按照数据模型的特点将传统
数据库系统分成网状数据库、层次数据
库和关系数据库三类。
最早出现的是网状DBMS,是美国
通用电气公司Bachman等人在1961年开
发成功的IDS(Integrated DataStore)。
1961年通用电气公司(General Electric
Co.)的Charles Bachman 成功地开发
出世界上第一个网状DBMS也是第一个
数据库管理系统—— 集成数据存储
(Integrated DataStore IDS),奠定了网
状数据库的基础,并在当时得到了广泛
的发行和应用。IDS 具有数据模式和日
志的特征。但它只能在GE主机上运行,
并且数据库只有一个文件,数据库所有
的表必须通过手工编码来生成。
之后,通用电气公司一个客户——
BF Goodrich Chemical 公司最终不得
不重写了整个系统。并将重写后的系统
命名为集成数据管理系统(IDMS)。
网状数据库模型对于层次和非层次
结构的事物都能比较自然的模拟,在关
系数据库出现之前网状DBMS要比层次
DBMS用得普遍。在数据库发展史上,网
状数据库占有重要地位。
层次型DBMS是紧随网络型数据库
而出现的。最著名最典型的层次数据库
系统是IBM 公司在1968 年开发的IMS
(Information Management System),一
种适合其主机的层次数据库。这是IBM
公司研制的最早的大型数据库系统程序
产品。从60 年代末产生起,如今已经发
展到IMSV6,提供群集、N路数据共享、
消息队列共享等先进特性的支持。这个
具有3 0 年历史的数据库产品在如今的
WWW应用连接、商务智能应用中扮演
着新的角色。
1973 年Cullinane 公司(也就是后
来的C u l l i n e t 软件公司),开始出售
Goodrich 公司的IDMS 改进版本,并且
逐渐成为当时世界上最大的软件公司。
2. 关系数据库的由来
网状数据库和层次数据库已经很好
1951:Univac I 系统使用磁带
和穿孔卡片作为数据存储
管理·开发故事
数据库发展史
程序员2004.06 47
地解决了数据的集中和共享问题,但是
在数据独立性和抽象级别上仍有很大欠
缺。用户在对这两种数据库进行存取时,
仍然需要明确数据的存储结构,指出存
取路径。而后来出现的关系数据库较好
地解决了这些问题。
1970 年,IBM 的研究员E.F.Codd
博士在刊物Communication of the ACM
上发表了一篇名为“A Relational Model
of Data for Large Shared Data Banks”
的论文,提出了关系模型的概念,奠定了
关系模型的理论基础。尽管之前在1968
年Childs 已经提出了面向集合的模型,
然而这篇论文被普遍认为是数据库系统
历史上具有划时代意义的里程碑。Codd
的心愿是为数据库建立一个优美的数据
模型。后来Codd又陆续发表多篇文章,
论述了范式理论和衡量关系系统的12条
标准,用数学理论奠定了关系数据库的
基础。关系模型有严格的数学基础,抽象
级别比较高,而且简单清晰,便于理解和
使用。但是当时也有人认为关系模型是
理想化的数据模型,用来实现DBMS是
不现实的,尤其担心关系数据库的性能
难以接受,更有人视其为当时正在进行
中的网状数据库规范化工作的严重威胁。
为了促进对问题的理解,1974年ACM牵
头组织了一次研讨会,会上开展了一场
分别以Codd 和Bachman为首的支持和
反对关系数据库两派之间的辩论。这次
著名的辩论推动了关系数据库的发展,
使其最终成为现代数据库产品的主流。
1970 年关系模型建立之后,IBM公
司在San Jose实验室增加了更多的研究
人员研究这个项目,这个项目就是著名
的System R。目标是论证一个全功能关
系DBMS的可行性。该项目结束于1979
年,完成了第一个实现SQL的DBMS。然
而IBM 对IMS 的承诺阻止了System R
的投产,一直到1980 年System R 才作
为一个产品正式推向市场。IBM 产品化
步伐缓慢的三个原因:IBM重视信誉、重
视质量、尽量减少故障;IBM 的官僚体
系庞大;IBM 内部已经有层次数据库产
品,相关人员不积极,甚至反对。
然而同时,1973年加州大学伯克利
分校的Michael Stonebraker 和Eugene
Wong利用System R已发布的信息开始
开发自己的关系数据库系统Ingres。他
们开发的Ingres项目最后由Oracle公司、
Ingres 公司以及硅谷的其他厂商所商品
化。后来,System R和Ingres 系统双双
获得ACM的1988 年“软件系统奖”。
1976 年霍尼韦尔公司(Honeywell)
开发了第一个商用关系数据库系统——
Multics Relational Dat a Store。关系型数
据库系统以关系代数为坚实的理论基础,
经过几十年的发展和实际应用,技术越
来越成熟和完善。其代表产品有Oracle、
IBM 公司的DB2、微软公司的MS SQL
Server 以及Informix、ADABASD 等等。
3. 结构化查询语言 (SQL)
1974 年,IBM 的Ray Boyce 和Don
Chamberlin 将Codd关系数据库的12条
准则的数学定义以简单的关键字语法表
现出来,里程碑式地提出了S Q L
(Structured Query Language)语言。
SQL语言的功能包括查询、操纵、定义和
控制,是一个综合的、通用的关系数据库
语言,同时又是一种高度非过程化的语
言,只要求用户指出做什么而不需要指
出怎么做。SQL集成实现了数据库生命周
期中的全部操作。SQL提供了与关系数据
库进行交互的方法,它可以与标准的编
程语言一起工作。自产生之日起,SQL语
言便成了检验关系数据库的试金石,而
SQL语言标准的每一次变更都指导着关系
数据库产品的发展方向。然而,直到二十
世纪七十年代中期,关系理论才通过SQL
在商业数据库Oracle和DB2中使用。
1986年,ANSI把SQL作为关系数据
库语言的美国标准,同年公布了标准
1969:Edgar F. Codd
发明了关系数据库
数据库发展史
1976年IBM E.F.Codd发表了一篇里
程碑的论文“R系统:数据库关系理论”,
介绍了关系数据库理论和查询语言SQL。
Oracle的创始人Ellison非常仔细地阅读了
这篇文章,被其内容震惊,这是第一次有
人用全面一致的方案管理数据信息。作
者E.F.Codd十年前就发表了关系数据库
理论,并在IBM 研究机构开发原型,这
个项目就是R系统,存取数据表的语言
就是SQL。Ellison看完后,敏锐意识到在
这个研究基础上可以开发商用软件系统。
而当时大多数人认为关系数据库不
会有商业价值。Ellison认为这是他们的
机会:他们决定开发通用商用数据库系统
Oracle,这个名字来源于他们曾给中央情
报局做过的项目名。几个月后,他们就开
发了Oracle 1.0 。但这只不过是个玩具,
除了完成简单关系查询不能做任何事情,
他们花相当长的时间才使Oracle变得可
用,维持公司运转主要靠承接一些数据
库管理项目和做顾问咨询工作。
而IBM却没有计划开发,为什么蓝
色巨人放弃了这个价值上百亿的产品,
原因有很多:IBM的研究人员大多是学
术出身,他们最感兴趣的是理论,而非
推向市场的产品,从学术上看,研究成
果应公开,发表论文和演讲能使他们
成名,为什么不呢?还有一个很主要
的原因就是IBM 当时有一个销售得还
不错的层次数据库产品IMS。直到1985
年I B M 才发布了关系数据库D B 2 ,
Ellision那时已经成了千万富翁。
Ellison曾将IBM 选择Microsoft 的
MS-DOS作为IBM-PC机的操作系统比
为:“世界企业经营历史上最严重的错
误,价值超过了上千亿美元。”IBM 发
表R系统论文,而且没有很快推出关系
数据库产品的错误可能仅仅次之。
Oracle 的市值在1996年就达到了280亿
美元。
Oracle 的由来
48 程序员2004.06
SQL文本。目前SQL标准有3个版本。基
本SQL定义是ANSIX3135-89,“Database
Lan guage —— SQ L w it h I nt e gri t y
Enhancement”[ANS89],一般叫做SQL-
89。SQL-89 定义了模式定义、数据操作
和事务处理。S Q L - 8 9 和随后的
ANSIX3168-1989,“Database Language—
—Embedded SQL”构成了第一代SQL标
准。ANSIX3135-1992[ANS92]描述了一
种增强功能的SQL,现在叫做SQL-92标
准。SQL-92 包括模式操作,动态创建和
SQL语句动态执行、网络环境支持等增
强特性。在完成SQL-92标准后,ANSI和
ISO即开始合作开发SQL3标准。SQL3的
主要特点在于抽象数据类型的支持,为
新一代对象关系数据库提供了标准。
4. 面向对象数据库
随着信息技术和市场的发展,人们
发现关系型数据库系统虽然技术很成熟,
但其局限性也是显而易见的:它能很好
地处理所谓的“表格型数据”,却对越来
越多复杂类型的数据无能为力。九十年
代以后,技术界一直在研究和寻求新型
数据库系统。但什么是新型数据库系统
的发展方向,产业界一度相当困惑。受当
时技术风潮的影响,在相当一段时间内,
人们把大量的精力花在研究“面向对象
的数据库系统(O b j e c t - O r i e n t e d
Database)”或简称“OO数据库系统”。
值得一提的是,美国Stonebraker教授提
出的面向对象的关系型数据库理论曾一
度受到产业界的青睐。而Stonebraker本
人也在当时被Informix花大价钱聘为技
术总负责人。
然而,数年的发展表明,面向对象的
关系型数据库系统产品的市场发展情况
并不理想。理论上的完美性并没有带来
市场的热烈反应。不成功的主要原因在
于,这种数据库产品的主要设计思想是
企图用新型数据库系统来取代现有的数
据库系统。这对许多已经运用数据库系
统并积累了大量工作数据的客户,尤其
是大客户来说,无法承受新旧数据间的
转换而带来的巨大工作量及巨额开支。
另外, 面向对象的关系型数据库系统使
查询语言变得极其复杂,从而使得无论
是数据库的开发商家还是应用客户都视
其复杂的应用技术为畏途。
5. 数据管理的变革
二十世纪六十年代后期出现了一种
新型数据库软件:决定支持系统(DSS),
其目的是让管理者在决策过程中更有效
地利用数据信息。于是在1970 年,第一
个联机分析处理工具—— Express 诞生
了。其他决策支持系统紧随其后,许多是
由公司的IT 部门开发出来的。
1 9 8 5 年,第一个商务智能系统
(business intelligence)由Metaphor计
算机系统有限公司为Procter Gamble
公司开发出来,主要用来连接销售信息
和零售的扫描仪数据。同年, Pilot软件
公司开始出售第一个商用客户/ 服务器
执行信息系统—— Command Center。
同样在这年,加州大学伯克利分校
Ingres 项目演变成Postgres,其目标是开
发出一个面向对象的数据库。此后一年,
Graphael公司开发了第一个商用的对象
数据库系统—— Gbase。
1988 年,IBM 公司的研究者Barry
Devlin和Paul Murphy发明了一个新的
术语——信息仓库,之后,IT厂商开始
构建实验性的数据仓库。1991年,W.H.
Inmon出版了一本《如何构建数据仓库》
的书,使得数据仓库真正开始应用,因此
Inmon 也被尊称为“数据仓库之父”。
二十世纪九十年代,随着客户/ 服
务器计算模式和企业软件包的广泛采用,
数据管理的变革基本完成。数据管理不
再仅仅是存储和管理数据,而转变成用
户需要的各种数据管理的方式。Internet
的异军突起以及XML语言的出现,给数
据库系统的发展开辟了一片新天地。
数据库未来发展趋势
随着信息管理内容的不断扩展,出
现了丰富多样的数据模型(层次模型,网
状模型,关系模型,面向对象模型,半结
构化模型等),新技术也层出不穷(数据
流,Web数据管理,数据挖掘等)。
目前每隔几年,国际上一些资深的
数据库专家就会聚集一堂,探讨数据库
研究现状,存在的问题和未来需要关注
的新技术焦点。过去已有的几个类似报
告包括:1989 年Future Directions in
DBMS Research-The Laguna Beach
Participants ,1990 年Database
S y s t e m s : A c h i e v e m e n t s a n d
Opportunities ,1995 年的Database
1991:W.H. Inmon 发
表了《构建数据仓库》
数据库发展大事记
1951:Univac系统使用磁带和穿孔卡
片作为数据存储。
1956:IBM公司在其Model 305 RAMAC
中第一次引入了磁盘驱动器
1961:通用电气(GE)公司的Charles
Bachman开发了第一个数据库
管理系统—— IDS
1969:E.F. Codd发明了关系数据库。
1973:John J.Cullinane领导Cullinane公
司开发了 IDMS ——一个针对
IBM 主机的基于网络模型的数
据库。
1976:Honeywell 公司推出了Multics
Relational Data Store ——第一
个商用关系数据库产品。
1979:Oracle公司引入了第一个商用
SQL 关系数据库管理系统。
1983:IBM 推出了DB2 数据库产品。
1985:为Procter Gamble 系统设计
的第一个商务智能系统产生。
1991:W.H.Inmon发表了《构建数据
仓库》。
管理·开发故事
程序员2004.06 49
Research; Achievements and Opportunities
into the 21st Century,1996
年Strategic Directions in Database
Systems-Breaking Out of the Box 和
1998 年的The Asilomar Report on
Database Research。2003 年的聚会于5
月初在Lowell Mass举行,共25位资深
数据库学者参加,集中讨论了信息存储、
组织、管理和访问等问题。
信息的本质和来源在不断变化,
Internet、Web、自然科学、电子商务是
信息和信息处理的巨大源泉。而廉价的
微型传感器技术使得大部分物体可以实
时汇报他们的位置和状态。这类信息能
支持对移动对象的状态和位置的监视应
用。传感信息的处理将会引发许多新环
境下极有趣味的数据库问题。
而在应用领域,Internet是目前主要
的驱动力,特别是在支持“跨企业”的应
用上。历史上,应用都是企业内部的,可
以在一个行政领域内进行完善的指定和
优化。但现在,大部分企业感兴趣的是如
何与供应商、客户进行更密切的交流以
便共享信息,以便提供更好的客户支持。
这类应用需要安全和信息集成的有力工
具。由此产生了数据库相关的新问题。
另一个重要应用领域是自然科学,
特别是物理科学、生物科学、保健科学和
工程领域。这些领域产生了大量复杂的
数据集,需要比现有的数据库产品更高
级的数据库支持。这些领域同样也需要
信息集成机制的支持。除此之外,还需要
对数据分析器产生的数据管道的管理,
需要对有序数据的存储和查询(如:时间
序列、图像分析、网格计算和地理信息),
需要世界范围内数据网格的集成。
除了在信息管理领域的这些挑战外,
在传统的DBMS 上,诸如数据模型、访
问方法、查询处理代数、并发控制、恢复、
查询语言和DBMS的用户界面等也面临
着巨大的变化。这些问题过去已经得到
充分的研究,但是技术的发展不断改变
其应用规则。比如说,磁盘和RAM容量
的不断变大,存储每个比特数据的花费
不断降低。虽然访问次数和带宽也在不
断提高,但是他们不像前者发展得那样
快,不断变化的比率要求重新评估存储
管理和查询处理代数。除此之外,处理器
高速缓存的规模和层次的提高,要求
DBMS 算法能够适应cache大小的变化。
上述只是由于技术改变而对原有算法重
新评价的两个例子。
另一个推动数据库研究发展的动力
是相关技术的成熟。如过去几十年里,数
据挖掘技术已成为数据库系统重要的组
成部分。Web搜索引擎导致了信息检索
的商品化,并和传统的数据库查询技术
集成。许多人工智能领域的研究成果也
和数据库技术融合起来,这些新组件使
得我们处理语音、自然语言、进行不确定
性推理和机器学习等。整体上,这些都要
求一个与我们现在完全不同的信息管理
架构,并重新考虑信息存储、组织、管理
和访问等方面的问题。
近40年中,数据库研究工作集中在
数据库管理系统开发的核心领域上,而
数据管理的研究范畴远比这宽的多。如
果忽视一些新的应用领域面临的数据管
理问题,就会使数据库研究局限于传统
的数据管理应用上而失去活力。
在众多新技术应用中,对数据库研
究最具影响力,推动数据库研究进入新
纪元的无疑将是I n t e r n e t 的发展。
Internet从深度和广度两方面对数据库技
术提出了挑战。从深度上讲,Internet环
境中,一些数据管理的基本假设不再成
立,需要重新考虑在新情况下对传统数
据库技术的改进。从广度上讲,新问题的
出现需要开拓思路,寻求创新性的技术
突破。