首页数据库数据库实验六?数据库的发展简史

数据库实验六?数据库的发展简史

编程之家2023-10-21109次浏览

大家好,今天小编来为大家解答以下的问题,关于数据库实验六,数据库的发展简史这个很多人还不知道,现在让我们一起来看看吧!

数据库实验六?数据库的发展简史

数据库的发展简史

使用计算机后,随着数据处理量的增长,产生了数据管理技术。数据管理技术的发展与计算机硬件(主要是外部存储器)系统软件及计算机应用的范围有着密切的联系。数据管理技术的发展经历了以下四个阶段:人工管理阶段、文件系统阶段、数据库阶段和高级数据库技术阶段。

数据管理的诞生

数据库的历史可以追溯到五十年前,那时的数据管理非常简单。通过大量的分类、比较和表格绘制的机器运行数百万穿孔卡片来进行数据的处理,其运行结果在纸上打印出来或者制成新的穿孔卡片。而数据管理就是对所有这些穿孔卡片进行物理的储存和处理。然而,1950年雷明顿兰德公司(Remington Rand Inc)的一种叫做Univac I的计算机推出了一种一秒钟可以输入数百条记录的磁带驱动器,从而引发了数据管理的革命。1956年IBM生产出第一个磁盘驱动器—— the Model 305 RAMAC。此驱动器有50个盘片,每个盘片直径是2英尺,可以储存5MB的数据。使用磁盘最大的好处是可以随机存取数据,而穿孔卡片和磁带只能顺序存取数据。

1951: Univac系统使用磁带和穿孔卡片作为数据存储。

数据库系统的萌芽出现于二十世纪60年代。当时计算机开始广泛地应用于数据管理,对数据的共享提出了越来越高的要求。传统的文件系统已经不能满足人们的需要,能够统一管理和共享数据的数据库管理系统(DBMS)应运而生。数据模型是数据库系统的核心和基础,各种DBMS软件都是基于某种数据模型的。所以通常也按照数据模型的特点将传统数据库系统分成网状数据库、层次数据库和关系数据库三类。

最早出现的网状DBMS,是美国通用电气公司Bachman等人在1961年开发的IDS(Integrated Data Store)。1964年通用电气公司(General ElectricCo.)的Charles Bachman成功地开发出世界上第一个网状DBMS也即第一个数据库管理系统——集成数据存储(Integrated Data Store IDS),奠定了网状数据库的基础,并在当时得到了广泛的发行和应用。IDS具有数据模式和日志的特征,但它只能在GE主机上运行,并且数据库只有一个文件,数据库所有的表必须通过手工编码生成。之后,通用电气公司一个客户——BF Goodrich Chemical公司最终不得不重写了整个系统,并将重写后的系统命名为集成数据管理系统(IDMS)。

数据库实验六?数据库的发展简史

网状数据库模型对于层次和非层次结构的事物都能比较自然的模拟,在关系数据库出现之前网状DBMS要比层次DBMS用得普遍。在数据库发展史上,网状数据库占有重要地位。

层次型DBMS是紧随网络型数据库而出现的,最著名最典型的层次数据库系统是IBM公司在1968年开发的IMS(Information Management System),一种适合其主机的层次数据库。这是IBM公司研制的最早的大型数据库系统程序产品。从60年代末产生起,如今已经发展到IMSV6,提供群集、N路数据共享、消息队列共享等先进特性的支持。这个具有30年历史的数据库产品在如今的WWW应用连接、商务智能应用中扮演着新的角色。

1973年Cullinane公司(也就是后来的Cullinet软件公司),开始出售Goodrich公司的IDMS改进版本,并且逐渐成为当时世界上最大的软件公司。网状数据库和层次数据库已经很好地解决了数据的集中和共享问题,但是在数据独立性和抽象级别上仍有很大欠缺。用户在对这两种数据库进行存取时,仍然需要明确数据的存储结构,指出存取路径。而后来出现的关系数据库较好地解决了这些问题。

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为首的支持和反对关系数据库两派之间的辩论。这次著名的辩论推动了关系数据库的发展,使其最终成为现代数据库产品的主流。

1969年Edgar F.“Ted” Codd发明了关系数据库。

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 Data Store。关系型数据库系统以关系代数为坚实的理论基础,经过几十年的发展和实际应用,技术越来越成熟和完善。其代表产品有Oracle、IBM公司的 DB2、微软公司的MS SQL Server以及Informix、ADABAS D等等。 1974年IBM的Ray Boyce和Don Chamberlin将Codd关系数据库的12条准则的数学定义以简单的关键字语法表现出来,里程碑式地提出了SQL(Structured Query Language)语言。SQL语言的功能包括查询、操纵、定义和控制,是一个综合的、通用的关系数据库语言,同时又是一种高度非过程化的语言,只要求用户指出做什么而不需要指出怎么做。SQL集成实现了数据库生命周期中的全部操作。SQL提供了与关系数据库进行交互的方法,它可以与标准的编程语言一起工作。自产生之日起,SQL语言便成了检验关系数据库的试金石,而SQL语言标准的每一次变更都指导着关系数据库产品的发展方向。然而,直到二十世纪七十年代中期,关系理论才通过SQL在商业数据库Oracle和DB2中使用。

