软件技术基础数据库
02243计算机软件基础(一)

世界上第一台电子计算机ENIAC
诞生于1942年
18800个晶体 管
70000个电阻 器
18000个电容 器
重量30吨
耗电140千瓦 /h
5000次加法/s
第8页
Pentium IV(2000)
42,000,000个晶体管 时钟频率1.5GHz 运算速度为1700 MIPS (MIPS 代表‘百万指令
第 26 页
软件工程概念
软件工程是指导计算机软件开发和维护的工程学 科,采用工程的概念、原理、技术和方法来开发 与维护软件。
贯穿于这一学科的基本线索是软件生命期学说, 它告诉软件研制者和维护者“什么时候做什么以 及怎么做”。
软件生命期就象人的寿命一样,从出生算到死亡, 从产生开发要求算到软件报废为止。包括:软件 计划、需求分析、软件开发和软件维护四个时期。
汇编语言 为符号化的机器语言。它用助记 符和标识符代替机器指令的操作码和地址码。
高级语言 是一种与具体的计算机指令系统 无关,独立于计算机类型,而且表达方式接 近于自然语言或数学语言,容易被人们掌握 和书写的语言。如C,Pascal,java。
第 17 页
举例
任务:x+1→x 机器语言
00111110 00001001 00111111B 或 3E 09 3FH
3、硬件与软件的关系
软硬件独立原理和互动原理
独立原理:软件理论上能实现的功能本质上与 硬件是独立的(不管硬件是何种形式) 互动原理:软件实际能实现的功能受制于硬件, 硬件发展一个台阶,软件就能前进一大步
软硬件等效定律
简单的硬件+复杂的软件 简单的软件+复杂的硬件 最终都可以完成同一个任务,不同的只是时间!
软件技术知识基础-数据结构

栈
总结词
栈是一种后进先出(LIFO)的数据结构。
VS
详细描述
栈只允许在末尾进行插入和删除操作,通 常用于实现函数调用、括号匹配等功能。 栈的优点是插入和删除速度快,缺点是空 间利用率较低。
队列
总结词
队列是一种先进先出(FIFO)的数据结构。
详细描述
队列允许在一端进行插入操作,在另一端进 行删除操作,通常用于实现任务调度、缓冲 区处理等功能。队列的优点是空间利用率高, 缺点是插入和删除速度较慢。
软件技术知识基础-数 据结构
目 录
• 数据结构概述 • 线性数据结构 • 非线性数据结构 • 排序与查找 • 数据结构的应用
01
数据结构概述
数据结构的定义
数据结构:数据结构是计算机中组织数据的方式,它定义了数据元素之间的逻辑关系。数据结构是计算机存储、组织数据的 方式,它涉及到数据的逻辑结构、物理结构以及数据元素之间的关系。
感谢您的观看
04
排序与查找
排序算法
冒泡排序
通过重复地遍历待排序序列,比较相邻元素的大 小,交换位置,使得较大的元素逐渐往后移动, 最终达到排序的目的。
插入排序
将待排序元素插入到已排序序列中的适当位置, 使得插入后仍然保持有序,直到所有元素均插入 完毕。
选择排序
每次从未排序的元素中选取最小(或最大)的一 个元素,将其放在已排序序列的末尾,直到所有 元素均排序完毕。
快速排序
采用分治策略,通过一趟排序将待排序序列分割 成独立的两部分,其中一部分的所有元素均比另 一部分的元素要小,然后再按此方法对这两部分 继续进行排序,以达到整个序列有序。
查找算法
线性查找
二分查找
哈希查找
计算机系软件技术专业第一次技能考核_SQL数据库

软件技术专业数据库基础第一阶段技能考核试题班级______ 姓名________一、任务要求:东方公司为了提高员工专业及职业素质,准备建设一个小型图书馆,为了便于图书的管理,委托长春信息技术职业学院计算机系软件技术专业班级设计一个简易的图书管理系统,由各专业教师为项目经理。
项目经理通过对用户需要分析,决定将整个项目的开发开为:系统分析、系统设计、系统编码、系统测试、试运行、正式投入使用六个阶段。
本次考核内容为根据项目经理要求完成数据库设计:具体要求如下:1.创建图书管理数据库,数据库为由“DB_同学姓名”构成,数据库文件保存到D盘的databases目录下,数据文件初始大小为50MB,日志文件在数据文件的1/4。
(10分)2.为了方便图书管理员日常管理及用户查询,系统要求:(20分)2.1 图书要进行分类管理,如“市场营销”、“计算机”、“职业素质”、“专业技术”等;2.2 用户可能方便地查看图书的ISBN、书名、所属的类别、图书价格、现有库存量、出版社、出版时间、作者等信息,而且管理员还要知道什么时间添加的图书信息。
2.3 图书的各种类别是提前预定好的,以后每本图书都属于其种的一个类别。
3. 数据表创建结束后,要求同学们录入初始数据,其中类别表不少于5种,图书表中不少于6种图书,要求数据贴近真实。
(20分)4. 要求程序能够实现如下查询:(30分)4.1 查询所有书名中包含“数据库”文字的图书信息。
(5分)4.2请按价格从大到小的顺序显示所有的图书信息。
(5分)4.3请按价格在15至40元之间的所有图书,并按价格从大到小的顺序显示。
(5分)4.4 查询库存量低于5本的所有图书(5分)4.5 查询市场营销类图书册数。
(5分)4.6 查询2008年之后出版的图书。
(5分)5. 将图书的“计算机类”数据修改为“信息类”。
(5分)6. 将最后一本图书删除。
(5分)7. 扩展功能:(10分)用户希望能够记住每本图书借书、还书的相关信息,请同学位根据以上相关信息设计一个借阅表。
软件技术基础知识点

软件技术基础知识点在当今数字化的时代,软件技术已经成为推动社会发展和创新的关键力量。
无论是我们日常使用的手机应用,还是企业运行的复杂系统,都离不开软件技术的支持。
接下来,让我们一起探索软件技术的一些基础知识点。
一、数据结构数据结构是软件技术中非常重要的概念。
它是指相互之间存在一种或多种特定关系的数据元素的集合。
常见的数据结构包括数组、链表、栈、队列、树和图等。
数组是一种最简单的数据结构,它是一组相同类型的元素按顺序存储在连续的内存空间中。
数组的优点是访问元素的速度快,但插入和删除元素的效率较低。
链表则是通过指针将各个元素链接在一起,不需要连续的内存空间。
链表在插入和删除元素时较为方便,但访问元素的速度相对较慢。
栈是一种特殊的线性表,遵循“后进先出”的原则。
就像往一个桶里放东西,最后放进去的会最先被取出。
队列则遵循“先进先出”的原则,类似于排队买票,先到的先买。
树是一种分层的数据结构,常见的有二叉树、二叉搜索树等。
二叉搜索树可以快速地进行查找、插入和删除操作。
图则用于表示多对多的关系,在网络路由、社交网络分析等领域有广泛的应用。
二、算法算法是解决特定问题的一系列明确步骤。
好的算法应该具有正确性、可读性、健壮性、高效性和低存储量需求等特点。
常见的算法有排序算法,如冒泡排序、插入排序、选择排序、快速排序等。
冒泡排序通过不断比较相邻的元素并交换位置,将最大的元素逐步“浮”到数组的末尾。
快速排序则通过选择一个基准元素,将数组分为小于和大于基准元素的两部分,然后对这两部分分别进行排序。
搜索算法也是重要的算法之一,包括顺序搜索和二分搜索。
顺序搜索逐个检查元素,直到找到目标元素或遍历完整个数组。
二分搜索则是在有序数组中,通过不断将数组对半分割来查找目标元素,效率较高。
还有动态规划算法,用于解决具有重叠子问题和最优子结构性质的问题,如背包问题、最长公共子序列问题等。
三、编程语言编程语言是软件开发者与计算机进行交流的工具。
软件技术基础教学大纲-软件技术基础-瞿亮-清华大学出版社

《软件技术基础》教学大纲一、课程信息二、课程内容(一)课程教学目标通过本课程的学习,使学生了解计算机软件中的相关重要概念、软件技术的基础知识和方法,从而培养学生利用计算机解决问题的意识和能力,为计算机在专业应用中奠定基础。
为非计算机专业学生开设的一门关于计算机软件基础知识的综合性课程,以应用为目的,选择性地介绍数据结构、操作系统、软件工程、数据库技术和网络基础等部分内容,通过这些内容的学习,学生能对计算机软件系统有一个整体的认识和了解。
(二)基本教学内容1、计算机软件技术概述及C语言回顾;2、几种典型数据结构的逻辑结构和存储结构;3、算法的概念,二叉树及图的遍历方法,常用的查找和排序算法。
4、软件工程中的基本概念及生命周期法;5、操作系统中的基本概念及管理方法;6、数据库的基本知识,SQL语言。
7、计算机网络的主要结构和常识。
8.网络新技术(1)计算机软件技术概述及C语言回顾;教学目的与要求:了解软件技术的发展历程,常用软件的分类。
复习开发工具C语言中的相关知识。
教学重点:教材章节内容及开发工具C语言中的相关知识。
教学难点:C语言中指针的应用。
教学内容:软件的概念,历史及分类。
本教程各章节的主要内容及学习方法。
开发工具C语言中较难理解的指针,结构体等编程知识。
(2)数据结构教学目的与要求:理解数据结构的基本概念;理解线性表、栈、队列数据结构的基本概念,理解各线性数据结构的特点和存储结构,掌握基于不同的存储结构的相关操作的实现方法;理解树和图的基本概念,基本特点和存储结构,掌握二叉树的遍历算法的实现以及树和二叉树之间转换的方法;理解查找和排序的基本概念,掌握查找和排序的各三种基本方法和实现。
教学重点:线性表、堆栈、队列、树和图的逻辑结构表示;线性表、堆栈、队列、树和图的存储算法;线性表、堆栈、队列、树和图的插入和删除操作的算法。
教学难点:单链表的建立及操作算法;循环队列的工作原理、查找以及排序算法。
软件技术基础知识

软件技术基础知识第一章1、算法和算法的特点2、数据结构:指相互关联的数据元素的集合。
数据结构分为逻辑结构和物理结构。
逻辑结构:表示了数据的逻辑关系(前后件关系)。
按照逻辑关系的不同分为:线形结构和非线形结构。
物理结构:表示了数据在计算机上的存放形式,也称存储结构。
按照存放形式的不同分为:顺序存储和链式存储。
3、线形结构的条件:4、线形结构通常称之为线性表。
顺序存储的线性表称为顺序表,链式存储的线性表称为线性链表。
5、对与空的数据结构可以为线性结构也可以为非线性结构。
6、顺序表和线性链表的特点。
7、栈和队列的特点。
8、栈和队列可以采用顺序存储也可以采用链式存储。
9、双向链表和循环队列。
10、树和二叉树11、二叉树的基本性质①第k层最多具有的结点数。
②深度为k的二叉树最具有的结点数。
③任何二叉树对为0的结点数和度为2的结点数的关系。
12、满二叉树的特点。
13、完全二叉树的特点。
14、二叉树的遍历15、顺序查找适用的情况。
对长度为n的线形表进行顺序查找最坏的情况需要查找的次数。
16、二分法查找适用的情况。
对长度为n的线形表进行二分法查找最坏的情况需要查找的次数。
17、排序的分类。
交换类排序:冒泡排序法,最坏的情况需要比较的次数。
插入类排序法,堆排序法。
第二章1、编程的良好习惯要求:根据需要添加相应的注释,应该有良好的视觉组织,在完成功能的前提下,优先考虑可读性和清晰性,然后在考虑效率。
2、注释的分类:序言性注释和功能性注释。
3、结构化程序设计的原则。
4、结构化程序设计的基本结构。
5、对象是属性和行为的封装体。
6、对象的基本特点:标识唯一性,分类性,多态性,封装性,摸快独立性。
7、类和实例之间的关系。
类是具有共同属性和方法对象的集合,是关于对象的抽象,一个具体的对象则称之为类的一个实例。
8、消息。
9、继承、多态性。
第三章1、软件的定义及软件的特点软件是程序、数据及相关文档的集合。
特点:2、软件危机是开软件过程中所遇到的一系列的严重问题。
计算机软件技术的基础知识

2、 数据结构基础
●基本概念和术语
(2)数据元素 (data
(1)数据(data): element): 是数据的
是客观事物的符号表示, 基本单位。有些情况下,
它能够被计算机识别、 储存和加工处理。它是
数据元素又称为元素、 结点(node)、记录 (record)。有时,一
计算机程序加工处理的 个元素可由若干数据项
e.排序操作:按给定要求对表中元素重新排 列。
并非任何时候都需要同时执行以上运算,对 于不同问题中的线性表,所需要执行的运算可能 不同。一般给出一组基本的运算,对于实际问题 中所涉及的更为复杂的运算,可以用基本运算的 组合来实现。
(3)线性表的存储结构
线性表的存储结构有两种:顺序存储结构和
链式存储结构。
…
L24
图3-2 链式存储结构示意图
结点1 结点2
结点3
结点4 结点5
由图3-2可见,数据元素之间的逻辑关系 是用指针来链接的。对于每个数据元素,除 了元素值以外,还有一个指针(或链)用来 指示另一个数据元素的地址。我们将这个由 数据元素的值和指针组成的总体称为结点, 表示一个数据元素。链表中各结点的位置在 内存中是任意的,通过指针将它们联系起来。 逻辑上最后的结点指针不指向任何地方,常 用“∧”表示。
如图3-2所示。
3-1所示。
由图3-1可知顺序结 构存储有以下特点:
A.存储结构的存储 密度大,存储空间利用 率高。
B.能够快速、随时 访问其中任意元素。
C.对该表进行插入 或删除操作时,为保证 线性表的连续性,则会 引起大量数据元素的移 动。
D.存储容量不宜扩 充。
……
…… ……
元素地址 内存状态 L1 元素1
北航计算机软件技术基础实验报告实验报告4-2——数据库应用系统的开发

实验报告
实验名称数据库应用系统的开发
班级
学号
姓名
成绩
【实验方案设计】
1. 利用Visual Basic里的VB Application Wizard按照步骤逐步创建一个窗体应用程序,并链接到上一实验创建的数据库中,同时添加各种操作按钮,如插入、删除、更改等,最后将数据库的每个表视图集合到主视图中
【实验过程】(实验步骤、记录、数据、分析)
1.选择数据来源种类
2.选择数据库文件并做链接
3.选择数据视图布局,此处选择网格式布局,便于查看全部数据
4.选择一个表及要添加的字段和排列顺序
5.选择对数据可进行的操作按钮,如添加、更改、删除、更新、关闭等
6.添加完一个表后,继续添加其他表,直到整个数据库所有表已添加
7.添加完成后界面
8.通过链接到ACCESS数据库的VB数据库管理程序查看每个表数据,并进行数据增加、删除、修改等操作
9.在数据库管理系统中对数据进行增加操作,此处增加一条订单ID为151112的记录,可以看到在ACCESS中的数据表进行了同步增加。
这样就可以达到不打开ACCESS而只通过一个单界面应用程序就实现对数据库的维护工作,具有简单性、高效性的特点。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验五数据库建立一、实验目的1.熟练掌握用SQL语句实现基本表的创建。
2.熟练掌握用SQL语句实现数据插入、数据更新和数据查询。
3.熟练掌握用SQL语句实现数据的简单查询和连接查询。
二、实验环境SQL Server2000三、预习要求SQL Server2000的查询分析器和企业管理器的使用,SQL数据定义和数据操纵语言。
四、实验内容(一)用SQL语句建立如下mySPJ数据库,包括S,P,J,和SPJ四个基本表(四张表的数据另给),要求实现关系的三类完整性。
S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY)供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成。
零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成。
工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成。
供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。
(二)分别使用插入、删除、修改的方式更新基本表中的数据。
五、实验方法和步骤(一)使用Microsoft SQL Server企业管理器和查询分析器建立数据库mySPJ:1.打开“开始->程序->Microsoft SQL Server->企业管理器”;2.在企业管理器左边的树标签中依次打开“Microsoft SQL Server-> SQL Server组->(local)(Windows NT)->数据库”,(local)(Windows NT)前的红色标记转化为绿色标记表明NT服务已启动;3.从企业管理器的“工具”菜单中选择“SQL 查询分析器”,打开查询分析器后,在其窗口书写创建数据库mySPJ的SQL语句,点击执行按钮(或F5键)执行该SQL语句;4.在企业管理器左边的树标签中查看数据库是否建立成功。
(二)在数据库mySPJ中建立S,P,J,和SPJ四个基本表:按照实验内容给出的基本表结构在查询分析器窗口中书写SQL语句分别建立各表,并设置主键和外键约束;1.创建表SCREATE TABLE S(SNO CHAR(3) PRIMARY KEY NOT NULL,SNAME V ARCHAR(20) NOT NULL,STATUS INT NOT NULL,CITY CHAR(10) NOT NULL,)2.创建表PCREATE TABLE P(PNO CHAR(3) PRIMARY KEY NOT NULL,PNAME V ARCHAR(20) NOT NULL,COLOR CHAR(10) NOT NULL,WEIGHT CHAR(10) NOT NULL,)3.创建表JCREATE TABLE J(SNO CHAR(3) PRIMARY KEY NOT NULL,SNAME V ARCHAR(20) NOT NULL,STATUS INT NOT NULL,CITY CHAR(10) NOT NULL,)4.创建表SPJCREATE TABLE SPJ(SNO CHAR(3) NOT NULL,PNO CHAR(3) NOT NULL,JNO CHAR(3) NOT NULL,QTY CHAR(10) NOT NULL,PRIMARY KEY(SNO,PNO,JNO),FOREIGN KEY (SNO)REFERENCES S(SNO),FOREIGN KEY (PNO)REFERENCES P(PNO),FOREIGN KEY (JNO)REFERENCES J(JNO),)(三)更新表数据:1.利用Insert 语句将习题中给出的示例记录插入各表。
例如:在表spj中插入例表中的第一行,语句为:INSERT INTO SPJV ALUES('S1','P1','J1','200');其他记录插入方法与此相似。
2.利用Update更新表中的记录:1.将p表中的所有红色零件的重量增加5。
Sql语句:UPDATE PSET WEIGHT=WEIGHT+5WHERE COLOR='红';2.将spj表中所有天津供应商的QTY属性值减少10。
用子查询。
UPDATE SPJSET QTY=QTY-10WHERE SNO in(SELECT SNOFROM S2WHERE CITY='天津');3.利用Delete语句删除p表中的所有红色零件的记录。
答:DETELEFROM PWHERE COLOR='红';4.SQL语句执行后返回基本表查看更新后的结果,如果与期望不符,分析原因并记录在实验报告中。
六、思考题如何用SQL语句实现关系的三类完整性?答:三类完整性是指:实体完整性、参照完整性、与完整性。
实体完整性,是对主键的约束,是指元组在组成主键的属性上不能有空值,主键是区分实体的唯一性标识,因此不能为空。
参照完整性(引用完整性):这是外键的约束,不允许引用不存在的元组。
外键与关系的主键相对应,外键或者取空值,或者取参照关系中的主键值。
参照完整性用于保证关系的有效性,并保证在输入、编辑或删除数据时数据库是完整的。
用户定义完整性(域完整性):是针对某一具体关系数据库的约束条件。
它反映某一具体应用所涉及的数据必须满足的语义要求。
七、实验中出现的问题及解决法案1、当创建表的时候,用过primary key之后,该列就不能有重复的输入。
这违背了实体完整性;2、用NOT NULL限制的属性,就不能为空,必须有输入;3、Spj表中的pno、jno、sno不能出现s、p、j中没有的记录,因为有外键的约束。
Spj表必须参照s、p、j三个表创建。
八、实验总结通过这次试验,首先我熟悉了server2000的工作环境,了解了数据库的基本知识,如:分离数据库、附加数据库。
学会了手工创建表和用sql语句创建表,也学会了sql语句实现数据插入、数据更新。
实验六数据库查询一、实验目的1.熟练掌握用SQL语句实现视图操作。
2.理解触发器的含义,并初步掌握用SQL语句实现触发器的编写。
3.理解存储过程的含义,并初步掌握用SQL语句实现存储过程的编写。
二、实验环境SQL Server2000三、预习要求SQL Server2000的查询分析器和企业管理器的使用,存储过程和触发器的含义。
四、实验内容(一)完成下面的简单查询:①查询所有“天津”的供应商明细;②查询所有“红色”的14公斤以上的零件。
③查询工程名称中含有“厂”字的工程明细。
(二)完成下面的连接查询:①等值连接:求s表和j表的相同城市的等值连接。
②自然连接:查询所有的供应明细,要求显示供应商、零件和工程的名称,并按照供应、工程、零件排序。
③笛卡尔积:求s和p表的笛卡尔积④左连接:求j表和spj表的左连接。
⑤右连接:求spj表和j表的右连接。
(三)分组查询:1.求各种颜色零件的平均重量。
2.求北京供应商和天津供应商的总个数。
3.求各供应商供应的零件总数。
4.求各供应商供应给各工程的零件总数。
5.求使用了100个以上P1零件的工程名称。
6.求各工程使用的各城市供应的零件总数。
(四)嵌套查询:1.in连接谓词查询:①查询没有使用天津供应商供应的红色零件的工程名称。
②查询供应了1000个以上零件的供应商名称。
(having)2.比较运算符:求重量大于所有零件平均重量的零件名称。
五、实验方法和步骤参照实验五中给出的使用Microsoft SQL Server企业管理器和SQL查询分析器的方法,将实验内容中所要求的查询项目依次用SQL语句实现,并记录下执行结果。
源程序:/*查询所有“天津”的供应商明细*/select *from Swhere city='天津'/*查询所有“红色”的14公斤以上的零件*/select pnamefrom Pwhere color='红' and weight>=14/*查询工程名称中含有“厂”字的工程明细*/select *from Jwhere jname like '%厂'/*等值连接:求S表和J表的相同城市的等值连接*/select *from S,Jwhere J.city=S.city/*自然连接:查询所有的供应明细,要求显示供应商、零件和工程的名称,并按照供应、工程、零件排序*/select sname,pname,jnamefrom S,J,P,SPJwhere S.sno=SPJ.sno and J.jno=SPJ.jno and P.pno=SPJ.pnoorder by sname,jname,pname/*笛卡尔积:求S表和J表的笛卡尔积*/select *from S,P/*左连接:求J表和SPJ表的左连接*/ select J.jno,jname,city,sno,pno,qty from J,SPJwhere J.jno*=SPJ.jno;/*右连接:求J表和SPJ表的右连接*/ select J.jno,jname,city,sno,pno,qty from J,SPJwhere J.jno=*SPJ.jno;/*求各种零件的平均重量*/select color,avg(weight)from Pgroup by color;/*求北京供应商和天津供应商的总个数*/ select city,count(sno)总个数from Sgroup by cityhaving city='北京' or city='天津';/*求各供应商供应的零件总数*/select sname,sum(qty)总数from S,SPJwhere S.sno=SPJ.snogroup by sname/*求各供应商供应给各工程的零件总数*/ select sname,jname,sum(qty)总数from S,J,SPJwhere S.sno=SPJ.sno and J.jno=SPJ.jno group by sname,jname/*求供应给各工程的零件p1总数*/select jname,sum(qty)总数from S,J,SPJwhere S.sno=SPJ.sno and J.jno=SPJ.jno and pno='p1' group by jname/*求使用了100个以上P1零件的工程名称*/select jnamefrom J,SPJwhere J.jno=SPJ.jno and pno='p1'group by jnamehaving sum(qty)>=100;/*求各工程使用的各城市供应的零件总数*/select jname,S.city,sum(qty)总数from S,J,SPJwhere S.sno=SPJ.sno and J.jno=SPJ.jnogroup by jname,S.city/*查询没有使用天津供应商供应的红色零件的工程名称*/ select jnamefrom Jwhere jno in(select jnofrom SPJwhere pno in(select pnofrom Pwhere color!='红')and sno in(select snofrom Swhere city!='天津'))/*查询供应了1000个以上零件的供应厂商名*/select snamefrom Swhere sno in(select snofrom SPJgroup by snohaving sum(qty)>=1000)/*比较运算符:求重量大于所有零件平均重量的零件名称*/select pnamefrom Pwhere weight >=(select avg(weight)from P)六、思考题如何通过系统的设置实现类似的功能,而不需触发器?答:通过设置外键约束,并设置级联删除,可以不用触发器。