📜  数据库管理系统入门

📅  最后修改于: 2021-09-10 02:34:50             🧑  作者: Mango

数据库管理系统 (DBMS)是一组相互关联的数据和一组访问这些数据的程序。数据的集合称为数据库,其中包含企业的相关信息。数据库系统的一个主要目的是为用户提供数据的抽象视图,这意味着系统隐藏了数据存储和维护方式的某些细节。

数据库管理系统的目的:
将组织信息保存在文件处理系统中具有主要缺点,而使用数据库管理系统可以克服这些问题。下图显示了文件处理系统中的问题类型。

  1. 数据冗余:
    在很长一段时间内,不同的程序员创建的文件具有不同的结构,程序可能由不同的程序员用不同的语言编写。

    例如,如果学生选择两个科目(音乐和数学),同一学生的地址和电话号码出现在由数学系和音乐系学生记录组成的文件中。现在如果一个学生在音乐系改变了他的电话号码,那么这个变化并没有反映在数学系的记录中,这导致数据重复和数据冗余,也导致数据不一致。因为同一个学生在两个系有不同的记录。

  2. 数据隔离:
    在文件处理系统中,数据分散在不同的文件中,如果文件格式不同,则编写检索数据的应用程序就很困难,因为访问不同格式的文件来编写程序既费时又费力。
  3. 完整性问题:
    假设大学维护每个部门的帐户并记录每个部门的余额并保持帐户不应低于指定值的约束,现在开发人员添加了在各种应用程序中执行此约束的代码。

    现在,当稍后要添加其他约束时,在各种程序中强制执行约束变得困难。因此,当来自不同文件的多个数据项的约束时,会导致完整性问题。

  4. 原子性问题:
    假设有一个程序将A部门的500美元转账到B部门的账户,现在如果在程序执行过程中发生系统故障,这500美元有可能从A部门的账户中取出,但没有到账到部门 B 的帐户,导致数据库状态不一致。

    因此,传输必须是原子的,即借记贷记完全发生或两者都不发生,因此在文件处理系统中保持原子性是困难的。

  5. 并发访问异常:
    为了系统的整体性能和更快的响应,许多系统允许多个用户同时更新数据。

    例如,考虑部门 A 的帐户余额为 10000 美元。如果两个部门文员几乎完全同时从帐户余额中扣除部门的 400 美元和 300 美元,并发执行的结果可能会使预算不正确状态。因此,使用文件系统可能会导致数据状态不一致。

数据库系统应用:

一、企业信息:

  • 销售量 –
    用于客户、产品和购买信息。
  • 会计——
    用于付款、收据、帐户余额和其他会计信息。
  • 人力资源 –
    有关员工、工资、工资税和福利的信息。

2. 银行和金融:

  • 信用卡交易 –
    用于信用卡购买和生成月结单。
  • 银行业——
    用于客户信息、账户、贷款和银行交易。

3. 大学:

  • 供学生参考。
  • 用于课程注册。
  • 标准的企业信息,如人力资源和会计,如费用存款和会费明细。

4. 电信:

  • 用于保存通话记录。
  • 用于生成月度账单。
  • 用于存储有关通信网络的信息