1986年,ANSI把SQL作为关系数据库语言的美国标准,同年公布了标准SQL文本。SQL标准有3个版本。基本SQL定义是ANSⅨ3135-89,“Database Language- SQL with Integrity Enhancement”[ANS89],一般叫做SQL-89。SQL-89定义了模式定义、数据操作和事务处理。SQL- 89和随后的ANSⅨ3168-1989,“Database Language-Embedded SQL”构成了第一代SQL标准。ANSⅨ3135-1992[ANS92]描述了一种增强功能的SQL,叫做SQL-92标准。SQL-92包括模式操作,动态创建和SQL语句动态执行、网络环境支持等增强特性。在完成SQL-92标准后,ANSI和ISO即开始合作开发SQL3标准。SQL3的主要特点在于抽象数据类型的支持,为新一代对象关系数据库提供了标准。

1976年IBM E.F.Codd发表了一篇里程碑的论文“R系统:数据库关系理论”,介绍了关系数据库理论和查询语言SQL。Oracle的创始人Ellison非常仔细地阅读了这篇文章,被其内容震惊,这是第一次有人用全面一致的方案管理数据信息。作者E.F.Codd 1966年就发表了关系数据库理论,并在IBM研究机构开发原型,这个项目就是R系统,存取数据表的语言就是SQL。Ellison看完后,敏锐意识到在这个研究基础上可以开发商用软件系统。而当时大多数人认为关系数据库不会有商业价值。Ellison认为这是他们的机会:他们决定开发通用商用数据库系统Oracle,这个名字来源于他们曾给中央情报局做过的项目名。几个月后,他们就开发了Oracle 1.0。但这只不过是个玩具,除了完成简单关系查询不能做任何事情,他们花相当长的时间才使Oracle变得可用,维持公司运转主要靠承接一些数据库管理项目和做顾问咨询工作。而IBM却没有计划开发,为什么蓝色巨人放弃了这个价值上百亿的产品,原因有很多:IBM的研究人员大多是学术出身,他们最感兴趣的是理论,而非推向市场的产品,从学术上看,研究成果应公开发表论文和演讲能使他们成名,为什么不呢?还有一个很主要的原因就是IBM当时有一个销售得还不错的层次数据库产品IMS。直到1985年IBM才发布了关系数据库DB2,Ellision那时已经成了千万富翁。Ellison曾将IBM选择Microsoft的MS-DOS作为IBM-PC机的操作系统比为:“世界企业经营历史上最严重的错误,价值超过了上千亿美元。”IBM发表R系统论文,而且没有很快推出关系数据库产品的错误可能仅仅次之。Oracle的市值在1996年就达到了280亿美元。随着信息技术和市场的发展,人们发现关系型数据库系统虽然技术很成熟,但其局限性也是显而易见的:它能很好地处理所谓的“表格型数据”,却对技术界出现的越来越多的复杂类型的数据无能为力。九十年代以后,技术界一直在研究和寻求新型数据库系统。但在什么是新型数据库系统的发展方向的问题上,产业界一度是相当困惑的。受当时技术风潮的影响,在相当一段时间内,人们把大量的精力花在研究“面向对象的数据库系统(object oriented database)”或简称“OO数据库系统”。值得一提的是,美国Stonebraker教授提出的面向对象的关系型数据库理论曾一度受到产业界的青睐。而Stonebraker本人也在当时被Informix花大价钱聘为技术总负责人。

然而,数年的发展表明,面向对象的关系型数据库系统产品的市场发展的情况并不理想。理论上的完美性并没有带来市场的热烈反应。其不成功的主要原因在于,这种数据库产品的主要设计思想是企图用新型数据库系统来取代现有的数据库系统。这对许多已经运用数据库系统多年并积累了大量工作数据的客户,尤其是大客户来说,是无法承受新旧数据间的转换而带来的巨大工作量及巨额开支的。另外,面向对象的关系型数据库系统使查询语言变得极其复杂,从而使得无论是数据库的开发商家还是应用客户都视其复杂的应用技术为畏途。二十世纪六十年代后期出现了一种新型数据库软件:决策支持系统(DSS),其目的是让管理者在决策过程中更有效地利用数据信息。于是在1970年,第一个联机分析处理工具——Express诞生了。其他决策支持系统紧随其后,许多是由公司的IT部门开发出来的。

