精华内容
参与话题
问答
  • 嵌入式数据库

    千次阅读 2019-07-18 15:33:44
    嵌入式数据库的名称来自其独特的运行模式。这种数据库嵌入到了应用程序进程中,消除了与客户机服务器配置相关的开销。嵌入式数据库实际上是轻量级的,在运行时,它们需要较少的内存。它们是使用精简代码编写的,对于...

    嵌入式数据库的名称来自其独特的运行模式。这种数据库嵌入到了应用程序进程中,消除了与客户机服务器配置相关的开销。嵌入式数据库实际上是轻量级的,在运行时,它们需要较少的内存。它们是使用精简代码编写的,对于嵌入式设备,其速度更快,效果更理想。嵌入式运行模式允许嵌入式数据库通过 SQL 来轻松管理应用程序数据,而不依靠原始的文本文件。嵌入式数据库还提供零配置运行模式,这样可以启用其中一个并运行一个快照
    SQL语法

    1. 数据定义(DDL):用户定义,删除和修改数据模式
    2. 数据查询(DQL):用于查询数据
    3. 数据操控(DML):用于增,删,改数据
    4. 数据控制(DCL):用于控制数据访问权限
    SQL功能 命令动词
    数据查询 SELECT
    数据定义 CREATE ,DROP,ALTER
    数据操控 INSERT ,UPDATE,DELETE
    数据控制 GRANT,REVOKE,DENY

    SQL的语法很像自然语言,每个语句都是一个祈使句,以动词开头,表示要做的动作,
    如 select id from foods where name = “Jujyfruit”——一般的SQL语法结构,

    SQL由命令组成,每个命令以分号(;)结束,如下面是三个独立的命令:

    1. SELECT id,name FROM foods ;
    2. INSERT INTO foods VALUES (NULL,‘whataburger’);

    常量
    也称为Literals,表示确切的值,有三种:字符串常数,数据常量和二进制常量
    字符串常量如:‘Jerry’ ‘Newman’ ‘JujyFruit’
    数字常量 :数字常量有整数,十进制数和科学计数法表示的数
    二进制值用如x‘0000’的表示法,其中每个数据是一个16进制数

    创建数据库
    一 丶创建表
    在SQL中,创建和删除数据库对象的语句一般称为数据定义语言,操作这些对象中的数据语言称为数据操作语言
    如下定义
    CREATE[TEMP] TABLE tablle_name (column_definitions,[constraints];
    CREATE TABLE命令至少需要一个表名和一个字段名,命令中table_name表示表名,必须与其他所有的标识符不同。
    column_definitions表示一个用逗号分隔的字段列表,每个字段定义包括一个名称,一个域和一个逗号分隔的字段约束表
    在SQLite中有5种本地类型:INTTEGER , REAL , TEXT ,BLOB ,NULL
    实例

    create table foods (id integer primary key,type_id integer,name text)
    

    二丶改变表
    你可以用ALTER TABLE命令改变表的结构。SQLite版的ALTER TABLE命令既可以改变表名,也可以增加字段。一般格式为:
    ALTER TABLE table { RENAME TO name | ADD COLUMN column_def }

    sqlite> ALTER TABLE contacts
    ADD COLUMN email TEXT NOT NULL DEFAULT ‘’ COLLATE NOCASE;
    sqlite> .schema contacts
    CREATE TABLE contacts ( id INTEGER PRIMARY KEY,
    name TEXT NOT NULL COLLATE NOCASE,
    phone TEXT NOT NULL DEFAULT ‘UNKNOWN’,
    email TEXT NOT NULL DEFAULT ‘’ COLLATE NOCASE,
    UNIQUE (name,phone) );
    显示了当前的表定义

    三丶查询
    SELECT <目标列名序列>
    FROM <数据源>
    [WHERE <检索条件表达式>]
    [GROUP BY <分组依据列>]
    [HAVING <分组提取条件>]
    [ORDER BY <排序依据列>]
    基本结构
    SELECT <目标列名序列>(需要哪些列)
    FROM <表名序列> (从哪些表)
    WHERE <查询条件> (根据什么条件)
    例如
    对于下表
    在这里插入图片描述
    例1. 查询全体学生 的学号与姓名

    SELECT Sno,Sname  	FROM Student
    

    例2,查询全体学生的详细记录

    SELECT Sno,Sname,Ssex, Sage, Sdept FROM Student  等价于 SELECT * 
      FROM Student 
    

    比较大小 (<,>,<=,>=,=,<>)
    例3.查询计算机系全体学生

    SELECT Sname FROM Student 
    	WHERE Sdept=’CS’ 
    

    例4,查询所有年龄在20岁以下的学生姓名及其年龄

    SELECT Sname, Sage  FROM Student  	WHERE Sage < 20
    或者 SELECT Sname, Sage  FROM Student 	WHERE NOT Sage >= 20
    

    例5,查询年龄在20~23岁之间的学生的姓名、所在系和年龄

    SELECT Sname, Sdept, Sage  FROM Student 
    	 WHERE Sage BETWEEN 20 AND 23
     等价于
    	 SELECT Sname, Sdept, Sage  FROM Student 
    	  WHERE Sage >=20 AND Sage<=23 
    

    例6,查询年龄不在20~23之间的学生姓名、所在系和年龄

    ELECT Sname, Sdept, Sage  FROM Student 
      WHERE Sage NOT BETWEEN 20 AND 23
    等价于
    SELECT Sname, Sdept, Sage  FROM Student 
     	  WHERE Sage <20 OR Sage>23
    

    例7,查询信息系(IS)、数学系(MA)和计算机系(CS)学生的姓名和性别。

    SELECT Sname, Ssex  FROM Student 
    	  WHERE Sdept IN(‘IS’,‘CS’, ‘MA’)
    等价于
    SELECT Sname, Ssex  FROM Student 
    	   WHERE  Sdept=‘IS’ OR 
    		              Sdept=‘MA’ OR
                           Sdept=‘CS’ 
    

    例8,查询名字中第2个字为“海”字的学生的姓名和学号

    SELECT Sname, Sno 
    	FROM Student 
    	WHERE Sname LIKE ‘_海%
    

    例9,查询所有不姓“刘”的学生

    SELECT Sname 
    	 FROM Student 
    	 WHERE Sname NOT LIKE ‘刘%’
    

    涉及空值的查询
    空值是未确定的值或其值尚不知道
    例如,学生选课,在开学初学生只有选课记录,没有修课成绩,这时成绩一项的值就是空值。
    不能用=或<>,只能用IS NULL或IS NOT NULL
    例10,查询无成绩的学生的学号和相应的课程号

    SELECT Sno, Cno FROM SC 
    	WHERE Grade IS NULL 
    
    展开全文
  • 嵌入式数据库是嵌入式系统的重要组成部分,也成为对越来越多的个性化应用开发和管理而采用的一种必不可少的有效手段。嵌入式数据库用途广泛,如用于消费电子产品、移动计算设备、企业实时管理应用、网络存储与管理...
  • 本文在对嵌入式数据库特性研究的基础上,设计出一种嵌入式数据库系统的体系结构。结合嵌入式数据库的特点,运用SQLite在ARM-Linux平台上构建嵌入式数据库系统。
  • 嵌入式数据库的名称来自其独特的运行模式。这种数据库嵌入到了应用程序进程中,消除了与客户机服务器配置相关的开销。嵌入式数据库实际上是轻量级的,在运行时,它们需要较少的内存。  一、嵌入式数据库简介  ...
  • 嵌入式数据库H2

    千次阅读 2018-04-18 10:54:28
    概述由于项目中需要将数据库嵌入到程序中,一起打包发给客户使用,所以需要使用嵌入式数据库,目前常用的嵌入式数据库有:Berkeley DB、Couchbase Lite、LevelDB、SQLite、UnQLite、H2等,由于H2具有以下特点,所以...

    概述

    由于项目中需要将数据库嵌入到程序中,一起打包发给客户使用,所以需要使用嵌入式数据库,目前常用的嵌入式数据库有:Berkeley DB、Couchbase Lite、LevelDB、SQLite、UnQLite、H2等,由于H2具有以下特点,所以最终选择了H2作为存储数据库。

    1、纯Java编写,不受平台的限制;
    
    2、只有一个jar文件,适合作为嵌入式数据库使用;
    
    3、h2提供了一个十分方便的web控制台用于操作和管理数据库内容;
    
    4、功能完整,支持标准SQL和JDBC。麻雀虽小五脏俱全;
    
    5、支持内嵌模式、服务器模式和集群。
    

    一、H2简介

    H2是一个用Java开发的嵌入式数据库,它本身只是一个类库,可以直接嵌入到应用项目中。

    H2最大的用途在于可以同应用程序打包在一起发布,这样可以非常方便地存储少量结构化数据。
    它的另一个用途是用于单元测试。启动速度快,而且可以关闭持久化功能,每一个用例执行完随即还原到初始状态。

    H2的第三个用处是作为缓存,作为NoSQL的一个补充。当某些场景下数据模型必须为关系型,可以拿它当Memcached使,作为后端MySQL/Oracle的一个缓冲层,缓存一些不经常变化但需要频繁访问的数据,比如字典表、权限表。不过这样系统架构就会比较复杂了。

    二、下载和安装

    1、下载

    H2数据库下载地址:http://www.h2database.com/html/download.html
    

    Windows、Linux下都可以直接解压缩就用。

    2、安装

    解压缩后的目录结构:

      h2

      |—bin

      | |—h2-1.1.116.jar   //H2数据库的jar包(驱动也在里面)

      | |—h2.bat    //Windows控制台启动脚本

      | |—h2.sh //Linux控制台启动脚本

      | |—h2w.bat //Windows控制台启动脚本(不带黑屏窗口)

      |—docs //H2数据库的帮助文档(内有H2数据库的使用手册)

      |—service //通过wrapper包装成服务。

      |—src //H2数据库的源代码

      |—build.bat //windows构建脚本

      |—build.sh //linux构建脚本

      此时就算“安装”完成了。

    三、运行模式与运行方式

    1、运行模式

      H2有三种运行模式。

    (1)内嵌模式(Embedded Mode)
    
    内嵌模式下,应用和数据库同在一个JVM中,通过JDBC进行连接。 可持久化,但同时只能一个客户端连接。内嵌模式性能会比较好。
    
    (2)服务器模式(Server Mode)
    
    使用服务器模式和内嵌模式一样,只不过它可以跑在另一个进程里。
    
    (3)混合模式
    
    第一个应用以内嵌模式启动它,对于后面的应用来说它是服务器模式跑着的。混合模式是内嵌模式和服务器模式的组合。第一个应用通过内嵌模式与数据库建立连接,同时也作为一个服务器启动,于是另外的应用(运行在不同的进程或是虚拟机上)可以同时访问同样的数据。第一个应用的本地连接与嵌入式模式的连接性能一样的快,而其它连接理论上会略慢。 
    

    2、运行方式

      开发中肯定是Server Mode方便,因为需要用工具管理数据。所以进入H2的bin目录。如下图:

    如果你在Win环境可以运行h2.bat或h2w.bat。区别只是后者是后台静默运行

    四、应用程序开发

    1、通过远程浏览器来访问h2

    访问地址:http://服务器ip:8082/ ,出现如下页面:
    

    2、路径的配置

    jdbc:h2:~/test是H2的路径。
    User name : sa是h2默认的用户,密码可空。最好设置下密码,尤其当你的H2部署在公网时。不然会被无聊人把数据删掉。
    

    3、连接

    点击如图Test connect按钮测试连接。此时如果数据库文件本身不存在则会自动创建。点击Connect,进入管理终端。
    

    H2的管理终端做得很不错的。按Ctrl+Enter执行输入区的SQL,按Shift+Enter执行当前选中的SQL。

    五、应用程序开发

    1、加入Maven依赖

    <dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <version>1.4.195</version>
    </dependency>
    

    2、创建db.properties

    driverClassName=org.h2.Driver
    

    此处的写法是使用嵌入模式链接H2库,紧接着那行是使用Server Mode用tcp连接。区别一个是前者性能更好,后者可同时多个客户端连接

    url=jdbc:h2:D:/test
    #url=jdbc:h2:tcp://1localhost//usr/h2/data/rlib
    username=sa
    password=
    

    PS:在使用嵌入模式链接H2库时,使用管理页面连接会报错如下:

    六、H2管理工具-DBeaver

    可通过数据库管理工具DBeaver来有效管理H2,直接从网上下载即可,这里不提供下载和安装过程

    打开DBeaver.exe,操作如下图:

    输入用户名sa

    密码自己设置一个 也可以不设,点击下一步

    打开test数据库,即可对表进行增删改查操作了

    更多博客内容详见我的博客 Wang's Blog

    展开全文
  • H2是一个短小精干的嵌入式数据库引擎,主要的特性包括:免费、开源、快速嵌入式的数据库服务器,支持集群提供JDBC、ODBC访问接口,提供基于浏览器的控制台管理程序Java编写,可使用GCJ和IKVM.NET编译短小精干的软件...
  • 纵观目前国际、国内嵌入式数据库的应用情况,目前基于嵌入式数据库应用的市场已经进入加速发展的阶段。  1 嵌入式数据库  1.1 嵌入式数据库的设计  嵌入式数据库系统是指支持某种特定计算模式或移动计算的...
  • SQLite嵌入式数据库系统设计,引言随着嵌入式系统的广泛应用及用户对数据处理和管理需求的不断提高,各种智能设备与数据库技术的紧密结合得到重视。这种数据库不仅具有传统数据库的主要功能,还具有嵌入式和支持移动...
  • firebird嵌入式数据库

    2012-07-27 11:27:57
    firebird嵌入式数据库
  • 接着,从嵌入式数据库的相关概念和煤矿井上  监控终端的嵌入式数据库需求及特点出发,详细研究Berkeley DB 数据库的关键技术特性以及在煤矿井上监控系统中的适用性,并介绍Berkeley DB 数据库的基本概念和基本API ...
  • 计算机课程资源 常用的嵌入式数据库比较 适合初学者.
  • 2 嵌入式数据库 SQLite SQLite是一个非常轻量级自包含(lightweight and self-contained)的DBMS它可移植性好很容易使用很小高效而且可靠SQLite嵌入到使用它的应用程序中它们共用相同的进程空间而不是单独的一个进程...
  • 在本教程中,我们将向您展示一些示例,以在Spring框架中配置嵌入式数据库引擎,例如HSQL,H2和Derby。 使用的技术: 春天4.1.6.RELEASE jUnit 4.1.2 Maven 3 嵌入式数据库经过测试: HSQLDB 2.3.2 ...
    hsql数据库管理器工具

    在本教程中,我们将向您展示一些示例,以在Spring框架中配置嵌入式数据库引擎,例如HSQL,H2和Derby。

    使用的技术:

    1. 春天4.1.6.RELEASE
    2. jUnit 4.1.2
    3. Maven 3

    嵌入式数据库经过测试:

    1. HSQLDB 2.3.2
    2. 氢气1.4.187
    3. 德比10.11.1.1

    嵌入式数据库的概念在开发阶段非常有用,因为它们轻巧,快速,启动时间短,可测试性强,易于配置,它使开发人员可以将更多精力放在开发上,而不是如何为数据库配置数据源,或浪费时间来启动重量级的数据库,仅测试几行代码。

    PS此嵌入式数据库功能自Spring 3起可用。

    1.项目依赖

    嵌入式数据库功能包含在spring-mvc 例如,要启动HSQL嵌入式数据库,需要同时包含spring-mvchsqldb

    pom.xml
    <properties>		
    		<spring.version>4.1.6.RELEASE</spring.version>
    		<hsqldb.version>2.3.2</hsqldb.version>
    		<dbh2.version>1.4.187</dbh2.version>
    		<derby.version>10.11.1.1</derby.version>
    	</properties>
    
    	<dependencies>
    
    		<!-- Spring JDBC -->
    		<dependency>
    			<groupId>org.springframework</groupId>
    			<artifactId>spring-jdbc</artifactId>
    			<version>${spring.version}</version>
    		</dependency>
    		
    		<!-- HyperSQL DB -->
    		<dependency>
    			<groupId>org.hsqldb</groupId>
    			<artifactId>hsqldb</artifactId>
    			<version>${hsqldb.version}</version>
    		</dependency>
    
    		<!-- H2 DB -->
    		<dependency>
    			<groupId>com.h2database</groupId>
    			<artifactId>h2</artifactId>
    			<version>${dbh2.version}</version>
    		</dependency>
    
    		<!-- Derby DB -->
    		<dependency>
    			<groupId>org.apache.derby</groupId>
    			<artifactId>derby</artifactId>
    			<version>${derby.version}</version>
    		</dependency>
    
    	</dependencies>

    2. Spring XML中的嵌入式数据库

    使用Spring XML创建嵌入式数据库并初始化一些脚本以创建表和插入数据的示例。 Spring将使用id标签的值创建数据库名称,在以下示例中,数据库名称将为“ dataSource”。

    2.1 HSQL示例

    <jdbc:embedded-database id="dataSource" type="HSQL">
    		<jdbc:script location="classpath:db/sql/create-db.sql" />
    		<jdbc:script location="classpath:db/sql/insert-data.sql" />
    	</jdbc:embedded-database>

    2.2 H2示例

    <jdbc:embedded-database id="dataSource" type="H2">
    		<jdbc:script location="classpath:db/sql/create-db.sql" />
    		<jdbc:script location="classpath:db/sql/insert-data.sql" />
    	</jdbc:embedded-database>

    2.3 Derby示例。

    <jdbc:embedded-database id="dataSource" type="DERBY">
    		<jdbc:script location="classpath:db/sql/create-db.sql" />
    		<jdbc:script location="classpath:db/sql/insert-data.sql" />
    	</jdbc:embedded-database>

    将创建以下“ JDBC驱动程序连接”:

    1. HSQL – jdbc:hsqldb:mem:dataSource
    2. H2 – jdbc:h2:mem:dataSource
    3. DERBY – jdbc:derby:memory:dataSource

    3. Spring代码中的嵌入式数据库

    以编程方式创建嵌入式数据库的示例。 如果没有通过EmbeddedDatabaseBuilder.setName()定义数据库名称,Spring将分配一个默认的数据库名称“ testdb”。

    import javax.sql.DataSource;
    
    import org.springframework.jdbc.datasource.embedded.EmbeddedDatabase;
    import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder;
    import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType;
    //...
    
    	@Bean
    	public DataSource dataSource() {
    		
    		// no need shutdown, EmbeddedDatabaseFactoryBean will take care of this
    		EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder();
    		EmbeddedDatabase db = builder
    			.setType(EmbeddedDatabaseType.HSQL) //.H2 or .DERBY
    			.addScript("db/sql/create-db.sql")
    			.addScript("db/sql/insert-data.sql")
    			.build();
    		return db;
    	}
    @ComponentScan({ "com.mkyong" })
    @Configuration
    public class SpringRootConfig {
    
    	@Autowired
    	DataSource dataSource;
    
    	@Bean
    	public JdbcTemplate getJdbcTemplate() {
    		return new JdbcTemplate(dataSource);
    	}

    将创建以下“ JDBC驱动程序连接”:

    1. HSQL – jdbc:hsqldb:mem:testdb
    2. H2 – jdbc:h2:mem:testdb
    3. DERBY – jdbc:derby:memory:testdb

    4.单元测试

    一个简单的单元测试示例,用于测试具有嵌入式数据库的DAO。

    4.1创建表和插入数据的SQL脚本。

    create-db.sql
    CREATE TABLE users (
      id         INTEGER PRIMARY KEY,
      name VARCHAR(30),
      email  VARCHAR(50)
    );
    insert-data.sql
    INSERT INTO users VALUES (1, 'mkyong', 'mkyong@gmail.com');
    INSERT INTO users VALUES (2, 'alex', 'alex@yahoo.com');
    INSERT INTO users VALUES (3, 'joel', 'joel@gmail.com');

    4.2用H2嵌入式数据库对UserDao进行单元测试。

    UserDaoTest.java
    package com.mkyong.dao;
    
    import org.junit.After;
    import org.junit.Assert;
    import org.junit.Before;
    import org.junit.Test;
    import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
    import org.springframework.jdbc.datasource.embedded.EmbeddedDatabase;
    import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder;
    import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType;
    
    import com.mkyong.model.User;
    
    public class UserDaoTest {
    
        private EmbeddedDatabase db;
        UserDao userDao;
        
        @Before
        public void setUp() {
            //db = new EmbeddedDatabaseBuilder().addDefaultScripts().build();
        	db = new EmbeddedDatabaseBuilder()
        		.setType(EmbeddedDatabaseType.H2)
        		.addScript("db/sql/create-db.sql")
        		.addScript("db/sql/insert-data.sql")
        		.build();
        }
    
        @Test
        public void testFindByname() {
        	NamedParameterJdbcTemplate template = new NamedParameterJdbcTemplate(db);
        	UserDaoImpl userDao = new UserDaoImpl();
        	userDao.setNamedParameterJdbcTemplate(template);
        	
        	User user = userDao.findByName("mkyong");
      
        	Assert.assertNotNull(user);
        	Assert.assertEquals(1, user.getId().intValue());
        	Assert.assertEquals("mkyong", user.getName());
        	Assert.assertEquals("mkyong@gmail.com", user.getEmail());
    
        }
    
        @After
        public void tearDown() {
            db.shutdown();
        }
    
    }

    做完了

    5.查看嵌入式数据库的内容?

    为了访问或查看嵌入式数据库,特定的“数据库管理器工具”必须以启动嵌入式数据库的相同Spring容器或JVM启动。 此外,“数据库管理器工具”必须在嵌入式数据库Bean之后启动,最好通过观察Spring的日志以识别Bean的加载顺序来解决。

    “ HSQL数据库管理器”是一个很好的工具,只需在同一Spring容器中启动即可。

    @PostConstruct
    public void startDBManager() {
    		
    	//hsqldb
    	//DatabaseManagerSwing.main(new String[] { "--url", "jdbc:hsqldb:mem:testdb", "--user", "sa", "--password", "" });
    
    	//derby
    	//DatabaseManagerSwing.main(new String[] { "--url", "jdbc:derby:memory:testdb", "--user", "", "--password", "" });
    
    	//h2
    	//DatabaseManagerSwing.main(new String[] { "--url", "jdbc:h2:mem:testdb", "--user", "sa", "--password", "" });
    
    }

    或带有MethodInvokingBean Spring XML

    <bean depends-on="dataSource"
    	class="org.springframework.beans.factory.config.MethodInvokingBean">
    	<property name="targetClass" value="org.hsqldb.util.DatabaseManagerSwing" />
    	<property name="targetMethod" value="main" />
    	<property name="arguments">
    		<list>
    			<value>--url</value>
    			<value>jdbc:derby:memory:dataSource</value>
    			<value>--user</value>
    			<value>sa</value>
    			<value>--password</value>
    			<value></value>
    		</list>
    	</property>
    </bean>

    图:HSQL数据库管理器工具,访问嵌入式数据库。

    hsql数据库管理器工具

    6.连接池

    连接dbcp连接池的示例。

    <!-- jdbc:hsqldb:mem:dataSource -->
    	<jdbc:embedded-database id="dataSource" type="HSQL">
    		<jdbc:script location="classpath:db/sql/create-db.sql" />
    		<jdbc:script location="classpath:db/sql/insert-data.sql" />
    	</jdbc:embedded-database>
    	
    	<bean id="jdbcTemplate" 
    		class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate" >
    		<constructor-arg ref="dbcpDataSource" />
    	</bean>
    	
    	<bean id="dbcpDataSource" class="org.apache.commons.dbcp2.BasicDataSource"
    		destroy-method="close">
    		<property name="driverClassName" value="org.hsqldb.jdbcDriver" />
    		<property name="url" value="jdbc:hsqldb:mem:dataSource" />
    		<property name="username" value="sa" />
    		<property name="password" value="" />
    	</bean>

    下载源代码

    Github – spring-embedded-database.git

    参考文献

    1. JDBC嵌入式数据库支持
    2. Spring MethodInvokingFactoryBean示例
    3. Spring–查看HSQLDB嵌入式数据库的内容

    翻译自: https://mkyong.com/spring/spring-embedded-database-examples/

    展开全文
  • 嵌入式数据库原理与应用
  • 最近需要使用嵌入式数据库进行存储应用本地信息,本文章主要进行记录当前比较流行的嵌入式数据库相关的链接,嵌入式数据库往往是以lib的形式存在,常用于持久化存储软件的信息,嵌入式数据库往往和应用软件紧密集成...
        

    最近需要使用嵌入式数据库进行存储应用本地信息,本文章主要进行记录当前比较流行的嵌入式数据库相关的链接,嵌入式数据库往往是以lib的形式存在,常用于持久化存储软件的信息,嵌入式数据库往往和应用软件紧密集成:

    特点:

    • database systems with differing application programming interfaces (SQL as well as proprietary, native APIs);
    • storage modes (on-disk, in-memory, and combined);
    • The term embedded database can be confusing because only a small subset of embedded database products are used in real-time embedded systems such as telecommunications switches and consumer electronics devices.[1] (See mobile database for small-footprint databases that could be used on embedded devices.) 

    常用的嵌入式数据库:(主要索引几个我比较感兴趣的数据库)

    其他相关链接:

    保持更新,本文章主要用来进行索引,详细内容请参考官方文档;更多相关内容请参考cnblogs.com/xuyaowen; 

    展开全文
  • 看过一篇嵌入式数据库架构的文章。 其中嵌入式数据库的存储结构和功能实现等均与Oracle数据库的实现方式有相似点。 写这篇文章用以记录嵌入式数据库的架构,可以与之前的Oracle结构体系对比来看,总结相同点和差异...
  • SQLite 作为一个开源的嵌入式数据库产品,具有系统开销小,检索效率高的特性,适用于手机、PDA、机顶盒设备等电器,并且作为嵌入式数据库在可下载的消费类应用程序中运行的很好。这篇文章介绍嵌入式数据库产品SQLite...
  • 嵌入式数据库总结

    千次阅读 2016-04-08 19:25:58
    嵌入式数据库嵌入式数据库是嵌入到应用程序中的轻量级数据库,其操作具有定时限制的特性。它是嵌入式系统的重要组成部分,也成为对越来越多的个性化应用开发和管理而采用的一种必不可少的有效手段。嵌入式数据库用途...
  • 可以说,嵌入式数据库的发展提高了数据信息接入的普遍性,使人们随时随地获取信息的愿望成为可能。  1 嵌入式数据库系统的体系结构  嵌入式数据库将数据库系统与操作系统和具体应用集成在一起,运行在各种智能...
  • 初次接触嵌入式数据库(Embedded Database)可能对这个概念总不是很清楚,它究竟与数据库服务器(Database Server)有什么区别,它们又分别适用于那些应用场景呢,这是需要解决的问题。 在谈区别之前,先来个感性...
  • Berkel ey DB和sQLite是源码开放的嵌入式数据库管理系统,无需安装,体积小巧,速度又很快;可以很方便地应用在掌上电脑、PDA、车载设备、移动电话等MySQL、SQL Server这些大中型数据库不可实现的嵌入式设备上。 ...
  • SQlite嵌入式数据库

    2020-08-07 09:04:55
    学习须知: 数据库:在数据库管理系统管理和控制之下,...嵌入式数据库的优点: 体积小,操作快 进入正式的学习sqlite数据库、 1.sqlite3数据库的安装: 本地安装(需要下包) sudo dpkg -i *.deb 在线安装(需要联
  • 1 嵌入式数据库  通常,我们采用数据库来实现对数据的存储、检索等功能。像MySQL这类基于C/S结构的关系型数据库系统,虽然代表着目前数据库应用的主流,却并不能满足所有应用场合的需要。很多的应用,仅仅利用到...
  • 三种主要嵌入式数据库

    千次阅读 2016-09-17 22:05:27
    什么是嵌入式数据库 嵌入式数据库与非嵌入式数据库的差别,在于运行模式的差别。并不是运行在嵌入式手持设备上的数据库就是嵌入式数据库,那种数据库我们通常称做嵌入式移动数据库。理论上讲,嵌入式设备一样...
  • 随着嵌入式技术的发展,嵌入式数据库逐步走向应用。本质上,嵌入式数据库是由通用数据库发展而来的,在各种嵌入式设备上或移动设备上运行,在嵌入式系统中更显示出其优越性,由于受到嵌入式系统本身应用环境的制约,...
  • vxworks嵌入式数据库SQLITE3移植教程
  • 同时,越来越多的用户希望能对嵌入式环境下的数据进行更有效的管理,构建嵌入式数据库便是一个有效的方法,使用户能在嵌入式设备中方便地存储、检索或修改数据,实现大部分传统数据库的功能。嵌人式系统和数据库技术...

空空如也

1 2 3 4 5 ... 20
收藏数 9,312
精华内容 3,724
关键字:

嵌入式数据库