携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第26天,点击查看活动详情
发展过程
人工管理->文件管理方式->数据库管理
- 数据管理:包括对数据进行分类、组织、编码、存储、检索和维护,它是数据处理的核心。
- 数据处理:对各种数据的收集、存储、加工和传播的一系列活动的总和。
文件管理操作模式
操作模式图
缺点
- 编写应用程序不方便
- 数据冗余不可避免
- 应用程序依赖性
- 不支持对文件的并发访问
- 数据间联系弱
- 难以按用户视图表示数据
- 无安全控制功能
编写应用程序不方便
应用程序编写者必须清楚地了解所用文件的逻辑及物理结构:
- 如文件中包含多少个字段。
- 每个字段的数据类型,
- 采用何种逻辑结构和物理存储结构。
对文件的查询、修改等处理都必须在应用程序中编程实现,这样会造成功能重复、共享操作困难。
数据冗余不可避免
- 数据冗余所带来的问题不仅仅是存储空间的浪费,更为严重的是造成了数据的不一致。
例如:某学生所学的专业发生了变化,如果只在 F1文件中进行修改,而忘记在F3中应做同样的修改。则会造成同一名学生在两个文件中的“专业”不一样。
- 应用程序开发者(用户)维护数据一致性,几乎不可能。
应用程序依赖性
-
应用程序对数据的操作依赖于存储数据的文件的结构。
-
文件和记录的结构通常是应用程序代码的一部分,如C程序的struct。
-
文件结构的每一次修改,都将导致应用程序的修改,数据独立性差。
不支持对文件的并发访问
文件最初是作为程序的附属数据出现的,它一般不支持多个应用程序同时对同一个文件进行访问。 例如:某用户打开了一个Excel文件,当第二个用户在第一个用户未关闭此文件前打开此文件时,只能以只读方式打开此文件,而不能对此文件进行修改。
数据间联系弱
文件与文件之间是彼此独立、毫不相干的,文件之间的联系必须通过程序来实现。
- 比如一文件中的学号、姓名等学生的基本信息必须是另一文件中已存在的(即选课学生必须是已存在的学生)
数据之间的联系是实际应用当中所要求,但文件本身不具备自动实现这些联系的功能。
难以按用户视图表示数据
不同的用户关注的数据往往不同。
- 例如,对于学生基本信息,分配学生宿舍的部门可能只关心学生的学号、姓名、性别和班号。教务部门可能关心的是学号、姓名、所在系、专业和班号。
需要为每个用户建立一个文件,这势必造成很多的数据冗余。
无安全控制功能
在文件管理方式中,很难控制某个人对文件能够进行的操作。
- 如:只允许某个人查询和修改数据,但不能删除数据,或者对文件中的某个或者某些字段不能修改等。
在实际应用中,数据的安全性是非常重要且不可忽视的。