数据库原理及应用学习教案_第1页
数据库原理及应用学习教案_第2页
数据库原理及应用学习教案_第3页
数据库原理及应用学习教案_第4页
数据库原理及应用学习教案_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

1、会计学1数据库原理数据库原理(yunl)及应用及应用第一页,共53页。2查询提供了对数据浏览、数据重组、统计分析、编辑查询提供了对数据浏览、数据重组、统计分析、编辑(binj)修改、输入修改、输入输出等操作。输出等操作。 为了减少数据的冗余,不同类别数据放到不同的表中。为了减少数据的冗余,不同类别数据放到不同的表中。“查询查询”的字段来自很多互相之间有的字段来自很多互相之间有“关系关系”的表,这些字段组合成一的表,这些字段组合成一个新的数据表视图,但它并不存储任何的数据个新的数据表视图,但它并不存储任何的数据 (视图视图)优点优点: 1、节省空间、节省空间 2、同步更新。查询得到的是当前表中的

2、实际数据。、同步更新。查询得到的是当前表中的实际数据。 第1页/共52页第二页,共53页。31 1、 选择查询选择查询 从一个或者多个表中抽取数据。最常见从一个或者多个表中抽取数据。最常见2 2、 交叉表查询交叉表查询 以以 行列形式(二维表格)分组汇总数据。类似行列形式(二维表格)分组汇总数据。类似于电子表格。于电子表格。3 3、 参数查询参数查询 在查寻时弹出对话框,输入必要的参数,动态地在查寻时弹出对话框,输入必要的参数,动态地进行查询。进行查询。4 4、 操作查询操作查询 允许在一个查询操作中更改允许在一个查询操作中更改(gnggi)(gnggi)许多表中许多表中的数据。的数据。 删除

3、查询、更新查询、追加查询和生成表查询删除查询、更新查询、追加查询和生成表查询。5 5、 SQL SQL查询查询 使用使用SQLSQL语句,进行查询。语句,进行查询。 第2页/共52页第三页,共53页。41. 1. 查询查询(chxn)(chxn)向导向导 “使用向导创建查询(chxn)”,选择表,字段。可以从不同的表、字段中生成查询(chxn)。 数据来源:不同的表和已有的查询(chxn) 查询的数据表视图看起来像表 在查询数据表中在查询数据表中 无法加入或删除列,无法加入或删除列,而且不能修改查询字段的字段名不能修改查询字段的字段名。这是因为由查询所生成的数据值并不是真正存在的值,而是动态地

4、从表对象中调来的,是表中数据的一个镜像 可更改数据!第3页/共52页第四页,共53页。5使用(shyng)简单查询向导数据(shj)来源:已有的表和查询第4页/共52页第五页,共53页。6创建创建(chungjin)子查询子查询 统计(tngj)与汇总分组第5页/共52页第六页,共53页。7将多个表(查询)中的数据集合(jh)在一起。抽取数据的方式取决于表与表之间的关系。例: 学号,姓名、课程名称、分数将一个表一个表或一个查询一个查询中的某些字段中的数据作为新的字段,按照另外一种方式察看数据的查询。类似电子表格的格式中查看计算值。在行与列的交叉处可以对数据进行各种计算,包括求和、平均值、最大、

5、最小值、记数等。交叉表查询向导 新的输出格式第6页/共52页第七页,共53页。81. 选择含有交叉表数据的一个表(或查询)的名称。选择含有交叉表数据的一个表(或查询)的名称。 例如:成绩查询例如:成绩查询2. 选择在交叉表中哪些字段的值用来做行标题选择在交叉表中哪些字段的值用来做行标题(biot)。最多只能选择三个字段。最多只能选择三个字段。 例如:姓名例如:姓名3. 选择在交叉表中哪些字段的值用来做列标题选择在交叉表中哪些字段的值用来做列标题(biot)。 例如:课程名例如:课程名4. 选择在表中的交叉点计算出什么数值。选择在表中的交叉点计算出什么数值。 例如:求平均例如:求平均Avg5.

6、为新建的查询取名,并单击为新建的查询取名,并单击“完成完成”按钮。按钮。 可以改变显示字段的属性,如可以改变显示字段的属性,如“总计总计 分数分数: 分数分数”字段字段仅仅是为了计算汇总,不要第7页/共52页第八页,共53页。9如果多表,先建立多表查询。如果多表,先建立多表查询。交叉表查询功能方便数据交叉表查询功能方便数据(shj)(shj)查看核算汇总值。查看核算汇总值。第8页/共52页第九页,共53页。10表表/ /查询显示查询显示(xinsh)(xinsh)窗口窗口 显示显示(xinsh)(xinsh)查询查询所用到的数据来源所用到的数据来源 示例查询设示例查询设计窗口计窗口 显示查询中

