嵌入式SQL习题答案

合集下载

嵌入式习题答案(DOC)

嵌入式习题答案(DOC)

第一章习题答案1.什么是嵌入式系统?请列举几个常见的嵌入式系统。

答:根据国际电气和电子工程师协会(IEEE)的定义,嵌入式系统是控制、监视或者辅助设备、机器和生产线运行的装置(Devices used to control,monitor, or assist the operation of equipment, machinery or plants).这主要是从产品的应用角度加以定义的,由此可以看出嵌入式系统是软件和硬件的综合体,可以涵盖机械等附属装置。

目前被我国科学家普遍认同的定义是:嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁减,对功能、可靠性、成本、体积、功耗要求严格的专用计算机系统.常见的嵌入式系统:手机,DVD,路由器,核磁共振仪,全自动洗衣机。

2.嵌入式系统与通用计算机有哪些区别?答:(1) 以应用为中心;(2)以计算机技术为基础(3)软件和硬件可裁减(4) 对系统性能要求严格(5)软件的固件化(6)需要专用的开发工具3。

嵌入式系统的发展分为哪几个阶段?答:第一阶段:无操作系统的嵌入算法阶段.第二阶段:以嵌入式CPU为基础,以简单操作系统为核心的嵌入式系统。

第三阶段:以嵌入式操作系统为标志的嵌入式系统。

第四阶段:以基于Internet为标志的嵌入式系统。

4。

请列举嵌入式系统的主要应用领域。

答:(1)工业控制领域(2)交通运输领域(3)消费电子产品(4)家电领域(5)通信领域(6)商业和金融领域(7)环境监测领域(8)医疗领域(9)建筑领域(10)军事国防领域(11)航天航空领域第二章习题答案1.简述简单嵌入式系统与复杂嵌入式系统的主要区别。

答:简单嵌入式系统很早就已经存在,这类嵌入式系统因为软硬件复杂度都很低,一般不使用操作系统,例如常用的单片机系统。

对于复杂的嵌入式系统,它的开发模式发生了极大的改变。

一个复杂的嵌入式系统不仅硬件系统的开发比单片机复杂了许多,更重要的是在该系统中采用了嵌入式操作系统,其应用软件的开发转变为使用操作系统标准接口的计算机工程领域的应用软件开发。

嵌入式试题及答案

嵌入式试题及答案

嵌入式试题及答案一、单项选择题(每题2分,共20分)1. 嵌入式系统是指:A. 具有特定功能的计算机系统B. 只运行单一任务的计算机系统C. 可以运行多个操作系统的计算机系统D. 以上都不是2. 下列哪项不是嵌入式系统的典型特征?A. 实时性B. 可扩展性C. 资源受限D. 专用性3. 嵌入式系统中,通常使用哪种类型的处理器?A. 通用处理器B. 精简指令集处理器(RISC)C. 复杂指令集处理器(CISC)D. 以上都是4. 在嵌入式系统中,操作系统的作用是什么?A. 管理计算机硬件资源B. 提供用户界面C. 执行所有程序D. 以上都不是5. 以下哪个不是嵌入式操作系统?A. LinuxB. WindowsC. VxWorksD. QNX6. 嵌入式系统的硬件设计通常需要考虑哪些因素?A. 成本B. 功耗C. 尺寸D. 所有以上7. 以下哪个是嵌入式系统的通信接口?A. USBB. HDMIC. VGAD. 所有以上8. 嵌入式系统中的中断处理机制主要用于:A. 程序调试B. 系统启动C. 任务调度D. 错误检测9. 以下哪个不是嵌入式系统的应用领域?A. 工业控制B. 消费电子C. 桌面计算D. 汽车电子10. 嵌入式系统的开发流程通常包括哪些阶段?A. 需求分析B. 系统设计C. 编码与测试D. 所有以上答案:1. A2. B3. B4. A5. B6. D7. D8. C9. C10. D二、多项选择题(每题3分,共15分)11. 嵌入式系统设计时需要考虑的非功能性需求包括:A. 性能B. 可靠性C. 安全性D. 可维护性12. 以下哪些是嵌入式系统开发中的编程语言?A. CB. C++C. JavaD. Python13. 在嵌入式系统中,哪些因素会影响系统的功耗?A. 处理器的运行频率B. 内存的使用量C. 外设的使用D. 所有以上14. 嵌入式系统的软件架构通常包括:A. 硬件抽象层B. 操作系统内核C. 设备驱动程序D. 应用程序15. 以下哪些是嵌入式系统的调试工具?A. 逻辑分析仪B. 仿真器C. 调试器D. 编译器答案:11. ABCD12. ABC13. D14. ABCD15. ABC三、简答题(每题5分,共10分)16. 简述嵌入式系统的实时性要求。

数据库系统:嵌入式SQL语言单元测试与答案

数据库系统:嵌入式SQL语言单元测试与答案

一、单选题1、以下嵌入式SQL语句,没有错误的是_________。

A.exec sql select Sname,Sage into :vSname, :vSage from Student where Sname= :specName;B.exec sql begin declare section char vSname[10], specName[2]=“lzt”;int vSage; exec sql end declare sectionC.其他有多于一个的选项没有错误D.exec sql select Sname,Sage into vSname,vSage from Student where Sname = specName;正确答案:A解析: A、此选项说法正确。

B、此选项说法不正确,因为SpecName[2]仅定义了2个字符宽度,但却给其赋值3个字符不正确。

C、此选项说法不正确,因为其他中仅有一个选项是没有错误的。

D、此选项说法不正确,Exec SQL中使用高级语言的变量,变量前要加冒号,以与“属性”相区分。

2、关于事务,下列说法正确的是__________。

A.必须以Begin Transaction和End Transaction显性地标记开始和结束;B.SQL语句在执行过程中,必须有提交或撤消语句才能确认其对数据库的永久操作结果;C.一个事务仅能包含一条SQL语句,多条SQL语句将产生多个事务;D.事务在处理过程中是可以被中断的,且中断前的执行结果也是有效的;正确答案:B解析: A、此选项说法不正确,Exec SQL可以不需要Begin Transaction和End Transaction,因为任何一条SQL语句都可告诉DBMS开始一个新事务,只要其前面没有事务,而当事务结束时必须有提交和撤销语句。

B、此选项说法正确 C、此选项说法不正确,一个事务是可以包含多条SQL语句的,并不是每一条SQL语句产生一个事务。

2022年职业考证-软考-嵌入式系统设计师考试全真模拟易错、难点剖析B卷(带答案)第4期

2022年职业考证-软考-嵌入式系统设计师考试全真模拟易错、难点剖析B卷(带答案)第4期

2022年职业考证-软考-嵌入式系统设计师考试全真模拟易错、难点剖析B卷(带答案)一.综合题(共15题)1.单选题关于嵌入式SQL,下列描述不正确的是()。

问题1选项A.嵌入式SQL属于SQL 语言在嵌入式环境下的一种使用B.嵌入式SQL是把SQL语言嵌入到宿主语言中进行数据访问和处理C.嵌入式SQL执行前,首先要与数据库进行连接D.嵌入式SQL 通常是交互式进行数据库操作【答案】D【解析】嵌入式SQL属于SQL 语言在嵌入式环境下的一种使用;嵌入式SQL是把SQL语言嵌入到宿主语言中进行数据访问和处理;嵌入式SQL执行前,首先要与数据库进行连接;这道题是属于数据库方面的知识点,了解下就可以了,考的非常少。

2.单选题某程序员编写了一段通过串口发送数据的程序,使用设备名coml,那么,将coml映射到实际物理设备的工作是在I/O管理的()完成的。

