1 / 134

数据库原理及应用

数据库原理及应用. Principles and Application On Database Systems 理论学时: 56 学时 上机学时: 20 学时 学 分: 4.5 课程设计:数据库应用系统设计 20 学时( 1 周). 上机安排: 第 4 周~第 13 周 时间:待定 机房:待定 答疑时间: 周二下午 3:00~4:00 或 上机时间 学习要求: 理论部分、应用、上机、作业. 教材. 《 数据库系统概论 》 萨师煊 , 王珊 高等教育出版社 2000 年 2 月第 3 版

Download Presentation

数据库原理及应用

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 数据库原理及应用 Principles and Application On Database Systems 理论学时:56学时 上机学时: 20学时 学 分:4.5 课程设计:数据库应用系统设计 20学时(1周)

  2. 上机安排: 第4周~第13周 时间:待定 机房:待定 答疑时间:周二下午3:00~4:00 或 上机时间 学习要求:理论部分、应用、上机、作业

  3. 教材 《数据库系统概论》 萨师煊,王珊 高等教育出版社 2000年2月第3版 教材说明: 有配套习题集 只有理论部分,应用部分需要补充

  4. 参考书  参考书 • 《数据库系统原理及应用教程》苗雪兰等 机械工业出版社 • 《数据库原理与应用—基于SQL Server 2000》 李春堡 曾平 清华大学出版社 • 《数据库原理习题与解析》 李春堡,曾慧 清华大学出版社 • 《数据库原理应试指导》曾慧 清华大学出版社 • 《关系数据库习题与解答》周云晖 刘千里等 译 机械工业出版社 • 《SQL Server 2000实用教程》陈联诚等 电子工业出版社

  5. 软件  上机软件 • Winows 2000 Server • Microsoft SQL Server 2000中文版 参考内容:Microsoft SQL Server联机丛书 • Microsoft Visual Basic 6.0中文版 参考内容:MSDN Library Visual Studio 6.0

  6. 成绩评定 • 数据库原理及应用 • 平时成绩:30% 上机练习及书面作业、出勤、测验 学习态度等 • 期末考试:70% • 数据库应用系统设计(课程设计) • 设计期间的出勤情况 • 设计成果运行情况 • 报告书写情况

  7. 学习目标 • 理解、掌握数据库系统的基本概念、基本原理及关键技术。 通过结合一种具体的数据库管理系统(SQL Server 2000)学会设计和管理数据库 • 掌握数据库应用系统的设计开发方法。 通过结合一种开发工具(Visual Basic 6.0)学会开发小型数据库应用程序。 • 数据库应用程序实例: 学生学籍管理系统 人事管理系统 财务管理系统 仓库管理系统……

  8. 第一章 绪论 本章内容: 1.1 数据库系统概述 1.2 数据模型 1.3 数据库系统结构 1.4 数据库系统的组成 1.5 数据库技术的研究领域 1.6 小结

  9. 1.1 数据库系统概述 • 数据库技术是计算机科学的重要分支,产生于六十年代末,是数据管理的最新技术。 • 数据库技术是信息系统的核心和基础,它的出现极大地促进了计算机应用向各行各业的渗透。 • 数据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要标志。

  10. 1.1.1 数据,数据库,数据库管理系统,数据库系统 客观事物包含各种各样的信息(事实、知识),数据是信息的一种表示形式。 一、数据(Data) • 定义:描述事物的符号记录称为数据。 • 种类:数字、文字、图形、图象、声音等。 (注意:数据不仅仅是数字) • 各种类型的数据经数字化后都可以存入计算机。 • 数据是数据库中存储的基本对象。 • 数据的特点:数据与其语义是不可分的。

  11. A代表什么? 1. 自然语言对数据的解释 数据的形式不能完全表达其内容,例如: • 99:8179,7954 舅舅:不要吃酒,吃酒误事 • 1×1=1 一成不变 • 10002=100×100×100 千方百计 • 7/8 七上八下 • 7÷2 不三不四

  12. 2. 计算机中的数据描述 • 记录: 在计算机中,为了存储和处理事物,将对事物感兴趣的特征提取出来,组成“记录”来描述。例如: • 学生档案中的学生记录 (李明, 男, 1972, 江苏, 计算机系, 1990) • 工资档案中的工资记录 (章敏, 女, 2000,3000,500) • 数据的解释 • 语义:学生姓名、性别、出生年、籍贯、所在系、入学时间 • 解释:李明是个大学生,1972年出生,江苏人,1990年考入计算机系 • 数据和关于数据的语义是不可分的

  13. 二、数据库(DB) • 人们收集并抽取出一个应用所需要的大量数据后,应将其保存起来以供进一步加工处理。 • 过去人们把数据存放在文件柜里。 • 现在借助计算机来存储大量的复杂数据,以便充分地利用这些宝贵的信息资源。因此有了数据库的概念。

  14. 1. 数据库的定义 数据库(Database,简称DB)是存放数据的仓库;是相互关联的数据的集合;是长期储存在计算机内、有组织的、可共享的数据集合。例如:

  15. 2. 数据库特征 (1) 数据库中的数据按一定的数据模型组织、描述和储存。 (2) 数据库中的数据不是孤立的,数据与数据之间是相互关联的,在数据库中不仅要能够表示数据本身,还要能够表示数据与数据之间的联系 例如:学籍管理—学生、课程两类数据 (3) 具有较小的数据冗余 冗余:数据的重复保存。在数据库技术之前,数据文件都是独立的,任何数据文件都必须含有满足某一应用的全部数据,冗余度大。

  16. 职工基本情况 有关人事管理的数据 职工基本情况 有关教育培训的数据 2. 数据库特征(续) 例如,人事科有一个职工文件: 师资培训科也有一个职工文件: 其中,“职工基本情况”重复存储,浪费空间。可共享存储类似这样的共同数据,以降低数据的冗余度。

  17. 2. 数据库特征(续) 例:因设计不合理带来的冗余: 其中,“系简介”内容多,又重复存储,浪费空间。解决办法: 拆成两张表。

  18. 2. 数据库特征(续) (4) 具有较高的数据独立性 数据独立性:指数据的组织和存储方法与应用程序互不依赖,彼此独立的特性。 可降低应用程序的开发代价和维护代价。 (5) 易扩展:例如,增加数据、增加表格不影响现有用户或程序。 (6) 可供多个用户共享:减少数据重复存储后必然要求数据共享。

  19. 三、数据库管理系统(DBMS) • 如何科学地组织和存储数据? • 如何维护数据库中的数据? • 如何高效地从数据库中获取数据? 需要由一种系统软件—数据库管理系统来实现

  20. DB DBMS 应用程序 1. 什么是数据库管理系统? 数据库管理系统(Database Management System,简称DBMS)是位于用户与操作系统之间的一层数据管理软件。 用户或应用程序通过DBMS来管理和使用数据库。

  21. 应用系统 应用开发工具 DBMS 操作系统 硬件 WINDOWS SQL SERVER VISUAL BASIC 人事管理系统 2. 数据库管理系统在计算机中的地位

  22. 3. 数据库管理系统的主要功能 (1)数据定义功能 提供数据定义语言(Data Definition Language,简称DDL),用户通过DDL来定义数据库中的数据对象。 (2)数据操纵功能 提供数据操纵语言(Data Manipulation Language,简称DML),用户使用DML实现对数据库的基本操作,如查询、插入、删除、修改等。

  23. 3. 数据库管理系统的主要功能(续) (3) 数据库的运行管理 a. 保证数据的安全性 提供安全控制机制,以便有效地防止数据库中的数据被非法使用或修改,保证数据的安全、可靠。 例如,设置用户、密码、操作权限等。 b. 保证数据的完整性 指数据的正确性和相容性,防止数据库中存在不符合语义的数据。 例如, 学号必须是惟一、成绩必须在0~100之间、性别只有“男”和“女”。

  24. 3. 数据库管理系统的主要功能(续) c. 多用户对数据的并发使用 数据库允许多个用户同时使用。数据库管理系统应能提供并发控制机制,以保证数据的一致性。 一致性:保证各个用户之间对数据的操作不发生矛盾和冲突。 d. 发生故障后的系统恢复 数据库还要有一套备份/恢复机制,以保证当数据遭到破坏时将数据立刻完全恢复,保证系统能够继续、可靠地运行。

  25. 3. 数据库管理系统的主要功能(续) e. 数据库的建立和维护功能 数据库初始数据录入、数据批量导入 数据库转储、恢复 数据库的重组织 性能监视、分析 ……

  26. 四、数据库系统(DBS) 1. 什么是数据库系统? 数据库系统(Database System,简称DBS) 是指在计算机系统中引入数据库后的系统构成。 在不引起混淆的情况下常常把数据库系统简称为数据库。 2. 数据库系统的构成 由数据库、数据库管理系统、应用开发工具、应用系统、数据库管理员和用户构成 。

  27. 用户 用户 用户 应用系统 应用开发工具 数据库管理系统 数据库管理员 操作系统 数据库 2. 数据库系统的构成(续) Point Of Sells , 电子收款机系统 雅虎网站、POS零售业系统、学生选课系统等 VB,VC,Jbuilder,Asp,Jsp FoxPro, SQL Server, Access, MySQL, Oracle Windows、Linux、Unix等

  28. 数据库管理员(DBA) 数据库的建立、使用和维护只靠DBMS是不够的,还需要有专门的人员来负责数据库的全面管理工作(维护、设计)这些人称为数据库管理员( DataBase Administrator ,DBA)。 数据库的使用会改变企事业单位的管理方式,但因为要把众多部门或用户的数据放在同一数据库中,会带来一些问题,如:数据冲突;越权使用数据;重要数据丢失…… ,因此需要专门的管理部门来负责和数据管理有关的工作。

  29. 数据库管理员(续) • DBA工作繁重、重要、关键,除了要掌握一定的数据处理、数据库技术之外,还应有处理好人际关系的素质、能力。在一个企事业中,特别是一个规模较大的数据库,不能指望一两个人来完成管理工作,所以DBA常指数据库管理部门。 • 开发DBS时,一开始就应设置DBA的职位或相应的机构,以明确DBA职责、权限。

  30. 1.1.2 数据管理技术的产生和发展 • 什么是数据管理? • 对数据进行分类、组织、编码、存储、检索和维护,是数据处理的中心问题。 • 数据管理技术的发展动力 • 应用需求的推动 • 计算机硬件的发展 • 计算机软件的发展 • 数据管理技术的发展过程 • 人工管理阶段(40年代中--50年代中) • 文件系统阶段(50年代末--60年代中) • 数据库系统阶段(60年代末--现在)

  31. 一、人工管理阶段 • 时期 • 40年代中--50年代中 • 产生的背景 • 应用需求: 科学计算 • 硬件水平: 外存只有纸带、卡片等,无磁盘等直接存取的存储设备 • 软件水平: 没有操作系统 和管理数据的软件 • 数据处理方式: 批处理

  32. 一、人工管理阶段(续) • 特点 • 数据不保存:计算时输入数据,用完就撤走数据。 • 数据的管理者:应用程序。 • 数据不共享: 一组数据只能对应一个程序。 • 数据的冗余度大: 因为数据不共享而引起。 • 数据不独立:数据的修改将引起程序的修改,程序员负担重。 • 数据控制能力:应用程序自己控制。

  33. 应用程序1 数据集1 应用程序2 数据集2 ...… ...… 应用程序n 数据集n 一、人工管理阶段(续) 应用程序与数据的对应关系:

  34. 二、文件系统阶段 • 时期 • 50年代末--60年代中 • 产生的背景 • 硬件水平: 有了直接存取存储设备,如磁盘、磁鼓等 。 • 软件水平: 有专门的数据管理软件(文件系统)。 • 处理方式: 批处理、联机实时处理。

  35. 二、文件系统阶段(续) • 特点 • 数据可以长期保存: 硬件条件。 • 由文件系统管理数据: 应用程序与物理数据有一定程度的独立。减轻了程序员负担和维护工作量。 • 数据面向的对象:某一应用程序。 • 数据共享性差、冗余度大。 • 数据的结构化:记录内有结构,整体无结构。 • 数据的独立性:独立性差,数据的逻辑结构改变必须修改应用程序。 • 数据控制能力:应用程序自己控制。

  36. 应用程序1 文件1 应用程序2 文件2 存取方法 ...… ...… 文件n 应用程序n 二、文件系统阶段(续) 应用程序与数据的对应关系: 文件系统管理: 按文件名访问 按记录存取

  37. 三、数据库系统阶段 • 时期 • 60年代末以来 • 产生的背景 • 应用背景: 大规模管理、应用广泛、数据量大、数据共享需求强烈。 • 硬件背景: 大容量磁盘出现,硬件价格下降。 • 软件背景: 软件成本增加。 • 处理方式: 联机实时处理需求,分布处理的提出。 为解决多用户、多应用共享数据的需求,产生了数据库技术,出现了数据库管理系统。

  38. 三、数据库系统阶段(续) • 特点 • 数据结构化: 数据库与文件系统的根本区别 • 数据的共享性高、冗余度低、易扩充 • 数据的独立性: 高度的物理独立性和一定的逻辑独立性 • 数据由DBMS统一管理和控制

  39. 数据结构化 • 整体数据的结构化是数据库的主要特征之一 文件系统记录内部有结构、记录之间无结构、 记录等长,数据针对应用、管理不灵活; 数据库系统实现了整体数据结构化,数据不再 针对某一应用,而是面向组织。 • 数据的结构用数据模型描述,无需程序定义和解释。 • 数据可以变长。 • 数据存取灵活,最小存取单位是数据项。而文件系统中按记录存取。

  40. 数据共享的好处 数据不再面向某个应用,而是面向整个系统,数据可以被多个用户,多个应用所共享,因此 • 降低了数据的冗余度,节省存储空间。 • 避免数据间的不一致性。 不一致性:同一数据不同拷贝值不一样。 • 使系统易于扩充:数据库面向整个系统设计,可以适应各种用户 的要求,增加新的应用容易。

  41. 数据独立性 • 物理独立性 指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变了,应用程序不用改变。 • 逻辑独立性 指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序也可以不变。 数据的独立性简化了应用程序的编制、维护和修改。

  42. DBMS对数据的控制功能 • 数据的安全性(Security)保护 使每个用户只能按指定方式使用和处理指定数据,保护数据以防止不合法的使用造成的数据的泄密和破坏。 • 数据的完整性(Integrity)检查 将数据控制在有效的范围内,或保证数据之间满足一定的关系。 • 并发(Concurrency)控制 对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。 • 数据库恢复(Recovery) 将数据库从错误状态恢复到某一已知的正确状态。

  43. 应用程序1 数据库 应用程序2 DBMS … 数据库系统应用程序与数据的对应关系

  44. 第一章 绪论 本章内容: 1.1 数据库系统概述 1.2 数据模型 1.3 数据库系统结构 1.4 数据库系统的组成 1.5 数据库技术的研究领域 1.6 小结

  45. 1.2 数据模型 • 1. 模型(Model) 对现实世界特征的模拟和抽象。 • 2. 数据模型(Data Model) • 人们必须把具体事物转换成计算机所能识别的数据,才能由计算机进行处理。 • 在数据库中,数据模型指现实世界数据特征的抽象。 • 3. 数据模型应满足三方面要求 • 能比较真实地模拟现实世界 • 容易为人所理解 • 便于在计算机上实现

  46. 1.2 数据模型(续) 4. 数据模型分成两个不同的层次 (1) 概念模型 也称信息模型,它是按用户的观点来对数据和 信息建模。 (2) 数据模型 它是按计算机系统的观点对数据进行建模。主要用于DBMS的实现。 主要包括网状模型、层次模型、关系模型等, 数据模型是数据库系统的核心和基础,各种DBMS都是基于某种数据模型的。

  47. 1.2 数据模型(续) 数据模型描述了组织数据的框架结构。 象盖大楼的设计图一样,数据模型可使所有的项目参与者都有一个共同的数据标准,避免出现问题再解决(边干便改的方式),可及早发现问题,加快应用开发速度 。 产生高效的应用程序的前提是建立良好的数据模型。

  48. 现实世界 抽象 信息世界:概念模型 转换 机 器 世 界: 某DBMS支持的数据模型 1.2 数据模型(续) 为了把现实世界中的事物抽象、组织为某DBMS支持的数据模型,需要经过以下步骤: 不依赖于具体计算机 依赖于具体DBMS

  49. 1.2.1 数据模型的组成要素 • 数据结构 • 数据操作 • 数据的约束条件 一、 数据结构 • 数据结构是所研究的对象类型的集合。这些对象包括两类: • 与数据类型、内容、性质有关的对象 • 与数据之间联系有关的对象 • 数据结构是对系统静态特性的描述

  50. 1.2.1 数据模型的组成要素(续) 二、 数据操作 • 数据操作 • 对数据库中各种对象允许执行的操作及有关的操作规则。 • 数据操作的类型 • 检索、更新(包括插入、删除、修改) • 数据模型对操作的定义 • 操作的确切含义 • 操作符号 • 操作规则(如优先级) • 实现操作的语言 • 数据操作是对系统动态特性的描述。

More Related