1、学生实验报告实验课名称:大学计算机 实验项目名称:数据库技术基础(Access) 专业名称:班级: 学号: 学生姓名: 教师姓名: 2017年11月21日实验日期: 2017 年 11 月 21 日 实验室名称: 一实验名称: 数据库管理系统Access的操作实验二实验目的与要求:掌握建立和维护Access数据库的一般方法掌握SQL中的数据更新命令掌握SELECT命令掌握Access数据库中创建查询的方法三实验内容:练习一 表的建立和维护1.建立数据库。创建一个数据库,文件名为“学号姓名.accdb”,在其中建立表Teachers,结构如上机指导书表5.1所示,内容如上机指导书表5.2所示。2
2、.确定表Students的结构,内容如上机指导书表5.3所示。3.将表Teachers复制为Teachers1和Teachers2。4.修改表Teachers1的结构。(1)将姓名字段的宽度由4改为6。(2)添加一个新的字段:职称 文本型 4 ,并为表中各个记录输入合适的职称信息。(3)将“党员”字段移到“参加工作年月”字段之前。(4)设置教师号为主键。5.导出表Teachers2中的数据,以文本文件的形式保存,文件名为Teachers.txt。6.导出表Teachers2中的数据,以Excel数据薄的形式保存,文件名为Teachers.xlsx。7.用SQL中的数据更新命令对Teachers
3、2进行操作。(1)用INSERT命令插入一条新的记录。600001 杨梦 女 54 1986/04/22 2660 210(2)用INSERT命令插入一条新的记录。600002 罗贤兴 52(3)用DELETE命令删除姓名为“关红梅”的记录。(4)用DELETE命令删除年龄40AND性别为“女”的记录。(5)所有人的年龄加1。(6)对表中工龄超过15年的职工加20%的工资。练习二 SELECT命令和创建查询。针对所建的数据库中的表Teachers和Students1. 查询所有教师的基本信息。2.查询所有教师的教师号、姓名、性别和年龄。3.查询所有教师的教师号、姓名和实发工资。4.查询所有教师
4、的人数和平均实发工资。5.查询“华成”的基本情况。6.查询所有男教师的基本信息。7.查询2000年以前参加工作的所有教师的教师号、姓名和实发工资。8.查询男女生的最低分、最高分和平均分数。9.查询男女职工的最低工资、最高工资和平均工资(工资指实发工资)。10.查询所有党员的教师号和姓名,并且按年龄从大到小排列。11.查询党员和非党员的人数和平均年龄。12.查询学号为“110002”的学生的教师的教师号、姓名和性别。13.查询每个教师的教师号和学生人数。14.查询每一个教师的教师号以及所教学生的最低分、最高分和平均分。四实验设备与软件环境:操作系统:windows xp或 windows 7 软
5、件环境:microsoft office 2010中的 microsoft Access 2007五实验步骤与结果:练习一:表的建立及维护1打开access2010点击新建将文件名命名为“*”。点击创建,创建一个表。点击开始、视图、设计视图。将表名称改为“Teachers”如图所示按照表5.2要求输入字段信息、文本类型、字段宽度。如图所示将主键设置为教师号,(左键点击教师号,右键、左键点击设置为主键)点击开始,点击数据表视图转化后输入“表5.2”内容。如图所示:2同理按“表5.3”建立Students的结构。如图所示3关闭Teachers表,右键“Teachers:表”,点击复制。粘贴,将表名
6、改为teachers1,同时选择结构和数据选项同理复制“teachers2”4(1)打开teachers1表,设计视图。点击姓名一栏,在字段属性中将字段4改为6。(2)按照要求添加新字段,输入信息。表如图所示(3)点击党员字段名称,长按拖至参加工作年前。如图5选定表teachers2,然后单击“外部数据”,点击导出文本,后如图6同5将其导出为EXCEL数据簿7打开数据库Testl.acedb建立个空查询。单击“创建”“查询设计”命令,在弹出的对话框中不选择任何的表成查询,直接关闭对话框,即建立了一个空查询,输入INSERTINTOTeachers(教师号,姓名,性别,年龄,参加工作年月,党员,
7、应发工资,扣除工资)VALUES(600001,杨梦,女,54,#4/22/1986#,YES,2660,210)输入INSERT INTO Teachers2 ( 教师号, 姓名, 性别, 年龄, 参加工作年月, 党员, 应发工资, 扣除工资 )VALUES (600002, 罗贤兴, NULL, 52, NULL, NULL, NULL, NULL);如图示 输入DELETE *FROM Teachers2WHERE 姓名=关红梅;输入DELETE *FROM Teachers2WHERE 年龄25;输入后如图实验二1SQL视图输入SELECT *FROM Teachers;得到如图2SQ
8、L视图输入SELECT Teachers.教师号, Teachers.姓名, Teachers.性别, Teachers.年龄FROM Teachers; 如图3SQL视图输入SELECT 教师号,姓名,(应发工资-扣除工资) AS 实发工资FROM Teachers如图4SQL视图输入SELECT Count(*) AS 人数,(AVG (应发工资-扣除工资) AS 平均实发工资FROM Teachers如下图5SQL视图输入SELECT teachers.* FROM teachers WHERE (teachers!姓名=华成);如图6.查询所有男教师的基本信息 SQL语句SELECT
9、teachers.* FROM teachers WHERE (teachers!性别=男);7.查询2000年以前参加工作的所有教师的教师号、姓名和实发工资。 SQL语句SELECT teachers.* FROM teachers WHERE teachers.参加工作年月#1/1/2000#;8查询男女生的最低分、最高分和平均分数。 SQL语句SELECT 性别, MIN(分数) AS 最低分, MAX(分数) AS 最高分, AVG(分数) AS 平均分数FROM StudentsGROUP BY 性别;如图9.查询男女职工的最低工资、最高工资和平均工资(工资指实发工资)。SQL语句S
10、ELECT 性别, Min(应发工资-扣除工资) AS 最低工资, Max(应发工资-扣除工资) AS 最高工资, Avg(应发工资-扣除工资) AS 平均工资FROM TeachersGROUP BY 性别;如图10.查询所有党员的教师号和姓名,并且按年龄从大到小排列。SQL语句SELECT 教师号,姓名FROM TeachersWHERE 党员=YesORDER BY 年龄 DESC如图11.查询党员和非党员的人数和平均年龄。SQL语句SELECT 党员, Count(*) AS 教师人数, avg(年龄) AS 平均年龄FROM TeachersGROUP BY 党员;如图12.查询学号
11、为“110002”的学生的教师的教师号、姓名和性别。SQL语句SELECT Teachers.教师号,Teachers.姓名,Teachers.性别FROM Students,TeachersWHERE Teachers.教师号=Students.教师号 and Students.学号=110002如图13.查询每个教师的教师号和学生人数SQL语句SELECT Teachers.教师号,Count(*) AS 学生人数FROM Teachers,StudentsWHERE Teachers.教师号 = Students.教师号GROUP BY Teachers.教师号如图。14.查询每一个教师
12、的教师号以及所教学生的最低分、最高分和平均分。SQL语句SELECT Teachers.教师号,Min(分数) AS 最低分,Max(分数) AS 最高分,Avg(分数) AS 平均分FROM Teachers,StudentsWHERE Teachers.教师号 = Students.教师号GROUP BY Teachers.教师号如图实验中遇到的问题、解决方法及体会:1问题:a) 没有在西文下输入运算符。b) 没有正确运用“NULL”,导致语法错误,运算混乱。c) SELECT语句下没有正确运用AS,导致语句错误,无法查询d) 对两表都出现的“教师号”没有加表前缀e) 运算后出现“#”2解决方法:对a、b、c、d通过查阅资料解决。对e通过拉宽宽度解决。3心得体会:通过该次实验,我初步掌握了access的使用方法。让我对如何处理数据有了一定的认识。同时也考验了我的细致和耐心。 (注:专业文档是经验性极强的领域,无法思考和涵盖全面,素材和资料部分来自网络,供参考。可复制、编制,期待你的好评与关注)