问题1选项A.设备独立层B.用户应用层C.设备驱动层D.硬件抽象层【答案】A【解析】某程序员编写了一段通过串口发送数据的程序,使用设备名com1,那么,将com1映射到实际物理设备的工作是在I/O管理的设备独立层完成的。

设备独立层是指操作系统把所有外部设备统一当成文件来看待,只要安装他们的驱动程序,任何用户都可以像使用文件一样,操作这些设备。

3.单选题下面()不属于信息安全的属性。

问题1选项A.信息的秘密性B.信息的完整性C.信息的可用性D.信息的实时性【答案】D4.单选题关于BootLoader,下列理解错误的是()。

问题1选项A.BootLoader是在操作系统内核运行之前运行的一小段程序B.BootLoader是通用的C.有些BootLoader支持多CPUD.BootLoader的功能之一是初始化硬件【答案】B【解析】Bootloader是嵌入式系统在加电后执行的第一段代码,在它完成CPU和相关硬件的初始化之后,再将操作系统映像或固化的嵌入式应用程序装在到内存中然后跳转到操作系统所在的空间,启动操作系统运行。

高级SQL应用与嵌入式SQL考试试卷

高级SQL应用与嵌入式SQL考试试卷

高级SQL应用与嵌入式SQL考试试卷(答案见尾页)一、选择题1. 什么是SQL注入攻击?它如何发生?A. SQL注入攻击是一种利用数据库漏洞进行的攻击,通过插入恶意SQL代码来执行未经授权的操作。

B. SQL注入攻击是一种利用Web应用程序漏洞进行的攻击,通过插入恶意SQL代码来执行未经授权的操作。

C. SQL注入攻击是一种利用操作系统漏洞进行的攻击,通过插入恶意SQL代码来执行未经授权的操作。

D. SQL注入攻击是一种利用编程语言漏洞进行的攻击,通过插入恶意SQL代码来执行未经授权的操作。

2. 在嵌入式SQL中,如何区分SQL语句和控制语句?A. 使用关键字“SELECT”来标识SQL语句。

B. 使用关键字“INSERT”来标识SQL语句。

C. 使用关键字“UPDATE”来标识SQL语句。

D. 使用关键字“CONTROL”来标识SQL语句。

3. 什么是事务的ACID特性?请简要解释每个特性。

A. 原子性(Atomicity):事务中的操作要么全部成功,要么全部失败,不会部分执行。

B. 一致性(Consistency):事务必须使数据库从一个一致性状态变换到另一个一致性状态。

C. 隔离性(Isolation):并发的事务之间不会互相干扰。

D. 持久性(Durability):一旦事务提交,则其结果就是永久的,即使系统崩溃也不会丢失。

4. 请解释外键约束的作用。

A. 确保数据的引用完整性B. 提高查询效率C. 减少数据冗余D. 加速表之间的连接操作5. 在SQL中,如何使用聚合函数来计算某个字段的总和?A. 使用SUM()函数B. 使用COUNT()函数C. 使用AVG()函数D. 使用MIN()函数6. 什么是视图?它有哪些用途?A. 视图是一个虚拟表,它提供了一种方式来查看和操作基础表的数据。

B. 视图的主要用途是简化复杂的SQL操作。

C. 视图可以用于数据更新,但前提是视图中的所有列都是基础表的简单列。

嵌入式部分习题参考答案

嵌入式部分习题参考答案

嵌入式部分习题参考答案第一章1.什么是嵌入式系统?它由哪几部分组成?有何特点?以应用为中心,计算机技术为基础,软硬件可裁减,从而能够适应实际应用中对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。

嵌入式系统通常由嵌入式处理器、外围设备、嵌入式操作系统、应用软件等几大部分组成。

嵌入式处理器与通用处理器的最大不同点在其大多工作在为特定用户群设计的系统。

外围设备包括:存储器、接口、人机交互。

嵌入式操作系统的特点:软硬件一体化,集计算机技术、微电子技术和行业技术为一体;需要操作系统支持,代码小,执行速度快;专用紧凑,用途固定,成本敏感;可靠性要求高;多样性,应用广泛,种类繁多。

2.嵌入式处理器分为哪几类?低端的微控制器(MicroConctroller Unit,MCU)中高端的嵌入式微处理器(Embedded MicroProcessor Unit,EMPU)通信领域的DSP系统(Digital Signal Processor,DSP)高度集成的片上系统(System on Chip,SoC)3.ARM英文原意是什么?它是个怎样的公司?其处理器有何特点?ARM(Advanced RISC Machines)公司是全球领先的16/32位RISC微处理器知识产权设计供应商。

ARM公司通过将其高性能、低功耗、低成本的RISC微处理器,外围和系统芯片设计技术转让给合作伙伴来生产各具特色的芯片。

ARM处理器的特点:小体积、低功耗、低成本而性能高。

16/32位指令集。

全球至多的合作伙伴。

4.什么是实时系统?它由哪些特征?如何分类?实时系统是具有实时性且能支持实时控制系统工作的操作系统。

其首要任务是调动一切可利用的资源来完成实时控制任务,其次才着眼于提高计算机系统的使用效率,其重要特点是能满足对时间的限制和要求。

实时性:实时系统所产生的结果在时间上有严格的要求,只有符合时间要求的结果才是正确的。

并行性:要求系统有并行处理能力,以便能同时相应来自不同端口的输入信号。

嵌入式SQL-文档资料

嵌入式SQL-文档资料

商用DBMS提供在应用程序中使用SQL的两种基本技术
内嵌SQL
SQL语言直接嵌入程序源代码 用特殊的SQL预编译器和编程工具一起来接受这种混合源代码,
然后将它转变为可执行程序
应用程序接口
程序使用一组被成为应用程序接口(API)的函数与DBMS通信
ODBC
JDBC 其他:DAO、RDO、 OLE DB、ADO 、RDS、 程序通过API调用将SQL语句传递给DBMS,并使用其获得查询 结果 不需要特殊的预编译器
主变量(Host Variable)
3.解决集合性操作语言与过程性操作语言的不匹配,并 将SQL语句查询数据库的结果交主语言进一步处理
主变量,游标(Cursor)
1. SQL通信区
SQLCA的用途
SQL语句执行后,DBMS反馈给应用程序信息
描述系统当前工作状态 描述运行环境
这些信息将送到SQL通信区SQLCA中 应用程序从SQLCA中取出这些状态信息,据此决定
if (sqlca.sqlcode != SUCCESS) break; /* (6) 利用SQLCA中的状态信息决定何时退出循环 */
printf(“Sno: %s, Cno: %s, Grade:%d", Sno, Cno, Grade); /* 打印查询结果 */
} EXEC SQL CLOSE C1;
After you've successfully preprocessed the ESQL/C source files, you can add the generated C source to your project.
3.7.2 嵌入式SQL语句与主语言之间的通信
将SQL嵌入到高级语言中混合编程,程序中会 含有两种不同计算模型的语句

《嵌入式》课后习题答案

《嵌入式》课后习题答案

第一章1. 简述嵌入式的定义以应用为中心、以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

2. 举例说明嵌入式系统的“嵌入性” 、“专用性” 、“计算机系统”的基本特征。

按照嵌入式系统的定义,嵌入式系统有3个基本特点,即“ 嵌入性”、“ 专用性”与“ 计算机”。

“嵌入性”由早期微型机时代的嵌入式计算机应用而来,专指计算机嵌入到对象体系中,实现对象体系的智能控制。

当嵌入式系统变成一个独立应用产品时,可将嵌入性理解为内部嵌有微处理器或计算机。

“计算机”是对象系统智能化控制的根本保证。

