数据库SQLITE3初识

数据库DataBase,我们都没有接触过数据库,那么数据库是什么?

它是一个有结构的、集成的、可共享的统一管理的数据集合!

所谓有结构的,指的是数据是按一定的模型组织起来的。

简单的说,拿个箱子,用隔板把它隔开,如此箱子被分为许多格子,因而我们像填坑一样把数据放进去!OK,那么就把数据组装起来,有人说不如用结构体?但是不要忘了,箱子还可以分类、储存。这是结构体不能做到的!

所谓集成的,是指数据库中集中存放着企业各种各样的数据。

就如上面我所讲的一样,箱子把零散的数据集结在一起一样!

而且你可以在这个箱子里面把你多余的东西全部清理掉,对吧?

如此集中存放的好处显而易见:

(1)一个数据只需一个备份,重复存储少,即消除了数据的冗余。

(2)没有数据冗余,也就能保证数据的一致。

所谓共享,指的是数据库中的数据可以被不同的用户使用。也就是说,每一个用户可以按自己的要求访问相同的数据库。

所谓统一管理的,指的是数据库由DBMS统一管理,任何数据访问都是通过DBMS来完成的。

共享和统一管理我就不说了,一个箱子当然是可以给其他人用啦,只要你不上锁!

刚才大家又见到了一个新的单词:DBMS

这是个什么东西呢?

其实他的全名为DataBase Management System数据库管理系统

  • 是用来管理数据库的一种商品化软件。
  • 所有访问数据库的请求都由DBMS来完成的。
  • DBMS提供了操作数据库的许多命令(语言),即SQL语言。

官方的解释非常复杂,什么应用层,语言翻译处理、数据存取层等等!好吧,我非常讨厌这样子,于是就有我来给大家缩减地来讲解!

通过上面的图大家有看清是咋么回事吗?多么直白!但有人要问了,咋么管理呢?那就是我们的SQL语句了!当然在linux下绝对不会使用非常大的数据库,因而我们只要掌握一些基本语句就可以了!

SQL语句我将在后面的博客进行相应的归纳!

刚才是说到数据库管理了吧?但是我们还要知道数据库有哪些对不对?

  1. Oracle 不用我多说,大家基本都听过这个数据库!特点是:支持多语言,极好的并行处理能力,多用于金融,保险等行业
  2. SQL Server 微软产品,很好的数据库管理系统,最好的应该是现在微软推广云服务,不瞒大家,我在azure上搭建过服务器,用的就是它!集成化极好,虽然我不是很会使用它!
  3. DB2,这个也是我很少接触过的数据库!仅仅知道它的移植性非常好!
  4. ACCESS 不多说了,office就有,图形化界面就是操作很简单
  5. Sqlite3 极小的数据库,等下将是我的主角!

好了,这5个数据库类型已经给大家介绍了!

那么数据库还有一个非常重要的概念:数据模型

其实它就是一个组合:

(1) 数据结构 //类型 数值等

(2) 数据操作 //遍历 删除等

(3) 数据的完整性约束 //一定的关系连接

主要有4大类

  • 层次数据模型
  • 网状数据模型
  • 关系数据模型
  • 面向对象数据库模型

我就讲关系数据,因为这个才是重点,至于其他,你想了解可以百度,面向对象的模型貌似最近才刚刚火起,用的不是很多!

总所周知,进入学校,学校会按什么给你定义呢?学号!对,因而学号和你的名字,成绩及其他各类信息存在了关系,找到学号就是找到了你的所有信息,这就是关系模型!

那么它如何保证数据的独立性的呢?那就要看数据库他是如何构造的!

数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级组成。但是我并不打算说这个,因为本人也对这个抽象的东西感到一些恐惧,其实在做开发过程中,我们压根就不用去了解他,就算我去面试,如果考官问我,我也会直接告诉他,我不知道,尼玛,我又不是来制造数据库的人!大家不用去纠结于它,我提它就是说知道就行!

还有就是数据库中还存在的候选键,主键什么,不要去管它了,这个等到我们在用sql server的时候再用吧!只要记住一点:学号就是你的主键!唯一标识符!

而我为什么又要选择用sqlite3来作为嵌入式使用的数据库呢?

  1. 因为它小!体积适合!嵌入式的东西空间是有限的,用它来做数据正好!
  2. 可移植性高 ,嵌入式 我不多说,必须要有移植性!
  3. 编程接口简单,简单的编程我就可以用它了!不用它用什么?
  4. 代码开源,节约成本那是必须的!否则做什么嵌入式啊!

    具体优势有哪些呢? 百度一下!

  • SQLite的优势
  • 内存占用量小
  • 事务操作是原子,一致,孤立,并且持久的(ACID),即使在系统崩溃和电源故障之后。
  • ACID兼容(原子性,一致性,独立性,可持久性),支持视图,子查询,触发器
  • 单个库文件中包含数据库引擎与接口,且其运行不依赖其它库
  • 可以将数据放进单个文件
  • 为C/C++, PHP等应用提供了接口
  • 免费
  • 允许为SQL命令集动态添加自定义函数(简单函数及聚集函数),而无需重编SQLite库
  • 改进的B-树。对于表采用B+树,大大提高查询效率。

