数据库系统 | 第七章 数据库设计
重点和难点
重点:
掌握数据库设计步骤和数据库设计过程中的各级模式设计方法。特别是数据库概念结构的设计和逻辑结构的设计,这是数据库设计过程中最重要的两个环节。牢固掌握用E-R图来表示概念模型的方法,掌握E-R图的设计,E-R图向关系模型的转换。
难点:
技术上的难点是E-R图的设计和数据模型的优化,包括对现实世界进行抽象的能力,提取实体、属性、实体型之间的联系,正确划分实体与属性的能力。如何把第6章关系数据理论与本章结合,用关系数据理论指导数据库的逻辑设计。真正的难点是理论与实际的结合。
数据库设计概述
数据库设计
数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。
信息管理要求:在数据库中应该存储和管理哪些数据对象 。
数据操作要求:对数据对象需要进行哪些操作,如查询、增、删、改、统计等操作。
数据库设计的目标是为用户和各种应用系统提供一个信息基础设施和高效率的运行环境 。
高效率的运行环境
数据库数据的存取效率高
数据 ...
数据库系统 | 第六章 关系数据理论
问题的提出
关系数据库逻辑设计
针对具体问题,如何构造一个适合于它的数据模式
数据库逻辑设计的工具──关系数据库的规范化理论
关系模式由五部分组成,是一个五元组:
R(U, D, DOM, F)
关系名R是符号化的元组语义
U为一组属性
D为属性组U中的属性所来自的域
DOM为属性到域的映射
F为属性组U上的一组数据依赖
由于D、DOM与模式设计关系不大,因此在本章中把关系模式看作一个三元组:R<U,F>
当且仅当U上的一个关系r满足F时,r称为关系模式R<U,F>的一个关系
作为二维表,关系要符合一个最基本的条件:每个分量必须是不可分开的数据项。满足了这个条件的关系模式就属于第一范式(1NF)
数据依赖
是一个关系内部属性与属性之间的一种约束关系
通过属性间值的相等与否体现出来的数据间相互联系
是现实世界属性间相互联系的抽象
是数据内在的性质
是语义的体现
数据依赖的主要类型
函数依赖(Functional Dependency,简记为FD)
多值依赖(Multi-Valued Dependency,简记为MVD)
...
数据库系统 | 第五章 数据库完整性
数据库的完整性
数据的正确性
是指数据是符合现实世界语义,反映了当前实际状况的
数据的相容性
是指数据库同一对象在不同关系表中的数据是符合逻辑的
例如,
学生的学号必须唯一
性别只能是男或女
本科学生年龄的取值范围为14~50的整数
学生所选的课程必须是学校开设的课程,学生所在的院系必须是学校已成立的院系等
数据的完整性和安全性是两个不同概念
数据的完整性
防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据
防范对象:不合语义的、不正确的数据
数据的安全性
保护数据库 防止恶意的破坏和非法的存取
防范对象:非法用户和非法操作
为维护数据库的完整性,数据库管理系统必须:
提供定义完整性约束条件的机制
完整性约束条件也称为完整性规则,是数据库中的数据必须满足的语义约束条件
SQL标准使用了一系列概念来描述完整性,包括关系模型的实体完整性、参照完整性和用户定义完整性
这些完整性一般由SQL的数据定义语言语句来实现
提供完整性检查的方法
数据库管理系统中检查数据是否满足完整性约束条件的机制称为完整性检查。
一般在INSERT ...
数据库系统 | 第四章 数据库安全性
数据库安全性概述
数据库的安全性是指保护数据库以防止不合法使用所造成的数据泄露、更改或破坏 。
系统安全保护措施是否有效是数据库系统主要的性能指标之一。
数据库的不安全因素
非授权用户对数据库的恶意存取和破坏
一些黑客(Hacker)和犯罪分子在用户存取数据库时猎取用户名和用户口令,然后假冒合法用户偷取、修改甚至破坏用户数据。
数据库管理系统提供的安全措施主要包括
用户身份鉴别
存取控制
视图等技术。
数据库中重要或敏感的数据被泄露
黑客和敌对分子千方百计盗窃数据库中的重要数据,一些机密信息被暴露。
数据库管理系统提供的主要技术有强制存取控制、数据加密存储和加密传输等。
审计日志分析
安全环境的脆弱性
数据库的安全性与计算机系统的安全性紧密联系
计算机硬件、操作系统、网络系统等的安全性
建立一套可信(Trusted)计算机系统的概念和标准
安全标准简介
1985年美国国防部(DoD)正式颁布《DoD可信计算机系统评估准则》(简称TCSEC或DoD85)
不同国家建立在TCSEC概念上的评估准则
欧洲的信息技术安全评估准则(ITSEC)
加 ...
数据库系统 | 第三章 关系数据库标准语言SQL
SQL功能极强,完成核心功能只用了9个动词。
SQL功能
动词
数据查询
SELECT
数据定义
CREATE,DROP,ALTER
数据操纵
INSERT,UPDATE,DELETE
数据控制
GRANT,REVOKE
SQL基本概念
基本表
本身独立存在的表
SQL中一个关系就对应一个基本表
一个(或多个)基本表对应一个存储文件
一个表可以带若干索引
存储文件
逻辑结构组成了关系数据库的内模式
物理结构对用户是隐蔽的
视图
从一个或几个基本表导出的表
数据库中只存放视图的定义而不存放视图对应的数据
视图是一个虚表
用户可以在视图上再定义视图
定义模式
[例3.1] 为用户WANG定义一个学生-课程模式S-T
CREATE SCHEMA “S-T” AUTHORIZATION WANG;
[例3.2] CREATE SCHEMA AUTHORIZATION WANG;
该语句没有指定<模式名>,<模式名>隐含为<用户名>
[例3.3]为用户ZHANG创建了一个模式TEST,并 ...
数据库系统 | 第二章 关系数据库
关系数据结构及形式化定义
关系
单一的数据结构----关系
现实世界的实体以及实体间的各种联系均用关系来表示
逻辑结构----二维表
从用户角度,关系模型中数据的逻辑结构是一张二维表
建立在集合代数的基础上
域
域是一组具有相同数据类型的值的集合。例:
整数
实数
介于某个取值范围的整数
指定长度的字符串集合
{‘男’,‘女’}
………………
笛卡尔积
笛卡尔积
给定一组域D1,D2,…,Dn,允许其中某些域是相同的。
D1,D2,…,Dn的笛卡尔积为:
D1×D2×…×Dn =
{(d1,d2,…,dn)|diDi,i=1,2,…,n}
所有域的所有取值的一个组合
不能重复
元组(Tuple)
笛卡尔积中每一个元素(d1,d2,…,dn)叫作一个n元组(n-tuple)或简称元组
(张清玫,计算机专业,李勇)、
(张清玫,计算机专业,刘晨) 等 都是元组
分量(Component)
笛卡尔积元素(d1,d2,…,dn)中的每一个值di 叫作一个分量
张清玫、计算机专业、李勇、刘晨等都是分量
基数(Cardinal number)
若Di(i=1,2,…,n)为有限集,其 ...
数据库系统 | 第一章 绪论
四个基本概念
数据
是数据库中存储的基本对象
定义
描述事物的符号记录
数据的种类
数字、文字、图形、图像、音频、视频、学生的档案记录等
数据的含义
数据的含义称为数据的语义,数据与其语义是不可分的。
数据库
定义
数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据的集合。
数据库的基本特征
数据按一定的数据模型组织、描述和储存
可为各种用户共享
冗余度较小
数据独立性较高
易扩展
数据库管理系统
什么是数据库管理系统
位于用户与操作系统之间的一层数据管理软件
是基础软件,是一个大型复杂的软件系统
数据库管理系统的用途
科学地组织和存储数据、高效地获取和维护数据
数据库管理系统的主要功能
数据定义功能
提供数据定义语言(DDL)
定义数据库中的数据对象
数据组织、存储和管理
分类组织、存储和管理各种数据
确定组织数据的文件结构和存取方式
实现数据之间的联系
提供多种存取方法提高存取效率
数据操纵功能
提供数据操纵语言(DML)
实现对数据库的基本操作 (查询、插入、删除和修改)
数据库的事务 ...
计算机网络 | 第六章 应用层
1. 概述
因为不同的网络应用之间需要有一个确定的通信规则
1.1 两种常用的网络应用模型
1.1.1 客户/服务器模型(Client/Server)
1.1.2 P2P模型(Peer-to-Peer)
网络健壮性指的是P2P模型不容易坏掉,即使一个节点坏了也没问题,可以有其他节点代替
2. 域名系统协议(DNS)
2.1 概述
DNS就是将打在地址栏的域名转化为IP地址的东西
2.1.1 域名
域名就是www.xxx.com,当然这是最简单的一种
.com之后还可以有东西,称之为根
域名从左向右,级别逐渐增高
2.2 域名服务器(DNS服务器)
DNS服务器有很多台,根据层次结构分为三层,根域名服务器,顶级域名服务器,权限域名服务器
本地域名服务器不算层次结构,特点是里主机比较近,当主机和另一台比较近的主机通信时,就不用走哪些更高级的服务器了
根域名服务器并不是一个域名只有一台,而是一个域名对应多台域名服务器,全世界一共有13个这样的域名,分别是a.rootservers.net,b.rootservers.net,c.rootservers.net,~m.rootser ...
计算机网络 | 第五章 传输层
1. 概述
1.1 传输层的意义
网络层可以把数据从一个主机传送到另一个主机,但是没有和进程建立联系。
传输层就是讲进程和收到的数据联系到一起,使数据能够为应用服务
所以说传输层是主机才有的层次
1.2 传输层的两个协议
1.3 传输层的寻址和端口
端口号只用于计算机分辨本地进程,总共有2^16=65536种端口号,端口号有很多种,不能随便使用
1.3.1 常见的应用程序端口号
2. UDP协议
2.1 UDP概述
注释:
因为UDP一次发送一个完整报文不会分片,所以需要应用层传输过来的数据不要太大,否则网络层分片任务就很重,但是也不能太小,不然效率较低
UDP适合一些实时应用,因为实时应用延迟要求高,需要立即响应
2.2 UDP首部格式
2.2.1 UDP的校验位构成
这里的伪首部只是用来计算检验和的,计算完了就丢弃,可以见下UDP的校验方式
2.2.2 UDP校验方式
总结一下步骤:
在发送端的时候:
1.就是将每一行(4字节)拆成两部分,左右平均2字节大小,将这两字节数据写成二进制,那么2字节一共就需要2*8=16位。此时检验和没有计算,默认填充0,同时如果数据字段 ...
计算机网络 | 第四章 网络层
1. 概述
注释:
数据报和分组的关系:分组是一段比较长的数据,将它进行切割成一段段之后就得到数据报
功能一就是让数据在路由器之间走最佳的路径
功能二就是让不同的设备(手机,电脑,平板等)都能正常连接
功能三见图中解释
开环控制就是在拥塞之前就提前设计解决
闭环控制就是在拥塞时自动调整解决问题
OSI参考模型
各层次的传输单元
应用层
报文
传输层
报文段
网络层
IP数据报,分组(如果IP数据报太大就切割成分组)
数据链路层
帧
物理层
比特流
2. 数据交换方式
为什么要进行数据交换?因为每个节点之间都拉网线太麻烦了也不实际,所以通过大量交换设备互联进行数据交换
2.1 电路交换
常见的例子:打电话
注释:
链路支持多路复用(可参考数据链路层的TDM等)
特点是独占资源,因为两者建立了连接
2.2 报文交换
注释:报文发送的过程
1.源先根据报文加上ip地址,物理地址等,通过物理层发送
2.交换机收到报文之后,先进行存储,等待链路空闲之后进行转发,但是转发的路径不是固定的,是比较随机的
3.最后通过许多交换机最终到达目的地
2.3 分组交 ...