随着单片机向MCU SoC发展,片内计算机外围电路、接口电路、控制单元日益增多,“专用计算机系统”演变成为“内含微处理器”的现代电子系统。

与传统的电子系统相比较,现代电子系统由于内含微处理器,能实现对象系统的计算机智能化控制能力。

“专用性”是指在满足对象控制要求及环境要求下的软硬件裁剪性。

嵌入式系统的软、硬件配置必须依据嵌入对象的要求,设计成专用的嵌入式应用系统。

3. 简述嵌入式系统发展各阶段的特点。

(1)无操作系统阶段:使用简便、价格低廉;(2)简单操作系统阶段:初步具有了一定的兼容性和扩展性,内核精巧且效率高,大大缩短了开发周期,提高了开发效率。

(3)实时操作系统阶段:系统能够运行在各种不同类型的微处理器上,具备了文件和目录管理、设备管理、多任务、网络、图形用户界面Graphic User Interface ,GUI )等功能,并提供了大量的应用程序接口Application Programming Interface ,API ),从而使应用软件的开发变得更加简单。

(4)面向Internet 阶段:进入21 世纪,Internet 技术与信息家电、工业控制技术等的结合日益紧密,嵌入式技术与Internet 技术的结合正在推动着嵌入式系统的飞速发展4. 简述嵌入式系统的发展趋势。

嵌入式系统课后习题-部分答案(PDF)

嵌入式系统课后习题-部分答案(PDF)

第一章1-1.简述嵌入式系统的定义。

嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。

1-2.简述嵌入式系统的组成。

从体系结构上看,嵌入式系统主要由嵌入式处理器、支撑硬件和嵌入式软件组成。

其中嵌入式处理器通常是单片机或微控制器,支撑硬件主要包括存储介质、通信部件和显示部件等,嵌入式软件则包括支撑硬件的驱动程序、操作系统、支撑软件及应用中间件等。

嵌入式系统的组成部分是嵌入式系统硬件平台、嵌入式操作系统和嵌入式系统应用。

嵌入式系统硬件平台为各种嵌入式器件、设备(如ARM 、PowerPC、Xscale、MIPS等);嵌入式操作系统是指在嵌入式Linux、uCLinux、WinCE等。

1-3.ARM7处理器使用的是(ARMv4)指令集。

ARM7内核采用冯·诺依曼体系结构,数据和指令使用同一条总线。

内核有一条3级流水线,执行ARMv4指令集。

1-6.ARM9采用的是(5)级流水线设计。

存储器系统根据哈佛体系结构(程序和数据空间独立的体系结构)重新设计,区分数据总线和指令总线。

第二章2-1.简述ARM可以工作在几种模式。

ARM处理器共有7种工作模式:用户模式(User)、快速终端模式(FIQ)、外部中断模式(IRQ)、特权模式(svc)、数据访问中止模式(Abort)、未定义指令中止模式(Undef)、系统模式(System)。

除用户模式外其他6种模式称为特权模式。

在特权模式下,程序可以访问所有的系统资源,也可以任意地进行处理器模式切换。

再除去系统模式,其余5种模式又称为异常模式。

2-2.ARM核有多少个寄存器?ARM处理器有如下37个32位长的寄存器:(1)30个通用寄存器;(2)6个状态寄存器:1个CPSR(Current Program Status Register,当前程序状态寄存器),5个SPSR(Saved Program Status Register,备份程序状态寄存器);(3)1个PC(Program Counter,程序计数器)。

嵌入式习题答案汇总

嵌入式习题答案汇总

第一章习题答案1.什么是嵌入式系统?请列举几个常见的嵌入式系统。

答:根据国际电气和电子工程师协会(IEEE)的定义,嵌入式系统是控制、监视或者辅助设备、机器和生产线运行的装置(Devices used to control, monitor, or assist the operation of equipment, machinery or plants)。

这主要是从产品的应用角度加以定义的,由此可以看出嵌入式系统是软件和硬件的综合体,可以涵盖机械等附属装置。

目前被我国科学家普遍认同的定义是:嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁减,对功能、可靠性、成本、体积、功耗要求严格的专用计算机系统。

常见的嵌入式系统:手机,DVD,路由器,核磁共振仪,全自动洗衣机。

2.嵌入式系统与通用计算机有哪些区别?答:(1) 以应用为中心;(2) 以计算机技术为基础(3) 软件和硬件可裁减(4) 对系统性能要求严格(5)软件的固件化(6)需要专用的开发工具3.嵌入式系统的发展分为哪几个阶段?答:第一阶段:无操作系统的嵌入算法阶段。

第二阶段:以嵌入式CPU为基础,以简单操作系统为核心的嵌入式系统。

第三阶段:以嵌入式操作系统为标志的嵌入式系统。

第四阶段:以基于Internet为标志的嵌入式系统。

4.请列举嵌入式系统的主要应用领域。

答:(1)工业控制领域(2)交通运输领域(3)消费电子产品(4)家电领域(5)通信领域(6)商业和金融领域(7)环境监测领域(8)医疗领域(9)建筑领域(10)军事国防领域(11)航天航空领域第二章习题答案1.简述简单嵌入式系统与复杂嵌入式系统的主要区别。

答:简单嵌入式系统很早就已经存在,这类嵌入式系统因为软硬件复杂度都很低,一般不使用操作系统,例如常用的单片机系统。

对于复杂的嵌入式系统,它的开发模式发生了极大的改变。

一个复杂的嵌入式系统不仅硬件系统的开发比单片机复杂了许多,更重要的是在该系统中采用了嵌入式操作系统,其应用软件的开发转变为使用操作系统标准接口的计算机工程领域的应用软件开发。

嵌入式习题集(含答案)

嵌入式习题集(含答案)

1、 ARM 微处理器有 7种工作模式,它们分为两类 非特权模式 、 特权模式 。

其中用户模式属于 非特权模式ARM 处理器有两种总线架构,数据和指令使用同一接口的是 冯诺依曼 ,数据和指令分开使用不同接口的是 哈佛结4、 ARM 微处理器复位后,PC 的地址通常是 0x0 ,初始的工作模式是Supervisor 。

5、 编译链接代码时,有两种存储代码和数据的字节顺序,一种是 小端对齐 ,另一种是大端对齐计算机有CISC 和RISC 两种类型,以ARM 微处理器为核心的计算机属于 RISC 类型,其指令长度是 定长的1、 目前使用的嵌入式操作系统主要有哪些?请举出六种较常用的。

Windows CE/Windows Mobile 、VxWork 、Linux 、uCos 、Symbian 、QNX 任选六2、ARM 系统中的堆栈有四种,如下图。

请按图标出四种堆栈的类型。

A TPCS 编程规范约定使用的堆栈是哪一种?答:FD 、FA 、ED 、EA 。

A TPCS 编程规范约定使用的堆栈是FD3、Boot Loader 在嵌入式系统中主要起什么作用?完成哪些主要的工作?答:Boot Loader 是在嵌入式系统复位启动时,操作系统内核运行前,执行的一段程序。

通过Boot Loader ,初始化硬件设备,建立内存和I/O 空间映射图,为最终加载操作系统内核调整好适当的系统软硬件环境。

4、搭建嵌入式开发环境,连接目标板,一般使用什么通信接口连接?在Windows 主机上使用什么软件建立连接?在Linux 主机上使用什么软件建立连接?1、 答:RS-232,以太网口、并口在Windows 主机上使用超级终端软件在Linux 主机上使用Minicom 软件5嵌入式开发环境主要包括哪些组件?嵌入式系统开发需要交叉编译和在线调试的开发环境,主要包括● 宿主机● 目标机(评估电路板)● 基于JTAG 的ICD 仿真器、或调试监控软件、或在线仿真器ICE● 运行于宿主机的交叉编译器和链接器、以及开发工具链或软件开发环境● 嵌入式操作系统7 目前使用的嵌入式操作系统主要有哪些?请举出六种较常用的。

