




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库原理与应用教程(第3版)国家“十一五”规划教材课程名称:数据库技术与应用课程学时:48学时,其中讲课36学时,上机12学时任课老师:孙玉宝联系方式sunyb@办公室:学科2号楼N210课程介绍课程介绍教材:数据库原理与应用教程参考教材:1.萨师煊,王珊:数据库系统概论(第四版)
高等教育出版社,2006.52.《DatabaseSystemConcepts》,《数据库系统概念》
杨冬青唐世渭译机械工业出版社
3.《Transact-SQL权威指南》中国电力出版社
学习数据库这门课需要哪些先修课程?严格地说,本课程需要离散数学、程序设计语言、操作系统及数据结构几门课程中的部分知识为先修内容.课程介绍考核方法
■期末考试(闭卷)70%■
实验15%■平时成绩15%
课程介绍第1章数据库概述1.1一些基本概念1.2数据管理技术的发展1.3数据独立性1.4数据库系统的组成概述随着信息管理水平的不断提高,应用范围的日益扩大,信息已成为企业的重要财富和资源。作为管理信息的数据库技术也得到了很大的发展,其应用领域也越来越广泛。飞机、火车订票系统、商场的进货与销售、图书馆对书籍及借阅的管理、QQ、微博、微信等。数据库技术数据库是数据管理的最新技术主要研究内容是如何对数据进行科学的存储、管理,以提供可共享、安全、可靠的数据。数据库技术一般包含数据管理和数据处理两部分。数据库系统本质上是一个用计算机存储数据的系统可以将数据库看成是一个电子文件柜除保存数据外,还提供对数据进行各种管理和处理:安全管理数据共享数据查询1.1一些基本概念■什么是数据(Data)■什么是数据库(Database,DB)■数据库管理系统(DatabaseManagementSystem:DBMS)■数据库系统(DatabaseSystem:DBS)数据(Data)是数据库中存储的基本对象数据的定义描述事物的符号记录数据的种类文本、图形、图像、音频、视频、学生的档案记录、货物的运输情况等经过数字化后保存在计算机中数据的特点数据与其语义是不可分的数据数据需要经过解释才能明确其表达的含义。数据的含义称为数据的语义,数据与其语义是不可分的。例如93是一个数据语义1:学生某门课的成绩语义2:某人的体重语义3:某个年级的学生人数语义4:请同学给出。。。数据事物的描述在日常生活中,一般直接用自然语言来描述事物。如描述一门课程的信息:数据库系统基础课程,4个学分,第5学期开设。但在计算机中经常按如下形式描述:(数据库系统基础,4,5)记录*数据学生档案中的学生记录(李明,男,197205,江苏南京市,计算机系,1990)语义:学生姓名、性别、出生年月、籍贯、所在院系、入学时间解释:李明是个大学生,1972年5月出生,江苏南京市人,1990年考入计算机系请给出另一个解释和语义数据数据库(Database)是存放数据的仓库。永久存储在计算机存储设备上。按一定的格式存储。是有组织的、可共享的大量数据的集合。数据库(Database)数据库的定义数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据的集合。数据库的基本特征数据按一定的数据模型组织、描述和储存可为各种用户共享冗余度较小数据独立性较高易扩展数据库管理系统DatabaseManagementSystem——DBMS是一个专门用于实现对数据进行管理和维护的系统软件。位于用户与操作系统之间
的一层数据管理软件。是基础软件,是一个大型
复杂的软件系统
操作系统*17数据库管理系统主要功能DBMS的功能:科学地组织和存储数据、高效地获取和维护数据,具体包括:数据库的建立与维护数据定义数据组织、存储和管理数据操作事务的管理和运行*18数据库管理系统主要功能数据定义功能提供数据定义语言(DDL)
定义数据库中的数据对象数据组织、存储和管理
分类组织、存储和管理各种数据确定组织数据的文件结构和存取方式实现数据之间的联系提供多种存取方法提高存取效率数据操纵功能
提供数据操纵语言(DML)
实现对数据库的基本操作(查询、插入、删除和修改)数据库管理系统主要功能数据库的事务管理和运行管理数据库在建立、运行和维护时由DBMS统一管理和控制保证数据的安全性、完整性、多用户对数据的并发使用发生故障后的系统恢复数据库的建立和维护功能(实用程序)
数据库初始数据装载转换 数据库转储 介质故障恢复 数据库的重组织 性能监视分析等其它功能
DBMS与网络中其它软件系统的通信两个DBMS系统的数据转换异构数据库之间的互访和互操作数据库系统数据库系统是基于数据库的计算机应用系统。一般由数据库、数据库管理系统(及相关实用工具)、应用程序、数据库管理员组成。*DBMS实用工具应用程序应用程序DBA21DB1.2数据管理技术的发展*22什么是数据管理对数据进行分类、组织、编码、存储、检索和维护数据处理的中心问题数据管理技术的发展过程人工管理阶段(20世纪40年代中--50年代中)文件系统阶段(20世纪50年代末--60年代中)数据库系统阶段(20世纪60年代末--现在)数据管理技术的发展动力应用需求的推动计算机硬件的发展计算机软件的发展1.2数据管理技术的发展1.2数据管理技术的发展人工管理文件管理方式数据库管理*24人工管理操作模式*25产生的背景--20世纪40年代中--50年代中应用需求 科学计算 硬件水平 无直接存取存储设备软件水平 没有操作系统 处理方式 批处理 特点数据的管理者:用户(程序员),数据不保存数据面向的对象:某一应用程序数据的共享程度:无共享、冗余度极大数据的独立性:不独立,完全依赖于程序数据的结构化:无结构数据控制能力:应用程序自己控制
应用程序1数据集1应用程序2数据集2应用程序n数据集n...…...…人工管理阶段应用程序与数据之间的对应关系
人工管理操作模式时期20世纪50年代末--60年代中产生的背景应用需求 科学计算、管理 硬件水平 磁盘、磁鼓 软件水平 有操作系统,有文件管理系统 处理方式 联机实时处理、批处理 文件管理操作模式文件管理操作模式*28文件管理的操作模式:文件管理系统把数据组织成相互独立的数据文件,用户可以编写应用程序来处理文件中的数据。应用程序1文件1应用程序2文件2应用程序n文件n存取方法(操作系统)...…...…文件系统阶段应用程序与数据之间的对应关系文件管理操作模式文件管理示例*应用程序A2应用程序A1学生基本信息管理学生选课管理学生信息文件F1课程信息文件F2学生选课信息文件F3(学号、姓名、性别、出生日期、联系电话、所在系、专业、班号
)(学号、姓名、所在系、专业、课程号、课程名、修课类型、修课时间、考试成绩
)30(课程号、课程名、授课学期、学分、课程性质)文件管理系统的缺点编写应用程序不方便数据冗余不可避免应用程序依赖性不支持对文件的并发访问数据间联系弱难以按用户视图表示数据无安全控制功能定义函数size_tfread(void*ptr,size_tsize,size_tnmemb,FILE*stream);函数说明fread()用来从文件流中读取数据。参数stream为已打开的文件指针,参数ptr指向欲存放读取进来的数据空间,读取的字符数以参数size*nmemb来决定。Fread()会返回实际读取到的nmemb数目,如果此值比参数nmemb来得小,则代表可能读到了文件尾或有错误发生,这时必须用feof()或ferror()来决定发生什么情况。返回实际读取到的nmemb数目。
范例#include<stdio.h>
#definenmemb3
structtest
{charname[20];
intsize;
}s[nmemb];
main()
{
FILE*stream;
inti;
stream=fopen(“/tmp/fwrite”,”r”);
fread(s,sizeof(structtest),nmemb,stream);
fclose(stream);
for(i=0;i<nmemb;i++)
printf(“name[%d]=%-20s:size[%d]=%d/n”,i,s[i].name,i,s[i].size);
}执行name[0]=Linux!size[0]=6
name[1]=FreeBSD!size[1]=8
name[2]=Windows2000size[2]=11编写应用程序不方便编写应用程序不方便定义函数size_tfwrite(constvoid*ptr,size_tsize,size_tnmemb,FILE*stream);
函数说明fwrite()用来将数据写入文件流中。参数stream为已打开的文件指针,参数ptr指向欲写入的数据地址,总共写入的字符数以参数size*nmemb来决定。fwrite()会返回实际写入的nmemb数目。返回实际写入的nmemb数目。范例#include<stdio.h>
#defineset_s(x,y){strcoy(s[x].name,y);s[x].size=strlen(y);}
#definenmemb3
structtest
{charname[20];
intsize;
}s[nmemb];
main()
{
FILE*stream;
set_s(0,”Linux!”);
set_s(1,”FreeBSD!”);
set_s(2,”Windows2000.”);
stream=fopen(“/tmp/fwrite”,”w”);
fwrite(s,sizeof(structtest),nmemb,stream);
fclose(stream);
}编写应用程序不方便应用程序编写者必须清楚地了解所用文件的逻辑及物理结构,如文件中包含多少个字段,每个字段的数据类型,采用何种逻辑结构和物理存储结构。对文件的查询、修改等处理都必须在应用程序中编程实现。*34数据冗余不可避免数据冗余所带来的问题不仅仅是存储空间的浪费,更为严重的是造成了数据的不一致(inconsistency)。如:某学生所学的专业发生了变化,如果只在F1文件中进行修改,而忘记在F3中应做同样的修改。则会造成同一名学生在两个文件中的“专业”不一样。*35应用程序依赖性应用程序对数据的操作依赖于存储数据的文件的结构。文件和记录的结构通常是应用程序代码的一部分,如C程序的struct。文件结构的每一次修改,都将导致应用程序的修改。*36不支持对文件的并发访问文件最初是作为程序的附属数据出现的,它一般不支持多个应用程序同时对同一个文件进行访问。例如:某用户打开了一个Excel文件,当第二个用户在第一个用户未关闭此文件前打开此文件时,只能以只读方式打开此文件,而不能对此文件进行修改。*37数据间联系弱文件与文件之间是彼此独立、毫不相干的,文件之间的联系必须通过程序来实现。比如F3文件中的学号、姓名等学生的基本信息必须是F1文件中已存在的(即选课学生必须是已存在的学生)数据之间的联系是实际应用当中所要求,但文件本身不具备自动实现这些联系的功能。*38难以满足不同对数据用户的需求不同的用户关注的数据往往不同。例如,对于学生基本信息,分配学生宿舍的部门可能只关心学生的学号、姓名、性别和班号。教务部门可能关心的是学号、姓名、所在系、专业和班号。需要为每个用户建立一个文件,这势必造成很多的数据冗余。*39无安全控制功能在文件管理方式中,很难控制某个人对文件能够进行的操作。如:只允许某个人查询和修改数据,但不能删除数据,或者对文件中的某个或者某些字段不能修改等。在实际应用中,数据的安全性是非常重要且不可忽视的。*40数据库管理*41时期20世纪60年代末以来产生的背景应用背景 大规模管理 硬件背景 大容量磁盘、磁盘阵列 软件背景 有数据库管理系统 处理方式 联机实时处理,分布处理,批处理 数据库管理数据库管理系统数据库管理的操作模式:现在人们对数据的操作全部是通过数据库管理系统实现的,而应用程序的编写也不再直接针对存放数据的文件。注意与文件管理的模式图进行对比。数据库管理示例*各学院程序学生基本信息管理学生有关的数据库教务部门程序学生选课管理数据库管理系统43数据库管理系统实现示例数据库管理的优点相互关联的数据的集合较少的数据冗余程序与数据相互独立保证数据的安全、可靠最大限度地保证数据的正确性数据可以并发使用并能保证一致性*44相互关联的数据的集合数据库中的数据不是孤立的,数据与数据之间是相互关联的。也就是说,在数据库中不仅要能够表示数据本身,还要能够表示数据与数据之间的联系。学生课程学生与课程之间的联系*45较少的数据冗余 数据库中的数据被统一管理,合理组织,任何对数据的操作都由数据库管理系统DBMS完成。数据库DBMS*46数据具有较高的独立性数据独立性是指数据存储方法(逻辑存储方式和物理存储方式)与应用程序互不依赖、彼此独立的特性。*47保证数据的安全、可靠数据库技术要能够保证数据库中的数据是安全、可靠的。
有效地防止数据库中的数据被非法使用或非法修改
数据遭到破坏时能立刻将数据完全恢复主动安全被动安全安全机制备份恢复*48最大限度地保证数据的正确性保证数据正确的特性在数据库中称之为数据完整性。学生的年龄200岁*49数据可以并发使用
并能保证数据的一致性
在多个用户同时使用数据库时,能够保证不产生冲突和矛盾,保证数据的一致性和正确性。*50并发操作示例10张票订8张票:10-8=2订4张票:10-6=4421010?*51数据结构化数据的共享性高,冗余度低,易扩充数据独立性高数据由DBMS统一管理和控制数据库管理的特点数据结构化整体数据的结构化是数据库的主要特征之一整体结构化不再仅仅针对某一个应用,而是面向全组织不仅数据内部结构化,整体是结构化的,数据之间具有联系数据的共享性高,冗余度低,易扩充数据库系统从整体角度看待和描述数据,数据面向整个系统,可以被多个用户、多个应用共享使用。数据共享的好处减少数据冗余,节约存储空间避免数据之间的不相容性与不一致性使系统易于扩充数据独立性高物理独立性指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变了,应用程序不用改变。逻辑独立性指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序也可以不变。数据独立性是由DBMS的二级映像功能来保证的具体说明请参见1.3节数据独立性数据由DBMS统一管理和控制DBMS提供的数据控制功能(1)数据的安全性(Security)保护保护数据,以防止不合法的使用造成的数据的泄密和破坏。(2)数据的完整性(Integrity)检查将数据控制在有效的范围内,或保证数据之间满足一定的关系。(3)并发(Concurrency)控制对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。(4)数据库恢复(Recovery)将数据库从错误状态恢复到某一已知的正确状态。应用程序与数据的对应关系(数据库系统)DBMS应用程序1应用程序2数据库…数据库系统阶段应用程序与数据之间的对应关系
1.3数据独立性指应用程序不会因数据的物理表示方式和访问技术的改变而改变,即应用程序不依赖于任何特定的物理表示方式和访问技术,包含两个方面:逻辑独立性物理独立性*58物理独立性指当数据的存储位置或存储结构发生变化时,不影响应用程序的特性。*应用程序D:\xE:\a学生数据库
D:\xF:\b学生数据库
59逻辑独立性指当表达现实世界的信息内容发生变化时,如:增加信息删除无用信息等不影响应用程序的特性。*应用程序学生数据库
学生数据库
60示例*学号姓名性别所在系S01张三男计算机S02李四女计算机S03王五女信息S04陈六男信息学号姓名性别所在系专业S01张三男计算机软件S02李四女计算机应用S03王五女信息管理S04陈六男信息管理应用程序学号姓名性别S01张三男S02李四女S03王五女S04陈六男61非独立性在使用文件管理数据时,应用程序常常是数据依赖的,也就是说数据的物理表示方式和有关的存取技术都要在应用程序中考虑,而且,有关物理表示的知识和访问技术直接体现在应用程序的代码中。*62非独立性示例Openfile(“D:\data\file1”)*file1D:\data\file1file1F:\data\file1Openfile(“F:\data\file1”)631.4数据库系统的组成……应用程序1应用程序2应用程序n数据库管理系统(DBMS)数据库数据库管理员核心开发工具:VB,Visualstudio…DBMS:Oralce,DB2,Sqlserver数据库系统的组成数据库是数据的汇集,它以一定的组织形式保存在存储介质上数据库管理系统是管理数据库的系统软件,它可以实现数据库系统的各种功能应用程序专指以数据库数据为基础的程序数据库管理员负责整个数据库系统的正常运行。*65硬件由于数据库中的数据量一般都比较大,而且DBMS自身的规模也比较大(如:SQLServer2005的完整安装大约需700MB以上的硬盘空间和至少512MB以上的内存),必须要有足够大的内存,来存放操作系统、数据库管理系统、数据缓冲区和应用程序,而且还要有足够大的硬盘空间来存放数据库数据,最好还有足够的存放备份数据的磁带、磁盘或光盘。*66软件数据库管理系统。是整个数据库系统的核心,是建立、使用和维护数据库的系统软件。支持数据库管理系统运行的操作系统。具有数据库访问接口的高级语言及其编程环境,以便于开发应用程序。实用工具。一般是数据库厂商提供的随数据库管理系统软件一起发行。*67人员数据库管理员系统分析人员数据库设计人员应用程序编程人员最终用户*68思考题试说明数据、数据库、数据库管理系统和数据库系统的概念。数据管理技术的发展主要经历了哪几个阶段?
与文件管理相比,数据库管理有哪些优点?在数据库管理方式中,应用程序是否需要关心数据的存储位置和存储结构?为什么?
在数据库系统中,数据库的作用是什么?在数据库系统中,应用程序可以不通过数据库管理系统而直接访问数据文件吗?数据独立性指的是什么?它能带来哪些好处?数据库系统由哪几部分组成,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年中国饮用水行业现状分析及投资十三五规划研究报告
- 2025-2030年中国陆上货物运输保险市场运行状况及发展风险评估报告
- 2025湖南省建筑安全员-B证考试题库及答案
- 2025-2030年中国铝合金型材市场十三五规划及发展建议分析报告
- 2025-2030年中国营林及木竹采伐机械制造产业需求分析及发展状况预测报告
- 2025-2030年中国航模行业竞争格局及投资战略研究报告
- 2025-2030年中国罗汉果茶市场发展现状及前景规划研究报告
- 2025-2030年中国红薯淀粉市场运营状况及前景预测分析报告
- 2025-2030年中国端氨基聚醚行业风险评估及发展策略研究报告
- 2025-2030年中国电工机械专用设备制造市场规模分析及投资策略研究报告
- 2025春季开学前学校安全隐患排查工作实施方案:5大安全排查一个都不能少
- 威图电柜空调SK3304500使用说书
- 阀门噪声计算程序(IEC)(带公式)
- 2022年RDA5807m+IIC收音机51单片机C程序上课讲义
- 雅马哈贴片机_修机_调机的经验之谈1
- 全自动咖啡机基本结构及原理教程课件
- 金属风管支架重量计算表
- 正负零以下基础施工方案(44页)
- 简爱人物形象分析(课堂PPT)
- 义务教育《劳动》课程标准(2022年版)
- 从业务骨干到管理者(课堂PPT)
评论
0/150
提交评论