7、所用到的查询字段和查询准则 第9页/共52页第十页,共53页。11进入查询设计视图后, 菜单、工具栏都会发生了变化。1、字段:查询工作表中所使用的字段名称2、表:该字段所属的数据表,可以不同(b tn)的表3、排序:该字段是否排序、按什么方式排序4、显示:该字段是否在查询表中显示5、条件:指定该字段的查询条件, 限制条件6、或: 提供多个查询条件第10页/共52页第十一页,共53页。12第11页/共52页第十二页,共53页。13例:不及格成绩(chngj)查询 第12页/共52页第十三页,共53页。14一般查询中的准则是不变的,如果希望一般查询中的准则是不变的,如果希望(xwng)(xwng)

8、每次查询都要改变准每次查询都要改变准则则参数查询可以在运行(ynxng)查询的过程中自动修改查询的参数用户在执行参数查询时会显示一个输入对话框以提示用户输入信息设计: 当需要对某个字段进行参数查询时,首先切换到这个查询的设计视图,然后在作为参数使用的字段下的“准则”单元格中,在方括号内键入相应的提示文本。例如:在分数字段的准则中输入 “分数从 And 100 And 300 ”, “ 300” , “Not 100 ” 逻辑逻辑(lu j)运算符运算符关系运算符关系运算符第16页/共52页第十七页,共53页。18字串模糊(m hu)查询满足条件为真第17页/共52页第十八页,共53页。191

9、1检索其中值检索其中值 介于介于(ji y) (ji y) 、 =、= = 或或 之间指定值的记录之间指定值的记录 通过使用通过使用 Between.And Between.And 运算符或比较运算符(运算符或比较运算符( 、= = =)来识别范)来识别范围围 表达式表达式意义意义80大于 80 的数BetweenBetween #2/2/93# AndAnd #12/1/93#日期由 2-Feb-93 到 1-Dec-93=Callahan大于等于 “Callahan” 字串第18页/共52页第十九页,共53页。20第19页/共52页第二十页,共53页。21当前(dngqin)日期是 从计算