2022年职业考证-软考-嵌入式系统设计师考试全真模拟易错、难点剖析B卷(带答案)第66期

2022年职业考证-软考-嵌入式系统设计师考试全真模拟易错、难点剖析B卷(带答案)第66期

2022年职业考证-软考-嵌入式系统设计师考试全真模拟易错、难点剖析B卷(带答案)一.综合题(共15题)1.单选题关于嵌入式SQL,下列描述不正确的是()。

问题1选项A.嵌入式SQL属于SQL 语言在嵌入式环境下的一种使用B.嵌入式SQL是把SQL语言嵌入到宿主语言中进行数据访问和处理C.嵌入式SQL执行前,首先要与数据库进行连接D.嵌入式SQL 通常是交互式进行数据库操作【答案】D【解析】嵌入式SQL属于SQL 语言在嵌入式环境下的一种使用;嵌入式SQL是把SQL语言嵌入到宿主语言中进行数据访问和处理;嵌入式SQL执行前,首先要与数据库进行连接;这道题是属于数据库方面的知识点,了解下就可以了,考的非常少。

2.单选题()不是采用MVC(模型-视图-控制器)体系结构进行软件系统开发的优点。

问题1选项A.有利于代码重用B.提高系统的运行效率C.提高系统的开发效率D.提高系统的可维护性【答案】B【解析】MVC是分层架构风格的一种,采用关注点分离的方针,将可视化界面呈现(View)、UI处理逻辑(Controller)和业务逻辑(Model)三者分离出来,并且利用合理的交互方针将它们之间的依赖降至最低。

解耦之后,有利于代码重用、提高系统的可维护性,也可提高系统的开发效率,但是由于分层之后,调用也需要分层调用,所以不能提高系统的运行效率。

3.单选题按指令流和数据流的组织关系,计算机系统的结构有以下不同类型,大规模并行处理机MPP属于()结构。

问题1选项A.SISDB.SIMDC.MISDD.MIMD【答案】D【解析】按照计算机同时处于一个执行阶段的指令或数据的最大可能个数划分,可分为SISD、SIMD、MISD、MIMD;SISD(Single Instruction Single Data stream)单指令流单数据流(SISD):SISD其实就是传统的顺序执行的单处理器计算机,其指令部件每次只对一条指令进行译码,并且只对一个操作部件分配数据。

SQL语言习题参考答案

SQL语言习题参考答案

第3章 SQL语言习题参考答案1.试述SQL语言的特点。

(85页)答:综合统一、高度非过程化、面向集合的操作方式、以同一种语法结构提供两种使用方式、语言简捷,易学易用。

2.试述SQL的定义功能。

(87页)答:SQL的数据定义功能包括定义表、定义视图和定义索引3.用SQL语句建立第二章习题5中的四个表。

S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY);供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成:CREATE TABLE S(Sno C(2) UNIQUE,Sname C(6) ,Status N(2),City C(4))零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成:CREATE TABLE P(Pno C(2) UNIQUE,Pname C(6),COLOR C(2), WEIGHT I(2))工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、所在城市(CITY)组成:CREATE TABLE J(Jno C(2) UNlQUE,JNAME C(8), CITY C(4))供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成:CREATE TABLE SPJ(Sno C(2),Pno C(2),JNO C(2), QTY N(2))4.针对上题中建立的四个表试用SQL语言完成第二章习题5中的查询:(1)求供应工程J1零件的供应商号码SNO:SELECT DIST SNO FROM SPJ WHERE JNO=’J1’(2)求供应工程J1零件P1的供应商号码SNO:SELECT DIST SNO FROM SPJ WHERE JNO='J1' AND PNO='P1'(3)求供应工程J1零件为红色的供应商号码SNO:SELECT SNO FROM SPJ,P WHERE JNO='J1' AND = AND COLOR='红'(4)求没有使用天津供应商生产的红色零件的工程号JNO:SELECT DIST JNO FROM SPJ WHERE JNO NOT IN (SELE JNO FROM SPJ,P,S WHERE ='天津' AND COLOR='红' AND = AND =。

2022年职业考证-软考-嵌入式系统设计师考试全真模拟全知识点汇编押题第五期(含答案)试卷号:23

2022年职业考证-软考-嵌入式系统设计师考试全真模拟全知识点汇编押题第五期(含答案)试卷号:23

2022年职业考证-软考-嵌入式系统设计师考试全真模拟全知识点汇编押题第五期(含答案)一.综合题(共15题)1.单选题关于嵌入式SQL,下列描述不正确的是()。

问题1选项A.嵌入式SQL属于SQL 语言在嵌入式环境下的一种使用B.嵌入式SQL是把SQL语言嵌入到宿主语言中进行数据访问和处理C.嵌入式SQL执行前,首先要与数据库进行连接D.嵌入式SQL 通常是交互式进行数据库操作【答案】D【解析】嵌入式SQL属于SQL 语言在嵌入式环境下的一种使用;嵌入式SQL是把SQL语言嵌入到宿主语言中进行数据访问和处理;嵌入式SQL执行前,首先要与数据库进行连接;这道题是属于数据库方面的知识点,了解下就可以了,考的非常少。

2.单选题下列()不属于敏捷开发方法。

问题1选项A.极限编程B.并列争球法C.模型开发D.自适应软件开发【答案】C【解析】常见的敏捷开发模型包括:1、极限编程2、自适应软件开发3、水晶方法4、SCRUM5、功用驱动开发方法(FDD)3.单选题下面的求解菲波那级数第n项的a、b两段程序中,分别采用了()算法。

问题1选项A.递推法和迭代法B.迭代法和穷举搜索法C.迭代法和递推法D.递归法和递推法【答案】D【解析】斐波纳契数列(Fibonacci Sequence),又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)。

第一种方法是递归算法(是最普遍的解决算法),这种算法的时间复杂度很高。

因为在计算fib(n-1)的时候,把fib(n-2)也给计算了一遍。

这样资源得不到重复利用。

时间复杂度是指数级的。

第二种方法是递推法,利用递推算法求问题规模为n的解的基本思想是:当n=1时,解或为已知,或能非常方便地求得;通过采用递推法构造算法的递推性质,能从已求得的规模为1、2、…、i−1的一系列解,构造出问题规模为i的解。

嵌入式系统数据库管理考试

嵌入式系统数据库管理考试

