DBMS vs File Management System

本文探讨了数据库管理系统(DBMS)与文件管理系统(FMS)之间的区别。DBMS为大型复杂数据库提供支持,确保数据完整性并支持多用户访问,而FMS则更适合小型简单数据库,易于使用且成本较低。

转自:点击打开链接


DBMS vs File Management System

By Dale Elizabeth Corey, 2003/08/04


Database Management Systems Versus File Management Systems

A Database Management System (DMS) is a combination of computer software, hardware, and information designed to electronically manipulate data via computer processing. Two types of database management systems are DBMS’s and FMS’s. In simple terms, a File Management System (FMS) is a Database Management System that allows access to single files or tables at a time. FMS’s accommodate flat files that have no relation to other files. The FMS was the predecessor for the Database Management System (DBMS), which allows access to multiple files or tables at a time (see Figure 1 below).


(Kreig 1999)

File Management Systems

AdvantagesDisadvantages
Simpler to useTypically does not support multi-user access
Less expensive·Limited to smaller databases
Fits the needs of many small businesses and home usersLimited functionality (i.e. no support for complicated transactions, recovery, etc.)
Popular FMS’s are packaged along with the operating systems of personal computers (i.e. Microsoft Cardfile and Microsoft Works)Decentralization of data
Good for database solutions for hand held devices such as Palm PilotRedundancy and Integrity issues

Typically, File Management Systems provide the following advantages and disadvantages: 

The goals of a File Management System can be summarized as follows (Calleri, 2001):

  • Data Management.  An FMS should provide data management services to the application.
  • Generality with respect to storage devices. The FMS data abstractions and access methods should remain unchanged irrespective of the devices involved in data storage.
  • Validity. An FMS should guarantee that at any given moment the stored data reflect the operations performed on them.
  • Protection. Illegal or potentially dangerous operations on the data should be controlled by the FMS.
  • Concurrency. In multiprogramming systems, concurrent access to the data should be allowed with minimal differences.
  • Performance. Compromise data access speed and data transfer rate with functionality.

From the point of view of an end user (or application) an FMS typically provides the following functionalities (Calleri, 2001): 

  • File creation, modification and deletion.
  • Ownership of files and access control on the basis of ownership permissions.
  • Facilities to structure data within files (predefined record formats, etc).
  • Facilities for maintaining data redundancies against technical failure (back-ups, disk mirroring, etc.).
  • Logical identification and structuring of the data, via file names and hierarchical directory structures.


Database Management Systems

Database Management Systems provide the following advantages and disadvantages: 

AdvantagesDisadvantages
Greater flexibilityDifficult to learn
Good for larger databasesPackaged separately from the operating system (i.e. Oracle, Microsoft Access, Lotus/IBM Approach, Borland Paradox, Claris FileMaker Pro)
Greater processing powerSlower processing speeds
Fits the needs of many medium to large-sized organizationsRequires skilled administrators
Storage for all relevant dataExpensive
Provides user views relevant to tasks performed 
Ensures data integrity by managing transactions (ACID test = atomicity, consistency, isolation, durability)   
Supports simultaneous access  
Enforces design criteria in relation to data format and structure  
Provides backup and recovery controls 
Advanced security 

The goals of a Database Management System can be summarized as follows (Connelly, Begg, and Strachan, 1999, pps. 54 – 60): 

  • Data storage, retrieval, and update (while hiding the internal physical implementation details)
  • A user-accessible catalog
  • Transaction support
  • Concurrency control services (multi-user update functionality)
  • Recovery services (damaged database must be returned to a consistent state)
  • Authorization services (security)
  • Support for data communication Integrity services (i.e. constraints)
  • Services to promote data independence
  • Utility services (i.e. importing, monitoring, performance, record deletion, etc.)

The components to facilitate the goals of a DBMS may include the following:

  • Query processor
  • Data Manipulation Language preprocessor
  • Database manager (software components to include authorization control, command processor, integrity checker, query optimizer, transaction manager, scheduler, recovery manager, and buffer manager)
  • Data Definition Language compiler
  • File manager
  • Catalog manager

Second and Third Generation DBMS’s

