数据库知识点总结资料_第1页
数据库知识点总结资料_第2页
数据库知识点总结资料_第3页
数据库知识点总结资料_第4页
数据库知识点总结资料_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一章 数据 库基础1 数据 库 系统:是 由数据库及其管理软件组成 的系统 , 常常把数据库有关的硬件和软件系 统成为 数据库系统,DBMS勺英文全称 DataBase Management System概念模型是指人对现 实世界的认识,抽象成信息数据模型是指将现实 世界转换成计算机能认识勺信息SQL是英文全称是 Structured Query Lan guage2. 数据库 :数据库就是数据勺仓库 ,由表、关 系以及操 作对象组成3. 数据:是描述事物勺符号记录(数字、文字、图形、图像、声 音等)4. 数据库 勺作用存储大 量数据,方便检索和访问保持数 据信息勺一致、完整共享和 安全通过

2、组 合分析,产生新勺有用信 息5. 数据库 经历勺三个阶段及特点1)人工管 理阶段 : 数据不保 存 ;使用应用程序管理数据;数据不共享;数据不具有独立 性。2)文件系 统阶段:数据可以长期保存 ;由文 件 系统管理数据;共享性差,数据冗余大; 数据独 立性差。3)数据库 系统阶段:数据结构化;数 据共享 性 高;数据独立性强;数据粒度小;独立勺 数据操 作界面;统一管理和控制6. 数据模 型勺分类层次模 型网络模 型关系模 型 用二维表结构表达实 体集勺模型7. E-R 图三个 主要部分1)1.实体集:在E-R图中用长方形来表示实体集,实体是实体集的 成员。1)联系:在E-R图中用菱形来表示

3、联系,联系与其涉及的实体集之间以直线连接,并在直线 端部标上联系的种类 , (1:1, 1:N, M:N)。2)属性:在E-R图中用椭圆形来表示实体集和联系的属性,对于主键码的属性,在属性名下 划一横线。8. 绘制E-R图所需的图形1)长方形 框实体集( 考虑问题的对象)2)菱形框 联系(实体 集间联系 )3)椭圆形 框实体集和 联系的属性3)直线连接相关的联系和实体,并可标上联系的种类9. E-R图设计原则:真实性;避免冗余;简单性9.三大范 式第一范式:在关系模型中的每一 个具体关系R中,如果每个属性都是不可再分的,则称关系(R)属于第一范式(1NF)第二范式:如果关系模式 R属于第一范式

4、,且每一个非主属性都完全依赖于主码,则称关系 R 是属于 第二范式的第三范式:如果关系模式 R为2NF,并且R中的每个非主属性不传递依赖于 R的主码,则 称关系 R 是属于 第 三范式的若要求分解保持函数 依赖,那么模式分解一定能够达到 BCNF第二章 数据库 的安装1.常见的 数据库类型: Access、SQLserver2000 、 2005、 2008, Oracle 数 据库等配置的异1. 数据库 管理员的工作是:配置数 据库服务器环境 ;管 理数据库的逻辑对象 结构; 数据库 的对象权限 ;制定数据 库的性能优化策略 ;数据库 的 备份还原策略 ;数据库 构协同 结构2. SQLSe

5、rver 2008 的版本Express 适用于 无连接的客户端或独立应用 程序Workgroup适用 于 工作组或分支机构操作 的数据库Standard部门级 应用程序的数据库服务器Enterprise高度 可伸缩和高度可用的 企业级数据 库DeveloperEnterprise 版,但 是只授予开发和测试用许可Web供托管 公司提供低成本、高伸缩 的托管服务 ,只收取 低廉的每月许可费Mobile用于智 能手持式设备的精简数据库12.掌握 SQLServer 2008数据库的安装与 卸载不同的 数据库之间若想互相使用 数据可以采 取导入导 出的方式进行 希望完全安装 SQL Server

6、2008,则应选择典型安装第三章 数据库 的管理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数据库中,每个表最多有 1024个列标识表中唯一的实体 是主键 为数据表创建索引的 目的是提高查询的检索性能 存储过程是一组预先 定义并(编译 )的 Transact-SQL

8、语句3. 掌握数据库的创建及修改(图形化及代码) 修改数 据库包括 : 扩展、收缩、分离附加、删除4. 语法1 )修 改 数据库名Alter database 原数据 库名Modify name =新数 据 库名例子: 【例】将数据库 book 的名字 改 为 booksalter database bookmodify name=books2)修 改文件属性Alter database 数据库 名Modify file(name= 逻辑名 , size= 修改后的大小 , maxsize= 修改后的大 小, filegrowth= 修改后的大小)Go例子:把初始大小由原来 5mb增大为12m

