数据库原理基础一

打印 上一主题 下一主题

主题 1016|帖子 1016|积分 3048

数据的分类:


  • 结构化数据:有固定的格式,例如一个表格里面的信息
  • 非结构化数据:无固定格式,例如图片、网页、语音、视频
  • 半结构化数据:html、xml格式的数据
数据库:存放数据的一个集合,可以是文件的方式,也可以是其他的方式。
数据库的发展:


  • 萌芽阶段:文件系统
使用磁盘文件来存储数据,比如一个文档里面存了很多数据内容。
缺点:管理不方便,且容易造成文件的损坏、安全性差。

  • 初级阶段:第一代数据库
出现了网状模型、层次模型的数据库

  • 中级阶段:第二代数据库
关系型数据库和结构化查询语言

  • 高级阶段:新一代数据库
"关系-对象"型数据库
相关概念


  • DBMS:Database Management System,数据库管理系统,就是一个应用软件,实现对数据的管理。例如mysql、orcler、redis等。
  • Database:数据库
  • DBA:Database Administrator(DBA)数据库管理员
  • Application:应用程序,用户访问数据不是直接通过DBMS来进行访问的。通过一些图形界面软件等来访问这些数据。例如京东、淘宝等。
DBMS工作逻辑:数据放在磁盘上,用户通过工具访问DBMS,然后DBMS访问到对应的数据。
数据库结构:


  • 单机架构:数据库就在一个机器上,只能通过这个机器来操作数据库,例如access
  • 主从架构(C/s):客户端-服务器,将要客户端和服务器区分开,通过客户端发送请求来和服务器交互。
  • 分布式架构:把数据分散在多个地方,不是集中在一起。
各种数据库管理系统:


  • 层次结构:按层(树状结构)组织数据,容易产生冗余
  • 网状结构:关系复杂,不容易管理
  • 关系型数据库:RDBMS,
关系型数据库相关概念:把所有数据放在一张二维表里面


  • 关系:就是一张二维表,
  • 行:row,称为记录,每一行称为一条记录(record)
  • 列:column,称为属性、字段或者域(field)
  • 主键:Primary key,一个或者多个字段的组合,主键不能为空且不能重复
  • 唯一键:Unique key, 一个或多个字段的组合,不能重复但可以为空
  • 域:domain,属性的取值范围。
常用的关系型数据据:


  • mysql: MySQL, MariaDB, Percona Server
  • oracle
  • DB2
  • PostgreSQL
实体-联系模型E-R:


  • E-R:描述数据库存储数据的结构模型
  • 实体Entity:用矩形表示,例如课程、班级、学生等
  • 属性Attribute:用椭圆形表示,描述实体的特征
  • 联系Relationship:实体的属性之间的关联规则
E-R模型的联系类型:


  • 一对一: 假设有两张表,一张存姓名,另一个存身份证,一个人只能有一个身份证。
  • 一对多:假设两张表部门和员工,一个部门能有多个员工信息。
  • 多对多:假设两张表课程和学上。一个学生能拥有多门课程,一个课程也能被多个学生选择。
数据库的操作:


  • 增加:Insert
  • 删除:Delete
  • 查找:Select
  • 修改:Update
数据库的规范化:

作用:减少数据的冗余,增进数据的一致性。越高的范式数据库冗余越小

  • 第一范式(1NF):无重复列、一列不能有多个值
  • 第二范式(2NF):表中的每一条记录都能被唯一区分(通过主键区分),某一个非主键的字段要依赖整个组件,而不能只依赖部分主键(多个字段组成一个逐渐)。
  • 第三范式(3NF):非主键的字段之间不能有从属关系
注意:满足第一范式的数据库才能称为关系数据库。
SQL


  • SQL:Structure Query Language,结构化查询语言。SQL配套关系型数据库使用的。
  • SQL解释器:将SQL语句解释成机器语言
  • 数据存储协议:应用层协议,C/S
    S:server, 监听于套接字,接收并处理客户端的应用请求
    C:Client
数据约束:


  • 约束:constraint,需要遵守的限制
常见的约束:


  • 主键:primary key,一个或多个字段的组合,非空且唯一。
  • 唯一键:unique key, 一个或者多个字段的组合
  • 非空:not null
  • 外键:foreign key,用来建立表和表之间的关系。外键的字段依赖于另一张表的字段。
  • 默认:default,默认值
  • 检查:字段值的一个范围
主键和外键的区别:


  • 主键:primary key
    作用:用于惟一地标识表中的某一条记录,确保每列的原子性。
    形式:主键可以由一个字段,也可以由多个字段组成,分别成为单字段主键或多字段主键
    其他:建立主键会生成唯一索引,一个表只能建一个主键。
  • 外键:foreign key
    作用:保持数据一致性,完整性,主要目的是使两张表形成关联,并控制存储在外键表中的数据。
    形式:建立外键的表为“从表”,外键依赖的表为“主表”,主表是从表的“外表”
    其他:外键只能引用外表中的列的值!一个表只能建一个外键。
    建立外键的列,必须是外表的主键,并且字段类型必须一致。
关系运算:


  • 选择:筛选行(记录)
  • 投影;(cut)筛选列
  • 连接:表和表之间的关系。比如外键。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

惊雷无声

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表