嵌入式系统数据库管理考试(答案见尾页)一、选择题1. 嵌入式系统数据库管理的主要目的是什么?A. 提高数据存储效率B. 降低数据访问速度C. 简化系统设计和开发过程D. 增强数据安全性2. 嵌入式系统常用的数据库管理系统有哪些?A. SQLiteB. MySQLC. OracleD. SQL Server3. 在嵌入式系统中,数据库管理系统的关键特性包括哪些?A. 高性能、低延迟B. 易于扩展C. 支持事务处理D. 所有选项都正确4. 嵌入式系统数据库管理系统的设计原则不包括以下哪项?A. 适用于资源受限的设备B. 高度可定制化C. 快速读写能力D. 完全兼容关系型数据库5. 嵌入式系统数据库管理系统的查询优化策略通常包括哪些?A. 索引优化B. 查询缓存C. 数据分区D. 所有选项都正确6. 在嵌入式系统数据库管理中,如何确保数据的完整性和一致性?A. 使用事务处理机制B. 强制实行备份和恢复策略C. 实施严格的访问控制D. 以上所有措施7. 嵌入式系统数据库管理系统的性能优化通常涉及哪些方面?A. 硬件加速B. 软件算法改进C. 数据库结构调整D. 以上所有方面8. 在嵌入式系统数据库管理中,如何有效地处理大量数据?A. 使用外部存储设备B. 数据分片存储C. 采用分布式数据库系统D. 以上所有方法9. 嵌入式系统数据库管理系统的安全措施包括哪些?A. 访问控制列表(ACLs)B. 数据加密C. 强化身份验证机制D. 以上所有措施10. 在嵌入式系统数据库管理中,如何应对硬件故障和系统断电等情况?A. 使用电池备份的RAMB. 实施数据冗余存储C. 建立数据备份和恢复机制D. 以上所有措施11. 嵌入式系统常用的数据库管理系统有哪几种?A. SQLiteB. MySQLC. OracleD. SQL Server12. 在嵌入式系统中,数据库通常存储在哪种类型的存储器中?A. RAMB. ROMC. FlashD. HDD13. 嵌入式系统数据库管理系统的特点包括哪些?A. 高性能B. 高可靠性C. 易用性D. 高扩展性14. 下列哪个不是嵌入式系统数据库管理系统的查询语言?A. SQLB. NoSQLC. XMLD. Lua15. 在嵌入式系统数据库管理中,索引的主要作用是什么?A. 加速数据检索速度B. 保证数据完整性C. 管理数据冗余D. 控制数据访问权限16. 嵌入式系统数据库管理系统的设计原则包括哪些?A. 低耦合B. 高内聚C. 易维护D. 易扩展17. 在嵌入式系统数据库管理中,如何确保数据的完整性?A. 使用约束B. 使用事务C. 使用备份和恢复机制D. 使用日志记录18. 嵌入式系统数据库管理系统的性能优化策略包括哪些?A. 缓存优化B. 索引优化C. 查询优化D. 存储器管理优化19. 在嵌入式系统数据库管理中,如何处理并发访问问题?A. 使用锁机制B. 使用时间戳C. 使用乐观锁D. 使用悲观锁20. 在嵌入式系统中,数据库通常被存储在哪里?A. 硬盘驱动器B. RAMC. ROMD. 外部存储设备21. 嵌入式系统数据库管理系统的查询语言通常是什么?A. SQLB. NoSQLC. XMLD. Python22. 嵌入式系统数据库管理系统中常用的数据模型有哪几种?A. 关系模型B. 非关系模型C. 图模型D. 树模型23. 嵌入式系统数据库管理系统的事务处理能力取决于什么?A. 硬件性能B. 软件优化C. 数据库结构D. 操作系统支持24. 在嵌入式系统数据库管理中,如何处理大量数据的存储和查询?A. 使用关系数据库B. 使用NoSQL数据库C. 将数据分散存储在多个硬件模块上D. 使用单一数据库服务器25. 在嵌入式系统中,数据库管理系统通常被安装在哪个部分?A. CPUB. 内存C. 存储器D. 输入输出设备26. 嵌入式系统数据库管理系统的关键特性包括哪些?A. 高并发读写B. 数据持久化C. 系统恢复D. 数据加密27. 嵌入式系统数据库管理系统的设计原则中,哪一项不是其主要考虑的因素?A. 低功耗B. 快速响应时间C. 大规模数据存储D. 易于维护28. 在嵌入式系统数据库管理中,索引的作用是什么?A. 提高数据检索速度B. 减少数据冗余C. 保证数据完整性D. 降低系统复杂性29. 嵌入式系统数据库管理系统的事务处理能力对于系统性能有何影响?A. 无影响B. 提高系统响应速度C. 延长系统停机时间D. 减少数据丢失风险30. 在选择嵌入式系统数据库管理系统时,需要考虑哪些因素?A. 系统资源限制B. 数据安全性要求C. 用户界面友好性D. 扩展性需求31. 嵌入式系统数据库管理系统的查询优化技术包括哪些?A. 索引优化B. 查询重写C. 数据分区D. 缓存机制32. 嵌入式系统数据库管理系统的性能测试通常包括哪些方面?A. 并发性能测试B. 压力测试C. 容量测试D. 可靠性测试33. 在嵌入式系统中,数据库通常用于存储哪些类型的数据?A. 文本数据B. 图像数据C. 音频数据D. 所有以上数据类型34. 嵌入式系统数据库管理系统通常支持哪种类型的查询?A. 简单查询B. 复杂查询C. 关系型查询D. 非关系型查询35. 嵌入式系统数据库管理系统的典型应用场景不包括下列哪一项?A. 智能家居B. 工业自动化C. 航空航天D. 消费电子产品36. 嵌入式系统数据库管理系统在资源受限的环境下应该如何设计?A. 采用复杂的数据结构B. 优化数据存储和访问算法C. 增加更多的硬件资源D. 使用高复杂度的算法37. 下列哪项不是嵌入式系统数据库管理系统的常见性能指标?A. 并发用户数B. 数据库吞吐量C. 数据缓存命中率D. 系统响应时间38. 嵌入式系统数据库管理系统的开发通常涉及哪些关键技术?A. 数据加密技术B. 数据压缩技术C. 数据同步技术D. 以上都是二、问答题1. 什么是嵌入式系统?请简要描述其特点。

嵌入式SQL与宿主语言接口实战试卷

嵌入式SQL与宿主语言接口实战试卷

嵌入式SQL与宿主语言接口实战试卷(答案见尾页)一、选择题1. 嵌入式SQL是指什么?A. SQL代码嵌入到宿主程序中B. 宿主程序嵌入到SQL代码中C. 一种数据库管理系统D. 数据库与应用程序之间的通信技术2. 在嵌入式SQL中,如何定义一个变量来存储查询结果?A. 使用宿主语言的数据类型B. 使用SQL的数据类型C. 定义一个结构体或类D. 直接赋值3. 嵌入式SQL中,如何将查询结果返回给宿主语言?A. 使用CALL语句B. 使用FETCH语句C. 使用SELECT语句D. 直接赋值4. 在嵌入式SQL中,当处理查询结果时,通常会使用哪种数据结构?A. 数组B. 链表C. 栈D. 队列5. 嵌入式SQL中,如何处理查询中的错误?A. 使用异常处理机制B. 使用错误码C. 使用日志记录D. 使用条件语句6. 嵌入式SQL中,如何在宿主语言中调用SQL函数?A. 使用标准函数调用语法B. 使用特定于数据库的函数调用语法C. 使用自定义函数D. 直接调用7. 嵌入式SQL中,如何处理查询结果的循环遍历?A. 使用宿主语言的循环结构B. 使用SQL的FETCH循环C. 使用数据库提供的迭代器D. 使用索引8. 嵌入式SQL中,如何确保查询的安全性?A. 使用参数化查询B. 使用存储过程C. 使用事务控制D. 使用访问控制列表9. 在嵌入式SQL中,如何处理字符串类型的SQL数据?A. 直接使用字符串拼接B. 使用特定于数据库的方法C. 使用转义字符D. 使用正则表达式10. 嵌入式SQL与宿主语言之间的数据传递通常通过什么方式实现?A. 共享内存B. 管道通信C. 消息队列D. 套接字通信11. 嵌入式SQL是一种用于与数据库进行通信的编程技术,其主要功能是______。

