ImageVerifierCode 换一换
格式:DOC , 页数:32 ,大小:845.54KB ,
资源ID:2685181      下载积分:12 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/2685181.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(机票预订系统优秀课程设计.doc)为本站上传会员【快乐****生活】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

机票预订系统优秀课程设计.doc

1、 内蒙古科技大学 《数据库原理及应用》课程设计说明书 题 目:机票预订系统 学生姓名 学 号: 专 业:计算机科学和技术 班 级:4班 指导老师:余金林 内蒙古科技大学课程设计任务书 课程名称 数据库课程设计 设计题目 机票预订系统(题目等级60) 指导老师 余金林 时间 15周-16周 一、教学要求 1.从附录一中选择一个题目进行数据库应用系统设

2、计。 2.功效设计:用Visual FoxPro,Visual Basic、PB等开发工具和数据库管理系统SQL-SEVER或Access制作一个小型管理系统。所设计小型管理系统应包含输入输出、查询、插入、删除等基础功效。设计课题能够从候选项目中选出,依据题目标基础需求,画出步骤图,编写程序,并写出具体设计说明书。(本项实际系统设计和实现可选,但必需有功效设计过程) 3.数据库设计: 依据数据库应用系统设计过程,经过需求分析和系统分析,进行数据库概念结构设计、逻辑结构设计等工作: l 概念结构设计E-R图 l 数据库逻辑结构设计是以表格形式说明数据库中有多个表,每个表表名和每个表各字

3、段名,类型和约束(主、外码); l 确定表之间关联(一对一、一对多、多对多) l 利用数据库理论确定每个表最少属于3NF。 二、设计资料及参数 1、订单编号 2、航班编号、出发地、目标地、出发时间抵达时间 3、机票编号、座位号、机舱等级 4、旅客编号、姓名、性别、身份证号 三、设计要求及结果 1.根据数据库应用系统设计步骤进行数据库结构设计。 2.使用开放工具及数据库管理系统开放应用系统(可选)。 3.书写论文(具体要求见论文模板)。 四、提议参考资料 《数据库系统教程》(第三版) 施伯乐等著 高等教育出版社 目录 内蒙古科技大

4、学课程设计任务书 2 目录 3 第一章 绪论 4 1.1课题介绍 4 1.2设计目标 4 1.3设计内容 5 第二章 需求分析 5 2.1 需求分析任务 5 2.2 需求分析过程 5 2.3数据字典和步骤图 8 第三章 ER模型图 12 3.1实体属性图 12 3.2总体ER模型图 15 第四章 逻辑结构设计 17 4.1 E-R图向关系模型转换 17 4.2 数据模型优化 17 第五章 功效实现 18 5.1查询功效实现 18 5.2多条件查询功效实现 18 5.3添加功效实现 19 5.4删除功效实现 19 5.5更改功效实现 20 5.6视图建

5、立 21 第六章 源代码 22 第七章 总结 26 第八章 参考文件 27 附录 28 第一章 绪论 1.1课题介绍 伴随时代发展,计算系软件和系统成熟,机票假如简单方面预定成为一个影响多数人生活问题。而建立机票预定系统是一个很好处理措施。经过三年学习,我们对计算机方面知识有了很大提升,本着理论联络实际宗旨,经过学校提供这次课程设计实践机会,在指导老师帮助下,历经两周时间,我自行设计一套机票预定管理系统,在下面各章中,我将以这套机票预定

6、系统信息系统为例,谈谈其开发过程和所包含到问题。 1.2设计目标 应用对数据库系统原理理论学习,经过上机实践方法将理论知识和实践愈加好结合起来,巩固所学知识。 实践和巩固在课堂教学中学习相关关系数据库原理相关知识和数据库系统建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库信息管理系统,必需得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护和系统评价通常过程,为毕业设计打下基础。 1.3设计内容 选择课题而且对课题相关信息有一定了解,对于我选课题来说,我必需了解机票预定系统结构和购票人信息还有机票相关信息。经过这些信息制成表格,输入到数据库中,使

