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页