Transcript 幻灯片 1
主要内容 • • • • • 操作系统的基础知识 数据库和数据库管理系统 E-R模型和关系模型 关系代数和数据库语言SQL Microsoft SqlServer 第2页 应用软件 • 计算机用户利用计算机的软件、硬件资源为某 一专门的应用目的而开发的软件 – – – – – – – 第3页 科学计算 工程设计 数据处理 事务处理 过程控制 文字和表格处理 辅助设计 操作系统 • 计算机系统的硬件资源 – 中央处理机、存储器和输入输出设备 • 计算机系统的软件资源 – 以文件形式保存在存储器上的程序和数据 • 操作系统 – – – – 第4页 有效地组织和管理系统中的各种软硬件资源 合理地组织计算机系统工作流程 控制程序的执行 并向用户提供一个良好的工作环境和友好的接口 操作系统的作用 • 通过资源管理,提高计算机系统的效率 – 操作系统是计算机系统的资源管理者,含有对系统 软硬件资源实施管理的一组程序 – 通过CPU管理、存储管理、设备管理和文件管理, 对各种资源进行合理的分配,改善资源的共享和利 用程度,最大限度地发挥计算机系统的工作效率, 提高计算机系统在单位时间内处理工作的能力 • 改善人机界面,向用户提供友好的工作环境 – 同时是计算机与用户的接口,使得用户免于直接面 对由1和0组成的机器指令 第5页 操作系统的特征 • 并发性 – concurrency – 从宏观上看系统内有多道程序同时运行 • 共享性 – sharing – 各个并发活动共享软硬件资源 • 虚拟性 – virtual – 把物理上的一台设备变成逻辑上的多台设备 • 不确定性 第6页 – non-determinacy – 操作系统需要面对中断、故障等各种随机情况 操作系统的功能 • 操作系统的5大功能 – 进程管理 – 存储管理 – 设备管理 – 文件管理 – 作业管理 第7页 进程管理 • 实质上是对处理机执行时间的管理,采用多道 程序等技术将CPU真正合理地分配给每个任务 – 进程控制 • 创建、撤销、挂起、改变运行优先级 – 进程同步 • 协调并发进程之间的推进步骤,以协调资源共享 – 进程通信 • 进程之间传送数据,以协调进程间的协作 – 进程调度 • 作业和进程的运行切换 第8页 程序 • 顺序执行 • 并发执行 第9页 进程 • 进程是程序的一次执行,由程序、数据和 进程控制块组成 • 三态进程模型 • 五态进程模型 第10页 进程间的通信 • 同步 – 是一种进程相互合作的思想 – 在某些确定点上协调多个进程的工作,当一个进程到 达了这些点后,除非另一进程已经完成了某些操作, 否则就不得不停下来等待这些操作结束 – 描述进程间的直接制约问题 • 互斥 – 各进程共享资源,但是有些资源一次只能供一个进程 使用,称为临界资源,如打印机、公共变量等 – 描述进程间的间接制约问题 第11页 死锁 • 进程推进顺序不当引起死锁 • 系统中有一台读卡机A,一台打印机B,它 们被进程P1和P2共享 第12页 存储管理 • 对主存储器空间进行管理 – 存储分配与回收 • 为每个进程分配存储空间,当程序运行完毕回收存储空 间 – 存储保护 • 保证进程间互不干扰,相互保密,合法性检查 – 地址映射 • 进程逻辑地址到主存物理地址的映射 – 主存扩充 • 提高主存利用率,扩大进程的主存空间 第13页 设备管理 • 对硬件设备的管理 – 对输入输出设备的分配、启动、完成和回收 – 用户和应用程序在使用外部设备时不需要知道 外部设备的具体特性,更不需要对设备专门编 程,只需要利用操作系统内含的驱动程序执行 即可 第14页 第15页 文件管理 • 又称为信息管理 – 文件存储空间管理 • 解决如何存放信息,以提高空间利用率和读写性能 – 目录管理 • 解决信息检索问题 – 文件的读写管理和存取控制 • 解决信息安全问题,可通过系统设置用户口令、对 用户分类、设置文件权限 第16页 第17页 作业管理 • 作业是系统为完成一个用户的计算任务所 做的工作总和 – 包括任务、界面管理、人机交互、图形界面、 语音控制、虚拟现实等 – 操作系统向用户提供系统命令级接口和编程级 接口 第18页 操作系统的类型 • • • • • • • 批处理操作系统 分时系统 实时系统 网络操作系统 分布式操作系统 微机操作系统 嵌入式操作系统 第19页 批处理 • 在早期的计算机系统中,程序的每一次运行都需要人工干 预,操作过程繁琐,为此引入批处理 • 批处理操作系统的作业由用户程序、数据和作业说明书3 部分构成 • 优点是同一批内个作业自动依次执行,提高了效率 • 缺点是执行过程难以有效中断,无法修改错误 第20页 分时操作 • 将CPU的工作时间划分为许多很短的时间片,轮流 为各个终端的用户服务 – 多路性 • 允许在一台主机上同时连接多台联机终端,宏观上多个用户同 时工作,微观上每个用户作业轮流运行一个时间片 – 独立性 • 每个用户各占一个终端,彼此独立操作互不干扰 – 交互性 • 用户可通过终端与系统进行人机对话 – 及时性 • 用户的请求能够在很短时间内获得响应(1~2秒) 第21页 实时系统 • 计算机对于外来信息能够以足够快的速度进行处理, 并在被控对象允许的时间范围内作出快速反应 – 快速的响应时间 • 为了提高系统响应速度而设计的系统,要求具有较强的中断处 理能力,事件驱动 – 有限的交互能力 • 一般是专用系统,如武器控制、情报检索等,因而只能执行有 限操作 – 高可靠性 • 采用双机系统和多级容错措施来保证系统和数据安全 第22页 微机操作系统 • 配置在微型计算机上的操作系统 – MS-DOS – MS Windows – Linux – 更加人性化,对于时效性的要求相对宽松 第23页 问题的提出 • 计算机 – 主要作用是存储、管理和操作各类电子数据 • 数据和信息 – 规模庞大,类别众多 – 如何有效组织以便于用户使用? – 两个例子 • 数据库 – 由专门系统管理的信息集合 第24页 字段名 数字 字段 记录 年龄:1月 一些基本概念 体重: 4.8Kg 字符串 体型: 偏胖 第25页 对于上述概念的说明 • 字段 – – – – 是有意义的最小数据单元 是数据文件的基本组成模块 每个字段有一个字段名,用来描述其内容 可以定长也可以变长 • 数据类型 – 既规定了数据在磁盘盒内存中表示的方式 – 也限制了用户操作数据的方式 – 两种最常用的类型是字符和数字 • 记录 – 实体是人、物品或事件等具有实际意义的对象 – 记录则包含了某个实体的信息 – 记录类型和记录出现 第26页 数据库和数据库管理系统 第27页 1 2 3 普通文件 数据库 数据库管理系统 顺序保存信息 但是忽视数据 的内在联系 综合管理多个 实体众多记录 和字段, 更加灵活实用 需要考虑多方 面问题,因而 设计和维护非 常困难 数据库系统研究概述 • 数据库设计 – – – – 如何开发一个有用的数据库? 将什么样的信息送入数据库? 信息组织是怎样的? 数据项之间如何连接? • 数据库程序设计 – 如何在数据库上表述查询和其他操作? – 数据库程序设计如何与普通程序设计相结合? • 数据库系统实现 – 如何建立一个DBMS,包括实现其所有商业机制? 第28页 数据库建模与实现过程 第29页 E-R模型要素 • E-R模型 – 实体-联系模型(Entity-Relationship Model) – 数据库结构抽象表示的最常用模型 – 三要素 • 实体集 • 属性 • 联系 第30页 实体集 • 实体 – 某个抽象的事物 • 实体集 – 相似实体的集合 • 与面向对象的思想对比 – 实体 对象 – 实体集 类 – 实体集仅包含数据的结构而无对数据的操作 第31页 属性 • 属性是实体集中实体具有的性质 – 电影的属性有电影名、片长等 – 学生的属性有学生名、性别、年龄等 – 属性可能是 • 原子的 • 限定的结构 • 某种类型的一组值 第32页 联系 • 联系是两个或多个实体集之间的连接 – 描述两个实体集的关系 – 如果实体集之间没有关系,它们也就不会产生 联系 – 在电影和演员两个实体集之间,存在“出演 (Stars-in)”这样一种联系 第33页 E-R图 • 用来描述E-R模型的图,一些约定如下: – 矩形:实体集 – 椭圆:属性 – 菱形:联系 – 实线:连接实体集与属性或联系 第34页 E-R图实例 导演 执导 年份 姓名 类型 影星 年龄 出演 影片 性别 片名 放映 出品 电影院 第35页 电影公司 二元联系的多样性 • 如果R是连接实体集E和F的联系 – E到F的多对一联系:E中的任一实体可以通过R 与F中的至多一个实体联系,或者说F中的每一 个实体都能与E中的若干个实体联系 – 一对一联系:R既是E到F的多对一联系,又是F 到E的多对一联系 – 多对多联系: R既不是E到F的多对一联系,又 不是F到E的多对一联系 第36页 联系实例 第37页 多路联系 • 多路联系中的箭头 – 从除了被指实体集之外的其他每个实体集选择 一个实体,它们至多与被指实体集中的一个实 体有联系 第38页 联系的特殊性 • 角色 – 一个联系中一个实体集如果出现多次,用多条 线连接实体集与联系,每条线代表实体集的不 同角色 • 属性 – 联系在某些时候也类似于“实体”,因而具有 属性 第39页 E-R设计的原则 • • • • • 忠实性 避免冗余 简单性 选择正确的联系 选择正确的元素种类 第40页 关系模型的概念 • 关系 – 组织数据的二维表 • 关系模型 – 一种比E-R更高级的数据模型 – 基于关系模型只需要编写简单的程序就可以对 存储在关系中的数据进行强有力的操作 第41页 姓名 性别 年龄 职业 张平 男 18 学生 李敏 女 20 职员 王冉 女 35 作家 属性 • • • • Attribute 位于关系最上一行,作为关系的列标题 属性用来描述所在列的项目 姓名、性别、年龄、职业 第42页 模式 • Schema • 关系名和其属性集合的组合 • 描述一个关系模式时,先给出关系名,其后是用圆括号括 起的所有属性 • 用户(姓名,性别,年龄,职业) • 关系模式的集合就是数据库模式 第43页 元组 • • • • • Tuple 关系中除含有属性名所在行以外的其他行 每个元组均有一个分量对应于关系的每个属性 表示元组时,用逗号分开各分量,然后用圆括号括起来 (张平,男,18,学生) 第44页 域 • Domain • 关系模式要求元组的每个分量具有原子性,它必须属于某 种元素类型 • 与关系的每个属性相关联的元素类型就是域 • 性别属性的域是字符串,且只能是男或女 • 年龄属性的域则是正整数 第45页 关系的等价描述 • 关系是元组的集合,而不是元组的列表,因此元组的出现 顺序无关紧要 • 属性的次序也可以任意重排,而关系不变 第46页 姓名 性别 年龄 职业 张平 男 18 学生 李敏 女 20 职员 王冉 女 35 作家 职业 性别 姓名 年龄 作家 女 王冉 35 职员 女 李敏 20 学生 男 张平 18 练习 acctNo type Balance 12345 Savings 12000 23456 Checking 1000 34567 Savings 25 • 说明Accounts关系的下列要素: – – – – – 第47页 属性及其域 元组 元组的分量 模式 另一个等价描述 从E-R图到关系设计 • 转换的方法 – 每个实体集转化为具有同一属性集合的关系 – 用关系替换联系,关系的属性就是联系所连接 的实体集的键集合 – 有时需要把两个关系合并为一个,如一个关系 是从实体集E转化而成,而另一个关系由E到其 他实体集的一个多对一的联系转化而来 第48页 实体集关系 • • • • 实体集的名称关系名 实体集的属性集关系的属性集 影星(姓名,年龄,性别) 影片(片名,年份,类型) 年份 姓名 类型 影星 年龄 性别 第49页 出演 影片 片名 联系关系 • 联系R涉及的每一个实体集的键属性或键属性集都是由R转 化成的关系模式的一部分 • 如果这个联系有属性,它们也是由R转化成的关系中的属 性 • 如果一个实体集以不同角色在联系中多次出现,则它的键 年份 属性也要多次出现 姓名 • 出演(影星姓名,影片名,年份) 类型 影星 年龄 性别 第50页 出演 影片 片名 多路联系关系 • 演出合同(演员姓名,影片名,年份,公司名) 第51页 组合关系 • 当EF时,关系E、R可以合并 – E的所有属性 – F的键属性 – R的所有属性 – 如果有E的实体e不与F相连,则e元组的与F、R 有关的分量为空 第52页 影片 年份 电影公司 《A计划》 1998 华山电影公司 《饮水思源》 2006 NULL 关系代数及其作用 • 关系代数 – 描述了一个元组集合,及能用来进行典型的基于关 系的查询 • 作用 – 数据库编程的基础 – 用户如何对数据库进行查询以及修改数据库的内容 • 商业数据库的改进 – 把关系看成包 – 引入了一些其他操作 第53页 关系代数的原子操作数 • 一门代数由操作符和操作数组成 – 算数代数的操作数如x,15,…… – 算数代数的操作符如+,-,…… • 关系代数的原子操作数 – 代表关系的变量 – 代表有限关系的常量 第54页 关系代数的操作 • 通常的关系操作 – 并、交、差 • 除去某些行或者列的操作 – 选择是消除某些行的操作 – 投影是消除某些列的操作 • 组合两个关系元组的操作 – 笛卡尔积尝试两个关系的所有可能的元组配对方式,形成一 个关系作为结果 – 连接则是从两个关系中选择一些元组配对 • 重命名操作 – 重命名改变属性名称或关系本身的名称。不影响关系中的元 组,但是改变了关系的模式 第55页 • R∪S 常用操作 – 关系R和S的并 – 所得到的结果关系的元素来自R或来自S或在R和S中都 出现过,但符合最后一种情况的元素在结果中只出现 一次 • R∩S – 关系R和S的交 – 同时在R和S中存在的元素的集合 • R-S – 关系R和S的差 – 由在R中出现,但不在S中出现的元素构成的集合 – R-S与S-R不同 第56页 附加条件 • R和S必须是具有相同属性集合的关系,同时R和S的各个属 性的域也必须匹配 • 在做并、交、差操作之前,R和S的列必须经过排序并保持 一致 第57页 实例 姓名 性别 年龄 职业 姓名 性别 年龄 职业 张平 男 18 学生 刘慧 女 26 职员 王冉 女 35 作家 王冉 女 35 作家 第58页 姓名 性别 年龄 职业 张平 男 18 学生 刘慧 女 26 职员 王冉 女 35 作家 姓名 性别 年龄 职业 王冉 女 35 作家 姓名 性别 年龄 职业 张平 男 18 学生 投影 • 从关系R中生成一个新的关系,这个关系只包含原来关系 的部分列 • 表达式的值是这样一个关系:它只包含关系R属性所代表 的列 姓名 性别 年龄 职业 姓名,年龄 (用户) 第59页 张平 男 18 学生 刘慧 女 26 职员 王冉 女 35 作家 姓名 年龄 张平 18 刘慧 26 王冉 35 选择 • 当选择操作应用到关系R上时,表示结果关系的元组满足 某个涉及R中属性的条件C • 操作表示为 C (R) • 结果关系和原关系有相同的模式 性别‘ 女’ AND 年龄30 (用户) 第60页 姓名 性别 年龄 职业 张平 男 18 学生 刘慧 女 26 职员 王冉 女 35 作家 姓名 性别 年龄 职业 刘慧 女 26 职员 笛卡尔积 • 是一个有序对的集合,表示为 R S • 结果产生的元组长度超过R或S的元组,且包含了R和S的所 有属性 • 如果R和S有某些属性同名,需要对其重命名 第61页 A B 1 2 3 4 A R.B S.B C D 1 2 2 5 6 1 2 4 7 8 B C D 1 2 9 10 11 2 5 6 3 4 2 5 6 4 7 8 3 4 4 7 8 9 10 11 3 4 9 10 11 自然连接 • 当R和S中共有属性时,连接在这些属性上具有相同值的元 组,且共有属性只保留一次 • 表示为R S • 设R和S的公共属性是,r和s是分别来自R和S的元组,则当 且仅当r和s的属性值都一样时,r和s才能配对 第62页 A B 1 2 3 4 B C D 2 5 6 4 7 8 9 10 11 A B C D 1 2 5 6 3 4 7 8 θ连接 • 表示为 • 先得到R和S的积 • 在得到的关系中寻找满足条件C的元组 A B 1 2 3 4 B C D 2 5 6 4 7 8 9 10 11 第63页 A R.B S.B C D 1 2 2 5 6 1 2 4 7 8 1 2 9 10 11 3 4 9 10 11 SQL • Structured Query Language • 关系数据库中最普遍的用于对数据库进行查询和修改操作 的语言 • 既是数据操作语言,也是数据定义语言 Movie ( title, year, length, inColor, studioName, producerC# ) StarsIn ( movieTitle, movieYear, starName ) MovieStar ( name, address, gender, birthdate ) MovieExec ( name, address, cert#, netWorth ) Studio ( name, address, presC# ) 第64页 SQL语句类型 • 数据定义 – Create table • 数据查询 – Select • 数据更新 – Insert – Delete – Update 第65页 查询语句的基本结构 • Movie ( title, year, length, inColor, studioName, producerC# ) • SELECT * • FROM Movie • WHERE studioName=‘Disney’ AND year=1990 第66页 查询语句分析技巧 • 首先查看from子句,找出该查询涉及到了哪些关系 • 接着查看where子句,了解要找出的有关元组 • 最后通过select子句得到输出结果 第67页 SQL查询实例 • Movie ( title, year, length, inColor, studioName, producerC# ) • • • • • SELECT title AS name, length AS duration FROM Movie WHERE studioName=‘Disney’ AND year=1990 ORDER BY title 第68页 多关系查询实例 • Movie ( title, year, length, inColor, studioName, producerC# ) • MovieExec ( name, address, cert#, netWorth ) • • • • SELECT name FROM Movie, MovieExec WHERE title=‘Star Wars’ AND producerC# = cert# 第69页 数据库管理系统 • DBMS – DataBase Management System – 是一个能有效建立和管理大量数据的强大工具,并且能安全 地长期保存这些数据 • 主要功能 – 持久存储 – 程序设计接口 – 事务管理 • 用户 – 普通用户和应用程序 – 数据库管理员 第70页 主流DBMS • • • • • • • SQL Server Oracle Access Foxpro DB2 Informix …… 第71页 MS SQL Server 2000操作实例 • • • • 新建数据库 新建表 填充数据 查询 第72页 数据库编程 第73页 课后思考 • 设计一个E-R图,记录球队、队员和球迷的 信息 – 球队的名称、队员、队长、队服颜色 – 队员名字 – 球迷名字、喜欢的球队、喜欢的队员、最喜欢 的颜色 第74页