数据库三级学习 第6章数据库及数据库对象

我之前说b站上的数据库三级视屏看不懂,于是我看了别的视屏, 非常常见问题出现了,可能是我没有认真看,可能是我看的太快了,我大概看了一下数据库系统, 我看着看着又看不懂。。。。。但是我去直接去做题,发现了一个事情就是,其实数据库三级考 的知识不难,只是要记忆而已。
就像小时候的科普书籍一样,对于知识的要求不高,只不过要求你了解它,记住它

这时候我因为看了哪个数据库系统的视频,我大概知道了数据库是讲什么的了。
现在我认为 我只要刷题,有不懂的看一下原来的计算机三级视屏就可以了。

通俗点讲,我们可以,我认为数据库三级就是科普数据库,因为题目的难度不要求你灵活应用知识,只是了解知识,和基本运用知识。只不过他没有科普书籍那么好读罢了

给人的感觉就像初中的历史科目

数据库以及数据库对象
声明一下
科普 之 数据库以及数据库对象
了解数据库的组成以及特点
sql serve 2008 的安装和配置
数据库的创建维护方法
架构定义与维护方法
掌握分区表,索引及视图维护方法
创建以及维护数据库

sql 2008 是一个重要的版本
保护数据库查询
服务器管理操作花费更少

系统数据库

master 系统级信息 元数据 端点 连接服务器系统配置
msdb 代理服务器报警和作业,记录操作员使用保存信息此类信息
temppdb 用于保存临时对象和中间结果,每次启动会重新建立
model 所有数据库的模板,存放数据库公共信息
resource 只读数据库。 在对象资源管理器中看不到
------------
用户数据库
sql server 将数据库映射为一组操作系统文件
.mdf 主要数据库文件 只有一个,大小不得小于3mb
.ndf 次要数据文件 有0个或者多个,可在任意一个磁盘或者多个磁盘存放
.ldf 事务日志文件。 至少有一个日志文件。

数据库存储控件的分配
创建用户数据库时,model数据库被自动复制到新建库。
数据存储的最小单位; 数据页 Page
一页是8kb的连续磁盘空间
页的大小决定了数据表中一行数据的最大大小
行不可以跨页存储
-----
一个数据页最多存放一行数据
行是不可以跨页存储
数据表 有 10000 行数据,每行数据3000字节
一页 8kb 8000字节
一页可以存放 两个字节
(10000/2)* 8kb = 40mb
空间利用率 75%
-----
数据库文件组
有两种
PRIMARY
主文件组
系统定义, 包含主要数据文件和任何没有明确分配的其它文件组的其他数据文件,系统表所有的页均分配在主文件组中。
用户定义文件组
在定义或者修改数据库时用FILEGROUP 关键字指定

自己定义的文件组可以使用 FILEGROUP来定义

注意
日志文件不在文件组中,日志空间与数据空间分开管理。
一个文件不可以是多个文件组成员

若文件组包含多个文件,则在所有文件被填满后才会自动循环增长
文件加入数据库,不能移动到其他文件组
只能指定一个文件组为默认文件组

------
数据库文件属性
定义数据库的数据文件和日志文件所需要的信息
文件名及其位置
逻辑文件名 物理文件名
初始大小
不能小于model数据库主要数据文件大小
增长方式
可以指定文件是否可以增长
最大大小
文件增长的最大限制,默认五限制

-------
如何使用t-sql创建数据库
通过sql-serve Management Stuidio
创建数据库
通过T-sql 创建
一定要掌握的,而且是设计与应用题目
CREATE DATEBASE 逻辑名字database_name
ON 主数据文件 .mdf
LOG ON 日志文件放哪里
COLLATE collation_name
FOR LOAD | FOR ATTACH
s—
说明
PRIMARY
LOG ON
NAME
FILENAME
SIZE

指定为主要数据库文件,没有指定第一个文件是主要文件
制动创建日志文件
逻辑文件
物理文件名
初始大小

举例创建学生数据库

   CREATE DATEBASS Student
      ON 
       { NAME = ‘Student_Data’,
           FILENAME = 'E:\Studentdb.mdf'
           SIZE = 3MB,
           MAXSIZE = 50MB,
           FILEGROWTH = 10%
           }
           LOG ON{
              NAME  = 'Studentdb_Log',
              FILENAME = 'E:\Studnetdb.ldf',
              SIZE = 2MB,
              MAXSIZE = 5MB,
              FILEGROWTH = 1MB

}
GO

修改数据库
收缩数据库

即释放数据库中未使用的空间,文件收缩从末尾开始
自动收缩 AUTO_SHRINK 默认false
手工收缩 收缩数据库中某个文件大小
按比例收缩整个数据库的大小
添加和删除数据库文件
ALTER DATABASE database
{ADD FILE}

