数据库知识点总结资料良心出品必属精品.docx
- 文档编号:15361856
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:37
- 大小:32.27KB
数据库知识点总结资料良心出品必属精品.docx
《数据库知识点总结资料良心出品必属精品.docx》由会员分享,可在线阅读,更多相关《数据库知识点总结资料良心出品必属精品.docx(37页珍藏版)》请在冰点文库上搜索。
数据库知识点总结资料良心出品必属精品
第一章数据库基础
1数据库系统:
是由数据库及其管理软件组成的系统,常常把数据库有关的硬件和软件系统成为数据库系统,DBMS的英文全称DataBaseManagementSystem
概念模型是指人对现实世界的认识,抽象成信息
数据模型是指将现实世界转换成计算机能认识的信息
SQL是英文全称是StructuredQueryLanguage
2.数据库:
数据库就是数据的仓库,由表、关系以及操作对象组成
3.数据:
是描述事物的符号记录(数字、文字、图形、图像、声音等)
4.数据库的作用
存储大量数据,方便检索和访问
保持数据信息的一致、完整
共享和安全
通过组合分析,产生新的有用信息
5.数据库经历的三个阶段及特点
1)人工管理阶段:
数据不保存;使用应用程序管理数据;数据不共享;数据不具有独立性。
2)文件系统阶段:
数据可以长期保存;由文件系统管理数据;共享性差,数据冗余大;数据独立性差。
3)数据库系统阶段:
数据结构化;数据共享性高;数据独立性强;数据粒度小;独立的数据操作界面;统一管理和控制
6.数据模型的分类
层次模型
网络模型
关系模型用二维表结构表达实体集的模型
7.E-R图三个主要部分
1)1.实体集:
在E-R图中用长方形来表示实体集,实体是实体集的成员。
2)联系:
在E-R图中用菱形来表示联系,联系与其涉及的实体集之间以直线连接,并在直线端部标上联系的种类,(1:
1,1:
N,M:
N)。
3)属性:
在E-R图中用椭圆形来表示实体集和联系的属性,对于主键码的属性,在属性名下划一横线。
8.绘制E-R图所需的图形
1)长方形框----实体集(考虑问题的对象)
2)菱形框----联系(实体集间联系)
3)椭圆形框----实体集和联系的属性
4)直线----连接相关的联系和实体,并可标上联系的种类
9.E-R图设计原则:
真实性;避免冗余;简单性
10.三大范式
第一范式:
在关系模型中的每一个具体关系R中,如果每个属性都是不可再分的,则称关系(R)属于第一范式(1NF)
第二范式:
如果关系模式R属于第一范式,且每一个非主属性都完全依赖于主码,则称关系R是属于第二范式的
第三范式:
如果关系模式R为2NF,并且R中的每个非主属性不传递依赖于R的主码,则称关系R是属于第三范式的
若要求分解保持函数依赖,那么模式分解一定能够达到BCNF
第二章数据库的安装
1.常见的数据库类型:
Access、SQLserver2000、2005、2008,Oracle数据库等
2.数据库管理员的工作是:
配置数据库服务器环境;管理数据库的逻辑对象结构;配置数据库的对象权限;制定数据库的性能优化策略;数据库的备份还原策略;数据库的异构协同结构
3.SQLServer2008的版本
Express适用于无连接的客户端或独立应用程序
Workgroup适用于工作组或分支机构操作的数据库
Standard部门级应用程序的数据库服务器
Enterprise高度可伸缩和高度可用的企业级数据库
DeveloperEnterprise版,但是只授予开发和测试用许可
Web供托管公司提供低成本、高伸缩的托管服务,只收取低廉的每月许可费
Mobile用于智能手持式设备的精简数据库
12.掌握SQLServer2008数据库的安装与卸载
不同的数据库之间若想互相使用数据可以采取导入导出的方式进行
希望完全安装SQLServer2008,则应选择典型安装
第三章数据库的管理
1.T-SQL语言分类
DDL(数据定义语言)
-create(创建)
-alter(修改)
-drop(删除)
DQL(数据查询语言)
-select(查询)
DML(数据操作语言)
-insert(插入)
-update(更新)
-delete(删除)
DCL(数据控制语言)
-revoke(撤销)
-deny(拒绝)
-grant(同意、授权)
master数据库,记录所有系统级信息,记录其他所有数据库的信息的系统数据库
model数据库创建其他所有数据库的模板的系统数据库
msdb数据库与sqlserver代理,与计划任务和作业等相关的系统数据库
tempdb数据库存储数据库运行时的临时的信息的系统数据库
2.数据库文件
主数据文件(.mdf):
一个数据库有且只有一个
辅助数据文件(.ndf):
根据需要自由选择,当数据库很大时,可以选择多个
日志文件(.ldf):
用于存储恢复数据库所需的事务日志信息
数据库数据文件结构中,最小的存储单位是页
数据库数据文件结构中,管理空间的基本单位是区
SQLSERVER数据库中,每个表最多有1024个列
标识表中唯一的实体是主键
为数据表创建索引的目的是提高查询的检索性能
存储过程是一组预先定义并(编译)的Transact-SQL语句
3.掌握数据库的创建及修改(图形化及代码)
修改数据库包括:
扩展、收缩、分离附加、删除
4.语法
1)修改数据库名
Alterdatabase原数据库名
Modifyname=新数据库名
例子:
【例】将数据库book的名字改为books
alterdatabasebook
modifyname=books
2)修改文件属性
Alterdatabase数据库名
Modifyfile
(
name='逻辑名',
size=修改后的大小,
maxsize=修改后的大小,
filegrowth=修改后的大小
)
Go
例子:
把初始大小由原来5mb增大为12mb
alterdatabasebooks
modifyfile
(
name='book_data',
size=12mb
)
go
3)添加日志文件
Alterdatabase数据库名
Addlogfile
(
name=‘逻辑名’,
filename=‘文件的存放路径’,
size=日志文件的初始大小,
maxsize=日志文件的最大大小,
filegrowth=日志文件的增长方式
)
Go
例子:
【例】向shop数据库中添加一个日志文件
alterdatabaseshop
addlogfile
(
name='shop_log2',
filename='c:
\shop_log2.ldf',
size=10mb,maxsize=20mb,
filegrowth=10%
)
go
4)删除空文件
Alterdatabase数据库名
Removefile文件的逻辑名
例子:
删除文件shop_data2alter
databaseshopremove
fileshop_data2
4)添加辅助数据文件
alterdatabase数据库名
addfile
(
name=‘逻辑名’,
filename=‘文件存放的路径’,
size=初始大小,
maxsixe=最大大小,
filegrowth=增长方式
)
Go
例子:
向数据库shop中添加一个辅助数据文件
alterdatabaseshop
addfile
(
name='shop_data3',
filename='c:
\shop_data3.ndf',
size=5mb,
maxsize=10mb,
filegrowth=10%
)
go
5)创建/删除数据库
Createdatabase数据库名
onprimary
(--数据文件name=‘逻辑名’,
filename=‘文件的存放路径’,
size=数据文件的初始大小,
maxsize=数据文件的最大大小,
filegrowth=文件的增长方式)
logon(--日志文件name=‘逻辑名’,
filename=‘文件的存放路径’,
size=数据文件的初始大小,
maxsize=数据文件的最大大小,
filegrowth=文件的增长方式)
go
例子:
创建一个名为book的数据库,其初始值大小为5MB,最大大小为50MB,允许数据库自动增长,增长方式是按10%比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。
createdatabasebook
onprimary
(
name=‘book_data',
filename='c:
\book_data.mdf',
size=5mb,
maxsize=50mb,
filegrowth=10%)
logon
(
name=‘book_Log',
filename='c:
\book_log.ldf',
size=2mb,
maxsize=5mb,
filegrowth=1mb
)
6)删除数据库
Dropdatabase数据库名
例子:
删除数据库shop
dropdatabaseshop
打开或切换数据库的命令是use数据库名
收缩数据库northwind,保留10%的可用空间的命令是DBCCShrinkDatabase('northwind',10)
第四章数据表的操作
1.在SQLserver中创建表的极限:
每个数据库可以有20亿个表,每个表有1024个列,每个列可以有8064字节
2.数据类型
种类
数据类型
数字
整数
int,bigint,smallint,tinyint
精确数值
decimal,numeric
近似数值
float,real
货币
money,smallmoney
日期和时间
datetime,smalldatetime
字符
Non-Unicode
char,varchar,varchar(max),text
Unicode
nchar,nvarchar,nvarchar(max),ntext
二进制
binary,varbinary,varbinary(max)
图像
image
全局标识符
uniqueidentifier
Xml
xml
特殊
bit,cursor,timestamp,sysname,table,sql_variant
3.字符类型
字符、数字、特殊符号
–char():
固定长度,以空格填补多余长度空间
–varchar():
可变长长度,不以空格填补多余长度空间
–nchar():
unicode固定长度
–nvarchar():
unicode可变长长度
–unicode国际标准码:
双字节模式(固定每个字符16bit)
一个汉字占两个字节(16bit)
一个字母占两个字节(16bit)
电话号码应当采用字符格式的数据类型来存储
int数据类型存储占几个字节4
smallint数据类型存储占几个字节2
tinyint数据类型存储占几个字节1
bigint数据类型存储占几个字节8
DECIMAL[p[s]]的形式,p和s代表什么p代表总位数,s代表小数位数
数据类型char每个字符占几个字节1
数据类型nchar每个字符占几个字节2
数据类型varchar每个字符占几个字节1
数据类型nvarchar每个字符占几个字节2
datetime数据类型的范围是表示的是1753年1月1日到9999年12月31日
4.语法:
1)创建表
createtable表名
2)修改表
altertable表名
3)删除表
drop/deletetable表名
4)将查出的信息放入新表
Select*into新表名from旧表名
5)添加的信息必须满足现有表结构
Insertinto现有表select*from旧表名
5.drop和delete、truncate的区别:
drop是删除表,而delete和truncate是删除表中记录
5.数据操作语言DML
select从表或视图中检索数据
insert将数据插入到表或视图中
update修改表或视图中的数据Updategradesetscore=score+5wherescore>=55andscore<=60
delete从表或视图中删除数据deletefrom表名where条件
Deletefromstudentwhere性别='女'
删除student表的命令是droptablestudent
条件“年龄BETWEEN40AND50”表示年龄在40至50之间,且包括40岁和50岁
详解:
模式查找like'_a%',like'_[a-e]%',like‘010[^0]%[A,B,C]%’
SQLServer中自己建立的stuDB数据库属于用户数据库
数据冗余是指存在重复的数据
附加数据库的操作是把已经存在于磁盘上的数据库文件恢复为数据库
创建好数据库接着要创建数据表
主键是用来实施实体完整性约束,一个表只能有一个主键
修改表名为Table1的字段Field1长度,原为Char(10)要求用SQL增加长度为char(20),
AltertableTable1AltercolumnField1char(20)
在employees表中添加一个memo字段,数据类型char(30)的命令是altertableemployees
addmemochar(30)
第五章基础查询
1.select语法结构
基本语法:
select字段名
From目标表
Where条件
【例】查询学生成绩数据库(student_score)学生情况表(Member)中的所有列。
usestudent_score
select*
fromMember
2.Where条件限定语法的用法
基本语法:
use数据库名
Select字段名
From目标名
Where字段名=“内容”
Go
【例】查询Member表中Mname为马德保的相关信息
usestudent_score
select*
fromMember
whereMname='马德保'
go
3.模糊查询like
1)基本语法:
select字段名
From目标名
Where目标名like条件
【例】查找学生姓名以‘刘’开头的所有学生信息
usestudent_score
select*
fromMember
whereMnamelike'刘%'
go
2)%代表所有可能的情况
3)%的使用
%N%表示包含N
N%表示N开头
%N表示N结尾
4)“^’代表不、不是、不以的意思
4.Or/and/not的逻辑运算
【例】将Mname以’刘’开头,或总学分为60,且专业名为网络互连的学生Mname
usestudent_score
selectMname,Mtotalscore,MMajor
fromMemberwhereMnamelike'刘%'orMTotalscore=60
andMMajor='网络互连'
go
5.Between…and在…范围之内
【例】查找总学分为60和70之间的学生所有信息
usestudent_score
select*
fromMember
whereMTotalScorebetween60and70
go
6.In=or或
【例】查找总学分为70和80的所有学生信息
usestudent_score
select
fromMember
whereMtotalscorein('70','80')
-------whereMtotalscorenotin(‘70',‘80')
go
6.Isnull为空的查询
【例】查询所在地区为空的学生姓名
usestudent_score
selectMaera,Mname
fromMember
whereMaeraisnull
go
7.Orderby排序:
asc升序;desc降序
【例】查找学生的总学分以升序排列,出生日期以降序排列的学生姓名和学号
usestudent_score
selectMname,Mbirth,Mtotalscore,MID
fromMember
orderbyMtotalscoreasc,Mbirthdesc
go
8.distinct数据过滤和消除重复记录
【例】查询student_score数据库中Member表中的总学分,但是不能有重复
usestudent_score
selectdistinctMtotalscore
fromMemberorderbyMtotalscore
go
9.Top和top…withties的用法
【例】求学分最高的5位学生的信息,并且返回与第5并列的学生信息
usestudent_score
selecttop5withtiesMID,Mtotalscore
fromMemberorderbyMtotalscore
go
注:
withties必须与orderby连用
10.as取别名
【例】在student_score数据库中的Member表中对Mname取别名为a,专业名为b,并在补一列为性别,并取别名为c
usestudent_score
selectMnameasa,MMajorasb,‘性别’asc
fromMember
go
第六章高级查询
1.联接定义:
根据各个数据库表之间的逻辑关系从二个或多个数据表中检索数据
2.联接分类
内连接:
基本内连接、多表连接、自连接
外连接:
左外连接、右外连接、全外连接
交叉连接
3.左外连接、右外连接、全外连接的含义
leftouterjoin左外连接(join左边的表),结果集中除了包括满足连接条件的行外,还包括左表所有行
rightouterjoin右外连接(join右边的表),结果集中除了包括满足连接条件的行外,还包括右表所有行
fullouterjoin全外连接,结果集中除了包括满足连接条件的行外,还包括两个表的所有行
4.内连接概述
1)用…innerjion…on…语句进行连接
Jion指定需要连接的数据表
On指定连接条件(inner可省略)
【例】查找选修了01课程且成绩在30分以上的学生编号和成绩
usestudent_score
selectM.MID,S.score
fromMemberMjoinScoreS
onM.MID=S.MID
whereCID='01'andscore>=30
go
5.外连接语法:
select字段名1,字段名2…字段n
From表1leftouterjoin表2
from表1rightouterjoin表2
from表1fullouterjoin表2
Go
【例】查找所有学生信息及其考试成绩,若该生未参加任何考试,也列出其信息
usestudent_score
selectM.*,S.CID,S.score
fromScoreSrightjoinMemberM
onM.MID=S.MID
go
6.交叉连接语法:
select字段1,字段2
From表1crossjoin表2
Go
【例】返回Member表和Score表所有可能记录的组合
usestudent_score
selectM.MID,M.Mname,CID,Score
fromMemberMcrossjoinScoreS
go
在WHERE子句中包含一个形如SELECT-FROM-WHERE的查询块,此查询块称为子查询
SQL中消除重复的记录命令是distinct
第七章函数
1.函数:
是一段特殊的程序代码,它能对查询结果进行一定的操作
函数的作用:
就是使用户不必书写太多的程序代码即可完成复杂的操作
2.SQLServer函数类型包括系统函数、字符串函数、日期时间函数、聚合函数等
3.系统函数对SQLServer服务器和数据库对象进行操作,返回服务器配置和数据库对象数值等信息
CURRENT_TIMESTAMP()可返回系统当前日期和时间,类型为datetime
HOST_NAME()返回主机名称
SYSTEM_USER返回当前系统用户
USER_NAME()返回id标识指定的用户名称
db_name()返回当前会话的数据库名称
4.聚合函数功能
1)Sum()计算表达式所有值之和必须是数值,数字类型
【例】求选修01课程的学生的总成绩。
usestudent_score
selectsum(score)as'课程01总成绩'
fromScore
whereCID='01
go
2)Avg()计算表达式的平均值
【例】求选修10课程的学生的平均成绩。
usestudent_score
selectavg(score)as'课程10平均成绩'
fromScore
whereCID='10'
go
3)Count(列名)计算表达式中非空值的数量
【例】求学生的总成绩
usestudent_score
selectcount()as‘学生总成绩’
fromMember
go
4)count(*)计算表达式中所有值的数量
【例】求学生的总人数
usestudent_score
selectcount(*)as‘学生总人数’
fromMember
go
5)Min()计算表达式的最小值
【例】求选修00课程的学生的最低分
usestudent_score
selectmin(score)as'课程00的最低分'
fromScorewhereCID='00'
go
6)Max()计算表达式的最大值
【例】求选修11课程的学生的最高分
usestudent_score
selectmax(score)as'课程11的最高分'
fromScorewhereCID='11'
go
逻辑运算符:
notorand
第八章数据的完整性
1.数据库完整性:
是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 知识点 总结 资料 良心 出品 精品