1985年,第一个商务智能系统(business intelligence)由Metaphor计算机系统有限公司为Procter& Gamble公司开发出来,主要是用来连接销售信息和零售的扫描仪数据。同年, Pilot软件公司开始出售第一个商用客户/服务器执行信息系统——Command Center。同样在这年,加州大学伯克利分校Ingres项目演变成Postgres,其目标是开发出一个面向对象的数据库。此后一年, Graphael公司开发了第一个商用的对象数据库系统—Gbase。

1988年,IBM公司的研究者Barry Devlin和Paul Murphy发明了一个新的术语—信息仓库,之后,IT的厂商开始构建实验性的数据仓库。1991年,W.H. Bill Inmon出版了一本“如何构建数据仓库”的书,使得数据仓库真正开始应用。

1991: W.H.“Bill” Inmon发表了”构建数据仓库”

二十世纪九十年代,随着基于PC的客户/服务器计算模式和企业软件包的广泛采用,数据管理的变革基本完成。数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。Internet的异军突起以及XML语言的出现,给数据库系统的发展开辟了一片新的天地。

初学数据库应该从何学起

人与人的情况不同,你应该自己探索找到适合自己的学习方法。关于学习化学,这里给你一位名教师的观点

一.认真抓好“听、思、问、练”的学习四个环节,力求达到懂、会、透,提高课上吸收率。听是关键,思是核心,课堂上能不能高度集中力,聚精会神听讲,排除一切干扰和杂念去专心听讲是决定学习效率高低的关键。有些同学课上精神不集中,打盹儿,做小动作,不注意听讲,而在课余时间补课,就如同拣了芝麻丢了西瓜一样,久而久之知识缺陷越来越多,造成学习吃力,形成恶性循环。更重要的是还要会听课,不仅听会知识的来龙去脉,对概念、例题要能理解同时更要学习和感受老师讲的每一知识点的方法与思路。要学会巧妙地完整记笔记的方法,课上一定要养成“先听后记”的习惯,将听到的内容加以思考整理,提纲挈领地记录本节的重点、难点,须掌握的内容和课本上没有的内容、易错、易混或对自己有启发的地方。当时没听懂的,没明白的地方,课下要及时请教老师和同学。还要记清课本内容和发散性问题及要求当堂完成的巩固性、检验性、提高性的训练试题。课后应全面系统地整理笔记,将自己对所学知识的理解,感受作笔录。这个过程可以提高每个同学的悟性也就是消化、理解变为自己知识的过程。“思”是贯穿于整个课堂教学之中,只有积极思考,才能使自己获得知识,实现由感性到理性的飞跃,因此课上要勤于思考,学会思考,积极参加讨论,敢于发表自己的看法,甚至是争论,以此来锻炼和培养自己思维能力及表达能力。从而达到使当堂所学知识能消化、理解。要“练”一定量的习题来巩固和消化所学知识并可培养一定的技能技巧,是达到会、透的一个重要环节。但不能搞简单的重复或题海战术。要通过作一定量的题自己能悟出什么道理,总结出一些规律来,要把作题的过程看成为培养自己的思维和思维能力再提高的过程,做题后不要仅满足对答案,对解法而已,当每做稍有些难度的题后要回味一下,理顺解题思路逻辑关系和题目的类型是很有益的。可以想这道题用了哪些概念和原理,解题的基本方法是什么,不这样解行不行,哪种方法最简捷这便是一题多解的过程。能否通过改变物质、数据、操作顺序或已知条件和未知条件的互换来重解,这便是一题多变。回忆一下这道题与过去做过的题有无相同、相似之处这便是多题一解的训练。这样不仅可以加深对知识的理解,也能提高分析问题和解决问题的能力。抓住听、思、问、练四个学习环节,提高课上的吸收率,使所学知识不断地消化理解变为自己的知识,不仅能达到懂、会,更重要的是达到透,这样你就能运用自如,灵活多变培养了应变能力做到以不变应万变。二.在学习化学知识中要做到三抓,即抓基础、抓思路、抓规律。要重视基础知识的学习这是提高能力的保证。学好化学用语如元素符号、化学式、化学方程式和基本概念及元素、化合物的性质。在做题中要善于总结归类题型及解题思路。化学知识之间是有内在规律的,掌握了规律就能驾驭知识,记忆知识。如化合价的一般规律,金属元素通常显正价,非金属元素通常显负价,单质元素的化合价为零,许多元素有变价,条件不同价态不同。再如实验室制取氧气所需气体发生装置为试管。规律为只要是给固体受热无论是一种药品还是两种药品用来制取气体都要用同制氧气一样的装置-即试管。抓住规律可以加以运用如给出信息题告诉实验室制甲烷气用醋酸钠和碱石灰两种固体混合加热,虽然我们没学过这部分知识但根据固体受热制取气体的装置规律可知同制氧样。再如根据化学式的计算,要抓好思路,什么题用化学式来计算即只要有元素的质量分数的题就先要根据化学式来计算。三.要培养自己的自我完善能力每次单元测验后都要进行自我评价,找出成绩与存在问题,特别是要分析所丢分的原因是什么,各占多少分如失6分,其中粗心失2分,不会的失2分,复习不全面失2分,再分析一下自己为什么粗心、不会,找出原因以利以后的学习,坚持下去必有好处。达到不断地提高自己的非智力因素能力。建立错题本,把自己在各次各类考试中及综合练习中做错的题集中收集起来,写在错题本上。每隔一段时间把这些题再重新做一遍看看自己是否真正掌握了,把已经掌握的题做上标记进行淘汰,使不会的题逐渐减少,直到减少到零,这样坚持下去你的学习成绩一定会突飞猛进的。四.化学基本概念和原理的学习方法初中化学学科的显著特之一是概念多,这些概念理解是否准确,掌握是否熟练对学好初中化学课程关系极大。是形成正确实验技能,计算技能的依据,是分析和解决化学问题的基础。而初三学生中对概念学习不重视,认为掌握概念就是死记硬背。学法不当,效果不好,这部分内容也是中考易失分的知识之一。 1.通过感性认识来掌握概念化学基本概念是从大量的化学事实中抽象概括出来的,如通过观察铁丝在氧气中燃烧的实验,可以形成化合反应的概念。通过观察酸、碱、盐溶液的导电性可形成电离的概念。所以脱离化学事实只是单纯的背诵概念不可能有深刻的理解,更谈不上能熟练掌握了。 2.找出概念间的联系和区别化学概念之间即有本质的区别又有联系,学习时不要孤立地机械地单一记忆,应将不同的概念进行比较,从中找出它们之间的不同点和内存联系。如元素与原子、分子与原子不同点在化学反应中分子可分,原子不可再分,原子可构成分子,分子是由原子构成的。相同点都是构成物质的微粒。元素是描述物质宏观组成的,而原子是描述物质微观构成的。使用时要注意物质拽元素,分子拽原子避免出现错误。 3.要理解概念的组成和系统学习中要弄清每个概念是由哪些部分组成的,各部分之间的关系如何,其中关键部分是什么如氧化物的概念,包括三部分,一为化合物,二为两种元素组成,三为其中一种为氧元素三者缺一不可,其关键部分是第二、第三部分,弄清并搞懂了,书写和判断氧化物就容易了。再如溶解度的概念包括四部分,一为一定温度,二为100克溶剂,三为达到饱和状态,四为溶解的质量。四部分缺一不可真正懂了在判断和溶解度的有关计算题就不会出现错误了。 4.要注意概念中关键字、词的意义理解和记忆。每个概念在教材中都是用精炼的语言进行描述和表达的。在理解和记忆时切不可顾名思义,更不可断章取义,要理解概念中关键的字和词。如单质的概念,关键词为纯净物,若不强调纯净物而改为物质的话,你还判断为单质就是错误的。因为物质包括纯净物和混合物,那么由同种元素组成的物质不一定就是单质也可以为混合物如红磷与白磷,O2与O3它们都是由一种元素组成,但可组成两种单质。由此延深的题:某物质经分析只含一种元素,则该物质是(),A.一定是单质 B.一定是纯净物 C.一定是混合物 D.可能是纯净物与可能是混合物。很明显应选D。五.元素化合物知识的学习方法元素化合物知识的特点 1.元素及化合物与基本概念、基本理论相互渗透关系密切,要把这两者结合好。如由碳元素组成的金刚石、石墨物理性质的差异之大,硫酸由于浓、稀的不同而引起性质上有本质的不同。所以必须把物质的性质与基本概念、基本理论联系起来。 2.元素及化合物知识的内在联系紧密,规律性较强,知识系统都是从单质到化合物,都按存在性质用途制备的顺序进行的。而物质的存在、制备、用途都取决于物质的性质。因此学习中应紧紧抓住物质的性质去带动其余的。如依据氢气的化学性质具有可燃性和还原性来推导它的用途、存在不要去死记硬背。 3.元素及化合物知识内容多,即有共性,又有个性因此在学习中一定要全面分析问题,即记通性又记特性。如HNO3具有酸的通性又有特性与金属反应不生成氢气而生成水。 4.元素及化合物知识对实验的依赖性强,大部分化学知识是通过实验获得的。如氧气的化学性质通过与C、P、S、mg、蜡烛等演示实验使你认识到氧气是一种化学性质比较活泼的气体。所以一定要认真观察和分析实验现象达到印象深刻、记忆牢固、理解透彻。如何学习呢?1.要重视理论的指导作用。如物质结构的初步知识揭示了元素性质特别是元素化学性质跟原子最外层电子数的关系,揭示了化学反应的本质,揭示了分子形成过程及化合价的实质。这就为正确书写化学式,化学方程式奠定了理论基础。 2.要总结规律并掌握物质的特性。要抓住典型物质总结出一般规律同时还要把握住物质的特性以提高分析及解决问题的能力。如学习有机化合物可总结出甲烷、甲醇、乙醇、乙炔蜡烛等与氧气反应都生成二氧化碳和水的规律但各自都有不同的物理性质。再如学习第八章酸,通过盐酸、硫酸、硝酸、磷酸的化学性质学习总结出酸的一般规律,但对不同的酸所具有的特性也要清楚。如浓H2SO4的吸水性和脱水性,硝酸的强氧化性都要掌握就全面了,否则就会出现错误。 3.要定期整理归纳所学知识,注意纵横联系形成知识网络。元素化合物知识虽然繁多、零碎,但根据彼此之间的联系可以以某物质为中心将其联系串成一个知识网络,使零散的知识系统化、结构化,条理化。 4.将元素化合物中类别相似的知识归为一知识块进行横向比较,辩清异同点使知识更加深刻理解和掌握如H2、C、CO可从具有稳定性、可燃性、还原性比较它们的相似点和不同点。从实验操作看H2、CO分别还原CuO的操作一样,不同点是CO还原CuO需进行尾气处理。H2和CO的可燃性的火焰颜色不一样,还原性的产物都有金属或水或CO2从反应类型看CO与CuO的反应不属于置换反应。六.化学计算的学习方法 1.牢固掌握化学计算的基础知识。基本概念、原理和元素化合物是进行化学计算的依据。若概念不清,原理不明,物质的变化规律不十分明确,就会把题做错。如式量这个概念它只表示一个化学式如H2O的式量为18,5H2O中水的式量仍是18而不是90,再如A+2B=C+2D中已知C和D的式量比为22:9,若生成4克C同时还有多少克D生成。其C和D的质量比一定是22:2×9=22:18然后再进行有关计算。如把C和D的质量比仍按22:9进行计算就是错误的,反映出你对式量的概念还不清楚。 2.掌握并运用好解题步骤解题分为三步即审题、析题、解题。审题就是阅读原题,理解题意了解特点和类型弄清已知和未知,要防止不看全题断章取义,粗心大意。析题就是剖析原题,在审题基础上弄清关键词语的含义,对众多事实或复杂现象进行分析、综合、挖出隐含条件及内在联系找出突破口,从而确立解题思路和方法。这是解题中最关键的一步。解题是在析题的基础上进行的用已知求出未知得出正确结果。 3.注意解题规律和思想,掌握解题技巧要善于从典型题的分析中找出其特点、规律和思路,能举一反三,要做一题知多题从而不断提高自己的解题能力。质量守恒定律这是初三化学方程式综合计算题和用字母表示的化学方程式的计算题中的主要思路。如a克KClO3和b克MnO2加热完全反应后剩余固体质量为c克生成O2多少克?运用质量守恒定律可求出O2质量是a克+b克-c克。再如已知KClO3中氧的质量分数为39.2%,KMnO4中氧的质量分数的40.5%,若各取100克加热完全分解后哪种物质产生氧气多。表面上看KMnO4中氧元素的质量分数比KClO3中氧元素的质量分数要大,但要是认真分析抓住完全反应这个关键词语,从化学方程式可以看出KClO3中虽含氧元素的质量略比KMnO4低,但它的氧元素全部都转化为O2,而KMnO4中的氧元素只是部分转化为O2,近而得出是KClO3生成的O2多。再如有FeSO4和Fe(SO4)3的混合物测得混合物中S元素的质量分数为a%,则混合物中Fe的质量分数是多少?此题按元素质量分数求可做出来但很繁索,可以巧解。即从物质宏观元素巧妙地过度到微观原子个数来找出质量比从而可以进行计算。无论FeSO4或Fe2(SO4)3中“SO4”是不变的所以: S: O原子个数比 1: 4质量比 32: 64 1: 2设混合物的质量为1,已知S元素质量为a%,则O元素的质量为2a%,那“SO4”的总质量为3a%所以Fe元素的质量分数为1-3a%七.化学实验的学习方法 1.要重视化学实验。化学是一门以实验为基础的学科,是老师讲授化学知识的重要手段也是学生获取知识的重要途径。课本大多数概念和元素化合物的知识都是通过实验求得和论证的。通过实验有助于形成概念理解和巩固化学知识。 2.要认真观察和思考老师的课堂演示实验因为化学实验都是通过现象反映其本质的,只有正确地观察和分析才能来验证和探索有关问题,从而达到实验目的。对老师的演示实验(80多个)要细心观察,学习和模仿。要明确实验目的,了解实验原理要认真分析在实验中看到的现象,多问几个为什么,不仅要知其然,还要知所以然。要在理解的基础上记住现象。如弄清烟、雾、火焰的区别。要正确对实验现象进行描述,弄清现象与结论的区别并进行比较和分析。要会运用所学知识对实验现象进行分析来推断和检验有关物质。如六瓶无色气体分别为氧气、氮气、空气、二氧化碳气、氢气和一氧化碳气如何鉴别?其思路为从它们不同的化学性质找出方法即用点燃的木条和石灰水最后从现象的不同来推断是哪种气体。 3.要自己动手,亲自做实验不要袖手旁观。实验中要勤于思考、多问、多想分析实验发生的现象从而来提高自己的分析问题、解决问题的能力及独立实验动手能力和创新能力。 4.要掌握化学实验基本操作方法和技能并能解答一些实验问题。要做到理解基本操作原理,要能根据具体情况选择正确的操作顺序并能根据实验装置图,解答实验所提出的问题。