7、之能够进行查询、修改、删除而且和机票预定系统实施相同操作。需求分析阶段就是要研究我所作机票预定系统具体分类和实施过程流图。概念设计阶段要完成数据抽象和局部视图设计还有视图集成。逻辑结构设计阶段要把E-R图转化为关系模式。最终就是要运行和实施数据库。 第二章 需求分析 2.1 需求分析任务 调查机票预定系统应用领域包含内容,对包含到领域各个应用信息要求和操作要求进行具体分析,形成需求分析说明书。最关键是调查、搜集信息、分析购票人信息和飞机预定步骤。处理要求

8、数据安全性和完整性要求。 要求系统能有效、快速、安全、可靠和无误完成上述操作。并要求用户机界面要简单明了,易于操作,服务器程序利于维护。 2.2 需求分析过程 航空企业为方便旅客,需开发一个机票预定系统。为便于旅客由旅行社替换航空企业负责为旅客定票,旅行社把预定机票旅客信息,包含姓名、性别、工作单位、身份证号码、旅行时间、旅行目标地,输入机票预定系统用户端程序,系统经过查询航空企业内航班数据服务器后,为旅客安排航班,印出取票通知。旅客在飞机起飞前一天凭取票通知和帐单交款后取票,系统校对无误后即印出机票给旅客。假如某方面出现问题,旅客能够持有效证件去飞机场退票。 要求系统能有效、快速、

9、安全、可靠和无误完成上述操作。并要求用户机界面要简单明了,易于操作,服务器程序利于维护。 经过综合分析,确定了机票预订管理系统关键包含以下功效: (1)订单信息管理功效 关键是实现管理员对订票信息管理,包含对航班基础信息如航班号、起飞地、目标地、起飞时间等,旅客基础信息如旅客姓名、性别、电话号码、身份证号、座位号、订票数量添加、修改、删除和查询功效。 订单信息管理系统图2-1 (2) 旅客信息管理功效 关键是实现管理员对旅客部分基础信息,如旅客姓名、性别、电话号码、身份证号添加、修改、删除和查询功效。

10、 旅客信息管理系统图2-2 (3) 航班信息管理功效 关键实现管理员对航班部分基础信息,航班号、起飞地、目标地、起飞时间添加、修改、删除查询和功效。 航班信息管理系统图2-3 (4) 机票信息管理功效 关键实现管理员对机票部分基础信息,如航班号、座位号、座位信息、机票类型添加、修改、删除和查询功效。 机票信息管理系统图2-4 (5) 退票信息管理功效 关键是实现管理员对退票信息管理,包含

11、对订单号、旅客姓名、电话号码、身份证号添加、修改、删除和查询功效。 退票信息管理系统图2-5 2.3数据字典和步骤图 2.3.1数据字典 数据字典是用来规范描述数据具体内容工具,也是对数据汇总分析一个总结。通常来说,可为每个数据建立一张二维表。在本系统中,分别为旅客信息、旅客订票信息、航班机票信息、旅客和机票联络、退票信息建立了数据字典,具体如表2-1到表2-6所表示。 主键:蓝色 外键:下划线 表2-1 订单信息数据字典 字段名 描述 数据类型 长度 是否许可为空 Booking_Number 订单编号

12、 VARCHAR 50 否 Flight_Number 航班编号 VARCHAR 20 否 Seat_Number 座位编号 VARCHAR 50 否 Passenger_Number 旅客编号 VARCHAR 50 否 Ticket_Number 机票编号 VARCHAR 50 否 Price 金额 VARCHAR 50 否 表2-2 航班信息数据字典 字段名 描述 数据类型 长度 是否许可为空 Flight-Number 航班编号 VARCHAR 50 否 Takeoff_Time 起飞时间 VARC

13、HAR 50 否 Arrtival_Time 抵达时间 VARCHAR 50 否 Origin 出发地 VARCHAR 50 否 Destination 目标地 VARCHAR 50 否 Flight_Type 航班型号 VARCHAR 50 否 表2-3 机票信息数据字典 字段名 描述 数据类型 长度 是否许可为空 Ticket_Number 机票编号 VARCHAR) 50 否 Seat_Number 座位号 VARCHAR 50 否 Price 价格 VARCHAR 50 否 Takeoff_

