1、Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,11/7/2009,#,数据库基础,主讲:丁瑞彭,200249,什么是数据,对现实世界中客观事物的符号表示,可以是数值数据,也可以是非数值数据,如,声音、图像等,计算机中数据,能输入计算机,并能为其处理的符号序列,如何存储、管理数据,Where?,卡片、磁带、磁盘,How?,数据管理的发展阶段,人工管理阶段(上世纪50年代中期以前),文件系统阶段(上世纪50年代后期
2、上,世纪60年代中期),数据库系统阶段(上世纪60年代后期开,始),人工管理阶段,背景,计算机主要用于科学计算,数据量小、结构简单,如高阶方程、曲线拟和等,外存为顺序存取设备,磁带、卡片、纸带,没有磁盘等直接存取设备,没有操作系统,没有数据管理软件,用户用机器指令编码,通过纸带机输入程序和数,据,程序运行完毕后,由用户取走纸带和运算结,果,再让下一用户上机操作,人工管理阶段,特点,用户完全负责数据管理工作,数据的组织、存储结构、存取方法、输入输出等,数据完全面向特定的应用程序,每个用户使用自己的数据,数据不保存,用完就撤走,数据与程序没有独立性,程序中存取数据的子程序随着存储结构的改变而改变
3、磁带的特点,优点:廉价地存放大容量数据,缺点:顺序访问;1%所需,100%访问,文件系统阶段,背景,计算机不但用于科学计算,还用于管理,外存有了磁盘、磁鼓等直接存取设备,直接存取设备(DASD),无须顺序存取,由地址直接访问所需记录,有了专门管理数据的软件,一般称为文件系统,文件存储空间的管理,目录管理,文件读写管理,文件保护,向用户提供操作接口,描述数据:对数据的说明信息,没有操作系统,没有数据管理软件,打开Access,点击文件新建,品流通中的购销关系等等。,术语称一列为一个字段并且字,两条记录的主键不能具有相同的值。,结构化查询语言)最早源于IBM,由,数据库系统阶段(上世纪60年代后
4、期开,数据的存取由系统管理,用户不必考虑存取,技术不断进步、应用发展不断发展,相互推动相互促,负责应用系统的需求分析和规范定义,确定系统的软硬件,软件价格上升,硬件价格下降,编制和维护,SQLServer,如:Oracle、SQLServer、DB2、Access、,路径等细节,从而简化了应用程序,文件系统阶段,特点,系统提供一定的数据管理功能,支持对文件的基本操作(增、删、改、查等),用户程序,不必考虑物理细节,数据的存取基本上以记录为单位,数据仍是面向应用的,一个数据文件对应一个或几个用户程序,数据与程序有一定的独立性,文件的逻辑结构与存储结构由系统进行转换,数据在存储,上的改变不一定反映
5、在程序上,数据库系统阶段,背景,计算机管理的数据量大,关系复杂,共享性,要求强(多种应用、不同语言共享数据),外存有了大容量磁盘,光盘,软件价格上升,硬件价格下降,编制和维护,软件及应用程序成本相对增加,其中维护的,成本更高,力求降低,数据库系统阶段,特点,有了数据库管理系统,面向全组织,面向现实世界,独立性较强,由DBMS统一存取,维护数据语义及结构,数据库系统阶段,数据库观点,数据不是依赖于处理过程的附属品,而是现,实世界中独立存在的对象,程序2,程序1程序n,统一存取,数据1数据2,数据n,数据库系统的特点,面向全组织的复杂的数据结构,支持全企业的应用而不是某一个应用,数据反映了客观事物
6、间的本质联系,而不是,着眼于面向某个应用,是有结构的数据。这,是数据库系统的主要特征之一,与文件系统,的根本差别。文件系统只是记录的内部有结,构,一个文件的记录之间是个线性序列,记,录之间无联系,数据库系统的特点,数据的冗余度小,易扩充,数据面向整个系统,而不是面向某一应用,,数据集中管理,数据共享,因此冗余度小,节省存储空间,减少存取时间,且可避免数,据之间的不相容性和不一致性,每个应用选用数据库的一个子集,只要重新,选取不同子集或者加上一小部分数据,就可,以满足新的应用要求,这就是易扩充性,数据库系统的特点,具有较高的数据和程序的独立性,把数据库的定义和描述从应用程序中分离出,去,数据的存
7、取由系统管理,用户不必考虑存取,路径等细节,从而简化了应用程序,数据库系统的特点,统一的数据控制功能,数据共享程度高,数据的安全性控制(Security),保护数据以防止不合法的使用所造成的数据泄露和破坏,措施:用户标识与鉴定,存取控制,数据的完整性控制(Integrity),数据的正确性、有效性、相容性,措施:完整性约束条件定义和检查,并发控制(Concurrency),对多用户的并发操作加以控制、协调,防止其互相干扰而,得到错误的结果并使数据库完整性遭到破坏,措施:封锁,Stop!,Ijustwantto,knowwhatis,Database?,数据库,指有组织的、动态地存储在辅助存储器
8、上,能为多个用户共享的、与应用程序,彼此独立的一组相互关联的数据集合。,数据的集合,由DBMS(数据库管理系统)统一管理,多,用户共享,数据库管理系统DBMS,系统软件,对数据库进行统一管理和控,制,是为建立、使用和维护数据库而设计的数据,管理软件。,如:Oracle、SQLServer、DB2、Access、,FoxPro等。,数据库系统,带有数据库的整个计算机系统,包括硬,件、软件、数据、人员,数据库系统的主要成分,硬件,大内存,放得下OS,DBMS核心,系统缓冲区,用,户工作区等,大容量、直接存取的外存设备,作数据备份的磁带,软件,OS,DBMS,高级语言编译系统及其与数据库的接,口,
9、应用开发工具,应用系统,数据,目标数据:数据本身,描述数据:对数据的说明信息,数据库系统的主要成分,用户,最终用户,通过应用系统的用户接口(菜单等)使用数据库,应用程序员,基于外模式来编写应用程序,系统分析员,负责应用系统的需求分析和规范定义,确定系统的软硬件,配置,参与数据库模式设计,数据库管理员DBA,负责数据库的全面管理和控制,数据库应用系统,算机系统中,通过数据库管理系统,按,用户的应用需求或为某一特定的用户设,计的结构合理、使用方便、高效的数据,库和配套的应用程序系统。,数据库系统的软硬件层次,PB,VB,VC,应用系统,DELPHY,Oracle,Db2,Sybase,应用开发工具
10、软件,SQLServer,Informix,DBMS,编译系统,操作系统,硬件,数据库应用系统结构,对数据库进行管,应用程序系统,提供友好的界面,,理、操作,帮助用户完成对,数据的处理,DBMS,执行物理,文件的读,写操作,操作系统,数据文件,数据字典,,数据库,索引,统计数据,网络数据库技术,基于HTML文件的Web服务器,文本和其他多媒体信息都是以文件的形式来进行存储,和管理,客户端直接下载HTML文件。,Page1.htm,Page2.htm,Page1.htm,HTTP请,求,HTTP回,应,服务器端,客户端,基于数据库的Web服务器,文本和其他多媒体信息保存在数据库中;,客户端请求服
11、务器执行一个CGI程序或,Script语言码。,SQL,HTTP请求,(表单),数据库SQLODBCHTTP回应,(数据库数据),服务器端,客户端,WhatsSQL?,SQL(StructuredQueryLanguage,,结构化查询语言)最早源于IBM,由,ANSI(美国国家标准局)确认的关系型数,据库语言的标准。是对关系型数据库中,的数据进行定义、修改、控制及查询的,语言标准。,选择查询语句(SELECT),SELECT*|,字段列表,FROM,表名,WHERE,条件表达式,GROUPBY,分组字段,HAVING,分组准则,ORDERBY,字段1,ASC|DESC,字段2,ASC|,DE
12、SC,可见sql是比较容易理解的。这里只举出选择查询语句,,暂不作深入了解。,罗里罗嗦,受,不了了!,关系数据库,在数据库技术发展过程中出现过:层次数据库、网状,数据库和关系数据库,技术不断进步、应用发展不断发展,相互推动相互促,进,所谓:,与时俱进!,面向对象数据库等将不断涌现。,但是关系数据库依然是当今的主流。,关系数据库,是以关系模型为基本结构而形成的数据集合。,而关系理论是建立在集合代数理论基础上的,,有着坚实的数学基础。应用数学方法来处理数,据库中的数据。,“关系”(relation)是数学中的一个基本,概念,由集合中的任意元素所组成的若干有序,偶对表示,用以反映客观事物间的一定关系
13、如数之间的大小关系、人之间的亲属关系、商,品流通中的购销关系等等。,关系数据库,在关系数据库中,所有的数据都按“表,(术语:关系)”进行组织和管理。,一个关系数据库是由若干表组成。,一个数据库系统中可以同时存在多个数,据库,数据表,简称表,一个表就是一组相关的数据分,类后(字段)按行排列,像一张表格一,样。,表用于组织和存储数据,由行与列组成。,数据表,例如,学号,姓名,性别,出生日期,0001,李玉红,张小明,女,男,0002,0003,每一列表示一个数据分类。例如学号、姓名、性别、出生日期等,,分别表示了“学生”的各种信息。术语称一列为一个字段并且字,段名称在表中必须唯一;,而每一行则
14、表示数据的具体描述,例如第一行就记录了学生“李,玉红”的基本信息。术语称一行为一条记录,。,刘文涛,男,几个概念,数据:数据指的是储存在数据表中的信息,数,据可能是一个字段中的一个内容,一个由一系,列字段组成的记录,或是一个记录的集合。数,据库应用项目能取得、增加、修改或是删除数,据表中的数据。,字段:在数据表中,每一列称为一个字段。每,一个字段都有相应的描述信息,如数据类型、,数据宽度等。,记录:在数据表中每一行称为一条记录。,几个概念,索引:为了加快访问数据库的速度,数,据库都使用索引,类似于图书馆为图书,建立的图书索引,使读者可以方便的查,阅所到需要的图书。索引是一个独立的,文件或表格(
15、每个数据库处理的方式不,同);在数据库的整个生命周期中,它,一直存在,并得到相应的维护。,几个概念,主键:主键是表中一列或多列的组合,其值惟,一标识了表中的一行记录。在数据表中,任意,两条记录的主键不能具有相同的值。例如在表,1中,“学号”字段当作数据表的主键。如果,出现了相同的学号,将提示出错,因为系统不,知道存取的究竟是哪一条记录的数据。假设把,“姓名”字段设为主键,这就要求该班不能出,现重名现象。但就实际情况来看,一个班中确,实存在重名现象的可能,所以“姓名”字段不,宜做为主键。,几个概念,排序:在浏览数据表时,我们常常对数,据表按某种类型排序。例如按姓氏拼音,,出生年月等。有倒序、顺序之分。也可,以几个条件组合排序。,在ACCESS中建立一个数据库,打开Access,点击文件新建,保存数据文件。选择使用设计器创建表,如果没有创建主键,保存的时候会提示:定义主键,选择文件打开,上机练习,在Access中建立一个数据库,建立一张,学生表,自己定义字段。尝试往里面填,写几条记录。,






