1、数据库原理 试验汇报一 、试验目标 1、 利用数据库设计方法完成某学校老师管理系统数据库设计。设计数据库概念模型和关系数据模型。设计每个关系字段名称、数据类型、数据长度。2、 熟悉Access关系数据库管理系统。依据试验1设计结果创建关系数据库,定义数据表,定义主键,完成数据插入、删除和更新操作。3、 使用SQL设计老师管理系统数据库简单查询和复杂查询。掌握SELECT语句基础语法。掌握单表和多表投影查询、选择查询、排序查询、累计函数查询SQL设计方法。二、试验内容及步骤1、写出 某学校老师管理系统中每个实体、联络属性 teacher (tno,tname,tsex,tage,tbirth)
2、dept (dno,dname ) class (cno,cname) item (ino,iname,ilead) 讲授 (room) 参与 (achieve )2、画出老师管理系统E-R模型图TeacherClassTeacherItem11nnnm讲授包含参与achieveinoinameileadtagetbirthroomcnocnamednametnotnametsexdno2、 将E-R模型图转换成关系数据模型teacher&dept : teacher (tno,tname,tsex,tage,tbirth,dno)class&teacher : class (cno,cnam
3、e,tno,room)item&teacher : 参与 (tno,ino,achieve)3、 设计每个关系模式字段名 4、 为每个关系模式设计试验数据 5、 使用SQL设计老师管理系统数据库查询(1) 查询全部老师基础信息,并按老师年纪降序排列SELECT teacher.*FROM teacherORDER BY teacher.tage desc(2) 查询全部课程信息SELECT class.*FROM class(3) 查询全部女老师信息,要求显示老师姓名、性别、年纪、出生日期和所讲授课程,并按出生日期升序排序SELECT teacher.tname, teacher.tsex,
4、teacher.tage, teacher.tbirth, teacher_ameFROM teacher_class INNER JOIN teacher ON teacher_class.tno = teacher.tnoWHERE (teacher.tsex)=女)ORDER BY teacher.tbirth(4) 查询参与某项目标老师姓名、性别、年纪,并按年纪升序排序 SELECT teacher_item.ino, item.iname, teacher.tname, teacher.tsex, teacher.tageFROM teacher, item, teacher_ite
5、mWHERE (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_numFROM teacher_class INNER JOIN teacher ON teacher_class.tno = teacher.tnoGROUP BY teacher.tname;(6) 查询讲授2门以上课程老师号
6、 SELECT teacher_class.tnoFROM teacher_classGROUP BY teacher_class.tnoHAVING (Count(teacher_o)2(7) 统计每个项目参与老师人数,要求输出项目号、项目人数 SELECT teacher_item.ino, Count(teacher_item.tno) AS tno_numFROM teacher_itemGROUP BY teacher_item.ino三、试验结果1、查询全部老师基础信息,并按老师年纪降序排列 2、查询全部课程信息 3、查询全部女老师信息,要求显示老师姓名、性别、年纪、出生日期和所讲
7、授课程,并按出生日期升序排序 4、查询参与某项目标老师姓名、性别、年纪,并按年纪升序排序 5、统计每位老师讲讲课程数量,要求输出老师名称、课程数量6、 查询讲授2门以上课程老师号 7、统计每个项目参与老师人数,要求输出项目号、项目人数 四、问题回复1、数据库设计过程包含哪些步骤?你认为哪个步骤最关键,为何? 数据库设计包含:需求分析阶段、概念结构设计阶段、逻辑结构设计阶段、物理结构设计阶段、数据库实施阶段、数据库运行和维护阶段。需求分析。需求分析阶段是数据库设计第一步,是后续各个阶段基础,它需要正确分析用户对系统要求,分析是否正确、完善,将直接影响整个数据库系统性能。2、概念模型和数据模型有何
8、区分和联络。 概念模型,用来描述数据及数据之间联络,反应了最终用户综合性信息需求。它使数据库设计人员在设计初始阶段,摆脱计算机系统及DBMS具体技术问题,和具体数据管理系统无关。概念数据模型必需换成逻辑数据模型,才能在DBMS中实现。概念数据模型内容包含关键实体及实体之间关系。在概念数据模型中不包含实体属性,也不用定义实体主键。这是概念数据模型和逻辑数据模型关键区分。数据模型,这是用户从数据库所看到模型,是具体DBMS所支持数据模型,逻辑数据模型反应是系统分析设计人员对数据存放见解,是对概念数据模型深入分解和细化。3、Access数据库设计视图、数据视图和SQL视图有何区分? 设计视图,利用可视化窗口来进行查询设计,方便添加查询对象和条件。 数据视图,以表格形式显示查询结果。 SQL视图,显示是用SQL语句编写查询命令。4、怎样将两个字段同时定义为主键? 按住Ctrl键,用鼠标点击要选择多个字段,选完后松开Ctrl键,按工具栏上主键按钮,即可同时定义多个字段为主键。5、SQL设计和调试中,你碰到印象最深问题是什么?你是怎么处理? 语句语法正确,却因为符号格式产生错误,尤其是中英文混输时,格外轻易犯错,且不轻易发觉。处理方法:尽可能少用或不用汉字字符,以省去往返切换麻烦和避免符号格式犯错。