14、Time 出发时间 VARCHAR 50 否 Destination 目标地 VARCHAR 50 否 表2-4 旅客信息数据字典 字段名 描述 数据类型 长度 是否许可为空 Passenger_Number 旅客编号 VARCHAR 50 否 Passenger_Name 旅客姓名 VARCHAR 50 否 ID_Number 身份证号 VARCHAR 50 否 Sex 性别 VARCHAR 50 否 Telephone 电话 VARCHAR 50 否

15、 表2-5 旅客和机票信息联络数据字典 字段名 描述 数据类型 长度 是否许可为空 Number 编号 VARCHAR 50 否 Ticket-Number 机票编号 VARCHAR 50 否 Passenger_Number 旅客编号 VARCHAR 50 否 表2-6退票信息数据字典 字段名 描述 数据类型 长度 是否许可为空 Order_Number 退票号 VARCHAR 50 否 Takeoff_Time 时间 VARC

16、HAR 50 否 Booking_Number 订单编号 VARCHAR 50 否 2.3.2基础步骤图 机票预订系统步骤图2-6 第三章 ER模型图

17、 3.1实体属性图 订单信息实体属性图3-1 航班信息实体属性图3-2 机票信息实体属性图3-3 用户和机票实体属性图3-4

18、 旅客信息实体属性图3-5 座位信息实体属性图3-6 退票信息实体属性图3-7 3.2总体ER模型图 第四

19、章 逻辑结构设计 4.1 E-R图向关系模型转换 订单信息(订单号,航班号,座位号,数量,类型) 退票信息(订单号,旅客编号,时间) 旅客信息(旅客编号,身份证号,姓名,性别,联络电话) 航班信息表(航班编号,起飞地,目标地,起飞时间) 座位信息表(座位号,机票类型) 4.2 数据模型优化 将转化关系模式进行优化,最终达成第三范式。 1、确定数据依靠 退票信息(订单号,旅客姓名,航班号)依据这个关系写出数据依靠 订单号→旅客姓名,订单号→座位号,订单号→航班号 旅客(旅客姓名,旅客编号,电话号,性别) 旅客姓名→身份证号,旅客姓名→电话号,旅客姓名

20、→性别 航班信息表(航班号,起飞地,目标地,起飞时间) 航班号→起飞地,航班号→目标地,航班号→起飞时间 座位信息表(座位号,航班号,座位信息,机票类型) (座位号,航班号)→座位信息,(座位号,航班号,座位信息)→机票类型 2、 对各关系模式间数据依靠进行极小化处理,消除冗余 订单号→旅客编号,订单号→座位号,订单号→机票编号,订单号→机票编号 3、 看这些模式是否符合要求,确定是否要对一些模式进行合并或分解 最终分解成第三范式: (订单号,机票编号,机票类型)(订单号,旅客编号)(旅客编号,旅客姓名,性别)(旅客姓名,座位号)(航班号,座位

21、号,机票类型)(航班号,起飞地,目标地,起飞时间) 第五章 功效实现 5.1查询功效实现 经过查询功效我们能够找到相关信息。 USE MARKET SELECT * FROM Seat 查询功效图5-1 5.2多条件查询功效实现 使用多条件查询功效能够增加查询限制条件,这么能够使查询结果更正确。 USE MARKET SELECT * FROM Passenger WH

22、ERE Sex='女'AND Passenger_Name='小青' 多条件查询功效图5-2 5.3添加功效实现 经过添加功效实现对数据增加,录入需要信息。 USE MARKET INSERT INTO Passenger VALUES('00001','大卫','1234566','男',''); 添加功效图5-3 5.4删除功效实现 能够实现对部分变更信息删除,从而能够达成一定效果。 USE MARKET DELETE FROM Book

