您好,欢迎访问三七文档
预备知识:表与表之间的关系1.表关系数据库:二维表格表示和处理信息世界的实体集和属性关系。表记录:描述实体字段:实体属性主码外码主码表与表之间的关系通过码来实现关联2.表与表之间的关联主码(主关键字):表中一个或多个字段,其值惟一地标识一条记录。在两个表的关系中,主码用来在一个表中引用来自于另一个表中的特定记录。系统不允许任何重复值或Null值进行主码字段中。主码的性质:主码不能为空,否则将失去对某些记录的控制和访问主码不能重复,否则主码所标识的记录将失去唯一性主码不能修改。它不仅标识表中的记录,而且经常要与其他表中的字段进行关联。如果硬要修改,很容易给其所在的表以及其他相关的表造成意想不到的错误外码(外部关键字):也是表中的一个或多个字段,外码的值与相关表的主码相匹配。3.主码与外码关系:利用两个表的共有字段创建的关联性。通过表间的关联性,可将数据库中多个表联络成一个有机的整体表与表间的关系类型:一对一关系:基本表每条记录只对应相关联表中一个匹配的记录,反之亦然一对多关系:关系中最常用的类型。基本表一条记录可与相关联表中多条记录相匹配。但相关联表一条记录只与基本表一条相匹配4.关系多对多关系:基本表一条记录可与相关联表多个记录相匹配。相关联表中的一条记录也可与基本表的多条记录相匹配。这种类型的关系只能通过定义第三个表(联结表)来实现。联结表的主码包含两个字段:来源于两个表的外码。多对多的关系实际上是通过第三个表来实现的两个一对多的关系。预备知识:数据库的设计1.数据库的规划表是Access数据库的基础,记录着数据库中的全部内容,而其他对象只是Access提供的工具,用于对数据库进行维护和管理。因此,设计数据库的关键是设计表确定实体(表)确定实体标识符(主码)确定关系(外码)确定数据元素属性(字段)E-R模型设计:定义了数据库结构。识别和创建数据库中实体及其关系实体可是具体的,也可是抽象的。如Northwind的订单明细:是产品实体和订单实体间的联系规范化的目标:设计一个优化的和符合逻辑的数据库方案,使得开发阶段对数据库的修改要求降到最低程度,且有助于组织数据和消除数据库中的数据冗余规范化的要求:表中都是不可再分的基本字段(1NF)例如,当产品有出厂,批发,零售等多种价格时,要分别设置相应字段。若价格结构太复杂,则可建新表专门存放价格数据。表中所有字段都必须依赖于主关键字(2NF)一个表只存储一种实体对象。表中所有字段都是惟一的且不互相依赖(3NF)例如,表中只设一个日期字段。不能再包含日,月和星期的字段。2.数据库规范化确保数据的完整性:参照完整性:输入或删除记录时,为维持表间已定义的关系而必须遵循的一个规则系统。若实施了参照完整性,则在将与基本表无关的记录加入相关表时,Access会警告。若要从基本表中删除记录,相关表中却有对应记录时,Access会防止删除。设置参照完整性的条件:来自于主表的匹配字段是主码或具有唯一的索引相关字段的数据类型相同。例外:自动编号与长整型,均为同步复制ID的自动编号与数字字段可相关。两个表都属于同一个Access数据库实行参照完整性后必须遵守的规则:不能将值输入到相关表的外码字段中,……若相关表中有匹配记录,不能从主表中删除它3.数据库设计步骤一般步骤确定新建数据库的目的确定该数据库中需要的表明确有唯一值的字段确定表中需要的字段确定表之间的关系优化设计输入数据并新建其他数据库对象使用MicrosoftAccess的分析工具表中信息不重复且不在表间复制每个表只含一个主题的信息字段都直接与表的主题相关不包含推导或计算的数据包含所需的所有信息以最小的逻辑部分保存信息Access中三种主码:自动编号,单字段和多字段例:设计“教学管理”数据库S1:明确建库目的与功能要求实现四方面信息的综合管理:教师,学生,课程,学习成绩教师可以查看学生的简况,成绩,课程学生可以选择教师,课程和查看成绩S2:确定数据库中的表按下列原则对信息进行分类:表中不含重复信息,且信息不应在表之间复制每条信息只保存在一个表中每个表只包含一个主题的数据。学生登记表教师课程表课程名称表学生成绩表S3:确定表中的字段每个字段的内容均与表的主题相关相关主题的全部数据都要表现出来。不包含需要推导或计算的数据,要以最小逻辑部分作为字段来保存数据。S3.1:教师课程表分析基本特征:姓名,性别,职称,专业特长等其它特征:工作时间,政治面貌,电话,课程号,所属院系等选取:教工号,姓名,性别,职称,课程号,电话S3.2:学生登记表分析基本特征:学号,姓名,性别,班级,出生日期其它特征:籍贯,政治面貌,宿舍,班级,特长等选取:学号,姓名,性别,班级,出生日期,简历S3.3:课程名称表分析基本特征信息:课程号,教工号,课程名称其它特征信息:学分,课时,先修课选取:课程号,教工号,课程名称,学分S3.4:学生成绩表分析基本特征信息:学号,课程号,平时成绩,考试成绩其它特征信息:学分,教工号,课程名称选取:学号,课程号,平时成绩,考试成绩S4:确定主码学生登记表:学号教师课程表:教工号课程名称表:课程号学生成绩表:学号+课程号【注】可增加一个值为序列号的字段作为主码S5:优化设计问题:教师课程表,若一人讲授多门课程,则有重复数据,如:教工号姓名性别职称课程编号电话4382王大中男讲师0066735656784382王大中男讲师007893565678分为两个表:教师登记表:教工号,姓名,性别,职称,电话教师课程表:ID,教工号,课程号【注】ID是给教师课程表添加的主码。则上例中数据放在两个表中:教工号姓名性别职称电话ID教工号课程号4382王大中男讲师356567814382006672438200789S6:确定表间的联系学生登记表教师登记表课程名称表学生成绩表课程号学号课程号教师授课表课程号教工号3.1数据库的创建1.MicrosoftAccess对话框Access启动时自动弹出建空库启动向导打开库两种创建数据库的方法:使用数据库向导创建数据库及表,查询等各种对象先创建空数据库,然后再分别添加对象2.创建空白数据库动3.使用向导创建数据库选择打开方式可直接打开的库打开命令3.2数据库的打开与关闭选择:视图|工具栏|Web收藏夹工具条单击:收藏夹按钮右侧▼收藏夹内容列表选择:列表:添至收藏夹收藏夹内容列表当前数据库名称5.使用收藏夹打开数据库(对象)6.使用快捷方式打开数据库3.3数据表的建立1.创建表的过程表:关系型数据库的基本结构。在Access中,表是一种关系特定主题的数据集合,如产品,供应商等。每个主题对应单个表。表的形式:记录,字段组成的二维表格。创建一个表的过程:创建表的结构:定义字段名,字段的类型,宽度等填充表中的数据:各类不同数据类型的字段的填充方式不尽相同根据表与表间的共有字段建立联系Access提供多种创建表的方法2.表的两种视图表的两种视图:设计视图:创建及编辑表的结构,即定义字段名,数据类型,宽度,设置字段默认值,格式等数据表视图:查看,添加,删除,编辑表中数据。表视图设计视图3.新建表对话框启动表向导打开设计视图4.使用向导创建表的例子一般步骤启动向导选择字段修改字段名称确定表名确定主码完成3.3.3建立和命名字段字段:数据库操纵最小单位。设计表实际上是设计字段。其他对象的设计重心都是存取或使用字段的数据字段基本属性:字段名、数据类型、字段说明、及数据存储使用方式字段查阅属性:显示格式、掩码、默认值、有效性规则等字段说明在状态栏中显示字段名与标题1.字段名与字段说明Access2000中字段可用的数据类型有以下几种:文本(Text):文本、文本与数字、不必计算的数字,最长255个字符。备注(Memo):较长的文本,最长64,000字符。数字(Number)型:用于算术运算的数字。可在“字段大小”中分字节、整型、单精度等子类型日期及时间(Date/Time):从100到9999的日期及时间值。可进行日期及时间的计算。8字节货币(Currency):货币值。使用货币类型可避免计算时四舍五入。8字节自动编号(AutoNumber):添加记录时的自动序号递增:添一条记录,字段值增1;随机:添一条记录,字段值为另一随机数。2.字段的数据类型是/否(Yes/No):取两种值之一,如Yes/No、True/False、On/Off。大小为1位。OLE对象(Object):可链接或嵌入其他使用OLE协议的程序所创建的对象,如Word文档、图象、声音等。最多1G。对象可链接或嵌入到Access表中。但只能在窗体或报表中使用绑定对象框来显示。超链接(Hyperlink):超文本,用作超链接地址。超链接最多包含三部分:显示文本:在字段或控件中显示的文本;地址:到文件(UNC)或页面(URL)的路径;子地址:在文件或页面中的地址。查阅向导(LookupWizard):由查阅向导创建。字段的值来自另一个表或数据列表中,可在列表框或组合框中选择一个数据作为其值。3.字段的“常规”属性字段大小:文本长度或数值范围格式:Number、Date/Time、Currency和Yes/No类型有预定义格式,也可设置格式小数位数:小数型(数字、货币)数据的小数位输入法模式:可设为输入时自动切换到某种输入法输入掩码:输入数据时的格式,可用“输入掩码向导”来编辑输入掩码标题:数据表视图或控件中显示字段时所用的标题。用于在字段名意义不明确时再设置一个标题默认值:添加新记录时,自动加入到字段中的值有效性规则:限制输入数据的表达式,如100、Like?#等。可使用表达式生成器来创建有效性文本:数据不符合有效性规则时显示的信息必填字段:是否必须输入数据允许空字符串:是否允许输入空字符串(长度为0)索引:是否进行索引及索引方式。索引:加快查询和排序速度,但更新操作变慢索引方法:无:字段不索引。有(有重复):索引、允许重复值。有(无重复):索引、不允许重复值。4.字段的查阅属性显示控件:选择值的控件:组合框或列表框行来源类型:从其他表或查询还是值列表中得到数据行来源:得到数据的值列表或查询语句绑定列:哪个列作为控件的值SELECTDISTINCTROW[供应商ID],[公司名称]FROM供应商ORDERBY[公司名称];产品:供应商ID供应商表:供应商ID→公司名称备注型、超链接型和OLE对象型字段不能索引。若在表中输入数据后更改字段的数据类型,则在保存表时,由于进行大量数据转换,时间较长;若新的“数据类型”属性的设置与段原数据类型冲突,可能会丢失某些数据。Number、Date/Time、Currency和Yes/No类型具有预定义格式。可设置格式,但OLE对象型除外5.选择数据类型时应注意的问题表的设计视图1.打开表的设计视图表的设计视图2.表设计器字段属性字段定义网格表达式生成器3.创建课程表打开设计视图定义主码定义表中字段保存表一般步骤编辑|主键;快捷菜单|主键;单击:主键钮输入字段名;选择数据类型;设置字段各种属性4.创建值列表字段字段的查阅功能:值来自一组固定的数据(值列表),或其他表的某个字段。5.创建查阅列表字段SELECT[学生].[学号],[学生].[姓名]FROM学生;3.4使用数据表视图1.数据表视图打开“学生”表的数据表视图:在数据库窗口的对象列表中,双击“学生”表,或选定“学生”表,再单击“打开”按钮若当前正处于表设计视图,单击数据库窗口工具条上的“打开”按钮,切换到数据表视图。2.各类数据的输入方法文本型:直接在网络中输入。数字型:直接在网络中输入。是/否型:标记复选框。日期时间型:按简洁方式键入,自动按设计格式显示。备注型:直接在网络中输入,最好创建窗体输入。OLE对象型超链接型选择:插入|对象;快捷菜单|插入对象选择:插入|超级链接;单击:插入超级链接3.字段的选择选中一个网
本文标题:创建数据表
链接地址:https://www.777doc.com/doc-3503728 .html