SQL基础培训课件
- 格式:pptx
- 大小:1.79 MB
- 文档页数:28


课程名称:数据库系统设计与项目应用 教师姓名:蒋直泉 教研室:软件技术
教学对象:31104软件班 教材:SQL SERVER 2008基础教程与实验指导
- 1 - 教学内容 教学管理系统需求分析和概念设计
授课时间 第三周 星期一 学时节数 3
教学目的 1、了解数据库系统组成和当前数据库管理应用系统模式;
2、了解数据描述模型,掌握关系数据库中实体-联系方法;
3、掌握数据库设计规范。
4、认识教务管理数据库系统功能组成,实体和联系。
教学内容提要 1、数据库基本概念和数据库管理系统;
2、数据库系统组成及基本用户;
3、ER数据模型:介绍ER方法(实体-联系方法),E-R图的基本组成,实体(Entity)和联系(Relations);
4、数据模型:层次模型、网状模型和关系模型;
5、数据库系统设计概念:需求分析、概念设计、逻辑设计和物理设计;
6、数据库系统设计特点;
7、数据库规范化:第一范式、第二范式及第三范式。
重 点
与
难 点
重点:ER方法,ER图及其基本成分,实体、属性和联系。
难点:数据库设计规范。
更新补充删节内容
教学组织与设计 课程导入
任务01-1 “学分制教学管理系统”需求分析
任务描述;相关知识:数据库系统概念、组成、数据库设计步骤;
任务实现与拓展:开发环境、系统流程、功能。
任务01-2“学分制教学管理系统”概念设计
任务描述;讲解相关知识(实体联系属性);分析设计教务系统实体联系。
采用多媒体课件教学形式,图文结合,联系学生实际,加深学生对E-R方法的感性认识,并结合具体实例进行讲授,激发学生对本课程的兴趣。
小结作业布置
作 业
主任意见
教学实施情况小结 情况良好,学生有反应,但发言不积极。
可能与刚刚开始接触数据库有关,真正适应可能有一个过程。
课程名称:数据库系统设计与项目应用 教师姓名:蒋直泉 教研室:软件技术
教学内容 教学管理系统需求分析和概念设计
授课时间 第三周 星期一 学时节数 3
教学目的 1、了解数据库系统组成和当前数据库管理应用系统模式;
2、了解数据描述模型,掌握关系数据库中实体-联系方法;
3、掌握数据库设计规范。
4、认识教务管理数据库系统功能组成,实体和联系。
教学内容提要 1、数据库基本概念和数据库管理系统;
2、数据库系统组成及基本用户;
3、ER数据模型:介绍ER方法(实体-联系方法),E-R图的基本组成,实体(Entity)和联系(Relations);
4、数据模型:层次模型、网状模型和关系模型;
5、数据库系统设计概念:需求分析、概念设计、逻辑设计和物理设计;
6、数据库系统设计特点;
7、数据库规范化:第一范式、第二范式及第三范式。
重 点
与
难 点
重点:ER方法,ER图及其基本成分,实体、属性和联系。
难点:数据库设计规范。
更新补充删节内容
教学组织与设计 课程导入
任务01-1 “学分制教学管理系统”需求分析
任务描述;相关知识:数据库系统概念、组成、数据库设计步骤;
任务实现与拓展:开发环境、系统流程、功能。
任务01-2“学分制教学管理系统”概念设计
任务描述;讲解相关知识(实体联系属性);分析设计教务系统实体联系。
采用多媒体课件教学形式,图文结合,联系学生实际,加深学生对E-R方法的感性认识,并结合具体实例进行讲授,激发学生对本课程的兴趣。
小结作业布置
作 业
主任意见
教学实施情况小结 情况良好,学生有反应,但发言不积极。
可能与刚刚开始接触数据库有关,真正适应可能有一个过程。
- 2 -
教学内容 数据库逻辑设计
授课时间 第三周 星期三 、 星期四 学时节数 2+3
教学目的 理解关系数据库设计的知识,掌握数据库设计规范和方法,会进行数据库逻辑设计。
教学内容提要 关系数据库、键、字段类型;
数据库设计命名规范、逻辑设计;
第1页共25页SQL应用培训资料目录:1、Select语句基础(基本语法、单表查询、分组查询)2、Select语句高级应用(多表查询、子查询、嵌套查询、集合操作、用SQL创建SQL)3、DML语句(Insert、Update、Delete)4、DDL语句(Create、Alter、Drop)5、DCL语句(Grant、Revoke)章节内容:1.Select语句基础(基本语法、单表查询、分组查询)SELECT语句的功能:1.1select语句的基本语法和基本运算符:SELECTcolumn1,column2.、、(distinct,expression,alias,||,as)/*指定提取的列FROMtable1,table2、、/*指定表提取WHERE条件设置:/*设置条件范围GROUPBY/*分组HAVING/*设置分组条件ORDERBYASC/DESC/*设置排序第2页共25页1.1.1各种运算符及运算等级:(算术运算符,连接运算符,关系运算符,其他运算符,逻辑表达式)1、(),+,-,*,/数字和日期数据可以使用进行计算2、||(=concat)连接运算符3、=,>,>=,<,<=关系运算符4、IS[NOT]NULL,LIKE,[NOT]IN其他运算符5、[NOT]BETWEENAND其他运算符6、NOT逻辑表达式7、AND逻辑表达式8、OR逻辑表达式注释:①NULL值定义NULL值是未赋值的未知数NULL值是与零或空串不同的NULL值运算算术表达式中含有NULL值,表达式的计算结果为NULL(NULL值传播)查找NULL使用ISNULL字句②使用别名表示表或列(AS)利用表别名可以进行自查询(多个别名)和方便程序编写,利用列别名可以简化列显示标题③使用连接操作(||)可以归并多列显示为一列④重复行默认的查询结果包括重复行要去掉重复行需在SELECT语句中使用DISTINCT关键字⑤字符型与日期型字符型与日期型的值要用单引号标识字符型值大小写敏感,日期型值格式敏感⑥使用LIKE子句使用LIKE子句执行一个含有通配符的模糊查找。%任意长度的字符_一个字符1.2、书写规则:⑴、SQL语名对大小写不敏感⑵、SQL语句允许换行⑶、关键字不能缩写或跨行⑷、子句一般要换行书写⑸、使用缩进格式书写可以提高可读性第3页共25页1.3常用函数1.3.1字符函数(11个)许多SQL解释器都提供了字符和字符串的处理功能。本部分覆盖了大部分字符串处理函数,这一部分的例子使用字符函数示范表。输入\输出:SQL>select*from字符函数示范;姓名MCODE----------------------------------------PURVISKELLYA32TAYLORCHUCKJ67CHRISTINELAURAC65ADAMSFESTERM87COSTALESARMANDOA77KONGMAJORG521.3.1.1CHR该函数返回与所给数值参数等当的字符,返回的字符取决于数据库所依赖的字符集。例如,示例的数据库采用了ASCLL字符集。示例数据库的代码列的内容为数字。输入:SQL>SELECTCODE,CHR(CODE)FROM字符函数示范;CODECHR(CODE)-------------------3267C65A87W77M524在数值32处显示为空白,因为32在ASCLL码表中是空格。1.3.1.2CONCAT我们在以前学到过一个与这个函数所执行的功能相当的操作,||符号表示将两个字符串连接起来,CONCAT也是完成这个功能的。使用方法如下:输入:SQL>SELECTCONCAT(姓,名)"姓名"FROM字符函数示范;姓名--------------------PURVISKELLYTAYLORCHUCK第4页共25页CHRISTINELAURAADAMSFESTERCOSTALESARMANDOKONGMAJOR当用多个词来做为别名时可以它们使用引号。1.3.1.3INITCAP该函数将参数的第一个字母变为大写,此外其它的字母则转换成小写。输入:SQL>SELECT姓前,INITCAP(姓)后FROM字符函数示范;前后--------------------PURVISPurvisTAYLORTaylorCHRISTINEChristineADAMSAdamsCOSTALESCostalesKONGKong1.3.1.4LOWER和UPPERLOWER将参数转换为全部小写字母,而UPPER则把参数全部转换成大写字母。下例是用LOWER函数和UPDATE函数来把数据库的内容转变为小写字母。输入:SQL>UPDATE字符函数示范SET名='kelly'WHERE名='KELLY';输出:1rowupdated输入:SQL>SELECT名FROM字符函数示范;输出:名----------kellyCHUCKLAURAFESTERARMANDOMAJOR输入\输出:SQL>select名,upper(名),lower(名)from字符函数示范;名UPPER(名)LOWER(名)------------------------------kellyKELLYkelly第5页共25页CHUCKCHUCKchuckLAURALAURAlauraFESTERFESTERfesterARMANDOARMANDOarmandoMAJORMAJORmajor现在你明白这两个函数的作用了吧!1.3.1.5LPAD与RPAD这两个函数最少需要两个参数最多需要三个参数,每一个参数是需要处理的字符串。第二个参数是需要将字符串扩充的宽度,第三个参数表示加宽部分用什么字符来做填补。第三个参数的默认值为空格,但也可以是单个的字符或字符串。输入\输出:SQL>SELECT名,LPAD(名,20,'*')FROM字符函数示范;名LPAD(名,20,'*')--------------------------------------------------------KELLY***************KELLYCHUCK***************CHUCKLAURA***************LAURAFESTER**************FESTERARMANDO*************ARMANDOMAJOR***************MAJOR输入\输出:SQL>SELECT名,RPAD(名,20,'*')FROM字符函数示范;名RPAD(名,20,'*')--------------------------------------------------------KELLYKELLY***************CHUCKCHUCK***************LAURALAURA***************FESTERFESTER**************ARMANDOARMANDO*************MAJORMAJOR***************1.3.1.6LTRIM与RTRIMLTRIM和RTRIM至少需要一个参数,最多允许两个参数。第一个参数与LPAD和RPAD类似,是一个字符串;第二个参数也是一个字符或字符串,默认则是空格。如果第二个参数不是空格的话,那么该函数将会像剪除空格那样剪除所指定的字符。如下例:输入\输出:SQL>SELECT姓,RTRIM(姓)FROM字符函数示范;姓RTRIM(姓)------------------------------PURVISPURVISTAYLORTAYLOR第6页共25页CHRISTINECHRISTINEADAMSADAMSCOSTALESCOSTALESKONGKONG你可以用下边的语句来确认字符中的空格已经被剪除了;输出证明的确已经进行了剪除工作现在请再试一个LTRIM;输入\输出:SQL>SELECT姓,LTRIM(姓,'C')FROM字符函数示范;姓LTRIM(姓,'C')------------------------------PURVISPURVISTAYLORTAYLORCHRISTINEHRISTINEADAMSADAMSCOSTALESOSTALESKONGKONG注意第三行和第五行的C已经没有了。1.3.1.7REPLACE该函数需要三个参数,第一个参数是需要搜索的字符串,第二个参数是搜索的内容,第三个参数则是需要替换成的字符串。如果第三个参数省略或者是NULL,那么将只执行搜索操作而不会替换任何内容。输入\输出:SQL>SELECT名,REPLACE(名,'ST','**')替换后FROM字符函数示范;名替换后---------------------------------------------KELLYKELLYCHUCKCHUCKLAURALAURAFESTERFE**ERARMANDOARMANDOMAJORMAJOR1.3.1.8SUBSTR这个函数有三个参数,允许你将目标字符串的一部份输出。第一个参数为目标字符串,第二个字符串是将要输出的子串的起点,第三个参数是将要输出的子串的长度。输入\输出:SQL>SELECT名,SUBSTR(名,2,3)FROM字符函数示范;名SUBSTR(名,2,3)-----------------------------KELLYELLCHUCKHUCLAURAAUR第7页共25页FESTERESTARMANDORMAMAJORAJO如果第二个参数为负数,那么将会从源串的尾部开始向前定位至负数的绝对值的位置。1.3.1.9TRANSLATE这一函数有三个参数,目标字符串、源字符串和目的字符串。在目标字符串与源字符串中均出现的字符,将会被替换成对应的目的字符串的字符。输入\输出:SQL>SELECT名,TRANSLATE(名,'0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ','NNNNNNNNNNAAAAAAAAAAAAAAAAAAAAAAAAA')FROM字符函数示范;名TRANSLATE(名,'0123456789ABCDEF---------------------------------------------kellykellyCHUCKAAAAALAURAAAAAAFESTERAAAAAAARMANDOAAAAAAAMAJORAAAAA6rowsselected这个函数对大小写是敏感的。1.3.1.10INSTR如果需要知道在一个字符串中满足特定的内容的位置可以使用INSTR,它的第一个参数是目标字符串,第二个参数是匹配的内容,第三和第四个参数是数字,用以指定开始搜索的起点以及指出第几个满足条件的将会被返回。下例将从字符串的第二个字符开始搜索,并返回第一个以O开头的字符的位置。输入\输出:SQL>SELECT姓,INSTR(姓,'O',2,1)FROM字符函数示范;姓INSTR(姓,'O',2,1)--------------------------------PURVIS0TAYLOR5CHRISTINE0ADAMS0COSTALES2KONG2默认第三个与第四个参数的数值均为1,如果第三个数值为负数,那么将会从后向前搜索。1.3.1.11LENGTHLENGTH将返回指定字符串的长度。例如:输入\输出:第8页共25页SQL>SELECT名,LENGTH(RTRIM(名))FROM字符函数示范;名LENGTH(RTRIM(名))--------------------------------kelly5CHUCK5LAURA5FESTER6ARMANDO7MAJOR5这里使用了函数RTRIM,否则LENGTH将全部返回15。1.3.2数字函数(6个)大多数情况下,你所检索到的数据在使用时,需要用到数学函数,大多数SQL的解释器都提供了与这里相类似的一些数学函数。这里的例子使用的表名字叫数学函数示范内容如下:输入\输出:SQL>SELECT*FROM数学函数示范;AB--------------------3.14154-450.70759-57.667421555-7.25.31.3.2.1ABSABS函数返回给定数字的绝对值。例如:输入\输出:SQL>SELECTABS(A)FROM数学函数示范;ABS(A)----------3.141545557.667157.21.3.2.2CEIL和FLOORCEIL返回与给定参数相等或比给定参数在的最小整数。FLOOR则正好相反,它返回与给定参数相等或比给定参数小的最大整数。例如:
第4章T-SQL语言基础
一、简答或填空题
1. SQL语言完成数据定义、数据操纵、数据控制的核心功能用了哪些动词
数据查询SELECT 数据定义CREATE DROP ALTER 数据操纵INSERT UPDATE DELETE 数据控制GRANT REVOKE
2. 在SQL Sever 2000中关键字的含义是什么
系统固定写法,语言规范
3. 简要说明标识符的含义
标识符用于SQL SERVER中的服务器、数据库、数据库对象、变量等。标识符分为常规标识符和分隔标识符。
4. 标识符首字符必须为(a~z或A~Z )、(# ) 、( _ )、( @ )以及来自其他语言的字母字符)这四种字符之一。
5. 判断23,198 是否为tinyint类型数据(是 )
6. 判断-56,425 是否为tinyint类型数据( 不是)
7. 判断-136,597 是否为smallint类型数据(不是 )
8. 判断48961 是否为smallint类型数据( 不是)
9. 国际标准Unicode采用(双)字节编码统一表示世界上的主要文字。
10. 浮点数据类型采用(科学技术 )法存储十进制小数,包括(real)和(float)数据类型。
11. 在浮点数据类型decimal(7,3)中7的含义是什么,3的含义是什么
7是定点精度,3是小数位数
使用浮点数据类型decimal(7,3)保存数据,能够保存它的(3 )位小数
在查询分析器运行以下程序,结果为( )。
declare @a decimal(7,3)
set @a=
print @a
12. 用char(100)类型存放字符串abcde,使用了(100)个字节。
13. 用Varchar(100)类型存放字符串abcde,使用了( 5)个字节。
14. 用char(10)类型能存放字符串hello world前(hello worl )个字符。