资源简介 (共36张PPT)第2单元 编程计算第1单元 初识数据与计算第3单元 认识数据第4单元 计算与问题解决第5单元 数据分析与人工智能信息技术(必修1)3.3 数据与系统学习目标★了解文件和数据库文件的概念。★了解GUI的基本概念, 学会设计简单的GUI。★学会根据任务需求, 选用恰当的软件处理数据。★体验使用不同工具管理数据的过程,简单了解数据库管理系统和数据库系统的基本概念。放暑假了,李华跟父母一起开展一次“神州行”,观光祖国大好河山。他想结合信息技术课程的学习,自己开发一个旅行小助手系统, 用它来解决自己遇到的旅行线路管理、交通乘车指导、以往旅游相关记录管理等各种问题。我们将通过下面的活动了解这个系统的构成并熟悉系统,进而尝试帮助他全面地设计、规划这个系统。“神州行”※ 活动1 初看旅行线路“旅行线路”是该同学的旅行小助手系统中的一项功能,可以记录计划出游的旅行线路。他希望在这个系统中能够添加新的线路, 并可以查询已经输入系统的线路。from tkinter import *root = Tk()root. title(“旅行线路”)root.geometry('300x120’)root.resizable(0,0)#在窗口上建一个 “添加线路” 按钮Button(root, text="添加线路”, relief="solid",width=10,height=2). pack()#下面的代码实现在窗口上添加一个 “查询线路” 按钮的功能下面的Python程序代码可以生成“旅行线路”程序界面,我们一起来帮他设计界面吧。请修改程序,使得程序运行后,可以在 “添加线路” 按钮下方添加 “查询线路”按钮。任务一 探究旅行线路Button(root,text="查询线路",relief="solid",width=10,height=2).pack()tkinter 实现图形用户界面的模块from tkinter import * 导入tkinter模块矩形容器(Frame):框架控件;在屏幕上显示一个矩形区域,多用来作为容器文本框(Entry):输入控件;用于显示简单的文本内容按钮(Button):按钮控件;在程序中显示按钮。文本标签(Lable):标签控件;可以显示文本和位图。矩形容器文本标签文本框按钮图形用户界面图形用户界面(Graphical User Interface, GUI)又称图形用户接口,是指采用图形方式显示的计算机操作用户界面。李华对一条新的旅行线路感兴趣, 希望将它添加到系统中。 线路情况如下:活动2 更新旅行线路桂林, 5日游, 桂林市区—龙脊梯田—漓江漂流—骑行之旅—遇龙河漂流, 人均1200元。“添加线路.py”程序用来实现将数据添加到“旅行线路.txt”文件中的功能。你是否能按照提示运行该程序并把新的旅行线路情况添加到文件中呢?完成后,再次打开 “旅行线路.txt”, 查看文件内容。 对照程序想一想数据存储需要通过哪些代码来实现。实现添加路线——设置画布大小及定义按钮触发函数Python代码:from tkinter import *root = Tk()root. title(“添加线路” )root.geometry('600x100’)root.resizable(0,0)var=StringVar()def intomap():c=open(“旅行线路.txt",'a+’)#在txt文件未尾添加text里的内容 c.write(var.get()+"\n")c.close#创建一个窗口#设置窗口标题#设置窗口大小#禁止调整窗口大小#定义StringVar()类型#Button按钮激发函数#以追加模式打开文件#关闭文件Label(root, text=“请输入线路”, font=('Arial', 10)). pack() #在窗门上建一个文本标签Entry(root,textvariable=var,width=550).pack() #在窗门上建一个文本框Button(root, text="添加线路”, command=intomap,relief="solid", width=10).pack() #在窗口上建一个Button按钮root.mainloop() #进入事件(消息)循环实现添加路线——创建标签、按钮等组件文件在解决问题的过程中,我们可以根据需要将数据组织在一起形成队列、树或图等逻辑结构,这时的数据一般存储在内存中,当退出程序时,相关数据也将丢失。如果需要更持久地存储数据,我们可以将数据以文件的形式存储到外存储设备中。在活动2中,“线路数据”是用文件的形式存储在计算机的磁盘里的。文件是存储在外存储设备中的相关数据的集合。主存储器 (内存):存放正在执行的程序及文件,程序关闭,数据消失。辅助存储器(外存):通常是磁性介质或光盘等,能长期保存信息。硬盘、u盘,光盘,移动硬盘等Python读写文本文件open函数打开write函数写入close函数关闭在Python语言中,用open函数把外存储器里的文本文件(.txt)打开, 用write方法将内存中的数据存储到外存储器的文件中, 文件操作结束时一定要用close方法关闭文件。外存储器中的文件打开内存中的数据写入关闭李华计划从厦门出发,以武汉作为中转城市,到成都旅游。任务二 走近火车票订票系统中国铁路客户服务中心网站(12306网站)是铁路服务客户的重要窗口,客户通过登录该网站,可以查询列车时刻表、票价、列车正晚点、车票余票等信息并办理购票等业务。该网站提供购票、预定、退票、改签等票务服务,本节课我们一起围绕购买火车票学习该网站所使用的“特技”。活动1 查找车次李华登陆了12306网站准备购买车票。李华查询到了厦门至武汉部分车次信息、武汉至成都部分车次信息。用表格整理数据需要多个页面回来切换,输入大量数据,不够简便,李华尝试用数据库管理软件Access管理数据数据库在日常生活中,我们通常用电子表格软件来管理数据。但电子表格软件中的表是有行数限制的,而且在多人共享和联表查询方面也存在不足,因此当数据量比较大,且管理比较复杂时便需要采用更科学的数据管理方法。在活动中,12306网站的各种服务功能背后需要有大量数据,这些数据聚集成“库”,即所谓“数据库”。数据库是以一定的组织方式存储在计算机中的相互关联的数据集合。数据A 数据B 数据C 数据D 数据E 数据F 数据H数据库:建立数据库——用Access软件为火车换乘数据建立数据库打开“厦门至成都.mdb”数据库文件。将 “厦门至武汉车次“ 和 “武汉至成都车次“ 这两个表的 数据补充完整。字段字段名记录主键数据表在数据库中,数据是以二维表的形式组织存储的,称为表。数据库是存在于外存中的文件,表存在于数据库中,数据库中可以包含多个表。我们可以对数据表进行插入、删除、更新等操作。文本型:用于输入文本或文本与数字相结合的数据,在Access中,每一个汉字和所有特殊字符(包括中文标点符号)都算作一个字符数字型:用于可以进行数值计算的数据,但货币除外日期/时间型:用于存储日期和(或)时间值是/否型:用于表示逻辑值(是/否,真/假)货币型:用来存储货币值字段类型数据库管理系统在数据库技术中,数据是如何被科学地组织和存储的?又是如何被高效地获取和维护的?完成这些任务的是一个系统软件——数据库管理系统。数据库管理系统是定义、创建、维护数据库的一种工具。它允许用户管理和控制数据库中的数据。常见的数据库管理系统有:建立了数据库之后,为了能更方便地查询到换乘方案,可尝试在Access中建立表之间的“ 关系”,利用“ 关系”解决问题。※ 活动1 查询换乘方案在查找换乘方案时,厦门至武汉车次表中的字段“到达站”与“武汉至成都车次”表中的“出发站”是有对应关系的。出发站出发站到达站 / 出发站任务三 探究订票系统功能两表建立“关系”:1.菜单栏点击“设计”2.点击编辑“关系”3.编辑关系窗口点击“新建”4.新建窗口,左表选择“厦门至武汉车次”,右表选择“武汉至成都车次”;左列选择到达站,右列选择出发站,并点击确定。在Access中设置查询条件,解决个性化需求的问题。在查找换乘方案时,可以在“查询设计器”窗口的”条件”栏中设置查询的准则。活动2 满足个性化需求1.菜单栏点击创建;2.点击“查询设计”1.显示表窗口中选中“武汉至成都车次”和“厦门至武汉车次”两个表,并点击下方的“添加”按钮;2.添加完成后,点击“关闭”按钮关闭显示表窗口;1.在下方窗口中,第一列字段选择“厦门至武汉车次*”,表选择“厦门至武汉车次”,选中显示条件;2.在下方窗口中,第二列字段选择“武汉至成都车次*”,表选择“武汉至成都车次”,选中显示条件;3.按“ctrl+s”保存双击“查询1”,即可看到查询结果(一个新的表),共有44条记录。可以看出,查询结果正是两表中的数据通过关系(厦门至武汉车次,到达站=武汉至成都车次.出发站)进行关联的结果。该结果存大的问题:1.时间上不合理,没有考虑换乘时间的合理性。例如:从厦门北到达武汉的时间是14:53,而从武汉前往成都东的出发时间是11:32,时间错位。2.中转地点不合理。表“厦门至武汉车次”与表“武汉至成都车次”中录入的都是以武汉(含汉口、武昌、武汉三个车站)为中转站的车次数据,武汉三站之间地铁换乘,也仅需半小时,因此,以“厦门至武汉车次.到达站=武汉至成都车次.出发站为关系建立的查询是不可取的,它将许多可能合理的换乘方案排除了,如坐D2232从厦门北到武汉站,然后坐武汉市内地铁到武昌站,再换乘T246次从武昌到成都东,这条可行方案被排除在外了。修改表间关系①修改表间关系:复制查询1为查询2,打开其设计视图,打开SQL视图,将查询表达式修改为:SELECT 厦门至武汉车次.*, 武汉至成都车次.*FROM 厦门至武汉车次 INNER JOIN 武汉至成都车次 ON 厦门至武汉车次.到达时间+0.05<武汉至成都车次.出发时间(其中0.05单位为天,即0.05*24小时=1.2小时,预留了换乘时间)2.保存关闭“查询2”,双击打开“查询2”,观察查询结果。问题:表头字段名太长修改查询字段名①修改查询字段名:复制查询2为查询3,打开其设计视图(SQL视图),将查询表达式修改为:SELECT 厦门至武汉车次.车次编号 AS 厦武车次, 厦门至武汉车次.出发时间 AS 厦武出发时间, 厦门至武汉车次.到达站 AS 厦武到达站, 厦门至武汉车次.到达时间 AS 厦武到达时间, 武汉至成都车次.车次编号 AS 武成车次, 武汉至成都车次.出发站 AS 武成出发站, 武汉至成都车次.出发时间 AS 武成出发时间FROM 厦门至武汉车次 INNER JOIN 武汉至成都车次 ON 厦门至武汉车次.到达时间+0.05<武汉至成都车次.出发时间;②保存关闭“查询3”,双击打开“查询3”,观察查询结果。李华想乘坐7:00~8:00的高铁或动车出行。需在查询表达式中增加条件①复制查询3为查询4,打开其设计视图( SQL视图),在查询表达式中增加条件(WHERE子句):WHERE (厦门至武汉车次.车次编号 LIKE "G%" OR 厦门至武汉车次.车次编号 LIKE "D*") AND (厦门至武汉车次.出发时间 BETWEEN #7:00# AND #8:00#)查询准则如果只是简单地查找某个字段为特定值的记录, 只要在该字段对应的“条件” 栏中输入该值即可;如果不仅是查找某个特定值, 在准则中可以使用表达式。在表达式中可通过操作符设置查询范围。数据库的建立、使用和维护等工作仅靠数据库管理系统还远远不够, 还要有专门的人员来完成, 这些人被称为数据库管理员。数据库管理员通过数据库管理系统可以对数据库进行操作和维护。数据库系统数据库系统是由数据库、数据库管理系统(及其应用开发工具)、数据库应用系统、数据库管理员和用户组成的存储、管理、处理和维护数据的系统。数据库主要用于存储数据, 需要足够大的内存储器和外存储器等硬件平台的支持。软件部分除了操作系统和数据库管理系统外,还包括支持特定应用环境开发的软件工具以及开发完成的数据库应用系统。12306 网站是一个大型数据库应用系统, 其他如各类财务管理系统、人事管理系统、图书管理系统等软件也都是数据库应用系统。任务四 设计“旅行小助手系统”※ 活动1 设计系统功能和应用程序界面李华想通过开发“旅游小助手系统”记录以往出行的信息,以及个人的旅游经历、爱好等,作为今后安排旅行时的参考。这个旅行小助手系统应该具备哪些功能?旅游小助手系统功能思维导图为使用户可以便捷的调用系统功能,还需要设计一个友好的界面。对象类别 对应的功能“成员信息管理”单选钮 单击选中“成员信息表”,并查看其内容“旅行线路管理”单选钮 单击选中“旅行线路表”,并查看其内容“旅行记录管理”单选钮 单击选中“旅行记录表”,并查看其内容“增加”按钮 单击在选中的数据表中增加记录“修改”按钮 单击修改选中的数据表中选中的记录“删除”按钮 单击删除选中的数据表中选中的记录“查询”按钮 单击创建查询“旅行组团”按钮 单击创建旅行组团表3.3.1 系统界面首页中的对象及对应的功能※ 活动2 设计系统数据库,了解Python访问Access数据库的步骤“旅行小助手系统”数据库(旅行小助手.mdb):内有3个数据表:成员信息表、旅行线路表、旅行记录表打开“旅行小助手.mdb”文件,分析表内数据和表间数据的关系打开“利用Python访问mdb.py”文件,运行程序,观察Python访问Access数据库的步骤建立与数据库的连接;根据需要产生记录集;访问记录集,处理数据;根据需要把处理好的数据更新到数据库中;断开与数据库的连接数据库应用系统的设计系统总体结构设计代码设计数据库(文件)设计输入/输出(I/O)设计模块功能与处理过程设计打开“旅行小助手系统.py”阅读程序代码,运行程序,观察运行结果,体会程序功能:查看数据表、增加记录、修改记录、删除记录数据库应用系统的设计★图形用户界面★文件★数据库系统★数据库应用系统的设计课堂小结采用图形方式显示的计算机操作用户界面长期保存数据数据库、数据库管理系统、数据库应用系统、数据库管理员、用户系统总体结构设计、代码设计、数据库设计、I/O设计、模块功能与处理过程设计 展开更多...... 收起↑ 资源预览