第三阶段上课11、数据库概念和sqlite命令_第1页
第三阶段上课11、数据库概念和sqlite命令_第2页
第三阶段上课11、数据库概念和sqlite命令_第3页
第三阶段上课11、数据库概念和sqlite命令_第4页
第三阶段上课11、数据库概念和sqlite命令_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Graphic

Design

Training数据库概念和SQLite命令TRAININGCOURSE.12014-07——主讲人:唐睿了解关系型数据库了解SQLite熟练运用SQLite命令【章程目标】数据是描述现实事物的符号。什么是数据管理

对数据进行分类、组织、编码、存储、检索和维护,是数据处理的中心问题。【数据和数据管理】特点:1.数据不保存2.应用程序管理数据3.数据不共享4.数据不具有独立性应用程序1数据集1应用程序2数据集2应用程序n数据集n...…...…【人工管理阶段】特点:1.数据可以长期保存2.文件系统管理数据3.数据共享性差、冗余度大4.数据独立性差应用程序1文件1应用程序2文件2应用程序n文件n存取方法...…...…【文件系统阶段】数据管理技术的发展经历了以下三个阶段:人工管理阶段

(20世纪50年代中期前)文件系统阶段(20世纪50年代后~60年代中期)数据库系统阶段(60年代末--现在)【数据管理技术的发展】特点:数据结构化数据共享性高 冗余度低 易扩充数据独立性高数据由DBMS统一管理和控制DBMS应用程序1应用程序2数据库…【数据库系统阶段】数据库(DataBase,简称DB):长期存储在计算机内、有组织、可共享的数据集合。数据库管理系统(DataBaseManagementsystem,简称DBMS):专门用于管理数据库的软件。数据库系统(DataBaseSystem,简称DBS):引入数据库之后的计算机系统。DBS=DB+OS+DBMS+App+DBA+Users【概念】数据库,简单来说是本身可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。数据库指的是以一定方式储存在一起、能为多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。【数据库定义】数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改和检索由统一软件进行管理和控制。从发展的历史看,数据库是数据管理的高级阶段,它是由文件管理系统发展起来的。【数据库定义】数据模型是信息模型(概念模型)的数据化,从计算机角度出发,提供表示和组织数据的方法。数据模型的分类:层次模型网状模型关系模型【数据模型】层次模型(HierarchicalModel)数据结构:以一条包含实体所有属性值的记录为基本单位,记录之间的联系以树型结构来表示。R1R2R3R4R5【层次模型】网状模型:数据结构L3L1L4

R1R2R3R5L2R4【网状模型】关系模型数据结构【关系模型】OracleDB2MicrosoftSQLServerMicrosoftAccessMySQLSqlite【常见的关系型数据库】SQLite是目前最流行的一款开源的、嵌入式关系数据库。最初发布于2000年,主要的目的是用于省去专用于关系数据库管理系统日常费用。这样就可以为应用软件提供一种方便的数据库管理方式。SQLite是一款轻型的数据库,是遵守ACID的关系式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。【SQLite数据库简介】管理简单,甚至可以认为无需管理。操作方便,SQLite生成的数据库文件可以在各个平台无缝移植。可以非常方便的以多种形式嵌入到其他应用程序中,如静态库、动态库等。易于维护。【SQLite的主要特征】轻量级–SQLite和C/S模式的数据库软件不同,它是进程内的数据库引擎,使用SQLite一般只需要带上它的一个动态库。绿色软件–它的核心引擎本身不依赖第三方的软件单一文件–就是数据库中所有的信息(比如表、视图、触发器、等)都包含在一个文件内。这个文件可以copy到其它目录或其它机器上,也照用不误。跨平台/可移植性内存数据库(in-memorydatabase)【优点】

并发访问的锁机制

SQLite在并发(包括多进程和多线程)读写方面的性能一直不太理想。数据库可能会被写操作独占,从而导致其它读写操作阻塞或出错。

SQL标准支持不全

在它的官方网站上,具体列举了不支持哪些SQL92标准。比如外键

网络文件系统(以下简称NFS)访问有问题

有时候需要访问其它机器上的SQLite数据库文件,就会把数据库文件放置到网络共享目录上。这时候你就要小心了。当SQLite文件放置于NFS时,在并发读写的情况下可能会出问题(比如数据损坏)。

读写效率没有C/S型数据库高【缺点】保证你的电脑有配置androidsdk的环境变量【SQLite命令】在系统开始菜单中运行里输入cmd命令行界面打开后,输入sqlite3进入sqlite命令操作界面【SQLite命令】android模拟器中使用sqlite需要进到adbshell状态【SQLite命令】在命令行下,启动sqlite3示例:

#sqlite3school.db说明:打开数据库文件school.db,数据库名默认为main。如果school.db不存在,则新建文件【创建SQLite数据库】命令规则以.开头,大小写敏感(数据库对象名称是大小写不敏感的)【SQLite命令】命令命令说明备注.database查看数据库.tables查看数据库表有哪些?.schema[表名]查看所有或单表的结构.output[file|stdout]将结果输出到文件或标准屏幕.outputfile1.txt.separator[分隔符]设置列数据间的分隔符.separator,.mode改变输出格式.modeinserttab.modecolumn.help帮助.quit退出sqlite3命令行注意:SQLite3命令以”.”号开始,而SQL操作语句以”;”结束【SQLite命令】quit退出sqlite操作界面database显示数据库信息;包含当前数据库的位置【SQLite命令】help命令列出帮助【SQLite命令】.tables或者.table显示表名称没有表则不显示.schema命令可以查看创建数据对象时的SQL命令;【SQLite命令】如果出现输入不合法命令,出现如下状态,请输入;跳出【章程目标】.headerson/off显示表头默认off【SQLite命令】指定已存在的sqlite数据库尝试.database,.table,.tables,.schema【SQLite命令】使用查询语句查询表中数据select*fromtable1;【SQLite命令】.modelist|column|insert|line|tabs|tcl|csv改变输出格式尝试各种输出格式【SQLite命令】.separator'x'自定义分割符它并不所有模式都可用【SQLite命令】附加数据库Attach语句:是指附加已经存在的数据库,使得多个数据库并存,由sqlite统一管理命令格式:ATTACH[DATABASE]database-filenameASdatabase-name其中:database-filename表示要附加进来的数据库名; database-name表示引用时的前缀名示例1: adbshell#cd.great.datastorage_shared.ui/databases#sqlite3school.db sqlite>attachdatabase‘schooln.db’as‘schooln’;sqlite>select*fromschooln.school;这时会查询到schooln.db数据库文件中的school表的内容 注意:文件名有.符号,需要用引号【附加数据库】分离数据库Detach语句命令格式:

DETACH[DATABASE]database-name其中:database-name表示引用时的前缀名;示例2: 接上面的示例1sqlite>detachschooln;sqlite>select*fromschooln.school;//这时提示:Error:nosuchtable:schooln.student【分离数据库】查看数据库所有逻辑对象sqlite>Select*fromsqlite_mastersqlite>.schemasqlite_masterCREATETABLEsqlite_master(typetext,nametext,tbl_namete

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论