数据库学习笔记Word格式文档下载.docx
- 文档编号:7926562
- 上传时间:2023-05-09
- 格式:DOCX
- 页数:67
- 大小:81.59KB
数据库学习笔记Word格式文档下载.docx
《数据库学习笔记Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数据库学习笔记Word格式文档下载.docx(67页珍藏版)》请在冰点文库上搜索。
现实世界
信息世界
机器世界
3.数据模型的分类:
2个层次
概念层数据模型——实体联系模型
组织层数据模型——关系数据模型
——层次模型
——网状模型
——面向对象模型
概念层数据模型
组织层数据模型
从数据的语义视角来抽取模型
从数据的组织层次来描述数据
按用户的观点来对数据和信息进行建模
按计算机系统的观点对数据进行建模
主要用在数据库的设计阶段
主要用于DBMS的实现
与DBMS无关
与DBMS有关
数据库系统的核心和基础
4.数据模型的构成元素:
3部分
数据结构描述静态属性数据的组成、特性及其相互间联系
数据操作描述动态属性数据检索、更新
数据的约束条件描述静态属性
二、实体联系模型
1.概念:
实体联系模型——E-R模型(Entity-Relationship)
E-R图——使用的工具
2.要素:
3个——实体、联系、属性
◆实体:
客观存在并可以相互区分的客观事物或抽象事件
矩形框
◆属性:
某一特性
椭圆框/圆角矩形框
标识属性下加下划线
◆联系
实体内部的联系——组成实体的各属性之间的联系。
实体之间的联系——指不同实体之间联系。
——菱形框
(1)一对一联系(1:
1)
如果实体A中的每个实例在实体B中至多有一个(也可以没有)实例与之关联,反之亦然,
(2)一对多联系(1:
n)
如果实体A与实体B之间存在联系,并且对于实体A中的一个实例,实体B中有n个实例与之对应;
而对实体B中的任意一个实例,在实体A中至多有一个实例与之对应,
(3)多对多联系(m:
而对实体B中的一个实例,在实体A中也有m个实例与之对应
三、关系数据模型
◆用关系(表格数据)表示实体和实体之间联系的模型
◆3个要素:
关系数据结构、关系数据操作、关系完整性约束
1.关系模型的数据结构
基本术语:
◆关系——二维表
每一列都是不可再分的基本属性;
表中各属性不能重名;
表中的行、列次序并不重要。
◆元组:
每一行是一个元组,一个记录值。
每一列是一个属性值集,列可以命名,称为属性名。
◆两套标准术语:
表、列、行——关系、属性、元组
◆关系模式——二维表的结构
◆候选关键字/侯选码/候选键:
能唯一确定一个关系的元组而又不含有多余属性的习属性集。
(简言之)能够唯一确定一个元组的最小属性集。
一个关系可以有多个侯选码/候选键
◆主关键字/主码/主键(Primarykey):
一个关系可以有多个候选关键字,则可以选择一个为主关键字/主码/主键。
每个关系有且只有一个主关键字
◆主属性:
所有组成候选关键字的属性
◆非主属性:
不包含在侯选关键字中的属性/除主属性之外的其他属性
◆外部关键字/外码/外键
一个属性集不是所在关系的关键字,但是其他关系的关键字
通过外部关键字使两个关系相联
◆参照关系和被参照关系
主/父关系——被参照关系
从/子关系——参照关系
2.关系模型的数据操作:
包括:
查询、插入、删除、修改
数据操作是基于集合的操作,操作对象和操作结果都是集合(或关系)。
只需要指出“需要什么”,而不必详细说明“怎样干”。
3.关系模型的数据完整性约束
数据完整性——数据库中存储的数据是有意义的或正确的。
◆实体完整性——针对主关键字——必须满足
目的:
保证关系中的每个元组都是可识别和唯一的。
内容:
若属性A是基本关系R的主属性,则属性A不能取空值。
◆参照完整性——针对外部关键字(引用完整性)——必须满足
定义了外部关键字与主关键字之间的参照规则。
如果属性(或属性组)F是关系R的外部关键字,它与关系S的主关键字K相对应,则对于关系F上的值必须为:
或者取空值
或者K的某个值。
◆用户定义的完整性(域完整性,语义完整性)——不用必须满足,用户定义
4.实体联系模型向关系模型的转换——
◆要解决的问题:
如何确定这些关系模式的属性和关键字。
◆转换目的:
从概念层结构向组织层转换
◆转换规则:
A—B1:
1A加到BB加到A
nA加到B(1加到n)
A—Bm:
n创建一个新的A-B,A,B都加到A-B
1.3关系数据理论
一、“不好的”数据库:
——解决方法:
“模式分解”
数据冗余问题
数据更新问题
数据插入问题
数据删除问题
二、规范化
◆目的:
设计“好的”数据库
1.函数依赖及相关术语
(1)函数依赖
Y=f(X)给定一个X值,就会有一个Y值和它对应,称
X函数决定Y,或Y函数依赖于X。
表示为:
X→Y
(2)决定因素:
X→YX为决定因素
(3)非平凡/平凡的函数依赖
X→YY包含于X——平凡
Y不包含于X——非平凡
如,R(A,B,C)学生(学号,姓名,年龄)
A→C非平凡(学号,姓名)→姓名
(A,C)→C平凡学号→姓名
(4)完全/部分函数依赖
若X→Y,且X的任意一个真子集X′
Y,Y完全依赖于XX→fY
若X→Y,且X的有真子集X′→Y,Y不完全依赖于XX→pY
如,R(A,B,C)中
存在(A,B)→C,但不存在B→C和A→C完全
存在(A,B)→C,B→C不完全
(5)传递函数依赖
若X→Y,Y→Z,Z传递依赖于XX→tY
如,R(A,B,C)中
存在A→C,且存在A→B,B→C传递
2.解决问题的办法――模式分解
把一个关系模式分解成两个或多个关系模式
消除“不良”依赖关系,获得好的关系模式
消除部分依赖和传递依赖
3.第一范式(1NF)
◆关系R的所有属性都是不可再分的数据项,则R∈1NF
所有关系模式至少是1NF
4.第二范式(2NF)——本质是消除部分依赖
◆R∈1NF,且R中的每个非主属性都完全依赖(不部分依赖)于主关键字,则R∈2NF
◆主要看主关键字是单属性?
多属性?
主关键字是单属性时,R一定∈2NF
主关键字是多个属性时,任意真子集不决定非主属性,R∈2NF
例:
R(A,B,C)至少满足1NF
R(A,B,C),不存在A→C且B→C至少满足2NF
R(A,B,C)至少满足2NF
5.第三范式(3NF)——本质是消除传递依赖
◆R∈2NF,且R中的每个非主属性都不传递依赖于主关键字,则R∈3NF
◆主要看非主属性有几个
R∈2NF,最多只有一个非主属性,R一定∈3NF
R∈1NF,没有非主属性,R一定∈3NF
R(A,B,C),存在B→C或C→B至少满足2NF
R(A,B,C),不存在B→C和C→B至少满足3NF
R(A,B)至少满足3NF
R(A,B,C),不存在A→C且B→C至少满足3NF
R(A,B,C)至少满足3NF
1.4数据库系统结构
内部体系结构(从数据库管理角度看)
三级模式外模式
模式
内模式
二级映像外模式/模式映像
模式/内模式映像
外部体系结构(从数据库用户角度看)
客户/服务器结构Client/ServerC/S结构
浏览器/服务器结构Brower/ServerB/S结构
分布式结构
集中式结构
文件服务器结构
一、内部体系结构——三级模式两级映像
应用程序
↑
外模式→视图用户模式用户对数据结构的描述
↓
外模式/模式映像提供逻辑独立性
模式→表
模式/内模式映像提供物理独立性
内模式→物理文件.mdf.ldf存储模式数据的内存结构描述
↓
数据库
二、外部体系结构
1.客户/服务器结构C/S结构
◆客户端的程序包括:
提供用户界面
采集数据
输出结果
向服务器发出处理请求
◆服务器的程序包括:
数据管理
数据处理
业务处理
向客户端发送处理结果
◆优点:
将应用程序合理分配到客户端和服务器端
充分利用两端软硬件环境优势
简化了应用程序开发
降低了网络通信量。
(服务器传给客户机的是处理的结果)
优化了网络利用率
较低费用实现较高性能
◆缺点:
需要在客户端安装部署应用程序
部署和维护成本较高
代码复用困难,可重用性差
◆适用:
用户较少
数据处理量较大
交互性较强
数据查询灵活
安全性要求较高
基于局域网
2.浏览器/服务器结构B/S结构
不用在客户端安装部署软件,只在服务器部署
只需有上网用的浏览器软件
维护和升级方便
代码可重性高
可跨平台操作,任何一台计算机上只要有浏览器即可
良好的开发性和可扩充性
用户多
数据处理量不大
地点灵活
基于广域网
第2章SQLServer2008概述
一、SQLServer2008的组件包括3类:
服务器组件、管理工具和文档。
◆服务器组件:
数据库引擎服务(DatabaseEngine)
全文搜索(Full-textFilterDaemonLauncher)
分析服务(AnalysisServices)
报表服务(ReportingServices)
整合服务(IntegrationServices)
◆管理工具:
SQLServerManagementStudio、
SQLServer配置管理器
SQLServerProfiler
数据库引擎优化顾问
BusinessIntelligenceDevelopmentStudio
连接组件
◆文档:
SQLServer联机丛书:
SQLServer的核心文档
二、实例配置
◆SQLServer2008支持多实例
◆默认实例:
实例名与计算机名相同
◆命名实例:
计算机名\实例名
如,计算机名称为:
MYHOME,
如果选择命名实例,并命名实例名为:
SQLServer2008,
请求连接该SQLServer时服务器名称应输入:
MYHOME\SQLServer2008。
◆注意:
1台服务器只能承载1个默认实例。
计划安装单个SQLServer实例,则该实例应为默认实例。
计划在同一台计算机上安装多个实例,应使用命名实例。
三、身份验证模式3种:
(SQLServer2008有2种)
仅SQL用户(win98以后不再)
Windows身份验证模式——仅接受Windows用户,不接受非Windows用户
混合模式——允许Windows,允许SQLServer
四、安装目录中的几个文件夹:
2008:
MSSQL10.2008、MSAS10.2008()、MSRS10.2008、100
(AnalysisServices)(ReportingServices)
2005:
90
2000:
80
所有实例使用的公共文件在文件夹systemdrive:
\ProgramFiles\MicrosoftSQLServer\100,都是重要的系统文件,一般不要修改。
每个实例还有单独一个文件夹MSSQL.n:
\ProgramFiles\MicrosoftSQLServer\MSSQL.n,n是SQLServer实例的序号,如1或2。
五、注意:
◆SQLServer的启动方式2种:
手工启动、自动启动
◆要在客户端访问远程的SQLServer服务器,须在客户端计算机和服务器端计算机上配置相同的网络协议
◆删除SQLServer前,关闭所有SQLServer程序和工具,停止所有SQLServer服务
第3章数据库的创建与管理
3.1数据库概述
1.数据库类型一个实例有5个系统,若干个用户
◆系统数据库(5个)系统自动维护存放维护系统正常运行的信息
master所有系统级别的信息,系统对象不在master中
msdbSQLServer代理用来记录作业、警报、备份历史的信息
model模板。
tempdb临时性,每次启动都重新创建,断开自动删除
不允许进行备份、还原操作
resource只读,系统对象
系统对象在SQLServer中以两种形式存在:
●分散在.sys架构下
●统一在resource中
◆用户数据库(若干个)用户维护存放与用户业务有关的信息
创建、维护数据库——指的是用户数据库
在创建用户数据库时,包含系统表的model数据库自动被复制到新建数据库中。
3.1.2数据库文件
1.组成(2部分)至少1个主要数据文件,1个日志文件
◆数据文件——用于存放数据库数据
主要数据文件.mdf(1个):
包含数据库启动信息,也可存储数据
次要数据文件.ndf(0或多个):
存放主要不能存放的,
主要、次要,可存放在相同位置,也可存在不同位置
用户不必担心存放位置,系统会选择最高效的方法
◆日志文件.ldf(1或多个)——记录页的分配和释放、对数据库数据的修改操作。
2.名称(2个)
◆逻辑名称:
DBMS管理——T-SQL语句引用文件时使用的。
(唯一的)
◆物理名称:
操作系统管理——存放在目录路径的物理文件名
3.存储
数据文件存储的基本单位:
页
日志文件不包含页,由一系列日志记录组成
多个数据文件最好存储在多个磁盘上
◆页
◆区——管理页统一区:
为单个对象所有
混合区:
最多可由8个对象共享。
1页=8kb=8*1024字节
1区=8页
1M=128页=16区
行——最大开销8kb(8060字节)
页按顺序编号,首页是0
行不能跨页,但行的部分可以移出所在的页
数据库表有10000行,每行3000字节。
求此表所需的空间。
∵每行3000字节,且一页大小为8kb
∴一页可以存放2行
∴10000行需要5000页来存放
∴表所需的空间为:
5000*8kb=40000kb=40MB
3.2创建数据库
◆第一行:
主要数据文件,后面再建的:
都是次要数据文件
◆master数据库,只有系统管理员才能使用
◆数据库只读:
指定值时,数据库不能处于使用状态
◆限制访问:
多个,允许多个用户同时访问
一个,一次只允许一个用户访问
限制,只有db_owner,dbcreator,sysadmin才能使用
◆查看数据库属性:
表建完后:
可以修改的属性:
逻辑名称、初始大小、自动增长方式
不可修改的属性:
文件类型、文件组、路径、物理文件名
◆使用数据库之前,须设当前数据库
3.3维护数据库空间
◆扩大数据库空间的方法:
扩大已有文件的大小
增加新文件
◆收缩数据库空间
收缩操作内容:
收缩数据库、收缩文件
收缩操作方式:
自动收缩、手动收缩
收缩数据库时,从末尾开始收缩,直到没有剩余的可用空间
手动收缩文件,
主要数据文件不能收缩到小于model数据库中主要数据文件的大小
手动收缩数据库,
收缩后数据库的大小不能小于数据库文件的最小大小
最小大小:
创建时指定的初始大小或
上一次使用“手动收缩数据库中的文件”时设置的大小
3.4删除数据库
不能删除系统数据库
删除之前,取消日记传送操作
文件数据从磁盘中删除。
3.5分离和附加数据库
◆作用:
数据库移植到另一台服务器上/改变文件的物理位置
◆分离:
从实例中删除,不是从磁盘上删除,保留数据文件和日志文件,
可以在需要的时候,附加
◆无法执行分离的情况:
数据库正在使用,而且无法切换到SINGLE_USER模式。
数据库处于可疑状态。
数据库为系统数据库。
第4章SQL语言基础
4.1T-SQL简介
◆SQL——StructuredQueryLanguage结构化查询语言
◆最新的标准:
SQL-99或SQL3
◆T-SQL的分类
数据定义语言
数据操纵语言
数据控制语言
事务管理语言
其他附加语言元素
◆T-SQL的特点
一体化:
上述各种语言于一体
两种使用方式:
交互、嵌入高级语言中
非过程化语言:
简洁
4.2T-SQL数据类型
系统数据类型
数字数据类型
货币数据类型
日期和时间数据类型‘’
字符串数据类型‘’
用户自定义数据类型
1.数字数据类型
整型bigint大整型8字节
int整型4字节
smallint小整型2字节
tinyint微整型1字节
非整型精确数字decimal/numeric[(p[,s])]
p:
小数点左边和右边的位数和默认18,最大38
s:
小数点右边的小数位数默认0
非精确数字float[(n)]n:
1-53,[1,24]默认24,[25,53]默认53
不需要用单引号(‘)括起来
2.货币数据类型
money:
8字节精确到货币单位的千分之十(元的万分之一)
smallmoney:
4字节精确到货币单位的千分之十。
带4位小数的decimal
可以带有适当的货币符号。
£
100。
3.日期时间数据类型
datetime8字节YYYY-MM-DDhh:
mm:
ss[.nnn]
smalldatetime4字节YYYY-MM-DDhh:
ss
ss始终为00精度为1分钟
秒没有小数>
=29.999深入<
=29.998
date3字节YYYY-MM-DD
time[(n)]5字节hh:
ss[.nnnnnnn]
精度为100纳秒,n是秒的小数部分,0-7,默认7
使用特定格式的字符日期值表示
例如:
‘04/15/2009’,'
2009-04-1512:
35:
29'
,'
20090415'
用单引号(‘)括起来。
CAST('
2007-05-0812:
ASsmalldatetime)2007-05-0812:
00
30'
36:
59:
59.998'
ASsmalldatetime)2007-05-0813:
00:
29.1234567'
AStime(7))12:
29.1234567
ASdate)2007-05-08
29.123'
ASdatetime)2007-05-0812:
29.123
4.字符串数据类型
用两个(’’)表示字符串中的(’)。
如,’I’’mTom’
编码
字符
字节
范围
默认
<
n
max
char[(n)]
普通
定
n英,n/2汉
1-8000
1
补空格
varchar[(n︱max)]
变
实英,实/2汉
实
231-1
nchar[(n)]
统一
2n
1-4000
nvarchar[(n︱max)]
2实
binary[(n)]
二进制
varbinary[(n︱max)]
image
>
8000
前面有n,表示统一编码
前面有var,表示可变长度
4.2.2用户定义数据类型
创建用户定义数据类型,明确三个参数
名称
依据的系统数据类型
是否允许空值
4.3T-SQL的语法元素
1.使用约定
(1)语法格式约定
约定
用于
大写
关键字。
|(竖线)
只能使用其中一项。
分隔括号或大括号
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 学习 笔记
![提示](https://static.bingdoc.com/images/bang_tan.gif)