中南财经政法大学《数据库及其应用》实验报告一.doc_第1页
中南财经政法大学《数据库及其应用》实验报告一.doc_第2页
中南财经政法大学《数据库及其应用》实验报告一.doc_第3页
中南财经政法大学《数据库及其应用》实验报告一.doc_第4页
中南财经政法大学《数据库及其应用》实验报告一.doc_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

数据库及其应用实验报告实验序号:B0901000-02 实验项目名称:数据库设计及数据库创建与应用学号姓名专业、班实验地点现教中心指导教师 时间2013年5-6月一、实验目的及要求(一)实验项目1:数据库和表1熟悉Access中数据库及表的概念。了解并掌握建立数据库、表和关系的过程。2熟悉数据库窗口的界面特点,掌握数据库窗口几种设置方法。 3理解并掌握关系数据库完整性基本概念。掌握完整性的设置方法。 4掌握字段属性的概念和一些属性的用途。并掌握一些字段属性的设置方法。 5了解Access数据表视图的一些基本功能。(二)实验项目2:查询 1掌握Access表达式的基本概念。了解不同类型数据的常量、参数、运算与函数的使用。2理解查询对象的意义和建立方法。3掌握SQL语言中SELECT语句的主要应用。4掌握SQL的插入、更新、删除操作命令的基本应用。理解Access动作查询。5了解SQL定义数据表的基本方法。6掌握一般选择查询的操作应用;理解并掌握交叉查询的应用;理解参数查询的意义。(三)实验项目3:数据交换1了解什么是Access的外部数据,理解Access与外部数据交换的意义和作用。2理解在Access数据库系统中使用外部数据的两种方法及特点:链接、导入。3掌握导出数据库中表或查询对象到文本文件和EXCEL的方法。4掌握从文本文件和EXCEL表导入到表的方法。二、实验设备(环境)及要求PC机,Windows XP,Access 2003参考教材:数据库及其应用(Access及Excel)学习与实验实训教程。 三、实验内容要求(实验操作内容和步骤写在表格后面、回答问题写在表给内)实验项目1:数据库设计及数据库与表的创建与操作(一) 数据库与表的设计与创建1给定如下数据分析,进行概念设计与逻辑设计。即设计系统的E-R模型并转换为关系模型。(数据参见附表)。某学校设计学生教学管理系统。学生实体包括学号、姓名、性别、生日、民族、籍贯、简历、登记照,每名学生选择一个主修专业,专业包括专业编号和名称,一个专业属于一个学院,一个学院可以有若干个专业。学院信息要存储学院号、学院名、院长。教学管理还要管理课程表和学生成绩。课程表包括课程号、课程名、学分,每门课程由一个学院开设。学生选修的每门课程获得一个成绩。2. 数据库结构设计指定数据库文件的名称,并为设计好的关系模型设计表结构。数据库文件保存在“E:教学管理”文件夹中。3定义数据库文件定义存放路径,和数据库文件。写出操作步骤。可包括必要的截图。4定义数据库中各表根据事先设计好的结构,分别定义各表、字段名、字段属性。重复的步骤可简化。5定义表之间的关系当所有表都定义好后,定义各表之间的关系。6输入表记录当所有表建立好后,可开始输入记录。简要说明输入的操作。(二)Access数据库窗口基本操作1设置教学管理数据库窗口中表对象列表窗口的显示格式为“详细信息”写出操作步骤。2隐藏和重新显示教学管理数据库窗口 写出操作步骤。3定义一个“学生与成绩”组,将“学生”、“成绩”表放置到该组中写出创建组的操作和放置对象的操作。(三)创建表时的完整性设置1定义主键,实现实体完整性的操作每个表都可以定义主键。在Access中为教学管理数据库的各表定义主键。当一个表没有合适的字段作为主键时,一般会增加一个“id”字段。试在“成绩”表中增加一个“成绩id”字段,并定义为“自动编号”型,然后定义其为主键。2进行设置参照完整性的操作在定义的有关系的表上,为关系设置参照完整性。3通过不同方式实现用户定义的完整性的操作用户定义的完整性,是指由用户规定的对于表中数据取值的约束。在Access表定义时,除定义主键和关系外,通过多种方式设置用户定义完整性。对教学管理数据库中必要的用户定义完整性进行设置和定义。(四)字段属性定义与应用1字段显示格式设置 使“学生”表中的“民族”字段以黄色显示。 使“学生”的生日以中文方式、红色显示。 使“成绩”表中成绩的显示为3位整数和一位小数,蓝色。2字段输入掩码设置在定义“学生”表时,由于“学号”是8位文本,且每位都由09组成,因此,要在定义“学号”字段时规定每一位的输入都必须是数字。其他如课程表的“课程号”字段、专业表的“专业号”字段等都可以定义类似的输入掩码。3定义字段查阅方法“查阅”控件与字段绑定,可以提示字段的输入。为“专业”表的“专业类别”定义查阅控件绑定。为“专业”表的“学院号”字段设计“查阅”控件。数据从“学院”表中来,显示“学院号”和“学院名”两列数据,采用列表框。(五)数据表视图下数据记录的显示与操作1输入操作利用数据表视图进行输入操作,输入的数据应该满足完整性的要求。而如果是有关系的表中的子表,外键输入时还要与主键值对应。根据给定的数据,为数据库中各表(重点介绍一到两个表)输入记录。2. 修改和删除操作修改“课程”表,将“运筹学”所在记录的学分增加1分,将开设学院变为“工商管理学院(05)”。删除“课程”表中“美术设计”课程。3. 数据表视图中的设置数据表视图是浏览表中数据的界面,可以做不同的设置,以获得不同的效果。 数据表视图中父子表的展开。 按照指定的字段排序浏览。在“成绩”数据表视图中,按照成绩的大小排列。 在学生表中只显示女生数据记录。实验项目二:查询(一) SQL视图中表达式练习1进入SQL视图及在不同视图间切换在Access中进入查询的设计视图并在查询的不同视图之间切换。2不同类型数据的表达式运算在SQL视图中分别输入以下命令并运行,对于参数自己输入数据。查看并写出各表达式运算结果。SELECT -5.122+(17 mod 3);SELECT Hello +,World!,LEFT(清华大学出版社,2)+RIGHT(清华大学出版社,3);SELECT 你毕业的年份是, VAL(LEFT(你的学号,4)+4;SELECT 现在是+STR(YEAR(DATE()+年,现在的时间是:+CSTR(TIME();SELECT 张三李四,ABCD1000;(二)SQL命令进行查询和操作1练习SQL查询的SELECT语句启动教学管理数据库,在数据库窗口对象栏中单击“查询”,然后进入SQL视图。在“SQL视图”中输入以下SELECT命令,查看执行结果,并仔细体会查询的实现。 查询“学院”、“专业”、“学生”完整数据。SELECT * FROM (学院 INNER JOIN 专业 ON 学院.学院号=专业.学院号) INNER JOIN 学生 ON 专业.专业号=学生.专业号); 查询“工商管理”专业所有女生信息。SELECT 专业,学生.* FROM 专业 INNER JOIN 学生 ON 专业.专业号=学生.专业号WHERE 专业.专业=工商管理 AND 学生.性别=女; 查询平均成绩在80分以上的各位学生的学号、姓名和平均分。保存为查询对象,对象名“优秀学生”。SELECT 学生.学号,姓名,AVG(成绩) AS 平均分 FROM 学生 INNER JOIN 成绩 ON 学生.学号=成绩.学号 GROUP BY 学生.学号,姓名 HAVING AVG(成绩)=80 ;单击工具栏保存按钮,弹出“另存为”对话框,输入“优秀学生”,单击“确定”按钮。 查询没有学生数据的专业编号和专业。SELECT 专业号,专业 FROM 专业 WHERE 专业号 NOT IN (SELECT 专业号 FROM 学生) ; 查询“湖北”籍1988年以后出生的学生信息。SELECT * FROM 学生 WHERE 籍贯 LIKE 湖北* AND 生日 =#1988-1-1# ; 查询选课人数最多的课程的课程号、课程名。SELECT TOP 1 课程.课程号,课程名 FROM 课程 INNER JOIN 成绩 ON 课程.课程号=成绩.课程号 GROUP BY 课程.课程号,课程名ORDER BY COUNT(*) DESC ;2练习SQL的插入、更新、删除操作命令 在课程表中插入一门新课,数据如命令所示。INSERT INTO 课程VALUES(06020101,会计学原理,3,06); 将“法学院(04)”开设课程的学分增加1分。UPDATE 课程 SET 学分=学分+1 WHERE 学院号=04 删除“信息学院(09)”开设的没有学生选修的课程。DELETE FROM 课程 WHERE 学院号=09 AND 课程号 NOT IN (SELECT 课程号 FROM 成绩)3创建“教师”表,包括:工号、姓名、性别、生日、职称、基本工资、学院号。写出创建命令。(三)选择查询操作1进入查询设计视图进行交互式选择查询设置启动教学管理数据库。 查询“专业”表,显示开设的所有专业涉及的学科门类。 查询各专业学生的人数。 查询没有选课的男学生学号、姓名,即成绩表中没有记录的学生数据。2进行交叉表查询将学生的“学号”和“姓名”作为行标题,“课程名”作为列标题,成绩作为交叉数据,生成交叉表。3进行参数查询通过参数查询指定日期以后出生的某个民族的学生信息。(四)动作查询操作1生成表查询操作练习将“查询平均成绩在80分以上的各位学生的学号、姓名和平均分”的结果生成新表,表名“优秀学生名单”。2删除查询操作删除“优秀学生名单”表中,平均分在85分以下的记录。3追加查询操作将平均分在8085分之间的学生及成绩数据加入“优秀学生名单”表, 4更新查询操作将没有学生选修的课程的学分减少1分。写出以上要求的操作步骤并截取必要的图片。实验项目三:数据交换(一) 导出操作1在“教学管理”数据库中创建一个查询并保存。查询的名称为“学生成绩单”。查询的结构为:学号、姓名、专业、课程号、课程名、成绩。2将“学生成绩单”查询导出为文本文件,字段值之间用逗号作为分隔符,文本型数据不要加引号。文本文件要包括字段名。3将“学生成绩单”查询导出到桌面EXCEL文件“学生成绩表”中。写出以上操作的主要过程。(二)导入操作1将上面实验产生的文本文件导入教学管理数据库中作为表对象。命名为“学生成绩单”。并为各字段列指定合适的类型。 2上面实验产生的EXCEL文件“学生成绩表”导入教学管理数据库中作为表对象。命名为“学生成绩表”。并为各字段列指定合适的类型。产生表后,指定学号、课程号为主键。写出以上操作的主要过程。四、回答问题(一)实验项目11Access存储数据时,用到几个数据库文件?扩展名是什么?答:不考虑页得存储,只需要一个数据库文件,扩展名是mdb。2设计ER模型、关系模型、数据库及表结构,分别属于数据库设计中的什么步骤? 答:分别属于数据库设计中的概念设计,逻辑设计和物理设计。3在表结构设计中,应该包含哪些内容?答:包括字段名,类型,宽度,小数,主键,参照表,约束,Null值等八项。4在本实验设计中,共使用了哪些数据类型? 答:本实验中数据类型有:文本、数字、备注、日期/时间、单精度、OLE对象、字节。5定义表之间的关系时,“实施参照完整性”的意义是什么?在“编辑关系”对话框中选中或者撤销“级联更新相关字段”复选框,对于数据表的操作有何影响?答:实施参照完整性后在子表中添加或更新数据时,Access将检验子表新加的与主键有关的外键值是否满足参照完整性。如果外键值没有与之对应的主键值,Access将拒绝添加或更新数据。级联更新相关字段含义是当父表修改主键值时,如果子表中的外江有对应值,外键的对应值将自动级联更新6建立表的关系,是否要求发生关系的两个字段必须同名?答:不一定,但是如果要实施参照完整性,必须两个字段同名。7在定义学生表的“性别”字段时,同时定义了字段的“有效性规则”,对输入学生表的记录有什么影响?答:只能输入男或女。8如何输入学生照片?答:文件类型是使用OLE对象,利用剪切或复制将对象放置在剪切板中,然后在输入记录 上的OLE对象字段上单击右键,弹出快捷菜单,选择粘贴命令,该对象就保存在表中。9 如何理解“收藏夹”,试说明“收藏夹”与组之间的异同。答:在数据库对象标签栏中,“收藏夹”是Access系统自动定义的一个项目,它与组的功能相同,但不可删除,因此,最常用的一些对象,就可以放到收藏夹中。10打开数据库文件时,有哪几种可选择的方式?一般默认方式是什么?如果要将默认方式设置为“独占”如何实现?答:四种,有打开,以只读方式打开,以独占方式打开,以独占只读方式打开。 一般默认方式是打开,要设置默认方式,在工具选项高级中的默认方式改为独占。应用即可。11. 在“学生”表的设计器中,选择“学号”字段,然后单击工具栏“主键”按钮,以便取消主键,这时会出现什么情况?为什么?答:不能更改主键。这个表是一个或多个关系中的主表。如果要更改或移去主键,应先在“关系”窗口中删除所有关系。12. 在“编辑关系”对话框中,只有选中“实施参照完整性”,才可以选择“级联更新关联字段”和“级联删除关联字段”。试解释这三种复选项的控制意义。答:实施参照完整性的含义是值当字表插入记录是时,Access会检验外键值是否具有对应的主键值,若不存在,则不允许插入级联更新是指当修改父表主键数据时,会同时哪个是修改字表中对应的外键值级联更新是指当删除父表主键数据时,会同时删除字表中对应外键值所在的记录13当在输入记录时,如果发生主键字段重复,会出现什么现象?如果输入的外键值如专业表的“学院号”在“学院”中没有对应的值,会出现什么情况?答:如果设置“索引(有重复)”,则可以,否则会提示。 如果在关系设置中选了“参照完整性”复选框,如果输入的外键值如专业表的“学院 号”在“学院”中没有对应的值,Access会拒绝输入。14. 定义表时,设置“有效性文本”字段属性有何作用?答:限定用户使用指定提示的文字,当所设字段被输入不在指定的文字内时,会限制并提示。15. 在定义“文本”型字段格式时,“”符号与“&”符号作为占位符有何区别?在定义“数字”型字段格式时,“#”符号与“0”符号作为占位符有何区别?答:如果没有可用字符要显示,A ccess将忽略该占位符。如果没有数值输入,0 access显示0,# access忽略该数字占位符。16. 在本实验的定义“日期/时间”型字段格式时,一个m或d与两位的mm或dd在使用时有何区别?用“”符号的作用是什么?若设计格式为:dddddd红色,有何区别?答:m 把月份显示为一位或两位数字 mm 把月份显示成固定的两位数 d 把某天显示为一为或两位数字 dd 把某天显示成固定的两位数字 将其后跟随的第一个字附原文照印 dddddd红色 在成日期格式中的某天显示为红色17. 定义“输入掩码”属性的实质意义是什么?在定义“学号”字段的输入掩码时,不使用“0”而使用“9”或“#”有和区别?如果在“姓名”字段上必须定义10位输入掩码,那么应该定义什么掩码字符串?答:定义数据的输入格式,输入数哭的某一位允许输入的值的集合 或0如果没有数字输入,Access将忽略该占位符,但是0就会显示位018. 可以采用查阅方法输入的字段类型有哪些?绑定查阅列表框控件进行输入,如果不点击其中的值,而是输入不同的值,是否可以输入?如果一定要使输入的值限定在列表框的值的范围内,应该如何实现?答:字段类型有:“文本”“是否”“数字”如果不点击其中的值,不能输入在一个限定的值集合中取值或者采用其他列表框等其他控件辅助输入。19. 若在“课程”表删除“数据库及应用”记录,会发生什么现象?什么含义?答:显示无法删除。20. 在数据表浏览展开子表时,可以最多展开多少层子表?若要同时展开每条记录的的子表,应该如何操作? 答:最多可展开8层,选择“格式”菜单下“子数据表”中的“全部展开”项。(二)实验项目21有哪几种方式可进入“SQL视图”?如果用“记事本”编写了SQL语句,是否可以在SQL视图中使用?如何操作?答:在查询对象列表窗口中双击“使用向导创建查询”,或者选中“简单查询向导”并单击“确定”按钮,将进入“简单查询向导”界面。双击“在设计视图中创建查询”,或者选中“设计视图”并单击“确定”按钮。可以。只需将编写的SQL语句剪切或复制再粘贴到SQL视图设计的命令上,要注意标点符号是英文状态下的。2 为什么不能在数字常量前加“¥”或“$”符号表示币值常量?“¥”或“$”有何作用?答:Access事先规定了数字运算符用来对数字型或货币型数据进行运算,运算的结果也是数字型数据或货币型数据。“¥”或“$”用来表示货币的单位,在定义“货币“型字段的”格式“属性中使用。3 如果在修改“法学院”学分的操作中要求根据“学院名”作为输入条件修改数据,查询命令应该如何写? 答:Update 课程 Set 学分=学分+1 Where 学院号in (select 学院号 from 学院 where 学院名=”法学院”)4 不保存查询,与将查询保存为查询对象有何区别?查询对象有什么作用? 答:前者查询设计没有保存,再次使用时需要重新输入命令,后者当选中相应的查询对象并打开时,可直接运行查询查看结果。作用:当需要查看查询结果时,直接在查询对象界面选中相应的查询对象并打开,就可以运行查询查看结果,避免了再次重新设计查询的操作。并且查询对性总是获取数据源表中最新的数据。查询能自动与源表保持同步。查询对象可以成为其他操作的数据源。5根据以下给定的查询要求,写出对应的查询命令。 查询学生中的民族来源,显示不重复的民族数据。 查询各民族男生和女生的人数。 查询没有学生选修的课程信息以及开课的学院名。 插入几条教师记录。 给“教授”职称的教师的基本工资增加10%。 删除没有学生就读的专业数据。 删除教师表。答: 查询学生中的民族来源,显示不重复的民族数据。Select distinct 民族From 学生 查询各民族男生和女生的人数。Select民族, count(民族) as 人数From 学生Group by 民族,性别 查询没有学生选修的课程信息以及开课的学院名。Select 课程.*,学院.学院名From 课程 inner join 学院 on 课程.学院号=学院.学院号Where 课程号 not in (select 课程号 from 成绩) 插入几条教师记录。Insert into 教师Values (工号,姓名,性别,生日,职称,基本工资,学院号) 给“教授”职称的教师的基本工资增加10%。Update 教师Set 工资=工资*1.1Where 职称 like “*教授” 删除没有学生就读的专业数据。Delete from 专业Where 专业号 not in (select 专业号 from 学生) 删除教师表。6 深入体会交叉表查询的作用,简述交叉表查询的实质意义。作为行标题的字段最多可以设置几个?作为列标题和交叉值的字段最多可以设置几个?答:交叉表查询是一种特殊的汇总查询。交叉表的内容可以通过另外一种方式来输出显示。可指定源表的一个或多个字段作为行标题,一个字段作为列标题,一个字段作为交叉值的来源。7 参数查询的参数设置是否一定要通过菜单设置类型?通过菜单设置的参数是否一定要出现在查询中? 答:不是。查询中可以不出现通过菜单设置的参数。8 生成表查询实现的是SQL语言中什么语句的功能? 答:该功能为实现SELECT语句中INTO子句的功能。9 追加查询对应SQL的什么语句?该语句是否只具有追加查询的功能?若有其他功能,如何实现交互操作?答:对应SQL的INSERT INTO是的(二)实验项目31什么是Access的外部数据?答:不同的软件一般都规定了本系统中数据的格式,这些格式往往并不相同。在实际应用中,为了充分利用不同软件的优势功能,需要在不同软件之间移动数据。在Access应用时,凡是不以Access数据库存储格式存储、在其他程序中的数据就称为外部数据。2 简述不同软件进行数据导入、导出的意义。答:导入可以将其他应用程序中的数据移到Access数据库中,导出可以将Access表中的数 据移动到其他应用程序中。3 对于Access来说,导入和链接有什么异同点。答:链接以数的当前文件格式使用它,即保持原文件格式不变,在Access中使用外部数据。导入时对外部数据制作一个副本,并将副本移动到Access中,变成Access中的表来使用。4 在向文本文件导出时,怎样做到只导出数据而不导出字段名? 答:在将表导出的时候不勾选“带格式保存”即可 5 可以将表对象或查询对象导出,能否将外部数据导入为查询?若要导入到查询,Access会怎样做?答:选择“对象”时选择“查询”,再右键单击选择“导入”即可。五、分析讨论以前从未使用过Access,对Access非常陌生,通过本次试验初步认识了数据库,了解并掌握建立数据库、表和关系的过程;熟悉了数据库窗口的界面特点,掌握了数据库窗口几种设置方法;理解并掌握了关系数据库完整性基本概念,掌握了完整性的设置方法; 掌握了字段属性的概念和一些属性的用途,并掌握一些字段属性的设置方法;了解了Access数据表视图的一些基本功能; 了解了在数据表视图中进行操作时的不同特点。六、教师评语1按时完成实验;2实验内容和过程记录完整;3回答问题完整、正确;4有实验的心得或讨论;5实验报告的撰写认真、格式符合要求,没有抄袭行为。签名: 日期:2012.6成绩本实验的操作步骤如下。(一) 数据库与表的设计与创建1给定如下数据分析,进行概念设计与逻辑设计。即设计系统的E-R模型并转换为关系模型。E-R模型专业专业号专业类别学院学院号学院名院长课程课程号课程名学分学生学号姓名性别生日民族籍贯简历登记照学生主修专业选修成绩课程开设学院设置nnnn111关系模型学生(学号,姓名,性别,生日,民族,籍贯,简历,登记照,专业号)专业(专业号,专业,专业类型,学院号)学院(学院号,学院名,院长)课程(课程号,课程名,学分,学院号)成绩单(成绩,课程号,学号)2. 数据库结构设计指定数据库文件的名称,并为设计好的关系模型设计表结构。数据库文件保存在“E:教学管理”文件夹中。数据库文件名为“教学管理.MDB”,表包括学院名,专业名,学生,课程和成绩单表一 学院字段名类型宽度小数主键/索引参照表约束Null值学院号文本型2(主)学院名文本型16院长文本型8表二 专业字段名类型宽度小数主键/索引参照表约束Null值专业号文本型4(主)专业名文本型16专业类别文本型8学院号文本型2学院表三 学生字段名类型宽度小数主键/索引参照表约束Null值学号文本型8(主)姓名文本型8性别文本型2男or女生日文本型民族文本型6籍贯文本型20专业号文本型6专业简历备注型登记照OLE型表四 课程字段名类型宽度小数主键/索引参照表约束Null值课程号文本型8(主)课程名文本型24学分字节型学院号字节型2学院表五 成绩单字段名类型宽度小数主键/索引参照表约束Null值学号文本型8学生课程号文本型6课程成绩单精度410and1003定义数据库文件定义存放路径,和数据库文件。写出操作步骤。可包括必要的截图。步骤:首先在E盘上建立“教学管理”文件夹,然后启动Access,单击“新建”按钮图标,出现“任务窗格”中单击“空数据库”超链接,出现“文件新建数据库”对话框,在对话框中找到“E:教学管理”文件夹,然后在“文件名”下拉列表框中输入“教学管理”,单击“创建”按钮,创建完毕。4定义数据库中各表根据事先设计好的结构,分别定义各表、字段名、字段属性。步骤:在“数据库”窗口中选择“表”对象栏。在“表”对象栏窗口中双击“使用设计器创建表”选项,弹出表设计窗口,如图1-1所示。在设计器中设计“学院表”。根据事先设计好的结构,分别定义各字段名、字段属性。然后单击工具栏中的“保存”按钮,弹出“另存为”对话框,如图1-2所示。在“表名称”文本框中输入“学院”按钮,表对象创建完成。依次建立“专业”表、“课程”表、“学生”表和“成绩单”表。定义“学院”表结构 命名保存“学院”表对象5定义表之间的关系当所有表都定义好后,定义各表之间的关系。步骤:当所有的表都定义好后,在工具栏中单击“关系”按钮,弹出关系定义窗口,并同时出现“显示表”对话框,如图1-3所示。依次选中各表,并单击“添加”按钮,将各表添加到关系窗口中。选中“学院”表的“学院号”字段,拖到“专业”表内的学院号上,弹出“编辑关系”对话框,选中“实施参照完整性”复选框,如图1-4所示。单击“创建”按钮,创建“专业”表和“学院”表之间的关系。类似方式建立“课程”和“学院”、“学生”好“专业”、“成绩”和“学生”及“课程”表之间的关系,得到整个数据库的关系,如图1-5所示。 “显示表”对话框 定义表之间的关系 定义数据库表之间的联系6输入表记录当所有表建立好后,可开始输入记录。简要说明输入的操作。步骤:当一个数据库的所有表建立好后,可开始输入记录。由于表之间存在联系,输入时,应该先输入被引用数据的表记录,然后再输入引用其他表数据的表记录。这里输入的顺序依次是学院表、专业表、学生表和课程记录表,最后是成绩单表的记录。在数据库表对象窗口中,双击“学院”表,出现“学院”表的“数据库”视图。在该视图中依次输入各条记录。如图1-6所示。当数据库不再使用时,关闭数据库窗口及Acess。学院表数据表视图输入记录(二)、Access数据库窗口的基本操作1设置教学管理数据库窗口中表对象列表窗口的显示格式为“详细信息”步骤:在Acess中打开教学管理数据库,在“对象”栏中选择“表”,然后单击命令栏中的“详细信息”按钮,结果如图1-7所示。设置数据库窗口对象显示效果2隐藏和重新显示教学管理数据库窗口 步骤:选择“工具”“启动”命令,弹出“启动”对话框。取消对“显示数据库窗口”复选框的选择,如图1-8所示。这样,下次再打开该数据库文件时,将不再显示相应的数据库窗口。要想重新显示数据库窗口,在打开数据库后俺F11键,这时将重新显示数据库窗口。然后在“启动”对话框中选中“显示数据库窗口”复选框。3定义一个“学生与成绩”组,将“学生”、“成绩”表放置到该组中步骤:在教学管理数据库窗口中,选择“编辑”“组”“新组”命令;或者在对象标签栏中单击右键,从弹出的快捷菜单中选择“新组”命令,弹出“新建组”对话框。在“新组名称”文本框中输入组的名称“学生与成绩”,如图1-9所示,单击“确定”即可,该组显示在对像标签栏中的“收藏夹”下面。选择“表”对象,然后分别选中“学生”表和“成绩”表单击右键,选择“添加到组”“学生与成绩”命令即可。(三)、创建表时的完整性设置1定义主键,实现实体完整性的操作每个表都可以定义主键。在Access中为教学管理数据库的各表定义主键。步骤:在Acess中打开教学管理数据库,进入数据库窗口的表对象窗口界面,选择学生表,单击设命令,打开学生表的设计器。可以看到,“学号”字段前有“主键”标识,“学号”字段学表的主键。若某个表没有定义主键,在该表的设计器中选择可以作为主键的字段,单击工具的“主键”按钮即可。定义主键后,主键字段不允许重复取值、不允许取空值。主键可以作为外键的参照字段,实现参照完整性。当一个表没有合适的字段作为主键时,一般会增加一个“id”字段。试在“成绩”表中增加一个“成绩id”字段,并定义为“自动编号”型,然后定义其为主键。2进行设置参照完整性的操作在定义的有关系的表上,为关系设置参照完整性。步骤:在表对象窗口,单击工具栏中的“关系”按钮,打开“关系”窗口,将所有表添加到窗口中然后将主键拖到发生联系的表的外键上,就会自动弹出如图1-4所示的“编辑关系”对话框然后进行设置即可。3通过不同方式实现用户定义的完整性的操作用户定义的完整性,是指由用户规定的对于表中数据取值的约束。在Access表定义时,除定义主键和关系外,通过多种方式设置用户定义完整性。对教学管理数据库中必要的用户定义完整性进行设置和定义步骤:以教学管理数据库中的“学生”表为例在“学生”表中,定义“姓名”等字段不允许取空值;定义“性别”的“有效性规则”为“男”或“女”;为“学号”字段定义每位只能输入09的8位输入掩码等。如图1-10所示。定义字段的不重复索引可以限制该字段输入重复值;定义“查阅”控件可以使输入局限在给定的区域内。(四)字段属性定义与应用1. 字段显示格式设置 使“学生”表中的“民族”字段以黄色显示。步骤:在“学生”表的设计视图中选中“民族”字段,然后设置“格式”字段属性值为:&色,如图所示。 使“学生”的生日以中文方式、红色显示。步骤:在“学生”表设计视图中选中“生日”字段,然后设置“格式”字段属性值为:yyyy年m月d日红色。 使“成绩”表中成绩的显示为3位整数和一位小数,蓝色。步骤:在“成绩”表的设计视图中选中“成绩”字段,然后设置“格式”字段值为:#.0蓝色。 2字段输入掩码设置在定义“学生”表时,由于“学号”是8位文本,且每位都由09组成,因此,要在定义“学号”字段时规定每一位的输入都必须是数字。步骤:在“学生”表设计视图中选中“学号”字段,定义“输入掩码”字段属性值为00000000.其他如课程表的“课程号”字段、专业表的“专业号”字段等都可以定义类似的输入掩码。其他如课程表的“课程号”字段、专业表的“专业号”字段等都可以定义类似的输入掩码。3定义字段查阅方法查阅控件与字段绑定,可以提示字段的输入。为“专业”表的“专业类别”定义查阅控件绑定。步骤:进入“专业”表的设计视图,选中“专业类别”字段,选择“查阅”选项卡,在“显示控件”文本框中选择“列表框”在“行来源类型”文本框中选择“值列表”,在“行来源”下拉列表框中输入“经济学;法学;管理学;理学;工学;人文”。如图所示。单击工具栏中的“保存”按钮保存设计,然后单击“视图”按钮进入数据表视图,可以看到,输入“专业类别”时,可以从列表框中选择数据输入,也可以直接输入字符串。为“专业”表的“学院号”字段设计“查阅”控件。数据从“学院”表中来,显示“学院号” 和“学院名”两列数据,采用列表框。如图所示。(五)数据表视图下数据记录的显示与操作1输入操作利用数据表视图进行输入操作,输入的数据应该满足完整性的要求。而如果是有关系的表中的子表,外键输入时还要与主键值对应。根据给定的数据,为数据库中各表(重点介绍一到两个表)输入记录。为“专业”表增加新的专业记录步骤:进入“专业”表的数据表视图。分别输入“专业号”、“专业”,从列表中选择“专业类别”,然后输入“学院号”,如图所示。输入完毕后关闭。2. 修改和删除操作修改“课程”表,将“运筹学”所在记录的学分增加1分,将开设学院变为“工商管理学院(05)”。步骤:进入“课程”表的数据表视图,完成直接修改数据的操作。删除“课程”表中“美术设计”课程。3. 数据表视图中的设置数据表视图是浏览表中数据的界面,可以做不同的设置,以获得不同的效果。 数据表视图中父子表的展开。步骤:进入“学院”表数据视图,若需要展开“信息学院”记录的子表,单击记录左端的“”。由于“学院”表的子表有两个,因此会弹出“插入字数据表”对话框。在其中选中“课程表”。由于“课程”表有“成绩”表的子表,可以进一步单击有关课程的子表展开器“”,这样又展开了下一层子表,如图所示。 按照指定的字段排序浏览。在“成绩”数据表视图中,按照成绩的大小排列。步骤:在“成绩”数据表视图中,若按照成绩的大小排列,选中“成绩”字段,然后单击工具栏中的“降序排列”按钮,数据即重新排列显示。 在学生表中只显示女生数据记录。步骤:在“学生”表的数据表视图中,选择“记录”“筛选”“按窗体筛选”命令,这时数据表视图变成“按窗体筛选”窗口,选择“性别”字段,从列表中选择“女”,如图所示。这时,菜单中出现“筛选”菜单,选择“筛选”“应用筛选/排序”命令,数据表视图就只显示女生信息。如图所示。如要取消筛选,选择“记录”“取消筛选/排序”即可。实验项目二:查询(1) SQL视图中表达式练习1进入SQL视图及在不同视图间切换在不同视图键的转化也是如此2不同类型数据的表达式运算在SQL视图中分别输入以下命令并运行,对于参数自己输入数据。查看并写出各表达式运算结果。SELECT -5.122+(17 mod 3); 得到:28.2144SELECT Hello +,World!,LEFT(清华大学出版社,2)+RIGHT(清华大学出版社,3);SELECT 你毕业的年份是, VAL(LEFT(你的学号,4)+4;SELECT 现在是+STR(YEAR(DATE()+年,现在的时间是:+CSTR(TIME();SELECT 张三李四,ABCD1000;同上操作(二)SQL命令进行查询和操作1练习SQL查询的SELECT语句启动教学管理数据库,在数据库窗口对象栏中单击“查询”,然后进入SQL视图。在“SQL视图”中输入以下SELECT命令,查看执行结果,并仔细体会查询的实现。 查询“学院”、“专业”、“学生”完整数据。SELECT * FROM (学院 INNER JOIN 专业 ON 学院.学院号=专业.学院号) INNER JOIN 学生 ON 专业.专业号=学生.专业号); 查询“工商管理”专业所有女生信息。SELECT 专业,学生.* FROM 专业 INNER JOIN 学生 ON 专业.专业号=学生.专业号WHERE 专业.专业=工商管理 AND 学生.性别=女; 查询平均成绩在80分以上的各位学生的学号、姓名和平均分。保存为查询对象,对象名“优秀学生”。SELECT 学生.学号,姓名,AVG(成绩) AS 平均分 FROM 学生 INNER JOIN 成绩 ON 学生.学号=成绩.学号 GROUP BY 学生.学号,姓名 HAVING AVG(成绩)=80 ; 查询没有学生数据的专业编号和专业。SELECT 专业号,专业 FROM 专业 WHERE 专业号 NOT IN (SELECT 专业号 FROM 学生) ; 查询“湖北”籍1988年以后出生的学生信息。SELECT * FROM 学生 WHERE 籍贯 LIKE 湖北* AND 生日 =#1988-1-1# ; 查询选课人数最多的课程的课程号、课程名。SELECT TOP 1 课程.课程号,课程名 FROM 课程 INNER JOIN 成绩 ON 课程.课程号=成绩.课程号 GROUP BY 课程.课程号,课程名ORDER BY COUNT(*) DESC ;2练习SQL的插入、更新、删除操作命令 在课程表中插入一门新课,数据如命令所示。INSERT INTO 课程 将“法学院(04)”开设课程的学分增加1分。UPDA

温馨提示

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

评论

0/150

提交评论