首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • DBMS 与 RDBMS

    DBMS 什么是数据库管理系统? 数据库管理系统 (DBMS) 允许用户存储、检索和操作数据库中的数据。 DBMS 通常提供使用户能够创建、更新和删除数据库中的数据的工具。 这些架构遵循基于层的分类,即根据 DBMS 结构中存在的层数对 DBMS 架构进行分类。 系统架构示意图 因此,n层DBMS架构将整个DBMS划分为相关但n个独立的层或级别,即单层架构将DBMS划分为单层,两层DBMS架构将DBMS划分为两层,三层划分为三层,依此类推。 Types of DBMS 数据库管理系统的类型 DBMS 有四种主要类型:关系型、面向对象型、基于图型和 NoSQL。 关系 DBMS 是最常见的,使用表格结构来存储数据。 面向对象的 DBMS 使用面向对象的模型来存储数据,而基于图的 DBMS 使用图结构来存储数据。 NoSQL DBMS 是一种较新的 DBMS 类型,它使用非表格结构来存储数据。

    39110编辑于 2024-09-14
  • 来自专栏FREE SOLO

    RDBMS与DBMS区别

    DBMS是数据库管理系统,这个概念更大一些。 大多数现代商业和开源数据库应用程序本质上是相关的。最重要的关系数据库功能包括在维护和实施某些数据关系的同时使用表进行数据存储的能力。 而DBMS则可以不存在表与表之间的关系。 当大量的数据需要保存和维护的时候就需要用到RDBMS。一个关系数据模型是需要包含indexes,PK,FK,table和table间的关系。 当然DBMS和RDBMS都可以用FK,只是对于RDBMS来说,FK是必须的,而且DBMS则不是。 DBMS可以接受没有任何关系的数据,而RDBMS则只接受有关系的数据。 DBMS更加适用于小型的商业应用,即处理并不庞大的数据, 而RDBMS则是用来出来更加复杂的应用,即更庞大的数据,以及更多的数据关系。

    5.1K21发布于 2019-06-14
  • 来自专栏乐沙弥的世界

    使用 DBMS_REPAIR 修复坏块

    我们可以使用Oracle自带的DBMS_REPAIR包来实现修复。注意,不要被文章题目有所误导。这里的修复是有损修复也就是说将受损的数据块标记为坏块,不对其进行访问而已。 修复坏块 Step a 创建相应的表对象 --使用DBMS_REPAIR.ADMIN_TABLES过程创建一个表对象,用于记录需要被修复的表 sys@USBO> BEGIN 2 DBMS_REPAIR.ADMIN_TABLES => DBMS_REPAIR.ORPHAN_TABLE, 6 ACTION => DBMS_REPAIR.CREATE_ACTION, 7 TABLESPACE b、DBMS_REPAIR包并不是真正意思上的坏块修复,而是标记坏块,损坏的这部分数据被丢失。 d、完整DBMS_REPAIR上面提到的几个步骤后,建议重建索引。

    1.2K20发布于 2018-08-13
  • 来自专栏数据库与编程

    DBMS_UTILITY.EXPAND_SQL_TEXT

    DBMS_UTILITY.EXPAND_SQL_TEXT过程展开对视图的引用,将它们转换为原始语句中的子查询。 一个简单的例子如下所示。 SET SERVEROUTPUT ON DECLARE l_clob CLOB; BEGIN DBMS_UTILITY.expand_sql_text ( input_sql_text => 'SELECT * FROM emp_v', output_sql_text => l_clob ); DBMS_OUTPUT.put_line(l_clob); END;

    70730编辑于 2022-04-24
  • 来自专栏GreenLeaves

    Oracle dbms_random随机函数包

    dbms_random是oracle提供的一个随机函数包,以下是它的一些常用的功能: 1、dbms_random.value 作用:生成一个大于等于0,大于等于1的随机的38位小数,代码如下: select dbms_random.value random from dual ? 3、获取正态分布的随机数  select dbms_random.normal from dual ? ('u',10) from dual union all select dbms_random.string('l',10) from dual union all select dbms_random.string ('a',10) from dual union all select dbms_random.string('x',10) from dual union all select dbms_random.string

    1.4K50发布于 2018-01-26
  • 来自专栏用户7552167的专栏

    Oracle的dbms_output和循环

    1.dbms_output的三种用法a、put:将内容写到内存,等到put_line时一起输出b、put_line:输出字符c、new_line:作为一行的结束,可以理解为写入buffer时的换行符案例如下 :begin dbms_output.put('写入buffer但不输出'); --写入buffer但不输出 dbms_output.new_line; --回车(换行),输出 dbms_output.put_line('输出并换行'); --输出并换行 dbms_output.put('写入buffer但不输出'); --写入buffer但不输出 end; 输出:写入 1..i loop dbms_output.put( j|| '*' || i || '=' || j*i || ' '); end loop; dbms_output.new_line )declare i int:=1; j int:=1;begin dbms_output.put_line('九九乘法表'); loop loop Dbms_Output.put

    2.1K00编辑于 2022-06-20
  • 来自专栏乐沙弥的世界

    PLSQL --> DBMS_DDL包的使用

    本文讲述了Oracle提供的包DBMS_DDL,以及其使用方法。 一、 使用DBMS_DDL包可以对包,包体,存储过程,函数,触发器等等进行编译,以及为数据库对象提供一些统计信息。 VARCHAR2; DBMS_DDL.WRAP( --方式二 ddl DBMS_SQL.VARCHAR2S, --允许大的DDL语句的输入,dbms_sql.varchar2s限制为每行256字节 lb PLS_INTEGER, ub PLS_INTEGER) RETURN DBMS_SQL.VARCHAR2S; DBMS_DDL.WRAP( --方式三 ddl DBMS_SQL.VARCHAR2A DBMS_DDL.CREATE_WRAPPED ( ddl VARCHAR2); DBMS_DDL.CREATE_WRAPPED( ddl DBMS_SQL.VARCHAR2A, lb PLS_INTEGER RETURN BOOLEAN; BEGIN IF dbms_ddl.is_trigger_fire_once('SCOTT', 'tr_tb_a') THEN dbms_output.put_line

    1.3K40发布于 2018-08-07
  • 来自专栏乐沙弥的世界

    dbms_xplan之display函数的使用

    DBMS_XPLAN包包括一系列函数,主要是用于显示SQL语句的执行计划,且不同的情形下使用不同的函数来显示,如预估的执行计划则使用 display函数,而实际的执行计划则是用display_cursor 本文主要描述DBMS_XPLAN包中display函数的使用,尽管可以通过SQL语句来查询缺省表plan_table来获得执行计划, 事实上,使用display函数更便捷,且display函数提供了多种不同的显示格式 SQL语句执行计划         有关使用autotrace来获取执行计划请参考:启用 AUTOTRACE 功能         有关display_cursor函数的使用请参考:     dbms_xplan 之display_cursor函数的使用 一、DBMS_XPLAN包中的函数 SQL> desc dbms_xplan --> 列出几个常用的 FUNCTION DISPLAY RETURNS DBMS_XPLAN_TYPE_TABLE Argument Name Type In/Out Default?

    1.5K20发布于 2018-08-14
  • 来自专栏乐沙弥的世界

    基于 dbms_redefinition 在线重定义表

    Oracle提供的重定义包dbms_redefinition即是用与完成此操作。其实质是Oracle使用了智能物化视图及物化视图日志的方式。 --收集统计信息 scott@USBO> exec dbms_stats.gather_table_stats('SCOTT','TB_EMP',cascade=>true); scott@USBO> exec dbms_stats.gather_table_stats('SCOTT','TB_EMP_INT',cascade=>true); scott@USBO> select table_name ('SCOTT','TB_EMP'); --开始重定义 scott@USBO> exec dbms_redefinition.start_redef_table('SCOTT', 'TB_EMP', ('SCOTT', 'TB_EMP', 'TB_EMP_INT', - > dbms_redefinition.cons_trigger, 'SCOTT', 'tr_bf_tb_emp_hiredate

    1.3K20发布于 2018-08-13
  • MySQL集群:高可用性DBMS

    accepting connect from 172.22.33.100) id=6 @172.22.22.100 (mysql-5.6.27 ndb-7.3.11, Nodegroup: 0) 任何DBMS

    2.4K70发布于 2018-05-22
  • 来自专栏光城(guangcity)

    C-Store: A Column-oriented DBMS

    今天看了一篇CStore论文,笔记记录一下,后续内容待补充~ 目录 1.C-Store: A Column-oriented DBMS 1.1 Proposal 1.2 Why C-Store and WS 1.8.1 encoding schemes 1.8.2 WS 1.9 Storage Management C-Store: A Column-oriented DBMS 1.1 Proposal Compare Row-store with Column-store DBMS Row-store DBMS Column-store DBMS Attributes of

    71520编辑于 2022-12-02
  • 来自专栏乐沙弥的世界

    dbms_stats 导入导出表统计信息

    有关导入导出统计信息的具体步骤及使用情形可参考: dbms_stats 导入导出 schema 级别统计信息 1、创建演示环境 scott@USBO> select * from v$version --下面使用export_table_stats过程导出统计信息,此时statid为A scott@USBO> exec dbms_stats.export_table_stats(ownname => scott@USBO> commit; --收集统计信息 scott@USBO> exec dbms_stats.gather_table_stats('SCOTT','T1',cascade=>true ); --再次导出统计信息,注意,此时的statid为B scott@USBO> exec dbms_stats.export_table_stats(ownname =>'SCOTT',tabname (''' || v_schema || ''' , ''' || v_stat_name || '''); END;'; -- DBMS_OUTPUT.put_line

    93120发布于 2018-08-13
  • 来自专栏java大数据

    什么是DBMS,什么是数据库?

    马克-to-win:DBMS (database management system---数据库管理系统)像mysql,oracle,sql server之类,首先没什么神秘的,都只是某个公司编的一个软件而已 这一切都要归功于 人家编的软件DBMS,比如mysql等。想想你将来写一句sql语言,人家DBMS不但能读懂,还能按照你的要求(比如更改表),确实完成你的要求,把 表给改了,想想也挺伟大的啊!

    3K30发布于 2021-05-18
  • 来自专栏乐沙弥的世界

    使用 DBMS_PROFILER 定位 PLSQL 瓶颈代码

    /rdbms/admin/proftab.sql b、使用sysdba帐户安装包DBMS_PROFILER,执行脚本profload.sql scott@USBO> conn / as sysdba procedure literals 2 is 3 v_num number; 4 begin 5 for i in 1..100000 loop 6 v_num := dbms_random.random 1..100000 loop 100001 .2 .0 .0 v_num := dbms_random.random procedure binds 2 is 3 v_num number; 4 begin 5 for i in 1..100000 loop 6 v_num := dbms_random.random , '0', 'Profiler stopped', 'Profiler error') FROM DUAL; SELECT DECODE (DBMS_PROFILER.flush_data, '0'

    96710发布于 2018-08-13
  • 来自专栏FreeBuf

    如何使用SQLancer检测DBMS中的逻辑漏洞

    关于SQLancer SQLancer,全称为Synthesized Query Lancer,该工具是一款针对数据库管理系统DBMS的自动化安全测试工具。 我们这里所指的逻辑漏洞,即能够导致DBMS获取错误结果集的安全漏洞(比如说忽略数据记录等等)。 除此之外,该工具还会使用其他类型的语句(如创建索引和视图以及设置DBMS特定选项的语句)来测试目标DBMS; 2,测试:此阶段的目标是针对生成的数据库检测逻辑错误。 工具要求 Java 8或以上版本; Maven(Ubuntu安装:“sudo apt install maven”); 需要测试的DBMS(项目中带有SQLite,而SQLite是一款嵌入式DBMS)。 支持的DBMS 由于各种DBMS使用的SQL形式差异很大,因此需要针对不同的DBMS采用单独的实现方式: SQLite MySQL PostgreSQL Citus MariaDB CockroachDB

    3.5K10发布于 2021-10-11
  • 来自专栏数据和云

    DB-Engines:Snowflake荣获2021年的年度DBMS

    因此,我们宣布Snowflake为2021年的DBMS。 为了确定年度DBMS,我们用2022年1月流行度得分与2021年1月得分的差值而不是百分比增长来代表其受欢迎程度,这种方法对年初流行度较低的数据库更加友好。 年度最佳DBMS - Snowflake Snowflake平台是一个完全管理的云服务平台,它整合了数据仓库、数据集市和数据湖,并允许在这些之上进行分析。 Snowflake不仅是第一个获得 "年度DB-Engines DBMS "奖项的软件即服务(SaaS),也是第一个进入该奖项前三名的以数据仓库为中心的产品。 附录:过去的年度DBMS 以下是完整的列表:(复制链接至浏览器浏览详情) 2021年度 Snowflake (https://db-engines.com/en/system/Snowflake) 2020

    1.5K40编辑于 2022-01-05
  • 来自专栏乐沙弥的世界

    使用dbms_backup_restore包修改dbname及dbid

    本文即是通过dbms_backup_restore方式来修改dbname及dbid,供大家参考。       v_chgdbid,v_chgdbname); dbms_output.put_line('ControlFile: '); dbms_output.put_line(' => Change #,0, v_skipped,v_chgdbid,v_chgdbname); dbms_output.put_line('DataFile: '||i.name); dbms_output.put_line dbms_output.put_line(' => Skipped:' ||to_char(v_skipped)); dbms_output.put_line(' ||to_char(v_chgdbid)); end loop; dbms_backup_restore.nidend; end; /

    74920发布于 2018-08-13
  • 来自专栏乐沙弥的世界

    dbms_stats 导入导出 schema 级别统计信息

    导入统计信息到所需的schema 3、创建统计信息的示例 --下面是一个基于schema scott级别进行收集统计信息的例子 BEGIN DBMS_STATS.gather_schema_stats c、导出scott的统计信息到stats_table scott@MMBO5> exec dbms_stats.export_schema_stats('SCOTT','STATS_TABLE','SCOTT --导入统计信息 scott@MMBO4> exec dbms_stats.import_schema_stats('SCOTT','STATS_TABLE','SCOTT'); PL/SQL procedure --对于系统级别的统计信息的导入导出,此处不做演示,需要注意的是应使用dbms_stats中相应的导入导出procedure. --dbms_stats.gather_system_stats --dbms_stats.import_system_stats --dbms_stats.export_system_stats

    94920发布于 2018-08-13
  • 来自专栏乐沙弥的世界

    dbms_xplan之display_cursor函数的使用

            DBMS_XPLAN包中display_cursor函数不同于display函数,display_cursor用于显示SQL语句的真实的执行计划,在大多数情况下 语句来获取执行计划请参考:     使用 EXPLAIN PLAN 获取SQL语句执行计划         有关使用autotrace来获取执行计划请参考: 启用 AUTOTRACE 功能         有关dbms_xplan 之display函数请参考:     dbms_xplan之display函数的使用 一、display_cursor函数用法 1、display_cursor函数语法 DBMS_XPLAN.DISPLAY_CURSOR statistics_level=all时或使用gather_plan_statistics提示可以获得执行计划中实时的统计信息                 有关详细的format格式描述请参考:dbms_xplan *******/ SQL> select * from table(dbms_xplan.display_cursor

    1.2K30发布于 2018-08-14
  • 来自专栏数据和云

    PostgreSQL 获评2017 DB-Engines年度DBMS榜首

    因此,我们宣布PostgreSQL为2017年的年度DBMS。 最终得到按照各个数据库在2017年设法提高其受欢迎程度的多少来排序的DBMS列表,换句话说,还有多少人开始进行沟通,例如工作机会,在网络上的专业简介条目和引用。 年度DBMS:PostgreSQL 虽然PostgreSQL已经在去年的排行榜上排名第三,但在去年的排名中,2017年对于PostgreSQL来说是更好的一年。 下图展示了PG对于MongoDB的超越: 亚军:Elasticsearch Elasticsearch已经成为2014年DBMS年度最佳系统之一。 时序DBMS是增长最强劲的DBMS类别。 2017年,他们的成绩令人印象深刻地增加了70%左右。 基于云的数据库管理系统进一步提高了他们的知名度,是公认的内部数据库管理系统安装的替代方案。

    1.1K50发布于 2018-03-08
领券