9、balter database booksmodify file( name=book_data, size=12mb ) go3)添 加日志文件Alter database 数据库 名Add log file( name= 逻辑 名 , filename = 文件的存放路径 , size= 日志文件的初始大小 , maxsize= 日志文件的 最大大 小, filegrowth= 日志文件的增长方式Go例子: 【例】向 shop 数据库中 添加一个日志文件 alter database shop add log file( name=shop_log2, filename =c:shop_l

10、og2.ldf, size=10mb, maxsize=20mb, filegrowth=10%)go4) 删 除空文件Alter database 数据库 名Remove file 文件的 逻辑名例子 : 删 除文件 shop_data2 alterdatabase shop removefile shop_data24) 添 加辅助数据文件alter database 数据库 名add file(n ame=逻辑名,filename= 文件存放 的路径 , size= 初始大小, maxsixe= 最大大小 , filegrowth= 增长方式)Go例子: 向数据库 shop 中添加一 个

11、辅助数据文件alter database shopadd file(name=shop_data3, filename=c:shop_data3.ndf, size=5mb,maxsize=10mb, filegrowth=10%)go5) 创 建/删除数据库Create database 数据库 名- 数据 文件on primary(name=逻辑名 , filename= 文件的存 放路径 , size= 数据文件的初始大小, maxsize= 数据文件的 最大大 小 , filegrowth= 文件的增长方式 )log on (- 日志 文件name=逻辑名 ,filename= 文件的

12、存 放路径 , size= 数据文件的初始大小, maxsize= 数据文件的 最大大 小 , filegrowth= 文件的增长方式 ) go例子:创建一个名为book的数据库,其初始值大小为 5MB最大大小为50MB允许 数据库自动增长,增长方式是按 10%比例增长;日志文件初始为2MB最大可增长到5MB按1MB增长。create database bookon primary(name=book_data,filename=c:book_data.mdf,size=5mb, maxsize=50mb,filegrowth=10% )log on(name=book_Log,filenam

13、e=c:book_log.ldf,size=2mb, maxsize=5mb,filegrowth=1mb)6) 删 除数据库Drop database 数据库 名例子: 删除数据库 shopdrop database shop打开或切换数据库的 命令是 use 数据库名 收缩数据库 northwind ,保 留 10%的可用空间的 命令是 DBCCShrinkDatabase(northwind,10)第四章 数据表 的操作1. 在SQL server中创建表 的极限:每个数据库可以有20亿个表,每个表有1024个列,每个列 可以有 8064字节2. 数据类 型种类数据类型数字整数int,

14、big int, small int, tinyint精确数值decimal, nu meric近似数值float, real货币mon ey, smallm oney日期和时间datetime, smalldatetime字符Non-Uni codechar,varchar,varchar(max), textUn icoden char, nvarchar, nvarchar(max), n text二进制bin ary,varb in ary,varb in ary(max)图像image全局标识符uniq ueide ntifierXmlxml特殊bit,cursor,timestam

15、p,sys name, table, sql varia nt3.字符类型字符、数字、特殊符号-char():固定长度,以空格填补多余长度空间可变-varchar():长长度,不以空格填补多余长度空间-n char( ):uni code 固定长度-n varchar() : uni code 可变长长度-unicode国际标准码:双字节模式(固定每个字符16bit)一个汉 字占两个字节(16bit)一个字 母占两个字节(16bit)电话号码应当采用字 符格式的数据类型来存储int数据类型存储占几个字节 4smallint数据类型存 储占几个字节 2tin yi nt数据类型存储占几个字节1b

16、igint数据类型存储占几个字节 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 table 表名3) 删除表drop/delete table 表名4) 将查出的信息放入新表Select * into 新 表名 from 旧表名5) 添 加的信息必须

17、满足现有表结构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=30go5. 外连接语法:select字段名1,字段名2字段nFrom 表 1 left outer join 表 2fro

18、m 表 1 right outer join 表 2from 表 1 full outer join 表 2Go【例】 查找所有学生信息及其考 试成绩,若 该生未参 加任何考试,也列出其信息use student_scoreselect M.*,S.CID,S.scorefrom Score S right join Member Mon M.MID=S.MIDgo6. 交 叉连接语法: select 字段 1 ,字段 2From 表 1 cross join 表 2Go【例】 返回Member表和Score表所有可能记录的组合use student_scoreselect M.MID,M.M

