×

对象数据库

对象数据库(sql 创建数据库)

admin admin 发表于2023-04-09 23:50:09 浏览52 评论0

抢沙发发表评论

本文目录一览:

数据库 数据对象是什么?

什么是数据库对象

数据库对象是数据库的组成部分,常见的有以下几种:

1 表(Table )

数据库中的表与我们日常生活中使用的表格类似,它也是由行(Row) 和列(Column)组成的。列由同类的信息组成,每列又称为一个字段,每列的标题称为字段名。行包括了若干列信息项。一行数据称为一个或一条记录,它表达有一定意义的信息组合。一个数据库表由一条或多条记录组成,没有记录的表称为空表。每个表中通常都有一个主关键字,用于惟一地确定一条记录。-对象数据库

2 索引(Index)

索引是根据指定的数据库表列建立起来的顺序。它提供了快速访问数据的途径,并且可监督表的数据,使其索引所指向的列中的数据不重复。

3 视图(View)

视图看上去同表似乎一模一样,具有一组命名的字段和数据项,但它其实是一个虚拟的表,在数据库中并不实际存。在视图是由查询数据库表产生的,它限制了用户能看到和修改的数据。由此可见,视图可以用来控制用户对数据的访问,并能简化数据的显示,即通过视图只显示那些需要的数据信息。-对象数据库

4 图表(Diagram)

图表其实就是数据库表之间的关系示意图。利用它可以编辑表与表之间的关系。

5 缺省值(Default)

缺省值是当在表中创建列或插入数据时,对没有指定其具体值的列或列数据项赋予事先设定好的值。

6 规则(Rule)

规则是对数据库表中数据信息的限制。它限定的是表的列。

7 触发器(Trigger)

触发器是一个用户定义的SQL事务命令的集合。当对一个表进行插入、更改、删除时,这组命令就会自动执行。

8 存储过程(Stored Procedure)

存储过程是为完成特定的功能而汇集在一起的一组SQL 程序语句,经编译后存储在数据库中的SQL 程序。

9 用户(User)

所谓用户就是有权限访问数据库的人。

“面向对象数据库”和“关系数据库”的区别是什么?

以关系数据库为例,SQL语言是一种非过程化的面向集合的语言,它虽然用起来非常简单,但由于是解释实现,效率不如人意。因此许多应用仍然是由高级程序设计语言(如C)来实现的,但是高级程序设计语言是过程化的,而且是面向单个数据的,这使得SQL与它之间存在着不匹配,我们把它叫做“阻抗失配”。不论你是用嵌入式SQL,还是CLI,都需要化很多工夫去完成两种语言之间的相互转化。 但是关系数据库在数据库系统方面发展地非常完善,有强大的管理功能和可操纵性。另外,关系模型具有坚实的数学基础。\x0d\x0a\x0d\x0a面向对象数据库的产生主要是为了解决“阻抗失配”,它强调高级程序设计语言与数据库的无缝连接。什么叫无缝连接,假设你 不用数据库,用C语言编了一个程序,你可以不需要(或基本不需要)任何改动就将它作用于数据库,即你可以用C语言透明访问数据库,就好象数据库根本不存在一样,所以也有人把面向对象数据库理解为语言的持久化。怎么样,听起来挺玄的吧,可是我们自己开发的数据库系统——OSCAR早就做到了这一点。 由于实现了无缝连接,使得面向对象数据库能够支持非常复杂的数据模型,从而特别适用于工程设计领域。打个比方,想象CAD中的一个复杂部件,它可能由成千上万个不同的零件组成,要是用关系模型中的表来表达,得用多少张表啊?而描述这种复杂的部件,正好是高级程序设计语言的强项。\x0d\x0a\x0d\x0a此外,面向对象数据库还吸收了面向对象程序设计语言的思想,如支持类、方法、继承等概念。 面向对象数据库很好地解决了阻抗失配的问题,但它也有缺点。它的缺点正好是关系数据库的强项,由于模型较为复杂(而且缺乏数学基础),使得很多系统管理功能难以实现(如权限管理),也不具备SQL处理集合数据的强大能力。\x0d\x0a\x0d\x0a另一方面,随着多媒体数据的大量出现和应用的日益复杂,关系数据库也在不断吸收面向对象数据库的优点,出现了现在所谓的对象关系型数据库(象ORACLE8i、DB2-5以上都是这种系统)。其主要改进包括支持自定义类型(UDT),方法,继承(目前仅DB2-6支持),和引用(使得对象间可以直接引用,想想原来的关系数据库需要靠连接来实现引用,性能真是惨不忍睹)。 总之,数据库系统发展的趋势是,面向对象数据库和关系数据库将不断融合。而对象关系数据库由于继承了上述两者的优点,已经成为目前数据库发展的主流。-对象数据库

Access数据库可以包含哪7个数据库对象??

Access 数据库由七种对象组成,它们是表、查询、窗体、报表、宏、页和模块。

