第十周作业

学期(如2024-2025-1) 学号(20241418) 《计算机基础与程序设计》第十周学习总结

学习内容:
信息系统:信息系统(Information System,IS)是一个由人、硬件、软件、网络和数据资源等构成的人机交互系统。其目的是对信息进行收集、存储、处理、传输和输出,以支持组织的决策、管理、控制和运营等活动。
例如,一家电商公司的信息系统包括网站服务器(硬件)、电商平台软件、连接供应商和客户的网络,以及存储商品信息、订单数据和客户资料的数据资源。工作人员(人)通过操作软件来管理商品上架、处理订单等业务流程。

数据库与SQL:数据库是按照一定的数据结构来组织、存储和管理数据的仓库。它可以把数据持久化地保存下来,方便多个应用程序或用户进行访问和共享。就像是一个大型的文件柜,里面的每一个抽屉(表)都存放着不同类型的数据,并且有一定的规则来整理这些数据。例如,一个图书馆的数据库,它存储了图书的基本信息(书名、作者、出版社等)、读者信息(姓名、借阅记录等)和借阅关系(哪本书被哪位读者借阅等)。

人工智能与专家系统:人工智能是一门研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的新的技术科学。它旨在让计算机系统能够像人类一样进行感知、理解、学习、推理和决策等智能行为。例如,智能语音助手(如 Siri、小爱同学等),它们可以理解人类的语音指令,进行语言处理后提供相应的回答或服务,这就是人工智能在自然语言处理领域的应用。专家系统是一种人工智能应用程序,它包含了某个特定领域的专家知识和经验,能够模拟人类专家的思维过程来解决该领域的复杂问题。它主要由知识库、推理机、知识获取模块、解释模块和用户界面等部分组成。例如,在一个医学专家系统中,知识库存储了大量的医学知识,如疾病症状、诊断方法、治疗方案等;推理机则根据用户输入的症状(如发热、咳嗽等),利用知识库中的知识进行推理,得出可能的诊断结果。

教材学习中的问题和解决过程

问题一:如何优化 SQL 查询性能?
解答:索引优化:为经常用于查询条件(WHERE 子句)、连接(JOIN 操作)和排序(ORDER BY 子句)的列添加索引。例如,如果经常根据 “客户姓名” 查询客户信息,那么为 “客户姓名” 列添加索引可以显著提高查询速度。但要注意索引过多也会影响插入、更新和删除操作的性能,因为每次这些操作都可能需要更新索引。
查询语句优化:
避免使用 “SELECT *”,尽量只选择需要的列。这样可以减少数据传输量,提高查询效率。例如,如果只需要查询员工的姓名和部门,就使用 “SELECT name, department FROM employees”,而不是 “SELECT * FROM employees”。
正确使用连接(JOIN)。尽量使用内连接(INNER JOIN)来获取相关数据,并且确保连接条件是基于索引列。如果可能,避免使用子查询,因为子查询可能会导致性能下降,在某些情况下可以将子查询转换为连接查询。
数据库设计优化:
合理设计表结构。避免数据冗余,例如,如果有 “员工表” 和 “部门表”,不要在 “员工表” 中重复存储部门的详细信息,而是通过外键关联到 “部门表”。
对数据进行分区。如果数据库中的数据量很大,可以根据一定的规则(如时间、地域等)将数据分区存储,这样在查询特定分区的数据时可以提高性能。

问题二:离散事件模拟的基本步骤是什么?
解答:定义系统和目标:明确要模拟的系统,包括系统的边界、组成部分和要研究的问题。例如,在模拟一个银行服务系统时,要确定系统包括银行柜员、客户、排队队列等部分,目标可能是研究客户的平均等待时间、柜员的工作效率等。
确定事件和实体:识别系统中的离散事件和实体。在银行服务系统中,离散事件可以是客户到达、客户开始接受服务、客户服务结束离开等;实体是客户和柜员。对于每个事件,要定义其发生的条件和对系统状态的影响。
构建模型:根据系统的逻辑和事件、实体之间的关系,构建离散事件模型。可以使用流程图、状态图等工具来描述模型的结构。例如,用状态图来表示客户在排队系统中的不同状态(等待、接受服务、离开)。
收集和准备数据:收集与系统相关的数据,如事件发生的概率(客户到达的概率分布)、实体的属性(柜员的服务速度等)。这些数据将用于模型的参数设置和初始化。
运行模拟:利用模拟软件或编程语言实现模型,并按照设定的参数和数据运行模拟。在运行过程中,记录系统状态的变化和感兴趣的指标(如等待时间、队列长度等)。
分析结果:对模拟得到的结果进行分析,评估系统的性能,验证假设,回答研究问题。例如,通过分析银行服务系统的模拟结果,确定是否需要增加柜员数量来减少客户等待时间。

posted @ 2024-12-01 18:44  不爱连接对角线  阅读(9)  评论(0编辑  收藏  举报