数据库相关概念

1、数据的分类

  • 结构化的数据:即有固定格式和有限长度的数据。例如填的表格就是结构化的数据,国籍:中华人民共和国,民族:汉,性别:男,这都叫结构化数据
  • 非结构化的数据:非结构化的数据越来越多,就是不定长、无固定格式的数据,例如: 网页,图片文件,有时候非常大,有时候很小;例如语音,视频都是非结构化的数据
  • 半结构化数据:比如:XML或者HTML的格式的数据

2、数据库管理系统

2.1、相关概念

  • Database:数据库是数据的汇集,它以一定的组织形式存于存储介质上
  • DBMS:Database Management System, 是管理数据库的系统软件,它实现数据库系统的各种功能。是数据库系统的核心
  • DBA:Database Administrator, 负责数据库的规划、设计、协调、维护和管理等工作
  • Application:应用程序,指以数据库为基础的应用程序

2.2、数据库管理系统的优点

  • 程序与数据相互独立
  • 保证数据的安全、可靠
  • 最大限度地保证数据的正确性
  • 数据可以并发使用并能同时保证一致性
  • 相互关联的数据的集合
  • 较少的数据冗余

2.3、数据库管理系统的基本功能

  • 程序与数据相互独立
  • 保证数据的安全、可靠
  • 最大限度地保证数据的正确性
  • 数据可以并发使用并能同时保证一致性
  • 相互关联的数据的集合
  • 较少的数据冗余

2.3、数据库管理系统的基本功能

  • 数据定义
  • 数据处理
  • 数据安全
  • 数据备份

3、各种数据库管理系统

3.1、层次数据库

分层结构由IBM在20世纪60年代开发,并在早期大型机DBMS中使用。记录的关系形成了一个树状模型。这种结构简单,但缺乏灵活性,因为这种关系仅限于一对多关系。
代表数据库:IBM IMS(信息管理系统)

3.2、网状数据库

1964年通用电气GE公司的 Charles Bachman 成功地开发出世界上第一个网状数据库IDS(集成数据存储),IDS 具有数据模式和日志的特征,只能在GE主机运行

3.3、关系型数据库 RDBMS

Relational Database Management System,关系模型最初由IBM公司的英国计算机科学家埃德加·科德(Edgar F. Codd)于1969年描述
1974年,IBM开始开发系统R,这是一个开发RDBMS原型的研究项目。
第一个商业上可用的RDBMS是甲骨文,于1979年由关系软件(现为甲骨文oracle公司)发布

3.4、关系统型数据库相关概念

  • 关系Relational :关系就是二维表,其中:表中的行、列次序并不重要
  • 行row:表中的每一行,又称为一条记录record
  • 列column:表中的每一列,称为属性,字段,域field
  • 主键Primary key:PK ,一个或多个字段的组合, 用于惟一确定一个记录的字段,一张表只有一个主键, 主键字段不能为空NULL
  • 唯一键Unique key: 一个或多个字段的组合,用于惟一确定一个记录的字段,一张表可以有多个UK,而且UK字段可以为NULL
  • 域domain:属性的取值范围,如,性别只能是’男’和’女’两个值,人类的年龄只能0-150

3.5、常用关系数据库

  • MySQL:MySQL, MariaDB, Percona Server
  • PostgreSQL:简称为pgsql,EnterpriseDB
  • Oracle
  • MSSQL Server
  • DB2

4、关系型数据库理论

4.1、实体-联系模型E-R

E-R模型即实体-关系模型﹐E-R模型就是描述数据库存储数据的结构模型

对于大型公司开发项目﹐需要根据产品经理的设计﹐先使用建模工具,如:power designer ,db desinger 等这些软件来画出实体-关系模型(E-R模型)

  • 实体Entity:客观存在并可以相互区分的客观事物或抽象事件称为实体即表,在E-R图中用矩形表示实体,把实体名写在框内
  • 属性Attribute:实体所具有的特征或性质,描述实体里面的单个信息, 使用椭圆形表示
  • 联系Relationship:描述了实体的属性之间的关联规则
    • 实体内部的联系:指组成同一个实体内的各属性之间的联系。如职工实体中,职工号和部门经理号之间有一种关联关系
    • 实体之间的联系:指不同实体之间的属性的联系。例:学生选课实体和学生基本信息实体之间
    • 实体之间的联系用菱形框表示
图片[1]-数据库相关概念-李佳程的个人主页
E-R 模型范例

4.2、联系类型

  • 一对一联系(1:1): 在表A或表B中创建一个字段﹐存储另一个表的主键值 如: 一个人只有一个身份证
  • 一对多联系(1:n):外键, 如: 部门和员工
  • 多对多联系(m:n):增加第三张表, 如: 学生和课程

4.3、数据的操作

图片[2]-数据库相关概念-李佳程的个人主页

开发工程师 CRUD (增加Create、查询Read或 Retrieve、更新Update、 删除Delete)

  • 数据提取:在数据集合中提取感兴趣的内容。SELECT
  • 数据更新:变更数据库中的数据。INSERT、DELETE、UPDATE

4.4、数据库的三范式

规则是死的,人是活的,所以范式是否必须遵守,要看业务需要而定
掌握范式的目的是为了在合适的场景下违反范式

  • 第一范式:1NF
    • 无重复的列,每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性,确保每一列的原子性。除去同类型的字段,就是无重复的列
    • 第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库
  • 第二范式:2NF
    • 第二范式必须先满足第一范式,属性完全依赖于主键,要求表中的每个行必须可以被唯一地区分,通常为表加上每行的唯一标识主键PK,非PK的字段需要与整个PK有直接相关性,即非PK的字段不能依赖于部分主键
  • 第三范式:3NF
    • 满足第三范式必须先满足第二范式属性,非主键属性不依赖于其它非主键属性。第三范式要求一个数据表中不包含已在其它表中已包含的非主关键字信息,非PK的字段间不能有从属关系

4.5、SQL 结构化查询语言简介

SQL:Structure Query Language,结构化查询语言是1974年由Boyce和Chamberlin提出的一个通用的、功能极强的关系性数据库语言
SQL解释器:将SQL语句解释成机器语言

  • 数据存储协议:应用层协议,C/S
    • S:server, 监听于套接字,接收并处理客户端的应用请求
    • C:Client
  • 客户端程序接口
    • CLI
    • GUI
  • 应用编程接口
    • ODBC:Open Database Connectivity
    • JDBC:Java Data Base Connectivity

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享