《Access2007在无线网络优化中的应用v1.0.doc》由会员分享,可在线阅读,更多相关《Access2007在无线网络优化中的应用v1.0.doc(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、如有侵权,请联系网站删除,仅供学习与交流Access2007在无线网络优化中的应用v1.0Access2007处理KPI数据Access在无线网络数据分析中的应用【精品文档】第 25 页版本更新说明产品版本资料版本资料编号资料更新说明手册第一次发行增加模块作者资料版本日期作者审核者批准者1.02011-10-25关于这篇文档摘要章节描述1 前言2 认识ACCESS20073 数据库常识4 用Access2007进行GSM扩容分析5 SQL语句常识目录1前言12认识ACCESS200722.1启动ACCESS 200722.2ACCESS中的对象32.2.1“表”对象42.2.2“查询”对象52
2、.2.3“窗体”对象62.2.4“报表”对象62.2.5“宏”对象62.2.6“模块”对象72.3ACCESS中的数据82.3.1ACCESS可用字段的数据类型82.3.2ACCESS中的运算符92.3.3ACCESS表达式122.3.4ACCESS中的函数133数据库常识153.1表153.2记录和字段163.3值163.4表关系173.4.1什么是表关系173.4.2表关系的类型173.4.3表关系相关操作183.5索引223.6主键233.7外键244用ACCESS2007进行GSM扩容分析254.1新建数据库254.2导入现网数据264.3在ACCESS中进行数据查询314.4创建表关
3、系344.5交叉表统计384.6生成报表414.6.1报表示例425SQL语句常识43图目录图 21 Access2007启动路径2图 22 Access2007启动界面3图 23 Access2007工作界面3图 24 数据库中“表”对象4图 25 表关系5图 26 “查询”对象示例5图 27 “报表”打印示例6图 28 “宏”对象示例7图 29 条件宏示例7图 31 话务量统计表示例16图 41 新建空白数据库步骤25图 42 新建空白数据库26图 43 选择外部表格导入数据库27图 44 选择导入表格的sheet页27图 45 选择标题行作为表字段28图 46 设置字段数据类型28图 4
4、7 为表格选择主键29图 48 为导入数据库的表命名29图 49 完成表格导入30图 410 显示导入表格数据30图 411 UMTS NodeB上下行PS业务分布情况报表42图 412 GSM Utilization统计报表43表目录表 21 Access 2007 中的字段可用的数据类型8表 22 Access 2007 中的算术运算符及其功能9表 23 Access 2007 中的关系运算符及其功能9表 24 Access 2007 中的逻辑运算符10表 25 Access 2007 中的通配符10表 26 一些示例表达式和通常的使用方式121 前言网规网优工程师在具体项目中会涉及到KP
5、I分析、扩容计算等工作,然而,我们网管话统的数据经常是非常的庞大;会涉及到不同RNC/BSC级,不同时间粒度的多张表格;此外,还有现网工参表、配置表、热点区域分类表等;我们往往需要查找某些站一个时段的KPI,并且要显示它的配置和所属区域,我们最常用的就是用EXCEL的VLOOKUP功能来实现,如果查找一列数据用一次VLOOKUP即可,要是多列的话就需要多次输入公式,很多时候我们还要注意EXCEL单元格里面的格式问题,如果格式有问题,VLOOKUP是怎么都出不来的;如果用Access2007来查找就很方便,随便查找多少列,操作很简便,拖入你需要显示的列名即可;我们可能对专业的数据库软件不熟悉,比
6、如PLSQL Developer,其实我们的工作也不需要这么专业的软件来做,我们有自己的网管软件Netnewman,我们只需要能将网管里面导出来的EXCEL表格能进行二次处理即可,那么Access数据库作为我们二次处理工具来说,提供了很好的适用功能;尤其是查询、汇总、计算功能;可能有人在想,Access这个工具平时也不用,是不是需要学习很多数据库知识、SQL、VBA语言呢?其实我们大多数工科学生在大学的时候就学习过SQL语言、数据库知识,现在只要稍微回忆一下即可,只要会建立表之间的一对一、一对多的关系即可,SQL语言忘记都行,按照Access的向导就能完成各种查询。Access 也内嵌了VBA
7、模块,如果不使用VBA代码,很多高级的Access技术就不能实现,对于我们处理KPI数据来说,这些高级的功能一点都不需要用即可完成。用EXCEL处理KPI数据有如下缺点:1、 表的管理比较繁琐,需要保存多个不同的表格,这样会搞得很乱,需要不停的另存为其他名字文件作为处理过程来区别与原始文件;2、 多个表合并建立关系复杂,需要反复用VLOOKUP功能来查询需要的值;3、 对大数据量的表查询计算速度慢,尤其是包含了公式的表,除非将表中的值转换为数值;Access处理KPI数据特点:1、 可以将所有的表格一次都导入Access数据库,集中存放,方便数据管理;2、 多个表联合查询非常方便,按照查询向导
8、即可完成;3、 对单个表或多个表中的记录汇总非常方便;4、 对大数据量的表查询计算速度快;5、 无需SQL语言能力也可完成操作;2 认识ACCESS2007Access是美国Microsoft公司推出的关系型数据库管理系统 (RDBMS) ,它作为Office的一部分,具有与Word、Excel和PowerPoint等相同的操作界面和使用环境。2.1 启动Access 2007当用户安装完Office 2007(典型安装)之后,Access 2007也将成功安装到系统中,这时启动Access就可以使用它来创建数据库。图 21 Access2007启动路径图 22 Access2007启动界面图
9、 23 Access2007工作界面2.2 Access中的对象 表是Access数据库的对象,除此之外,Access 2007数据库的对象还包括查询、窗体、报表、宏以及模块等。 “表”对象 “查询”对象 “窗体”对象 “报表”对象 “宏”对象 “模块”对象 2.2.1 “表”对象表是同一类数据的集合体,也是Access数据库中保存数据的地方。一个数据库中可以包含一个或多个表,表与表之间可以根据需要创建关系。图 24 数据库中“表”对象图 25 表关系2.2.2 “查询”对象我们把使用一些限制条件来选取表中的数据(记录)称之为“查询”。类似于Excel表格里面的条件查询。例如,查询话务量大于1
10、00Erl的小区基本数据等。用户可以将查询保存,成为数据库中的“查询”对象,在实际操作过程中,就可以随时打开既有的查询察看,提高工作的效率。图 26 “查询”对象示例2.2.3 “窗体”对象 窗体是用户与Access数据库应用程序进行数据传递的桥梁,其功能在于建立一个可以查询、输入、修改、删除数据的操作界面,以便让用户能够在最舒适的环境中输入或查阅数据。这个属于高级应用,感兴趣的可以深入学习VBA编程和窗体应用。2.2.4 “报表”对象 报表用于将选定的数据以特定的版式显示或打印,是表现用户数据的一种有效方式,其内容可以来自某一个表也可来自某个查询,在Access中,报表能对数据进行多重的数据
11、分组并可将分组的结果作为另一个分组的依据,报表还支持对数据的各种统计操作,如求和、求平均值或汇总等。图 27 “报表”打印示例2.2.5 “宏”对象 宏是一个或多个命令的集合,其中每个命令都可以实现特定的功能,通过将这些命令组合起来,可以自动完成某些经常重复或复杂的操作,如图所示。 图 28 “宏”对象示例图 29 条件宏示例2.2.6 “模块”对象 模块就是所谓的“程序”,Access虽然在不需要撰写任何程序的情况下就可以满足大部分用户的需求,但对于较复杂的应用系统而言,只靠Access的向导及宏仍然稍显不足。所以Access提供VBA(Visual Basic for Applicatio
12、n)程序命令,可以自如地控制细微或较复杂的操作。该功能与Excel完全一样。2.3 Access中的数据2.3.1 Access可用字段的数据类型Access 2007定义了10种数据类型:文本(Text)、备注(Memo)、数字(Number)、日期/时间(Date/Time)、货币(Currency)、自动编号(Auto Number)、是/否(Yes/No)、超级链接(Hyperlink)、OLE对象(OLE Object)、查询向导(Lookup Wizard)。 表 21 Access 2007 中的字段可用的数据类型数据类型存储大小文本字母数字字符用于不在计算中使用的文本或文本和数
13、字(例如,产品 ID)。最大为 255 个字符。备注字母数字字符(长度超过 255 个字符)或具有 RTF 格式的文本。用于长度超过 255 个字符的文本,或用于使用 RTF 格式的文本。例如,注释、较长的说明和包含粗体或斜体等格式的段落等经常使用“备注”字段。最大为 1 GB 字符,或 2 GB 存储空间(每个字符 2 个字节),可以在控件中显示 65,535 个字符。数字数值(整数或分数值)。用于存储要在计算中使用的数字,货币值除外(对货币值数据类型使用“货币”)。1、2、4 或 8 个字节,或 16 个字节(用于同步复制 ID 时)。日期/时间日期和时间。用于存储日期/时间值。请注意,存
14、储的每个值都包括日期和时间两部分。8 个字节。货币货币值。用于存储货币值(货币)。8 个字节。自动编号添加记录时 Office Access 2007 自动插入的一个唯一的数值。用于生成可用作主键的唯一值。请注意,自动编号字段可以按顺序增加指定的增量,也可以随机选择。4 个字节或 16 个字节(用于同步复制 ID 时)。是/否布尔值。用于包含两个可能的值(例如,“是/否”或“真/假”)之一的“真/假”字段。1 位(8 位 = 1 个字节)。OLE 对象OLE 对象或其他二进制数据。用于存储其他 Microsoft Windows 应用程序中的 OLE 对象。最大为 1 GB。附件图片、图像、二
15、进制文件、Office 文件。这是用于存储数字图像和任意类型的二进制文件的首选数据类型。对于压缩的附件,为 2 GB。对于未压缩的附件,大约为 700k,具体取决于附件的可压缩程度。超链接超链接。用于存储超链接,以通过 URL(统一资源定位器)对网页进行单击访问,或通过 UNC(通用命名约定)格式的名称对文件进行访问。您还可以链接至数据库中存储的 Access 对象。最大为 1 GB 字符,或 2 GB 存储空间(每个字符 2 个字节),可以在控件中显示 65,535 个字符。查阅向导实际上不是数据类型,而会调用“查阅向导”。用于启动“查阅向导”,使用户可以创建一个使用组合框在其他表、查询或值
16、列表中查阅值的字段。基于表或查询:绑定列的大小。基于值:用于存储值的文本字段的大小。2.3.2 Access中的运算符运算符可以执行以下运算:对数字相加,对数值进行比较,将文本字符串联接在一起,对数据进行格式化或执行各种任务,使用运算符可以告诉Access对一个或多个数据项执行指定的操作。运算符和数据的组合就称为表达式。2.3.2.1 运算符的类型Access的运算符主要类型有: 数学(算术)运算符 关系运算符 逻辑运算符 通配符表 22 Access 2007 中的算术运算符及其功能运算符功能Access表达式一个数的乘方X5*两个数相乘X*Y/两个数相除5/2(结果为2.5)两个数整除(不
17、四舍五入)52(结果为2)mod两个数求余5 mod 2(结果为1)+两个数相加X+Y-两个数相减X-Y表 23 Access 2007 中的关系运算符及其功能运算符功能举例例子含义 小于100小于100=小于等于 大于#2000-12-8#大于2000年12月8日=大于等于=”102101”大于等于“102101”=等于=”优”等于“优” 不等于”男”不等于“男”Betweenand介于两值之间Between 10 and 20在10和20之间In在一组值中In(“优”,”良”,”中”,”及格”)在“优”、“良”、“中”和“及格”中的一个Is Null字段为空Is Null字段无数据Is N
18、ot Null字段非空Is Not Null字段中有数据Like匹配模式Like “Ma*”以“Ma”开头的字符串表 24 Access 2007 中的逻辑运算符运算符功能举例例子含义Not逻辑非Not Like “Ma*”不是以“Ma”开头的字符串And逻辑与=10 And =20在10和20之间Or逻辑或20小于10或者大于20Eqv逻辑相等A Eqv BA与B同值,结果为真,否则为假Imp逻辑蕴含A Imp B当A为真,结果为B的值;当A为假,结果为真;当A为Null,B为真,结果为真;其余结果都为NullXor逻辑异或A Xor B当A、B同值时,结果为假;当A、B值不同,结果为真表
19、25 Access 2007 中的通配符通配符功能举例*表示任意数目的字符串,可以用在字符串的任何位置Wh*可匹配Why、What、while等*at可匹配cat、what、bat等?表示任何单个字符或单个汉字B?ll可匹配ball、bill、bell等#表示任何一位数字1#3可匹配123,103、113等 表示括号内的任何单一字符Baell可匹配ball和bell!表示任何不在这个列表内的单一字符B!aell可匹配bill、bull等,但不匹配ball和bell-表示在一个以递增顺序范围内的任何一个字符2.3.2.2 运算符的优先级使用具有多个运算符的复杂表达式时,Access必须确定首先对
20、哪个运算符进行求值,然后再对哪个与悬浮进行求值,以此类推。为了实现这个功能,Access有一个内置的优先次序,称为运算符优先级。圆括号用来对表达式进行分组,并覆盖默认的优先级顺序。圆括号中的操作优先于圆括号外面的操作。在圆括号内部,Access遵守预定义的运算符优先级。优先级首先根据运算符的分类确定。运算符按照优先级顺序排列如下: 数学运算符 比较运算符 逻辑运算符数学运算符优先级顺序如下:1) 指数2) 取否3) 乘法和除法(从左到右)4) 整除5) 求模6) 加法和减法(从左到右)7) 字符串联接比较运算符优先级1) 等于2) 不等于3) 小于4) 大于5) 小于或等于6) 大于或等于7)
21、 类似于 逻辑运算符的优先级1) Not2) And3) Or4) Xor5) Eqv6) Imp2.3.3 Access表达式表达式是各种数据、运算符、函数、控件和属性的任意组合,其运算结果为单个确定类型的值。表达式具有计算、判断和数据类型转换等作用。在以后的学习中我们将会看到,许多操作像筛选条件、有效性规则、查询、测试数据等都要用到表达式。在 Office Access 2007 中,表达式相当于 Office Excel 2007 中的公式。表达式由许多元素组成,您将这些元素单独或组合起来使用以产生结果。这些元素可以包括: 标识符:窗体或报表上的表字段或控件的名称,或者这些字段或控件的属
22、性。 运算符:如 +(加号)或 -(减号)。 函数:(如 SUM 或 AVG)以及与它们一起使用的参数。 常量:不会更改的值,如文本字符串或表达式不计算的数字。 使用表达式可以执行计算,检索字段或控件的值,为查询提供条件,定义规则,创建计算控件和计算字段,以及定义报表的分组级别。当您需要创建不直接驻留在数据中的值时,可以使用表达式。例如,您可能需要根据某个订单计算销售税,或者计算订单本身的总值。在其他时候,您将需要给查询或筛选器添加条件,即确定查询返回哪些记录或在应用筛选器时显示哪些记录的信息。在其他情况下,您可能希望为字段或控件设置默认值或有效性规则。在所有这些情况下,您都将使用表达式。表
23、26 一些示例表达式和通常的使用方式表达式用途=RequiredDate-ShippedDate计算报表上两个文本框控件(名为 RequiredDate 和 ShippedDate)中日期值之差。Date()将“日期/时间”表字段的默认值设置为当前日期。ExtendedPrice: CCur(Order Details.Unit Price*Quantity*(1-Discount)/100)*100在查询中创建计算字段。Between #1/1/2005# And #12/31/2005#用于在查询中输入“日期/时间”字段的条件。=Orders Subform.Form!OrderSubto
24、tal返回 orders 窗体中 orders 子窗体上 orderSubtotal 控件的值。 0为表中数值字段设置有效性规则:用户输入的值必须大于零。2.3.4 Access中的函数日期/时间CDate 将字符串转化成为日期 select CDate(2005/4/5)Date 返回当前日期DateAdd 将指定日期加上某个日期select dateAdd(d,30,Date()将当前日期加上30天,其中d可以换为yyyy或H等DateDiff 判断两个日期之间的间隔 select DateDiff(d,2006-5-1,2006-6-1)返回31,其中d可以换为yyyy,m,H等Date
25、Part 返回日期的某个部分 select DatePart(d,2006-5-1)返回1,即1号,d也可以换为yyyy或mDay 返回日期的d部分,等同于datepart的d部分Hour 返回日期的小时IsDate 判断是否是日期,是日期返回-1,不是日期返回0Minute 返回日期的分钟部分Month 返回日期的月份部分Now 返回当前时间(完整时间,包括年月日 小时分秒)Second 返回日期的秒部分Time 返回当前的时间部分(即除去年/月/日的部分)Weekday 返回某个日期的当前星期(星期天为1,星期一为2,星期二为3.),例如select weekday(now();Year
26、返回某个日期的年份 检查IsEmpty 检测是否为空(不过经测试,不管什么情况,都返回0)IsNull 检测是否为Null值,null值返回0,非null值返回-1IsNumeric 检测是否为数字,是数字返回-1,否则返回0算术Abs 绝对值Atn 返正切值。Cos 余弦值Exp 返回 e 的给定次幂。Fix 返回数字的整数部分(即小数部分完全截掉)Int 将数字向下取整到最接近的整数。(其实等同于Fix)Log 返回以E为底的对数值Rnd 返回一个0到1之间的随机数值Sgn 返回数字的正负符号(正数返回1,负数返回-1,0值返回0)Sin 正弦值Sqr 返回平方根值Tan 正切值程序流程C
27、hoose 根据第一参数,返回后面字符串组的值,Select Choose(1,a,b,c)返回a,将1改成2后,返回b,改成3后,返回c(第一个参数也可以是某个字段)IIF 根据表达式返回特定的值 Select IIF(31,OK,False),返回OKSql合计函数Avg 取字段平均值Count 统计记录条数Max 取字段最大值Min 取字段最小值StDev 估算样本的标准差(忽略样本中的逻辑值和文本)。StDevP 计算以参数形式(忽略逻辑值和文本)给出的整个样本总体的标准偏差。Sum 计算字段的总合Var 估算样本方差(忽略样本中的逻辑值和文本)。VarP 计算整个样本总体的方差(忽略
28、样本总体中的逻辑值和文本)。文本Asc 返回字母的Acsii值,select Asc(A)返回65Chr 将ascii值转换到字符 select chr(65)返回AFormat 格式化字符串,Select Format(now(),yyyy-mm-dd)返回类似于2005-04-03 ,Select Format(3/9,0.00)返回0.33InStr 查询子串在字符串中的位置 select Instr(abc,a)返回1,select Instr(abc,f)返回0 LCase 返回字符串的小写形式 Left 左截取字符串Len 返回字符串长度LTrim 左截取空格Mid 取得子字符串
29、select mid(123,1,2) as midDemo 返回12Right 右截取字符串RTrim 右截取空格Space 产生空格 select Space(4)返回4个空格StrComp 比较两个字符串是否内容一致(不区分大小写)select StrComp(abc,ABC)返回0,select StrComp(abc,123)返回-1Trim 截取字符串两头的空格UCase 将字符串转大写3 数据库常识Microsoft Access遵从了传统的数据库术语。数据库、表、记录、字段和值等术语,表明了从最大到最小的层次结构。数据库一词是一个计算机术语,表示关于某个话题或者业务应用程序的信
30、息集合。数据库可以帮助您以逻辑的方式将这些相关信息组织在一起,便于进行访问和检索。在Access数据库中,表的作用相当于主要的数据库存储库。查询、窗体和报表提供了数据的访问途径,使用户可以添加或提取数据,并通过有效的方法呈现数据。大多数开发人员都向窗体或者报表添加宏或者Visual Basic for Applications(VBA)代码,使其应用程序更易于使用。在Access中,数据库是用于数据和相关对象的总的容器。但是他绝对不仅仅是表的集合,数据库中包含了很多对象,包括查询、窗体、报表、宏和代码模块。3.1 表一个表就是一个用于原始信息(称为数据)的容器,这与人工文件编排系统中的文件夹非
31、常类似。Access数据库中的每个表都包含了关于单个实体的信息,例如一个人或者一种产品,并将数据组织到行和列中。图 31 话务量统计表示例创建表后,就可以用类似电子表格的形式查看表,即数据表,其中包含了行和列(分别称为记录和字段,参见下一小节“记录和字段”)。3.2 记录和字段如图3-1所示,数据表分为行(称为记录)和列(称为字段),第一行(每一列顶端的 标题)包含了数据库中的字段名。每一行都是一个包含字段的单独记录,而这些字段与记录密切相关。3.3 值值位于行(记录)和列(字段)的交叉点,即实际的数据元素。如表3-1中,小区10032010年7月的话务量是10.648499Erl。3.4 表
32、关系3.4.1 什么是表关系在关系数据库中,通过关系您可以防止出现重复数据。例如,如果您在设计一个跟踪书籍相关信息的数据库,您可能有一个名为“书籍”的表,该表存储每种书籍的相关信息,例如书名、出版日期和出版商。您可能还想存储有关出版商的信息,例如出版商的电话号码、地址及邮政编码。如果将所有这些信息都存储在“书籍”表中,对于出版商出版的每种书籍,该出版商的电话号码将是重复的。更好的解决方案是,只需将出版商信息在单独的表“出版商”中存储一次。然后在“书籍”表中放置一个指针,该指针引用“出版商”表中的一项。为了确保数据保持同步,可以在“书籍”和“出版商”表之间强制执行引用完整性。引用完整性关系有助于
33、确保一个表中的信息与另一个表中的信息相匹配。例如,“书籍”表中的每种书籍必须与“出版商”表内的某个特定出版商关联。对于数据库中不存在的出版商,无法向数据库中添加相应书籍。3.4.2 表关系的类型关系是通过匹配键列(通常是两个表中的同名列)中的数据来工作。大多数情况下,关系将一个表中的主键(为每一行提供唯一标识符)与另一个表内外键中的项匹配。例如,通过在“书籍”表中的 title_id 列(主键)和“销售额”表中的 title_id 列(外键)之间创建关系,可以将销售额与所售的特定书籍相关联。表之间有三种类型的关系。所创建关系的类型取决于相关列的定义方式。3.4.2.1 一对多关系一对多关系是最
34、常见的关系类型。在此类型的关系中,表 A 中的一行在表 B 中可以有多个匹配行,但表 B 中的一行在表 A 中只能有一个匹配行。例如,“出版商”表和“书籍”表具有一对多关系:每家出版商可以出版多种书籍,而每种书籍只能来自一家出版商。如果只有其中一个相关列是主键或者具有唯一约束,则会创建一对多关系。在 Access 中,一对多关系的主键侧由键符号表示。关系的外键侧由无穷符号表示。3.4.2.2 多对多关系在多对多关系中,表 A 中的一行在表 B 中可以有多个匹配行,反之亦然。通过定义称为联接表的第三个表可以创建这种关系,联接表的主键由表 A 和表 B 中的外键组成。例如,“作者”表和“书籍”表具
35、有多对多关系,该关系由这两个表与“书籍作者”表之间的一对多关系定义。“书籍作者”表的主键是 au_id 列(“作者”表的主键)和 title_id 列(“书籍”表的主键)的组合。3.4.2.3 一对一关系在一对一关系中,表 A 中的一行在表 B 中只能有一个匹配行,反之亦然。如果两个相关列都是主键或者都有唯一约束,则会创建一对一关系。此类型的关系不常见,因为多数通过此方法相关的信息都会在一个表内。可以使用一对一关系执行下列操作: l 将表分为多列。l 出于安全考虑将表的一部分隔离。l 存储短期的且仅通过删除表即可轻易删除的数据。l 存储仅应用于主表子集的信息。在 Access 中,一对一关系的
36、主键侧由键符号表示。外键侧也由键符号表示。3.4.3 表关系相关操作3.4.3.1 查看表关系要查看表关系,请单击“数据库工具”选项卡上的“关系”。将打开“关系”窗口,并显示任所有现存关系。如果尚未定义表关系,并且您是第一次打开“关系”窗口,则 Access 会提示您向窗口中添加表或查询。打开“关系”窗口-单击“Office 按钮”,然后单击“打开”-在“打开”对话框中,选择并打开数据库。-在“数据库工具”选项卡上的“显示/隐藏”组中,单击“关系”。 如果数据库包含关系,则会出现“关系”窗口。如果数据库不包含任何关系,并且您是第一次打开“关系”窗口,则会出现“显示表”对话框。单击“关闭”关闭该
37、对话框。 在“设计”选项卡上的“关系”组中,单击“所有关系”。 此时会显示数据库中所有已定义的关系。请注意,除非在“导航选项”对话框中选中了“显示隐藏对象”复选框,否则不会显示隐藏的表(在表的“属性”对话框中选中“隐藏”复选框的表)及其关系。在“关系”窗口处于活动状态时,可以选择功能区(功能区是 Microsoft Office Fluent 用户界面的一部分)中的以下命令:在“设计”选项卡上的“工具”组中:3.4.3.2 编辑关系打开“编辑关系”对话框。在选择关系线时,可以单击“编辑关系”以更改表关系。也可以双击关系线。 3.4.3.3 清除布局从“关系”窗口中删除所有显示的表和关系。请注意
38、,该命令只隐藏这些表和关系,而不会删除它们。 3.4.3.4 关系报表创建显示数据库中的表和关系的报表。该报表只显示“关系”窗口中未隐藏的表和关系。 在“设计”选项卡上的“关系”组中:- 显示表 打开“显示表”对话框,使您可以选择表和查询以在“关系”窗口中进行查看。 - 隐藏表 隐藏“关系”窗口中选定的表。 - 直接关系 在“关系”窗口中显示所选表的所有关系和相关表(如果尚未显示)。 - 所有关系 在“关系”窗口中显示数据库中所有关系和相关表。请注意,除非在“导航选项”对话框中选中“显示隐藏对象”,否则不会显示隐藏的表(在表的“属性”对话框中选中“隐藏”复选框的表)及其关系。 - 关闭 关闭“
39、关系”窗口。如果对“关系”窗口的布局进行了任何更改,则会询问您是否保存这些更改。 3.4.3.5 创建表关系可以使用“关系”窗口或从“字段列表”窗格向数据表拖动字段来创建表关系。在创建表之间的关系时,公共字段不一定具有相同的名称,但实际它们往往是相同的。但这些字段必须具有相同的数据类型。不过如果主键字段为“自动编号”字段,并且两个字段的“字段大小”属性相同,则外键字段可以为“数字”字段。例如,如果两个字段的 FieldSize 属性都是长整型,则可以将“自动编号”字段与“数字”字段匹配。在两个公共字段都是“数字”字段时,它们必须具有相同的“字段大小”属性设置。使用“关系”窗口创建表关系:单击“
40、Office 按钮”,然后单击“打开”。-在“打开”对话框中,选择并打开数据库。 在“数据库工具”选项卡上的“显示/隐藏”组中,单击“关系”。 如果您尚未定义过任何关系,则会自动显示“显示表”对话框。如果未出现该对话框,请在“设计”选项卡上的“关系”组中单击“显示表”。 “显示表”对话框会显示数据库中的所有表和查询。要只查看表,请单击“表”。要只查看查询,请单击“查询”。要同时查看表和查询,请单击“两者”。选择一个或多个表或查询,然后单击“添加”。将表和查询添加到“关系”窗口之后,请单击“关闭”。 将字段(通常为主键)从一个表拖至另一个表中的公共字段(外键)。若要拖动多个字段,请按 Ctrl
41、键,单击每个字段,然后拖动这些字段。 将显示“编辑关系”对话框。验证显示的字段名称是否是关系的公共字段。如果字段名称不正确,请单击该字段名称并从列表中选择新字段。 要对此关系实施参照完整性,请选中“实施参照完整性”复选框。有关参照完整性的详细信息,请参阅了解参照完整性和实施参照完整性等小节。单击“创建”。 关系线是在两个表之间绘制的。如果已选中“实施参照完整性”复选框,则该线两端都显示为较粗。此外,仅当再次选中“实施参照完整性”复选框后,在关系一侧线条较粗部分上会显示数字“1”,而在另一侧线条较粗部分上会显示无限大符号 ()。 注意:注意事项: 1、创建一对一关系:两个公共字段(通常为主键字段
42、和外键字段)都必须具有唯一索引。这意味着应将这些字段的“索引”属性设置为“是(不允许重复)”。如果两个字段都具有唯一索引,Access 将创建一对一关系。 2、创建一对多关系: 在关系“一方”的字段(通常为主键)必须具有唯一索引。这意味着应将此字段的“索引”属性设置为“是(不允许重复)”。“多方”的字段不应具有唯一索引。它可以有索引,但必须允许重复。这意味着应将此字段的“索引”属性设置为“否”或“是(允许重复)”。当一个字段具有唯一索引,而其他字段不具有唯一索引时,Access 将创建一对多关系。使用“字段列表”窗格创建表关系在 Office Access 2007 中,可以向数据表视图中打开
43、的现有表添加字段,方法是将该字段从“字段列表”窗格拖动到该表中。“字段列表”窗格显示相关表中可用的字段以及其他表中可用的字段。从其他(无关联)的表中拖动一个字段并完成“查阅向导”时,会在“字段列表”窗格中的表和当前正在将字段拖至其中的表之间自动创建新的一对多关系。默认情况下,由 Access 创建的这种关系不实施参照完整性。要实施参照完整性,必须对该关系进行编辑。在数据表视图中打开表单击“Office 按钮”,然后单击“打开”。-在“打开”对话框中,选择并打开数据库-在导航窗格中,右键单击要向其添加字段并创建关系的表,然后单击快捷菜单上的“数据表视图”-打开“字段列表”窗格-在“数据表”选项卡
44、上的“字段和列”组中,单击“添加现有字段”。-随即会显示“字段列表”窗格。“字段列表”窗格显示数据库中的所有其他表,它们分成几类。在数据表视图中处理表时,Access 在“字段列表”窗格中显示以下两个类别中任一类别的字段:“相关表中的可用字段”和“其他表中的可用字段”。第一个类别列出了与当前正在处理的表有关系的所有表。第二个类别列出了与您的表没有关系的所有表。在“字段列表”窗格中,单击表名旁边的加号 (+) 时,您会看到该表中所有可用字段的列表。要向您的表中添加一个字段,请将所需字段从“字段列表”窗格拖动到数据表视图中的表中。添加字段并从“字段列表”窗格中创建关系在“数据表”选项卡上的“字段和列”组中,单击“添加现有字段”。 随即会显示“字段列表”窗格。在“其他表中的可用字段”下,单击表名称旁边的加号 (+),以显示该表中的字段列表。 将所需字段从“字段列表”窗格拖动到数据表视图中打开的表中。 当插入行出现时,将该字段放到适当位置。 将启动“查阅向导”。按照说明完成“查阅向导”。 该字段显示在数据表视图中的表中。从其他(无关联)的表中拖动一个字段并完成“查阅向导”时,会在“字段列表”中的表和当前正在将字段拖至其