嵌入式数据库(1)
来源:互联网 发布:淘宝tbi文件怎么打开 编辑:程序博客网 时间:2024/09/21 09:25
1、数据库基础知识
①数据库(DataBase,简记为DB)就是一个有结构的、集成的、可共享的统一管理的数据集合。它不仅包括数据本身,而且包括相关数据之间的联系。数据库技术主要研究如何存储、使用和管理数据;
所谓有结构的,指的是数据是按一定的模型组织起来的。
(数据模型可用数据结构来描述;数据模型决定数据的组织方式、操作方法;理解数据库的前提是理解数据模型;现在的数据库多数是以关系模型来组织数据的;可以简单地把关系模型的数据结构-关系理解成为一张二维表)
所谓集成的,是指数据库中集中存放着企业各种各样的数据。
(集中存放的好处是:一个数据只需一个备份,重复存储少,即消除了数据的冗余;没有数据冗余,也就能保证数据的一致)
所谓共享,指的是数据库中的数据可以被不同的用户使用。也就是说,每一个用户可以按自己的要求访问相同的数据库。
所谓统一管理的,指的是数据库由DBMS统一管理,任何数据访问都是通过DBMS来完成的。
②数据库管理系统(DataBase Management System,DBMS)
是用来管理数据库的一种商品化软件;所有访问数据库的请求都由DBMS来完成的;DBMS提供了操作数据库的许多命令(语言),即SQL语言。
③数据库管理系统的层次结构
根据处理对象的不同,数据库管理系统的层次结构由高级到低级依次为应用层、语言翻译处理层、数据存取层、数据存储层、操作系统。
④常见的关系型数据库管理系统:
目前有许多数据库产品,如Oracle、SQL Server、DB2、MySQL、Access,SQLite3等产品各以自己特有的功能,在数据库市场上占有一席之地。
④数据模型的组成要素
(1) 数据结构
(2) 数据操作
(3) 数据的完整性约束
⑤数据模型:层次数据模型;网状数据模型;关系数据模型;面向对象数据库模型;
层次模型按树型结构组织数据,它是以记录类型为结点,以结点间联系为边的有序树,数据结构为有序树或森林。
优点:数据结构很类似于金字塔,不同层次之间的关联性直接而且简单。
缺点:由于数据纵向发展,横向关系难以建立,数据可能会重复出现,造成管理维护的不便。
网状模型用网状结构表示实体及其之间的联系,网中结点之间的联系不受层次限制,可以任意发生联系。
优点:避免了数据的重复性,具有良好的性能,存取效率高。
缺点:关联性比较复杂,尤其是当数据库变得越来越大时,关联性的维护会非常麻烦。
关系型数据库模型:用关系(二维表格形式结构)来表示实体类型以及实体间联系的模型称为关系模型。关系数据模型是由IBM公司的E.F.Codd于1970年首次提出,以关系数据模型为基础的数据库管理系统,称为关系数据库系统(RDBMS),目前广泛使用。
面向对象数据库模型:使用面向对象技术(Object-Oriented,简称OO)来表示信息世界的实体类型及实体之间联系的模型称为对象模型。
⑥数据库系统的三级模式结构
数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级组成。
外模式(External Schema) :
外模式也称子模式或用户模式,它是数据库用户(包括应用程序员和最终用户)看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。外模式一般是模式的子集。一个模式可以有多个外模式。一个应用程序只能使用一个外模式。外模式是保证数据库安全性的一个有力措施。
模式(Schema) :
模式也称为逻辑模式或概念模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公用数据视图。一个数据库只有一个模式。模式是数据项值的框架。数据库系统模式通常还包含有访问控制、保密定义、完整性检查等方面的内容。
内模式(internal Schema) :
内模式也称为存储模式,它是数据库在物理存储器上具体实现的描述,是数据在数据库内部的表示方法,也是数据物理结构和存储方式的描述。一个数据库只有一个内模式
⑦二级映像功能与数据独立性
数据库系统在三级模式之间提供了两层映像:外模式/模式映像和模式/内模式映像。正是这两层映像保证了数据库系统的数据能够具有较高的逻辑独立性和物理独立性。
2、关系数据库理论
①关系术语和定义
关系(Relation):一个关系就是一张二维表,每一个关系有一个关系名,可以存储为一个文件。其定义可以描述为 的子集叫做域 , ,…, 上的关系,表示为 ,R表示关系的名称,n表示关系的目或度(Degree)。
元组:表中的行称为元组,一行就是一个元组,对应存储文件中的一个记录。
属性:关系中的一列称为一个属性。一个属性必须有唯一的属性名,一个关系可以有若干个属性值。
域(Domain):属性的取值范围,是一组具有相同数据类型的值的集合。
②关系的候选键与主键
表中某一列(或若干列的最小组合)的值能惟一标识一个行,称该列或列组为候选键。如Students表的学号列,就是一个候选键。
对于一个表,可能有多个候选键。
候选键取决于应用范围,如给定条件,没有重复的学生姓名,则姓名是学生基本情况表的一个候选键。
如果一个表有多个候选键,数据库设计者通常选择其中一个候选键作为区分行的惟一性标识符,称为主键(primary key,PK)。如果一个表只有一个候选键,那么这个候选键就作为主键。例如,在学生基本情况表中,把学号作为该表的主键。
因为主键是候选键之一,而根据候选键的定义,候选键列上的各个值都惟一,因此主键列上的各个值也都惟一
③外键(Foreign Key,FK):若一个表R1中的一个列或列组对应另一个表R2的主键,那么该列或列组称为表R1的外键。
外键可以由一个或多个列组成,可以有重复值
3、嵌入式数据库综述
嵌入式数据库的基本要求
体积适当:由于嵌入式系统自身的特点,对数据的存储和程序的运行都有较强的空间限制,所以嵌入式数据库首先应该保障的就是适当的体积。进一步来说就是占用尽量少的ROM、RAM及CPU的资源。
可移植性:嵌入式系统的平台种类繁多,因此嵌入式数据库应有一定的可移植性,以适用于不同的软硬件平台。特别是要考虑到不同存储介质的特性,比如NAND的读特性。
编程接口简单:不必要提供完整的SQL和数据库连接方式。
代码开源:开源的代码在产品的开发过程中不仅可以减少开发成本,更重要的是为后期的维护完善和稳定运行都提供了最为彻底的解决方法。
- 嵌入式数据库(1)
- 嵌入式数据库(转)
- 嵌入式数据库(一)
- 嵌入式数据库(二)
- 嵌入式数据库(三)
- 嵌入式数据库(四)
- 嵌入式数据库(五)
- 嵌入式数据库(六)
- 嵌入式数据库(七)
- 嵌入式数据库(八)
- 嵌入式数据库(九)
- 嵌入式数据库(十)
- 嵌入式数据库(十一 )
- 嵌入式数据库(十二)
- 嵌入式数据库(十三)
- 嵌入式数据库(十四)
- 嵌入式数据库(十五)
- 嵌入式数据库程序(Linux)
- PostMan学习之路(1 HTTP篇)
- PAT天梯赛L2-001. 紧急救援 dijk经典最短路劲+点权最大+记录路径
- 如何使用War包部署Tomcat
- 重回HDOJ刷的两道水题
- Date类/Calendar类/SimpleDateFormat类
- 嵌入式数据库(1)
- uboot下init_sequence_f函数之reserve_legacy_video
- 仿DOTA2游戏页面
- 数据结构系列之链表——循环链表(约瑟夫环)
- Android Studio -修改LogCat的颜色*美爆了*
- 北邮oj 279汇编
- 淘宝会员等级switch语句(第三次)
- 精通23种设计模式——工厂方法模式
- uboot下init_sequence_f函数之reserve_trace