100分求一份数据库原理课程设计的实验报告

(图放不上去呀我自己做的E-R图)

计算机科学与信息学院

课程设计报告

课程名称:数据库概论课程设计

专业:网络方向

班级:====

学号:===

姓名:闫娟

题目:网上购书系统

指导教师:肖淑芬

2011年6月

目录

一、课程设计的背景来源 3

二、网上购书系统调查及前景 4

三、网上购书设计思想 4

1、前台系统工作流程 5

2、后台系统工作流程 6

四、网上书店工作过程的内容 6

五、数据库设计 7

1、数据项 7

2、数据结构 8

3、关系模式的设计 8

4、视图的设计 9

六、网上购书E-R图 10

六、系统的源程序 15

七、系统评价及心得体会 20

一、课程设计的背景来源

1,其实写这个课程设计写得比较匆忙,马上其他可就要考试了,本想找个男的题目来挑战下自己,后来还是因为时间需要,所以选了个相对来说我们生活比较容易接近的

2,随着现在社会的发展,网络已经成为一个市场很大的交易平台,很多人由于时间需要或者各方面原因都把网上购物作为一种消费方式,有时我们在书店要花很长时间去找一本书,有时还找不到,记得有次在孝感学院图书馆找一本概率论辅导书,花了很长很长时间呀,所以我深有体会,还是感觉在网上购书比较简单,方便。