A. 将高级编程语言的代码转换为SQL语句B. 将SQL语句转换为高级编程语言的代码C. 提供数据库访问接口D. 执行数据库查询和更新操作12. 在嵌入式SQL中,如何定义一个变量以存储查询结果?A. 使用FETCH命令B. 使用INTO子句C. 使用SELECT语句D. 使用UPDATE语句13. 嵌入式SQL中,当需要在程序中执行SQL语句时,通常使用哪种语法结构?A. 子程序B. 函数C. 过程D. 事件14. 在嵌入式SQL中,如何将SQL查询结果传递回程序的主流代码?A. 使用FETCH命令B. 使用INTO子句C. 使用SELECT语句D. 使用CALL语句15. 嵌入式SQL与宿主语言之间的数据传输通常通过哪种方式实现?A. 键值对B. 指针C. 数组D. 栈16. 在嵌入式SQL中,如何处理SQL语句中的错误?A. 使用异常处理机制B. 使用错误代码C. 使用日志记录D. 使用条件语句17. 嵌入式SQL中,如何定义一个存储过程?A. 使用CREATE PROCEDURE语句B. 使用CREATE FUNCTION语句C. 使用CREATE VIEW语句D. 使用CREATE INDEX语句18. 在嵌入式SQL中,如何声明一个游标?A. 使用DECLARE CURSOR语句B. 使用OPEN语句C. 使用FETCH语句D. 使用CLOSE语句19. 嵌入式SQL中,如何关闭当前打开的游标?A. 使用CLOSE语句B. 使用FETCH语句C. 使用OPEN语句D. 使用CLOSE语句20. 在嵌入式SQL中,如何编写一个触发器来响应数据库中的数据变化?A. 使用CREATE TRIGGER语句B. 使用ALTER TRIGGER语句C. 使用DROP TRIGGER语句D. 使用CREATE INDEX语句21. 在嵌入式SQL中,如何定义一个SQL语句?A. 使用EXEC SQL命令B. 直接在程序中编写SQL代码C. 使用预处理指令D. 需要宿主语言提供接口22. 嵌入式SQL与宿主语言之间的数据交互通常通过什么实现?A. 栈B. 队列C. 消息队列D. 共享内存23. 在宿主语言中使用嵌入式SQL时,通常需要定义哪些变量?A. 输入参数B. 输出结果C. 临时变量D. 全局变量24. 在嵌入式SQL中,如何处理错误?A. 使用异常处理机制B. 检查SQL语句的语法是否正确C. 使用循环结构D. 需要宿主语言提供错误处理函数25. 嵌入式SQL与宿主语言之间的通信通常采用哪种方式?A. 单独的线程B. 共享内存C. 消息队列D. 管道26. 如何在嵌入式SQL中释放游标?A. 使用CLOSE命令B. 直接关闭游标C. 使用DEALLOCATE命令D. 需要宿主语言提供接口27. 在嵌入式SQL中,如何处理多个结果集?A. 使用单个FETCH命令B. 使用多个SELECT语句C. 使用UNION操作符D. 需要宿主语言提供接口28. 嵌入式SQL中,如何将查询结果传递回宿主语言?A. 使用FETCH命令B. 使用FETCH INTO语句C. 使用SELECT语句D. 使用EXECUTE语句29. 在嵌入式SQL中,如何处理SQL错误?A. 使用异常处理机制B. 使用错误代码C. 使用日志记录D. 使用CASE语句30. 嵌入式SQL中,如何声明一个SQL变量?A. 使用DECLARE命令B. 使用SET命令C. 使用SELECT命令D. 使用FETCH命令31. 在嵌入式SQL中,如何执行一个存储过程?A. 使用CALL命令B. 使用EXECUTE命令C. 使用DO命令D. 使用RUN命令32. 嵌入式SQL中,如何处理多行查询结果?A. 使用FETCH命令逐行处理B. 使用FETCH INTO语句逐行处理C. 使用SELECT语句处理D. 使用EXECUTE语句处理33. 在嵌入式SQL中,如何更新表中的数据?B. 使用INSERT语句C. 使用DELETE语句D. 使用ALTER语句34. 嵌入式SQL中,如何从用户那里获取输入?A. 使用PRINT命令B. 使用ASK命令C. 使用GET命令D. 使用INPUT命令35. 在嵌入式SQL中,如何关闭与数据库的连接?A. 使用CLOSE命令B. 使用DISCONNECT命令C. 使用QUIT命令D. 使用END命令36. 在嵌入式SQL中,如何定义一个变量?A. 使用关键字SETB. 使用关键字SELECTC. 使用关键字DECLARED. 使用关键字INT37. 嵌入式SQL中,如何声明一个游标?A. 使用DECLARE CURSOR语句B. 使用OPEN语句C. 使用FETCH语句D. 使用CLOSE语句38. 嵌入式SQL中,如何插入一行数据到表中?A. 使用INSERT INTO语句B. 使用UPDATE语句C. 使用DELETE语句39. 在嵌入式SQL中,如何关闭一个已打开的游标?A. 使用CLOSE语句B. 使用FETCH语句C. 使用UPDATE语句D. 使用DELETE语句40. 嵌入式SQL中,如何处理多个结果集?A. 使用单个SELECT语句并使用多个列名B. 使用多个SELECT语句并将结果分别存储在变量中C. 使用单个SELECT语句并使用UNION操作符D. 使用多个SELECT语句并使用逗号分隔41. 在嵌入式SQL中,如何处理事务?A. 使用COMMIT语句提交事务B. 使用ROLLBACK语句回滚事务C. 使用SAVEPOINT语句设置保存点D. 使用BEGIN语句开始事务二、问答题1. 什么是嵌入式SQL?它的主要特点是什么?2. 什么是宿主语言?它在嵌入式SQL中的作用是什么?3. 如何在宿主语言中编写嵌入式SQL程序?4. 请解释一下SQL注入攻击及其防范措施。

实验6嵌入式SQL答案版

实验6嵌入式SQL答案版

实验6 嵌入式SQL通过这个实验,我们首先熟悉了嵌入式SQL编程,并可以自己动手编写一个小型的数据库应用程序。

而且能够大体了解我们平时在日常生活中看到的一些数据库应用程序是如何开发出来的。

做完这个实验,你会发现那些数据库程序也并不是十分高深。

这是我们最后一个实验,也是工作量最大的一个实验,大约需要2-3次实验课的时间。

希望同学们认真完成。

实验平台1.OS:WindowsXP2.DBMS:SQLServer2000piler:Visual C++ 6.0(大家可能没有接触过VC++,但并不妨碍我们做这个实验,因为在这个实验中我们只利用它的编译功能。

)预备知识1)嵌入式SQL编程:嵌入式SQL由SQL语句和C/C++代码组成。

其中SQL语句由预处理器翻译成C或C++的源代码。

对预处理后的源代码进行编译、连接生成可执行程序后方可运行。

●SQL预处理器SQLServer的预处理程序是nsqlprep.exe。

其常用的语法格式如下:nsqlprep 程序文档名⏹要求程序文档名的后缀为.sqc,可以省略。

⏹预编译后得到的文档,与程序文档同名,后缀为.c;放在与程序文档名同一个路径下nsqlprep.exe在SQLServer的安装目录的MSSQL\Binn下。

在本机中SQLServer的安装目录是C:\Program Files\Microsoft SQL Server,nsqlprep.exe在C:\Program Files\Microsoft SQL Server\MSSQL\Binn。

由于默认的安装方式(典型安装)并没有安装应用程序nsqlprep.exe,因此,需要你把我提供的binn文件夹,拷贝到该目录下覆盖原来的Binn。

●连接方式经预处理后的c文件就可以用c的编译器进行编译连接了。

使用Visual C++ 6.0进行编译连接,连接方式是动态连接,用到动态链接库SQLakw32.dll,sqlaiw32.dll;此两文件已经随同binn.rar的其他内容,被拷贝到C:\Program Files\Microsoft SQL Server\MSSQL\Binn下;但仍然需要把该路径加到系统的路径变量中,以使得程序运行时能找到这两个文件。