The second generation of DBMS’s were developed after 1970 when E. F. Codd proposed the relational model which replaced the hierarchical and network models. A Relational Database Management Systems (RDBMS) organizes the database into multiple simple tables, which are related to one another by common data fields.  The third generation of DBMS’s are represented by Object-Oriented Database Management Systems (OODBMS) and Object-Relational Database Management Systems (ORDBMS). “Object-oriented DBMS takes the database idea one step further: data becomes ‘intelligent’ in that in ‘knows’ how to behave - that is, data is associated not only with data format information but also with instructions for handling it” (Kreig, 1999). Object-Relations Database Management Systems is a combination of the RDBMS and the ORDBMS in that it extends the RDBMS to include “user-extensible type system, encapsulation, inheritance, polymorphism, dynamic binding of methods, complex objects, etc,  and object identity (Connelly, Begg, and Strachan, 1999, pg. 811). Examples of ORDBMS’s are Informix and Oracle.

Conclusion

From the File Management System, the Database Management System evolved. Part of the DBMS evolution was the need for a more complex database that the FMS could not support (i.e. interrelationships). Even so, there will always be a need for the File Management System as a practical tool and in support of small, flat file databases. Choosing a DBMS in support of developing databases for interrelations can be a complicated and costly task. DBMS’s are themselves evolving into another generation of object-oriented systems. The Object-Oriented Database Management System is expected to grow at a rate of 50% per year (Connelly, Begg, and Strachan, 1999, pg. 755). Object-Relational Database Management System vendors such as Oracle, Informix, and IBM have been predicted to gain a 50% larger share of the market than the RDBMS vendors. Whatever the direction, the Database Management System has gained its’ permanence as a fundamental root source of the information system.

References




### Oracle DBMS 使用指南及特性介绍 #### 1. Oracle DBMS 的基本概念 Oracle Database Management System (DBMS) 是一种功能强大的关系型数据库管理系统,广泛应用于企业级数据存储和管理。它提供了丰富的内置程序包来简化开发人员的工作并增强系统的性能[^3]。 #### 2. 常见的 Oracle DBMS 程序包及其用途 以下是几个常见的 Oracle DBMS 程序包的功能概述: - **DBMS_DICTIONARY_CHECK**: 这是一个用于验证字典对象权限的安全工具。通过此包可以检查用户是否有权访问特定的数据字典视图或表结构。该特性的引入增强了安全性审计能力[^1]。 - **DBMS_ROWID**: 提供了一组函数用来解析 ROWID 类型的信息。例如 `DBMS_ROWID.ROWID_RELATIVE_FNO` 和 `DBMS_ROWID.ROWID_BLOCK_NUMBER` 可分别返回指定 ROWID 所属文件号以及块编号[^2]。 - **DBMS_MONITOR**: 主要用于启用会话级别的 SQL 跟踪功能。虽然可以通过全局设置开启追踪,但更推荐针对具体需求定制化配置而非全面监控整个实例运行状态[^4]。 #### 3. 新增特性示例 - Oracle 23c 中的改进 随着版本迭代更新,在最新发布的 Oracle 23c 版本里新增了一些实用功能,比如支持 JSON 文档作为原生类型处理、优化分区索引维护操作效率等方面都有显著提升。其中值得一提的是关于元数据保护机制方面的加强措施——即引入了名为 *DBMS_DICTIONARY_CHECK* 的安全组件。 #### 4. 实际应用案例分析 假设我们需要编写一段 PL/SQL 来获取某张表记录所在物理位置信息,则可以利用到上面提到过的两个包实现如下逻辑: ```plsql DECLARE v_fno NUMBER; v_bno NUMBER; BEGIN SELECT dbms_rowid.rowid_relative_fno(rowid), dbms_rowid.rowid_block_number(rowid) INTO v_fno, v_bno FROM your_table_name WHERE rownum = 1; DBMS_OUTPUT.PUT_LINE('File Number: ' || TO_CHAR(v_fno)); DBMS_OUTPUT.PUT_LINE('Block Number:' || TO_CHAR(v_bno)); END; / ``` 以上脚本展示了如何结合使用 `DBMS_ROWID` 函数提取底层存储细节[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值