SQLite开题报告1

上传人:s9****2 文档编号:479221768 上传时间:2023-06-24 格式:DOC 页数:7 大小:76KB
返回 下载 相关 举报
SQLite开题报告1_第1页
第1页 / 共7页
SQLite开题报告1_第2页
第2页 / 共7页
SQLite开题报告1_第3页
第3页 / 共7页
SQLite开题报告1_第4页
第4页 / 共7页
SQLite开题报告1_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《SQLite开题报告1》由会员分享,可在线阅读,更多相关《SQLite开题报告1(7页珍藏版)》请在金锄头文库上搜索。

1、南京邮电大学毕业设计(论文)开题报告题目基于SQLite 的嵌入式Web应用开发学生姓名倪季华班级学号B04041205专业软件工程一、对指导教师下达的课题任务的学习与理解1.课题任务的内容嵌入式数据库SQLite是专为网路通信设备、自动化产品、控制系统、医疗仪器、航空航天、机顶盒、手机及PDA等各行各业管理数据而设计的一种数据管理技术。自问世以来,SQLite数据库得到了业界的大力欢迎,并得到了广泛的应用。通过对任务书的学习,我对课题任务有了一定的了解:在熟悉SQLite 数据库,Linux环境下的嵌入式C语言的基础上,开发一个Web学生信息管理系统。该系统是在Linux环境下用嵌入式C语言

2、进行开发,且存储学生信息的后台数据库用SQLite嵌入式数据库。2、课题的技术要求本课题要求熟悉嵌入式数据库SQLite的使用方法和基本设计原理,熟悉Linux环境和嵌入式C语言的开发方法,并熟悉Linux环境下的web Server的使用方法,利用软件工程的分析和设计思想,开发基于SQLite的Web学生信息管理系统,可以进行学生信息的插入、修改、删除等操作。3、课题的成果形式(1)完成具有所要求测试功能的软件,并进行演示;(2)提交毕业设计报告,软件说明书及其电子文档。 二、阅读文献资料进行调研的综述随着市场上各种产品功能的不断丰富,人们开始要求能通过嵌入式Web服务器对各种产品的数据信息

3、进行管理以及共享。因此提出了在嵌入式Web服务器中内嵌一个小型数据库管理系统,在服务器应用程序中调用数据库提供的API函数完成服务器对数据库的访问与更新,进一步扩展嵌入式Web服务器的功能。本课题“基于SQLite的嵌入式Web应用开发”即是这方面的体现。该课题中主要涉及到三个方面 :Linux环境下的web Server,嵌入式数据库SQLite,学生信息管理的操作流程。(1)基于Linux的Web服务器 现在大部分网络应用系统都是用B/S与网络用户交换信息,B/S的基础是客户端要有一个浏览器程序,服务器端要有一个与之对应的Web服务器。Web服务器在B/S方式下起着决定性的作用。Web服务

4、器的体系结构共为3层:数据库服务器客户浏览器Web服务器图 1 基于SQLite的Web体系结构一般来说,Web服务器通常由以下几个部分组成:服务器初始化部分。该部分主要完成web服务器的初始化工作。接收客户端请求。由于客户端请求以文本行的方式实现,所以服务器一般也以文本行为单位接收。解析客户端请求。发送响应信息之后,关闭与客户机的连接。(2)嵌入式数据库SQLite随着计算机技术的发展,各行各业对计算机应用的需求越来越多,对数据存储、检索的需求也越来越丰富。传统的数据库,例如MSSQL Server,DB2,PostgreSQL等大型数据库能满足目前数据操作的主流应用,但是不能满足某些特殊的

5、应用的。在嵌入式系统、实时控制系统、通信系统等应用场合,对小型、实时、快速的数据库有现实的需求。另外,某些应用环境对数据存储的需求可能仅仅是简单的、基于文件的存储系统,没有空间、也没有必要安装大型的数据库应用程序。诸如此类的应用,都可以使用嵌入式数据库来满足需求。嵌入式数据库是指:该数据库能够嵌入到应用程序中,与应用程序在同一进程空间,完成数据的增加、插入、查询、删除等操作的数据库系统。在众多的数据库中,选择何种适用于嵌入式系统的数据库是由嵌入式系统的开发环境决定的,开发环境决定了其对数据库需求的特点:适当的体积:嵌入式系统对于数据的存储与程序的运行一般都有较强的空间限制,所以适用于嵌入式系统

6、适用的数据库首先应该有一个适当的体积。较强的功能:嵌入式开发中有很多的应用,用户需求决定了开发中需要有一个大小适中且功能齐备的数据库来实现对数据的管理。开放的源代码:开放的源代码不仅可以减少产品的生产成本,而且为产品的维护完善和稳定运行提供了彻底的解决手段。符合上述条件的嵌入式数据库产品种类很多。在众多的在这次设计中,我们选择使用SQLite嵌入式数据库。SQLite是由D.理查德.希普开发出来的用一个小型C库实现的一种强有力的嵌入式关系数据库管理体制。其语言的最大特点在于允许数据类型为无数据类型。它的体系结构分为8个部分:应用程序接口、标记处理器、词语法分析器、代码生成器、B-树驱动、页面缓

7、冲、虚拟机、操作系统接口。相比较别的嵌入式数据库,SQLite数据库具有以下优势:支持ACID(Automic,Consistent,Isolated,Durable)交易,即使是系统崩溃、掉电情况下,都能保证数据的完整性。零配置,无须安装,也不需要管理员。提供简单、易用的API,通过程序调用API函数直接访问数据库。SQLite直接读写硬盘上的数据库文件,不需要额外的Server服务器端进程。一个完整的数据库对应一个磁盘上的文件,同一个数据库文件可以在不同机器上使用,还能在不同字节顺序的机器间自由共享。SQLite最大支持2TB的数据容量,且性能仅受限于系统可用的内存。SQLite支持视图、

