access教师管理系统数据库实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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设计和调试中,你遇到印象最深的问题是什么?你是怎么解决的?

相关文档
最新文档