3,班上有很多同学都从事网上购物,我刚好想利用自己的专业知识来学习下这方面的知识,自己查查资料,把这个课程设计做好。

二、网上购书系统调查及前景

人们喜欢通过阅览书籍拓展自己的知识视野,可在实际生活的购书过程中人们却遇到了不少麻烦,比如购书人多,挑书难,搬书重等,因此既方便又快捷的网络购书便成为了一种很有潜力的购书消费方式。信息时代,电子商务已经成为我们现实生活中不可缺少的一个重要组成部分,同时它以一种特殊的方式改变着我们的生活。根据调查结果显示,网民上网以获取信息为主要目的占5 3.1%。目前我国上网购物的群体中,绝大多数是年轻人,他们大多数是收入稳定、文化水平较高的中青年,网上消费已经日益成为他们生活中的一种重要的消费方式,他们成为了最有潜力的未来网上消费者。

三、网上购书设计思想

首先网上购书系统听起来是个很杂的程序,因为有很多很多书,也有很多很多人来买,但是其实我们简单的可以把它分为两个模块,这样我们就能很好的理解了,网上书店主要由前台会员管理模块和后台管理员模块两部分组成。

前台功能模块主要用于实现会员注册,登录,修改个人信息,分类查看书目信息、购书、管理购物车、结帐、查看各种服务条款等功能。

