精华内容
下载资源
问答
  • 对象关系数据库

    千次阅读 2014-05-30 11:23:53
    对象-关系数据库正是把面向对象方法学与关系数据库系统技术相结合的产物。 按照“第三代数据库系统宣言”的文章的思想,一个面向对象数据库系统(OODBS)必须满足两个条件: (1)支持统一核心的面向对象数据模型; ...
    使用面向对象方法学可以定义任何一种DBMS数据库,即网络型、层次型、关系型、面向对象型均可,甚至文件系统设计可以遵循面向对象的思路。对象-关系数据库正是把面向对象方法学与关系数据库系统技术相结合的产物。
    按照“第三代数据库系统宣言”的文章的思想,一个面向对象数据库系统(OODBS)必须满足两个条件:
    (1)支持统一核心的面向对象数据模型;
    (2)支持传统数据库系统所有的数据库特征。
    也就是说,面向对象数据库系统必须保持第二代数据库系统所具有的非过程化数据存取方式和数据独立性,既能很好地支持对象管理,又能更好的支持现有的各种优秀的数据管理技术。
    对象-关系数据库系统将关系数据库系统与面向对象数据库系统两方面的特征的相结合,增强了数据库的功能,使之具备了主动数据库和知识库的特性。对象-关系数据库系统除了具有原来关系数据库的各种特点外,还具备以下特点:
    (1)应具有扩充数据类型。目前商品化的关系型数据系统只能支持某一固定的类型集,而不能依据某一应用特殊需求来扩展其类型集。而对象-关系数据库系统应具有允许用户利用面向对象技术扩充数据类型,允许用户根据应用需求自己定义一个新的数据类型及相应的操作。新的数据类型、操作一经定义,就如同基本数据类型一样可供所有用户共享。
    (2)支持复杂对象。对象-关系数据库系统能够在SQL中支持复杂对象,实现对复杂对象的查询等处理。复杂对象是指由多种基本类型或用户自定义的数据类型构成的对象。
    (3)支持继承的概念。继承是面向对象技术的一个重要概念,对象-关系数据库系统能够支持子类、超类的概念,即支持继承的概念,如能够实现属性数据的继承和函数及过程的继承等;而且支持单继承与多继承等,也支持函数重载等面向对象的重要思想。
    (4)提供通用的规则系统。对象-关系数据库系统能提供强大而通用的规则系统。在传统的关系型数据库系统中,一般用触发起来保证数据库中数据的完整性,触发器是规则的一种形式。对象-关系数据库系统要支持地规则系统应该更通用,更灵活,并且要与其它的对象-关系处理方式相统一。例如规则中的事件和动作可以是合适的SQL语句,可以使用自定义函数,规则也能够被继承等。
     
    另外参见:
    展开全文
  • PostGreSQL 是一个 对象关系数据库系统(ORDBMS),对象关系数据库?之前只听过关系关数据(SQL Server、Oracle、MySql等等),非关系型数据库(MongoDB、CouchDB、Hbase、Redis等等),个人理解非关系型数据库就是...

    PostGreSQL 是一个 对象关系数据库系统(ORDBMS),对象关系数据库?之前只听过关系关数据(SQL Server、Oracle、MySql等等),非关系型数据库(MongoDB、CouchDB、Hbase、Redis等等),个人理解非关系型数据库就是对象数据库,从数据库类型上来看,PostGreSQL是主流的俩类数据库的结合呀,瞬间感觉高大上起来啦,后来了解到PostGreSQL早在1987年就被正式发布使用来(当时我还没出生~~~),关键是它是类似MySQL的一个开源数据库,而且关于它的论坛很多,真实不看不知道,一看吓一跳,瞬间感觉好落伍,决定好好学习学习。

    现在学习大多是有项目任务为主,开始不会深究原理,以正常使用为主,现在首先把环境打起来,熟悉下基本用法。

    一、PostGreSQL 官网

    http://www.enterprisedb.com/

    二、最新版本数据库下载与安装

    当前最新版本为9.4.4

    下载地址:

    http://www.enterprisedb.com/products-services-training/pgdownload#windows

    注:上面有各个操作系统的下载版本,这边我使用的比较windows版本

    安装步骤不复杂,我第一次安装在windows 7 安装的,一次成功,没有任何问题,当然后面在其他系统安装时遇到了一些问题,后面单独来总结下,这边的网上很多安装教程,这边提供一个链接,我就是照着上面安装的。

    http://blog.chinaunix.net/uid-354915-id-3498734.html

    三、基本数据库操作熟悉

    这里只列出基本数据库操作命令,不涉及到触发器、视图、存储过程等操作,也不涉及到系统备份还原等操作,高级操作在后面的学习中慢慢记录。

    创建用户

    create user quangao password 'quangao@123.com';

    创建角色

    create role quangao login password 'quangao@123.com';

    创建表空间

    create tablespace pnlyspace LOCATION 'D:/postgresql/data'

    创建命名空间属于哪个角色

    create tablespace pnlyspace owner quangao LOCATION 'D:/postgresql/data'

    创建数据库属于哪个角色和使用哪个表空间

    create database "pnly2" owner quangao tablespace pnlyspace;

    修改表空间

    alter database pnly set tablespace pnlyspace

    查选数据库所属角色和表空间

    SELECT datname,rolname,spcname FROM pg_database db, pg_authid au, pg_tablespace ts WHERE datname = 'pnly' AND datdba = au.oid AND dattablespace = ts.oid

    创建新表

    CREATE TABLE user_tbl(name VARCHAR(20), signup_date DATE);

    插入数据

    INSERT INTO user_tbl(name, signup_date) VALUES('张三', '2013-12-22');

    选择记录

    SELECT * FROM user_tbl;

    更新数据

    UPDATE user_tbl set name = '李四' WHERE name = '张三';

    删除记录

    DELETE FROM user_tbl WHERE name = '李四' ;

    添加栏位

    ALTER TABLE user_tbl ADD email VARCHAR(40);

    更新结构

    ALTER TABLE user_tbl ALTER COLUMN signup_date SET NOT NULL;

    更名栏位

    ALTER TABLE user_tbl RENAME COLUMN signup_date TO signup;

    删除栏位

    ALTER TABLE user_tbl DROP COLUMN email;

    表格更名

    ALTER TABLE user_tbl RENAME TO backup_tbl;

    删除表格

    DROP TABLE IF EXISTS backup_tbl;

    。。。。

    还有好多好多,其实上面这些在其他数据库中也基本上类似,这里只是熟悉下使用,不难看出,这和其他数据一样,标准语法,所以有其他数据库基础的情况下,入门门槛很低。

    这边并非技术文章,只是学习过程中的记录,内容不多,仅供备忘。。。

    展开全文
  • 关系数据库对象数据库

    千次阅读 2019-08-12 16:01:38
    关系数据库 关系数据库(英语:Relational database),是创建在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。...
    • 关系数据库

      关系数据库(英语:Relational database),是创建在关系模型基础上的数据库,借助于集合代数数学概念和方法来处理数据库中的数据。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。关系模型是由埃德加·科德于1970年首先提出的,并配合“科德十二定律”。现如今虽然对此模型有一些批评意见,但它还是数据存储的传统标准。

      标准数据查询语言SQL就是一种基于关系数据库的语言,这种语言执行对关系数据库中数据的检索和操作。

      关系模型由关系数据结构关系操作集合关系完整性约束三部分组成。

      [外链图片转存失败(img-tT691rkr-1565596874945)(D:\Wangdb\Typora\Typora图片\关系数据库.png)]

    • 对象数据库

      关系数据库(Relational database)对应,对象数据库是一种以对象形式表示信息的数据库。对象数据库的数据库管理系统被称为ODBMSOODBMS

      两个主要原因让用户使用对象数据库技术。

      • 首先,关系数据库在管理复杂数据时显得笨重。
      • 其次,被应用软件操作的数据一般是用面向对象的编程语言如C++, Java, DelphiC#写成,而那些用来转化数据表示关系数据库元组的代码很冗繁,执行时也有不少耗时。这种应用程序和数据库表示信息的模式之间的不匹配有时也被称为impedance mismatch

    • Reference

    1. 维基百科:关系数据库
    2. 维基百科:对象数据库
    展开全文
  • 对象/关系数据库映射(ORM)

    万次阅读 2018-04-12 22:31:44
    ORM的全称是:Object Relational Mapping,即对象/关系数据库映射.当使用一种面向对象的编程语言来进行应用开发时,从项目一开始就采用的是面向对象分析,面向对象设计,面向对象编程,但到了持久层数据库访问时,又必须...

       ORM的全称是:Object Relational Mapping,即对象/关系数据库映射.

           当使用一种面向对象的编程语言来进行应用开发时,从项目一开始就采用的是面向对象分析,面向对象设计,面向对象编程,但到了持久层数据库访问时,又必须重返关系数据库的访问方式,这是一种非常糟糕的感觉.于是人们需要一种工具,它可以把关系型数据库包装成面向对象的模型.它就是ORM.

        ORM框架是面向对象程序设计语言与关系数据库发展不同步时的中间解决方案.随着面向对象数据库的发展,其理论逐步完善,最终面向对象数据库会取代关系型数据库.只是这个过程不可一蹴而就,ORM框架在此期间会蓬勃发展.但随着面向对象数据库的广泛使用,ORM工具会逐渐消亡.

        面向对象程序设计语言仍然是现在的主流和趋势,其具备非常多的优势,如:

        面向对象的建模,操作.

        多态,继承

        摒弃难以理解的过程.

        简单易用,易理解

    但数据库的发展并未能与程序设计语言同步.但关系数据库系统的某些优势也是面向对象语言目前无法比拟的.比如:

    大量数据查找,排序

    集合数据连接操作,映射

    数据库访问的并发,事务

    数据库的约束,隔离

    面对这种面向对象语言与关系数据库系统并存的局面,采用ORM就变成了一种必然.只要依然采用面向对象程序设计语言,底层依然采用关系型数据库,中间就少不了ORM工具.

    采用ORM框架之后,应用程序不再直接访问底层数据库,而是以面向对象的方式来操作持久化对象(例如创建,修改,删除等),而ORM框架则将这些面向对象的操作转化成底层的SQL操作

                                    

    ORM工具的唯一作用就是:把对持久化对象的保存,修改,删除等操作,转换成数据库的操作.

    程序员可以以面向对象的方式操作持久化对象,而ORM框架则负责将相关操作转换成对应的SQL(结构化查询语言)操作

    ORM基本映射关系

    数据表映射表.

    持久化类被映射到一个数据表.程序使用这个持久化来创建实例,修改属性,删除实例时,系统自动会转换成为对这个表进行CRUD操作

                                

    受ORM管理的持久化类(就是一个普通的Java类)对应一个数据库,只要程序对这个持久化类进行操作,系统就会可以将其转换成对应数据库表的操作

    数据表的行映射对象(即实例)

    持久化类会生成很多的实例,每个实例就对应数据表中的一行记录.当程序在应用中修改持久化类的某个实例时,ORM工具将会将其转换成对应数据表中特定行的操作,每个持久化对象对应数据表的一行记录

                                        

    数据表的列(字段)映射对象的属性

    当程序修改某个持久化对象的指定属性时(持久化实例映射到数据行),ORM将会将其转换成对应数据表中指定数据行,指定列的操作

    可见,在ORM框架中,持久化对象就是一种媒介,应用程序只需操作持久化对象,ORM框架则负责将这种操作转换为底层数据库操作

    流行的ORM框架:

    JPA

    Hibernate

    Mybatis

    展开全文
  • 对象数据库 VS 关系数据库

    千次阅读 2004-10-20 09:30:00
    对象数据库 VS 关系数据库我们将对象数据库管理系统(ODBMS)定义为一个集成了数据库能力与面向对象编程语言能力的数据库管理系统(DBMS),ODBMS使数据库对象看起来像是已有的一个或多个程序设计语言中的程序设计...
  • 对象/关系数据库映射.

    千次阅读 2019-03-18 13:37:37
    ORM的全称是:Object Relational Mapping,即对象/关系数据库映射. 当使用一种面向对象的编程语言来进行应用开发时,从项目一开始就采用的是面向对象分析,面向对象设计,面向对象编程,但到了持久层数据库访问时,又必须...
  • 对象-关系数据库

    千次阅读 2006-03-03 10:00:00
    对象-关系数据库正是把面向对象方法学与关系数据库系统技术相结合的产物。按照“第三代数据库系统宣言”的文章的思想,一个面向对象数据库系统(OODBS)必须满足两个条件:(1)支持统一核心的面向对象数据模型;(2)...
  • 关系数据库系统与面向对象数据库系统各自的优缺点 关系数据库系统的优点 a.灵活性和建库的简单性:目前在多数RDDMS产品中使用标准查询语言SQL,允许用户几乎毫无差别地从一个产品到另一个产品存取信息。 b....
  • 面向对象数据库的产生主要是为了解决“阻抗失配”,它强调高级程序设计语言与数据库的无缝连接。什么叫无缝连接,假设你 不用数据库,用C语言编了一个程序,你可以不需要(或基本不需要)任何改动就将它作用于数据库...
  • Flask orm 对象关系映射 数据库

    千次阅读 2018-11-25 19:50:19
    主要实现模型对象关系数据库数据的映射. 通过对象操作数据库,不再写sql语句;实现了数据模型与数据库的解耦, 屏蔽了不同数据库操作上的差异 缺点是有性能损失 ![](file:///Users/keith/Desktop/Flask%E8%AE%B2%E4...
  • 关于对象关系数据库的介绍,看另外一篇篇文章,litePal的使用以及关系数据库的介绍 1、添加远程依赖 // In your root build.gradle file: buildscript {  repositories {  jcenter()  mavenCentral()...
  • 对象数据库与关系数据库利弊谈

    千次阅读 2007-02-06 09:41:00
    在20世纪60年代后期引入的面向对象技术引起了一场革命。...不再像关系数据库一样用死板的二维表格来表示数据,对象技术使用类对数据进行描述。一个对象是一个类的实例,就像一颗特定的橡树是橡树类的实例一 样。对
  • 事物总是对立与统一的,有结构化的数据就有非结构化的...关系数据库用了这么多年, 也感觉到对于一些非结构化数据的处理确实比较困难。因此NoSQL数据库的出现也是必然。但NoSQL的出现,并不代表关系数据库的没落
  • 对象-关系数据库之间的映射

    千次阅读 2012-11-03 14:49:25
    为什么对象-关系数据库的映射对于现代开发者是一件大事呢?一方面,对象技术(例如 Java 技术)是应用于新软件系统开发的最常见的环境。另外,关系数据库仍然是许多人都青睐的持久信息存储方法,并且在较长时间内...
  • 面向对象关系数据库设计

    千次阅读 2004-12-04 19:18:00
    面向对象关系数据库设计一、概念的区分 有些人把面向对象的数据库设计(即数据库模式)思想与面向对象数据库管理系统(OODBMS) 理论混为一谈。其实前者是数据库用户定义数据库模式的思路,后者是数据库管理程序的思路...
  • 关系数据库与非关系数据库的区别

    万次阅读 2018-11-01 20:50:59
    当前主流的关系数据库有Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL等。 非关系数据库有 NoSql、Cloudant。 nosql和关系数据库比较? 优点: 1)成本:nosql数据库简单易部署,基本都是开源...
  • 关系数据库系统的优点 a.灵活性和建库的简单性:从软件开发的前景来看,用户与关系数据库编程之间的接口是灵活与友好的。目前在多数RDDMS产品中使用标准查询语言SQL,允许用户几乎毫无差别地从一个产品到另一...
  • 数据库通常分为层次式数据库、网络...如果用D表示数据,用R表示数据对象之间存在的关系集合,则将DS=(D,R)称为数据结构。例如,设有一个电话号码簿,它记录了n个人的名字和相应的电话号码。为了方便地查找某人的电话号
  • 浅析关系数据库和NoSql非关系数据库

    千次阅读 2015-08-19 18:54:00
    1 关系数据库   1.1 关系数据库的简介   支持关系模型的数据库系成之为关系数据库,是目前各类数据库中使用最为广泛的数据库系统。关系数据库在经过二十几年的发展,已经变的功能强大,使用广泛,产品成熟的...
  • mysql数据库对象关系映射

    千次阅读 2017-07-15 23:47:49
    mysql数据库对象关系映射   1.对“对象关系映射”的理解   a.对象:可以理解为java中的类   b.关系:可以理解为数据库的表   c.映射:这是因为java中的数据的类型与数据库的数据类型是有些不同的,...
  • http://zwwwxy.blogchina.com/blog/article_81038.1423950.html 今天的数据处理方式呈现出明显的在表达层和数据层中间加入了一个中间件层,一方面以OR映射的方式把关系数据库中的结构化数据映射成内存中的对象;...
  • django是一套开发成本低、迭代周期快的python web框架,而如mysql等关系数据库则是网站的必备组件,django通过设计一套python对象与数据库表的映射系统ORM,使得开发者不用写一行SQL语句就能实现极其复杂的关系...
  • 面向对象和非面向对象这两种技术存在着阻抗不匹配(impedance mismatch),因为对象由数据和行为组成,而一个关系数据库则是由表和它们之间的关系组成的。虽然不可能完全消除这个阻抗不匹配,你可以遵循适当的模式...
  • 简介 使用关系数据库的面向对象系统开发人员通常要花费大量的时间来将对象持久化,这是因为在两种技术间存在一个基本的阻抗不匹配。对象由数据和行为组成,通常可以继承,而关系数据库包括表、关系和基本的谓词计算...
  • 数据库 - 关系数据库标准语言SQL

    千次阅读 2015-05-05 09:57:12
    SQL(Structured Query Language)结构化查询语言,是关系数据库的标准语言 SQL是一个通用的、功能极强的关系数据库语言SQL特点1.综合统一 集数据定义语言(DDL),数据操纵语言(DML),数据控制语言(DCL)功能于...
  • 关系数据库与非关系数据库详细比较

    千次阅读 多人点赞 2018-11-12 11:06:02
    2.非关系数据库通常指数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定。 3.非关系数据库中,我们查询一条数据,结果出来一个数组,关系数据库中,查询一条数据结果是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 636,540
精华内容 254,616
关键字:

对象关系数据库