19、name,CID,Scorefrom Member M cross join Score Sgo在WHERE?句中包含一个形如SELECT-FROM-WHER的査询块,此查询块称为 子查询SQL中消除重复的记录命令是dist in ct第七 章 函数1. 函数: 是一段特殊的程序代码, 它能对查询 结果进行 一定的操作 函数 的作用:就是使用户不必书 写太多的程 序代码即 可完成复杂的操作2. SQLServer 函数类型 包括系统函数、字符串函数、 日期时间 函数、聚合函数等3. 系统函 数对 SQL Server 服务器 和数据库对象进行操 作,返 回服务器配置和数据库对 象数值 等信息C

20、URRENT_TIMESTAMP) (可返回系统当前日期和时间 ,类型为 datetime HOST_NAME() 返 回 主机名称SYSTEM_USE返回当前系统用户USER_NAME)( 返回 id 标识指定的 用户名称 db_name() 返回当前会 话的数 据 库名称4. 聚 合函数功能1) Sum()计算表 达式所有值之和必须是数值, 数字类型【例】 求选修 01 课 程的学生的总成绩。use student_scoreselect sum(score) as 课程 01 总成绩 from Scorewhere CID=01go2) Avg()计算表 达式的平均值【例】 求选修 10

21、 课 程 的学生的平均成绩。use student_scoreselect avg(score) as 课程 10 平均成 绩 from Scorewhere CID=10go3) Count(列名)计算表达式中非空值的数量【例】 求学生的总成绩use student_scoreselect count() as 学生总成绩from Membergo4) count(*) 计算表 达式中所有值的数量【例】 求学生的总人数use student_scoreselect count(*) as 学生总人数from Membergo5) Min()计算表 达式的最小值 【例】 求选修 00 课程的学

22、生的最低分use student_scoreselect min(score) as 课程 00 的最低 分from Score where CID=00go6) Max()计算表 达式的最大值 【例】 求选修 11 课程的学生的最高分use student_scoreselect max(score) as 课程 11 的最高 分from Score where CID=11 go逻辑运算符:not or and第八章数据的完整性1. 数据库完整性:是指存储在数据库中数据的一致性和标准性2. 数据完整性的类型1)域(列)完整性:指定对列的一 组有效值并决定是否允许有空值。也可以通过在列中限定

23、数据类型,格式和可能 值的范围来强制数据完整性。1)实体(行)完整性:要求表中所 有的行具有唯一的标识符,例如主关键字值。2)参照完整性:确保维持主关键字 和外部关键字的关系3.约束的概念:确保在列中输入有效的值并维护表之间的关系。3.约束的类型完整性类型约束类型说明域DEFAULT指定列的默认值CHECK指定列的允许值NULL指定是否允许NULL实体PRIMARYKEY唯一标识每一行UNIQUE防止非主键重复引用FOREIGNKEY定义值必须与此表的主键匹配的列5. default功能:执行insert语句时将默认值自动插入约束所在的列语法:alter table 表名add constra

24、int约束名default( 默认值)for 字段名go【例】修改数据库student_score中的Menber表,将性别的默认值设置为男use student_scorealter table Memberadd constraintdf_sexdefault。男)for Msexgo6. check功能:check(检查约束),每次执行Insert/update 语句时,该约束要校验数据的 合法性语法:alter table 表名add constraint约束名check(条件)go【例】修改数据库student_score中的Score表,使成绩限制在0100之间use studen

25、t_score alter table Score add con stra int ck_cj check(score=0 and score,=,=,=,!=,!,!逻辑运算符: all,and,any,between,existsn,like,not,or,some字符串 串联运算符 : +按位运算符:&, |,人,4. 流程控 制1) beginend:定义语 句块。2) goto label 从 label 所定义的 label 之后的语句处继续进行处理。3) ifelse定义条件以及当一个条件为FALSE时的操作。4) while当特定条件为TRUE时重复语句。5) waitfor

26、 为语句的执行设置延迟第十 三章 触发器1. 触发器 : 是一种特殊的 存储过程,它被分配给某个 特定的 表,触发器都是自动 调用的 。当一特 定的表数据被插入、更新 或删除时, 数据库需 要执行一定的 动作 , 触发器是确保数据完整 性和一致性的基本有效的 方法2. 触发器 的动作DeleteUpdateInsert3. 触发器的作用禁止无 效的修改级联修 改相关表格执行较 为复杂的约束操作4. 触 发器特点不接受 用户参数 , 也不返回用户参数 ; 存储在表上。数据库 中跨越相关表的级联修改 。对数据库 中的相关 表进行级联更新 和删除强制比Check约束更复杂 的数据完整性.可以引用其他