1、表(Table)

表是数据库的基本对象,是创建其他5种对象的基础。表由记录组成,记录由字段组成,表用来存贮数据库的数据,故又称数据表。

2、查询(Query)

查询可以按索引快速查找到需要的记录,按要求筛选记录并能连接若干个表的字段组成新表。

3、窗体(Form)

窗体提供了一种方便的浏览、输入及更改数据的窗口。还可以创建子窗体显示相关联的表的内容。窗体也称表单。

4、报表(Report)

报表的功能是将数据库中的数据分类汇总,然后打印出来,以便分析。

5、宏(Macro)

宏相当于DOS中的批处理,用来自动执行一系列操作。Access列出了一些常用的操作供用户选择,使用起来十分方便。

6、模块(Module)

模块的功能与宏类似,但它定义的操作比宏更精细和复杂,用户可以根据自己的需要编写程序。模块使用Visual Basic编程。

7、页

页是一种特殊的直接连接到数据库中数据的一种WEB页。通过数据访问页将数据发布到Internet 或Intranet上,并可以适用浏览器进行数据的维护和操作。

扩展资料

Access的用途体现在两个方面:

一、用来进行数据分析: access有强大的数据处理、统计分析能力,利用access的查询功能,可以方便地进行各类汇总、平均等统计。并可灵活设置统计的条件。

比如在统计分析上万条记录、十几万条记录及以上的数据时速度快且操作方便,这一点是Excel无法与之相比的。

二、用来开发软件: access用来开发软件,比如生产管理、销售管理、库存管理等各类企业管理软件,其最大的优点是易学。

非计算机专业的人员,也能学会。低成本地满足了那些从事企业管理工作的人员的管理需要,通过软件来规范同事、下属的行为,推行其管理思想。

C#开源轻量级对象数据库NDatabase介绍[1]

前言

NDatabase是一个易于使用的 NET对象数据库 为了避免关系数据库带来的开销 可以尝试用NDatabase NDatabase是新一代的面向对象数据库 个原生的 NET数据库持久层 它的主要特征有 -对象数据库

·简单 NDatabase非常简单 很容易学习上手使用 它API是简单 不需要学习任何数据库映射技术 不需要对象和存储持久层之间的映射 NDatabase以最简单的方式存储对象 不需要安装和管理

·小 NDatabase 运行时小于 Kb 部署程序的时候 很容易集成到 NET应用程序中去

·安全健壮 NDatabase支持ACID事务处理 保证数据的完整性 即使在硬件故障的情况下 所有的提交工作都会应用到数据库 在下一次启动的时候自动执行

·单一数据库文件 NDatabase使用单一的文件存储所有的数据 包括元数据 对象 索引等

·生产率 NDatabase使用很少的代码来进行数据持久化 不需要映射 因此 开发人员可以专注于业务逻辑的实现 而不是在数据持久层浪费时间

NDatabase入门

基础设置

NDatabase中所有的数据库引擎设置都在OdbConfiguration类中 如BTree Validation 和BTree index degree的设置都在这个类里面 打开日志的设置也在这个类里面 NDatabase提供了默认的日志类实现 ConsoleLogger 可以使用OdbConfiguration类中的EnableConsoleLogger方法进行设置 实现好自定义的日志类后 还需要进行注册RegisterLogger方法 才能够使用 -对象数据库

OdbConfiguration RegisterLogger(new Log NetLogger())

使用索引

使用IOdb接口的IndexManagerFor方法可以为指定类型添加索引 如

using (var odb = OdbFactory Open( index ndb ))

{

var fields = new[] { Name };

odb IndexManagerForPlayer() AddUniqueIndexOn( nameIndex fields)

odb IndexManagerForGame() AddIndexOn( nameIndex new[] { Result })

}

使用事务

NDatabase可以使用事务来保证数据的完整性(ACID:原子性 一致性 隔离性 持久性) 当一个NDatabase被打开后 将会自动创建一个会话 包含一个特殊的当前事务对象 这个事务对象实例管理当前所有的数据和数据操作行为 -对象数据库

内存数据库模式

NDatabase可以将数据库所有数据直接加载到内存中 直接使用OdbFactory方法的 OpenInMemory即可

关于触发器

要增加一个触发器 首先要建立一个实现了Trigger 接口()的类 该接口有 种可用的类型(InsertTrigger UpdateTrigger SelectTrigger DeleteTrigger) 如 -对象数据库

public class MyTrigger : InsertTrigger

{

public override bool BeforeInsert(object obj)

{ return true; }

public override void AfterInsert(object obj OID oid)

{ }

}

在使用过程中 打开数据库后 要注册触发器 才能使用

var mage = new Mage( Merlin )

var myTrigger = new MyTrigger()

using (var odb = OdbFactory Open( inserting_trigger db ))

{

odb TriggerManagerForMage() AddInsertTrigger(myTrigger)

odb Store(mage)

}

lishixinzhi/Article/program/net/201311/16138