📜  数据库管理系统入门

📅  最后修改于: 2021-08-24 08:20:58             🧑  作者: Mango

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

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

  1. 数据冗余:
    长期以来,不同的程序员会创建具有不同结构的文件,并且不同的程序员可能会用不同的语言编写该程序。

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

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

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

  4. 原子性问题:
    假设有一个程序将500美元从帐户部门A转移到部门B的帐户,现在,如果在执行该程序期间发生系统故障,则有可能将500美元从部门A的帐户中删除,但未记入贷方到部门B的帐户,导致数据库状态不一致。

    因此,有必要使转移必须是原子性的,即要么全部发生借方贷方,要么都不发生借方贷方,因此在文件处理系统中保持原子性是困难的。

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

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

数据库系统应用:

1.企业信息:

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

2.银行和金融:

  • 信用卡交易–
    用于信用卡购物和生成月结单。
  • 银行–
    有关客户信息,帐户,贷款和银行交易的信息。

3.大学:

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

4.电信:

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