10、机系统时钟取得的系统日期 Date(),括号中没有空格。 表达式表达式说明说明Between Date( ) And DateAdd(m, 3, Date( )使用 Between.AndBetween.And 运算符和 DateAddDateAdd 和 DateDate 函数,以显示在某个日期之后的三个月内所要求极其交付的订单。 Date( ) - 30使用 Date 函数以显示 30 天之前的旧订单。Year(订购日期) = 2012使用 YearYear 函数以显示 2012 年的订单。DatePart(q, 订购日期) = 4使用 DatePartDatePart 函数以显示第四季度的

11、订单。DateSerial(Year (订购日期), Month(订购日期)+1, 1)-1使用 DateSerialDateSerial、YearYear 和 MonthMonth 函数以显示每个月最后一天的订单。Year(订购日期)=Year(Now() And Month(订购日期)=Month(Now()使用 YearYear 和 MonthMonth 函数和 AndAnd 运算符以显示当前年、月的订单。当月的加班(ji bn)合计第20页/共52页第二十一页,共53页。22第21页/共52页第二十二页,共53页。23如果如果 Part IDPart ID中的值为中的值为表达式表达式返

12、回值返回值BA-7893-R12Left(PartID,2)BABA-7893-R12Right(PartID,3)R12BA-7893-R12Mid(PartID,4,4)7893例: 从学号“A10120201”中取出班级(bnj)代码第22页/共52页第二十三页,共53页。24第23页/共52页第二十四页,共53页。25 单击查询设计工具栏的“总计按钮,增加一个总计行:包含总和、平均值、计数、最大/最小值、标准偏差、方差等。计算能力有限计算能力有限第24页/共52页第二十五页,共53页。26选定选定计算计算 字段值的总和。字段的平均值。字段的最小值。字段的最大值。字段值的数量,不包括 N

13、ull(空)值。字段的标准偏差值。 字段的方差值。第25页/共52页第二十六页,共53页。27选定选定用于用于定义要执行计算的组。例如,如果要按类别显示销售额总计,请对“类别名称”字段选定 Group By。创建表达式中包含合计函数的计算字段。通常在表达式中使用多个函数时,将创建计算字段。指定不用于分组的字段准则。如果选定这个字段选项,Microsoft Access 将清除“显示”复选框,隐藏查询结果中的这个字段。第26页/共52页第二十七页,共53页。28注意事项: 汇总函数是否有效取决与数据类型。例如文本字段不能”求和“、”平均“等,但可以”计数“。 汇总函数不能对空的值(NULL)进行

14、(jnxng)运算。分组 Group By 汇总计算经常要进行分组操作(cozu)。对某个字段分组,相同的值进行统计第27页/共52页第二十八页,共53页。29用一个或多个(du )字段的值,进行数值、日期和文字的计算创建计算字段的方法:将表达式直接输入到“字段”格中例如:工资表中的加班合计:加班合计: Sum(加班工资表!加班时数*加班工资表!单位工时报酬) 按月份的加班合计2月份的加班合计例 :工资表中的实际发放工资注意:总计中的:分组、总计、平均、最小、最大、计数、标准差、方差、第一条记录、最后一条记录、表达式、条件(tiojin)的使用方法第28页/共52页第二十九页,共53页。30操

15、作查询能够改变已有表中的数据(shj),或者创建一个新表。一般同时加上参数选择 要求表的关系有要求表的关系有“实施参照完整实施参照完整性性”和和“级联删除相关记录级联删除相关记录”,保,保证删除一个表的记录时,相关联的证删除一个表的记录时,相关联的其它表中的相应记录也会同步删除其它表中的相应记录也会同步删除。例:创建“毕业生删除查询” 调出“查询设计器” ,选择表,然后在查询工具中选择“删除查询”,从已有表中删除符合准则的所有记录第29页/共52页第三十页,共53页。31加入“学号”字段。 字段的准则中输入: “输入要删除的学号起始2位=Left(学号,2)”, 表示(biosh)当记录的学号

16、起始2位与输入的数字相等时,删除该条记录。DELETE DELETE 学生简况学生简况. .学号学号FROM FROM 学生简况学生简况WHERE (WHERE (输入输入(shr)(shr)要删除的学号起始要删除的学号起始2 2位位)=Left()=Left(学号学号,2);,2);第30页/共52页第三十一页,共53页。32例如将毕业生的记录追加到专门存放毕业生的“毕业生”表中。l 先创建“毕业生”表(学号, 姓名, 性别, 照片, 简历)l 调出“查询设计器”(设计视图),选择表,然后(rnhu)在查询工具中选择“追加查询”。l 加入追加的字段(学号, 姓名, 性别, 照片, 简历)l

17、选择要追加的目标的表。在学号字段的准则中 :“输入要追加的学号起始2位=Left(学号,2)” INSERT INTOINSERT INTO 毕业生 ( 学号, 姓名, 性别, 照片, 简历 )SELECTSELECT 学生简况.学号, 学生简况.姓名, 学生简况.性别, 学生简况.照片, 学生简况.简历FROMFROM 学生简况WHEREWHERE (输入要追加的学号起始2位)=Left(学号,2);第31页/共52页第三十二页,共53页。33 调出“查询设计器”(设计视图),选择表,然后在查询工具中选择“更新查询”。例如(lr),对学生成绩表的所有不及格分数更改成60分。UPDATEUPD

18、ATE 学生成绩 SETSET 学生成绩.分数 = 60 WHERE (学生成绩.分数)60); 第32页/共52页第三十三页,共53页。34l 调出“查询设计器”(设计视图),选择(xunz)表,然后在查询工具中选择(xunz)“生成表查询”。 l 输入要生成的表名。 l 在相应字段输入准则例如,生成不及格表(学号例如,生成不及格表(学号, 姓名,课程,成绩)姓名,课程,成绩) 从学生简况、课程名称、学生成绩表从学生简况、课程名称、学生成绩表SELECTSELECT 学生简况.姓名, 课程名称.课程名称, 学生成绩.分数 INTOINTO 不及格FROMFROM 学生简况 INNER JOI

19、NINNER JOIN (课程名称 INNER JOIN 学生成绩 ON 课程名称.课程编号 = 学生成绩.课程编号) ON 学生简况.学号 = 学生成绩.学号WHERE (学生成绩.分数)60); 第33页/共52页第三十四页,共53页。35计计第34页/共52页第三十五页,共53页。36SELECT语句构成了SQL数据库语言的核心, 主要被用来对数据库进行查询并返回符合用户查询标准的结果数据。它的语法包括5个主要子句(z j),分别是FORM、WHERE、GROUP BY、HAVING、ORDER BY子句(z j)。SELECT语句的结构:SELECT ALL / DISTINCT*/

20、字段列表 字段列表FROM 表列表 表列表WHERE条件表达式 条件GROUP BY 字段名HAVING 条件表达式 分组ORDER BY 字段名DESC; 排序( 表示可选项)第35页/共52页第三十六页,共53页。37例例select student.* , SC.*FORM student, SCWhere Student.学号学号=SC.学号;学号;如果需要从多个表中获得数据(shj)表名前缀.字段名连接连接(linji)条件不能省条件不能省第36页/共52页第三十七页,共53页。38例如:SELECT 学生简况.姓名, 学生成绩.课程编号, 学生成绩.分数 学生简况 INNER JO

21、IN 学生成绩学生成绩 ON 学生简况学生简况.学号学号 = 学生成绩学生成绩.学号学号; 将学生简况和 学生成绩 表,通过相等的学号字段联接起来。第37页/共52页第三十八页,共53页。39第38页/共52页第三十九页,共53页。40第39页/共52页第四十页,共53页。41字段别名可以帮助我们有效的组织(zzh)查询的输出结果 ,相当于查询设计视图中字段属性的“标题” 在SQL中可以用“AS”操作来实现定义新的字段别名例在新建的查询(chxn)中将“表1”中的“字段1”的内容对应到新字段“新字段1”中:SELECT 表1.字段1 AS 新字段1 FROM 表1; 别名都直接放置在各自对应名

22、称的后面,中间用空格分开。SELECT 学生成绩.学号, Sum(学生成绩.分数) AS 总分FROM 学生成绩GROUP BY 学生成绩.学号ORDER BY Sum(学生成绩.分数) DESC; 第40页/共52页第四十一页,共53页。42例如:INSERT INTO 毕业生 ( 学号, 姓名, 性别, 简历 )VALUES (22000102, 李扬,0, Beijing”); INSERT INTO 毕业生 ( 学号, 姓名, 性别, 照片, 简历 )SELECT 学生简况.学号, 学生简况.姓名, 学生简况.性别, 学生简况.照片, 学生简况.简历FROM 学生简况WHERE (输入

23、要追加(zhuji)的学号起始2位)=Left(学号,2);如果把不及格的加到不及格表中?第41页/共52页第四十二页,共53页。43例如:UPDATE 学生成绩SET 学生成绩.分数(fnsh) = 60WHERE (学生成绩.分数(fnsh)60);使用update语句时,关键一点就是要设定好用于进行判断的where条件从句。如果要求2003年之前进厂,工资不到800的加到800 ?第42页/共52页第四十三页,共53页。44 例如:DELETE 学生简况.学号FROM 学生简况WHERE (输入要删除的学号起始(q sh)2位)=Left(学号,2);当需要删除某一行或某个记录时,在de

24、lete from关键词之后输入表格名称,然后在where从句中设定删除记录的判断条件。注意,如果用户在使用delete语句时不设定where从句,则表格中的所有记录将全部被删除。 第43页/共52页第四十四页,共53页。45创建新表格时,在关键词create table后面加入所要建立的表格的名称,然后在括号内顺次设定各列的名称,数据类型,以及可选的限制(xinzh)条件等。CREAT TABLE employee (firstname varchar(15), lastname varchar(20), age number(3), address varchar(30), city va

25、rchar(20); 第44页/共52页第四十五页,共53页。46第45页/共52页第四十六页,共53页。47除了在数据库中使用SQL命令之外,还可以通过编程语言例如VB、VBA、C、VC、ASP、PHP 来实现SQL操作,完成精细(jngx)、复杂的查询任务。 ADO(ActiveX Data Objects,微软的一种新的数据访问模型)。主要的ADO对象有三个:Connection、Command和Recordset。Connection对象能够建立数据与应用程序之间的联系,在建立联系后,Command和Recordset对象用来查询、存储或更新数据。Command 对象主要担任数据库查询

26、(Database Query)的角色。Recordset对象则是三者之中最为特别,功能亦最为强大,由数据取得的数据集合就存储于Recordset中。编程编程第46页/共52页第四十七页,共53页。48例如:ASP中 增加一个新注册账号Set conn = ) driver=Microsoft Access Driver (*.mdb);dbq= 在guestbook数据表中利用SQL语句增加一个数据记录,然后(rnhu)把其中的各字段 (姓名, 电话, Email, 主题, 留言)分别设置成从留言表单上取下的对应的数据。INSERT INTO tablename (first_column,.last_column)VALUES (first_value,.last_value); sql = Insert Into GuestBook (姓名, 电话, Email, 主题, 留言) Values( sql = sql & SqlStr(Name) & , sql = sql & SqlStr(Te

温馨提示

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

评论

0/150

提交评论