• 1. 金牌服务课程班
  • 2. 数据库基础知识培训讲 师:路 超 培训时间:2006年09月26日
  • 3. 目录一、数据库基本概念 二、SQL语句及常用函数的用法 三、数据库管理工具的用法 四、通软件对系统环境的要求
  • 4. 数据库基本概念什么是数据库? 数据库是按照数据结构来组织、存储和管理数据的仓库 数据库组织结构 (1)层次式数据库 (2)网络式数据库 (3)关系式数据库
  • 5. 数据库组织结构-层次式数据库一、层次数据结构举例说明: 大学分为系 系下面分为专业 专业下面分为班级
  • 6. 数据库组织结构-网状数据结构二、网状数据结构举例说明 一个老师管理多个学生 一个学生面对多个老师
  • 7. 数据库组织结构-关系型数据结构三、关系型数据结构
  • 8. 数据库管理系统概念 DBMS(DataBase Management System),用于管理数据库,提供数据库的引擎。 类型 规模大小分类 小型数据库管理系统(Excel、Access、FoxPro) 中型数据库管理系统(SQL Server、MySQL) 大型数据库管理系统( Oracle 、Informix、DB2) 存储类型分类 文件存储类型( Excel、Access、FoxPro ) 结构存储类型(SQL Server、Oracle等等)
  • 9. SQL Server 的特点与Windows无缝集成(win认证方式) 全图形界面操作环境,便于使用 提供Web和电子商务功能。对XML和Internet标准的支持。 可靠的安全机制
  • 10. 目录一、数据库基本概念 二、SQL语句及常用函数的用法 三、数据库管理工具的用法 四、通软件对系统环境的要求
  • 11. SQL语句介绍-SELECT语句语法Select 语句语法语法: Select 字段1,字段2,字段3 From 数据表名称 Where 条件 举例: 在科目表中查询所有末级科目,显示科目代码、科目名称、科目末级标志 SELECT cCode, cCode_Name, bEnd FROM code WHERE bEnd=1
  • 12. SQL语句介绍-SELECT语句条件Select 查询条件 1) = /<>/>/< :Where 字段 = 值 字符型(‘’) 、数值型、日期型(#) 2) like:Where 字段 like 字段% 字符型通配符 % 、? 3) Between:Where 字段 Between 最小值 And 最大值 4) In:Where 字段 In (值1,值2,值3) 5) Not:Where Not 字段 = 值
  • 13. SQL语句介绍-SELECT语句分组统计Group By 语法:Select 统计函数(字段1) From 数据表 Group By 字段2 分组统计函数 AVG()、 COUNT()、 MAX()、 MIN()、 SUM() 举例:按部门统计查询每个部门的工资总和 SELECT sum(工资) FROM 人员工资表 GROUP BY 部门
  • 14. SQL语句介绍-SELECT语句排序Order By 语法:Select 字段1、字段2、字段3 From 数据表 Order By 字段 举例:查询存货的编号、名称、计量单位,并按照存货名称排序 SELECT cInvcCode, cInvName, cInvM_Unit FROM dbo.Inventory ORDER BY cInvName
  • 15. SQL语句介绍-SELECT语句Case查询Case关键字 语法:字段 Case When 字段 = 值1 Then 显示1 When 字段 = 值2 Then 显示2 End AS 别名 举例: 查询总帐模块是否结账 SELECT CASE WHEN iperiod=0 THEN '期初' WHEN iperiod<>0 THEN '第' + ltrim(str(iperiod)) + '期' END AS 期间, CASE WHEN bflag=1 THEN '已结账' WHEN bflag=0 THEN '未结账' END AS 总帐模块 FROM gl_mend
  • 16. SQL语句介绍-SELECT语句多表查询举例:查询职员表中的职员编号,职员姓名以及相关联的部门名称 语句:SELECT Person.cPersonCode,Person.cPersonName,Department.cDepName FROM Person LEFT OUTER JOIN Department ON Person.cDepCode = Department.cDepCode查询结果
  • 17. SQL语句介绍-INSERT INTO插入语句语法: Insert Into 数据表 (字段1,字段2,字段3) Values(值1,值2,值3) Insert Into数据表 Select 字段1,字段2,字段3 From 数据表 Where 条件 举例: 在“用户表”中插入记录,记录内容:姓名=张三,年龄=29,性别=男 Insert Into 用户(姓名,年龄,性别) Values(‘张三’,29,‘男’) 从“用户1”表中查找年龄大于20岁的人员插入到“用户”表中 Insert Into 用户 Select 姓名,年龄,性别 From 用户1 Where 年龄 > 20
  • 18. SQL语句介绍-UPDATE更新语句语法:Update 数据表 Set 字段1=值1,字段2=值2 Where 条件 举例 在Code表中,将科目’1001’的末级标志改为1 Update Code Set Bend=1 Where cCode = ‘1001’ 在“用户”表中,将所有人的年龄增加1岁 Update 用户 Set 年龄=年龄+1 注意:要加入适当的Where条件,否则将更新表中的所有记录
  • 19. SQL语句介绍-DELETE删除语句语法:Delete From 数据表 Where 条件 举例 删除总帐模块的科目互斥记录 DELETE FROM GL_mccontrol 注意:要加入适当的Where条件,否则将更新表中的所有记录
  • 20. SQL语句介绍-常用函数介绍(1)Sum 求和函数 语法:sum(统计字段) 举例:计算所有人员的工资综合 SELECT SUM(工资) FROM 人员工资 Min 最小值函数 语法:min(统计字段) 举例:得到所有人员中工资最少的工资数 SELECT MIN(工资) FROM 人员工资 Max 最大值函数 语法:max(统计字段) 举例:得到所有人员中工资最多的工资数 SELECT MAX(工资) FROM 人员工资
  • 21. SQL语句介绍-常用函数介绍(2)Count 记录数量函数 语法:count(统计字段) 举例:得到用户人数 SELECT COUNT(姓名) FROM 人员工资 Len 字符串长度函数 语法:len(字符串) SELECT LEN(‘abc’) 返回值: 3 Left 从左边截取字符串函数 语法:left(字符串,截取长度) SELECT LEFT(‘abc’,1) 返回值:a
  • 22. SQL语句介绍-常用函数介绍(3)Right 从右边截取字符串函数 语法:right(字符串,截取长度) SELECT RIGHT(‘abc’,1) 返回值:c Replace 字符串替换函数 语法:replace(字符串,原字符串,替换字符串) SELECT REPLACE(‘abc’, ‘a’, ‘b’) 返回值:bbc Substring 字符串截取函数 语法:substring(字符串,开始位置,截取长度) SELECT SUBSTRING(‘abc’, 1, 2) 返回值:ab
  • 23. SQL语句介绍-常用函数介绍(4)Isnull 如果字段的值是空字符,那么使用指定的值替换 语法:isnull(字段名称,替换值) 举例:在“人员工资”表中,如果人员工资为空,那么该人员的工资为0 SELECT ISNULL(工资,0) FROM 人员工资 Isdate 判断字符是否为有效日期,如果是有效日期,返回1;如果不是有效日期,返回0 语法: isdate(字段名称/字符串) 举例:判断“用户”表中的出生日期是否为有效日期格式 SELECT ISDATE(出生日期) FROM 用户 Isnumeric 判断字符是否为有效数值,如果是有效数值,返回1;如果不是有效数值,返回0 语法: isnumeric(字段名称/字符串) 举例:判断“人员工资”表中的工资是否为有效数值格式 SELECT ISNUMERIC(工资) FROM 人员工资
  • 24. 目录一、数据库基本概念 二、SQL语句及常用函数的用法 三、数据库管理工具的用法 四、通软件对系统环境的要求
  • 25. 管理工具的使用-企业管理器企业管理器 备份数据库 还原数据库 附加数据库(只有.mdf、.ldf文件) 导入、导出数据表记录(SQL之间、Excel文件) 查询及修改数据 字段类型 int、 numeric 、float 数值型 bit 字节型 1或0 char、varchar 字符型 Datetime 日期型
  • 26. 企业管理器-备份数据库(1)打开SQLServer企业管理器。在“数据库”的位置点右键,选择快捷菜单中的所有任务/备份数据库。
  • 27. 企业管理器-备份数据库(2)在打开的备份窗口中,选择需要备份的帐套。然后选择“重写现有媒体”。点“添加”按钮,选择数据库的备份位置以及备份文件名称。
  • 28. 企业管理器-备份数据库(3)录入备份文件名称或点旁边的选择按钮选择。
  • 29. 企业管理器-备份数据库(4)录入文件名称之后,点“确定”按钮,系统会出现备份数据库的进度状况,一段时间后,系统会提示数据库备份成功。
  • 30. 企业管理器-还原数据库(1)打开SQLServer企业管理器,在“数据库”的位置点右键,选择快捷菜单中的“所有任务/还原数据库”。
  • 31. 企业管理器-还原数据库(2)录入“还原为数据库”,切记:一定要录入这个红色框里面的数据库名称,这个文件名称可以是任意名称。但是如果名称和已有数据库的名称重名,那么会给出提示,并不予还原。
  • 32. 企业管理器-还原数据库(3)录入数据库还原后的名称之后,选择还原方式为“从设备”。然后点“选择设备”按钮。选择还原文件
  • 33. 企业管理器-还原数据库(4)点“添加”按钮,选择还原数据库的文件,然后点“确定”按钮
  • 34. 企业管理器-还原数据库(5)选择“选项”这个选项卡,会看到“在原有数据库上强制还原”的选项,如果这个选项打勾,则系统会在还原的数据库的名称与已有数据库的名称重名时,覆盖原有数据库。所以这个选项要慎用。 移至物理文件名的列表中显示的是还原文件的保存路径。如果在磁盘上面没有这个路径的话,系统会报错。所以这里必须选择实际存在的路径。
  • 35. 企业管理器-还原数据库(6)设置完毕后,点“确定”按钮,系统将还原数据库。并有还原进度提示。还原成功后,会有提示。
  • 36. 企业管理器-附加数据库(1)在“数据库”的位置点右键,选择所有任务/附加数据库
  • 37. 企业管理器-附加数据库(2)选择mdf文件,录入附加为数据库名称,然后点击确定。
  • 38. 管理工具的使用-查询分析器查询分析器 SQL语句的执行 查询结果导入Excel(.csv)
  • 39. 查询分析器(1)点击菜单文件/连接 ,打开“连接到SQL Server”窗口,选择SQLServer服务器,录入登录名称和密码
  • 40. 查询分析器(2)在下拉框中选择需要操作的数据库名称
  • 41. 查询分析器(3)录入SQL语句,点击“执行”按钮,显示执行结果列表。
  • 42. 管理工具的使用-事件探查器事件探查器 建立一个新的跟踪(SQL 和存储过程) 结合案例跟踪数据库的运行
  • 43. 事件探查器(1)点击菜单文件/新建/跟踪 ,打开“连接到SQL Server”窗口,选择SQLServer服务器,录入登录名称和密码
  • 44. 事件探查器-建立跟踪在左边窗口点击“运行”按钮,会弹出右边的窗口,选择需要跟踪的事件类(一般选择TSQL和存储过程),点击“运行”按钮开始跟踪。
  • 45. 事件探查器点击执行、暂停、停止按钮可以控制跟踪语句的起始结束时间。跟踪到的语句全部显示在列表中。可以复制语句到查询分析器中执行
  • 46. 目录一、数据库基本概念 二、SQL语句及常用函数的用法 三、数据库管理工具的用法 四、通软件对系统环境的要求
  • 47. SQL Server安装注意的两个问题身份验证模式 选择混合模式
  • 48. SQL Server安装注意的两个问题实例 选择默认
  • 49. 系统环境注意的问题如用户服务器安装了防火墙,会出现连接不到服务器的问题,请关闭防火墙后即可连接 计算机的名称不能有“_”、“-”、“,”、空格,中文等特殊符号
  • 50. 检测连接服务器数据库是否正常(1)在服务器和客户端安装都正常的情况下,有时仍然遇到客户端不能连接服务器的情况。我们可以使用系统自带的数据库连接工具ODBC检测数据库连接是否正常。 打开客户端的控制面板,找到管理工具/数据源ODBC
  • 51. 检测连接服务器数据库是否正常(2)录入“名称”和服务器名称,点击“下一步”按钮,录入数据库登录用户名和密码
  • 52. 检测连接服务器数据库是否正常(3)点击“测试数据源”按钮,打开测试报告窗口,如果显示“测试成功”,则表示数据库连接正常。否则表示连接失败
  • 53. 案例:对某个科目进行操作时,提示互斥站点问题:在期初建账的时候,电脑异常死机,再次打开期初建账,操作某个科目的时候,提示该科目正在使用,不允许操作。 解决: 1、正常关闭所有正在操作的站点 2、 打开账套数据库ufdata_001_2005中的表GL_mccontrol(科目并发控制表),删除其中的记录
  • 54. 案例:科目级别错误,明细帐的科目期末值翻倍问题:无法在某个科目下面增加二级科目。 总帐的科目期末值比明细帐的科目期末值大一倍 解决: 1、打开数据库ufdata_001_2005中的表Code(科目记录表),查找到相应的会计科目的记录,检查该记录的bend的值,1代表末级科目,0代表非末级科目 将bend标志根据需要修改正确即可。
  • 55. 案例:凭证及明细表GL_accvouch问题:总帐、明细帐对账错误 凭证已经作废,但是结帐时,仍然提示有一张凭证没有记账,工作未完成,不允许结帐 解决: 1、检查是否有异常的凭证。 2、打开数据库ufdata_001_2005中的表GL_accvouch(凭证记录表),检查是否有异常的凭证记录 3、将异常记录的标志修改正确。 ibook 字段:记账标志 1:已记帐;2:未记帐 iflag 字段:凭证标志 null :有效;1:作废; 2:有错凭证
  • 56. 案例:财务通2005如何对存货核算模块反启用问题:财务通标准版2005对存货核算模块已经启用,如何反启用 解决: 1. Update accinformation Set cvalue = ‘’ Where (cCaption = ‘存货系统启用日期’)     2.    Select dsubsysused           From UA_Account_sub           Where (cAcc_Id = '999') And (iYear = '2005') And (cSub_Id = 'IA')
  • 57. 案例:无法保存业务单据问题:保存单据时,发现错误为:“不能在具有唯一索引‘aaRdRecord_PK’的对象‘RdRecord’中插入重复键的行.不能在具有唯一索引‘aaRdRecords_PK’的对象‘RdRecords’中插入重复键的行” 解决:打开MAXVouch表,修改cInCode记录的单据最大编号 CVouch 表类型 CInCode 最大单据号
  • 58. 案例:提示录入SA口令问题:在登录系统时,提示录入sa口令,但是数据库的超级管理员sa并没有设置口令。 解答:重新注册msado15.dll文件 注册方法: regsvr32 "c:\Program Files\Common Files\System\ado\msado15.dll"
  • 59. 案例:客户端无法连接服务器问题:客户端登陆系统时,提示找不到服务器,发生failed请求错误。 解答:测试通过客户端的ODBC连接数据库是否可以连通,如果也连接不到的话,需要安装mdac_typ.exe文件,版本:2.7/2.8。
  • 60. 简答题(1)数据库组织结构分为哪几种?SQLServer属于哪种组织结构? 答案:数据库组织结构分为3种: (1)层次式数据库 (2)网络式数据库 (3)关系式数据库 SQLServer属于关系型数据库
  • 61. 简答题(2)请写出SQL查询语句。要求查询管理员名称为王五的仓库名称 表名称:仓库 字 段:仓库名称 仓库类别 管理员 表:仓库名称 仓库类别 管理员 成品库 产成品仓库 张三 原料库 原材料仓库 李四 配件库 原材料仓库 王五 答案:select 仓库名称 from 仓库 where 管理员=‘王五’
  • 62. 简答题(3)请写出SQL删除语句。要求删除工资金额为0的所有人员记录 表名称:人员工资 字 段:人员名称 部门 性别 工资 表:人员名称 部门 性别 工资 张三 财务部 女 1000 李四 办公室 男 0 王五 库房 女 670 赵六 生产部 男 0 答案:delete from 人员工资 where 工资=0
  • 63. 简答题(4)请写出SQL更新语句。要求将所有性别为女并且工资小于700的人员工资金额增加100元 表名称:人员工资 字 段:人员名称 部门 性别 工资 表:人员名称 部门 性别 工资 张三 财务部 女 1000 李四 办公室 男 0 王五 库房 女 670 赵六 生产部 男 0 答案:update 人员工资 set 工资=工资+100 where 性别=‘女’ and 工资<700
  • 64. 简答题(5)请写出SQL查询语句。统计人员工资表中的工资综合 表名称:人员工资 字 段:人员名称 部门 性别 工资 表:人员名称 部门 性别 工资 张三 财务部 女 1000 李四 办公室 男 0 王五 库房 女 670 赵六 生产部 男 0 答案:select sum(工资) from 人员工资
  • 65. 简答题(6)请简答使用企业管理器对数据库作备份的步骤。 答案:1)打开企业管理器,选择需要备份的数据库 2)点击“右键”,选择所有任务/备份数据库 3)在弹出的备份界面中,点击“添加”按钮,选择录入备份文件名称 4)选择“重写现有媒体” 5)点击“确定”按钮,完成备份。
  • 66. 谢谢!