27、表中的列5.语法:1) Create trigger 触发器 名 创建触发器【例】对于student_score 数据库,如果在Member表中删除数据,则在 执行时显示提示 信息。use student_scoregocreate trigger tr_deleteon Memberfor deleteasprint 你已 经 删除了此数据! go2) alter trigger 触发器 名 修改触 发器【例】在Member表中定义 触发器,当修改纪录时弹出消息:恭喜!你修改了此表!use student_scoregoalter trigger tr_deleteon Memberfor

28、deleteasprint 恭喜 ! 你修改了此表!go3) disabletrigger 触发器 名 禁用触 发器【例】 禁用 tr_update 触发器use student_scoregoalter table Memberdisable trigger tr_updatego4) enable trigger 触发器 名 启用 触发器【例】 启用 tr_insert 触发器use student_scoregoalter table Memberenable trigger tr_insertgo5) drop trigger 触发器 名 删除触 发器【例】 删除名为 tr_inser

29、t 的 触发器drop trigger tr_insertSQL Server数据库中发生数据操作语言(DML)事件时将触发哪种触发器DML触发器DML触发器使用哪两个逻辑表deleted 和inserted创建DML触发器的命令是create trigger用于查看触发器的一 般信息的系统存储过程是 sp_help用于查看触发器的正文信息的系统存储过程是 sp_helptext 用于修改触发器的名字系统存储过程是sp_re name用于删除触发器的命令是drop trigger第十四章数据库安全1. SQL Server 2008 的安全性管理可分为3个等级:1)操作系统级2)SQL Ser

30、ver 级3)数据库级2. SQL Server登录认证简 介;Windows和SQL Server身份验证Windows身份验证SQL Server身份验证当用户登陆到 Windows域时,用户名和密 码在被 传送到 Windows域控制器 之前被加 密Windows操作系统从不验证用户支持复杂加密、密码的截止日期 和最短长 度等密码策略支持密码策略(Sql2000不支持)支持帐户锁定策略,在使用无效 密码进行 多次尝试后锁定帐户不支持帐户锁定功能在 Windows98/me中不能使用在 Windows98/me中可以使用3数据库安全通过以下三种方式实施:帐户管理:添加和删除数据库用户,便于

31、访问数据库。权限管理:指定用户能够对哪些数据库对象执行哪种操作。角色管理:将具有相同权限的用户设置为同一角色,减少权限设置的工作量SQL Server 2008采用的身份验证模式有 Windows身份验证模式和混合模式第十五章数据库灾难性恢复1. 备份和恢复的必要性数据库中的数据丢失或被破坏的原因:计算机硬件故障、软件故障、病毒、误操作、自然灾害、盗窃2. 备份类型完全备份(Database Full Backups) 特点:1 )速度慢、时间长;2 )占用大量的 磁盘空间;3)完全备份的频率通常比差异备份或事务日志备份低事务日志备份(TransactionLog Backups)特点:1 )

32、速度快、时间少2)占用磁盘空间少3)操作复杂差异备份(DifferentialDatabase Backups)特点:1) 速度一般、时间短2 ) 占用磁盘空间少3)需要经常备份3.恢复模式恢复模式描述简单恢复模式数据库的完整或差异副本,截断 事务日志完整恢复模式包括数据库备份和事务日志备份大容量日志恢复包括数据库和事务日志备份,但使用较少的 日志空间4. 当选择恢复模式时,必须考虑原 贝1)大规模操作的性能(如大容量装 载)2)数据丢失表现(如已提交的事务 丢失)3)事务日志空间损耗4)备份和恢复过程的简化5. 备份还原的方法完整备份和还原完整+差异备份与还原完整+事务日志备份与还原6. 创

33、建备份设备:物理和逻辑7. 语法:1 )创建数据库备份完全备份backup database 数据库名to永久设备逻辑名 with init /noinit-init表示重写-n oi nit表示追加(默认)【例】把book数据库完全备份到backup_book设备里backup database book to backup_book with noin it差异备份backup database 数据库名to 永久备 份设备逻辑名 with differential 【例】追加book数据库的差异备份到backup_book设备里backup database book to backup

34、_book with differential, noinit 日志备份backup log 数据库名to 永久备份设备逻辑名 with init/noinit【例】追加book数据库的日志备份到backup_book设备里backup log book to backup_book with noin it2)备份到临时设备backup database 数据库名to disk=物理路径【例】备份book数据库到临时设备book_backup.bak里backup database book to disk= c: book_backup.bak 6)恢复数据库restore database数据库名from永久备份设备逻辑名【例】先把book数据库备完全份到book_full设备里,再恢复数据库.backup databse book to book_fullrestore database book from book_fullrestore log数据库名from 永久备份设备逻辑名【例】恢复book_backup里的日志备份内容restore log book from book_backuprestore database数据库名

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论