首先,祝贺自己在一周的时间内完成了数据库视频的学习。在此次学习的过程中,整体上是把SQL server的各个客户端软件都整体的说了一遍,并且有实际操作的视频。在这里面,除了MS我能理解,其他的都能理解其中的意义,像BIDS,从功能上和MS区别很大,但是结果上感觉两者略有重复,不明白为什么,配置管理器只能跟着人家走,和网络配置还有SQL client有关。
导图:在画导图的时候,我的理解是从几个方面开始的,首先是介绍了SQL server的一些前因后果,及其体系结构和规则。然后从管理工具的角度去一一详述各个模块的功能和实践操作在这个基础上。并把其中的事务和安全单独出来着重的讲解了一番。因为其本身是数据库为基础,所以从数据库这也着重讲解了其中的增改删。在这个整体的基础上,所有的功能实现都有着一个基本的特征,可以增改删,以保证可以优化,为这个数据库续命,虽然后生命周期一说,但是不断的优化,明显是一种延长数据库寿命的一种方法。
下面是一张汇总导图和一些看视频中我自己的记录,基本上每一章都有记录,是自己的一点当时不成熟的理解,如果有误,请谅解并说明一下,方便我下次不犯同样的错误!
第一章
常见数据库模型
层次模型,网状模型更紧密,关系模型独立数据表目标根据关键字关联。
关系数据库
键,完整性规则,实体,参照,用户定义。
范式
1234,Boyce-Codd(BVNF)。
E-R模型
(实体-联系数据模型):语义数据模型,面型问题的概念性数据模型,用图反映现实中存在的事物或数据及它们之间的关系,
实体
描述世界中具体事务(可见,可抽象)
关系
一对一,一对多,多对多关联。
SQL server 2008体系结构
数据库引擎可以创建数据库,表,视图,数据查询,访问数据库。
Analysis services
提供联机分析处理(Online Analytical Processing,OLAP)和数据挖掘功能。
Reporting services
用于创建和发布报表及报表模型的图形工具和想到对其对象模型进行编程和客栈的应用程序编程接口(API)。
Integration Services
是一个数据集成平台,负责完成有关数据的提取,转换和加载等操。
IIS,安装和卸载
第二章
Management Studio
是一个集成环境,用于访问,配置,管理和开发SQL server的所有组件。可以协同工作。
新建查询:use Student
select * from dbo.student_Info
模板资源管理器
提供脚本模板-提供编写查询的起点。Stored Procedure(存储过程)
SQL server联机丛书
新的帮助查看器,新教程,基于角色的导航,帮助,目录,数据库引擎,索引,帮助收藏夹
配置管理器
包含色,服务,网络配置和SQL Client配置,这个是单独打开的服务于电脑上的服务互通。
BIDS
开发包括()在内的商业解决方案的主要环境,提供各种设计器,工具和向导。(独立客户端)
外围应用配置器
这个在SQL server2008里,在方面里边。
Sqlcmd工具
用cmd查看数据库Student的数据,更改,并用Sqlcmd -?查看所有方法。
总结:各个客户端的应用以及工具位置
第三章:
数据库组成
表,视图,存储过程,触发器,用户与角色,其他数据库部分
使用管理工具创建数据库
建立数据库过程,
使用语句创建数据库
语法格式,使用SQL语句创建数据库在G盘下载里。
CREATE DATABASE 教务管理系统 ON ( NAME=教务管理系统_DATA, FILENAME='G:\下载\教务管理系统_DATA.mdf', SIZE = 5MB, MAXSIZE = 20MB, FILEGROWTH = 5% ) LOG ON ( NAME =教务管理系统_LOG, FILENAME='G:\下载\教务管理系统_log.ldf', SIZE = 2MB, MAXSIZE = 10MB, FILEGROWTH = 1MB )
查看数据库状态
目录视图,使用函数,系统存储过程。sp_helpdb查询现有数据库
修改数据库
重命名,容量大小,添加新的数据文件SQL语句改名。
删除数据库
注意数据文件,DROP DATABASE 教务管理系统(SQL语句删除)在数据库下建立的查询,无法删除自己。
分离和附加数据库
分离数据库,都不会删除文件和事务日志文件。无法分离状态:已复制并发布数据库,数据库中存在数据库快照,数据库处于未知状态。附加数据库:将当前数据库以外的数据库附加到当前数据库实例中。使用中无法复制,在任务中分离,断开连接。
收缩数据库
整个数据收缩或某个文件收缩。
数据库快照
静态呈现,只读,静态视图。不会随数据库变化,优点,维护历史数据以生成报表,可以查询快照,加快恢复操作效率。但是会丢失一些数据。限制:不能删除,分离或还原。源数据库的性能受到影响,不能从源数据库或任何快照中删除文件,源数据库必须处于在线状态,除非是镜像数据库。
创建数据库快照
语句创建,语句删除。未实验成功 as附近有错误
复制数据库
分离和附加方法不能连接用户,SQL管理对象方法可以保持连接。
第四章
字段的数据类型
整数数据类型,精度类型,货币类型,浮点类型,Bit。字符数据类型:char,Varchar,Text,NcharNcarchar,ntext.日期和时间数据累心:datetime—smalldatetime.二进制数据类型:binary,varbinay,image.专用数据类型。
CREATE TABLE语句
语法格式。SQL语句实验。
创建数据表
列名,数据类型,允许空?图像数据类型。
临时表
系统表,用户自定义表,数据表,临时表。不能永久保存。本地和全局。全局临时表##打头,所有用户可见。无连接的时候被删除。
设置标识字段
数据表,设计,标识,更改。
使用默认值
数据表,设计,默认值绑定。减少输入项。
创建约束
当不符合约束时,报错,作为规则使用。
修改表
直接修改或者SQL语句修改。
用户自定义数据类型
基于系统数据类型。必须提供三个数,数据类型的名称,所基于的系统数据类型,数据类型的可空性。数据库-可编程性-类型-自定义通过数据类型保护数据库的完整性
使用规则
作用于CHECK约束的部分功能相同,用来限制输入的新值得取值范围。前者需要单独的数据库对象来实现,后置用语句在常见表时指定,前者一列一规则,后者可以多个。前者可以用于多个列,后者只能用于定义的列。
解除和删除规则
解除:sp_unbindrule{@objectname=}
[,[@futureonly=]
Sp_unbindrule (删除规则绑定)
数据关系图
实操数据关系图:每一个表之间关系明确,并要求跟随主键,不能自己做多余的生成。
第五章
创建视图
两种方法:图形界面或语法:
修改和删除视图
与创建一样
DROP VIEW V_STUDENTINFO(删除语句)
通过视图修改数据
注意:SELECT列表中含有DISTINCT。SELECT列表中含有表达式,例如计算列,函数等。在FROM子句中引用多个表。引用不可更新的视图。GROUP BY或HAVING子句。添加时,注意非空项,如果不注入数据会报错。
索引概述
索引是一个单独的,物理的数据库结构。依赖数据表。可以把索引看做书的目录。索引创建,将有数据库自动管理和维护。索引只是提供一种快速锁定访问指定记录。优点,唯一性,不重复。加快数据检索速度。加快表与表之间的链接速度。使用语句检索数据时,减少分组和排序的时间。在检索数据过程中使用优化隐藏器,提高性能。
创建索引
语法:
关键字关键字红线。类型UNIQUE微型索引,CLUSTERED聚集索引(包含一个)NONCLUSTERED非聚集索引(可以包含多个)index_name索引名称。界面创作,语句创作
管理索引
直接实操,不能修改,只能删除和添加。界面删除,语句删除:drop index 前名称.附名称
全文索引和目录
直接实操:有向导。更新分为自动,手动,不跟踪更改。
创建构架
相当于一个一个容器。两种方式,语句或视图。在安全里面创建构架
create schema admins(名字) AUTHORIZATION teacher
修改和删除机构
实操:系统表(dbo的更改)在属性里。使用中无法删除。语句:create schema admins AUTHORIZATION teacher
聚集索引和非聚集索引
聚集索引确定表中的物理顺序。可以组合索引。对于经常搜索范围值特别有效。使用场景:含有大量非重复值得列。使用BETWEEN,>,>=,<或<=返回一个范围值得列。被连续访问的列。返回大型结果集的查询。经常被使用连接或GROUP BY自己的查询访问的了(分组)。
非聚集索引:数据存储在一个位置,索引存储在另一个位置,索引带有指针指向数据存储位置。两个索引有相同的B-Tree结构,担忧两个区别:数据行不按非聚集索引键的顺序排列和组合。非聚集索引的叶层不包含数据页,相反,节点包含索引行。非聚集索引可常见249个之多。不能用XML索引。
第六章 查询和管理
简单的SELECT语句
SELECT [ALL|DISTINCT] select_list
[INTO new_table]
FROM table_source
[WHERE (搜索条件)search_conditions]
[GROUP BY group_by_expression]按组查询
[HAVING search_conditions]
[ORDER BY order_expression [ ASC|DESC]]排序
SELECT * FROM (表名称)查询全部信息。可以,查单列(列名字)
Select 12*13 AS 计算结(计算)AS,输入列名。
DELECT 民族 from 学生信息
设置查询条件
实操:
SELECT * FROM 学生信息(表的所有列)
SELECT * FROM 学生信息 WHERE 姓名=“张苗苗”单独查询。
SELECT * FROM 写生信息 WHERE 民族=‘汉族’只列有民族的表中汉族。
SELECT * FROM 写生信息 WHERE 民族=‘汉族’AND 性别=‘女’
SELECT * FROM 写生信息 WHERE 民族=‘汉族’OR性别=‘男’(多个OR或AND)
SELECT * FROM 写生信息 WHERE 家庭住址 like ‘河南%’(家庭住址中河南在前的所有)<>=
排序
删选结果排序:
SELECT * FROM 成绩信息 where 考试编号=‘0801’ AND ‘1’
ORDER BY 分数,DESC学生编号DESC 降序排数(双排序)
分组
SELECT 课程编号,AVG(分数) FROM 成绩信息WHERE 考试编号=‘0801’GROUP BY rollup课程编号 列对行分组(rollup平均数) cube编序
使用函数
SELECT top 3 FROM 成绩信息 WHERE 考试编号=‘0801’ AND 课程编号=‘2’
MIN最大 AVG平均 SUM求和 数学函数
ORDER BY 分数 top 3 要前三名信息
使用HAVING子句
HAVING AVG (分数)>=90
ORDER BY 考试编号(排序)
插入数据
INSERT语法:新增记录
INSERT[INTO] table_or_view [(columm_list)] VALUES data_values
Table or_view用于指定想数据表中添加数据的表或视图名称
Column_list用于指定改数据表的列名,可以指定一列或多列,必须放在()中
Data_values用于指定向数据表中插入的数据值
INSERT INTO 学生信息 VALUEX(‘2019100101’,’黎明’,男’,1986-06-01,’汉族’,’20050101’,’河南郑州’如果有非空,那就必须输入数据
INSERT…SELECT语句
格式:
INSERT table_name[column_list](列名)
SELECT column_list
FROM table_list(从其他数据表要数据)
WHERE search_condirions(查询)
INSERT 学生信息1
SELECT * FROM 学生信息 插入数据 受影响有几条插入几条
INSERT 学生信息1
SELECT * FROM 学生信息 where 家庭住址 like ‘河南%’ 指定信息插入
SELECT…INTO语句
另一种插入插入数据
语句语法
SELECT
INTO new _table
FROM{}[,…n]
WHERE
Select * from学生信息 where 性别=’男’ 筛选所有男性数据
Select *
Into $student
from学生信息
where 性别=’男’
SELECT * from #STUDENT 信息临时存放表
UPDATE语句
修改数据语句:
UPDATE[TOP]{table_name|view_name}
SET
{column_name={expression|DEFAULT|NULL}|@Variable=expression}[,...n]
WHERE{search_conditions}
Select * from 学生信息 改名
Update 学生信息 set 姓名=‘李俊’ 一列改变
Update 学生信息 set 姓名=‘李俊’,出生日期=‘1999-11-11’ where 学号=’2005050101’ 单行改里多个列更改