后台管理模块主要用于实现后台管理人员对会员,商品,物流,订单和系统的管理等功能。

1、前台系统工作流程

首先当我们用户登陆这个网站时,一开始就会出现让你登陆,如果是你会员,你可以直接登录,如果你不是会员,你要注册个账号。

1、当你是会员时,你可以查看你的各项服务,比如说上次你收藏了什么书籍,以及你喜欢的书的种类,在可以看下前几次你购买书的情况,在可以修改个人信息,修改密码等,你也可以查看自己网上交易情况,看下自己买的书的情况,以及看上什么书了,可以把它放回购物车,方便自己购买。

2、当你是非会员时,你要先进行注册,填写自己的基本信息,当你填好后,你也是其中一员了,你也同样可以向会员那样找自己的书了,相对来说比较方便。

3、还有人不注册,只是进来逛下网站,看看自己是否有必要买一些书。

2、后台系统工作流程

后台系统工作流程主要用于实现后台管理人员对会员,商品,物流,订单和系统的管理等功能,他要对会员的登记进行统计,以及购物等方面的内容管理

四、网上书店工作过程的内容

1、管理员信息,包括数据项有:管理员编号、管理员账号、管理员密码。

2、会员信息,包括数据项有:会员账号、会员密码、会员昵称、会员E-mail、会员级别(管理员设定)。

