数据库应用技术小结Word下载.docx
- 文档编号:18682976
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:14
- 大小:35.56KB
数据库应用技术小结Word下载.docx
《数据库应用技术小结Word下载.docx》由会员分享,可在线阅读,更多相关《数据库应用技术小结Word下载.docx(14页珍藏版)》请在冰豆网上搜索。
数据的约束条件
E—R模型三要素:
实体、属性、联系(联系有三个类型1:
1;
1:
n;
n:
n)
关系数据模型三要素:
关系数据结构、关系数据操作和关系完整性约束
关系:
二维表每一列不可再分行列层次并不重要
元组:
元组不可重复
属性:
列,属性名,属性值
候选关键字:
候选码,唯一确定一个元组的最小属性集,与应用语义有关,设计者意图无关
主键:
主关键字,主码。
与实际语义和系统需求相关
主属性:
任一候选关键字的属性称为主属性
非主属性:
不包含在任一候选关键字的属性称为非主属性
关系模型的数据完整性约束
1、实体完整性(主键:
非空、唯一)
2、参照完整性
3、用户定义的完整性
范式
1NF:
列不可再分
2NF:
每个非主属性完全函数依赖于主关键字
3NF:
非主属性间不传递函数依赖
三级模式结构
模式如:
数据表
外模式如:
视图
内模式如:
存储文件
两级映像外模式/模式映像——模式变外模式(应用程序)不变—逻辑独立性
模式/内模式映像——内模式变模式不变---物理独立性
。
数据库系统外部体系结构
客户/服务器结构C/S
浏览器/服务器结构B/S
分布式结构
主流数据库管理系统都支持C/S结构:
SQLServer,Sybase,Oracle等
SQL(StructuredQueryLanguage结构化查询语言)
T-SQL语言的主要特点4个:
1、一体化。
2、两种使用方式
3、非过程化语言
4、简洁
SQL2008安装配置
只有一个默认实例(首次),默认实例由运行该实例的计算机的名称唯一标识。
如计算机名字为MYHOME,默认实例名称就为MYHOME,登陆服务器名称为MYHOME;
多个命名实例,当一个计算机上安装多个数据库系统是使用命名实例
服务器组件:
SQLServerIntegrationServices整合服务
——一组图形工具和可编程对象,用于移动、复制和转换数据(数据导入导出等)
SQLServerAnalysisServices分析服务
——包括用于创建和管理联机分析处理OLAP以及数据挖掘应用程序的工具
删除SQLServer首先,在控制面板——添加或删除程序-删除
其次,在安装文件夹的包删除,如下图选择默认路径删除
身份验证模式可选择:
(设置后要重启SQL服务器才能启用)
Windows身份验证模式
混合模式
系统数据库:
Master:
所有系统级别信息登录名、用户ID所属的角色、系统配置设置、数据库的位置、SQL如何初始化等
Model:
(默认最小3MB)创建模板
Msdb:
记录有关作业、警报和备份历史的信息
Tempdb:
临时数据库,临时表,数据库修改事务提交的行记录。
Resource:
(只读)包含了sql2008中的系统对象
数据库文件组成
一个主数据文件,多个辅助数据文件
至少有一个日志文件
页
1、一页=8K
2、行不能跨页
已创建好的数据库查看其属性:
1、在文件的属性中,文件的逻辑名称、初始大小、自动增长方式是可以修改的
2、文件类型、文件组、路径和物理文件名则不可以修改
数据库属性中的选项页的部分选项含义:
(了解)
——恢复模式(完整、大容量日志、简单)区别?
——只读
1数据库设置只读后,用户不能对其修改数据或数据库对象,但可以使用DROPDATABASE语句自行删除
2以上情况对于Master数据库为例外,该数据库不能做只读设置,即该只读设置只能是false。
Master数据库本身不做只读设置对于除去系统管理员外的其他用户都只能是只读状态,只有系统管理员或具备系统管理员功能的用户才能对其进行修改等操作。
——限制访问3种选项:
多个MULTI_USER
单个SINGLE_USER
限制RESTRICTED_USER:
表示只有数据库拥有者db_owner、数据库创建者dbcreator、系统管理员sysadmin角色的成员才能使用该数据库、
——自动收缩指定数据库文件是否可定期收缩
扩大数据库空间的方法
1、扩大已有文件的大小
2、添加新文件
收缩数据库空间
自动收缩数据库
变量
1、如:
@a局部变量
2、如:
@@b全局变量
变量赋值
1、set
2、select(注意:
select返回值必须为单个值)
表分为三类:
系统表、用户自定义、临时表
表属性的改变
顾客表(顾客ID普通字符编码定长字符型,长度为10,非空;
顾客名统一字符编码定长字符型,长度为10;
电话统一字符编码定长字符型,长度为12;
地址统一字符编码变长字符型,最大长度为20;
社会保险号普通字符编码定长字符型,长度为15)
订购表(商品ID普通字符编码定长字符型,长度为15,非空;
商品名称统一字符编码可变长字符型,长度为20;
顾客ID普通字符编码定长字符型,长度为10,非空;
订购数量,整型;
订货日期小日期时间型,非空;
交货日期小日期时间型)
分别用SQLServerManagementStudio、CREATETABLE语句、ALTERTABLE语句练习实现如下约束:
(1)为顾客表和订购表添加主关键字,顾客表的主关键字为顾客ID,订购表的主关键字为(商品ID、顾客ID、订货日期)。
altertablegkb
addprimarykey(顾客ID)
altertabledgb
addprimarykey(商品ID,顾客ID,订货日期)
(2)为订购表添加外部关键字,限制订购表的顾客必须来自于顾客表。
addforeignkey(顾客ID)referencesgkb(顾客ID)
(3)限制顾客表电话号码的形式为:
三位区号-8为电话号码,且每一位均为数字。
altertablegkb
addcheck(电话like'
[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
)
(4)当顾客没有提供地址时,使用默认的值:
’UNKNOWN’。
adddefault'
unknown'
for地址
(5)限制订购表的“订购数量”必须大于0。
addcheck(订购数量>
0)
(6)限制订购表的“订货日期”必须早于“交货日期”。
addcheck(订货日期<
交货日期)
(7)限制顾客表的“社会保险号”不能重复。
addunique(社会保险号)
删除表
Droptable<
表名>
——创建表时定义外部关键字的可选约束语句中:
P122
【ondelete】——表示实现级联删除
【onupdate】——表示实现级联更新
DBMS系统对参照完整性约束的检查:
对参照表,在插入和更新时检查
对被参照表(主表),在删除和更新时检查
DBMS系统对唯一性约束的检查:
插入或更新时检查是否重复,包括空值的重复(unique允许有空值,但最多只允许有一个空值)
DBMS系统对默认值约束的检查
关于default:
1只有向表中插入数据时,才检查default约束
2每个列只能有一个default约束,只能用作列约束,无表约束
3允许使用系统提供的值作为默认值
4不能与identity属性一起使用
【identity例:
createtable bankt (bno int identity(1,1)】
DBMS系统对check约束的检查(检查约束就是用check约束实现的)
关于check:
1 在执行插入和更新语句时候,系统自动检查
2 check只能在同一张表中作用,可限制一个列或同一表中的多个列
索引概念:
与表或视图关联的磁盘上的结构,可以加快从表或视图中检索行的速度。
索引优点:
提高查找效率
缺点:
耗费磁盘空间,降低更新操作的效率
插入
INSERT[INTO]<
[(<
列名>
)[,…n])]
VALUES(<
表达式>
[,…n])
功能:
新增一个符合表结构的数据行,将值表数据按表中列定义顺序[或列名表顺序]赋给对应列名。
列名表>
)]SELECT语句
将(结构与列名表相同的)子查询结果数据插入<
指示的表中,这个表必须是一个已经建好的表。
新行中列名表以外各列置NULL。
用途:
提取库中数据,生成新表数据。
表结构变更后,原有数据重新置入。
删除
格式:
DELETE[FROM]<
[[FROM<
]WHERE<
条件表达式>
]
无条件删除\基于本表条件的删除\基于其他表条件的删除(只能删除一张表的若干记录)
数据更新
UPDATE<
SET<
=<
[,…n]
无条件更新\基于本表条件的更新\基于其他表条件的更新(只能删除一张表的若干记录)
视图概念虚表
特性4个:
-隐藏数据库复杂性、控制用户提取数据、简化数据库用户管理、改进性能
语法格式:
CREATEVIEW<
视图名>
[(<
[,…n])]
[WITHENCRYPTION]
AS
<
子查询>
[WITHCHECKOPTION]
什么时候加列名?
1,不希望使用者知道原表中的列名
2,某些列加,就必须全部都加列名
3,As后面只能有一条select语句
P197重点 例题7-14
通过视图修改数据四个问题:
1如果视图是基于几张表创建的,那么通过视图修改其基本表时,只能修改其中一张表。
2视图只能修改参与视图定义的表和列。
3在视图中修改的列必须是直接参与视图定义的表的列的基础数据,不能通过其他方式派生。
4通过视图修改的列不能出现在SELECT语句的GROUPBY、HAVING或DISTINCT子句中的。
存储过程预编译集合
CREATEPROC[EDURE]存储过程名
[@参数名数据类型[=default][OUTPUT]][,…n]
SQL语句
存储过程优点:
存储过程分类:
用户自定义的存储过程
扩展存储过程
系统存储过程
存储过程的定义可以通过当前数据库的sys.sql_modules和sys.objects系统视图查询得到。
输入输出
使用默认值情况怎么使用输入输出参数
例1到例6
游标(语句集合)(看书上例题)
•声明游标
DECLARE游标名CURSOR
FORSELECT语句
•打开游标
OPEN游标名
•提取数据
FETCHNEXTFROM游标名
[INTO@variable_name[,...n]]
•关闭游标
CLOSE游标名
•释放游标
DEALLOCATE游标名
通过检测全局变量@@Fetch_Status的值,可以得知FETCH语句是否取到最后一条记录。
当@@Fetch_Status值为0时,表示提取正常;
-1表示已经取到了结果集的末尾,而其他值均表明操作出了问题。
使用游标进行更新操作的命令格式是:
(不考)
WHERECURRENTOF<
游标名>
使用游标进行删除操作的命令格式是:
DELETEFROM<
游标程序可以套到存储过程中(考题方向)
例题9-4
234页如何创建身份验证模式:
服务器右键-属性-安全性-服务器身份验证
架构不考
安全控制的一般方法4个
身份验证\访问控制(DBMS)\文件操作控制(OS)\数据加密存储(DB)
权限:
——维护数据库管理系统的权限:
——对数据库数据的操作权限
用户分类 数据库系统管理员数据库对象拥有者一般用户
三个认证过程 系统登入、数据库访问、数据操作
SQLServer用户来源 Windows授权用户SQL授权用户
认证模式分类 混合模式 Windows身份验证模式
设置安全验证模式:
使用SQLServerManagementStudio
管理登录账户
建立用户登录账户修改和删除登录账户
管理数据库用户
建立数据库用户删除数据库用户
SQLServer权限种类
对象权限(DML)
x对于表和视图:
可以使用select、insert、update和delete权限。
x对于表和视图的字段:
可以使用select和update权限。
x对于存储过程:
可以使用Exec权限。
语句权限(DDL):
对数据库对象的管理
隐含权限:
系统预定义好的权限(如系统角色、对象拥有者的权限)(不一定显示)
角色与权限的问题:
1、用户已直接被保证许可或者其已属于某一个角色且该角色已被保证许可。
2、没有DENY过用户或其所属的任何一个角色。
role
授予
收回
拒绝
user
user的实际权限
√
×
备份
备份类型:
\完整备份 恢复的基线 适用于数据不大,不繁琐备份 备份时间长,周期长
\差异备份(增量备份) 最近一次完整备份为基准点
\事务日志备份 以上一次备份(完整\差异\日志)为基准点
要恢复到某个特定时刻或故障发生点,只能用事务日志备份。
怎样备份?
永久性备份备份设备 备份前需要建立备份设备
临时性备份文件 备份前不需要建立备份设备,直接备份到文件里
恢复
谁恢复?
Sysadmin
db_owner
db_backupoperator
设备类型:
Tape
Disk
备份内容:
系统数据库——立即备份
当进行修改了master数据库的操作时
当修改了msdb数据库
model数据库被修改之后
用户数据库——周期性备份
数据库创建之后,马上备份
日志被清空之后
执行了不记入日志的操作之后
三种恢复模式
完整恢复模式 恢复到任意时间点 事务日志 适用于不能容忍数据丢失的生产系统
大容量日志恢复模式 某些大规模大容量操作不记录在事务日志中,不支持任意时间点的恢复
简单恢复模式 不备份事务日志,简略记录大多数事务,在简单恢复模式下,只能进行完整数据备份和差异备份。
恢复前准备 访问限制3种选项:
单个SINGLE_USER
限制RESTRICTED_USER:
恢复顺序
数据传输
编辑映射看一看
建表时,要预先核对数据源的字段前后顺序,保证建表各字段的前后顺序与其一致。
SQL对SQL的导入导出
SQL对文本的导入导出(必考)
注意:
文本限定符(英文状态,引号等只要输入半边)\首行显示列名\行分隔符\列分隔符
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 应用技术 小结