火车票系统数据库设计
- 格式:doc
- 大小:3.97 MB
- 文档页数:33
数据库课程设计报告 -------火车售票管理信息系统软件学院软件工程2013级x班姓名: xx学号:2013xxxxxxxx目录一、系统开发平台 (1)四、需求分析 (2)4.1 用户需求说明 (2)4.1.1 数据需求 (2)4.1.2 事务需求 (3)4.2 系统需求说明 (4)五、数据库逻辑设计 (4)5.1 ER图 (4)5.2 数据字典 (5)5.3 关系表 (7)六、数据库物理设计 (7)6.1 索引 (7)6.2 视图本节可选 (8)6.3 安全机制 (8)七、应用程序设计 (8)7.1 功能模块 (8)7.2 界面设计 (15)7.3 事务设计 (15)八、测试和运行 (16)九、总结 (16)一、系统开发平台题目:对火车站的售票进行管理。
主要功能:车次管理(车次、起止地点、到达时间、开车时间)、每一车次的车票管理(车厢号、座位号)、售票、退票、查询、异常处理。
开发工具:eclipse数据库:mysql操作系统:windows8.1二、数据库规划2.1 任务陈述:做一个火车票售票管理系统:对火车站的售票进行管理。
主要功能:车次管理(车次、起止地点、到达时间、开车时间)、每一车次的车票管理(车厢号、座位号)、售票、退票、查询、异常处理。
2.2 任务目标完成一个火车票售票管理系统,要实现管理员对车票的增添以及删改功能,同时需要实现用户对车票的查询购买,以及出现调整之后的退票服务。
三、系统定义3.1 系统边界管理员:可以对车票以及车次进行删改操作。
用户:可以买票,但是不可以对火车票进行添加操作3.2 用户视图3.2.1 管理员视图(1)列车管理:包括列车的录入、查询、修改和删除。
(2)用户管理:包括系统使用用户的添加、查询、修改、删除等。
在线支付用户身份信息用户注册车次设置管理员车次信息录入用户信息管理票务系统车站实际情况(3)系统数据处理:数据查询,根据关键字过滤,查看当前车次信息,车票信息,用户信息以及处理历史。
火车票网上购票管理系统数据库系统分析与设计一、数据库需求分析1.用户需求:-用户可以通过系统注册和登录账号。
-用户可以查询火车班次及票价信息。
-用户可以选择购买火车票,并完成支付。
-用户可以查看已购买的火车票信息。
2.管理员需求:-管理员可以添加、修改和删除火车班次信息。
-管理员可以查询用户购票信息。
3.系统需求:-系统需要存储用户账号和密码信息。
-系统需要存储火车班次信息,包括班次号、起始站、终点站、出发时间、到达时间、票价等。
-系统需要存储用户购票信息,包括用户ID、班次号、座位号、购票时间等。
二、数据库设计根据以上需求,可以设计以下数据库表结构:1. 用户表(User)- 用户ID(UserID,主键)- 用户名(Username)- 密码(Password)2. 火车班次表(Train)- 班次号(TrainID,主键)- 起始站(StartStation)- 终点站(EndStation)- 出发时间(DepartureTime)- 到达时间(ArrivalTime)- 票价(Price)3. 火车票表(Ticket)- 票号(TicketID,主键)- 用户ID(UserID,外键,关联User表的UserID)- 班次号(TrainID,外键,关联Train表的TrainID) - 座位号(SeatNumber)- 购票时间(PurchaseTime)三、系统架构设计根据数据库设计,可以初步设计系统架构如下:1.前端页面:包括注册、登录、查询火车班次、购票、查看订单等页面。
2.后端服务:实现用户注册、登录、查询火车班次、购票、查看订单等功能,调用数据库进行数据操作。
3.数据库:存储用户信息、火车班次信息、订单信息等数据。
四、数据库操作根据数据库设计,可以设计以下数据库操作:1.用户相关操作:- 用户注册:向User表中插入新的用户信息。
- 用户登录:查询User表中的用户名和密码信息进行验证。
基于UML火车票网上售票系统的设计火车票网上售票系统是一个基于UML(统一建模语言)的设计,用于方便用户在网上购买火车票。
下面将从系统需求、用例建模、类图设计和时序图设计等方面进行阐述。
1.系统需求规定:1.1用户注册登录:用户可以通过注册账号进行登录1.2查询车次信息:用户可以根据出发地、目的地和日期等条件查询火车票信息1.3购买车票:用户可以选择火车票并进行购买1.4订单管理:用户可以查看已购买的火车票订单,并进行管理1.5确认支付:用户需要确认订单并支付购买的火车票1.6退改签:用户可以选择进行火车票的退改签操作1.7管理员功能:管理员可以对系统进行管理,如添加车次信息、删除车次信息等2.用例建模:2.1用户注册登录用例:-用户输入账号和密码进行注册-用户输入账号和密码进行登录2.2查询车次信息用例:-用户输入出发地、目的地和日期等条件进行查询-用户查看查询结果2.3购买车票用例:-用户选择火车票并添加到购物车-用户确认购买并进行支付2.4订单管理用例:-用户查看已购买的火车票订单列表-用户选择订单进行管理,如退改签操作等2.5退改签用例:-用户选择订单进行退改签操作-用户支付差价(如有)2.6管理员功能用例:-管理员添加车次信息-管理员删除车次信息3.类图设计:3.1 用户类(User):-属性:账号、密码、订单列表-方法:注册、登录、查询车次信息、购买车票、订单管理、退改签3.2 车次信息类(TrainInfo):-属性:车次号、出发地、目的地、日期、余票数量-方法:查询车次信息3.3 火车票类(Ticket):-属性:车次号、座位号、购买用户、购买日期、价格-方法:购买、退票、改签3.4 订单类(Order):-属性:订单号、购票用户、购买日期、车票列表-方法:支付、取消3.5 管理员类(Admin):-属性:账号、密码-方法:添加车次信息、删除车次信息4.时序图设计:-用户查询车次信息时序图:用户->系统:输入出发地、目的地和日期等条件系统->数据库:查询车次信息数据库->系统:返回查询结果系统->用户:显示查询结果-用户购买车票时序图:用户->系统:选择火车票进行购买系统->数据库:扣减余票数量数据库->系统:返回购买结果系统->用户:显示购买结果用户->系统:确认支付系统->用户:生成订单并显示支付结果通过上述的需求规定、用例建模、类图设计和时序图设计,可以实现一个基于UML的火车票网上售票系统,方便用户进行火车票的查询、购买和管理,同时还提供了管理员功能以便对系统进行管理。
火车票系统程序设计报告1. 引言本报告旨在介绍一个火车票系统的程序设计,该系统旨在提供用户购买火车票、查询车次信息等功能。
通过该系统,用户可以方便地预订、查询以及管理火车票信息,提高购票交通效率。
2. 功能需求火车票系统的主要功能需求如下:1. 用户注册和登录:用户可以通过注册账号和密码进行登录,以使用系统的各项功能。
2. 车次查询:用户可以根据出发地、目的地、时间等条件查询所有符合要求的车次信息。
3. 车票预订:用户可以预订特定车次的车票,并提供相应的座位选择。
4. 车票退订:用户可以取消已预订的车票。
5. 车票管理:管理员可查看所有车次信息及相应座位的预订情况,并进行车次和座位管理。
3. 系统设计3.1 数据库设计为了支持所需的功能,我们需要设计一个数据库来存储用户、车次和车票信息。
数据库的设计如下:- 用户表(User):存储用户的账号、密码、邮箱等信息。
- 车次表(Train):存储车次的出发地、目的地、时间、座位数量等信息。
- 车票表(Ticket):存储用户预订的车票信息,包括车次、座位等。
3.2 系统架构火车票系统的主要架构如下:- 用户界面:提供用户注册、登录、车次查询、车票预订和退订等功能的界面。
- 功能模块:实现用户管理、车次管理、车票管理等功能的模块。
- 数据库模块:实现与数据库的连接和数据存取的功能模块。
3.3 系统流程以下是火车票系统的主要流程:1. 用户注册:用户通过输入注册信息和密码进行账号注册。
2. 用户登录:用户输入账号和密码进行登录。
3. 车次查询:用户选择出发地、目的地、时间等条件进行车次查询。
4. 车票预订:用户选择特定车次和座位,并确认预订。
5. 车票退订:用户选择已预订的车票进行退订。
6. 管理员功能:管理员可以查看车次信息和座位情况,并进行相应管理操作。
4. 技术实现4.1 前端技术前端部分可以使用HTML、CSS和JavaScript来实现用户界面的设计和交互操作,使用AJAX技术与后端进行数据交互。
火车票数据库设计sql -回复火车票数据库设计是指为了方便管理和查询火车票信息而创建的数据库结构。
通过建立适当的数据表、索引、触发器和约束,可以实现对火车票数据的增删改查操作,并提供高效的数据检索和统计功能。
本文将一步一步针对火车票数据库设计进行详细讲解,包括数据库设计原则、数据表设计、索引设计、触发器设计和约束设计等方面。
二、数据库设计原则1. 数据范式化:遵循范式化设计原则,将数据分解为具有一定独立性的关系模式,消除重复数据,提高数据的一致性和可维护性。
2. 合理划分数据表:根据业务需求和数据关联性进行数据表的划分,保证每个数据表具有清晰的含义和明确的功能。
3. 设计合适的索引:根据数据表的查询需求,设计合适的索引以提高查询效率。
4. 使用触发器和存储过程:通过触发器和存储过程实现一些复杂的业务逻辑和数据完整性的约束。
5. 合理选择字段类型和长度:根据实际需求选择合适的字段类型和长度,避免过度浪费存储空间。
三、数据表设计根据火车票的相关信息,可以将数据库划分为以下几个数据表:1. 火车站表(station):存储火车站基本信息,包括站点名称、站点编号和所在城市等字段。
2. 火车表(train):存储火车信息,包括列车编号、列车类型、列车始发站和列车终点站等字段。
3. 乘客表(passenger):存储乘客基本信息,包括乘客姓名、乘客证件类型、乘客证件号码等字段。
4. 票务表(ticket):存储火车票基本信息,包括车票编号、乘客编号、列车编号、出发站、到达站、出发时间、到达时间和车票价格等字段。
四、索引设计为了提高查询效率,可以在数据表的关键字段上创建索引。
对于上述数据表,可以在下列字段上创建索引:1. 火车站表(station):根据站点名称和城市字段创建索引。
2. 火车表(train):根据列车编号和列车始发站字段创建索引。
3. 乘客表(passenger):根据乘客证件类型和乘客证件号码字段创建索引。
数据结构与算法课程实验报告课程设计一:火车售票系统设计及实现姓名:cll班级:学号:一、实验内容:火车售票系统在现实中的应用已经非常普遍,目前通常使用可视化的方法实现,例如采用C/S模式下的程序设计或者采用B/S模式下的程序设计,通常都具有较为友好的界面和较为完善的功能。
火车售票系统的实现过程中,主要涉及到数据格式的设计,也就是数据结构的设计。
通常在采用数据库的情况下,可以运用数据库的设计来实现。
在没有采用数据库情况下需要,单独设计相应数据结构和算法。
二、实验目的:按给定需求,通过查找相关资料,完成火车售票系统设计及实现,在设计过程中充分运用数据结构与算法课程中所学知识,从而熟练地掌握和应用线性表、单链表等重要数据结构和常用算法。
提前熟悉软件需求分析,软件测试等环节,运用相应程序设计语言实现该系统,从而进一步提高程序设计能力。
三、问题描述(1)此系统可以实现售票、退票、车票剩余情况查询等功能。
(2)每张车票包含车次、座位信息。
在售票、退票、查询剩余票等环节中,都必须显示出车票的信息,即车次、座位情况。
(3)退票时,必须是车站售出的车票才能退,否则视为无效票,不能退票。
(4)演示程序以用户和计算机的对话方式进行,即在计算机终端上显示“提示信息”之后,由用户在键盘上输入程序中规定的运算命令;相应的输入数据(滤去输入中的非法字符)和运算结果显示在后。
(5)由订票系统的主要功能使程序的命令包括:1)查询;2)订票;3)退票4)退出订票系统四、问题的实现4.1所用的数据结构(包括所用数据结构的抽象数据类型定义和说明)typedef struct LNode{//数据域char name[10];//订票姓名int dnum;//订票数量char dj[50];//证件编号int zhekou; //1代表折扣对象float pay;//付费struct LNode *next;//指针域int zuohao[200];}LNode,*LinkList;//构造单链表(已订票)typedef struct Tickets{char *endname;//终点站名char *hnum;//车次名int fnum;//票价float discut;//折扣int day;//日期int wholenum;//总票额int lastnum;//余票量int tuipiao[100]; //退票处理,记录退票的座位号int tpcs;//记录目前退票次数int mcps;//记录卖出去的票数(包括退票)LinkList la;//已订票链表}Tickets;//构造结构类型(火车票)typedef struct{struct Tickets *elem;//存储空间的基址int length;int listsize;//当前分配的存储容量(以sizeof(Tickets)为单位)}SqList;//构造顺序表4.2主要实现思路1、火车站的火车票采用顺序表表示。
数据库系统设计题目:12306网上车票订票系统院(系)计算机与信息工程学院专业信息工程小组成员唐玺孜韩晓璇马博渊申翎杨兹浓2014年7月12306网上车票订票系统一、需求分析与设计目标根据市场调研分析用户的需求,根据实际需求设计订票系统的功能,实现网上订票的方便性、快捷性、完善性,并划分系统的逻辑功能模块。
火车票的购买途径主要有车站购买、代售点出售等形式,购买的地方以及时间受到限制,无法给乘客带来便利。
列车时刻表十分复杂,即便是买上一本列车时刻表,也不方便查询自己的乘车路线,而且由于列车时刻的变动性,所以够买不是很方便,因此系统要满足以下需求:●乘客输入车次或出行的出发站或终点站,可查询车次信息,从而选择自己的乘车区间以及车次;●通过简单查询和复杂查询来查看服务相关信息,管理员可以对用户角色设置以及角色的添加与修改;●信息的添加、管理、删除、修改;●对用户订票信息的办理。
网络车票订购系统实现的最终目标是让客户能轻松的,高效的购得一张自己满意的车票,车票的信息包括出发/到达时间、票额、座位、出发地/目的地等。
因此,在实现网上交易的过程中要涉及到网站(用户订票的渠道),票点(车票的打印和处理)等子系统。
本设计要实现以下设计目标:◆实现会员购票制,即所有通过本订票系统订票的旅客都必须首先注册为会员,以便于系统管理;◆提供会员注册、登录、修改注册信息等功能;◆建立车次信息查询模块,可以通过指定车次号码,或发站到站查询需求的车次的详细信息;◆建立完善的订票流程,订票流程是订票系统的关键部分,本系统通过需求分析建立一套独特的订票流程,其方便性、快捷性、完善性使得本售票流程区别于其他订票流程;◆选择出发日期与车次,当日期与车次信息确定时,相关信息可自动呈现给客户以供选择,避免不实信息对客户的影响,并输入订购票券的张数;生成取票号码,系统为每一张订单生成一个唯一的交易代码,用户通过交易代码到联网票点取票;◆建立订单查询模块,每个订票会员客户能够通过订单查询来察看自己的订票历史;◆交易尚未结束(未取票)的订票记录可以采取网上退订等功能,取得实物车票的客户可以持己购票券车站退换。
铁路客车售票系统数据库设计铁路客车售票系统是现代化铁路运输的重要组成部分,其数据库设计对信息的准确性、可靠性和高效性具有至关重要的作用。
为此,本文将围绕铁路客车售票系统的数据库设计进行详细的阐述。
一、概述铁路客车售票系统数据库设计是铁路客车售票系统整个信息流程的关键节点之一。
其系统需要记录旅客信息、车次信息、车站信息、票价信息等多个方面信息,为用户提供便捷准确的购票服务。
具体而言,铁路客车售票系统的数据库设计包括如下几个方面:1、车站、车次、用车、列车等基础数据的采集、维护和管理;2、客票相关数据的采集、维护和管理;3、乘客相关数据的采集、维护和管理;4、票价、优惠、保险等相关数据的采集、维护和管理。
二、数据库设计1、车站、车次、用车、列车等基础数据这部分数据是整个铁路客车售票系统的基础,也是铁路客车售票系统顺畅运行的基础。
在该部分数据中,车站数据、车次数据、用车数据和列车数据是核心和重点。
在数据库设计时需要考虑以下几个方面:a、数据的采集需要有专门的人员在每个车站进行数据采集,包括车站名称、车站地址、车站联系信息等;通过数据接口连接铁路总公司,获取车次数据、列车数据、用车数据等;每个省份、地区交通部门都会提供各自的铁路票务数据。
b、数据的建立数据的建立需要考虑数据的完整性、准确性、唯一性和规范性。
建立车站、车次、用车、列车等数据需要对各种情况作出相应的处理和验证,确保数据的正确性和稳定性。
c、数据的修改在数据建立之后,还需要对数据进行修改,包括车站、车次、用车、列车等的信息变动,需要及时更新到数据库中,确保数据的时效性和准确性。
2、客票相关数据客票数据是铁路客车售票系统的核心数据,也是铁路客车售票系统为用户提供便捷准确的购票服务的关键。
在该部分数据中,包括客票信息、客票出票数据、客票使用数据等。
在数据库设计时需要考虑以下几个方面:a、数据的采集需要对数据源进行接入,包括各大售票窗口、代售点、网站等售票数据。
软件课程设计--C语言设计火车票订票系统之源代码(模拟数据库功能)(需求分析+可行性分析)设计题目:火车订票系统小组成员:指导教师:完成时间:一.需求设计:1.每条线路所涉及的信息有:起点、终点、站名、车次、、票价、时间、座位号。
2.作为示意系统,全部数据可以只放在内存中。
3.系统能实现的功能和操作如下:①.查询路线:根据旅客提出的终点站名输入下列信息:车次、车站名。
②.承办订票业务:根据客户提出的要求查询该车次票额的情况,若尚有余票,则为客户办理订票手续,输出座位号;若已满员或余票额少于订票额,则需重新查询客户要求,若需要可登记排队候补。
③.承办退票业务:根据客户提供的情况(车次、时间、座位号)为客户办理退票手续,然后查询该车次是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其他排队候补的客户。
④登记旅客情况:包括旅客姓名,性别,年龄,家庭住址,联系方式等。
⑤统计功能:将每次车的订票,退票结果统计出来。
⑥管理功能:列车管理员可以通过调用函数来查看车票极其用户情况.⑦.查询功能:用户可以查询自己需要的车辆信息.二.总体设计1.程序流程图:按2键按3键按4键进入in函数进入book函数进入inquire函数进入cancel函数按5键进入you函数2.总体设计说明:①.数据结构设计:程序=数据结构+算法,一个好的程序必定有一个好的数据结构.本设计主要考虑车票信息和用户信息的数据结构.车票信息采用半十字链表.横向链表中的每一个结点包含以下内容:车次,起始站,发车时间,指向下一个结点的指针,指向中途站的指针.纵向链表中每一个结点包含以下内容:从始发站开始的依次到站,票价,到达时间,是否已被购买标识,才用mark标识,当mark为1时车票已售出,当mark为0时车票还未售出.以及指向下一个结点的指针.纵向链表采用循环链表,尾指针指向首指针.未购票用户信息使用队列来保存,因为考虑到用户会预订票,所以把用户以来订票的时间早晚排在队中.先来先买,后来后买.队列中的每个元素包含以下内容:用户姓名,身份证号码,想要购票的车次,起始站,要到的站,时间.已经购票用户信息使用一个单链表来保存,链表中的没个结点包含以下内容:用户姓名,身份证号码,已购车票的车次,出发时间,到达时间.车票信息链表示意图:车次起始站发车时间downnnext到站时间票价marknext座位号未购票用户信息队列:用户姓名购票的车次起始站要到的站达到时间用户姓名购票的车次起始站要到的站达到时间注:座位号包含在车次号中已购票用户信息链表示意图: 用户姓名身份证号码已购车票的车次号出发时间到达时间注:座位号包含在车次号中②算法的设计:主函数:利用case语句实现用户界面,用户输入需要的服务的数字代码,程序就会转到相应的函数,实现相应的功能。
课内实验报告课程名:数据库系统概论任课教师:徐润森专业:信息工程学号:000000000姓名:woon11二○一一至二○一二年度第 1 学期南京邮电大学经济与管理学院《数据库原理与应用》课程实验第 1 次实验报告实验内容及基本要求:实验项目名称:SQL语言的使用实验类型:验证每组人数: 1实验内容及要求:在数据库环境SQL SERVER或ORACLE中了解SQL的概念、语法和使用方法,熟练使用SQL进行建立数据库、表、索引、视图,及进行查询和更新等操作。
实验结果:P75 3.用SQL语句建立第二章习题5中的4个表。
习题5,设有一个SPJ数据库,包括S、P、J、SPJ4个关系模式分别建立4个表1、S(SNO,SNAME,STA TUS,CITY);2、P(PNO,PNAME,COLOR,WEIGHT);3、J(JNO,JNAME,CITY);4、SPJ(SNO,PNO,JNO,QTY);CREATE TABLE S 在Oraclette中运行(SNO CHAR(3) PRIMARY KEY,SNAME CHAR(10),STATUS CHAR(2),CITY CHAR(10)); //创建表SCREATE TABLE P(PNO CHAR(3) PRIMARY KEY,PNAME CHAR(10),COLOR CHAR(4),WEIGHT SMALLINT); //创建表PCREATE TABLE J(JNO CHAR(3) PRIMARY KEY,JNAME CHAR(10),CITY CHAR(10)); //创建表JCREATE TABLE SPJ(SNO CHAR(3),PNO CHAR(3),JNO CHAR(3), //创建表SPJQTY INT,PRIMARY KEY(SNO,PNO,JNO),FOREIGN KEY(SNO) REFERENCES S(SNO),FOREIGN KEY(PNO) REFERENCES P(PNO),FOREIGN KEY(JNO) REFERENCES J(JNO));4.针对上题中建立的4个表,试用SQL完成第二章习题5的查询对于表SINSERTINTO S(SNO,SNAME,STATUS,CITY)V ALUES('S1','精益','20','天津');INSERTINTO S(SNO,SNAME,STATUS,CITY)V ALUES('S2','盛锡','10','北京');INSERTINTO S(SNO,SNAME,STATUS,CITY)V ALUES('S3','东方红','30','北京');INSERTINTO S(SNO,SNAME,STATUS,CITY)V ALUES('S4','丰泰盛','20','天津');INSERTINTO S(SNO,SNAME,STATUS,CITY)V ALUES('S5','为民','30','上海');对于表PINSERTINTO P(PNO,PNAME,COLOR,WEIGHT)V ALUES('P1','螺母','红','12');INSERTINTO P(PNO,PNAME,COLOR,WEIGHT)V ALUES('P2','螺栓','绿','17');INSERTINTO P(PNO,PNAME,COLOR,WEIGHT)V ALUES('P3','螺丝刀','蓝','14');INSERTINTO P(PNO,PNAME,COLOR,WEIGHT)V ALUES('P4','螺丝刀','红','14');INSERTINTO P(PNO,PNAME,COLOR,WEIGHT)V ALUES('P5','凸轮','蓝','40');INSERTINTO P(PNO,PNAME,COLOR,WEIGHT)V ALUES('P6','齿轮','红','30');对于表JINSERTINTO J(JNO,JNAME,CITY)V ALUES('J1','三建','北京'); INSERTINTO J(JNO,JNAME,CITY)V ALUES('J2','一汽','长春'); INSERTINTO J(JNO,JNAME,CITY)V ALUES('J3','弹簧厂','天津'); INSERTINTO J(JNO,JNAME,CITY)V ALUES('J4','造船厂','天津'); INSERTINTO J(JNO,JNAME,CITY)V ALUES('J5','机车厂','唐山'); INSERTINTO J(JNO,JNAME,CITY)V ALUES('J6','无线电厂','常州'); INSERTINTO J(JNO,JNAME,CITY)V ALUES('J7','半导体厂','南京'); 对于表SPJINSERTINTO SPJ(SNO,PNO,JNO,QTY) V ALUES('S1','P1','J1','200'); INSERTINTO SPJ(SNO,PNO,JNO,QTY) V ALUES('S1','P1','J3','100'); INSERTINTO SPJ(SNO,PNO,JNO,QTY) V ALUES('S1','P1','J4','700'); INSERTINTO SPJ(SNO,PNO,JNO,QTY) V ALUES('S1','P2','J2','100'); INSERTINTO SPJ(SNO,PNO,JNO,QTY) V ALUES('S2','P3','J1','400'); INSERTINTO SPJ(SNO,PNO,JNO,QTY) V ALUES('S2','P3','J2','200'); INSERTINTO SPJ(SNO,PNO,JNO,QTY) V ALUES('S2','P3','J4','500'); INSERTINTO SPJ(SNO,PNO,JNO,QTY) V ALUES('S2','P3','J5','400');INSERTINTO SPJ(SNO,PNO,JNO,QTY) V ALUES('S2','P5','J1','400'); INSERTINTO SPJ(SNO,PNO,JNO,QTY) V ALUES('S2','P5','J2','100'); INSERTINTO SPJ(SNO,PNO,JNO,QTY) V ALUES('S3','P1','J1','200'); INSERTINTO SPJ(SNO,PNO,JNO,QTY) V ALUES('S3','P3','J1','200'); INSERTINTO SPJ(SNO,PNO,JNO,QTY) V ALUES('S4','P5','J1','100'); INSERTINTO SPJ(SNO,PNO,JNO,QTY) V ALUES('S4','P6','J3','300'); INSERTINTO SPJ(SNO,PNO,JNO,QTY) V ALUES('S4','P6','J4','200'); INSERTINTO SPJ(SNO,PNO,JNO,QTY) V ALUES('S5','P2','J4','100'); INSERTINTO SPJ(SNO,PNO,JNO,QTY) V ALUES('S5','P3','J1','200'); INSERTINTO SPJ(SNO,PNO,JNO,QTY) V ALUES('S5','P6','J2','200'); INSERTINTO SPJ(SNO,PNO,JNO,QTY) V ALUES('S5','P6','J4','500');3.求供应工程J1零件为红色的供应商号码SNOSELECT SNO FROM SPJWHERE JNO='J1' AND PNO IN (SELECT PNOP75,1求供应工程J1零件的供应商号码SNOSELECT SNO FROM SPJWHERE JNO='J1';2.求供应工程J1零件P1的供应商号码SNOSELECT SNO FROM SPJWHERE JNO='J1' AND PNO='P1';FROM PWHERE COLOR='红');4.求没有使用天津供应商生产的红色零件的工程号JNOSELECT JNOFROM JWHERE NOT EXISTS(SELECT *FROM SPJWHERE SPJ.JNO=J.JNOAND SNO IN(SELECT SNOFROM SWHERE CITY='天津')AND PNO IN(SELECT PNOFROM PWHERE COLOR='红'));5.求至少用了供应商S1所供应的全部零件的工程号JNOSELECT DISTINCT JNOFROM SPJ SPJ1WHERE NOT EXISTS(SELECT *FROM SPJ SPJ2WHERE SNO='S1'AND NOT EXISTS(SELECT *FROM SPJ SPJ3WHERE SPJ3.PNO=SPJ2.PNOAND SPJ3.JNO=SPJ1.JNO));p127.针对习题3中的四个表试用SQL完成以下各项操作(1)找出所有供应商的姓名和所在城市SELECT SNAME,CITYFROM S;(2)找出所有零件的名称、颜色、重量。