3、图书信息,包括数据项有:图书编号、图书名称、作者、出版社编号、出版日期、图书类别编号、图书简介。

(⑴出版社信息,包括数据项有:出版社编号、出版社名称。

⑵图书类别信息,包括数据项有:图书类别编号、图书类别名称。)

4、图书订单,包括数据项有:会员账号、下定单日期、收货地址、收货地址邮编、收货人姓名、收货人联系方式、送货方式编号、总费用、图书名称、现已售出量情况。

5、购物车,包括数据项有:会员账号、每种图书名称、每种图书市场价格、每种图书网站价格、每种图书数量、每种图书的价格、图书总价。

五、数据库设计

1、数据项

数据项

数据项名数据类型长度别名取值范围

会员编号字符型 15会员的编号

姓名文本型 20会员的姓名

密码文本型 20会员的密码

电话字符型 12会员的电话

地址文本型 50会员的地址

商品编号字符型 15商品的编号

类型文本型 10商品的类型

名称文本型 20商品的名称

价格整型 6商品的价格

简介文本型 500商品的简介

图片图片型商品的图片

购物车编号字符型 10购物车的编号

商品数量整型 10购买商品的数量

订单编号字符型 15购物时生成的订单

订单日期时间型 10购买商品的时间

2、数据结构

系统需求数据结构

数据结构名含义说明组成

会员记录会员的基本信息会员编号、姓名、密码、电话、地址

商品记录销售商提供的商品信息商品编号、类型、名称、价格、简介、图片

订购记录会员的购物信息会员编号、商品编号、订单编号、订单日期

购物车存储会员需要购买的商品会员编号、商品编号、购物车编号、商品数量

3、关系模式的设计

会员

数据项名数据类型长度别名是否为空主外键

会员编号字符型 15会员编号否主键

姓名文本型 20姓名否

密码文本型 20密码否

电话字符型 12电话否

地址文本型 50地址否

商品

数据项名数据类型长度别名是否为空主外键

商品编号字符型 15商品编号否主键

类型字符型 15类型否

名称字符型 20名称否

价格整型 10价格否

简介文本型 500简介

图片 image型 100图片

订购

数据项名数据类型长度别名是否为空主外键

会员编号字符型 15会员编号否外键主键

商品编号字符型 10商品编号否外键

订单编号字符型 10订单编号否

订单日期日期型 10订单日期否

购物车

数据项名数据类型长度别名是否为空主外键

会员编号字符型 15会员编号否主键

商品编号字符型 15商品编号否

购物车编号字符型 15购物车编号否

商品数量整型 6商品数量否

4、视图的设计

搜索商品视图

数据项名数据类型长度别名是否为空

名称字符型 10名称否

类型字符型 10类型否

价格整型 10价格否

简介文本型 4简介否

六、网上购书E-R图

否是

网上书店系统业务流程:

网上书店前台管理功能结构图:

六、系统的源程序

ackage cart;

import java.util.Vector;

public class Cart{

Vector v= new Vector();

String act= null;

String item= null;

private void addItem(String id){

v.addElement(id);

}

private void removeItem(String id){

v.removeElement(id);

}

public void setItem(String id){

item= id;

}

public void setAct(String s){

act= s;

}

public String[] getItems(){

String[] s= new String[v.size()];

v.copyInto(s);

return s;

}

public void processRequest(){

if(act.equals("add"))

addItem(item);

else if(act.equals("remove"))

removeItem(item);

// reset at the end of the request

reset();

}

// reset

private void reset(){

act= null;

item= null;

}

public void clearAll(){

v.removeAllElements();

}

}

现实页面信息,提示等操作的设计:

package spage;

import java.sql.*;

public class ShowPage

