第三讲:Access数据库数据库基础内容提要SQL语言上机环境Access基本使用应用开发案例Access界面导航窗格数据库对象表(Table)数据库中最基本、最主要的对象;一个数据库可包含若干表查询(SQL)该对象包含一条SQL语句。可以是查询语句(SELECT),也可以是其他语句窗体(form程序)基于图形用户界面的数据库应用程序通过建立窗体对象可进行简单应用开发报表制作报表对象,用于打印输出宏一个宏对象是由完成特定任务的一组系统命令组成;在应用程序中可以通过宏调用完成需要的功能表对象-利用设计视图创建表表对象-打开数据表视图插入、修改、删除、浏览数据导航按钮表对象-利用SQL语句创建表建立表之间的关系-关系视图建立表之间的关系在一些操作界面中,起到隐含的连接作用数据表视图-子数据表的使用查询设计视图-多表查询建立表之间的参照完整性约束维护两表数据的一致性(外来码-主码)等同于在CREATETABLE语句中定义REFERENCES约束。可视化操作建立表之间的关系-关系视图在视图中添加或隐藏表:快捷菜单-显示表/隐藏表可视化建立表的关系:鼠标拖动(主码列→外来码列)建立表之间的关系-关系视图建立关系定义参照完整性约束查询对象-利用查询设计视图在设计视图中,用户可以通过可视化的操作,创建一个查询对象字段:指定查询需要使用的列表:指定上面各列所属的表排序:指定排序列显示:指定哪些列在查询结果中显示条件:指定查询条件或:指定与上一行“或”的查询条件查询对象-利用查询设计视图SQL视图数据表视图……可视化的编写查询语句查询男生信息,要求输出学号、姓名、生日及所在系的系名,并按年龄大小排序(升序)切换到SQL视图设计视图数据表视图……执行查询-进入数据表视图设计视图SQL视图……查询对象-利用SQL视图设计查询直接在SQL视图中编写查询语句比通过设计视图建立查询更加灵活自如如果查询对象中包含的不是SELECT语句,例如是插入、修改、删除等语句,只能在SQL视图中操作查询对象中的三个视图设计视图-设计查询SQL视图-编辑SQL语句数据表视图-显示查询结果SQL上机环境建立查询对象查询设计视图SQL视图主要用于SELECT语句编写各种SQL语句Access数据库应用开发数据库应用程序是以数据库为基础、以满足用户业务需求为目标的程序设计一个数据库应用主要有三项内容:数据库设计(设计二维表)应用程序的功能设计用户界面设计目前常采用的用户界面窗体:典型的图形用户界面网页:基于浏览器的用户界面Access应用开发实例系-学生信息查询→系学生查询子界面条件查询→条件查询子界面选课→选课子界面系-学生信息查询子界面1实现主从查询自动生成主从查询界面在表对象窗口中选择dep表(只需选择主表)待改进1利用了表之间的联系条件查询子界面2查询课程信息-支持模糊查询查询学生学分-目前已获得的总学分(统计功能)窗体对象-在设计视图中设计2新建窗体窗体对象-在设计视图中设计2在窗体上画出组件使用控件:窗体设计工具中放置了图形用户界面上常用的控件用鼠标选中某个控件后(如按钮),用鼠标拖动建立一个控件对象设置控件的属性使用属性面板:鼠标右键单击某个已建立的控件对象,在弹出的快捷菜单中选择“属性”,属性表便会打开对于一个控件对象,要根据界面和功能要求对其进行属性设计按钮功能设计-事件处理2基于图形用户界面的应用程序采用的是“事件驱动”的工作方式所谓“事件驱动”,就是当界面上出现一个事件时,会触发一段程序的执行,该程序称为“事件处理程序”事件是一种特定的操作,一般在某个对象上发生Access支持多种类型的事件,如鼠标单击、数据更改、窗体打开或关闭等事件的发生通常是用户操作的结果,例如当用户用鼠标单击界面上的一个按钮,“单击”事件在该按钮上就发生了。如果我们为该按钮的“单击”事件编写一个事件处理程序,该按钮对“单击”事件就能做出反应。按钮功能设计-事件处理2用户界面的操作功能基本上都是通过事件处理程序实现的在Access中,事件处理程序可以用VB程序设计语言编写,也可以调用一个“宏”“宏”是一组操作命令的集合。由于宏定义比较简单,不渉及到复杂的编程,本课采用“宏”对象来实现事件处理按钮功能设计-事件处理2控件可以响应的事件事件处理程序或宏对象的名字宏对象的定义按钮单击事件宏2宏是指一个或多个“操作”的集合“操作”是系统提供的一组现成的操作命令,其中每个命令实现一项特定的功能宏所包含的“操作”每行指定一个操作命令当宏被调用时,这些操作命令依次执行当前行命令的参数设置,通过这些参数可以为命令指定操作的对象和具体要求宏对象中的系统操作命令Close:关闭命令关闭对象,常用于关闭窗体OpenForm:打开一个窗体通过参数指定一个要打开的窗体名OpenQuery:执行查询对象中的SQL语句通过命令参数指定一个查询对象名GoToRecord:改变数据表或窗体中的当前记录Requery:重新查询(常用于刷新数据)SetValue:为控件的属性赋值“查询课程信息”按钮功能设计2查询对象-查询课程-SQL语句SELECT*FROMcourseWHEREcnameLIKE'*'&forms!条件查询子界面!文本框1&'*';2控件对象名窗体名WHEREcnameLIKE'*计算机*'forms!窗体对象名!控件对象名在SQL语句中读出用户在界面的编辑框中输入的数据:查询对象-查询学分-SQL语句SELECTSUM(credit)AS已获学分FROMenroll,courseWHEREenroll.cno=course.cnoANDgrade=60ANDsno=forms!条件查询子界面!文本框2;2WHEREenroll.cno=course.cnoANDgrade=60ANDsno='s06001'在设计视图中修改窗体对象1修改窗体标题标签改名删除组件去掉窗体导航按钮增加按钮修改系-学生查询界面1选课界面设计3选课界面-事件处理设计学号输入框(文本框)-进入时清空输入框进入事件→宏(宏-清空学号输入框)选课界面-事件处理设计课程输入框(组合框)-进入时刷新列表内容进入事件→宏(宏-刷新组合框)选课界面-事件处理设计选课按钮-完成插入选课记录单击事件→宏(宏-选课)→查询对象(选课)选课界面-查询对象设计查询对象-查询可选课程3查询对象-选课SELECT*FROMcourseWHEREcnonotin(SELECTcnoFROMenrollWHEREsno=[forms]![选课子界面]![文本1]);INSERTINTOenrollVALUES([forms]![选课子界面]![文本1],[forms]![选课子界面]![组合1],null);学号课号主界面完成数据库大作业题目给定题目,第十周公布要求个人独立完成,并在上机课(12、13周)上检查。请于第13周周末(12月21日)前提交数据库作业(.accdb文件),每个人都需提交到网络学堂“课程作业”栏目。(具体见网络学堂上的作业要求)数据库大作业涉及到的主要知识点及开发方法SQL语言(查询语句、数据维护语句等)Access数据库界面操作Access数据库对象基本使用(表对象、查询对象、窗体对象、宏对象等)系统命令(OpenQuery、SetValue、GoToRecord、Requery、Close等)不涉及高级语言编程问题