一、 数据库基础
1. 使用数据库的好处:
数据按照固定的结构化的形式统一存放在一起,可以进行有效的检索和访问,并可以对数据集中进行控制;
可以减少数据的冗余度,只包含较少的重复数据,能够有效的保持数据的一致性和完整性;
实现数据共享和并发控制,数据可以被多个用户使用,可以同时存取数据库中的数据,可以通过不同程序设计语言来访问数据库,并在他们同时访问数据库的时候,互相之间不受影响;
有助于维护数据的独立性,数据的存储形式和逻辑结构的变化尽可能不导致对应用程序的修改;
加强对数据的保护,保证数据的完整性、有效性和一致性,对数据进行保密性控制以防止数据被非法使用,并提适当的数据恢复能力;
2. SQL:结构化查询语言,用来和数据库系统交互,以数据库能理解、分析和执行的形式来对数据做出处理;SQL具有国际标准;
3. 数据库技术的发展历史:
数据库技术提出时间:20世纪60年代;
时代背景:数据库技术没有提出时使用的是数据文件存放数据;该方式的不足:第一:不能对数据进行有效的统一管理;第二:不利于提供对数据的并发访问,无法充分发挥计算机系统的资源使用效率,也无法提供可靠的安全保证;
数据库技术基本思想:解决用户数据共享的问题,实现对数据的集中统一管理,具有较高的数据独立性,并为数据提供各种保护措施;
1964年,美国通用电气公司开发成功了世界上第一个数据库系统IDS(Integrated Data Store) – 奠定了网状数据库的基础;
1969年,美国国际商用机器公司(IBM)推出第一个层次数据库系统IMS Information Management System ;
关系型数据库的设计基础奠定:IBM 公司的E.F.Codd从1970年至1974年发表一系列的有关关系型模型的论文;
世界范围内的主流应用:关系型数据库-例如:Oracle .SQL Server ,DB2,Sybase ,Informix;
4. 常见数据库系统简介:
SQL Server:关系数据库;
a) 使用语言:T-SQL:不仅是一种查询语言,还是一种设计用于和关系数据库系统进行交互的编程语言;T-SQL 采用的是一种复杂的、功能全面的语法,能有效的实现数据访问;
b) 运行环境:Windows 平台;
Oracle : 对象-关系型数据库,不是纯关系型数据库;
a) 使用语言:PL/SQL;
b) 运行环境:多种操作系统;
MySQL : 关系型数据库
a) 运行环境:多平台
b) 特点:小型数据应用领域有很大的用户,结构简单,部署方便;
二、 第二章 使用SQL Server Management Studio管理数据库
1. 文件和文件组:事务日志文件不属于任何文件组;
数据库存放数据方式:数据库存放数据,数据库以文件的形式存放在计算机硬盘中;
数据库文件:存放数据库数据和数据库对象的文件,一个数据库可以有一个或多个数据库文件,一个数据库文件只属于一个数据库;
a) 主数据库文件:mdf,用来存储数据库的启动信息和部分或全部数据;一个数据库只能有一个主数据库文件;
b) 次数据库文件:ndf,用来存储主文件没有存储的其它数据;
采用多个数据库文件存储数据的优点:
a) 数据库文件可以不断的扩充而不受操作系统文件大小的限制;
b) 可以将数据库文件存储在不同的硬盘中,这样可以同时对几个硬盘做数据存取,提高数据处理效率;
2. 数据完整性:指数据的精确性和可靠性;
实体完整性:指表中行的完整性;要求表中所有行都有唯一的标识符,也称为主关键字;
域完整性:表中的数据是合法的数据;
引用完整性:某列的值必须与其他列的值匹配;
3. 约束:
主键:满足实体完整性,设定主键约束;主键是指能够唯一标识表中一条记录的键;
检查约束:为了保证域的完整性;
外键:确保数据完整性,也能表现表之间的关系;
a) 特点:外键在定义外键的表(外键表)和外键引用的表(主键表)之间创建依赖关系,添加外键约束后,外键表的记录或者必须与主键表中被引用列的某个记录匹配,或者外键列的值为空;references 主键表(列)
b) 只有表的主键列或唯一列才能被其他表引用;
默认约束:为表中的某列添加默认值;
标识列:在没有主键的情况下使用标识列,由系统生成;
列值是否允许为空:设置某列是否允许为空;
唯一约束:用于指定一个或者多个列的组合具有唯一性,防止重复;
三、 第三章 查询分析器--数据库管理
1. SQL和T-SQL:
SQL:数据库的指令,执行对应操作为程序提供数据;
a) 时间:1974年,Boyce和Chamberlin 提出;
b) 用途:SQL语言已成为关系型数据库的标准语言;
T-SQL:Transact-SQL:标准SQL的加强版,除了基本的SQL命令之外还做了许多的补充,如:变量说明、流程控制、功能函数;
a) 用途:T-SQL 为.NET 语言;
2. 数据库管理:
创建数据库:
a) 简写:create database 库名
删除数据库:drop database 库名
3. 数据库表的管理:
创建表:create table 表名(id int primary key identity(1,1),name varchar(10) not null)
删除表:drop table 表名
管理约束:
a) 主键约束:primary key constraint
b) 唯一约束:unique constraint
c) 检查约束:check constraint
d) 默认约束:default onstraint
e) 外键约束:foreign key constraint
添加约束:
a) 语法:alter table 表名 add constraint 约束名 约束类型 具体约束说明
b) 例如:alter table t_user add constraint PK_ID primary key(ID)
c) 例如:alter table t_user add constraint UN_NAME unique (name)
d) 例如:alter table t_user add constraint DF_SEX default(1) for sex
e) 例如:alter table t_user add constraint CK_AGE check(age>10 and age<20)
f) 例如:alter table t_user add constraint FK_ID foreign key(ID) references student(ID)
四、 第四章 SQLServer 数据库管理
1. T-SQL 语言的组成:
数据定义语言(DDL Data Definition Language)
a) 用来建立数据库,数据库表和定义其列;
b) 如:create table , create database 等;
数据操控语言(DML ,Data Manipulation Language )
a) 用途:用来操作数据库中数据的命令;
b) 例子:select ,updata ,insert,delete等
数据控制语言(DCL, Data Control Language)
a) 用来控制数据库组件的存取许可,存取权限等命令;
b) 如:GRANT 、REVOKE等;
流程控制语言 (FCL, Flow Control Language)
a) 用于设计应用程序的语句;
b) IF WHILE CASE 等;
补充:T-SQL 还有变量说明,内嵌函数等命令;
2. T-SQL 条件表达式和逻辑运算符
T-SQL 中的表达式是由:符号和运算符组成;
简单表达式:可以是一个常量、变量、列或者函数组成,然后用逻辑运算符把两个或多个简单表达式连接成复杂表达式;
条件表达式:
a) 比较运算符:= 、>、>=、<、<=、!= 等
b) 逻辑运算符:and 、or、 not
c) 算术运算符:+ 、-、 *、 /
3. 数据库操控语言(DML):
Select 语句:select <列名> from 表名 where 条件表达式
Insert 语句:insert into 表名[列名] values(值)
Update 语句:update 表名 set 列1=更新值,列2=更新值 where 条件表达式
Delete 语句:delete from 表名 where 条件表达式
Truncate 语句:删除表中的记录
a) Truncate table 表名
插入多行数据:select …into…语句
a) 该语句用于把查询的结果存放到一个新表中(不存在的表);
b) Into 后面直接跟上新建的表名称;
c) 注意:使用select ..into…向表中添加数据时,这个表必须是原数据库中不存在的新表,否则会出错;
d) 例如:select * into table2 from table1 where id=2
一次插入多行:insert into …select….语句:
a) 语法:insert into 表名[列名列表] select 语句
b) 例如:insert into table2(name,age) select name ,age from table1
五、 第五章 数据查询
1. 查询分为两大类:一类是用于数据检索的选择查询(select query),另一类是用于更新的行为查询(Action query);
2. 数据查询 概述:
任何一种SQL语言中,SELECT 语句都是一个使用频率最高的查询语言;
SQL Server 中:SELECT 语句是一个最基本和最重要的语句,功能是执行一个选择查询,查询的数据源可以是一个货多个表或视图;
SELECT 用途:
a) 选择查询;
b) 对记录排序;
c) 对字段汇总计算;
d) 用检索到的记录创建新表;
设置字段别名:显示选择查询的结果时,表头第一行显示的是各个输出字段的名称;
a) 例如:SELECT ID AS 学号,姓名=name,sex 性别 from t_user
字段的计算:(用法与语言中一般字符拼接类似)
a) 例如:select name+”-”+sex as 姓名-性别 from t_user
使用关键字限制记录行数:
a) All :返回全部记录
b) Distinct::过滤重复记录;select distinct id from t_user
c) Top :显示前面若干条记录:select top 4 * from t_user //select top 40 percent * from t_user 获取40%条记录;
对查询记录的选择与处理:
a) 对查询的结果进行筛选:
使用where 语句: > >= = < <= <> !> !<
范围表达式:between….and…/// not between ….and ……select * from t_user id between 2 and 4
列表运算符(判断表达式是否为列表中的指定项):in(项1,项2) IN关键字可以选择与列表中的任意值匹配的行; not in(value1,value2,value3)
空值判断符:判断表达式是否为空
i. Is null
ii. Is not null
逻辑运算符:用于多条件的逻辑连接
i. Not
ii. And
iii. Or
模式匹配符:判断值是否与指定的字符通配格式相符:
i. Like
ii. Not like
iii. LIKE 关键字搜索与指定模式匹配的字符串、日期或时间值;
几种通配符的介绍:
通配符 含义
% 包含零或更多字符的任意字符串
_ 任何单个字符
[] 指定范围:[a-f] 或[abcdef] [1,2,3,5] 内的任何单个字符
[^] 不在指定的范围:[^a-f]内的任何单个字符
b) 对查询的结果排序:
使用ORDER BY 子句:在order by 子句中可以使用一个或多个排序要求,优先级次序从左到右;使用asc 和desc 规定排序的方式:asc 升序 desc:降序; null 值被默认的为最小的值;
例如:select * from t_User where name=’xiao’ order by age desc,id asc
c) 对查询结果计算:
使用sum函数计算字段的累加和:sum函数用于统计数值型字段的综合,它只能用于数值型字段,而且null值将被忽略; select sum(age) from t_user
使用avg 函数计算字段的平均值:avg函数用于计算一个数值型字段的平均值,null值在计算过程中忽略;
使用max 和 min 函数计算字段的最大值和最小值:
使用count 函数用于统计字段中选取的项数或查询输出记录行数;
d) 对查询结果进行分组:
使用group by 子句:将结果集内的记录分成若干个组来输出,每个组中记录的记录在指定的字段中具有相同的值;
i. 注意:当指定group by 时,字段列表中任一非聚合表达式内的所有字段都应包含在GROUP BY 列表中,或者group by 表达式必须与字段列表表达式完全匹配;
ii. 分组表达式是执行分组时所依据的一个表达式,通常是一个字段名。在字段列表中指定的字段别名不能作为分组表达式来使用;另外,text ,ntext ,image 以及bit数据类型的字段也不能在分组表达式中;
使用having 子句:having 子句用于指定组或聚合的搜索条件,该子句通常与group by 子句一起使用,如果不使用group by 子句,则having 子句的行为与where 子句一样;不同的是,where 子句搜索条件在进行分组操作之前应用,而having 搜索条件在进行分组操作之后应用;
i. 特点:having 子句可以包含聚合函数;
ii. Having 子句可以引用字段表中出现的任意项;
iii. Having 是运算聚合后的数据进行条件筛选;
iv. 例如:统计平均成绩大于75分的科目
Select subject ,avg(score) from t_user group by subject having avg(score)>75
六、 第六章 联接查询
1. 内部联接查询:联接查询实际上是通过各个表之间共同列的关联性来查询数据的,它是关系型数据库的主要特征;
内部联接基本语法:select 列 from 表1inner join 表2 on 条件表达式
带条件的内部联接:select 列 from 表1inner join 表2 on 条件表达式 where 条件表达式
Inner join—类似where子句:使用where实现内部联接查询:select 列 from 表1,表2 where 条件表达式
更复杂的链接查询:select 字段列表 from 表1 inner join 表2 on 条件表达式1 inner join 表3 on 条件表达式2…..
2. 外部联接查询:分为左外部联接和右外部联接两种。以主表所在的方向区分外部联接,主表在join的左边,则称为左外部联接,反之..;
外部联接语法:select 字段列表 from 表1 <left/right>[outer] join 表2 on 条件表达式
3. 使用union 和 union all 进行并集运算:对两组查询进行并集运算
Union 是一个特殊的运算符,用于将两个或两个以上的查询产生一个结果集;;
联合并不是真正的联接,作用更像是将一个查询返回的数据附加到另一个查询结果的末尾;join 将信息水平连接,而union 将数据垂直连接;
使用union注意事项:
a) 两个查询select 必须有相同的列数;
b) 查询中对应列的数据类型必须隐士一致;
c) Union 查询默认返回选项为:distinct ,如需返回所有则使用:union all
4. 使用intersect 进行交集运算:将两个结果集中相同记录取出来形成一个新的集合;
5. 使用EXCEPT 进行减集运算:比较两个结果集,将except 关键字前的结果集除去交集部分而组成的新的集合;
注意:减集的最后获得的结果与2个结果集放的顺序有密切的关系;
6. 提示:联接不仅可以在表之间进行,也可以使一个表同其自身进行联接,这种联接称为自联接,相应的查询称为自联接查询;
分享到:
相关推荐
22级sqlserver开发复习大纲.sql
SQL Server复习提纲主要涵盖数据库操作和表操作两大核心主题,这对于理解和掌握SQL Server 2005的使用至关重要。下面我们将详细探讨这些知识点。 **一、数据库操作** 1. **创建数据库** 使用`CREATE DATABASE`...
总结,本复习大纲涵盖了数据库的基础概念、SQL Server 数据库的管理、数据完整性、SQL 语言的组成、数据类型以及系统数据库的介绍。通过学习这些知识点,可以有效地管理和操作 SQL Server 数据库,保证数据的准确性...
根据提供的文件信息,我们可以推断出这是一本关于SQL Server 2008管理的专业书籍,作者是Tom Carpenter,该书旨在为读者提供MCITP认证考试(Microsoft Certified IT Professional,微软认证IT专家)以及实际工作中所...
70-764考试是关于SQL Server 2016的数据库基础设施管理,这是一个专业的考试,证明考生能够管理和维护SQL Server 2016数据库。 2. 学习材料的合法使用:通过合法渠道获取的学习材料,不仅有助于遵守法律规定,也...
【数据库复习提纲】 在IT领域,数据库是管理和存储数据的核心工具,而Oracle数据库和SQL Server 2005则是两种广泛使用的商业数据库系统。本文将深入探讨它们之间的主要区别,帮助你更好地理解和掌握数据库的相关...
本资源摘要信息涵盖了互联网基础知识点的总结,包括互联网的发展历史、计算机网络的分类、Internet 的结构、协议、安全配置、流媒体、恶意程序、 URL、HTML、PASV、MPEG、FTP、WEB、SMTP、SQL SERVER 等重要概念。...
数据库管理员认证考试复习提纲涵盖了数据库管理的多个核心领域,旨在帮助考生全面掌握数据库管理的基本知识和技能。以下是对这些知识点的详细说明: 一、数据库基础知识 1. 数据模型分为三种主要类型:层次模型、...
4. SQL SERVER复习大纲:"SQL SERVER 复习大纲.docx"可能详细列出了SQL Server数据库管理系统的学习要点,包括其安装配置、安全性、备份恢复、性能优化等实战技能。SQL Server作为一款广泛使用的数据库系统,掌握其...
【数据库新技术复习大纲】 在国科大的这门课程中,主要涵盖了关系数据库模型与运算、数据库设计与管理系统、分布式数据库和面向对象数据库以及新型数据库等多个重要主题。以下是这些主题的关键知识点: 1. **关系...
"ACCESS数据库学生总复习提纲" 根据提供的文件信息,本文将对 ACCESS 数据库技术及应用进行详细的知识点总结。 数据库系统概论 * 数据库系统的定义、特点和应用 * 数据库系统的三级模式结构:外模式、概念模式和...
1. **.NET Framework数据提供程序**:C#在访问SQL Server数据库时,通常使用SQL Server .NET Framework数据提供程序(System.Data.SqlClient命名空间),它是专门为SQL Server设计的,提供了高效且优化的数据库连接...
数据库管理系统(DBMS)是实现数据库管理功能的软件,常见的有MySQL、Oracle、SQL Server和PostgreSQL等。它们提供事务处理、并发控制、安全性、恢复机制等核心服务。事务是一组原子操作,要么全部完成,要么全部...
复习提纲中提到的知识点主要集中在HTML、ASP.NET、Web服务器交互以及数据访问技术等方面。以下是这些知识点的详细说明: 1. **HTML文档结构**:HTML(HyperText Markup Language)是网页的基础,其基本构造包括`...
在小测复习大纲1中,我们将深入探讨DB的三级模式、数据模型、SQL语言、数据库设计以及数据库保护。 DB的三级模式是为了实现数据独立性而设计的。三级模式包括外模式、模式和内模式。外模式是用户接口,满足用户特定...
数据库系统原理考试题型及复习大纲 数据库系统原理是一门重要的计算机科学课程,对于计算机科学和信息技术专业的学生来说,掌握数据库系统原理是非常必要的。本文档提供了数据库系统原理考试题型及复习大纲,旨在...
"《数据库原理》复习大纲--工业工程.pdf" 《数据库原理》复习大纲是工业工程领域中关于数据库原理和应用的重要知识点总结。本大纲涵盖了数据库系统概述、关系数据库数学模型、数据库应用系统设计方法、SQL2005...
Web程序设计复习提纲主要涵盖了HTML基础、ASP.NET核心概念以及Web开发中的关键知识点。以下是这些内容的详细解析: 1. HTML文档结构:HTML文档的基本结构由`<html>`、`<head>`和`<body>`标签组成。`<form>`标签虽然...
在复习过程中,可以参考《数据库原理与应用教程》这样的教材,结合提供的期末考试试卷、复习大纲、试题库和答案,进行系统性的学习和练习。数据库实验也是加深理解和应用的好方法,通过实际操作来巩固理论知识。 ...