嵌入式专业测试(答案)

嵌入式专业测试(答案)

[A类答案]1.A 标识符只能为数字,字母,下划线且数字不能开头2.A 3 C4 B A选项为内容B选项才为地址5 D6 B 只能表示a【0】——a【9】7A 循环后面有双引号表示循环终止- -a;未在循环内执行 while (a)中的a始终为真8 A while (a<b<c) 中的 a<b<c 是恒假表达式未进入循环9 C A溢出其余的写法有误10 B11 D 字符串比较只能用strcmp()12 D a比b多一个\013 B 14B 15 A 16 A 17 B 18 A 19 A20 B a[0][4]溢出最大只能到a[2][3][B类答案]一、填空1.-12 a=a-a*a a=a+(a-a*a)=-122. 12 sizeof(int)=4 sizeof(double)=83. 6.0 int(a)=5 b/b=1.04. 9 *p=3 *(p+3)=95. 68 ‘\101‘为八进制数\101转换为1*8^2+1=65二、选择1.A 合法标示符为数字字母下划线组成且不能以数字开头2.D d为常量不能++ --操作3 C4 C 为值交换能传进却不能将交换的结果传出5 A strlen()遇\0结束三、编程#include <stdio.h>int main (){int n, d;printf ("输入一个正整数:");scanf ("%d", &n);printf ("颠倒结果:");do{d = n % 10;printf ("%d", d);n = n / 10;}while (n != 0);return 0;}[C类答案]一、填空1. 17 一步:k=0 *(a+k)=*a=5 s=s+5=5二步:k=2 *(a+k)=*a[2]=7 s=s+7=5+7=12三步:k=4 *(a+k)=*a[4]=1 s=s+1=12+1=13四步:k=6 *(a+k)=*a[6]=4 s=s+4=13+4=172. 24 sizeof(struct A) =8 sizeof(union B)=8sizeof(struct C)=243. 8 sizeof(long)=4 sizeof(float)=44. 6.0 (int)a=5 b/b=1.05.6,6,6,6二、选择1、A q是空指针2、B3、A 4的二进制是100 3的二进制是011 相或为111也就是7 相与是000也就是04、B 4+4*4+4/2+2*2+2=285、A三、编程Node_t * Reverse(Node _t *HeadA){Node_t * HeadB, *pTemp;HeadB = NULL; //init return list nodeIf (NULL != HeadA){While (NULL !=HeadA ){pTemp = HeadB;HeadB = HeadA;HeadA = HeadA->Next;HeadB->Next = pTemp;}}return HeadB;}。

嵌入式SQL习题答案

嵌入式SQL习题答案

9.3.1 a) void closestMatchPC(){ EXEC SQL BEGIN DECLARE SECTION;char manf[], SQLSTATE[6]; int targetPrice, float tempSpeed, speedOfClosest;char tempModel[4], modelOfClosest[4]; int tempPrice,priceOfClosest;EXEC SQL END DECLARE SECTION;EXEC SQL DECLARE pcCursor CURSOR FORSELECT model, price, speed FROM PC;EXEC SQL OPEN pcCursor;EXEC SQL FETCH FROM pcCursorINTO :modelOfClosest, :priceOfClosest, :speedOfClosest;if(NOT_FOUND) /* print message and exit */ ;while(1){ EXEC SQL FETCH pcCursor INTO :tempModel, :tempPrice, :tempSpeed; if (NOT_FOUND) break;if(|tempPrice-targetPrice|<|priceOfClosest-targetPrice|){ modelOfClosest = tempModel;priceOfClosest = tempPrice;speedOfClosest = tempSpeed;}}EXEC SQL SELECT maker INTO :manfFROM ProductWHERE model = :modelOfClosest;printf("manf=%s, model=%d, speed=%d\n", manf, modelOfClosest, speedOfClosest);EXEC SQL CLOSE CURSOR pcCursor;}d)void withinBudget(){ EXEC SQL BEGIN DECLARE SECTION;int total_budget, rest_budget, pc_price, printer_price;char pc_model[4], printer_model[4], color[6];float min_speed; EXEC SQL END DECLARE SECTION;EXEC SQL PREPARE query1 FROM…SELECT model, price FROM PCWHERE speed >= ? AND price <= ?ORDER BY price‟;EXEC SQL PREPARE query2 FROM…SELECT model, price FROM PrinterWHERE price <= ? AND color = ?ORDER BY price‟;EXEC SQL DECLARE cursor1 CURSOR FOR query1;EXEC SQL DECLARE cursor2 CURSOR FOR query2;/* ask user for budget & the minimum speed of pc *//* get the cheapest PC of the minimum speed */EXEC SQL OPEN cursor1 USING :min_speed, :total_budget;EXEC SQL FETCH cursor1 INTO :pc_model, :pc_price;if (NOT_FOUND)Printf(“no pc found within the budg et\n”);else{ P rintf(“pc model: %s\n”, pc_model);}/* get Printer within the budget */rest_budget = total_budget – pc_price;color = “true”;EXEC SQL OPEN cursor2 USING :rest_budget, :color;EXEC SQL FETCH cursor2 INTO :printer_model;if(NOT_FOUND) {EXEC SQL CLOSE CURSOR cursor2;color = “false”;EXEC SQL OPEN cursor2 USING :rest_budget, :color;if(NOT_FOUND)printf(“no printer found within the budget\n”);else { EXEC SQL FETCH cursor2 INTO :printer_model;printf(“printer model: %s\n”, printer_model);}}else {p rintf(“printer model: %s\n”, printer_model); }EXEC SQL CLOSE CURSOR cursor1;EXEC SQL CLOSE CURSOR cursor2;}(f) void lowerPrices(){ EXEC SQL BEGIN DECLARE SECTION;char SQLSTATE[6];EXEC SQL END DECLARE SECTION;EXEC SQL DECLARE PCCursor INSENSITIVE CURSOR FOR PC;EXEC SQL OPEN PCCursor;while(1){EXEC SQL FETCH FROM PCCursor;if(NO_MORE_TUPLES) break;EXEC SQL UPDATE PCSET price=price-100WHERE CURRENT OF PCCursor;}EXEC SQL CLOSE PCCursor;}7.1.3 void twoMoreExpensive(){EXEC SQL BEGIN DECLARE SECTION;char SQLSTATE[6],cd[5],cd1[5];int model, model1,speed, speed1, ram, ram1, price, price1;float hd, hd1;EXEC SQL END DECLARE SECTION;EXEC SQL DECLARE PCCursor SCROLL CURSOR FORSELECT * FROM PC ORDER BY speed, price;EXEC SQL OPEN PCCursor;while(1){EXEC SQL FETCH NEXT FROM PCCursorINTO:model, :speed, :ram, :hd,:cd,:price;if(NO_MORE_TUPLES) break;EXEC SQL FETCH RELATIVE +2 FROM PCCursorINTO :model1,speed1,:ram1,:hd1,:cd1,:price1;if(NO_MORE_TUPLES) break;if(speed==speed1)EXEC SQL FETCH RELATIVE -2 FROM PCCursorINTO :model1, :speed1, :ram1, :hd1, :cd1, :price1;printf(“model=%d, speed=%d, ram1=%d, cd1=%s, price=%d\n”,model1, speed1, ram1,hd1,cd1,price1);}EXEC SQL CLOSE PCCursor;}a) CREATE FUNCTION PresNetWorth(studioName CHAR[15]) RETURNS INTEGERDECLARE presNetWorth INT;BEGINSELECT netWorthINTO presNetWorthFROM Studio, MovieExecWHERE = studioName AND presC# = cert#;RETURN(presNetWorth);END;c) CREATE PROCEDURE twoLongest(IN studio CHAR(15),OUT longest VARCHAR(255),OUT second VARCHAR(255))DECLARE t VARCHAR(255);DECLARE i INT;DECLARE Not_Found CONDITION FOR SQLSTATE = '02000';DECLARE MovieCursor CURSOR FORSELECT title FROM Movies WHERE studioName = studioORDER BY length DESC;BEGINSET longest = NULL;SET second = NULL;OPEN MovieCursor;SET i = 0;mainLoop: WHILE (i < 2) DOFETCH MovieCursor INTO t;IF Not_Found THEN LEAVE mainLoop END IF;SET i = i + 1;END WHILE;CLOSE MovieCursor;END;d) CREATE PROCEDURE earliest120mMovie(IN star CHAR(30),OUT earliestYear INT)DECLARE Not_Found CONDITION FOR SQLSTATE = '02000';DECLARE MovieCursor CURSOR FORSELECT MIN(year) FROM MoviesWHERE length > 120 ANDtitle IN (SELECT movieTitle FROM StarsInWHERE starName = star);SET earliestYear = 0;OPEN MovieCursor;FETCH MovieCursor INTO earliestYear; CLOSE MovieCursor;END;。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

