
H5的基本框架有哪些
1. BootstrapBoostrap绝对是目前最流行用广泛款框架。
它是一套优美,直观并且给web设计工具包以用来开发跨浏览器兼容并且美观大气的页面。
它提供了很多流行的样式简洁的UI组件,栅格系统以及一些常用的JavaScript插件。
Bootstrap是用动态语言LESS写的,主要包括四部分的内容:脚手架——全局样式,响应式的12列栅格布局系统。
记住Bootstrap在默认情况下并不包括响应式布局的功能。
因此,如果你的设计需要实现响应式布局,那么你需要手动开启这项功能。
基础CSS——包括基础的HTML页面要素,比如表格(table),表单(form),按钮(button),以及图片(image),基础CSS为这些要素提供了优雅,一致的多种样式。
组件——收集了大量可以重用的组件,如下拉菜单(dropdowns),按钮组(button groups),导航面板(navigation control)——包括:tabs,pills,lists标签,面包屑导航(breadcrumbs)以及页码(pagination),缩略图(thumbnails),进度条(progress bars),媒体对象(media objects)等等。
JavaScript——包括一系列jQuery的插件,这些插件可以实现组件的动态页面效果。
插件主要包括模态窗口(modals),提示效果(tool tips),“泡芙”效果(popovers),滚动监控(scrollspy),旋转木马(carousel),输入提示(typeahead),等等。
Bootstrap已经足够强大,能够实现各种形式的 Web 界面。
为了更加方便地利用Bootstrap进行开发,很多工具和资源可以用来配合使用,下面列举了其中的一部分工具和资源。
jQuery UI Bootstrap —— 对于jQuery和Bootstrap爱好者来说这是个非常好的资源,能够把 Bootstrap的清爽界面组件引入到jQuery UI中。
jQuery Mobile Bootstrap Theme —— 和上面提到的jQuery UI主题类似,这是一个为jQuery Mobile建立的主题。
如果你想让用Bootstrap开发的网站在手机端也可以优雅访问,那么这个资源对你来说很方便易用。
Fuel UX —— 它为Bootstrap添加了一些轻量的JavaScript控件。
Fuel UI 安装,修改,更新以及优化都很简单方便。
StyleBootstrap.info —— Bootstrap提供了自己的几种界面风格,StyleBootstrap提供了更多的配色选项,并且你可以给每个组件都应用不同的配色。
BootSwatchr —— 利用这个工具你可以立刻查看主题修改后的效果。
对于每一次变动的效果,这个应用都会生成一个唯一的URL方便你与他人分享,你也可以在任意时刻修改你的主题。
Bootswatch —— 提供大量免费的Bootstrap主题。
Bootsnipp —— 在线前端框架交互组件制作工具,是一个供给设计师和开发者的基于Bootstrap HTML\\\/CSS\\\/JavaScript 架构的免费元素。
LayoutIt —— 通过界面拖放生成器简便快捷地创建基于Bootstrap的前端代码。
通过拖放动作将Bootstrap风格的组件加入到你的个人设计里并且可以方便地修改他们的属性,简单便捷。
2. FbootstrappFbootstrapp基于Bootstrap并且提供了跟Facebook iframe apps和设计相同的功能。
包含用于所有标准组件的基本的CSS和HTML,包括排版、表单、按钮、表格、栅格、导航等等,风格与Facebook类似。
3. BootMetroBootMetro框架的灵感来自于Metro UI CSS,基于Bootstrap 框架构建,用于创建Windows 8 的Metro风格的网站。
它包括所有Bootstrap的功能,并添加了几个额外的功能,比如页面平铺,应用程序栏等等。
4. KickstrapKickstrap是Bootstrap的一个变体。
它基于Bootstrap,并在它的基础上添加了许多app,主题以及附加功能。
这使得这个框架可以单独地用于构建网站,而不需要额外安装什么。
你需要做的仅仅是把它放到你的网站上,然后用就可以了。
App 是一些页面加载完成之后加载运行的JavaScript和CSS打包文件。
默认加载的app有Knockout.js, Retina.js, Firebug Lite, and Updater,你也可以自行添加更多的app。
选择不同的主题可以让你的网站在众多Bootstrap构建的类似网站中显得与众不同。
附加功能是一些用来扩展Bootstrap UI 库的附件,它们的语法基本相同或者相似。
5. FoundationFoundation 是一款强大的,功能丰富的并且支持响应式布局的前端开发框架,你可以通过Foundation快速创建原型,利用它所包含的大量布局框架,元素以及最优范例快速创建在各种设备上可以正常运行的网站以及app。
Foundation在构建的时候秉承移动优先的策略,它拥有大量实用的语义化功能,并且使用Zepto类库来取代jQuery,这样可以带来更好的用户体验,并且提高运行的速度。
Foundation拥有一套12列的灵活可嵌套的网格系统,你可以用它快速创建适应多种浏览设备的布局。
它有很多的功能。
它定义了很多的样式,比如字体排版,按钮,表单,以及多种多样的导航控件。
它也提供了很多的CSS组件,例如操作面板(panels),价格表(price tables),进度条(progress bars),表格(tables)以及可以适应不同设备的可伸缩视频(flex video)。
与此同时,Foundation还包括了很多的JavaScript插件,如下拉菜单(dropdowns),joyride(网站功能引导插件),magellan(网站固定导航插件),orbit(支持触摸的响应式图片轮播插件),reveal(弹出框插件),sections(强大的tab插件)以及tooltips(工具提示)等。
Foundation框架还提供了很多有用的扩展。
模板(Stencils)——Foundation框架中的所有UI元素都有Omnigraffle stencils以及矢量PDF两种格式的下载,你可以用它们来方便快捷的绘制线框图和原型图。
HTML模板 —— HTML模板可以方便地用来快速创建页面布局。
你所要做的仅仅是复制得到模板代码,然后丢到页面的标签之间就好了。
图标字体(Icon Fonts) —— 包含自定义图标的一种网页字体。
SVG 社交网络图标(Social Icons)—— 一组不依赖分辨率的社交网络图标(可缩放矢量图标)。
响应式表格——Foundation框架中响应式表格的实现机制是固定表格的左边第一列,然后表格的其他列可以通过滚动条拖拉进行访问。
关闭帆布布局(Off-Canvas Layouts)—— 这些布局可以允许一些网页内容或者导航控件在移动端设备上默认隐藏,当浏览屏幕变大或者用户进行相应操作的时候这些内容再出现。
当用户进行相关操作的时候,网页内容或者导航控件将会滑动出现。
如你所见,对于web开发者以及设计师来说,Foundation就像是一个巨大的宝藏。
在下载框架的时候,你可以自定义下载框架的内容。
6. GroundworkCSSGroundworkCSS 是前端框架家族里面新添的一款小清新框架。
它是基于Sass和Compass的一个高级响应式的HTML5,CSS以及JavaScript工具包,可以用于快速创建原型并且建立在各种浏览设备上可以正常工作的网站和app。
GroundworkCSS拥有一个灵活,可嵌套的流式网格系统,方便你创建任何布局。
这个框架有很多让人印象深刻的功能,比如在平板以及移动端上的网格系统,当屏幕的宽度小于768或者480像素时,页面中原本并列排版的表格列(grid column)会自动变为独立的行,而不是折叠在一起。
另一个很酷的功能是jQuery的响应式文本(ResponsiveText)插件,这个插件可以动态调整页面文字的大小以适应浏览设备的屏幕大小。
这个插件对于可伸缩的标题以及创建响应式表格的时候特别有用。
GroundworkCSS包含了大量的UI组件,如tabs、响应式数据表格导航、按钮、表单、响应式导航控件、tiles(一套替代radio按钮以及其他默认表单元素的优雅组件)、工具提示、对话框、Cycle2(一款强大的,响应式的内容滑块)以及其他很多的有用组件。
它还提供了很多矢量社交网络图标以及图标字体。
你可以通过切换页面上方的导航按钮选择不同的浏览设备要来查看这款框架的效果。
通过这种方式,你可以测试在不同的浏览设备上各种组件的响应式布局情况。
GroundworkCSS的文档写的非常好,并且包含着很多的示例,为了让你更快的上手,他还提供了多种响应式的模板。
对于这款框架,唯一我可以想到的缺点就是不能自定义要下载的框架内容。
7. GumbyGumby 是一款基于Sass和Compass的简单灵活并且稳定的前端开发框架。
它的流式-固定布局(fluid-fixed layout)可以根据桌面端以及移动设备的分辨率自动优化要呈现的网页内容。
它支持多种网格布局,包括多列混杂的嵌套模式。
Gumby提供两套PSD的模板,方便你在12列和16列的网格系统上进行设计。
Gumby提供了一个功能丰富的UI工具包,包括按钮,表单,移动端导航,tabs,跳转链接(skip links),拨动开关(toggles and switches,可以方便快捷地切换元素的class,而不需要进行额外的js操作),抽屉功能(drawers),响应式图片以及retina图片等等。
为了紧跟最近的设计潮流,Gumby的UI元素中还包括了Metro风格的扁平化设计,你也可以用Pretty风格的渐变设计,或者按照你的想法糅合两种设计风格。
该框架还提供了一套出众的响应式,拥有独立分辨率的Entypo图标,你可以在自己的web项目中尽情使用。
Gumby有一个很好自定义下载选择器,你可以自行配置各个组件的颜色,并且按自己的需求方便地下载。
8. HTML KickStartHTML Kickstart 是一款可以用来方便创建任何布局的集合HTML5,CSS和jQuery的工具包。
它提供了干净,符合标准以及跨浏览器兼容的代码。
这款框架提供了多种样式表,包括网格,排版,表单,按钮,表格,列表以及一些跨浏览器兼容的web组件比如JavaScript的幻灯片功能,tabs,面包屑导航,包含子菜单的菜单以及工具提示等等。
你可以使用99Lime UIKIT提供的UI组件来搭建你的产品线框图。
9. IVORYIVORY 是一款轻量,简单但是强大的前端框架,可以用于320到1200像素宽度的响应式布局。
它基于12列的响应式网格布局,包含表格,按钮,表格,分页,拨动开关,工具提示,手风琴,选项卡等网站中常用的组件和样式。
当你需要一款轻量灵活,不需要额外的其他功能,并且适应不同浏览设备的框架时,IVORY是你最好的选择。
10.Kube最后,如果你的新项目需要一款实在的,不需要复杂的额外功能组件的,足够简单的框架,那么 Kube 将会是你正确的选择。
Kube是一款最小化的,支持响应式的前端框架,它没有强加的样式设计,因此给了你充分的自由来开发自己的样式表。
它提供了一些web元素的基本样式,比如网格,表单,排版,表格,按钮,导航,链接以及图片等等。
Kube框架包括一个简洁的CSS文件用于方便地创建响应式布局,还包括了两个JS文件来完成tab以及页面的按钮操作。
如果你希望得到Kube最大化的灵活性以及个性化定制,那么你可以下载开发者版本(developer version),这个版本包括了LESS文件(包括各种变量,mixins以及模块)。
如何选择一款优秀的前端开发框架
可以根据以下评估标准:将根据以下标准对这些框架进行评估:学习曲线针对简单任务的开发效率针对复杂、特殊任务的开发效率依赖管理代码性能\\\/安全优化调整的能力平台升级\\\/冗余能力在企业市场中的认同度开发、使用SOAP和REST服务的复杂性总结:灵活运用框架,将会得到意想不到的效果。
这个看怎么灵活运用,有好的方案大家分享一下共同学习,进步。
学习前端,重在分享
求自我总结
给你一个参考,具体还得结合自己实际情况哈: 在目前市场上这些众多的程序开发工具中,有些强调程语言的弹性与执行效率;有些则偏重于可视化程序开发工具所带来的便利性与效率的得高,各有各的优点和特色,也满足了不同用户的需求。
然而,语言的弹性和工具的便利性是密不可分的,只有便利的工具,却没有弹性的语言作支持,许多特殊化的处理动作必需要耗费数倍的工夫来处理,使得原来所标榜的效率提高的优点失去了作用;相反,如果只强调程语言的弹性,却没有便利的工具作配合,会使一些即使非常简单的界面处理动作,也会严重地浪费程序设计师的宝贵时间。
而Delphi是一个非常理想选择。
Delphi 6 是操作系统中快速应用开发环境的最新版本。
它也是当前Windows平台上第一个全面支持最新Web服务的快速开发工具。
无论是企业级用户,还是个人开发者,都能够利用Delphi 6 轻松、快捷地构建新一代电子商务应用。
Delphi 6 是惟一支持所有新出现的工业标准的RAD环境,包括XML(扩展标记语言)\\\/XSL(可扩展样式语言),SOAP(简单对象存取协议)和WSDL(Web服务器描述语言)等。
Delphi 6 是可视化的快速应用程序开发语言,它提供了可视化的集成开发环境,这一环境为应用程序设计人员提供了一系列灵活而先进的工具,可以广泛地用于种类应用程序设计。
在Delphi 6 的集成开发环境中,用户可以设计程序代码、运行程序、进行程序错误的调试等,可视化的开发方法降低了应用程序开发的难度。
Delphi的基础编程语言是具有面向对象特性的Pascal语言,即Object Pascal 。
Object Pascal具有代码稳定、可读性好、编译速度快等优点,并将面向对象的概念移植到了Pascal语言中,使这种基础语言有了新的发展空间。
使用Delphi 6.0 ,我们几乎可以作任何事情,还可以撰写种各种类型的应用程序,动态链接库(DLL)、CON、或CORBA对象,CGI\\\/ISAPI程序,Microsoft Back Office应用程序。
程序的规模小到简单的个人数据库应用,大到复杂的企业的多层次分布式系统,都可以使用Delphi进行开发,其友好的集成开发界面,可视化的双向开发模式,良好的数据库应用支持高效的程序开发和程序运行,备受广大程序开发人员的好评。
尤其是Delphi对数据库应用的强大支持,大大提高了数据库应用软件开发的效率,缩短了开发周期,深受广大数据库应用程序设计人员的喜爱。
Delphi为数据库应用开发人员提供了丰富的数据库开发组件,使数据库应用开发功能更强大,控制更灵活,编译后的程序运行速度更快。
§1.3 本文所做工作 引言部分介绍了本系统的课题来源以及对数据库开发工具的选择。
第二章介绍了数据库的发展,关系数据库,数据库体系结构,并系统介绍了SQL语言,为设计和理解应用程序做了铺垫。
第三章系统介绍了Delphi 6.0及其部分控件,SQL语言在Delphi 6.0中的应用,以及Access等。
第四章是本文的主体,按照软件工程的要求,从需求分析开始,经过概要设计最后到详细设计,完成对整个系统的设计。
第五章根据第四章的设计结果利用Access 2000和Delphi 6.0进行了具体的窗体和应用程序设计。
总结部分介绍了设计体会和编程体会,并指出了系统设计中的不足和改进的方向 第二章 数据库概论 §2.1 数据库的发展 数据库处理在信息系统的研究中一直是非常重要的主题,然而,近年来,随着World Wide Web(WWW)的猛增及Internet技术的迅速发展,使得数据库技术之时成为最热门技术之一。
数据库技术能使Internet应用超越具有早期应用特点的简单的发布。
同时,Internet技术提供了一种向用户发布数据库内容的标准化的访问方法。
这些技术没有脱离经典数据库技术的要求。
它们只是加重了数据库技术的重要性。
数据库的设计和开发及包括艺术有包括工程。
理解用户的需求,然后,把它们转变为有效的数据库设计是一个艺术过程。
把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用,是一个工程过程。
数据库的目的是帮助人们跟踪事务。
经典的数据库应用涉及诸如订单、顾客、工作、员工、学生、电话之类的项,或其它数据量较大、需要密起关注的事务。
最近,由于数据库的普及,数据库技术已经被应用到了新的领域,诸如用于Internet的数据库或用于公司内联网的数据库。
数据库也被越来越多地应用于生成和维护多媒体应用程序上。
计算机的数据处理应用,首先要把大量的信息以数据形式存放在存储器中。
存储器的容量、存储速率直接影响到数据管理技术的发展。
从1956年生产出第一台计算机到现在,存储器的发展,为数据库技术提供了良好的物质基础。
使用计算机以后,数据处理的速度和规模,无论是相对于手工方式,还是机械方式,都有无可比拟的优势。
通常在数据处理中,计算是比较简单的而数据的管理却比较复杂。
数据管理是指数据的收集、整理、组织、存储、维护、检索、传送等操作,这部分操作是数据处理业务的基本环节,而且是任何数据处理业务中必不可少的共有部分。
数据管理技术的优劣,将直接影响数据处理的效率。
2.1.1 数据库的发展 数据管理技术的发展,与硬件(主要是外存)、软件、计算机应用的范围有密切的联系。
数据管理技术的发展经过三个阶段:人工管理阶段、文件系统阶段和数据库阶段。
人工管理阶段和文件系统阶段都有着相当多的缺陷,诸如数据冗余性 ,数据不一致性以及数据联系弱等等。
也正是由于这些原因,促使人们研究新的数据管理技术,从而产生了数据库技术。
20世纪60年代末发生的三件大事,层次模型IMS系统的推出、关于网状模型DBTG报告的发表以及关于关系模型论文的连续发表标志着数据管理技术进入数据库阶段。
进入70年代以后,数据库技术得到迅速发展,开发了许多有效的产品并投入运行。
数据库系统克服了文件系统的缺陷,提供了对数据更高级更有效的管理。
当进入数据库阶段后,随着数据管理规模一再扩大,数据量急剧增加,为了提高效率,开始时,人们只是对文件系统加以扩充,在应用文件中建立了许多辅助索引,形成倒排文件系统。
但这并不能最终解决问题。
在20世纪60年代末,磁盘技术取得重要进展,具有数百兆容量和快速存取的磁盘陆续进入市场,成本也不高,为数据库技术的产生提供了良好的物质条件。
2.1.2 数据库阶段的特点 (1)减少数据的重复(Redundancy can be reduced) 当在一个非数据库系统当中,每一个应用程序都有属于他们自己的文件,由于无法有系统建立的数据,因此常常会造成存储数据的重复与浪费。
例如:在一家公司当中,人事管理程序与工资管理程序或许都会使用到职员与部门的信息或文件,而我们可以运用数据库的方法,把这两个文件整理起来,以减少多余的数据,过度地占用存储空间。
(2)避免数据的不一致(Inconsistency can avoid) 本项的特色,可以说是延伸前项的一个特点,要说明这样的一个现象,我们可以从下面这个实例来看:若是在同一家公司当中,职员甲在策划部门工作,且职员甲的记录同时被存放在数据库的两个地方,而数据库管理系统却没有对这样重要的情况加以控制,当其中一条数据库被修改时,便会造成数据的不一致,但是,对于一个健全的数据库管理系统而言,将会对这样的情况加以控制,但有时并不需要刻意消除这种情形,应当视该数据库的需求与效率来决定。
(3)数据共享(Data shared) 对于数据共享的意义,并不是只有针对数据库设计的应用程序,可以使用数据库中的数据,对于其他撰写好的应用程序,同样可以对相同数据库当中的数据进行处理,进而达到数据共享的目的。
(4)强化数据的标准化(Standard can be enforced) 由数据库管理系统,对数据做出统筹性的管理,对于数据的格式与一些存储上的标准进行控制,如此一来,对于不同的环境的数据交换(Data Interchange)上将有很大的帮助,也能提高数据处理的效率。
(5)实践安全性的管理(Security restriction can be applied) 通过对数据库完整的权限控制,数据库管理者可以确认所有可供用户存取数据的合法途径渠道,并且可以事先对一些较重要或关键性的数据进行安全检查,以确保数据存取时,能够将任何不当损毁的情形降至最低。
(6)完整性的维护(Integrity can be maintained) 所谓完整性的问题,就是要确认某条数据在数据库当中,是正确无误的。
正如(2)所述,若是无法控制数据的不一致性,便会产生完整性不足的问题,所以,我们会发现,当数据重复性高的时候,数据不完整的情形也会增加,当然,若是数据库的功能完整,将会大大地提高数据完整性,也会增加数据库的维护能力与维护简便性。
(7)需求冲突会获得平衡(Conflicting requirements can be balance) 在一个较大型的企业当中,用户不同的需求,往往会造成系统或数据库在设计上的困扰,但是一个合适的数据库系统,可以通过数据库管理员的管理,将会有效地整理各方面的信息,对于一些较重要的应用程序,可以适时地提供较快速的数据存取方法与格式,以平衡多个用户在需求上的冲突。
上述七个方面构成了数据库系统的主要特征。
这个阶段的程序和数据间的联系可用下图表示: 2.1.3 数据库技术 从文件系统发展到数据库系统是信息处理领域的一个重大变化。
在文件系统阶段,人们关注的中心问题是系统功能的设计,因而程序设计处于主导地位,数据只起着服从程序需要的作用。
在数据库方式下,信息处理观念已为新体系所取代,数据占据了中心位置。
数据结构的设计成为信息系统首先关心的问题,而利用这些数据的应用程序设计则退居到以既定的数据结构为基础的外围地位。
目前世界上已有数百万个数据库系统在运行,其应用已经深入到人类社会生活的各个领域,从企业管理、银行业务、资源分配、经济预测一直到信息检索、档案管理、普查统计等。
并在通信网络基础上,建立了许多国际性的联机检索系统。
我国20世纪90年代初在全国范围内装备了12个以数据库技术为基础的大型计算机系统,这些系分布在邮电、计委、银行、电力、铁路、气象、民航、情报、公安、军事、航天和财税等行业。
数据库技术还在不断的发展,并且不断地与其它计算机技术相互渗透。
数据库技术与网络通信技术相结合,产生了分布式数据库系统。
数据库技术与面向对象技术相结合,产生了面向对象数据库系统。
在数据库技术中有四个名词,其概念应该分清。
(1)数据库(database,DB):DB是统一管理的相关数据的集合。
DB能为各种用户共享,具有最小冗余度,数据间联系密切,而又有较高的数据独立性。
(2)数据库管理系统(Database Management System,DBMS):DBMS是位于用户与操作系统之间的一层数据管理软件,为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。
DBMS总是基于某种数据模型,可以分为层次型、网状型、关系型和面向对象型DBMS。
(3)数据库系统(Database System,DBS):DBS是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系统,即采用了数据库技术的计算机系统。
(4)数据库技术:这是一门研究数据库的结构、存储、管理和使用的软件学科。
数据库技术是操作系统的文件系统基础上发展起来的。
而DBMS本身要在操作系统的支持下才能工作。
数据库不仅用到数据结构的知识,而且丰富了数据结构的内容。
在关系数据库中要用到集合论、数理逻辑的理论。
因此,数据库技术是一门综合性较强的学科。
§2.2数据库理论基础 2.2.1 数据库模型 从20世纪50年代中期开始,计算机的应用由科学研究部门逐步扩展到企业、行政部门。
至60年代,数据处理成为计算机的主要应用。
数据库技术作为数据管理技术,是计算机软件领域的一个重要分支,产生于60年代末。
现已形成相当规模的理论体系和实用技术。
模型是对现实世界的抽象。
在数据库技术中,我们用模型的概念描述数据库的结构与语义,对现实世界进行抽象,表示实体类型及实体间联系的模型称为“数据模型” 。
目前广泛作用的数据模型可分为两种类型。
一种是独立于计算机系统的模型,完全不涉及信息在系统中的表示,只是用来描述某个特定组织所关心的信息结构,这类模型称为“概念数据模型” 。
要领模型用于建立信息世界的数据模型,强调其语义表达功能,应该概念简单、清晰,易于用户理解,它是现实世界的第一层抽象,是用户和数据库设计人员之间进行交流的工具。
这一其中著名的模型是“实体联系模型” 。
另一种数据模型是直接面向数据库的逻辑结构,它是现实世界的第二层抽象。
这类模型涉及到计算机系统和数据库管理系统,又称为“结构数据模型” 。
例如,层次、网状、关系、面向对象等模型。
这类模型有严格的形式化定义,以便于在计算机系统中实现。
(1)层次模型。
用树型结构表示实体类型及实体间联系的数据模型。
树的结点是记录类型,每个非根结点有且只有一个父结点。
上一层记录类型和下一层记录类型间联系是1∶N联系。
层次模型的特点是记录之间的联系通过指针实现,查询效率较高。
但层次模型有两个缺点:一是只能表示1∶N联系,虽然有多种辅助手段实现了M∶N联系,但都较复杂,用户不易掌握,二是由于树型结构层次顺序的严格和复杂,引起数据的查询和更新操作也很复杂,因此,编写应用程序也很复杂。
(2)网状模型。
用有向图结构表示实体类型及实体间联系的数据模型。
。
1969年DBTG报告提出的数据模型是网状模型的主要代表。
有向图中的结点是记录类型,有向边表示从箭尾一端的记录类型到箭头一端的记录类型间联系是1∶N联系。
网状模型的特点:记录之间联系通过指针实现,M∶N联系也容易实现(每个M∶N联系可拆成两个1∶N联系),查询效率较高。
网状模型的缺点是编写应用程序比较复杂,程序员必须熟悉数据库的逻辑结构。
由于层次系统和网状系统的应用程序编制比较复杂,因此,从20世纪80年代中期起,其市场已被关系系统所取代。
但是使用这两种模型建立起的许多数据库仍然在正常运转,只是在外层加了个关系数据库语言的接口。
网状模型有许多成功的产品,20世纪70年代的产品大部分网状系统,例如,Honeywell公司的IDS\\\/Ⅱ、HP公司的IMAGE\\\/3000、Burroughs公司的DMSⅡ、Umivac公司的DMS1100、Cullinet公司的IDMS、Cimcom公司的TOTAL等 (3)关系模型。
关系模型的主要是用二维表格结构表达实体集,用外键表示实体间联系。
关系模型是由若干个关系模式组成的集合。
关系模式相当于前面提到的记录类型,它的实例称为关系,每个关系实际上是一张二维表格。
关系模型和层次、网状模型的最大判别是用关键码而不是用指针导航数据,表格简单用户易懂,编程时并不涉及存储结构,访问技术等细节。
关系模型是数学化模型。
SQL语言是关系数据库的标准化语言,已得到了广泛的应用。
20世纪70年代对关系数据库的研究主要集中在理论和实验系统的开发方面。
80年代初才形成产品,但很快得到广泛的应用和普及,并最终取代了层次、网状数据库产品。
现在市场上典型的关系DBMS产品有DB2、ORACLE、SYBASE、INFORMIX和微机型产品Foxpro、Access等。
关系模型和网状、层次模型的最大区别是:关系模型用表格数据而不是通过指针链来表示和实现实体间联系。
关系模型的数据结构简单、易懂。
只需用简单的查询语句就可对数据库进行操作。
关系模型是数学化的模型,可把表格看成一个集合,因此集合论、数理逻辑等知识可引入到关系模型中来。
关系模型已是一个成熟的有前途的模型,已得到广泛应用。
(4)面向对象模型。
目前,关系数据库的使用已相当普遍,但是,现实世界中仍然存在着许多含有复杂数据结构的应用领域,例如,CAD数据、图形数据等,而关系模型在这方面的处理能力就显得力不从心。
因此,人们需要更高级的数据库技术来表达这类信息。
面向对象的概念最早出现在程序设计语言中,随后迅速渗透到计算机领域的每一个分支。
面向对象数据库是面向对象概念与数据库技术相结合的产物。
面向对象模型能完整地描述现实世界的数据结构,具有丰富的表达能力,但模型相对较复杂,涉及的知识面也广,因此面向对象数据库尚未达到关系数据库那样的普及程度。
2.2.2 数据库体系结构 数据库的体系结构分三级:内部级(internal),概念级(conceptual)和外部级(external)。
这个三级结构有时也称为“三级模式结构”,或“数据抽象的三个级别”,最早是在1971年通过的DBTG报告中提出,后来收入在1975年的美国ANSI\\\/SPARC报告中。
虽然现在DBMS的产品多种多样,在不同的操作系统支持下工作,但是大多数系统在总的体系结构上都具有三级模式的结构特征。
从某个角度看到的数据特性称为“数据视图”(data view)。
外部级最接近用户,是单个用户所能看到的数据特性。
单个用户使用的数据视图的描述称为“外模式”。
概念级涉及到所有用户的数据定义,是全局的数据视图。
全局数据视图的描述称为“概念模式”。
内部级最接近于物理存储设备,涉及到实际数据存储的结构。
物理存储数据视图的描述称为“内模式”。
数据库的三级模式结构是数据的三个抽象级别。
它把数据的具体组织留给DBMS去做,用户只要抽象地处理数据,而不必关心数据在计算机中的表示和存储,这样就减轻了用户使用系统的负担。
三级结构之间往往差别很大,为了实现这三个抽象级别的联系和转换,DBMS在三级结构之间提供两个层次的映象(mappings):外模式\\\/模式映象,模式\\\/内模式映象。
此处模式是概念模式的简称。
2.2.3 数据的独立性 由于数据库系统采用三级模式结构,因此系统具有数据独立性的特点。
在数据库技术中,数据独立性是指应用程序和数据之间相互独立,不受影响。
数据独立性分成物理数据独立性和逻辑数据独立性两级。
(1)物理数据独立性 如果数据库的内模式要进行修改,即数据库的存储设备和存储方法有所变化,那么模式\\\/内模式映象也要进行相当的修改,使概念模式尽可能保持不变。
也就是对内模式的修改尽量不影响概念模式,当然,对于外模式和应用程序的影响更小,这样,我们称数据库达到了物理数据独立性。
(2)逻辑数据独立性 如果数据库的概念模式要进行修改,譬如增加记录类型或增加数据项,那么外模式\\\/模式映象也要进行相应的修改,使外模式尽可能保持不变。
也就是对概念模式的修改尽量不影响外模式和应用程序,这样,我们称数据库达到了逻辑数据独立性。
现有关系系统产品均提供了较高的物理独立性,而对逻辑独立性的支持尚有欠缺,例如,对外模式的数据更新受到限制等。
2.2.4 范式 建立起一个良好的数据指标体系,是建立数据结构和数据库的最重要的一环。
一个良好的数据指标体系是建立DB的必要条件,但不是充分条件。
我们完全可以认为所建指标体系中的一个指标类就是关系数据库中的一个基本表,而这个指标类下面的一个个具体指标就是这个基本表中的一个字段。
但如果直接按照这种方式建库显然还不能算最佳。
对于指标体系中数据的结构在建库前还必须进行规范化的重新组织。
在数据的规范化表达中,一般将一组相互关联的数据称为一个关系(relation),而在这个关系下的每个数据指标项则被称为数据元素(data element),这种关系落实到具体数据库上就是基本表,而数据元素就是基本表中的一个字段(field)。
规范化表达还规定在每一个基本表中必须定义一个数据元素为关键字(key),它可以唯一地标识出该表中其它相关的数据元素。
在规范化理论中表是二维的,它有如下四个性质: 在表中的任意一列上,数据项应属于同一个属性(如图中每一列都存放着不同合同记录的同一属性数据)。
表中所有行都是不相同的,不允许有重复组项出现(如图中每一行都是一个不同的合同记录)。
在表中,行的顺序无关紧要(如图中每行存的都是合同记录,至于先放哪一个合同都没关系)。
在表中,列的顺序无关紧要,但不能重复(如图中合同号和合同名谁先谁后都没关系,但二者不可重复或同名)。
在对表的形式进行了规范化定义后,数据结构还有五种规范化定义,定名为规范化模式,称为范式。
在这五种范式中,一般只用前三种,对于常用系统就足够了。
而且这五种范式是“向上兼容”的,即满足第五范式的数据结构自动满足一、二、三、四范式,满足第四范式的数据结构自动满足第一、二、三范式,……,依此类推。
第一范式(first normal form,简称1st NF)就是指在同一表中没有重复项出现,如果有则应将重复项去掉。
这个去掉重复项的过程就称之为规范化处理。
在本文所讨论的开发方法里,1st NF实际上是没有什么意义的。
因为我们按规范化建立的指标体系和表的过程都自动保证了所有表都满足1st NF。
第二范式(second normal form,简称 2nd NF)是指每个表必须有一个(而且仅一个)数据元素为主关键字(primary key),其它数据元素与主关键字一一对应。
例如,在图l9.7中如果我们将合同号定义为主关键字(其它数据元素中的记录数据都有可能重名,故不能作为主关键字),故只要知道了一个合同记录的合同号,就可以唯一地在同一行中找到该合同的任何一项具体信息。
通常我们称这种关系为函数依赖(functional depEndence)关系。
即表中其它数据元素都依赖于主关键字,或称该数据元素唯一地被主关键字所标识。
第三范式(third normal form,简称 3rd NF)就是指表中的所有数据元素不但要能够唯一地被主关键字所标识,而且它们之间还必须相互独立,不存在其它的函数关系。
也就是说对于一个满足了 2nd NF的数据结构来说,表中有可能存在某些数据元素依赖于其它非关键宇数据元素的现象,必须加以消除。
为防止数据库出现更新异常、插入异常、删除异常、数据冗余太大等现象,关系型数据库要尽量按关系规范化要求进行数据库设计。
§2.3 SQL语言基础 2.3.1 SQL简介 用户对数据库的使用,是通过数据库管理系统提供的语言来实现的。
不同的数据库管理系统提供不同的数据库语言。
关系数据库管理系统几乎都提供关系数据库标准语言——SQL。
SQL 的全称是Structured Query Language,即结构化查询语言。
SQL语句可以从关系数据库中获得数据,也可以建立数据库、增加数据、修改数据。
1986年ANSI采用SQL语言作为关系数据库系统的标准语言,后被国际化标准组织(ISO)采纳为国际标准。
SQL语言使用方便、功能丰富、简洁易学,是操作数据库的工业标准语言,得到广泛地应用。
例如关系数据库产品DB2、ORACLE等都实现了SQL语言。
同时,其它数据库产品厂家也纷纷推出各自的支持SQL的软件或者与SQL的接口软件。
这样SQL语言很快被整个计算机界认可。
SQL语言是一种非过程化语言,它一次处理一个记录集合,对数据提供自动导航。
SQL语言允许用户在高层的数据结构上工作,而不对单个记录进行操作。
SQL语言不要求用户指定数据的存取方法,而是使用查询优化器,由系统决定对指定数据存取的最快速手段。
当设计者在关系表上定义了索引时,系统会自动利用索引进行快速检索,用户不需知道表上是否有索引或者有什么类型的索引等细节。
SQL语言可以完成许多功能,例如: ● 查询数据 ● 在数据库表格中插入、修改和删除记录 ● 建立、修改和删除数据对象 ● 控制对数据和数据对象的存取 ● 确保数据库的一致性和完整性等
电脑里flash是什么意思
目前电的FLASH有两种解释:是Flash是由macromedia公司推出的交互式矢量图和 Web 动标准,由Adobe公司收购Flash动画的人被称之为闪客。
网页设计者使用 Flash 创作出既漂亮又可改变尺寸的导航界面以及其他奇特的效果。
Flash的前身是Future Wave公司的Future Splash,是世界上第一个商用的二维矢量动画软件,用于设计和编辑Flash文档。
1996年11月,美国Macromedia公司收购了Future Wave,并将其改名为Flash。
后又于2005年12月3日被Adobe公司收购。
Flash通常也指Macromedia Flash Player(现Adobe Flash Player)。
2012年8月15日,Flash退出Android平台,正式告别移动端。
另一种是flash是存储芯片的一种,通过特定的程序可以修改里面的数据。
FLASH在电子以及半导体领域内往往表示Flash Memory的意思,即平时所说的“闪存”,全名叫Flash EEPROM Memory。
Flash存储器又称闪存,它结合了ROM和RAM的长处,不仅具备电子可擦除可编程(EEPROM)的性能,还可以快速读取数据(NVRAM的优势),使数据不会因为断电而丢失。
U盘和MP3里用的就是这种存储器。
在过去的20年里,嵌入式系统一直使用ROM(EPROM)作为它们的存储设备,然而近年来Flash全面代替了ROM(EPROM)在嵌入式系统中的地位,用作存储Bootloader以及操作系统或者程序代码,或者直接当硬盘使用(U盘)。
以上解释希望给你有帮助。
我已经安装了flash控件啦,为什么qq空间的欢迎动画、导航和其他动画模块都不能显示,但是农场却可以
QQ空间在使用过程中比较爱出问题。
小编从论坛里找到QQ空间高手总结的最新QQ空间使用常见问题及解决办法,将陆续整理并发布,希望能帮助各位遇到同样问题的朋友解决问题。
QQ空间常用快捷键 进入装扮空间:ctrl+g 进入管理页面:ctrl+m 进入自定义状态(自定义被挡住时可用):ctrl+j 删除自行添加的自定义模块:ctrl+鼠标双击 进入日志页面:ctrl+b 保存装扮方案:ctrl+s 自动跳转到其他网站的问题 你的情况是因为音乐,模板图片或者flash含有其他网页链接,你可以: 1.进入空间的音乐盒,打开播放列表; 2.逐个点击已添加在播放列表中的音乐的播放按钮,找到点击播放时个弹出网站的音乐(通常是播放列表中的第一首); 3.将会弹出网页的音乐从播放列表中删除;同时进入音乐收藏,找到相应的歌曲,删除即可。
4.如果播放列表中未有会弹出网页的音乐,请您再检查您音乐收藏中的音乐,及首页模块中添加的视频或flash链接; 请你参考上面的方法试试~最近,打开空间会弹出网页的情况有上升的趋势,希望大家提高警惕(部分音乐是在大家添加后才会开 始弹出网页),尽量使用正规网站的音乐。
QQ空间相册有相片为什么QQ上不显示相册图标
操作方法如下:进入空间,然后新建一个相册,如果还没亮就再上传一张或几张图片在新相册里,之后再重新登录QQ,最后查看您的QQ上是否已经显示相册了。
相册是免费开通的,暂时不支持注销,请您确认后进行点亮操作。
导航条失效的问题 A:可能是由于您可能没有安装flash8.0版本,在您正常安装后即可使用。
请您稍后登录到:
P1_Prod_Version=ShockwaveFlash进行下载。
B:其次请清除一下浏览器的 缓存,点浏览器上的工具--然后再选择最下面的Internet选项,再点Internet删除文件(记得勾上删除所有 脱机内容),确定后,然后再重新打开浏览器尝试。
word的功能区共有几个选项卡?每个选项卡的具体功能是什么?
Readonly和Disabled是用在表单中的两个属性,它们都能够做到使用户不能够更改表单域中的内容。
但是它们之间有着微小的差别,总结如下:Readonly只针对input(text \\\/ password)和textarea有效,而disabled对于所有的表单元素都有效,包括select, radio, checkbox, button等。
但是表单元素在使用了disabled后,当我们将表单以POST或GET的方式提交的话,这个元素的值不会被传递出去,而readonly会将该值传递出去(这种情况出现在我们将某个表单中的textarea元素设置为disabled或readonly,但是submit button却是可以使用的)。
一般比较常用的情况是:在某个表单中为用户预填了某个唯一识别代码,不允许用户改动,但是在提交时需要传递该值,此时应该将它的属性设置为readonly。
经常遇到当用户正式提交了表单后需要等待管理员的信息验证,这就不允许用户再更改表单中的数据,而是只能够查看,由于disabled的作用元素范围大,所以此时应该使用disabled,但同时应该注意的是要将submit button也disabled掉,否则只要用户按了这个按钮,如果在数据库操作页面中没有做完整性检测的话,数据库中的值就会被清除。
如果说在这种情况下用readonly来代替disabled的话,若表单中只有input(text\\\/password)和textarea元素,那还是可以的,如果存在其他发元素,比如select,用户可以在重新改写值后按回车键进行提交(回车是默认的submit触发按键)。
我们常常在用户按了提交按钮后,利用javascript将提交按钮disabled掉,这样可以防止网络条件比较差的环境下,用户反复点提交按钮导致数据冗余地存入数据库。
disabled和readonly这两个属性有一些共同之处,比如都设为true,则form属性将不能被编辑,往往在写js代码的时候容易混合使用这两个属性,其实他们之间是有一定区别的。
如果一个输入项的disabled设为true,则该表单输入项不能获取焦点,用户的所有操作(鼠标点击和键盘输入等)对该输入项都无效,最重要的一点是当提交表单时,这个表单输入项将不会被提交。
而readonly只是针对文本输入框这类可以输入文本的输入项,如果设为true,用户只是不能编辑对应的文本,但是仍然可以聚焦焦点,并且在提交表单的时候,该输入项会作为form的一项提交。
小技巧:diabled可用readonly代替,background-color:#cccccc;加上灰色背景色就可以。
01 02 03
04 05