




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库及其应用实验报告实验序号:B0901000-02 实验项目名称:数据库设计及数据库创建与应用学号1106070142姓名郭飞专业、班旅游1101实验地点现教中心指导教师 周晓华时间2012年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:教学管理”文件夹中。学院字段名类型宽度小数主键/索引参照表约束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课程成绩单精度41=0and=0and李四,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分。写出以上要求的操作步骤并截取必要的图片。一、 SQL视图中表达式练习1、进入SQL视图及在不同视图间切换打开数据管理库。在数据库窗口选择“查询”,双击“在设计视图中创建表” 关闭显示表对话框,单击查询工具栏的“视图”根据的下拉按钮,选择SQL视图选项通过视图按钮即可实现查询不同视图的切换。2、不同类型数据的表达式运算(1)在SQL视图中输入SELECT -5.122+(17 mod 3);结果为 (2)SELECT Hello +,World!,LEFT(清华大学出版社,2)+RIGHT(清华大学出版社,3); (3)SELECT 你毕业的年份是, VAL(LEFT(你的学号,4)+4(4)SELECT 现在是+STR(YEAR(DATE()+年,现在的时间是:+CSTR(TIME();(5)SELECT 张三李四,ABCD1000二、 SQL命令进行查询和操作1练习SQL查询的SELECT语句启动教学管理数据库,在数据库窗口对象栏中单击“查询”,然后进入SQL视图。在“SQL视图”中输入以下SELECT命令,查看执行结果。(1) 查询“学院”、“专业”、“学生”完整数据。(2) 查询“工商管理”专业所有女生信息。(2) 查询平均成绩在80分以上的各位学生的学号、姓名和平均分。保存为查询对象,对象名“优秀学生”。(3) 查询没有学生数据的专业编号和专业。在弹出的对话框中输入专业号即可,如下(5) 查询“湖北”籍1988年以后出生的学生信息。(6)查询选课人数最多的课程的课程号、课程名。2、练习SQL的插入、更新、删除操作命令(1)在课程表中插入一门新课,数据如命令所示。运行后在弹出的问询框中点击是(2)将“法学院(04)”开设课程的学分增加1分。(4) 删除“信息学院(09)”开设的没有学生选修的课程。3、创建“教师”表,包括:工号、姓名、性别、生日、职称、基本工资、学院号。三、选择查询操作1进入查询设计视图进行交互式选择查询设置启动教学管理数据库。 查询“专业”表,显示开设的所有专业涉及的学科门类。 查询各专业学生的人数。 查询没有选课的男学生学号、姓名,即成绩表中没有记录的学生数据。结果1:结果2得到结果3运行后得2、2进行交叉表查询将学生的“学号”和“姓名”作为行标题,“课程名”作为列标题,成绩作为交叉数据,生成交叉表。运行得3进行参数查询通过参数查询指定日期以后出生的某个民族的学生信息。四、动作查询操作1生成表查询操作练习将“查询平均成绩在80分以上的各位学生的学号、姓名和平均分”的结果生成新表,表名“优秀学生名单”。运行后有2删除查询操作删除“优秀学生名单”表中,平均分在85分以下的记录。运行3追加查询操作将平均分在8085分之间的学生及成绩数据加入“优秀学生名单”表,结果为: 4更新查询操作将没有学生选修的课程的学分减少1分。运行得实验项目三:数据交换(一) 导出操作1在“教学管理”数据库中创建一个查询并保存。查询的名称为“学生成绩单”。查询的结构为:学号、姓名、专业、课程号、课程名、成绩。2将“学生成绩单”查询导出为文本文件,字段值之间用逗号作为分隔符,文本型数据不要加引号。文本文件要包括字段名。3将“学生成绩单”查询导出到桌面EXCEL文件“学生成绩表”中。写出以上操作的主要过程。答:1、打开“教学管理”数据库,进入查询对象界面,启动“新建查询”对话框,选择“简单查询向导”,根据对话框提示,就行如下设置单击“完成”即可。结果为2、将“学生成绩单”查询导出为文本文件,字段值之间用逗号作为分隔符,文本型数据不要加引号。文本文件要包括字段名。在查询界面,选中“学生成绩单”,击右键,在弹出的列表框中单击“导出”,有单击导出,弹出“导出文本向导”对话框,选择“高级”按钮,进行如下设置单击确定,单击“完成”即可。结果为3、将“学生成绩单”查询导出到桌面EXCEL文件“学生成绩表”中。结果为(二)导入操作1将上面实验产生的文本文件导入教学管理数据库中作为表对象。命名为“学生成绩单”。并为各字段列指定合适的类型。 2上面实验产生的EXCEL文件“学生成绩表”导入教学管理数据库中作为表对象。命名为“学生成绩表”。并为各字段列指定合适的类型。产生表后,指定学号、课程号为主键。写出以上操作的主要过程。答:1、将上面实验产生的文本文件导入教学管理数据库中作为表对象。命名为“学生成绩单”。并为各字段列指定合适的类型。在“表”界面,在文件的下拉菜单中选择“获取外部数据”,再选择“导入”,出现导入对话框,点击导入,出现“导入文本向导”对话框,按照提示设置即可然后为各字段设置类型:最后为单击完成即可。在提示中点击是。即导入成功。2、 上面实验产生的EXCEL文件“学生成绩表”导入教学管理数据库中作为表对象。命名为“学生成绩表”。并为各字段列指定合适的类型。产生表后,指定学号、课程号为主键。在表界面,在文件下拉菜单中选中“获取外部数据”,单击“导入”,弹出单击“导入”,有根据提示设置,有然后命名为“学生成绩表”。然后打开该表,进入设计视图,将课程号与学号移至相邻位置,选中两个字段,单击“主键”按钮,即设置好以学号、课程号为主键德表,结果为按照导入向导设置,四、回答问题(一)实验项目11Access存储数据时,用到几个数据库文件?扩展名是什么?答:用到一个数据库文件。扩展名是mdb.2设计ER模型、关系模型、数据库及表结构,分别属于数据库设计中的什么步骤? 答:ER模型是概念设计,关系模型是逻辑设计,数据库及表结构是物理设计。3在表结构设计中,应该包含哪些内容?答:字段名称,字段数据类型;字段大小,格式,输入掩码,标题,默认值,有效性规则,有效性文本,必填字段,允许空字符串,索引,Unicode 压缩,输入法模式,IME语句模式,智能标记以及查阅。4在本实验设计中,共使用了哪些数据类型? 答:文本,单精度数字,日期/时间,OLE对象,备注型。5定义表之间的关系时,“实施参照完整性”的意义是什么?在“编辑关系”对话框中选中或者撤销“级联更新相关字段”复选框,对于数据表的操作有何影响?答:(1)使主表中的记录存在于所有相关表中 (2)当选中时,若父表修改主键值,如果子表中的外键有对应值,外键的对应值将自动级联更新。若撤销,则当父表修改主键值而子表中有对应值,则Access拒绝修改主键值。6建立表的关系,是否要求发生关系的两个字段必须同名?答:不需要同名,只要在数据类型和字段属性设置上相同。7在定义学生表的“性别”字段时,同时定义了字段的“有效性规则”,对输入学生表的记录有什么影响?答:定义有效性规则后,用户针对该字段的每一个输入值或修改值都会代入表达式中运算,只有运算结果为TRUE才能存入字段,否则界面将弹出一个提示对话框提示输入错误,并要求重新输入。8如何输入学生照片?答:利用“复制”将照片放置在“剪贴板”上,再在输入记录上的“OLE”对象字段上单击右键,弹出快捷菜单,选择粘贴命令,照片就插入文档中。9 如何理解“收藏夹”,试说明“收藏夹”与组之间的异同。答:收藏夹是Access系统自动定义的一个项目,是一个特殊的组。收藏夹与组的功能相同,但不可删除。10打开数据库文件时,有哪几种可选择的方式?一般默认方式是什么?如果要将默认方式设置为“独占”如何实现?答:(1)在文件的下拉菜单中选择打开,找到文件路径,选中文件后,单击打开即可;或直接单击打开按钮,在弹出的对话框中按上述操作即可。(2)默认方式是“共享”。(3)在有数据库窗口的情况下,选择“工具”菜单“选项”,在弹出的“选项”对话框中选择“高级”,在“默认打开方式”中选择“独占”,选择“应用”,再“确定”即可。11. 在“学生”表的设计器中,选择“学号”字段,然后单击工具栏“主键”按钮,以便取消主键,这时会出现什么情况?为什么?答:会弹出提示“不能删除主键”。因为这个表示一个或多个关系的主表。要删除必需先删除关系。12. 在“编辑关系”对话框中,只有选中“实施参照完整性”,才可以选择“级联更新关联字段”和“级联删除关联字段”。试解释这三种复选项的控制意义。答:这三种复选项可以是数据全面实现“参照完整性”。这样有助于保证数据的完整和正确。13当在输入记录时,如果发生主键字段重复,会出现什么现象?如果输入的外键值如专业表的“学院号”在“学院”中没有对应的值,会出现什么情况?答:Access将提示错误,并且不会添加数据,并要求重新填入数据;Access将拒绝添加数据。14. 定义表时,设置“有效性文本”字段属性有何作用?答:该属性允许用户指定提示的文字,这样有助于提高数据输入速度。15. 在定义“文本”型字段格式时,“”符号与“&”符号作为占位符有何区别?在定义“数字”型字段格式时,“#”符号与“0”符号作为占位符有何区别?答:(1)与&用途相同,但当没有字符要显示时,Access将忽略&占位符,而不忽略占位符。(2)如果在占位符的位置没有数字输入,则Access在0占位符处显示0,在#占位符处则忽略该数字占位符。16. 在本实验的定义“日期/时间”型字段格式时,一个m或d与两位的mm或dd在使用时有何区别?用“”符号的作用是什么?若设计格式为:dddddd红色,有何区别?答:(1)用m、d,日期显示为一位或两位,而用mm、dd,则将日期显示为固定的两位数字。(2)用符号表明将其后跟随的第一个字符原文照应。(3)则字段显示为长日期,且显示红色。17. 定义“输入掩码”属性的实质意义是什么?在定义“学号”字段的输入掩码时,不使用“0”而使用“9”或“#”有和区别?如果在“姓名”字段上必须定义10位输入掩码,那么应该定义什么掩码字符串?答:(1)意义:定义数据的输入格式;输入数据的某一位上允许输入的值的集合。(2)输入0则必须输入数字到该位置;而用9,只可输入数字或空格到该位置,若未输入任何数字或空格,Access将忽略该占位符;而#,在该位置可输入数字、空格、+、,若未输入任何数字,Access认为输入的是空格。 (3)使用“9”和“#”时可以输入“+”“”空格。&18. 可以采用查阅方法输入的字段类型有哪些?绑定查阅列表框控件进行输入,如果不点击其中的值,而是输入不同的值,是否可以输入?如果一定要使输入的值限定在列表框的值的范围内,应该如何实现?答:(1)文本、是/否型、数字型字段。(2)不可以,必需在列出的值中选择。(3)则在设置“行来源类型”时选择“值列表”,然后在行来源中输入值的范围即可。19. 若在“课程”表删除“数据库及应用”记录,会发生什么现象?什么含义?答:(1)会弹出提示框“由于表成绩中包含相关记录,不能修改或删除该记录”。(2)由于建立了“参照完整性”,但未设置“级联删除相关记录”,因此父子表存在约束。20. 在数据表浏览展开子表时,可以最多展开多少层子表?若要同时展开每条记录的的子表,应该如何操作?(1)最多可展开8层子表。(2)选择“格式”下“子数据表”菜单项中的“全部展开项”(二)实验项目21有哪几种方式可进入“SQL视图”?如果用“记事本”编写了SQL语句,是否可以在SQL视图中使用?如何操作?答:(1)在数据库窗口中双击“在设计视图中创建查询”,或先点击新建按钮,然后在新建按钮对话框中选中“设计视图”,单击确定,进入查询的设计视图下的选择查询窗口界面。关闭显示表对话框,在查询设计工具栏中单击SQL按钮,单击SQL视图,屏幕就转换为SQL视图的命令行界面。(2)可以使用。将在记事本中的语句复制,然后粘贴到SQL视图中,并将语句中所有的标点符号改为英文状态下的标点符号即可。2为什么不能在数字常量前加“¥”或“$”符号表示币值常量?“¥”或“$”有何作用?答:因为“¥”和“$”是文本型数据,不可以在数字字段出现。“$”“¥”在货币型数据中表明货币的类型。3如果在修改“法学院”学分的操作中要求根据“学院名”作为输入条件修改数据,查询命令应该如何写?答:update 课程;Set 学分=学分+X; Where 学院名=法学院;4不保存查询,与将查询保存为查询对象有何区别?查询对象有什么作用?答:保存了查询,即得到一个查询对象,以后打开查询对象就会立即执行查询并获得新结果。如不保存,则查询和结果集都将消失而不会保存。查询对象可以反复执行,查询结果总是反映表中最新的数据。5根据以下给定的查询要求,写出对应的查询命令。 查询学生中的民族来源,显示不重复的民族数据。答:select distinct 民族 From 学生; 查询各民族男生和女生的人数。答:select count ((学生.男)and(学生.女) From 学生; 查询没有学生选修的课程信息以及开课的学院名。答:SELECT 课程.*, 学院.学院名FROM 学院 INNER JOIN 课程 ON 学院.学院号 = 课程.学院号WHERE (课程.课程名) Not In (select 课程号 from 成绩) 插入几条教师记录。答:inseret into 教师 Values (); 给“教授”职称的教师的基本工资增加10%。答:Update 教师Set 工资=工资*0.1+工资Where 职称=教授; 删除没有学生就读的专业数据。答:DELETE 专业.专业号FROM 专业WHERE (专业.专业号)=专业号 not in(select 专业号 from学生)) 删除教师表。答:delete 教师.*from 教师6深入体会交叉表查询的作用,简述交叉表查询的实质意义。作为行标题的字段最多可以设置几个?作为列标题和交叉值的字段最多可以设置几个? 答:交叉表查询是Access支持的一种特殊的汇总查询,是关系数据库中关于多对多数据设计的最常见的表。在定义查询时,可以指定源表的一个或多个字段作为交叉表的行标题的数据来源,指定一个字段作为列标题的数据来源,指定一个字段作为值的来源。7参数查询的参数设置是否一定要通过菜单设置类型?通过菜单设置的参数是否一定要出现在查询中?答:不是。可在QBE 窗格的条件行设置。是,不论是否用到参数,在运行查询时都需要输入参数值。8生成表查询实现的是SQL语言中什么语句的功能?答:Creat table语句。9追加查询对应SQL的什么语句?该语句是否只具有追加查询的功能?若有其他功能,如何实现交互操作?答:Insert into 语句。该语句有将一条记录追加到表中和将一个查询结果追加到表的功能。在可视化操作中,第一种可在表的数据表视图中完成,第二种用法通过“追加查询”完成。(二)实验项目31什么是Access的外部数据?答:凡是不在当前Access数据库中储存,在其他数据库或程序中的数据就称为外部数据。2简述不同软件进行数据导入、导出的意义。答:可以充分利用不同程序的优势功能。3对于Access来说,导入和链接有什么异同点。答:这两种方式都可以使用外部数据;区别:链接是以被链接数据的当前文件格式使用它,即保持原文件格式不变,在Access中使用外部数据。4在向文本文件导出时,怎样做到只导出数据而不导出字段名?答:在导入导出对话框的“在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个人贷款个人管理办法
- 设计师方案管理办法
- 自营交易室管理办法
- 舞蹈兴趣班管理办法
- 贷款重组相关管理办法
- 装载机安全管理办法
- 三库管理平台管理办法
- bt项目资金管理办法
- 上市公司证券管理办法
- 营销管理办法如何制定
- 2025《义务教育信息科技课程标准(2022年版)》测试题库及答案(共4套)
- 环境监测业务流程
- 房屋提前移交免责协议书5篇
- (完整版)小学1-6年级英语单词(人教版)
- DB36-T 954-2024 低产低效林改造技术规程
- 《环境保护法》知识参考试题库200题(含答案)
- 食堂食材配送采购投标方案(技术标)
- 交通安全防御性驾驶
- 护理情景模拟演练脚本
- 征信异议申诉合同(2篇)
- 施工现场安排及人材机计划
评论
0/150
提交评论