9.3.1 a) void closestMatchPC(){ EXEC SQL BEGIN DECLARE SECTION;char manf[], SQLSTATE[6]; int targetPrice, float tempSpeed, speedOfClosest;char tempModel[4], modelOfClosest[4]; int tempPrice,priceOfClosest;EXEC SQL END DECLARE SECTION;EXEC SQL DECLARE pcCursor CURSOR FORSELECT model, price, speed FROM PC;EXEC SQL OPEN pcCursor;EXEC SQL FETCH FROM pcCursorINTO :modelOfClosest, :priceOfClosest, :speedOfClosest;if(NOT_FOUND) /* print message and exit */ ;while(1){ EXEC SQL FETCH pcCursor INTO :tempModel, :tempPrice, :tempSpeed; if (NOT_FOUND) break;if(|tempPrice-targetPrice|<|priceOfClosest-targetPrice|){ modelOfClosest = tempModel;priceOfClosest = tempPrice;speedOfClosest = tempSpeed;}}EXEC SQL SELECT maker INTO :manfFROM ProductWHERE model = :modelOfClosest;printf("manf=%s, model=%d, speed=%d\n", manf, modelOfClosest, speedOfClosest);EXEC SQL CLOSE CURSOR pcCursor;}d)void withinBudget(){ EXEC SQL BEGIN DECLARE SECTION;int total_budget, rest_budget, pc_price, printer_price;char pc_model[4], printer_model[4], color[6];float min_speed; EXEC SQL END DECLARE SECTION;EXEC SQL PREPARE query1 FROM…SELECT model, price FROM PCWHERE speed >= ? AND price <= ?ORDER BY price‟;EXEC SQL PREPARE query2 FROM…SELECT model, price FROM PrinterWHERE price <= ? AND color = ?ORDER BY price‟;EXEC SQL DECLARE cursor1 CURSOR FOR query1;EXEC SQL DECLARE cursor2 CURSOR FOR query2;/* ask user for budget & the minimum speed of pc *//* get the cheapest PC of the minimum speed */EXEC SQL OPEN cursor1 USING :min_speed, :total_budget;EXEC SQL FETCH cursor1 INTO :pc_model, :pc_price;if (NOT_FOUND)Printf(“no pc found within the budg et\n”);else{ P rintf(“pc model: %s\n”, pc_model);}/* get Printer within the budget */rest_budget = total_budget – pc_price;color = “true”;EXEC SQL OPEN cursor2 USING :rest_budget, :color;EXEC SQL FETCH cursor2 INTO :printer_model;if(NOT_FOUND) {EXEC SQL CLOSE CURSOR cursor2;color = “false”;EXEC SQL OPEN cursor2 USING :rest_budget, :color;if(NOT_FOUND)printf(“no printer found within the budget\n”);else { EXEC SQL FETCH cursor2 INTO :printer_model;printf(“printer model: %s\n”, printer_model);}}else {p rintf(“printer model: %s\n”, printer_model); }EXEC SQL CLOSE CURSOR cursor1;EXEC SQL CLOSE CURSOR cursor2;}(f) void lowerPrices(){ EXEC SQL BEGIN DECLARE SECTION;char SQLSTATE[6];EXEC SQL END DECLARE SECTION;EXEC SQL DECLARE PCCursor INSENSITIVE CURSOR FOR PC;EXEC SQL OPEN PCCursor;while(1){EXEC SQL FETCH FROM PCCursor;if(NO_MORE_TUPLES) break;EXEC SQL UPDATE PCSET price=price-100WHERE CURRENT OF PCCursor;}EXEC SQL CLOSE PCCursor;}7.1.3 void twoMoreExpensive(){EXEC SQL BEGIN DECLARE SECTION;char SQLSTATE[6],cd[5],cd1[5];int model, model1,speed, speed1, ram, ram1, price, price1;float hd, hd1;EXEC SQL END DECLARE SECTION;EXEC SQL DECLARE PCCursor SCROLL CURSOR FORSELECT * FROM PC ORDER BY speed, price;EXEC SQL OPEN PCCursor;while(1){EXEC SQL FETCH NEXT FROM PCCursorINTO:model, :speed, :ram, :hd,:cd,:price;if(NO_MORE_TUPLES) break;EXEC SQL FETCH RELATIVE +2 FROM PCCursorINTO :model1,speed1,:ram1,:hd1,:cd1,:price1;if(NO_MORE_TUPLES) break;if(speed==speed1)EXEC SQL FETCH RELATIVE -2 FROM PCCursorINTO :model1, :speed1, :ram1, :hd1, :cd1, :price1;printf(“model=%d, speed=%d, ram1=%d, cd1=%s, price=%d\n”,model1, speed1, ram1,hd1,cd1,price1);}EXEC SQL CLOSE PCCursor;}a) CREATE FUNCTION PresNetWorth(studioName CHAR[15]) RETURNS INTEGERDECLARE presNetWorth INT;BEGINSELECT netWorthINTO presNetWorthFROM Studio, MovieExecWHERE = studioName AND presC# = cert#;RETURN(presNetWorth);END;c) CREATE PROCEDURE twoLongest(IN studio CHAR(15),OUT longest VARCHAR(255),OUT second VARCHAR(255))DECLARE t VARCHAR(255);DECLARE i INT;DECLARE Not_Found CONDITION FOR SQLSTATE = '02000';DECLARE MovieCursor CURSOR FORSELECT title FROM Movies WHERE studioName = studioORDER BY length DESC;BEGINSET longest = NULL;SET second = NULL;OPEN MovieCursor;SET i = 0;mainLoop: WHILE (i < 2) DOFETCH MovieCursor INTO t;IF Not_Found THEN LEAVE mainLoop END IF;SET i = i + 1;END WHILE;CLOSE MovieCursor;END;d) CREATE PROCEDURE earliest120mMovie(IN star CHAR(30),OUT earliestYear INT)DECLARE Not_Found CONDITION FOR SQLSTATE = '02000';DECLARE MovieCursor CURSOR FORSELECT MIN(year) FROM MoviesWHERE length > 120 ANDtitle IN (SELECT movieTitle FROM StarsInWHERE starName = star);SET earliestYear = 0;OPEN MovieCursor;FETCH MovieCursor INTO earliestYear; CLOSE MovieCursor;END;。

相关文档
最新文档