23、ing_Ticket WHERE Booking_Number='B00001' 删除功效图5-4 5.5更改功效实现 经过更改功效我们能够对其信息修改,比如机票座位类型,目标地等做对应修改 USE MARKET SELECT * FROM Flight WHERE Flight_Number=A01 Update Flight SET Destination='呼和浩特' where Flight_Number=A01 SELECT * FROM Flight Where Flight_Number=A0

24、 更改功效图5-5 5.6视图建立 视图就是创建一个能够实现添加创建续表,从而实现效果。 视图5-6 第六章 源代码 建库: create database [MARKET] on primary ( name = 'ticket_db', filename = 'E:\数据库课程设计\ticket.mdf', size = 5mb, maxsize = 30mb

25、 filegrowth = 5% ) log on ( name = 'ticket', filename = 'E:\数据库课程设计\ticket_log.ldf', size = 1mb, maxsize = 10mb, filegrowth = 10% ) 建表: CREATE TABLE Booking_Ticket/--------订单信息表创建---------/ ( Booking_Number varchar(50) primary key,/--------设置主键---------/Flight_Number varchar(50) not n

26、ull, Seat_Number varchar(50) not null, Passenger_Number varchar(50) not null, Amount varchar(50) not null, Price varchar(50) not null, Time varchar(50) not null, ) ; USE MARKET CREATE TABLE Flight/--------航班信息表创建---------/ ( Flight_Number varchar(50) primary key,/--------设置主键---------/

27、 akeoff_Time varchar(50) not null, ArTrival_Time varchar(50) not null, Flight_Time varchar(50) not null, Origin varchar(50) not null, Destination varchar(50) not null, Flight_Type varchar(50) not null ); USE MARKET CREATE TABLE Passenger/--------旅客信息表创建---------/ ( Passenger_Number va

28、rchar(50) primary key,/--------设置主键---------/ Passenger_Name varchar(50) not null, ID_Number varchar(50) not null, Sex varchar(50) not null, Telephone varchar(50) not null ); USE MARKET CREATE TABLE Seat/--------座位信息表创建---------/ ( Seat_Number varchar(50) primary key,/--------设置主键--------

29、/ Seat_Type varchar(50) not null, Ticket_Number varchar(50) not null, Destination varchar(50) not null ); USE MARKET CREATE TABLE Ticket ( Ticket_Number varchar(50) primary key,/--------设置主键---------/ Destination varchar(50) not null, Price varchar(50) not null, Takeoff_Time varchar(50

30、) not null Seat_Number varchar(50) not null ); USE MARKET CREATE TABLE Relation/--------关系创建---------/ ( Number varchar(50) primary key ,/--------设置主键---------/ Ticket_Number varchar(50) not null, Passenger_Number varchar(50) not null, ); USE MARKET CREATE TABLE Refund/--------退票信息表创建

31、/ ( Order_Number varchar(50) primary key,/--------设置主键---------/ Passenger_Number varchar(50) not null, Booking_Number varchar(50) not null, ); 设置外键: use MARKET go alter table Booking_Ticket add constraint fk_storeDI foreign key(Seat_Number) references Seat(Seat_Number) use

32、 MARKET go alter table Booking_Ticket add constraint fk_storeADI foreign key(Flight_Number) references Flight(Flight_Number) use MARKET go alter table Booking_Ticket add constraint fk_storeI foreign key(Passenger_Number) references Passenger(Passenger_Number) use MARKET go alte

33、r table Refund add constraint fk_storI foreign key(Passenger_Number) references Passenger(Passenger_Number) use MARKET go alter table Refund add constraint fk_sorI foreign key(Booking_Number) references Booking_Ticket(Booking_Number) use MARKET go alter table Booking_Ticket add constraint

34、 fk_sosI foreign key(Ticket_Number) references Ticket(Ticket_Number) use MARKET go alter table Relation add constraint fk_sowsI foreign key(Ticket_Number) references Ticket(Ticket_Number) use MARKET go alter table Relation add constraint fk_saI foreign key(Passenger_Number) references Pass