好了,今天我写到这了,好饿,我要去吃饭了!回头我来写sqlite3的安装与sql语法!

数据库SQLITE3初识,布布扣,bubuko.com

时间: 2024-10-27 11:31:33

数据库SQLITE3初识的相关文章

Python标准库14 数据库 (sqlite3)

Python标准库14 数据库 (sqlite3) 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Python自带一个轻量级的关系型数据库SQLite.这一数据库使用SQL语言.SQLite作为后端数据库,可以搭配Python建网站,或者制作有数据存储需求的工具.SQLite还在其它领域有广泛的应用,比如HTML5和移动端.Python标准库中的sqlite3提供该数据库的接口. 我将创建一个简单的关系型数据库,为一个书店存

数据库(SQLITE3函数总结): sqlite3_open, sqlite3_exec, slite3_close,sqlite3_prepare_v2,sqlite3_column_text,

Sqlite3 的确很好用.小巧.速度快.最近研究它,有一些收获,这里把我对 sqlite3 的研究列出来,以备忘记. 导入SQLLite library并引入头文件. libsqlite3.dylib本身是个链接,在这里它指向libsqlite3.0.dylib.也就是说在这里你添加libsqlite3.dylib和添加libsqlite3.0.dylib其实是添加了同一个文件,没有区别,那为什么要添加libsqlite3.0.dylib呢?原因在于libsqlite3.dylib是旧版的sq

beego的orm ,用的数据库sqlite3

测试 beego的orm ,用的数据库sqlite3 1 package main 2 3 import ( 4 "fmt" 5 "github.com/astaxie/beego/orm" 6 _ "github.com/mattn/go-sqlite3" 7 ) 8 9 type Article struct { 10 Id int 11 Name string 12 } 13 14 func init() { 15 orm.Register

ios开发中的4种数据持久化方式【二、数据库 SQLite3、Core Data 的运用】

               在上文,我们介绍了ios开发中的其中2种数据持久化方式:属性列表.归档解档.本节将继续介绍另外2种iOS持久化数据的方法:数据库 SQLite3.Core Data 的运用: 在本节,将通过对4个文本框内容的创建.修改,退出后台,再重新回到后台,来认识这两种持久化数据的方式.效果图如下[图1]: [图1 GUI界面效果图] [本次开发环境: Xcode:7.2     iOS Simulator:iphone6S plus   By:啊左]     一.数据库SQL

Android中如何使用命令行查看内嵌数据库SQLite3

在上图中,除了最后一个红色的方框,其它方框都是adb shell下的命令. [1]在Android程序中,一般创建的数据库存放在 /data/data/[应用程序包名]/databases 的目录下. [2]cd 命令:文件夹跳转命令.ls 命令:查看某个文件夹下面有哪些文件. [3]使用 "sqlite3 [数据库名称] " 命令来对某数据库进行一系列的操作. [4]在经过第[3]步骤后,可以使用 .tables 命令查看某数据库中包含哪些表.若要查询某表中包含的数据,在 sqlit

数据库sqlite3的使用-Navicat的安装

一:Navicat Navicat是一款著名的数据库管理软件,支持大部分主流数据库(包括SQLite) 1.Navicat的安装 (1)下载该软件后,先打开该软件 (2)把文件拖入到应用程序拷贝 (3)破解版,千万不要打开app,先打开sn.app (4)点击patch,找到应用程序的路径,点击open. (5)点击Generate,生成注册码 (6)点击activate,选择文件,open (7)退出sn,打开安装文件,完成安装 2.Navicat的使用 新建一个SQLite3数据库 创建一个

数据库 --> sqlite3总结

Sqlite3总结 SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中. sqlite语句 #sqlite3 test.db //当前目录下建立或打开test.db数据库文件 sqlite>.database //查看数据库文件信息命令(注意命令前带字符'.') sqlite>.schema //查看所有表的创建语句 sqlite>.schema table_name //查看指定表的创建语句 sqlite>.dump table_n

iOS:本地数据库sqlite3的使用

一.数据库的概念: 1..什么是数据库 SQL Server 2010.Oracle.MySQL 关系数据库 NoSQL数据库-非关系型数据库 数据库主要由表组成 表由字段组成 数据 就是表中的记录 表间的关系:一对一.一对多(订单:订单的头和订单明细) 外键 主键:建立索引,不能重复 2.SQL(结构化查询语言)语句 A.数据操作的SQL语句: 2.1 查询     select(字段名) from(表名):     where 子句:定义查询条件     排序:order by 字段名 (a

数据库sqlite3的使用-ios中引用方法

一.简单说明 在iOS中使用SQLite3,首先要添加库文件libsqlite3.dylib和导入主头文件. 导入头文件,可以使用库中的函数(是纯C语言的) 二.具体说明 新建一个项目,在项目的主界面中放四个按钮(分别是,增加.删除.修改.查询). 1.sqlite3_open(<#const char *filename#>, <#sqlite3 **ppDb#>)函数的一些说明: (1)作用:把一个文件名称传递给他,它会自动检测这个文件是否存在,如果不存在的话,会自动创建相应的