access教师管理系统数据库实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库原理实验报告
一、实验目的
1、运用数据库设计方法完成某学校教师管理系统数据库设计。设计数据库的概念模型和关系
数据模型。设计每个关系的字段名称、数据类型、数据长度。
2、熟悉Access关系数据库管理系统。根据实验1的设计结果创建关系数据库,定义数据表,
定义主键,完成数据的插入、删除和更新操作。
3、使用SQL设计教师管理系统数据库的简单查询和复杂查询。掌握SELECT语句的基本语法。
掌握单表和多表的投影查询、选择查询、排序查询、合计函数查询的SQL设计方法。
二、实验内容及步骤
1、写出‘某学校教师管理系统’中每个实体、联系的属性
teacher (tno,tname,tsex,tage,tbirth)
dept (dno,dname )
class (cno,cname)
item (ino,iname,ilead)
讲授 (room)
参与 (achieve )
2、画出教师管理系统E-R模型图
2、将E-R模型图转换成关系数据模型
teacher&dept : teacher (tno,tname,tsex,tage,tbirth,dno) class&teacher : class (cno,cname,tno,room)
item&teacher : 参与 (tno,ino,achieve)
3、设计每个关系模式的字段名
4、为每个关系模式设计实验数据
5、使用SQL设计教师管理系统数据库的查询
(1)查询所有教师的基本信息,并按教师的年龄的降序排列
SELECT teacher.*
FROM teacher
ORDER BY teacher.tage desc
(2)查询所有课程信息
SELECT class.*
FROM class
(3)查询所有女教师的信息,要求显示教师的姓名、性别、年龄、出生日期和
所讲授的课程,并按出生日期的升序排序
SELECT teacher.tname, teacher.tsex, teacher.tage, teacher.tbirth, teacher_clas
FROM teacher_class INNER JOIN teacher ON teacher_class.tno = teacher.tno
WHERE (((teacher.tsex)="女"))
ORDER BY teacher.tbirth
(4)查询参加某项目的教师的姓名、性别、年龄,并按年龄的升序排序
SELECT teacher_item.ino, item.iname, teacher.tname, teacher.tsex, teacher.tage FROM teacher, item, teacher_item
WHERE (teacher_item.ino="i3") AND (item.ino=teacher_item.ino)
AND (teacher.tno=teacher_item.tno)
ORDER BY teacher.tage
(5)统计每位老师讲授课程的数量,要求输出教师名称、课程数量
SELECT teacher.tname, Count(*) AS cno_num
FROM teacher_class INNER JOIN teacher ON teacher_class.tno = teacher.tno
GROUP BY teacher.tname;
(6)查询讲授2门以上课程的教师号
SELECT teacher_class.tno
FROM teacher_class
GROUP BY teacher_class.tno
HAVING (Count(teacher_o))>2
(7)统计每个项目参加的教师人数,要求输出项目号、项目人数
SELECT teacher_item.ino, Count(teacher_item.tno) AS tno_num
FROM teacher_item
GROUP BY teacher_item.ino
三、实验结果
1、查询所有教师的基本信息,并按教师的年龄的降序排列
2、查询所有课程信息
3、查询所有女教师的信息,要求显示教师的姓名、性别、年龄、出生日期和
所讲授的课程,并按出生日期的升序排序
4、查询参加某项目的教师的姓名、性别、年龄,并按年龄的升序排序
5、统计每位老师讲授课程的数量,要求输出教师名称、课程数量
6、查询讲授2门以上课程的教师号
7、统计每个项目参加的教师人数,要求输出项目号、项目人数
四、问题回答
1、数据库设计过程包括哪些步骤?你认为哪个步骤最关键,为什么?
数据库设计包括:需求分析阶段、概念结构设计阶段、逻辑结构设计阶段、物理结构设计阶段、数据库实施阶段、数据库运行和维护阶段。需求分析。需求分析阶段是
数据库设计的第一步,是后续各个阶段的基础,它需要准确分析用户对系统的要求,
分析是否准确、完善,将直接影响整个数据库系统的性能。
2、概念模型和数据模型有何区别和联系。
概念模型,用来描述数据及数据之间的联系,反映了最终用户综合性的信息需求。它使数据库的设计人员在设计的初始阶段,摆脱计算机系统及DBMS的具体技术问题,与具体的数据管理系统无关。概念数据模型必须换成逻辑数据模型,才能在DBMS中实现。概念数据模型的内容包括重要的实体及实体之间的关系。在概念数据模型中不包括实体的属性,也不用定义实体的主键。这是概念数据模型和逻辑数据模型的主要区别。
数据模型,这是用户从数据库所看到的模型,是具体的DBMS所支持的数据模型,逻辑数据模型反映的是系统分析设计人员对数据存储的观点,是对概念数据模型进一步的分解和细化。
3、Access数据库设计视图、数据视图和SQL视图有何区别?
设计视图,运用可视化的窗口来进行查询的设计,方便添加查询对象和条件。
数据视图,以表格的形式显示查询的结果。
SQL视图,显示的是用SQL语句编写的查询命令。
4、如何将两个字段同时定义为主键?
按住Ctrl键,用鼠标点击要选择的多个字段,选完后松开Ctrl键,按工具栏上的‘主键’按钮,即可同时定义多个字段为主键。
5、SQL设计和调试中,你遇到印象最深的问题是什么?你是怎么解决的?