初识SQLITE3数据库


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

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

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

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

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

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

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

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

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

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

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

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

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

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

这是个什么东西呢?

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

是用来管理数据库的一种商品化软件。
所有访问数据库的请求都由DBMS来完成的。
DBMS提供了操作数据库的许多命令(语言),即SQL语言。
官方的解释非常复杂,什么应用层,语言翻译处理、数据存取层等等!好吧,我非常讨厌这样子,于是就有我来给大家缩减地来讲解!

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

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

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

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

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

其实它就是一个组合:

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

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

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

主要有4大类

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

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

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

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

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

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

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

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



相关阅读:
jQuery获取动态生成的元素示例
C#数组反转与排序实例分析
Linux系统Vim编辑器如何安装YouCompleteMe插件?
php读取mssql的ntext字段返回值为空的解决方法
重装MySQL最后一步失败的完美解决方案(经验总结)
java中BigDecimal的操作方法
Win7系统运行cmd命令提示“Windows找不到文件”的故障原因及解决方法
Fedra7 建立DHCP服务器
HTML5 video 视频标签使用介绍
Android编程之SharedPreferences文件存储操作实例分析
win7自带日语输入法不能输入日语中的汉字该怎么办?
PHP中使用xmlreader读取xml数据示例
Linux VPN 出现 807 错误的解决办法
Winxp系统开机后蓝屏且提示错误代码0x0000000f4的解决方法
快速导航
PHP MySQL HTML CSS JavaScript MSSQL AJAX .NET JSP Linux Mac ASP 服务器 SQL jQuery C# C++ java Android IOS oracle MongoDB SQLite wamp 交通频道 作文范文 我佩服她作文450字 四川汶川地震征文-地震走了我们还有什么? 当前监狱民警管教能力不强的原因及解决对策 文具盒里的圣诞晚会 小学六年级作文3150字:殊胜!山西博物院 二十年,我欠您太多了 小学六年级作文350字:老说减肥的姨妈 孤独患者作文1600字 个性风趣车贴,各种水果们各显其才 谁解我紧锁千年的眉? 学习贯彻十七届四中全会精神 积极发展党内民主的新要求、新举措 假如我们是细菌作文600字 马年给领导拜年短信 幸好,我们都听见了作文1400字 不受控制的埋单 2012—2013学年小学第一学期工作总结 学期末校长发言稿 深爱,我无需打扰 县人口和计划生育局局长三年来述职报告 17岁,我敢和你一起飞 我的幸福密码作文1000字 小学六年级作文600字:松松的心事 生命天使作文550字 小学四年级作文500字:观察蚂蚁(二) 课题研究心得体会 送给自己的小情书 中秋节作文:和伙伴一起赏月 家乡的元宵节作文 微笑你的世界 请原谅,我的懦弱,我的残忍 你懂我的沉默,你懂我的转身离开,你懂我的心对吗?因为你懂我,所以我转身离开你时,你是那么的依依不舍,也选择了沉默....... 献给老爸的歌 金融专业大学生建设银行大堂导储实习报告 恶灵潭 重上庐山 祝福事业成功的句子 让我们一起快乐吧 我心爱的玩具作文200字 石油工人入党申请书范文 发结婚请帖怎么说 一只狗的临终遗言_关于狗临终遗言的作文1000字 冬至祝福 大三学年自我鉴定 大学生学年自我鉴定 记忆中的那份温暖 神龙之王第十章组建团队 牧童清平乐?村居(改为散文)作文600字 民主评议党员登记表自我评价 我只是个小女人(很现实但很真。) 在学校发生一件有趣的事600字 学雷锋? 风景描写片段

Copyright © 2016 phpStudy |