{

private String str="";

//显示页号为p的一页(user)

public String printPage(ResultSet rs, int p, int size)

{

str="";

//将访问游标定位到页号为p的页要显示的第一条记录的位置

try{

for(int k=0;k<(p-1)*size;k++)

rs.next();

}

catch(SQLException e){}

for(int iPage=1; iPage<=size; iPage++){

str+= printRow(rs,iPage,p);

try{

if(!rs.next()) break;

}

catch(Exception e){}

}

return str;

}

//显示单行记录(user)

public String printRow( ResultSet rs,int i,int p)

{

String temp="";

try{

int id=rs.getInt("userid");

temp+="<tr align='center' bgcolor='#FFFAF7'>";

temp+="<td><a href='javaScript:seeUser("+id+")'>"+rs.getString("name")+"</a></td>";

temp+="<td>"+rs.getString("sex")+"</td>";

temp+="<td>"+rs.getString("phone")+"</td>";

temp+="<td>"+rs.getString("address")+"</td>";

temp+="<td><a href='updateuser.jsp?updateid="+id+"'>修改</a></td>";

temp+="<td><a href='dealdeleteuser.jsp?delid="+id+"'>删除</a></td>";

temp+="</tr>";

}

catch(SQLException e){}

return temp;

}

//显示页号为p的一页(book)

public String bookPage(ResultSet rs, int p, int size,boolean f)

{

str="";

//将访问游标定位到页号为p的页要显示的第一条记录的位置

try{

for(int k=0;k<(p-1)*size;k++)

rs.next();

}

catch(SQLException e){}

for(int iPage=1; iPage<=size; iPage++){

str+= bookRow(rs,iPage,p,f);

try{

if(!rs.next()) break;

}

catch(Exception e){}

}

return str;

}

//显示单行记录(book)

public String bookRow( ResultSet rs,int i,int p,boolean f)

{

String temp="";

try{

int id=rs.getInt("bookid");

temp+="<tr align='center'>";

temp+="<td><a href='detail.jsp?detailid="+id+"'>"+rs.getString("bookname")+"</a></td>";

temp+="<td>"+rs.getString("author")+"</td>";

temp+="<td>"+rs.getString("pubhouse")+"</td>";

temp+="<td>"+rs.getString("price")+"</td>";

if(f)

{

temp+="<td>"+rs.getString("salenum")+"</td>";

temp+="<td><a href='updatebook.jsp?updateid="+id+"'>修改</a></td>";

temp+="<td><a href='dealdeletebook.jsp?delid="+id+"'>删除</a></td>";

}

else

temp+="<td><a href='dealcart.jsp?dealid="+id+"&act=add'>加入购物车</a></td>";

temp+="</tr>";

}

catch(SQLException e){}

return temp;

}

//显示页号为p的一页(order)

public String orderPage(ResultSet rs, int p, int size,boolean f)

{

str="";

//将访问游标定位到页号为p的页要显示的第一条记录的位置

try{

for(int k=0;k<(p-1)*size;k++)

rs.next();

}

catch(SQLException e){}

for(int iPage=1; iPage<=size; iPage++){

str+= orderRow(rs,iPage,p,f);

try{

if(!rs.next()) break;

}

catch(Exception e){}

}

return str;

}

//显示单行记录(order)

public String orderRow( ResultSet rs,int i,int p,boolean f)

{

String temp="";

try{

String orderid=rs.getString("orderid");

temp+="<tr align='center'>";

temp+="<td><a href='detailorder.jsp?detailid="+orderid+"'>"+orderid+"</a></td>";

temp+="<td>"+(rs.getString("orderdate")).substring(0,10)+"</td>";

temp+="<td>"+rs.getString("orderstate")+"</td>";

if(f)

{

temp+="<td><a href='javaScript:seeUser("+rs.getString("userid")+")'>"+rs.getString("username")+"</a></td>";

temp+="<td><a href='dealdeleteorder.jsp?delid="+orderid+"'>删除</a></td>";

}

temp+="</tr>";

}

catch(SQLException e){}

return temp;

}

}

七、系统评价及心得体会

1、了解很多关于网上购书程序上的知识,要写这个课程设计,我把有关网上购书的概论也看了下,发现不知道是这个设计太简单还是怎么回事,网上出现很多此样的版本,很有有更新,可能我们对数据库设计的程序还不是很了解吧。

2,要写数据库E-R图,发现很难画啊,还要把线段连来连去,觉得在画图上面花了很多时间

3,一定要先了解数据情况,要先熟悉了网上购书的基本操作,在开始研究,最好自己去试一下网上购书,我就自己亲自去点击了下网上购书网,然后才下手写的课程设计。

好了,文章到此结束,希望可以帮助到大家。

用友u8数据库 用友u8数据库一般所在位置同花顺数据库(同花顺用的什么数据库软件)