前言
今天又面了一家科技公司的测试,还蛮顺利,毕竟中小厂只有二面。感觉秋招带给自己最大的收获就是对于面试不再恐惧吧,尽管进入互联网大厂在这个2020年的秋冬是无法实现了,努力在明年春天收获好消息的。
一、数据库对象和数据库文件
1.数据库的基本概念
从物理角度看,数据库包括数据文件和日志文件
从逻辑角度看,数据库中的表、索引、触发器、视图、键、约束、默认值、规则、用户定义数据类型或存储过程及数据库本身都可以理解位数据库对象。
(1)数据库的层次结构
数据库的基本结构分为三层:
a.物理数据库:数据库最内层,数据是原始数据
b.概念数据库:数据库中间一层,数据库的整体逻辑表示
c.用户数据库:用户使用和看到的数据库
(2)数据库的逻辑结构
可以理解位在运行SQL软件中观察到的数据库组成。
(3)架构
架构是形成单个命名空间的数据库实体的集合。
(4)数据库所有者
数据库所有者(DBO)就是有权限访问数据库的用户,即登录数据库的网络用户。
(5)数据库的物理文件
主数据文件+日志文件
主数据文件扩展名:.mdf
次要数据问卷扩展名:.ndf
事务日志文件(保存用于恢复数据库的日志信息)扩展名:.ldf
2.数据库的常用对象
数据库对象是数据库的组成部分,除了数据库本身外,常见的对象有表、索引、视图、数据库关系图、默认值、规则、触发器、用户、存储过程、序列等
(1)表:我们使用数据库时候看到的表格就是表
(2)索引:根据指定的数据库表列建立起来的顺序,类似于书中目录的作用,提供了快速查询的功能。
(3)视图:虚拟的表,由查询数据表产生的,提高数据库的安全管理水平
(4)数据库关系图:本数据库中表之间的关系示意图
(5)存储过程:为完成特定功能而汇集在一起的一组SQL语句,经编译后存储在SQL中的程序
(6)触发器:一个用户定义的SQL事务命令的集合,当对一个表进行插入、更改、删除的时候他就会自动执行。
二、数据库的快照和数据分区管理
1.数据库快照
数据库快照指的是SQL源数据库的只读、静态视图。多个快照可以位于一个源数据库中。
(1)数据库快照的工作方式
数据库快照为数据库用户提供了一种保存某一历史时刻的数据库中数据的重要机制。
数据库快照可以保存在创建快照时间前的原始页面。
(2)数据库快照的用途
1)维护历史数据以生成报表
2)可以避免由于用户失误造成的数据损失
3)避免由于管理失误造成的数据随时
4)利用快照当中的信息,手动重新创建删除的表或其他丢失的数据。
2.数据分区管理
数据分区即将原本的大数据表拆分成较小的多个数据表,由于需要查询的数据局限于空间的局部性,即查询的行往往在同一分区中。通过分区可以将大量数据集中进行查询的操作转换为小部分数据中进行查询的操作。