1、3.33.3 数据与系统数据与系统 【学习目标】 Access 表间关系及查询。 认识数据库系统,体验数据库管理系统的应用。 【教学重点】旅行小助手功能、界面、代码设计。 【教学难点】Access 表间关系及查询;旅行小助手代码设计。 【教学过程】【教学过程】 一、课前预习一、课前预习 学生预习,阅读第 71 页“探究订票系统功能”之“查询换乘方案” ,尝试在 Access 中建立表之间的“关系”,利用“关系”解决问题。 在查找换乘方案时,“厦门至武汉车次”表中的字段“到达站” 与“武汉至成都车次” 表中的“出发站”是有对应关系的。打开教师下发的打开教师下发的“厦门至成都厦门至成都.mdb.m
2、db”文件,利用文件,利用“关关 系系”菜单创建如图菜单创建如图 3 3.3.5.3.5 所示的所示的表间关系:表间关系: 图 3.3.5 表间关系 二、表间关联与二、表间关联与“查询设计查询设计” 关系就像绳子将两个“表”联结在一起,我们可以利用“查询”面板中的“查询设计” 选项按照提示创建选择查询。 双击,弹出对话框。 选中 2 个表,单击“添加”按钮,再单击“关闭”按钮。 再分别选中 2 个表的全部字段,保存为“查询 1” 。 双击“查询 1” ,即可看到查询结果(一个新的表) ,共有 44 条记录。可以看出,查询 结果正是两表中的数据通过关系(厦门至武汉车次.到达站=武汉至成都车次.出
3、发站)进行 关联的结果。 该结果有两大问题:该结果有两大问题: 一是时间上不合理,没有考虑换乘时间的合理性。一是时间上不合理,没有考虑换乘时间的合理性。 二是中转地点不合理。二是中转地点不合理。 改进:将关系将关系(厦门至武汉车次厦门至武汉车次. .到达站到达站= =武汉武汉至成都车次至成都车次. .出发站出发站)修改为关系修改为关系(厦门厦门 至武汉车次至武汉车次. .到达时间到达时间+0.05+0.05 武汉至成都车次武汉至成都车次. .出发时间出发时间) , 式式中中 0.00.05 5 单位为天单位为天, 即即 0.05*20.05*24 4 小时小时=1.2=1.2 小时,预留了武汉
4、三站之间的换乘时间及出站、进站时间小时,预留了武汉三站之间的换乘时间及出站、进站时间。 打开“查询 1”的设计视图,在空白处点鼠标右键,单击“SQL 视图” : 来源:学科网 直接在里面修改 SQL 查询语句为: 保存修改退出查询设计视图,双击“查询 1” ,请查看运行结果请查看运行结果: 三、查询准则三、查询准则 如果只是简单地查找某个字段为特定值的记录, 只要在该字段对应的“条件”栏中输入 该值即可;如果不仅是查找某个特定值,在准则中可以使用表达式。在表达式中可通过操作 符设置查询范围。 某同学想乘坐高铁或动车出行,他还希望乘坐7:008:00的火车出发, 只需在查询表 达式中追加条件:
5、WHERE (厦门至武汉车次.车次编号 LIKE G% OR 厦门至武汉车次.车次编号 LIKE D*) AND (厦门至武汉车次.出发时间 BETWEEN #7:00# AND #8:00#); 查询执行结果如下:查询执行结果如下: 四、数据库系统四、数据库系统 数据库系统是由数据库、数据库管理系统(及其应用开发工具)、数据库应用系统、数据库、数据库管理系统(及其应用开发工具)、数据库应用系统、 数据库管理员和用户数据库管理员和用户组成的存储、 管理、 处理和维护数据的系统。 数据库主要用于存储数据, 需要足够大的内存储器和外存储器等硬件平台的支持。 软件部分除了操作系统和数据库管理 系统外
6、,还包括支持特定应用环境开发的软件工具以及开发完成的数据库应用系统。12306 网站是一个大型数据库应用系统,其他如各类财务管理系统、人事管理系统、图书管理系统 等软件也都是数据库应用系统。 五、设计系统数据库五、设计系统数据库 1 1、任务探究:、任务探究: 学生阅读第73页“设计 “旅行小助手系统”之“活动1设计系统功能和应用程序界 面”,填写第74页的表3.3.1。 表3.3.1 系统界面首页中的对象及对应的功能 对象类别对应的功能 “成员信息管理”单选钮单击选中“成员信息表”,并查看其内容 “旅行线路管理”单选钮单击选中“旅行线路表”,并查看其内容 “旅行记录管理”单选钮单击选中“旅行
7、记录表”,并查看其内容 “增加”按钮单击在选中的数据表中增加记录 “修改”按钮单击修改选中的数据表中选中的记录 “删除”按钮单击删除选中的数据表中选中的记录 “查询”按钮单击创建查询来源:Zxxk.Com “旅行组团”按钮单击创建旅行组团 2 2、设计系统数据库,了解设计系统数据库,了解PythonPython访问访问AccessAccess数据库的步骤数据库的步骤 【做一做】【做一做】请打开 “Python访问mdb.py”文件,运行程序,观察运行结 果;阅读程序代码,体会Python访问mdb数据库的基本步骤。 用Python访问Access数据库一般可分为5个步骤: (1 1)建立与数据
8、库的连接;)建立与数据库的连接; 利用win32com.client模块的COM组件访问功能, 通过ADODB访问Access的mdb文件, 因此 先要安装与Python和操作系统匹配的pywin32安装包。 import win32com.client conn = win32com.client.Dispatch(rADODB.Connection) #DSN = PROVIDER = Microsoft.Jet.OLEDB.4.0;DATA SOURCE = 旅行小助手.mdb #Access2007以前 DSN = PROVIDER = Microsoft.ACE.OLEDB.12.0
9、;DATA SOURCE = 旅行小助手.mdb #Access2007及以后 conn.Open(DSN) (2 2)根据需要产生记录集;)根据需要产生记录集; rs = win32com.clie nt.Dispatch(rADODB.Recordset) tablename = 旅行线路表 rs.Open( + tablename + , conn, 1, 3) (3 3)访问记录集,处理数据;)访问记录集,处理数据; #rs.MoveFirst()#光标移到首条记录 while not rs.EOF: for i in range(rs.Fields.Count): print(rs.
10、Fieldsi.Name, :, rs.Fieldsi.Value)#字段名:字段内 容 print(end=n) rs.MoveNext()#光标移到下条记录来源:Z_xx_k.Com来源:学,科,网Z,X,X,K print(该表有+str(rs.Fields.Count)+个字段) print(该表有+str(r s.RecordCount)+条记录) (4 4)根据需要把处理好的数据)根据需要把处理好的数据更新到数据库中;更新到数据库中; (5 5)断开与数据库的连接。)断开与数据库的连接。 conn.Close()conn.Close() 练一练练一练 打开 “旅行小助手系统.py”文件,运行程序,观察运行结果;阅读程序代码, 体会程序功能:查看数据表、增加记录、修改记录、删除记录;尝试能否开发实现 其他功能。 (教师下发程序,有兴趣的同学去做)来源:学#科#网 Z#X#X#K (提示:需要先下载并运行(提示:需要先下载并运行Pywin32Pywin32安装包。)安装包。)