ALTER DATABASE STU_DB
MODIFY FILE (NAME = STUDNENT_DATA,SIZE = 8MB)
添加性的数据文件
DBCC SHRINKFILE
DBCC SHRINKDATABASE (students,20)
收缩数据库,该数据库所用文件都有20%可用空间
DBCC SHRINKFILE(students_data1,4)
收缩数据库到4MB大小


删除数据库文件
ALTER DATABASE STU_DB
REMOVE FILE student_log1
注意
添加文件时,每个文件组中的数据文件按比例填充,日志文件是依次增加的
文件为空才可以删除
-----
分离数据库附加数据库
分离数据库
作用: 将数据库从 一台数据库服务器移到另一条服务器
将数据库从一台服务器移到另一台服务器
从实例中删除,
不删除数据文件和日志文件,保持了数据文件和日志文件的完整性
用存储过程实现的
EXEC sp_detach_db ‘student’,‘true’

附加数据库,将 分离的数据库重新 附加到数据库管理系统
必须指定主要数据文件的物理存储位置和文件名
CREATE DATEBASE FOR ATTACH| ATTACH_RERUILD _LOG
例如:
CREATE DATEBASE students On(FileName = 'F:\Data\Students_db
FOR ATTACH


架构
Schema
也叫做模式
是数据库下的一个 逻辑名空间 是数据库对象容器 一个数据库包含一个或者多个构架 同一个数据库下架构名唯一
CREATE SCHEMA[架构名] AUTHORIZATION[用户名]
删除架构
DROP SCHEMA[架构名]

先创建分区函数 再创建分区方案 并创建使用分区的表

分区函数 分区方案 分区的表

 CREATE PARTITION FUNCTION myPF1(int) RANGE LEFT FOR VALUES(1,100,1000);

这样就创建了一个分区函数

CREATE PARTITION SCHEME myPS1 AS PARTIITON myPF1 TO(test1fg,test2fg,test3fg,test4fg)
GO
CREATE TABLE ParitionTable(
Coll int,
Col2 char(10)
 ON myPS1(coll)
)

科普索引
如何创建索引
创建索引,提高数据查询效率的。
唯一索引
聚集索引
非聚集索引
有哪些索引
UNIQUE 唯一索引
CLUSTERED 聚集索引
NONCLUSTERED 非聚集索引

索引的关键词是INDEX
索引是在列上的
索引是在列上的,列是在表上的
ON table_nanm(column_name)

WITH FILLFACTOR = x
填充因子
索引要占据存储空间
可选factor表示填充因子 指定一个o到100 的值,该值指示索引填满空间所占的百分比

删除索引
DROP INDEX
DROP INDEX ‘tablename.indexname | viewtable.indexname’[,…n]

DROP INDEX 语句后面加 索引所在的表 或者是索引视图 和要删除的索引名

索引视图
标准视图 也称作 虚拟表,返回结果表和基本表一致,
标准视图的结果集不永久存放;
他是什么?
建立唯一聚集索引的视图,被叫作索引视图,也叫做物化视图。
索引视图就是创建了聚集索引的视图
建立索引后,视图里的结构集集就会永久的存放在数据库中。

对基本表的修改会反映在索引视图存储的数据中。

什么时候适合建立索引视图
索引可以提高效率,但是也是有代价的,它有空间的代价,而且你需要维护你索引,
第一: 如果很少更新基础数据,索引视图的效果会更好。
如果基础数据以批处理的方式定期更新,而且数据作为只读数据进行处理,我们可以考虑把索引视图里的数据删掉,进行重建,提高性能。
这样我们就不需要维护索引了,索引视图可以提高哪些查询的性能,

  1. 处理大量行的连接和聚合
  2. 经常查询的连接和聚合操作
    索引视图通常不会提高这些查询操作的性能
    具有大量写操作的OLTP OLTP OLTP OLTP 系统
    具有大量更新操作的数据库
    不涉及聚合或者连接的查询
    GROUP BY 具有高基数度的数据聚合
    不涉及连接和聚合的查询
    怎么样定义索引视图,创建索引视图必须符合的条件
    定义索引视图的时候,视图只能引用基本表,应用的基本表和你的视图是同一个数据库。
    引用的基本表和视图同一数据库,
    使用SCHEMABINDING
    视图中表达式引用的所有函数必须确定
    对视图建立的第一个索引是唯一聚集函数索引
    语法
    CREATE VIEW; WITH SCHEMABINDING;GREATE UNIQUE CLUSTERED INDEX…
    看比赛等一会
    例题
    sql serve 2008 中
    主要文件必须建立在主文件组中哦
    日志文件的单位: 记录和数据块
    8060字节 T 10000行数

    三级里的题目就是对这些知识的简单应用,你完全可以想象他是一本科普书,告诉你数据库管理员哥哥们(口区) 的工作,你甚至可以这么想象那些题目 比如 : 程序员哥哥们使用锁来进行并行管理的哦!你知道了吗? 锁是有哪些锁,有什么用呢? 下列人员对于锁的说法哪些是错误的呢,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值