版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
8月份复习资料坚持、坚持、再坚持,朝着目标前进,完成任务。不许偷懒。监督张梅执行者王斌课程简介通过本课程的学习,了解数据管理的基本知识,掌握一种使用数据库技术开发简单的数据库应用程序的技术,对其它的数据库软件和开发平台的学习打下一个基础,也为今后的毕业设计工作提供一种手段。第1章数据库基础知识数据库系统概述数据与数据管理技术数据库系统E-R模型数据模型关系数据库关系术语关系完整性关系运算关系规范化数据库设计简介信息的柢念和特点什么是信息?它的主要特点:无穷性、价值性、时效性(易击性)、传递性知识?1.1.1数据与数据管理技术1.数据(data)■数据是描述事物的符号记录。■数据是数据库中存储的基本对象,数据与其语义是不可分的。2.数据管理技术数据管理是指对数据进行分类、组织、编码、存储、检索和雄井,是数据处理的中心问题。数据库技术是应数据管理任务的需要而产生的。数据管理技术经历了人工管理、文件系统和数据库系统3个发展阶段。人工管理阶段:20世纪50年代中期以前。文件系统阶段20世纪50年代后期到60年代中期。数据库系统阶段20世纪60年代后期以来O数据库系统的主要特点.数据以敷腐库文件组级形式长期保存,数据库中的数据是有结构
的,这种结构由数据模型表现出来。.数据由数据库管理系统统一管理和控制。数据库管理系统负责数据库的建立、使用和维护,并提供数据保护和控制比能。.数据的共享性高,冗余度低。■数据库中的数据能够满足多用户多应用的不同需丸■敷据库中的数据之间是具有联系的,可以大大减少冗余,谣免数据之间的不相容性与不一致性。.数据独立性高。■在数腐库系统中,散腐具有较高的退耕独立性和物理独立性。应用程序与散据的对应关系应用程序]/、应用程序与散据的对应关系应用程序]/、应用程序2 据库\―・ 管理系统应用程序n/——数据库数据库系统中应用程序与数据之间的对应关系1.1.2数据库系统.数据库(DataBase,简称DB)■数据库是长期存俯在计算机内,有组织的、大量的、可共享的数据集合。■数据库中的数据往一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可供各种用户共享。.数据库管理系统(简称DBMS)DBMS是位于用户与操作系统之间的一层数据管理软件,在操作系统支持下工作,是数据库系统的核心组成部分。数据库管理系统的主要功能DBMS的主要功能包括(1)数据定义定义数据库结构,包括定义表、索引、视图等数据对象(2)数据操纵实现对数据库的查词和更新操作。(3)数据库的运行管理数据库在建立、运行和维护时由DBMS统一管理、统一控制,以保证数据的安全性、完整性、多用户对数据的并发使用以及发生故算后的系统恢复。(4)数据库的建立和维护包括数据库初始数据的输入和转换,数据库的转情和恢复,数据库的重组织,性能监视和分析等。
数据库系统(续).数据库系统(DataBaseSystem,简称DBS)■数据库系统是指在计算机系统中引入数据库后的系统。■由数据库、数据库管理系统(及其开发工具)、应用系统和数据库管理员构成。■数据库管理员(简称DBA)是负责数据库的建立、使用和维护的专门人员。■数据库应用系统是利用数据库系统资源,为特定应用环境开发的应用软件。数理员最终用户开发人员数理员最终用户开发人员1.1.3E-R模型E-R(实体-联系)模型是一抻描述信息世界的重要手段。E-R模型独立于具体的计算机系统。E-R模型的主要成分是实体、联系和属性。■实体:客观存在并可相互区分的事物称为实体。同一类型的实体的集合构成实体集。■属性:实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。实体名和各个属性名的集合构成实体型。■联系:现实世界的事物之间总是存在某种联系,包括实体内部的联系和实体之间的联系。两个实体之间的联系可分为3类:(1)一对一联系(1:1)■如果对于实体集A中的每一个实体,实体集B中至多有一个实体与之对应;反之亦然,则称A与B具有一对一歌系。(2)一对多联系(1:n)如果对于实体集A中的每一个实体,实体集B中有n个实体(nNO)与之对应;反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之对应,则称A与B具有一对多联系。(3)多对多联系(m:n)如果对于实体集A中的每一个实体,实体集B中有n个实体(n20)与之对应;反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m/O)与之对应,则称A与B具有多对多联系。【例1.1】用E-R模型描述某高校的教学组织情况:学校有若干个系部,每个系有若干学生,每个学生可选修多口课程。E-R模型的表示:矩形表示实体型,矩形框为实体名。椭圆表示属性,桶圆框为属性名。菱形表示联系,菱形框内为联系名。无向边用来连接实体型与联系,边上注明联系类型(1:1,1:n或m:n);属性与对应的实体型或联系也用无向边连接。系部E-R模型1.1.4数据模型数据模型是用来描述现实世界中的事物及其联系的,它将数据库中的数据按照一定的结构组织起来,以能反映事物本身及事物之间的各种联系。.层次模型用树型结构表示实体及其之间的联系。.网络模型用网状结构表示实体及其之间的联系。.关系模型用二维表结构来表示实体及其之间的朕系。关系数据模型以关系数学理论为基础,一个二维表就是一个关系,不仅能描述实体本身,而且还能反映实体之间的联系,模型简单、使用方便,应用也最广三种模型的结构如图所示。网状模型“学生”关系“学生”关系“系部”关系系号系名系主任01法律刘世昆02计算机程辉03金融张明明04英语余凡字号姓名性别系号310201张君男01310208王晓红女01310210马燕女01320215陈刚男02320220张伟国男02330233刘俊峰男03“课程”关系“课程”关系“选课”关系课程号课程名学分101公共英语6102高等数学5103网页制作技术2104多媒体技术应用3105数据库程序设计4学号课程号成馈3102011017631020110282.53202151019232022010182.53202201057633023310168.5关系模型关系术语(1)关系一个关系就是一张二维表,每个关系有一个关系名。(2)元组表中的一行即为一个元组,也称为一个记录。(3)属性表中的一列即为一个属性,也称为一个字段。(4)城属性的取值范围。(5)关系模式对关系的描述,它对应一个关系的结构。其格式为:关系名(属性1,属性2,…,属性n)(6)主关堪字在表中能的唯一标识一个记录的的字段或字段组合,称为候选关键字。一个表中可能有多个候选关堪字,从中选择一个作为主关维字,也称为主键。(7)外部关鲤字如果表A和表B中有公共字段,且该字段在表B中是主键,则该字段在表A中就称为外部关键字,也叫外一。在关系数据库中,主嫌和外堪表示了2个表之间的联系。关系数据库的主要特点(1)关系中的每个属性必须是不可分割的数据项(表中不能再包含表)。如果不满足这个条件,就不能称为关系数据库。(2)关系中每一列元素必须是同一类型的数据,来自同一个城。(3)关系中不能出现相同的字队(4)关系中不能出现相同的记录。(5)关系中的行、列次序可以任意交换,不影响其信息内容。关系完整性关系模型的完整性规则是对关系的某神约束条件,以保证数据的正确性、有效性
和相容性。关系模型中有3类完整性约束:.实体完整性实体完整性规则要求关系中的主嫌不能取空值或重复的值。所谓空值就是“不知道”或“无意义”的值。.参照完整性参照完整性规则定义了外堪和主嫌之间的引用规则,即外键或者取空值,或者等于相应关系中主键的某个值。.用户定义的完整性实体完整性和参照完整性是关系模型必须满足的完整性约束条件。此外,用户还可以根据某一具体应用所涉及的数据必须满足的语义要求,自定义完整性约束。1.2.3关系运算从一个关系中查询所需要的数据,就要使用关系运算。.传统的集合运算■并2)、交(n)、差(-)、广义笛卡尔根仪)4抻。RUS-A--B--A--B--C-alblclalb2c2a2b2clABCalblclalb2c2a2b2clalb3c2ABCalb2c2alb3c2a2b2cl"A"B"C'alb2c2屹b2clABCalblclRAR.BR.CS.AS.BS.Calblcl<1b2c2alblclalb3c2alblcla2b2clalb2c2alb2c2alb2c2alb3c2alb2c2屹b2cla2b2clalb2c2a2b2clalb3c2a2b2cla2b2cl集合运算示例.专门的关系运算(1)选择从一个关系中找出满足条件的记录。是此行的角度进行的运算。结果是原关系的一个子集。(2)投影从一个关系中选出若干字段组成新的关系。是从列的角度进行的运算,相当于对关系进行垂直分解。新关系模式所包含的字段个数通常比原关系少,或者字段的排列即序不同。3)连接(Join)连接是把两个关系中的记录按一定的条件横向结合,生成一个新的关系。在连接操作中,技限两个关系的字段值对应相等为条件进行的连接称为等值连接。去抻重复字段的等值连接称为自然连接。■它利用两个关系中的公共字段(或培义相同的字段),把该字段值相等的记录连接起来。■自然连接是最常用的连接运算。利用关系运算或几个基本关系运算的组合,可以实现对关系数据库的查询,找出用户感兴趣的数据。1.2.4关系规范化关系规范化对关系模式进行分解,将不同的概念分散到不同的关系中,使得每个关系的任务单纯而明确,达到极念的单一化。范式(NormalForm,简记为NF)满足一定条件的关系模式称为范式。恨据规范化理论,共有6个级别的范式。常用的是第一范式(1NF)、第二范式(2NF)和第三范式(3NF)。级别越高,满足的要求越高,规范化程度也越高。在关系数据库中,任何一个关系模式都必须满足第一范式,即表中的每个字段必须是不可分割的数据项。规范化将一个低级范式的关系模式分解为多个高一级范式的关系模式。1.3数据库设计简介数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能的有效地存儡数据,满足不同户的应用需求。数据库设计通常分为以下6个阶段:1)需求分析■收集和分析用户的各项信息需求和处理需求。形成需求分析说明书。(2)慨念结构设计械据需求分析说明书,对现实世界进行数据抽象,建立概念模型,常用的是E-R模型。(3)退辑结构设计将E-R模型转换为某个DBMS所支持的数据模型。应用关系规范化理论对关系模式进行优化。(4)物理结构设计对给定的数据库的遐辑模型,选取一个最适合应用环境的物理结构(包括存体结构和存取方法)o(5)数据库实腌用DBMS提供的数据定义语言定义数据库结构,装人初始数据,编制与调试应用程序,并进行试运行。(6)数据库运行和维护数据库投入运行后,对数据库系统进行评价、调整和修改。第2章Access系统介绍Access系统的特点Access系统的介绍Access的启动与退出Access数据库窗口Access数据库中的对象Access系统设置Access的联机帮助Access数据库文件Access数据库的创建Access数据库版本的转换Access系统的特点Access2003作为Office2003办公组件中的数据库管理软件,具有与Word、Excel和PowerPoint等应用程序统一的操作界面。Access2003是一个完全面向对象,采用事件电动机制的关系数据库管理系统,使得数据库的应用与开发更加便捷、灵活。Access2003增根了同Web的集成,3明了同XML之同的转换能力,可以更方便地共享胯越各种平台和不同用户级刖的数据,还可以作为企业级后端数据库的前台客户端。Access2003既可以在单用户环境下工作也可以在多用户环境下工作,并且具有完善的安全管理机制。Access2003内置了大量的函数,提供了许多宏操作,一般用户不必编写代码,就可以解决许多问题,易学易用。Access2003支持VisuanlBasic的高级编程技术(VBA)和ASP开发。Access的启动与退出[启动Access系统选择“开始|所有程序|MicrosoftOffice|MicrosoftOfficeAccess2003”命令。不同的数据库对象有不同的设计视图。在各设计视图下,菜单栏及其菜单命令,以及工具栏的组成部会发生变化。2.退出Access系2选择“文件I退出,'命令。单击“关闭”按钮。Access将自动保存对数据的更改。如果意外地退出MicrosoftAccess,可能会损坏数据库。2.2.2Access数据库窗口数据库窗口左倒是7个Access数据库对象报钿,单击其中一个按钿,可在右侧显示已创建的该对象的所有实例。余今将知jrKDDRBOOK数据库(Access2000文件格式)方打开@)吆设计对象口表旬查询‘宜窗体报表勾页3宏发模块犯I使用设讨器创建表剪使用向导创建表四通过输入数据创建表-in|x|单击数据库窗口右上角的“关闭”按钿,可关闭Access数据库,但不会退出Access系统。2.2.3Access数据库中的对象一个Access数据库就是一个扩展名tJ.mdb的Access文件。Access数据库中包含表、查询、窗体、报表、页、宏和模块7种对象。不同的对Access数据库对象之间的关系示意图数据库对象⑴表表是数据库的核心与基础,存放着数据库中的全部数据。(2)查询查询是数据库中检索数据的对象,用于从一个或多个表中找出用户需要的记录或统计结果。查词对象必须基于表对象建立。(3)窗体窗体是用户与数据库应用系统进行人机交互的界面。(4)报表报表用于数据的打印输出,也可以按用户要求的格式和内容打印数据库中的各抻信息。窗体和报表对象的数据来源可以是表,也可以是查询。(5)宏宏是Access数据库中一个或多个操作的集合,其中每个操作实现特定的功能。利用宏可以使大量的重复性操作自动完成。(6)模块■模块是Access数据库中存放VBA代码的对象。宏和模块是弱化Access数据库功能的有力工具,可以在窗体或报表中被调用。(7)页(数据访问页)■页对象是一个独立的.htm文件,用于在浏览器中查看和处理Access数据库中的数据,以此支持数据库应用系统的Web访问方式。2.2.4Access系统设置Access为每个数据库郡提供了上百个功能选项■选择“工具I选项"命令,打开“选项''对话框。■对话框中共有12个选项卡,用户可以在不同的选项卡中进行相关的参数设置。2.3Access的联机帮助1,使用“Access帮助”任务窗格■ 选择“帮则MicrosoftOfficeAccess帮助”命令或者按【F1】快捷键,可打开“Access帮助”任务窗格。2,使用Office2手■选择“帮助I显示Office助手”命令,可以打开Office助手。.使用菜单栏帮助.使用屏幕提示功能■启动Access后,按下【Shift+F1】组合鲤,鼠标指针变成一个带有问号的箭头。Access3据库文件在Access数据库应用系统中,所有的数据库资源都是存放在一个数据库文件中,垓文件的技展名加mdb。创建Access数据库应用系统首先要建立一个Access数据库,数据库就是一个容器对象,其他Access对象均置于垓容器对象之中。数据访问页对象是一个独立的网页文件,保存在Access数据库文件之外,在Access数据库文件中保留的只是它的一个隹接。Access数据库的僦建.创建型数据库■启动Access后,选择“文件I新建”命令,在“新建文件”任务窗格中单击“空数据库”选项。■新建的数据库对象中尚无任何其他数据库子对象存在,是一个空的数据库容器。.使用向导创建数据库(1)在任务窗格中单击“本机上的模板”选项,在“模板''对话框中选择一个需要的模板,然后单击',确定"拔钿,保存数据库文件后,即可启动Access数据库向导。(2)限据向导的提示操作,会自动创建相应内容的数据库。■利用向导创建的数据库中会包含表、查询、窗体、报表、宏和模块等子对象(但不会包含页对象)。■用户可以根据实际需要修改这些对象,以减少数据库开发的工作量。3.3Access数据库版本的转换1.在Access2003中新建的Access数据库文件默认为Access2000文件格式。■Access2000格式的文件可以在Access2000或更高版本的系统中打开。.Access2003提供了格式转换功能,可以在不同文件格式之间转换(从低版本转为高版本,或从高版本转回低版本)。■打开Access文件,从“工具I数据库实用工具I转换数据库”菜单的级联子菜单中选择一种新的文件格式。.可以改变系统默认的数据库文件格式。■选择“工具I选项"命令,在“选项”对话框的“高级”选项卡中从“默认文件格式”列表中选择一神文件格式。第3章创建Access数据库Access数据库文件Access数据库的创建Access数据库文件在Access数据库应用系统中,所有的数据库资源都是存放在一个数据库文件中,顼文件的扩展名加mdb。创建Access数据库应用系统首先要建立一个Access数据库,数据库就是一个容器对象,其他Access对象均置于垓容器对象之中。数据访问页对象是一个独立的网页文件,保存在Access数据库文件之外,在Access数据库文件中保留的只是它的一个铤接。Access数据库的创建1创建空数据库■启动Access后,选择“文件I新建”命令,在“新建文件”任务窗格中单击“空数据库”选项。■新建的数据库对象中尚无任何其他数据库子对象存在,是一个空的数据库容器。2.使用向导创建数据库(1)在任务窗格中单击“本机上的模板”选项,在“模板”对话框中选择一个需要的模板,然后单击',确定”按钿,保存数据库文件后,即可启动Access数据库向导。(2)根据向导的提示操作,会自动创建相应内容的数据库。■利用向导创建的数据库中会包含表、查询、窗体、报表、宏和模块等子对象(但不会包含页对象)o■用户可以根据实际需要修改这些对象,以减少数据库开发的工作量。3.3Access数据库版本的转换1.在Access2003中新建的Access数据库文件默认为Access2000文件格式。■Access2000格式的文件可以在Access2000或更高版本的系统中打开。.Access2003提供了格式转换I力能,可以在不同文件格式之间转换(从低版本转为高版本,或从高版本转回低版本)。■打开Access文件,从“工具I数据库实用工具I特换数据库”菜单的级联子菜单中选择一种新的文件格式。.可以改变系统默认的数据库文件格式。■选择“工具I选项,'命令,在“选项”对话框的“高级”选项卡中从“默认文件格式”列表中选择-神文件格式.第4章创建与使用表创建表使用向导创建表使用设计器创建表利用输入数据创建表在表中输入记录表的进一步设计表的基本操作表的版面设置打印记录表的复制/删除/重命名数据的导人与导出排序和筛选记录排序记录筛选记录建立索引和关系建立索引建立关系使用向导创建表在Access中,利用表向导可以建立常用类型的数据表。Access通过提供示例表帮助用户快速完成表结构的定义。用户只能从示例表所提供的示例字段中选择需要的字段,对于示例表没有提供的字段,用户可以在向导创建工作结束后,用表设计器进行补充和修改。使用设计器创建表使用表设计器可以创建和修改用户需要的各神表结构,包括定义字段、选择字段的数据类型、设置字段的属性和定义主嫌等。.设计方法(1)打开数据库窗口,选择“表”对象,然后双击“使用设it器创建表”选项,打开表的设计视图。(2)在设计视图中定义表的各个字段,包括字段名称、数据类型和说明。(3)根据需要,设置字段属性,如字段大小、标题、默认值等。(4)根据需要,定义一个主嫌。(5)根据需要,建立索引。(6)选择“文件”菜单中的“保存”或“另存为”命令,保存表对象。.字段的命名规则(1)字段名可以是1〜64个西文或中文字符。(2)字段名中可以包含字母、数字、空格和特殊字符(除句号(.)、感呗号⑴、重音符号(')和方括号(口)之外)的任意组合,但不能以先导空格开头。(3)字段名中不能包含控制字符(从0〜31的ASCII码)o3.字段的数据类型(1)文本存销文本、数字或文本与数字的组合,最多为255个中文或西文字符,默认为50。文本类型的数字不能用于计算,只能用于名称、电话号码、邮政编码等。(2)备注存储较长的文本,最多为64,000个字符。(3)数字存储数值数据,长度为1、2、4、8等字节。具体的数字类型可由“字段大小”属性进一步定义。(4)货币存窗货币值,字段长度为8个字节。(5)日期/时间存福日期和时间数据,允许范围是100/1/1〜9999/12/31。日期/时间数据可用于计算,长度为8个字节。(6)自动编号内容为数字的流水号(初始值默认为1),长度为4个字节。在数据表中每添加一条记录时,Access都会自研给垓字段设置一个唯一的连续数值(增量为1)或随机数值。自动编号字段的值由系统设定,不能更改。(7)是/否存俯布尔数据,只有两个取值:"是''或"否"(Yes/No),“真”或“假”(True/False),“开”或“关”(On/Off),长度为1位。(8)OLE对象OLE对象是指在其他应用程序中创建的、可隹接或嵌入(插入)到Access数据库中的对象。字段长度最多为1G字节。(9)超捱接保存超处接的地址,可以是某个文件的路径UNC或URL。核字段最多存储64.000个字符。(10)查阅向导选择核字段类型后,会启动一个“查阅向导”,允许用户使用组合框选择来自其他表或来自值列表的值,字段长度为4个字节。■严格说,查词向导不是字段类型,而是帮助用户设计查阅列的辅助工具。.定义主鲤主嫌能峭唯一地标识表中的一个记录。主鲤可以由一个或多个字段组成,分别称为单字段主鲤或多字段主键。(1)主嫌的作用提高查词和排序的速度。在表中添加新记录时,Access会自动检查新记录的主嫌值,不允许垓值与其他记录的主嫌值重复。Access自动按主鲤值的时序显示表中的记录。如果没有定义主鲤,则按输入记录的时序显示表中的记录。(2)主嫌的特点一个表中只能有一个主健。主嫌的值不可重复,也不可为空(Null)o(3)定义主鲤的方法在表的设计视图中,选择要定义为主键的一个或多个字段,然后单击工具栏上的“主L”接钿。定义主嫌后,在主嫌左侧会显示一个钥匙状的图标,表示垓字段已被设为主键。.修改表结构(1)插入新字段将光标置于要插入新字段的位置上,执行“插入I行"命令。(2)删除字段招光标置于要M除的字段行,执行“编囿删除行"命令。如果被删除字段中已经存馅了数据,则该项数据将全部丢失。(3)改变字段的位置拖动字段选定器将核字段移到新的位置。(4)惨改字段修改字段的名称和数据类型,文本和数字类型的字段还可以修改大小。如果字段中已经存惆了数据,则修改字段类型或将字段的长度由大变小后,就可能会造成数据的丢失。利用输入数据创建表用户可以先输入一组数据,Access会根据输入数据的特点自动确定表中的字段以及字段的数据类型,从而建立新表。(1)5“新建表''对话框中,选择“数据表视图”选项,打开一个空的数据表视图。(2)在各列中输入具有相同培义和数据类型的一组数据,每一列对应一个字段。使用这仲方法创建的表,通常还需要在表设计视图中对表的结构作进一步修改,如修改字段名称和数据类型、定义主提、设置字段属性等。在表中输入记录.输入记录■在数据库窗口中双击要输入记录的表对象,打开数据表视图。■自动编号类型的字段■其值由系统自动生成,用户不能更改。■OLE对象类型的字段■选中要插入对象的单元格,执行“插入I对象”命令。■超链接类型的字段■直接在单元格中输入地址或路径■选择“插入I超链接”命令,打开“插入超隹接''对话框,输入地址或路径。■其他类型的字段■直接在单元格中输入数据。2.保存记录■在数据表视图中,记录选定器为“箭头状”,表示所指记录未更改或已保存。■记录选定器为“笔状”,表示所指记录正处于编辑状态,尚未保存。■自动保存:当光标从上一个记录移至下一个。■手动保存:选择“记录I保存记录“命令。3.编辑记录(1)切换记录:利用数据表视图的左下方的浏览技钿。(2)修改记录OLE对象类型的数据,重新执行“插川对象”命令。其他类型的数据,直接在相应的单元格中修改。(3)删除记录:选定要删除的记录,按【Del】键。(4)添加记录:表格末端的空白记录。(5)复制记录选择要复制的记录,执行“编辑I复制"命令。将插入点移到目标位置,再执行“编剧追加粘贴"命令。对表进行颛繁地删除或修改记录后,数据库文件可能变得很大,可以对数据库进行压缩,以减小其尺寸。4.1.5表的进一步设计.常规属性(1)字段大小决定一个字段所占用的存俯空间。该属性只对文本、数字和自动编号类型的字段有效。(2)格式控制数据在数据表视图、窗体、报表等界面中显示或打印的样式。可以选择系统预定义的格式,也可以自定义格式。(3)输入掩码是输入数据时必须遵守的标点、空格或其它格式要求,它可以限制数据输入的格式,以屏蔽非法输入。格式与输入施码的不同。(4)标题字段的“标题”文本将作为数据表视图、窗体、报表等界面中的栏目名称。如果没有为字段指定标题,Access默认用字段名作为各列的标题。(5)默认值为一个字段定义默认值后,在潦加新记录时Access将自动为该字段填人默认值,从而简化揄入操作。默认值的类型应该与垓字段的数据类型一致。(6)有效性规则和有效性文本有效性规则用于指定对输入到本字段的数据的要求,以保证用户输入的数据是正确有效的。有效性文本用于指定输入数据违反有效性规则时的提示信息。(7)必填字段只铲是”和“铲两个值,■值为“是”,表示本字段必须输入值,不允许为空;取值为“否”,表示本字段可以不输入值。(8)允许空字符串有“是”和“否”两个是值,“是”表示字段中可以不输入字符。(9)UnicodeJ±缩有“是''和"否”两个取值,"是"表示字段中可以存情和显示多种语言的文本。(10)输入法模式垓选项只对文本型字段有效,表示当焦点移至该字段时,输入法如何起作肌■随意、开启、关闭2.查同属性■为文本、数字和是/否类型的字段设置查阅属性。■该属性主要是设置在数据表视图或窗体中显示或输入数据时所用的控件。4.2.1表的版面设置利用“格式”菜单中的命令,可以更改数据表的工作版面。字体格式、表格的行高和列宽单元格的效果和背景色、边框和线条样式可以隐藏列或冻结列打印记录Access提供了直接打印记录的I力能,无需生成报表,就可以把表中的记录打印出来O打开数据表视图,执行“文件I页面设置”命令。在“页面设置''对话框中选择纸张、设置页边距等。选取要打印的记录,默认为全部打印。执行“文件I打印恒览”命令,预览要输出的记录。执行“文件I打印”命令。表的复制/删除/重命名.复制表■在同一个数据库中复制表■在数据库窗口中选中准备复制的数据表,然后执行“编辑I复秋'命令,再执行“编辑I-贴”命令。■将表从一个数据库复制到另一个数据库■在数据库窗口中选中复制的数据表,执行“编辑■制”命令。■打开接收表的数据库,执行“编剧粘贴”命令。.删除表■在数据库窗口中选中要删除的数据表,按【Del】键。.表的重命名■在数据库窗口中右击要重命名的表,选择“重命针’命令。4.2.4数据的导入与导出通过数据的导入和导出,可以实现与其他程序之间的数据共享。.数据的导入■将其他程序产生的表格形式的数据复制到Access数据库中,成为-个Access数据表。■在Access数据库窗口中执行“文件|获取外部数据|导人”命令。2.数据的导出■将Access数据表中的数据输出到其他格式的文件中。■在Access中打开要导出数据的表,执行“文件I导出”命令。4.3.1排序记录.表中记录的组织■默认情况下,表中的记录是按输入的顺序排列。■如果对表定义了主键,则表中的记录会自动按主鲤值排列。如果要按非主嫌值排列记录,可以使用Access的排序功能。.排序结果排序是以一个或多个字段为依据,将表中的记录按照一定的退辑励序排列。排序的方式有升序和降序两抻。通过排序可以使具有相同排序字段值的记录组织在一起。.快速排序对基于一个或多个相邻字段的数据可以进行快速排序。排序字段从左到右依次为主要排序字段、次要排序字段。方法■在数据表视图中,将光标定位在性别列的任一单元格中。■单击工具栏中的“升序排序”按钿。2.高级排序■对表中的多个不相邻的字段按不同的方式排列。■方法在数据表视图中执行“记录I筛选I高级筛选/排序''命令O在“筛选''对话框中设置排序字段。执行“筛选I应用筛选/排序”命令。4.3.2筛选记录筛选是根据用户指定的条件从一个表中找出所有满足孩条件的记录,而将不满足条件的记录暂时隐蕨起来,在筛选的同时还可以对表进行排序。.按选定内容筛选■将当前光标所在位置的内容作为条件进行筛选。■执行“记录I筛选I按选定内容筛选"命令。.按选定内容排除筛选■以不包含当前光标所在位置的内容作为条件进行筛选。■执行“记录I筛选I内容排除筛选"命令。.按窗体筛选一次可以指定多个筛选条件。筛选条件之间可以是相“早野关系,或相"或''的关系。方法执行“记录I筛选I按窗体筛选''命令。设置筛选条件。执行“筛选I应用筛选/排序”命令。4.高级筛选■应用高级筛选可以完成复杂的筛选。■方法执行“记录I筛选I高级筛选/排序'喻令。在“筛选”对话框中设置筛选条件。执行“筛选I应用筛选/排序"命令。建立索引索引(Index)■索引是数据库的重要阴能,用于在大量记录中快速检索数据使用索引可以提高查词的效率。在Access中可以基于单个字段或多个字段(10个字段)创建索引。通常对表中经常检索的字段、要排序的字段或要在查词中联接到其他表中字段的字段建立索弓I,OLE对象类型的字段不能设置索引。.索引的类型(1)主索弓I:主嫌就是主索弓I,主索引也就是主嫌。(2)唯一索弓|:该索引字段的值必须是唯一的,不能有重复。■在Access中,主索引只能有一个,而唯一索引可以有多个。(3)普通索引:核索引字段的值可以有重复。.建立索引■单字段的索引可以通过设置“索引”属性建立。“无”表示不建立索引。“有(有重复)”表示建立索引,且索引字段值允许重复。“有(无重复)''表示建立索引,且索引字段值不允许重复。■多字段的索引可以在索引对话框中建立。■打开表视图设计,单一工具栏上的“索弓I”按钿。■指定索引名称、索引字段、排序次序、索引类型索引有助于提高查词的速度,但索引愈多,数据库更新索引的频率也愈高,遇到大量数据时,反而会降低效能。4.4.2建立关系两个表之间可以通过公共字段或语义相同的字段建立关系,使得用户同时查询、显示或输出多个表中的数据。创建关系时,联接字段不一定要有相同的名称,但数据类型必须相同。联接字段在一个表中通常为主嫌,同时作为外盘存在于关联的表中,外燃的值应与主嫌的值相匹配。若联接字段在两个表中均为主嫌,则两表为一对一关系。若联接字段只在一个表中为主索弓I,则两表为一对多关系。关系中处于“一方''的表称为主表或攵表,处于另一方的表称为子表。.创建关系3)关闭所有打开的表,选择“工具I关系”命令。(2)从“显示表”对话框中将各表添加到“关系”窗口。(3)在“关系”窗口中将主表的主爆字段拖至子表的关联字段。(4)在“编辑关系”对话框进行相应的设置。■重新选择关联字段■单击“联接类矍'按钿,选择联接的类型■1-内部既接(默认),2-左外部联接,3-右外部联接■假据需要,选择“实施参照完整性"选项。■设置两个表之间的参照引用规则。2.实施参照完整性■在删除或更新表中数据时,系统会通过参照引用相关联的另一个表中的数据约束对当前表的操作,防止意外地删除或更改相关的数据。■级联更新相关字段■更改主表的主嫌值时,会自动更改子表中的对应数据。■级联删除相关字段■删除主表中的记录时,会自动删除子表中的相关记录。.编辑关系(1)修改关系关闭所有打开的表,打开“关系”窗口,双击要编辑的关系线,在“编辑关系”对话框中重新设置关系选项。(2)添加关系打开“关系”窗口,添加表,建立新的关系。(3)删除关系在“关系”窗口中,单击关系线,报[Del].在主表中查看子表记录■两个表建立关联后,在主表的每行记录前面出现一个“+”号,单击“+号,可展开一个窗口,显示子表中的相关记录。单击号,可折叠垓窗口。第5章查询设计查词概述选择查的I使用查谕向导创建查询使用设计器创建查询设置查词条件参数查阅交叉表查询操作查彻生成表查询删除查询追加查谕更新查询5.1杳词概述.查询(Query)是按照一定的条件或要求对数据库中的数据进行检索或操作。.查询的数据来源是表或其他查询。.使用查询可以按照不同的方式查看、更改和分析表中的数据,也可以作为其他查询、窗体、报表或数据访问页的数据源。.以是否更改数据源中的数据为标准,将查询分为选择查询和操作查询两类。选择查词是对一个或多个表中的数据进行检索、统计、排序、计算或注总,但不会更改表中的数据。操作查词以成组方式对数据表进行追加、更新、删除或生成新的表等操作。参数查词通过设置查词参数,形成一抻交互式的查词方式。交叉表查词可以对表中的数据进行分组汇总。5.2.1使用查询向导创建查冽.简单查词向导从一个或多个表和查词中选择要显示的字段。如果要显示的字段来自多个表,这些表必须事先建立关系。简单查词向导不能指定查词条件或者查词的排序方式。.查找重复项查询向导■在一个表或查词中查找具有重复字段值的记录。.查找不也配项查询向导■查找两个表中不匹配的记录。.操作■在数据库窗口中,选择查词对象,再单击“新建”报钿。■在“新建查询”对话框中,选择“简单查询向导”、"查找重复项查询向导”、"查找不匹配项查询向导”。5.2.2使用设计器创建查冽.在查词设计器中建立查词的一股过程(1)选择查词的数据源,可以是表或其他查词。(2)从数据源中选择需要查询的字段,也可以根据数据源中的字段建立一个表达式计算出需要查询的信息。(3)设置查词条件(4)设置排序或分组项(5)查看查词结果■单击“数据表视图”按钿(6)保存查词对象■选择“文件I保存”命令
・查询1・查询1:选择查询【例5.3】查词90分以上(包括90分)的学生姓名、选修的课程名和成绩,并按成绩由高到低排列。■分析查询字段:“姓名”、“课程名”、“成绩”数据源:“学生”表、“课程”表、“选课”表查询条件:"成绩>=90”查询结果:报成绩降序排列■注意■多表查询时通常向在各表之间建立联接,否则就不能得到正确的查询结果。■ID!xl学分FT-IZJa日号名利生•学姓性由字W■ID!xl学分FT-IZJa日号名利生•学姓性由字W是条【例5.4】查词各口选修课程的平均分,要求在查词结果中包含课程名和平均分。■分析■查词信息:课程各、平均分■“平均分”是一个计算数据,是对“选课”表中的成绩按课程分组统计,可以使用Access提供的总计功能来实现。■在查词结果中包含计算数据的列称为计算列。■数据源:“课程”表,“选课”表■分组项:课程名■总计操作:平均值,总计字段:成绩■对计算列的标题重命名【例5.5】查词“学生”表中所有学生的姓名,性别和年龄。■分析■查词信息:姓名、性别、年龄■年龄不能宜接从“学生”表中获得,可以利用系统当前日期和“出生日即’字段计算出来,计算表达式为:year(date())-year(出生日期)■数据源:“学生”表5.2.3设置查询条件.条件表达式■查词条件对应一个遐辑表达式,若表达式的值为真,则满足该条件的数据就包含在查询结果中。■退辑表达式是由常量、变量和函数通过运算符连接起来的式子,其值为一个是/否类型的数据。.常量的表示数字型常量:直接输入数值。如,25,-25,12.4文本型常量:用西文的单/双撇号括起来。如,‘英培',"英语”日期型常量:用“#”括起来。如,#1986-10-1#是/否型常量:yes,no,true,false.表达式中的运算符(1)算术运算符+、-、*(乘)、/(除)、八(乘方)、'(整型除法,结果为整型值)、Mod(取模,求两个数相除的余数)(2)条件运算符1比较运算:=、>、<、>=、<=、<>(不等于)②Between...And确定两个数据之间的范围。③In与指定的一组值比较,格式为:In(值1,值2,值3....)o④Like与指定的字符串比较,字符串中可以使用通配符。"?”任意一个字符,"*"多个字符,“#"任意一个数字⑤空值比较IsNull表示为空,IsNotNull表示不为空。3.表达式中的运算符(3)连接运算符“&”用于将两个字符串连接起来合并为一个字符串。(4)退辑运算符AND(与)、OR(或)、NOT(非)。NOT可加在条件运算符的前面,表示取反操作。4,函数函数是一抻能峭完成某种特定操作或功能的数据形式,函数的返回值称为函数值。函数调用的格式:函数名([参数1][,参数2儿…]).使用“表达式生成器”构建表达式.在“条件”栏中设置查词条件■在查询设计视图中,“条件''栏同一行的条件之间是“与''的关系,不同行的条件之间是“或”的关系。【例5.6】查询除了“公共英法”课以外的且成绩在80分以上的记录,包括学号、课程号和成绩,并要求先按课程号排序,同一门课程再技成绩降序排列。■分析■查词条件:课程名不是“公共英培”,并且成绩大于80。■排序项:“课程号”(主)、“成绩”(次,降序)段表序示件或字排显条
段表序示件或字排显条【例5.7】查询计算机系的学生和各系的所有男生,包括姓名、性刖和系部。■分析■查闽条件:“计算机”系,或者“即生生学期日号名别生*学姓性出字段表排序显示条件生学期日号名别生*学姓性出字段表排序显示条件或5.3参数查词设计方法■在选择查询中增加可变化的条件,即“参数”。■段置参数查询时,在“条件”行中输入以方括号(口)括起来的名字或知语作为参数的名称。■参数名不能与字段名相同。■查看参数查询时,会显示一个或多个预定义的对话框,提示用户输入参数值,并根据该参数值得到相应的查询结果。■在“条件”栏中段置的参数实际上是一个变量,用户输入的参数值就是该变量的取值,它与表达式中的其他项一制构成特定的查询条件。【例5.8】建立一个参数查词,按输入的系部值查找该系学生的学号、姓名、出生日期、系部和贷款否等信息。学号姓名出生日期系部贷款否学生学生学生学生学生W0叼回0[[话输入学生所在的系]........段表序示件或字排显条5.4交叉表查询交叉表查询计算并重新组次数据的结构,使用户更方便地分析数据。字段分成两组,一组显示在左边,另一组显示在顶部,行与列交叉的地方可以对数据进行总计、平均、计数等计算。查询由一个或多个行标题,一个列标题和一个总计值组成。设计方法使用向导■在“新建查询”对话框中,选择“交叉表查询向导”。■使用查询设计器■在查询设计视图中,选择“查询I交叉表查询”命令。[«5.121使用设计器创建交叉表查询,统计每个学生选修课程的平均成绩,要求在查询结果中显示学生的姓名和课程名。
*学姓性出号名别生岸直询1:交叉表查询姓名丽红国燕小晓君伟马王王张张平均分76.8333333333377.584.58487.577.8333333333379.25Access数据库程序设计72.5*学姓性出号名别生岸直询1:交叉表查询姓名丽红国燕小晓君伟马王王张张平均分76.8333333333377.584.58487.577.8333333333379.25Access数据库程序设计72.5837576多媒体技术应用66高等数学828582.568.5公共英语928184.586907682.5记录:<l|1>1>“一1共有记录数:75.5.1生成表查询根据一个或多个表中的全部或部分数据创建新表。操作:(1)在查词设计视图中,执行“查词I生成表查词”命令。(2)在“生成表”对话框中,输入新表的名称。■新表可以保存在当前数据库,也可以保存在其它数据库中。(3)在“生成表查词”窗口中设计查词。(4)单击工具栏的“数据表视图”按钮,预览查词结果。(5)单击工具栏上的“执行”按钮,执行生成表查词。■新表中的字段不会继承原数据表字段的属性。删除查询利用删除查询可以从表中删除一组记录。删除后的记录不能再恢复,事先应对数据进行备份。操作:(1)在查词设计视图中,执行“查词I删除查冲'命令。(2)在“删除查词”窗口中设计查词。(3)单击工具栏的“数据表视图”按钮,预览要被删除的记录。(4)单击工具栏的“执行”按钮,执行删除查闽。如果两个表之间建立了关系,并实肺了参照完整性规则同时允许级联删除,1对主表执行删除查询时,会级联删除子表中的匹配记录。追加查询利用追加查询可以将一个或多个表中的一组记录添加到其他表。■追加记录时只能追加相匹配的字段,其他字段被忽略。操作:(1)在查词设计视图中,执行“查词I追加查词”命令。(2)在追加”对话框中,输入要追加记录的表名称■被追加记录的表可以在当前数据库或其它数据库中。(3)在“追加查询”窗口中设计查询。(4)单击工具栏的“数据表视图”按钮,预览查词结果。(5)单击工具栏上的“执行”按钮,执行追加查彻。5.5.4更新查询利用更新查询可以对表中指定的字段成批修改字段值。操作:(1)在查词设计视图中,执行“查词I更新查冲'命令。(2)在“更新查询”窗口中设计查询。(3)单击工具栏的“数据表视图”报钮,预宽查词结果。(4)单击工具栏的“执行”按钮,执行更新查词。第6章SQLgWSQL语言概述数据定义定义表修改表删除表数据操纵插人记录更新记录删除记录数据查阅查闽的基本第法单表查阅多表查渤嵌套查询合并查阅SQL语言概述SQL语言是数据库的标准话言,主要特点:(1)高度集成化集数据定义、数据操纵、数据查词和数据控制DJ能于一体。(2)高度非过程化用SQL语言进行数据操作,不必告诉计算机怎么做,只要提出做什么,系统就可以自动完成全部工作。(3)面向集合的操作方式采用集合操作方式,操作对象和操作结果那是记录集。(4)简浩易学SQL培言完成核心功能只用了9个命令动词,且接近英谙的自然语深。(5)用法灵活SQL语言既可以独立使用,也可以嵌入到高级培言中使用。6.2.1定义表1.在Access中使用SQL语句(1)打开查词设计视图。(2)执行“查询ISQL特定查邮数据定义”命令,在“数据定义查询”窗口中输入SQL语句。■在“数据定义查词''窗口中一次只能输入一条SQL培句。(3)单击工具栏的“运行”按钮,执行SQL培句。(4)限据需要,将SQL培句保存为一个查词对象,或宜接关闭查词窗口。.使用CREATETABLE诏句定义表CREATETABLE〈表名〉(〈字段名1><数据类型1乂((大/]<>)][NOTNULL][PRIMARYKEY|UNIQUE][,<字]名2><数据类型2>k大小刈[NOTNULL][PRIMARYKEY|UNIQUE]字段的数据类型必须用字符表示。定义单字段主嫌或唯一鲤时,可以直接在字段名后加上PRIMARYKEY或UNIQUE关键字。定义多字段主鲤或唯一堪,应使用PRIMARYKEY或NIQUE子句。使用references子句可以在两表之间建立关系。[例6.1]使用SQL培句定义一个名为STUDENT的表:学号(文本型,6字符)、姓名(文本型,3字符)、性别(文本型,1字符)、出生日期(日期/时间理)、贷款否(是/否型)、简加(备注型)、照片(OLE对象型),学号为主嫌,姓名不允许为空值。createtablestudent(学号text(6)primarykey,姓名text(3)notnull,性刖text(1),出生日期date,贷款否logical,简历memo,照片OLEObject)【例6.3]定义SC的表:学号(文本型,6字符)、课程号(文本型,3字符)、成绩(单精度型),主嫌由学号和课程号组成。createtablesc(学号text(6),课程号text(3),成绩single,primarykey(学号,课程号))如果要在STUDENT、COURSE.SC之间通过“学号”和“课程号”字段建立关系,可以修改SC表的定义。createtablesc(学号text(6)referencesstudent(学号),操程号text(3)referencescourse(课程号),成绩single,primarykey(学号,课程号)).使用CREATEINDEX话句建立索引CREATE[UNIQUE]INDEX〈索引名称>ON<表名〉(〈索引字段1>[ASC|DESC][,<g引字段2>[ASC|DESC儿…]])[WITHPRIMARY]■UNIQUE指定唯一索引,WITHPRIMARY指定主索引。【例6.4】使用SQL语句建立索弓|,COURSE表按课程名建立唯一索引,索引名称为cnameoSC表按课程号升表和成绩降序建立索引,索引名称为cno_score0createuniqueindexcnameoncourse(课程名)createindexcno_scoreonsc(操程号,成绩desc)6.2.2修改表.惨改字段ALTERTABLE〈表名〉ALTER(字段名><数据类型乂〈大小〉)■使用该命令不能修改字段名。.2加字段ALTERTABLE〈表名〉ADD〈字段名><数据类型>(<大小>).刷除字段ALTERTABLE〈表名〉DROP〈字段名〉[例6.5]在STUDENT表中揩加一个“电话号码”字段(长整型),然后将该字段修改为文本型(8字符),最后删除该字段。altertablestudentadd电话号码integeraltertablestudentalter电话号码text(8)altertablestudentdrop电话号码6.2.3剧除表.删除索引DROPINDEX〈索引名称>ON<表名〉.删除表DROPTABLE〈表名〉■删除表后,在表上定义的索引也一起被删除。[例6.6]删除COURSE表中名为“CNAME”的索引项。dropindexcnameoncourse6.3.1插入记录INSERTINTO(表名>[(〈字段名1>卜字段名2>[,…]])]VALUES(〈表达式1>卜表达式2>[,…]])■如果INTO后缺省字段名,则必须为新记录中的每个字段那赋值,且插入数据的类型和即序要与表中定义的字段一一对应。【例6.7】向STUDENT表中插入2个学生记录。Insertintostudentvalues("900009","M娟女",#1990-5-26#,yes.null,null)Insertintostudent(学号,姓名,性别)values("900008","李荣库男")更新记录UPDATA〈表名〉SET<字段名1>=〈表达式1>丁字段名2>=〈表达式2>[,…]][WHERE(条件>]■如果不带WHERE子句,则更新表中所有的记录。■如果带WHERE子句,则只更新表中满足条件的记录。[例6.8]将STUDENT表中所有女生的“贷款否”字段改为“否”。updatestudentset贷款否=nowhere性别="女"删除记录DELETEFROM<表名>[WHERE<条件>]■如果不带WHERE子句,则删除表中所有的记录(该表对象仍保留在数据库中)。如果带WHERE子句,则只删除表中满足条件的记录。[例6.9]删除STUDENT表中学号为“900008”的学生记录。deletefromstudentwhere学号="900008”查询的基本语法SELECT谙句的基本格式:SELECT[ALLIDISTINCT][TOP®>[PERCENT]]〈目标列〉HAS]〈列标题》]FROM<表或查词1〉[[AS]<刖名1>],〈表或查询2>[[AS]<别名2>][WHERE〈联接条件〉AND(筛选条件>][GROUPBY(分组项>[HAVING〈分组筛选条件>]][ORDERBY<排序项>[ASCIDESC]]SELECT命令中各子句与查询设计器中各项之间的对应关系。SELECT子句查询设计器中的选项SELECT〈目标列)“字段”栏FROM俵或查询)“显示表”对话框WHERE播选条件》“条件”栏GROUPBY<分蛆项)“总计”栏ORDERBY守F序项)“排序”栏单击工具栏上的“视图”按钿,从视图列表中选择“SQL视图”选项或“设计视图”选项,可以在SELECT命令输入窗口和查词设计器窗口之间切换。单表查询单表查询仅涉及一个表的查询。1.查词表中的若干列■从表中选择需要的目标列。格式:SELECT〈目标列1>[,<目标列2>[,…]]FROM〈表或查词〉(1)查词指定的字段在目标列中指定要查词的各字段名。(2)查彻所有的字段在目标列中使用“*”。(3)消除重复的记录在字段名前加上DISTINCT关鲤字。(4)查词计算值【例6.13】查询“学生”表中所有学生的姓名、性耨和年龄。select姓名,性剧,vear(date())-vear(出生日期)as年龄from学生■“AS子句”的作用是改变查词结果的列标题2.选择查词■从表中选出满足条件的记录。格式:SELECT〈目标列〉FROM〈表名〉WHERE(条件>■WHERE子句中的条件是一个退辑表达式,由多个关系表达式通过遐辑运算符连接而成。[6.15]查词“学生”表中计算机系女生的学号和姓名。select学号,姓名from学生where性别="女”and系部="计算机”[例6.17]查词“选课”表中成绩在80〜90分之间的记录。select*from选课where成绩between80and90.排序查词使用ORDERBY子句可以对查词结果按照一个或多个列的升序(ASC)或降序(DESC)排列,默D是升序。格式:ORDERBY<排序项〉[ASCIDESC][0(6.20]查词80〜90分的记录,同一门课程按成绩降序排。select*from选课where成绩between80and90orderby课程号,成绩desc■使用TOP短培可以选出排在前面的若干记录。格式:TOP〈数值〉或TOP(数值〉PERCENTTOP子句必须和ORDERBY子句同时使用。[6.21]查词“选课”表中成绩排在前5名的记录。selecttop5*from选探orderby成绩desc.分组查词使用GROUPBY子句可以对查词结果技照某一列的值分组。分组查词通常与SQL聚合函数一起使用,先按指定的数据项分组,再对各组进行合计。如果未分组,则聚合函数将作用于整个查询结果。常用聚合函数:COUNT、AVG、SUM、MIN、MAX[M6.22]统计“学生”表中的学生人数。selectcount(*)AS总人数from学生[0(6.23]统计“学生”表中各系的学生人数。select系部,count(*)as各系人数from学生groupby系部如果分组后还要求技一定的条件对这些组进行筛选,可以在GROUPBY子句后加上HAVING短培指定筛选条件。HAVING短篇必须和GROUPBY子句同时使用。【例6.25】查词选修了3门以上课程的学生学号。select学号from选课groupby学号havingcount(*)>=3【例6.26】查询选修了3n及以上课程,并且成绩在75分以上的学生学号。select学号from选课where成绩>=75groupby学号havingcount(*)>=3■当WHERE子句、GROUPBY子句、HAVING子句同时出现时,先执行WHERE子句,从表中选取满足条件的记录,然后执行GROUPBY子句对选取的记录进行分组,再执行HAVING短谙从分组结果中选取满足条件的组。6.4.3多表查询.多表查询同时涉及两个或多个表的数据。.多表查询时,通常需要指定两个表的联接条件,垓条件放在WHERE子旬中,格式为:SELECT〈目标列》FROM(表名1>,〈表名2>WHERE〈表名1>.〈字段名1>=〈表名2〉.〈字段名2>.联接条件中的联接字段一般是两个表中的公共字段或语义相同的字段。.在SELECT命令中可以使用表的别名。格式:SELECT(目标列〉FROM〈表名1〉〈别名1〉,〈表名2>〈别名2>WHERE(别名1>.〈字段名1>=(别名2〉.〈字段名2>【例6.27】查词所有学生的学号、姓名、选修的课程号和成绩。select学生.学号,姓名,课程号,成绩from学生,选操where学生.学号=选课.学号或selectxs.学号,姓名,课程号,成绩from学生xs,选操xkwherexs.学号=xk.学号【例6.28】查词85分以上的学号、姓名、选修课程号和成绩。selectxs.学号,姓名,课程号,成绩from学生xs,选课xkwherexs.学号=xk.学号and成绩>85WHERE子句中同时包含了联接条件和查询条件多表查询时,还可以使用另一种联接格式:SELECT(目标列〉FROM(表名1>INNERJOIN|LEFTJOIN|RIGHTJOIN(表名2>ON〈表名1>.〈字段名1>=(表字2>.<字段名2>INNERJOIN内部联接LEFTJOIN左外部联接RIGHTJOIN右外部联接【例6.28】查词85分以上的学号、姓名、选修课程号和成绩。selectxs.学号,姓名,翼程号,成绩from学生xsinnerjoin选课xkonxs.学号=xk.学号where成绩>856.4.4嵌套查询嵌套查询是将一个SELECT培句包含在另一个SELECT培句的WHERE子句中,嵌套查询也称为子查询。子查询(内层查询)的结果用作建立其攵查词(外层查询)的条件,因此,子查询的结果必须有确定的值。利用嵌套查询可以将几个简单查词构成一个复杂查词,从而增强SQL的查询能力。【例6.30】查词“王小丽”选修的操程和成绩。select学号,课程号,成绩from选操where学号=(select学号from学生where姓名="王小丽”)括号内的SELECT培句为子查词,括号不能觎少。■6.4.5合并查询将两个SELECT语句的查词结果通过并运算(UNION)合并为一个查询结果。进行合并查询时,要求两个查询结果具有相同的字段个数,并且对应字段的数据类型也必须相同。【例6.32】查词沫律系和金融系学生的学号、姓名和性别。select学号,姓名,性别from学生where系部=“法律”unionselect学号,姓名,性别from学生where系部]金融”第7章窗秣设计窗体概述使用自创功能创建窗体使用向导创建窗体使用设计器创建窗体窗体的设计环境设计窗体常用控件的设计标签控件文本框控件组合框和列表框控件命令按钿控件其他控件使用窗体操作数据7建主子窗体7.1窗体概述窗体是用户与Access数据库应用系统进行人机交互的界面,用户可以通过窗体上的各押控件方便而直观地查看、输入或更改数据库中的数据。.窗体的类型(1)从功能上来分,有3抻类型:①切换面板窗体:打开其他窗体或报表,控制应用程序的流程。②数据输入窗体:输入、显示和修改数据。③自定义对话框:接受用户的命令并依照命令执行某抻操作。(2)从工作方式上分,有5种类型:①纵栏式:一屏只显示一条记录,一个字段占一行。②表格式:一屏可显示多条记录,一条记录占一行。③数据表:以二维表格的形式显示数据,每个记录为一行,每个字同为一列。④数据透视表:类mExcel的数据透视表。⑤数据透视图:以图表形式显示数据。.窗体的视图■设计视图、窗体视图、数据表视图、数据透视表视图、数据透视图视图■单击“视图”按钿,可以从一个视图切换到另一个视图。3.窗体的数据源与窗体相关联的表或查词称为窗体的数据源或记录源,它是窗体信息的来源。在Access中,窗体只能使用一个表或查询作为数据源。若要创建使用多个表的数据的窗体,可以先根据这些表建立一个查询,再将垓查询作为数据源。单纯执行命令操作的窗体不需要数据源。使用自动身能创建窗体使用自动创建窗体功能可以快速创建不同工作类型的数据体。操作:①在数据库窗口中,选择“窗体”对象,单击“新建”按钮。②在“新建窗体''对话框中选择“自动创建窗体:纵栏式”选项,并确定数据源。③单击“确定”按钿,Access自动创建一个纵栏式窗体。④单击窗体底部的导航按钮可以浏览各条记录。⑤选择“文件I保存"命令,保存窗体对象。使用向导创建窗体.利用窗体向导创建窗体■在“新建窗体''对话框中,选择“窗体向导”选项。.利用数据透视表向导创建窗体■ 在“新建窗体''对话框,选择“数据透视表向导”选项。.利用图表向导创建窗体■在“新建窗体''对话框中,选择“图表向导”选项。7.4.1窗体的设计环境1.在窗体设计器中创建窗体的一殷过程(1)在数据库窗口中双击“在设计视图中创建窗体",打开窗体设计视图。(2)选择窗体的数据源(3)在窗体上添加控件从字段列表框中将需要的字段柩放到窗体上,系统会根据字段的类型自动生成相应的控件,并在控件和字段之间建立关联。从“工具箱”中将需要的控件添加到窗体上。(4)设置对象的属性:“属性”窗口。(5)查看窗体的设计效果单击工具栏的“视图”按钿,切换到窗体视图。(6)保存窗体对象:执行“文件I保存”命令。2,窗体的设计视图窗体的设计视图包括窗体页眉、页面页眉、主体、页面页脚和窗体页脚5个部分,每个部分称为一个“节”。打开设计视图时,默认只有主体节。选择“视图”菜单中的“窗体页眉/页脚”或“页面页眉/页脚''选项可以使用其他各节。窗体中各节的作用:窗体页眉:常用来显示说明信息、日期、标志图案等。■在打印窗体时,只在第一页的开头打印一次。■页面页眉:只在设计视图或打印窗体时出现。■每页开头打印一次。■主体:窗体的主要段计区域,通常用来显示或操作数据源中的记录。■页面页脚:只在设计视图或打印窗体时出现。■每页末尾打印一次。■窗体页脚:常用来显示日期、汇总信息等。■在打印窗体时,出现在主体节的最后一项数据之后。3.工具箱■列出了在窗体上使用的各种控件。
■控件是由Access预先定义好的、以图形化方式显示出来的、能与用户进行交互的对象。■将鼠标移至某个控件按钮上,鼠标下方会显示垓控件的名称。||寸」44abi巴=@巨3』一国照管旧口国\口的]4.属性窗口■窗体和控件是窗体设计的主要对象,它们都具有一系列的属性,这些属性决定了对象的特征,以及如何对对象进行操作。■对象的属性可以在属性窗口中设置。■窗体对象名称框窗体格式|数据I事件I其他I全部对象名称框窗体格式|数据I事件I其他I全部I属性.........默认视图 允许“窗体视图...允许“数据表”视图允许“数据透视表”视图允许“数据透视图”视图滚动条 记录选择器 导航按钮 分隔线 自动调整 自动居中 边框样式 控制框 最大最小化按钮....学生表单个窗体是是是是两者都有是是B是否可调边框是两者都有二J属性列表框属性值7.4.2设计窗体.段计窗体.调整控件的大小和位置(1)选择控件选择单个控件:单击控件。选择多个控件:按住【Shift】堪,再依次单击各控件。(2)移动控件(3)改变大小:拖动控件4个边或3个角上的控制点。■按住【Shift】键,再按键盘上的方向提,可进行微调。(4)删除控件:选中控件后,按[Del]to(5)对齐和排列:利用对象快捷菜单中的“对齐”菜单项。利用窗口“格式''菜单中的命令可以改变控件在窗体上的布局.4.窗体的常用属性(1)格式属性■标题:窗体标题栏中显示的文字。■默认视图:窗体的显示样式■连续窗体、单一窗体、数据表滚动条:指定窗体上是否显示滚动条。记录选择器:指定窗体上是否显示记录选择器。导航按钿:指定窗体上是否显示导航按钮。分隔线:指定窗体上是否显示各节之间的分隔线。自动居中:窗体显示时是否自动在windows窗口中居中。边框样式:“无边框”、"细边框”、“可调边框”、“对话框边框“宽度:设置窗体中各节的宽度。(2)数据属性①记录源:指定窗体信息的来源,可以是一个表或查词。查彻是一个已经存在的查词对象,或一条SQL查询培句。②筛选:对数据源中的记录设置筛选规则。③排序依据:对数据源中的记录设置排序依据和排序方式。④允许编辑、允许添加、允许删除:决定窗体运行时是否允许对数据进行编辑修改、添加或删除操作。⑤数据人口:若为“是”,则窗体打开时,只显示一个空记录。若为“否”,州打开窗体时,显示数据源中已有的记录。⑥记录集类型:指定窗体数据来源的记录集模式。⑦记录锁定:指定多用户环境下打开窗体后的锁定记录方式,有“不钺定”、“所有记录”和“编楫的记录”3个选项。标签控件标签(Label)是在窗体上显示文本信息,不能用于数据操作。标签控件的常用属性:(1)名称:控件的一个标识符。在Access中,每个控件都必须有一个名称,而且同一个窗体上的各个控件的名称不能相同。(2)标题:标签中显示的文本内容。不要与标签的“名称"属性相混淆。(3)背景样式:指定标签的背景是否是透明的。(4)前景色、背景色:前景色是标签内文字的面色,背景色是标签的底色。(5)宽度、高度:设置标签的大小。(6)边框样式、边框独色、边框宽度:设置标签边框的格式。(7)字体名称、字号、字体粗细:设置标签内文字的格式。文本框控件文本框(Text)是一个交百式控件,既可以显示数据,也可以接受数据的输入。.文本框的类型■绑定型文本框:以窗体数据源中的某个字段作为数据来源,在文本框中可以显示、输入或更新数据库中的字段。■非那定型文本框:文本框控件没有数据来源。■使用非绑定型文本框可以显示文本、线条、矩形或图像。■计算型文本框:以表达式作为数据来源。表达式由运算忤、常量、字段名、控件名和函数组成。■每次打开窗体时,都要重新计算表达式。2.文本框控件的常用属性(1)控件来源绑定型文本框来源为数据源中的表或查询中的一个字段。计算型文本框来源为计算表达式(表达式前要加等号"=”)。非那定型文本框控件,不需要指定控件来源。(2)输入掩码:设置数据输入格式。(3)默认值:设置文本框控件的初始值。(4)有效性避则和有效性文本:设置输入或更改数据时的合法性检查表达式,以及违反有效性规则时的提示信息。(5)可用:指定文本框控件是否能峭获得焦点(插入点光标)。(6)是否锁定:指定文本框中的内容是否允许更改。如果文本框被锁定,则其中的内容不允许被修改或删除。
7.5.3组合框和列表框控件组合框(Combox)和列表框(List)控件都提供了一个值列表,通过从列表中选择数据完成揄人工作。.组合框与列表柩的使用组合框是列表框与文本框的组合。列表框只允许用户从列表中选择一个选项。组合框和列表框中选项的数据来源可以是表、查词,也可以是用户提供的一组数据。在Access中,可以利用控件向导或自定义方式来创建组合框或列(1)列数:默认为1。如果大于1,在组合框中可显示多列数据。(2)控件来源:与组合框控件建立关联的表或查词中的字段。(3)行来源类型、行来源:数据来源的类型及具体的数据来源。行来源类型为“表/查询”,在行来源中要指定一个表或查词。行来源类型为“值列表”,在行来源属性框中要输入一组取值。行来源类型为“字段列表”,在行来源中要指定一个表或查词。(4)绷定肌在多列组合框中指定将哪一列的值存入控件来源字队(5)限于列表:若为“是”,则在文本柩中输入的数据只有与列表中的某个选项相符时,Access才接受垓输入值。7.5.4命令按钿控件.命令按钿(Command)是窗体中用于实现某抻功能操作的控件,其操作代码通常放在命令按钿的"单击”事件中。.使用控件向导可以很方便地生成一个命令按钿。■在工具箱中先按下“控件向导"按钮,然后在窗体上添加一个“命令按钿”控件,系统自动启动命令按钿向导。■为命令按钿指定不同的动作。7.5.5其他控件.选项按钿控件、复选框和切换按钮是用于表示“是"/"否''的控件。选项按钿又称为单选按钿,主要用于从一组选项中选择一项。复选框可以单独使用,同时使用多个复选框时允许选择多项。切换按钮主要用于"开''或"关''的选择,通常是成组使用。选项按钮和切换按钮通常与选项组绑定在一起,构成一组选项。.选项组控件■选项组(Frame)是一个容器控件,里面可以包含其他对象,如选项按钿、切换按钿、命令按钿等。■选项组控件本身不能用来操作数据,其作用是:(1)与若干具有相同性质的选项按钮、复选框或切换报钿绑定在一起,构成一组选项
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑材料质量飞检检测方案
- 学校自然灾害应急预案
- 水肥一体化在水资源管理中的重要性方案
- 学校安全事故应急预案及制度
- 2024至2030年中国纸盒打码钢字头数据监测研究报告
- 门店销售管理制度
- 2024至2030年中国八人餐桌行业投资前景及策略咨询研究报告
- 2024至2030年中国中斜面水晶照片数据监测研究报告
- 2024年中国静电喷枪配件市场调查研究报告
- 2024至2030年吹沙枪项目投资价值分析报告
- 山西陆合集团恒泰南庄煤业有限公司矿山矿产资源开发、地质环境保护与土地复垦方案
- 酒店账单-水单-住宿
- 2023年山东春季高考数学试题word版(含答案解析)
- 我的连衣裙【经典绘本】
- 中国石油化工集团公司职工违纪违规行为处分规定
- 深圳市某河道排涝工程监理规划
- 课堂教学评价标准
- 2021年中国环卫行业及环卫设备(环卫装备)行业现状及趋势分析
- YS/T 1113-2016锌及锌合金棒材和型材
- FZ/T 82006-2018机织配饰品
- 医院七步洗手法评分考核表
评论
0/150
提交评论