500 likes | 713 Views
计算机导论. 指导教师 : 杨建国. 二零零九年九月. 思考. 问题九:大学生如何提高写作能力? 看报、看杂志、看小说、看网站 听广播、看电视、看电影 写总结、写日记、参加演讲比赛. 送给学生的话. 在大学里面不要有 名利 思想. 怎么才两只?愚弄朕呀. 天下熙熙皆为名来,天下攘攘皆为利往. 岚岚,江面上有多少只船?. 两只. 数据库. 9.1 数据库的形成与发展 9.2 数据库实例 9.3 什么是数据库. 推荐阅读. 计算机系统. 硬件子系统 中央处理器:运算器、控制器、寄存器 存储器:内存、外存 外设:输入设备、输出设备 软件子系统
E N D
计算机导论 指导教师:杨建国 二零零九年九月
思考 • 问题九:大学生如何提高写作能力? • 看报、看杂志、看小说、看网站 • 听广播、看电视、看电影 • 写总结、写日记、参加演讲比赛
送给学生的话 • 在大学里面不要有名利思想 怎么才两只?愚弄朕呀 天下熙熙皆为名来,天下攘攘皆为利往 岚岚,江面上有多少只船? 两只
数据库 • 9.1 数据库的形成与发展 • 9.2 数据库实例 • 9.3 什么是数据库
计算机系统 • 硬件子系统 • 中央处理器:运算器、控制器、寄存器 • 存储器:内存、外存 • 外设:输入设备、输出设备 • 软件子系统 • 系统软件:操作系统、语言翻译程序、数据库管理系统 • 应用软件:通用应用软件、专用应用软件
9.1 数据库的形成与发展 9.1.1 人工管理阶段 • 问题:美国统计局每10年做一个全国性的普查和统计, 数据处理往往超过10年 • 解决:麻省理工的教授霍列瑞斯博士发明打孔机
通过大量的分类、比较和表格绘制的机器运行数百万穿 孔卡片来进行数据的处理,其运行结果在纸上打印出来 或者制成新的穿孔卡片 • 数据管理就是对这些穿孔卡片进行物理的储存和处理 • 插曲:霍列瑞斯博士后来申请了这个专利,开了一家公 司,在1924年与另外一家公司合并了,这就是IBM公司 数据处理之父
9.1.2 文件系统阶段 • 1951 年雷明顿兰德公司的Univac I计算机推出了一种一 秒钟可以输入数百条记录的磁带驱动器,从而引发了数 据管理的革命 • 1956 年IBM生产出第一个磁盘驱动器the Model305 RAMAC,可以储存5MB的数据(使用磁盘最大的好处 是可以随机地存取数据,而穿孔卡片和磁带只能顺序存 取数据) • 电子表格出现
9.1.3 数据库系统阶段 • 数据库系统的萌芽出现于60 年代 • 能够统一管理和共享数据的数据库管理系统(DBMS) 应运而生 • 数据模型是数据库系统的核心和基础 • 按照数据模型分成:网状DB、层次DB和关系DB • 1961年通用电气公司的Charles Bachman成功地开发出 世界上第一个网状DBMS(第一个数据库管理系统-集 成数据存储)
1968 年IBM 开发了的IMS,一种适合其主机的层次数据库 • 1970 年IBM 的研究员E.F.Codd在刊物Communication of the ACM上发表了一篇名为“A Relational Model of Data for Large Shared Data Banks”的论文,提出了关系模型的 概念,奠定了关系模型的理论基础 关系数据库之父
1970 年关系模型建立之后,IBM公司在San Jose实验室 增加了更多的研究人员研究这个项目,这个项目就是著 名的System R • 1973年加州大学伯克利分校的Michael Stonebraker 和 EugeneWong利用System R已发布的信息开始开发自己的 关系数据库系统Ingres
1974 年,IBM 的Ray Boyce 和DonChamberlin 将Codd关 系数据库的12条准则的数学定义以简单的关键字语法表现 出来,里程碑式地提出了SQL(Structured Query Language)语言 • Ellison认为这是他们的机会:他们决定开发通用商用数据 库系统Oracle,这个名字来源于他们曾给中央情报局做过 的项目名。几个月后,他们就开发了Oracle 1.0
9.1.4 高级数据库阶段 • 1986年Graphael公司开发了第一个商用的对象数据库系 统-Gbase • 美国Stonebraker教授提出的面向对象的关系型数据库理 论曾一度受到产业界的青睐 • 1991年,W.H.Inmon出版了一本《如何构建数据仓库》的书,使得数据仓库真正开始应用 数据仓库之父
Internet的异军突起以及XML语言的出现,给数据库系统Internet的异军突起以及XML语言的出现,给数据库系统 的发展开辟了一片新天地 • 数据库未来发展趋势随着信息管理内容的不断扩展,出现 了丰富多样的数据模型(层次模型,网状模型,关系模 型,面向对象模型,半结构化模型等),新技术也层出不 穷(数据流,Web数据管理,数据挖掘等)
9.2 数据库实例 9.2.1 access • 微软推出的基于Windows的桌面关系数据库管理系统 • 1992年11月发布 Microsoft Access 1.0
access的优点: • 存储方式单一 • 面向对象 • 界面友好、易操作 • 集成环境、处理多种数据信息 • Access支持ODBC(开发数据库互连,Open Data Base Connectivity)
access的缺点: • 不安全,很容易被别人下载 • 以下几种情况下数据库基本上会吃不消: • 数据库过大,一般达到50M左右的时候性能会急剧下降 • 网站访问频繁,经常达到100人左右的在线,性能下降 • 记录数过多,一般记录数达到10万条左右的时候性能就会 急剧下降
9.2.2 vfp(Visual FoxPro ) • 是Microsoft从Fox公司的FoxBase经过数次改良,主要用于 开发数据管理与运算等方面的软件 • 优点:简单、方便、命令丰富、速度快、数据处理能力强 • 缺点:安全性、效率、网络功能
9.2.3 sql(Structured Query Language) • 微软同Sybase 签订了合作协议,使用Sybase的技术开发 基于OS/2平台的关系型数据库 • 1989年,微软发布了SQL Server 1.0 版 • 是一种数据库查询和程序设计语言,用于存取数据以及 查询、更新和管理关系数据库系统 • 优点:SQL语言结构简洁,功能强大,简单易学 • 缺点:开放性、安全性、性能
SQL语言包含4个部分: • 数据定义语言DDL,例如:CREATE、DROP、 ALTER等语句 • 数据操作语言DML,例如:INSERT、UPDATE、 DELETE语句 • 数据查询语言DQL,例如:SELECT语句 • 数据控制语言DCL,例如:GRANT、REVOKE、 COMMIT、ROLLBACK等语句
9.2.4 mysql • MySQL是一个小型关系型数据库管理系统,开发者为瑞 典MySQLAB公司,在2008年1月16号被Sun公司收购, 2009年,SUN又被Oracal收购 • MySQL被广泛地应用在Internet上的中小型网站中 • 优点:体积小、速度快、总体拥有成本低、开放源码 • 缺点:规模小、功能有限
9.2.5 oracle • 前身叫SDL,由LarryEllison 和两个编程人员在1977创办 • 1979 年,Oracle公司是第一个支持SQL • Oracle为财富排行榜上的前1000家公司所采用,许多大型 网站也选用了Oracle系统 • 优点:安全、可靠、稳定、功能强大 • 缺点:贵、复杂
9.2.6 db2 • IBM在1997年完成了System R系统的原型,1980年开始 提供集成的数据库服务器—— System/38 • 是第一个具备网上功能的多媒体关系数据库管理系统, 支持包括Linux在内的一系列平台 • 优点:对XML的支持、datawarehouse系统、优化器 • 缺点:可能出现锁等待现象、在API与函数的提供上还 不完善、高可用性
9.2.7 sybase • Sybase公司成立于1984年 • 创始人之一Bob Epstein 是Ingres 大学版的主要设计人员 • 1987年5月推出的SybaseSQLServer1.0 • Sybase首先提出了Client/Server 数据库体系结构的思想, 并率先在Sybase SQLServer 中实现 • 虽然没有oracle、db2名气响,但是国内许多大企业都使用 它,尤其金融企业
9.2.8 informix • 1980年成立,现在属于IBM • 为Unix等开放操作系统提供专业的关系型数据库产品 • 第一个支持SQL是InformixSE(StandardEngine) • InformixSE在当时的Unix 环境下主要的数据库产品 • 它是第一个被移植到Linux上的商业数据库产品
9.2.9 jasmine • 是基于面向对象平台,适于多媒体信息丰富的互联网和 客户/服务器环境 • 它 对关系数据库提供本地接口,例如 oracle, DB2 , Informix, CA 的 Openlngres和SQL Server, 而 不是象 以前的对象-关系混合系统那样,将多媒体文件贮 存于 一个关系数据库中进行操作。另外它的OLE支持使 它可 与决策支持工具进行协作,例如Seagate软件公司的 Crystal Info
9.2.10 cloudscape • 是J2EE自带的RDBMS数据库管理系统。它提供了所有大 型数据库管理系统的大部分功能,为J2EE的初学者提供了 较好的数据环境 • 以 Java 类库形式提供的、轻量级的、可嵌入的关系引擎
9.2.11 postgreSQL • 最早开始于BSD的Ingres项目 • 包括了可以说是目前世界上最丰富的数据类型的支持 • 唯一支持事务、子查询、多版本并行控制系统、数据完 整性检查等特性的自由软件的关系性数据库管理系统 • 是世界上可以获得的最先进的开放源码的数据库系统
9.3 什么是数据库 9.3.1 什么是数据库 • 数据库是一个组织内被应用程序使用的逻辑相一致的相 关数据的集合
数据库优点: • 冗余较少 • 避免不一致性 • 效率 • 数据完整性 • 机密性
9.3.2 数据库管理系统 • DBMS是定义、创建、维护数据库的一种工具 • DBMS构成:硬件、软件、数据、用户、规程
9.3.3 数据库体系结构 • 内层:决定了数据在存储设备中的实际存储位置 • 概念层(公用层):定义数据的逻辑视图 • 外层:直接与用户(最终用户或应用程序)交互
9.3.4 数据库模型 1.层次模型
4.分布式模型 • 基于关系模型,数据存储在一些通过因特网通信的计算 机上,每台计算机拥有部分或全部数据库
5.面向对象模型 • 在试图保留关系模型优点的同时允许应用存取结构化数据 • 通常用作面向对象数据查询语言是XML
9.3.5 关系的操作 1.插入 insert into COURSES Values(“cls52”,“TCP/IP”,6)
2.删除 delete from COURSES where No=“cls52”
3.更新 update COURSES set Unit=6 where No=“cls51”
4.选择 select * from COURSES where Unit=5
5.投影 select No,Unit from COURSES
6.连接 select No,Course-Name,Unit,Professor from COURSES,TAUGHT-BY where COURSES.No=TAUGHT-BY.No
7.并 select * from COURSES1 union select * where COURSES2
8.交 select * from COURSES1 intersection select * where COURSES2
9.差 select * from COURSES1 minus select * where COURSES2
作业题 1.什么是E-R图? 2.ASP(ASP.NET)怎么连接ACCESS、SQL? 3.PHP怎么连接MYSQL?(选做) 4.JSP怎么连接ORACLE?(选做) 5.C#怎么连接DB2? (选做) 6.1NF、2NF、3NF、BCNF、4NF、PJNF、5NF是什么?(选做)