《数据库知识点总结资料 .docx》由会员分享,可在线阅读,更多相关《数据库知识点总结资料 .docx(45页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品名师归纳总结第一章 数据库基础1 数据库系统:是由数据库及其治理软件组成的系统,常常把数据库有关的硬件和软件系统成为数据库系统 , DBMS的英文全称 DataBase Management System概念模型是指人对现实世界的熟悉,抽象成信息数据模型是指将现实世界转换成运算机能熟悉的信息SQL是英文全称是 Structured Query Language2. 数据库:数据库就是数据的仓库,由表、关系以及操作对象组成3. 数据: 是描述事物的符号记录(数字、文字、图形、图像、声音等)4. 数据库的作用储备大量数据,便利检索和拜访保持数据信息的一样、完整共享和安全通过组合分析,产生新的有
2、用信息5. 数据库经受的三个阶段及特点1) 人工治理阶段 :数据不储存。 使用应用程序治理数据。 数据不共享。数据不具有独立性。2) 文件系统阶段:数据可以长期储存。由文件系统治理数据。共享性差,数据冗余大。数据独立性差。3) 数据库系统阶段: 数据结构化。 数据共享性高。 数据独立性强。 数据粒度小。独立的数据操作界面。统一治理和掌握可编辑资料 - - - 欢迎下载精品名师归纳总结6. 数据模型的分类层次模型网络模型关系模型用二维表结构表达实体集的模型7. E-R 图三个主要部分1) 1. 实体集:在 E-R 图中用长方形来表示实体集,实体是实体集的成员。2) 联系: 在 E-R 图中用菱形
3、来表示联系,联系与其涉及的实体集之间以直线连接, 并在直线端部标上联系的种类 , 1:1,1:N,M:N。3) 属性: 在 E-R 图中用椭圆形来表示实体集和联系的属性,对于主键码的属性, 在属性名下划一横线。8. 绘制 E-R 图所需的图形1) 长方形框实体集(考虑问题的对象)2) 菱形框 -联系 实体集间联系 3) 椭圆形框实体集和联系的属性4) 直线连接相关的联系和实体,并可标上联系的种类9. E-R 图设计原就:真实性。防止冗余。简洁性10. 三大范式第一范式:在关系模型中的每一个详细关系R中,假如每个属性都是不行再分的,就称关系( R)属于第一范式( 1NF)其次范式:假如关系模式
4、R属于第一范式,且每一个非主属性都完可编辑资料 - - - 欢迎下载精品名师归纳总结全依靠于主码,就称关系 R是属于其次范式的第三范式:假如关系模式R为 2NF,并且 R中的每个非主属性不传递依靠于 R的主码,就称关系 R是属于第三范式的如要求分解保持函数依靠,那么模式分解肯定能够达到BCNF其次章 数据库的安装1. 常见的数据库类型: Access、SQLserver2000 、2005、2022,Oracle数据库等2. 数据库治理员的工作是: 配置数据库服务器环境 。治理数据库的规律对象结构。 配置数据库的对象权限 。制定数据库的性能优化策略 。数据库的备份仍原策略。数据库的异构协同结构
5、3. SQL Server 2022的版本Express适用于无连接的客户端或独立应用程序Workgroup适用于工作组或分支机构操作的数据库Standard部门级应用程序的数据库服务器Enterprise高度可伸缩和高度可用的企业级数据库DeveloperEnterprise版,但是只授予开发和测试用许可Web供托管公司供应低成本、 高伸缩的托管服务, 只收取低廉的每月许可费Mobile用于智能手持式设备的精简数据库12. 把握 SQL Server 2022 数据库的安装与卸载不同的数据库之间如想相互使用数据可以实行导入导出的方式进行期望完全安装 SQL Server 2022 ,就应挑选
6、典型安装可编辑资料 - - - 欢迎下载精品名师归纳总结第三章 数据库的治理1.T-SQL 语言分类DDL (数据定义语言)-create (创建)-alter(修改)-drop删除 DQL(数据查询语言)-select(查询)DML(数据操作语言)-insert(插入)-update(更新)-delete删除DCL (数据掌握语言)-revoke撤销-deny拒绝-grant同意、授权 master 数据库,记录全部系统级信息,记录其他全部数据库的信息的系统数据库model 数据库创建其他全部数据库的模板的系统数据库msdb数据库与 sql server代理,与方案任务和作业等相关的系统数据
7、库tempdb 数据库储备数据库运行时的暂时的信息的系统数据库可编辑资料 - - - 欢迎下载精品名师归纳总结2. 数据库文件主数据文件( .mdf ):一个数据库有且只有一个帮助数据文件 .ndf:依据需要自由挑选,当数据库很大时,可以挑选多个日志文件 .ldf:用于储备复原数据库所需的事务日志信息数据库数据文件结构中,最小的储备单位是页数据库数据文件结构中,治理空间的基本单位是区SQL SERVE数R 据库中,每个表最多有 1024 个列标识表中唯独的实体是主键为数据表创建索引的目的是提高查询的检干脆能储备过程是一组预先定义并(编译)的 Transact-SQL 语句3. 把握数据库的创建
8、及修改(图形化及代码)修改数据库包括 : 扩展、收缩、分别附加、删除4. 语法1 )修改数据库名Alter database原数据库名Modify name =新数据库名例子:【例】将数据库 book 的名字改为 books alter database bookmodify name=books可编辑资料 - - - 欢迎下载精品名师归纳总结2 )修改文件属性Alter database数据库名Modify file name=规律名 ,size= 修改后的大小 , maxsize=修改后的大小, filegrowth=修改后的大小Go例子:把初始大小由原先 5mb增大为 12mb alte
9、r database booksmodify file name=book_data,size=12mbgo3 添加日志文件Alter database数据库名Add log file 可编辑资料 - - - 欢迎下载精品名师归纳总结name= 规律名 ,filename =文件的存放路径 , size= 日志文件的初始大小 , maxsize=日志文件的最大大小 , filegrowth=日志文件的增长方式Go例子:【例】向 shop 数据库中添加一个日志文件alter database shopadd log file name=shop_log2, filename =c:shop_lo
10、g2.ldf,size=10mb, maxsize=20mb, filegrowth=10%go4 )删除空文件Alter database数据库名Remove file文件的规律名 例子:删除文件 shop_data2 alterdatabase shop remove可编辑资料 - - - 欢迎下载精品名师归纳总结file shop_data2 4)添加帮助数据文件alter database数据库名add filename=规律名 ,filename= 文件存放的路径 , size= 初始大小,maxsixe= 最大大小 , filegrowth=增长方式Go例子:向数据库 shop 中
11、添加一个帮助数据文件alter database shopadd filename=shop_data3, filename=c:shop_data3.ndf, size=5mb,maxsize=10mb, filegrowth=10%可编辑资料 - - - 欢迎下载精品名师归纳总结go5 )创建/ 删除数据库Create database数据库名on primary-数据文件 name=规律名, filename= 文件的存放路径 , size= 数据文件的初始大小, maxsize=数据文件的最大大小, filegrowth=文件的增长方式 logon-日志文件 name=规律名, fil
12、ename= 文件的存放路径 ,size= 数据文件的初始大小,maxsize=数据文件的最大大小, filegrowth= 文件的增长方式 go例子:创建一个名为 book 的数据库,其初始值大小为 5MB,最大大小为 50MB,答应数据库自动增长,增长方式是按 10%比例增长。日志文件初始 为 2MB,最大可增长到 5MB,按 1MB增长。create database book可编辑资料 - - - 欢迎下载精品名师归纳总结on primary name=book_data,filename=c:book_data.mdf, size=5mb,maxsize=50mb,filegrowt
13、h=10% log onname=book_Log, filename=c:book_log.ldf,size=2mb, maxsize=5mb, filegrowth=1mb6删除数据库Drop database数据库名例子:删除数据库 shopdrop database shop打开或切换数据库的命令是 use 数据库名收缩数据库 northwind ,保留 10%的可用空间的命令是DBCC可编辑资料 - - - 欢迎下载精品名师归纳总结ShrinkDatabasenorthwind,10第四章 数据表的操作1. 在 SQLserver中创建表的极限: 每个数据库可以有 20 亿个表 ,每
14、个表有 1024 个列 , 每个列可以有 8064 字节种类数据类型数字整数int, bigint, smallint,tinyint精确数值decimal, numeric近似数值float, real货币money, smallmoney日期和时间datetime, smalldatetime字符Non-Unicodechar,varchar,varcharmax, textUnicodenchar,nvarchar,nvarcharmax, ntext二进制binary,varbinary,varbinarymax图像image全局标识符uniqueidentifierXmlxml2.
15、数据类型可编辑资料 - - - 欢迎下载精品名师归纳总结特别bit, cursor, timestamp,sysname, table,sql_variant3. 字符类型字符、数字、特别符号 char :固定长度 , 以空格填补余外长度空间 varchar :可变长长度 , 不以空格填补余外长度空间 nchar :unicode固定长度 nvarchar : unicode可变长长度 unicode国际标准码:双字节模式 固定每个字符 16bit一个汉字占两个字节 16bit一个字母占两个字节 16bit电话号码应当采纳字符格式的数据类型来储备int数据类型储备占几个字节4smallint数
16、据类型储备占几个字节2tinyint数据类型储备占几个字节1bigint数据类型储备占几个字节8DECIMAL p s 的形式, p 和 s 代表什么 p 代表总位数, s 代表小数位数数据类型 char 每个字符占几个字节 1数据类型 nchar 每个字符占几个字节 2数据类型 varchar每个字符占几个字节 1可编辑资料 - - - 欢迎下载精品名师归纳总结数据类型 nvarchar 每个字符占几个字节 2datetime数据类型的范畴是表示的是 1753 年 1 月 1 日到 9999 年 12月 31 日4. 语法:1 )创建表create table表名2 )修改表alter ta
17、ble表名3)删除表drop/delete table表名4 将查出的信息放入新表Select * into新表名 from旧表名5)添加的信息必需满意现有表结构Insert into现有表 select * from旧表名5. drop 和 delete 、truncate的区分: drop 是删除表,而 delete和truncate是删除表中记录5.数据操作语言 DMLselect从表或视图中检索数据insert将数据插入到表或视图中update 修改表或视图中的数据Update grade set score=score+5 where score=55 and score=30 go
18、5. 外连接语法:select字段名 1,字段名2字段 nFromfrom表 1 left outer join表 1 right outer join表 2表 2from表 1 full outer join表 2Go【例】查找全部同学信息及其考试成果,如该生未参与任何考试, 也列出其信息use student_score select M.*,S.CID,S.score可编辑资料 - - - 欢迎下载精品名师归纳总结from Score S right join Member M on M.MID=S.MIDgo6. 交叉连接语法: select字段 1,字段 2 From表 1 cros
19、s join表 2 Go【例】返回 Member表和 Score 表全部可能记录的组合use student_scoreselect M.MID,M.Mname,CID,Score from Member M cross join Score S go在 WHER子E 句中包含一个形如 SELECT-FROM-WHE的R查E 询块,此查询块称为子查询SQL中排除重复的记录命令是 distinct第七章 函数1. 函数:是一段特别的程序代码, 它能对查询结果进行肯定的操作函数的作用: 就是使用户不必书写太多的程序代码即可完成复杂的操作2. SQL Server函数类型包括系统函数、字符串函数、日
20、期时间可编辑资料 - - - 欢迎下载精品名师归纳总结函数、聚合函数等3. 系统函数对 SQLServer 服务器和数据库对象进行操作,返回服务器配置和数据库对象数值等信息CURRENT_TIMESTAMP可 返 回系统当前日期和时间,类型为datetimeHOST_NAME 返 回主机名称SYSTEM_USER返回当前系统用户 USER_NAME 返回 id标识指定的用户名称db_name返回当前会话的数据库名称4. 聚合函数功能1) Sum()运算表达式全部值之和必需是数值,数字类型【例】求选修 01 课程的同学的总成果。use student_scoreselect sumscore a
21、s 课程 01 总成果 from Scorewhere CID=01 go2) Avg()运算表达式的平均值【例】求选修 10 课程的同学的平均成果。use student_scoreselect avgscore as 课程 10 平均成果 from Score可编辑资料 - - - 欢迎下载精品名师归纳总结where CID=10 go3) Count 列名运算表达式中非空值的数量【例】求同学的总成果use student_scoreselect count as同学总成果from Member go4) count*运算表达式中全部值的数量【例】求同学的总人数use student_sc
22、oreselect count* as同学总人数from Member go5) Min()运算表达式的最小值【例】求选修 00 课程的同学的最低分use student_scoreselect minscore as 课程 00 的最低分 from Score where CID=00go6) Max()运算表达式的最大值【例】求选修 11 课程的同学的最高分可编辑资料 - - - 欢迎下载精品名师归纳总结use student_scoreselect maxscore as 课程 11 的最高分 from Score where CID=11go规律运算符: not or and第八章 数
23、据的完整性1. 数据库完整性:是指储备在数据库中数据的一样性和标准性2. 数据完整性的类型1) 域(列)完整性:指定对列的一组有效值并打算是否答应有空值。也可以通 过在一列中限定数据类型,格式和可能值的范畴来强制数据完整性。2) 实体(行)完整性:要求表中全部的行具有唯独的标识符,例如主关键字值。3) 参照完整性:确保爱护主关键字和外部关键字的关系3. 约束的概念:确保在列中输入有效的值并爱护表之间的关系。完整性类型约束类型说明域DEFAULT指定列的默认值CHECK指定列的答应值NULL指定是否答应 NULL实体PRIMARY KEY唯独标识每一行4. 约束的类型可编辑资料 - - - 欢迎
24、下载精品名师归纳总结UNIQUE防止非主键重复引用FOREIGN KEY定义值必需与此表的主键匹配的列5. default功能:执行 insert语句时将默认值自动插入约束所在的列语法: alter table表名add constraint约束名default默认值 for字段名 go【例】修改数据库 student_score中的 Menber表, 将性别的默认值设置为男use student_score alter table Member add constraint df_sexdefault男 for Msexgo6. check 功能: check 检查约束 , 每次执行 Ins
25、ert/update语句时, 该约束要校验数据的合法性语法: alter table表名add constraint约束名check 条件可编辑资料 - - - 欢迎下载精品名师归纳总结go【例】 修改数据库 student_score中的 Score 表, 使成果限制在 0 100 之间use student_score alter table Score add constraint ck_cjcheckscore=0 and score=100 go7. primary key功能: primary key主键约束 ,一个表中只有能一个 pk,不能有空值,不能有 重复值。 pk 所在列的
26、值能够唯独标识此行 。能与 fk 关联, pk 所在表为主表。 同时创建一个与 PK约束名的簇索引。语法: alter table表名add constraint约束名primary key字段名 go【例】修改数据库 student_score中的 kc 表, 将课程号设置为主键use student_score alter table Course add constraint pk_kch primary keyCIDgo可编辑资料 - - - 欢迎下载精品名师归纳总结8. Unique 功能: unique 唯独约束 , 指定在同一列中的两行不能有相同的值,只能有一行为 空值,该约束自
27、动创建一个与约束同名的非簇索引 , 在插入/ 修改时自动执行。语法: alter table表名add constraint约束名unique 字段名 go【例】修改数据库 student_score中的 Course 表, 将课程名设置为unique 约束use student_score alter table Courseadd constraint un_kcm uniqueCnamego9. FOREIGN KEY功能: 参照完整性确保爱护主关键字(在主表中) 和外部关键字(在辅表中)的关系。语法: alter table表名 1add constraint约束名foreign ke
28、y字段名 references表名 2 字段名 go可编辑资料 - - - 欢迎下载精品名师归纳总结【例】修改数据库 student_score中的 Score 表, 将课程号设置为外键use student_score alter table Scoreadd constraint fk_kchforeign keyCID references CourseCID go10. 删除约束语法: alter table表名drop constraint约束名【例】 删除 Menber 表的 fk_xh 约束。use student_score alter table Scoredrop cons
29、traint fk_xhgo第九章 视图1. 视图;是从一个或多个表(或视图)导出的虚表。对于数据库用户来说,视图 好像是一个真实的表,它具有一组命名的数据列和行。但是,与真实的表不 同,在视图中没有储备任何数据,仅仅是一种较简洁的拜访数据库里其他表中数据的方式,因此称它为“虚表” 。视图只能建立在当前正在使用的数据库中可编辑资料 - - - 欢迎下载精品名师归纳总结2. 视图的优点聚焦数据,创建可以掌握的环境,将需要的、常规的、适当的数据储备在视图中。隐匿数据库的复杂性 简化对用户的许可治理数据库拥有者只答应用户通过视图查询数据, 爱护了底层基本表的设计结构 提高性能储备复杂查询、分割数据输
30、出数据给其他应用程序3. 视图创建是应留意的情形只能在当前数据库中创建视图。假如视图引用的基表或者视图被删除, 就该视图不能再被使用, 直到创建新 的基表或者视图。假如视图中某一列是函数、 数学表达式、 常量或者来自多个表的列名相同, 就必需为列定义名称。当通过视图查询数据时, SQLServer 要检查以确保语句中涉及的全部数据库 对象存在,而且数据修改语句不能违反数据完整性规章。视图的名称必需遵循标识符的规章,且对每个用户必需是唯独的2. 语法;1) create view视图名创建视图可编辑资料 - - - 欢迎下载精品名师归纳总结【例】创建 v1 视图,包括作者为马德保的书籍ISBN,
31、名称,及单价use book gocreate view v1asselect isbn,bookname,unitprice from bookinfowhere author=马德保 go2) drop view视图名删除视图【例】删除名为 v2 的视图drop view v23) alter view视图名修改视图【例】修改 v1 视图,包括出版社为工业出版社的书籍ISBN, 作者及单价use book goalter view v1 asselect isbn,author,unitprice from bookinfo可编辑资料 - - - 欢迎下载精品名师归纳总结where pub
32、lisher=工业出版社 go4) exec sp_helptext视图名查看视图定义【例】查看视图 v1:exec sp_helptext v15) update视图名更新视图【例】将 v1 视图中书名为“ Windows Server 2022 活动目录”的单价增加 10。use book go update v1set unitprice=unitprice+10where bookname=Windows Server 2022活动目录 go第十章索引1. 建立索引目的 : 是期望提高 SQL Server 数据检索的速度2. 索引的分类集合索引对表进行物理排序的索引是集合索引非集合索引唯独索引3. 建立索引的原就可编辑资料 - - - 欢迎下