8、触发器、事务和支持嵌套SQL功能,提供虚拟机用于处理SQL语句,支持大部分SQL92。SQLite没有操作系统依赖,可以使用在多种操作系统上,而且SQLite是开放源代码的,整个不超过3万行C代码,有非常详细的代码注释,测试覆盖了95的代码,运行时占用少于250KB的内存。大部分一般操作都比流行的C/S架构服务器要快。从以上诸多优点可以看出,SQLite数据库设计的出发点是简单的在程序中使用它,简单的管理和操作,简单的维护和定制。鉴于此,我们这次的设计用SQLite是再合适不过了。(3)学生信息管理的流程学生信息管理主要包括以下几种操作:查询信息,插入数据,修改数据,删除数据等等。查询信息:执

9、行查询操作的时候,主要是根据用户所输入的条件,在数据库的表中进行相应数据的匹配,在浏览器中显示出符合查询条件的信息。插入数据:执行插入操作的时候,主要是对数据库进行插入操作,操作结束后要在浏览器中显示出插入的信息。插入时要注意约束条件,不可以违反数据库的完整性规范。修改数据:执行修改操作的时候,主要是对数据库中的表进行更新操作。删除数据:,执行删除操作的时候,主要是删除表中的数据,而不是删除表。举例说明查询信息的基本思路如下:(假设查询的条件是学生的学号和姓名,都是精确匹配)否是否是判断要查询的姓名是否为空将查询后的信息显示出来根据所输入的学号和姓名到表中查找匹配的记录判断要查询的学号是否为空

10、判断要查询的姓名是否为空提示查询条件不可同时为空根据所输入的姓名到表中查找匹配的记录是否根据所输入的学号到表中查找匹配的记录图 2 基于SQLite的学生信息管理系统的逻辑结构三、根据任务书的任务及文献调研结果,初步拟定的方案系统所用的软件有:嵌入式Linux操作系统,web服务器,SQLite数据库,采用嵌入式C语言编写各函数。系统的整体框架如下:SQL Web服务器数据库SQLite客户端图 3 基于SQLite的 Web 信息系统的逻辑结构(1)要使SQLite在Linux平台上能够顺利运行,首先要对SQLite进行交叉编译:例如在SQLite目录下的configure中找到类似#if

11、test“cross_compiling”=”yes”;then的检查交叉编译环境的脚本处,并将其注释掉,从而让configure文件在进行配置时不去检查交叉编译环境。在makefile文件中,根据实际情况制定自己的交叉编译工具:BCCLinux_gcc,然后进行编译,将编译好的SQLite文件加入文件系统,就可以在Linux平台上运行SQLite了。(2)建立数据库、数据表:在编译、移植SQLite后,进行建立数据库、数据表等初始化工作。例如:#SQLite my /进入SQLite建立一个my数据库create table Student(Sno varchar(20); /在my中创建一

12、个Student数据表,Sno为该表的一个列名,该列的类型为varchar型insert into Student values(001); /向Student表中插入一个数据,值为001(3)编写服务器的后台程序 CGI应用程序读取从Web服务器传递来的各种信息,并对客户端的请求进行解释和处理,如从数据库中按用户的要求查询有关学生数据,最后CGI应用程序会将处理结果按照CGI规范返回给Web服务器,Web服务器会对CGI应用程序的处理结果进行解析,并在此基础上生成一定的相应信息返回给客户端,如将查找的符合用户要求的数据以一定格式返回到用户的浏览器端。CGI使用户和数据的交互成为可能。 CGI

13、程序可以用多种语言编写,但是用C语言编写的CGI程序具有执行速度快、安全性能高等特点。CGI接口包括:输入、变量、输出三部分。SQLite提供了与C语言的接口API。因此可以在CGI程序中实现对数据库SQLite的操作。API中核心函数是SQLite_open( ), SQLite_exec( ) 和SQLite_close( )。 在程序的编写过程中,应用SQLite数据库时,首先要调用sqlite_open( )连接数据库。例如打开上面新建的数据库:db=sqlite_open(“Student”,0777,&zErrMsg); 要对数据库的操作主要是通过SQLite_exec( )语句来

14、调用SQLite数据库的功能。其中要用到用callback函数,将返回操作的结果并输出到浏览器上。Callback可以自己定义,我们能够根据具体需要通过自己编写的callback函数获得操作数据库而得到结果。当数据库使用完毕后,程序中应该用SQLite_close( )函数断开与数据库的连接,关闭数据库: Rc=sqlite_exec(db.”select * from Student”,callback,0, &zErrMsg); Sqlite_close(db);在完成数据采集的同时将数据存入到指定的数据库中通过数据的采集程序完成。(4) 系统的运行 在Web服务器、SQLite成功配置并

15、完成各程序的编写后,可以将系统联入因特网中进行运行。系统运行的时候,可根据需要对用户的身份进行确认。在系统中加一个身份验证的页面,并建立一个数据表用来存放用户的资料。用户在登录后要输入正确的用户名和密码才可以进入系统,对学生的信息进行管理。四、进度计划1. 认真领会课题内容,查阅相关资料,完成开题报告 2周 2. 学习SQLite的基本原理并熟悉其开发环境 2周 3. 建立基于SQLite的Web应用系统的体系结构和分析模型。 3周 4. 完成应用软件的结构设计,解决开发过程中的关键技术 3周 5. 完成应用系统的编码和测试工作 2周 6. 整理资料,论文写作,准备答辩 2周五、参考文献1.夏家莉.嵌入式实时数据库系统的事务模型及其处

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 幼儿/小学教育 > 小学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号