35、enger(Passenger_Number) use MARKET go alter table Booking_Ticket add constraint fk_saiI foreign key(Ticket_Number) references Ticket(Ticket_Number) 设置约束条件: use MARKET go alter table Passenger add check (Sex in('男','女'));/--------设置外键约束---------/ 数据插入: use MARKET INSERT INTO Flight

36、VALUES('A01','12:00','14:30','2小时分','包头','北京','B0'); INSERT INTO Flight VALUES('A02','12:01','14:31','2小时分','包头','天津','B1'); INSERT INTO Flight VALUES('A03','12:02','14:32','2小时分','包头','上海','B2'); INSERT INTO Flight VALUES('A04','12:03','14:33','2小时分','包头','河北','B3'); INSERT INTO Flight VALUES('

37、A05','12:04','14:34','2小时分','包头','南京','B4'); /--------航班信息插入---------/ use MARKET INSERT INTO Ticket VALUES('0001','北京','325','12:01','C001'); INSERT INTO Ticket VALUES('0002','天津','326','12:02','C002'); INSERT INTO Ticket VALUES('0003','上海','327','12:03','C003'); INSERT INTO Ticket VALUES('

38、0004','河北','328','12:04','C004'); INSERT INTO Ticket VALUES('0005','南京','329','12:05','C005'); /--------机票信息插入---------/ INSERT INTO Passenger VALUES('00001','大卫','1234566','男',''); INSERT INTO Passenger VALUES('00002','小明','1234567','女',''); INSERT INTO Passenger VALUES('00003','小张','12345

39、68','男',''); INSERT INTO Passenger VALUES('00004','小青','1234569','女',''); INSERT INTO Passenger VALUES('00005','小白','1234560','男',''); /--------旅客信息插入---------/ use MARKET INSERT INTO Booking_ticket VALUES('B00001','A01','C001','00001','1','325','2小时分','0001'); INSERT INTO Booking_ticket

40、 VALUES('B00002','A02','C002','00002','2','326','2小时分','0002'); INSERT INTO Booking_ticket VALUES('B00003','A03','C003','00003','2','327','2小时分','0003'); INSERT INTO Booking_ticket VALUES('B00004','A04','C004','00004','1','328','2小时分','0004'); INSERT INTO Booking_ticket VALUES('B00005','A05','C00

41、5','00005','1','329','2小时分','0005'); /--------订单信息插入---------/ use MARKET INSERT INTO Refund VALUES('D001','00001','0001'); INSERT INTO Refund VALUES('D002','00002','0002'); INSERT INTO Refund VALUES('D003','00003','0003'); INSERT INTO Refund VALUES('D004','00004','0004'); INSERT INTO R

42、efund VALUES('D005','00005','0005'); /--------退票信息插入---------/ use MARKET INSERT INTO Relation VALUES('E001','0001','00001'); INSERT INTO Relation VALUES('E002','0002','00002'); INSERT INTO Relation VALUES('E003','0003','00003'); INSERT INTO Relation VALUES('E004','0004','00004'); INSERT

43、INTO Relation VALUES('E005','0005','00005'); use MARKET INSERT INTO Seat VALUES('C001','A','0001','北京'); INSERT INTO Seat VALUES('C002','B','0002','天津'); INSERT INTO Seat VALUES('C003','C','0003','上海'); INSERT INTO Seat VALUES('C004','D','0004','河北'); INSERT INTO Seat VALUES('C005','E','00

44、05','南京'); /--------座位信息插入---------/ 第七章 总结 此次数据库课程设计总共用了两个星期,总来说最困难地方是设计分析阶段,我选择是飞机票预定系统数据库设计。开始不太了解情况,为了愈加深入了解,我在网上登录多个大民航订票网站,我发觉只有支付过机票钱才能提交订单,所以我没有看到订单具体情况,只依据自己了解写订单情况。以后相关机票信息,所以我认为电子机票里应该包含了全部信息,订单信息里面也有旅客信息,航班信息,机票信息等。 原来机票还能够退票和改签,网上我知道能退票,我原来想再设计能够在网上改签功效,不过改签机票需要考虑很多原因,要考虑

45、机票是否是打折,和所在舱位,还有是否换航空企业等,不是一个原因决定。假如时间再长部分,会仔细研究改签问题。 经过此次试验,愈加熟练掌握了相关工具,还能够熟练使用Visio来画ER图。也知道了怎样搜索信息,对于画图也增加了审美感。即使现在很多系统看似很好,不过还有很多需要完善地方,我们也要努力学习,有创新思想,来完善未来系统,即使现在是模拟阶段,但应该会走更远。 第八章 参考文件 1. 王英英 张少军 刘增杰. SQL SERVER 从零开始学〔D〕

46、清华大学出版社, 2. 数据库系统教程 (第三版) 施伯乐 丁宝康 汪卫 编著 高等教育出版社 附录 SQL编程规范 一、sql书写规范: 二、书写优化性能提议 三、其它经验性规则 一、sql书写规范: 1、sql语句全部表名、字段名全部首字母大写,系统保留 字、内置函数名、sql保留字大写。 2、连接符or、in、and、和=、<=、>=等前后加上一个空格。 3、对较为复杂sql语句加上注释,说明算法、功效。 注释风格:注释单独成行、放在语句前面。 (1) 应对不易了解分支条件表示式加注

47、释; (2) 对关键计算应说明其功效; (3) 过长函数实现,应将其语句按实现功效分段加以概括性说明; (4) 每条SQL语句均应有注释说明(表名、字段名)。 (5) 常量及变量注释时,应注释被保留值含义(必需),正当取值范围(可选) (6) 可采取单行/多行注释。(-- 或 /* */ 方法) 4、SQL语句缩进风格 (1) 一行有多列,超出80个字符时,基于列对齐标准,采取下行缩进 (2) where子句书写时,每个条件占一行,语句令起一行时,以保留字或连接符开始,连接符右对齐。 5、多表连接时,使用表别名来引用列。 6、供别文件或函数调用函数,绝不应使用全局变量交换数据;

48、 如例(1) 二、书写优化性能提议 1、避免嵌套连接。比如:A = B and B = C and C = D 2、where条件中尽可能降低使用常量比较,改用主机变量 3、系统可能选择基于规则优化器,所以将结果集返回数据量小表作为驱动表(from后边最终一个表)。 4、大量排序操作影响系统性能,所以尽可能降低order by和group by排序操作。 如必需使用排序操作,请遵照以下规则: (1) 排序尽可能建立在有索引列上。 (2) 如结果集不需唯一,使用union all替换union。 5、索引使用。 (1) 尽可能避免对索引列进行计算。如对索引

49、列计算较多,请提请系统管理员建立函数索引。 (2) 尽可能注意比较值和索引列数据类型一致性。 (3) 对于复合索引,SQL语句必需使用主索引列 (4) 索引中,尽可能避免使用NULL。 (5) 对于索引比较,尽可能避免使用NOT=(!=) (6) 查询列和排序列和索引列次序保持一致 6、尽可能避免相同语句因为书写格式不一样,而造成数次语法分析。 7、尽可能使用共享SQL语句。 8、查询WHERE过滤标准,应使过滤统计数最多条件放在最前面。 9、任何对列操作全部将造成表扫描,它包含数据库函数、计算表示式等等,查询时要尽可能将操作移至等号右边。 10、in、or子句常会使用工作

50、表,使索引失效;假如不产生大量反复值,能够考虑把子句拆开;拆开子句中应该包含索引。 三、其它经验性规则 1、尽可能少用嵌套查询。如必需,请用not exist替换not in子句。如例(2) 2、用多表连接替换EXISTS子句。如例(3) 3、少用DISTINCT,用EXISTS替换 如例(4) 4、使用UNION ALL、MINUS、INTERSECT提升性能 5、使用ROWID提升检索速度。对SELECT得到单行统计,需进行DELETE、UPDATE操作时,使用ROWID将会使效率大大提升。 6、使用优化线索机制进行访问路径控制。 7、使用cursor时,显

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服