数据库系统 入门笔记(一)

1.数据

  • 数据是未处理或组织的简单事实,数据本身没有意义。
  • 数据可以和任何对象或概念相关。
  • 数据经过处理可以得到有用的、有意义的信息
  • 数据的缺乏会导致不充分的信息,可能导致错误。
  • 数据是有价值的企业资源,需要具有完整性和安全性。
  • 数据管理是关于正确生成、存储和检索数据的学科。

2.数据库

  • 数据库是结构化信息或数据的有序集合,一般以电子形式存储在计算机系统中。
  • 通常由数据库管理系统(DBMS)来控制。
  • 在现实中,数据、DBMS 及关联应用一起被称为数据库系统,通常简称为数据库。

3.传统文件系统与问题

        在引入计算机化的数据库管理系统之前,数据采用传统文件系统存储。它利用第三代语言(3GLs)处理,每个应用程序都有单独的文件类型和文件结构。传统文件系统通常在单独计算机上实现,对于共享数据来说非常不便。

存在的问题:

  • 应用程序对文件结构的依赖性非常强,维护时非常耗时。
  • 如果一个文件的记录结构被改变了,所有评估该文件的程序都必须被修改。
  • 必须对每个程序进行编辑,以反映新的文件结构,除非对公共库进行了更改。
  • 每个程序都必须经过测试。
  • 为了安装和调试新软件,必须停止生产系统。
  • 现有系统中的数据必须转换到新系统,通常是通过编写专门的程序来执行转换。
  • 容易导致数据冗余:例如,大型组织的应用程序需要利用不同的硬件和软件互相独立创建和维护,在使用每个应用程序时,都有自己的一组文件,在多个应用程序中需要的数据必须被复制,即需要创建包含相同数据的几个文件,这就是所谓的数据冗余(Data Redundancy)。

数据冗余时,产生的三种异常情况:

  • 修改异常(Modification anomaly )
  • 插入异常(Insertion anomaly )
  • 删除异常(Deletion anomaly )

4.DBMS等角色的功能

数据库管理系统(DBMS):

  • 是管理数据库的软件的集合,为应用程序和终端用户提供数据库接口。
  • 是一种软件系统,用于创建、管理、操作和维护数据库。
  • 主要任务是提供一个有效的方法来存储和检索数据,同时保证数据的完整性、安全性和一致性。
  • DBMS通过提供数据抽象层,将数据的物理存储与应用程序的逻辑访问分离,从而简化数据管理的复杂性。

数据库(DB):有组织的收集相关文件,记录(record)和字段(field)。

数据库管理员(DBA):

  • 负责日常数据库的管理和维护
  • 数据库中数据和应用程序的准确性和完整性
  • 数据库的安全性
  • 数据库的备份和恢复
  • 数据库和DBMS的整体平稳高效运行

应用开发者和程序员:设计,研发和维修提供给终端用户的信息系统。

终端用户:

  • 通过应用程序开发人员开发的系统访问数据库
  • 使用图形化界面窗口查询信息
  • 使用报告工具提取所需的数据/信息

5.数据库的分类

  •  关系数据库:基于表格结构,数据通过行和列组织,使用SQL进行数据管理,适合复杂查询。

  • 面向对象数据库:存储对象及其关系,支持继承和多态,适合复杂数据模型。

  • 分布式数据库:数据分散存储在多个节点,增强可用性和容错性,适合大规模应用。

  • 数据仓库:整合来自不同源的数据,优化为分析和报告,通常采用星型或雪花型架构,支持决策制定。

  • NoSQL数据库:非关系型数据库,不使用传统表格结构,支持文档、键值对、列族和图形等多种数据存储形式。可以灵活处理大规模数据,适合快速变化的应用。

  • 图形数据库:以图结构存储数据,节点和边表示实体及其关系,优化复杂关系查询,适合社交网络等应用。

  • 云数据库:通过云服务提供,支持弹性扩展和远程访问,降低基础设施成本。

  • 多模型数据库:支持多种数据模型(如文档、图形),允许在同一数据库中灵活存储不同类型的数据。

  • 文档数据库:以文档形式存储数据,通常为JSON或BSON格式,适合半结构化数据,支持快速查询。

6.结构化查询语言(SQL)

        目前,几乎所有的关系数据库都使用 SQL(Structured Query Language)编程语言来查询、操作和定义数据,进行数据访问控制。

SQL的分类:

  • DML:数据库操作语言(Data Manipulation Language),用来检索、更新、删除数据。如:SELLCT field FROM table
  • DDL:数据库定义语言(Data Definition Language),用来定义数据库结构。如:CREATE table, view, trigger
  • DCL: 数据控制语言(Data Control Language),用来定义访问控制。如:GRANT access 

        DML对数据库中的数据执行CRUD(create:INSERT, read:SELECT, update:UPDATE, delete:DELETE),这是与任何数据库交互可以执行的四个最基本的操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值