关系数据库小小基础

什么是关系型数据库:

关系型数据库基于关系模型,关系模型是通过二维表保存实体和实体间的关系,所以关系型数据库存储的是由行和列组成的表,每张表可以看作一个实体集,实体之间是有关系的,多张表组成数据库


为什么需要关系模型:

以前数据的逻辑结构有,层次型、网状型,能很好地解决存储的问题,但层次型处理对象间的关系比较麻烦,网状型维护复杂,且查询时需指定类型和路径,所以出现了关系模型


关系型数据表示形式

一个文件在linux文件系统中的表现形式是这样的

  • 表示层:文件形式
  • 逻辑层:文件系统(作为一个中间的映射,可以说是一个存储引擎,将数据块映射成文件,将文件解构成数据块)
  • 物理层:元数据、数据块

而关系型数据的物理层是基于文件形式的

  • 表示层:表
  • 逻辑层:存储引擎
  • 物理层:文件(对应于文件表示形式的表示层)

关系运算

  • 选择
  • 投影
  • 自然连接
  • 笛卡尔积
  • 集合运算

关系数据库的管理

关系数据库管理系统(Relation Database Management System,RDBMS),如MySQL,使用SQL语句对数据库进行操作

结构化查询语言(Structure Query Language,SQL)

分类:

  • 数据定义语言(Data Definition Language,DDL),定义的是关系数据库的对象:库、表、索引、视图、用户等

CREATE ALTER DROP

  • 数据操作语言(Data Manipulation Language,DML),对表的操作,增删改查

INSTERT UPDATE DELETE SELECT

  • 数据控制语言(Data Control Language,DCL),权限控制

GRANT REVOKE

时间: 2024-12-14 02:56:52

关系数据库小小基础的相关文章

Linux 小小基础

1.在终端(Terminal)下查看Ubuntu操作系统位数及版本 getconf LONG_BIT 2.在Ubuntu终端(Terminal)下进行复制粘贴 复制: Ctrl+Shift+C 粘贴: Ctrl+Shift+V

数据库表设计五大范式所解决的问题

上学时学得<数据库系统概念>,一致似懂非懂,停留在定义和证明层面.最近在做项目,认真的了解了下数据库的范式问题,只有潜意识懂得了其原理和应用场合才能较快设计出合理的表. 首先,明确概念如下: 主码 也就是主键 候选码 若关系中的某一属性组的值能唯一的标识一个元组,而其任何真子集都不能再标识,则称该属性组为候选码.候选码不唯一,主码是其中一个而已. 主属性 包含在任一候选关键字中的属性称主属性 其次,也是本文重头戏,结合例子,讲一下各大范式对前者的改进和应用场景. 范式在现实中解决的问题 1.数

Atitit.5gl&#160;第五代语言编程语言&#160;PROLOG教程&#160;&#160;人工智能语言的标准&#160;与实现

Atitit.5gl 第五代语言编程语言 PROLOG教程  人工智能语言的标准 与实现 1. 第五代语言就是自然语言又被称为知识库语言或人工智能语言,1 2. 人工智能语言特点2 2.1. 试探法2 2.2. 3.要有递归功能和回溯功能:2 2.3. prolog程序没有特定的运行顺序,其运行顺序是由电脑决定的,而不是编程序的人. 2 2.4. prolog程序中没有if.when.case.for这样的控制流程语句 前面已经说了,程序的运行方式有电脑自己决定,当然就用不到这些控制流程的语句了

数据库(二):高级检索

使用数据库中的函数 1 常见的文本处理函数 2 常见数值处理函数 3 常见的聚集函数 分组数据 1 数据分组 2 分组数据的过滤 3 select子句顺序 联结表 1 关系表 2 联结 21 内联结 22 外联结 23 交叉联结 1.使用数据库中的函数 数据库中存在很多数据处理函数可以使用,使用数据库中自带的函数可以简化操作,但是也可能带来兼容性问题,因为不同的数据库管理系统有不同的数据处理函数,需要注意. 1.1 常见的文本处理函数: 函数 说明 LEFT() 返回字符串左边的字符 LENGT

数据库技术的发展简史

http://blog.csdn.net/willtongji/article/details/52874627 学习大数据,需要知道"传统"的数据管理技术,了解了数据库管理技术的发展简史,你就知道哪些技术在大数据时代任然有用,以及新技术到底新在哪里~ 数据库系统的研究和开发从20世纪60年代中期开始到现在,几十年过去了,经历三代演变,取得了十分辉煌的成就:造就了C.W. Bachman(巴克曼).E.F.Codd(考特)和J. Gray(格雷)三位图灵奖得主:发展了以数据建模和数据库

spring的事务

Chapter 1. Spring中的事务控制(Transacion Management with Spring) Table of Contents 1.1. 有关事务(Transaction)的楔子 1.1.1. 认识事务本身 1.1.2. 初识事务家族成员 1.2. 群雄逐鹿下的Java事务管理 1.2.1. Java平台的局部事务支持 1.2.2. Java平台的分布式事务支持 1.2.2.1. 基于JTA的分布式事务管理 1.2.2.1.1. JTA编程事务管理 1.2.2.1.2.

数据库 三大范式 通俗解释

一.三大范式通俗解释: (1)简单归纳: 第一范式(1NF):字段不可分: 第二范式(2NF):有主键,非主键字段依赖主键: 第三范式(3NF):非主键字段不能相互依赖. (2)解释: 1NF:原子性. 字段不可再分,否则就不是关系数据库;: 2NF:唯一性 .一个表只说明一个事物: 3NF:每列都与主键有直接关系,不存在传递依赖. 二.例子说明 (1)不符合第一字段的例子 表:字段1, 字段2(字段2.1,字段2.2), 字段3 字段2可以拆分成字段2.1和字段2.2,不符合第一范式. (2)

java数据库三大范式

引用知乎网友@ 王红波的回答 一范式就是属性不可分割.属性是什么?就是表中的字段.不可分割的意思就按字面理解就是最小单位,不能再分成更小单位了.这个字段只能是一个值,不能被拆分成多个字段,否则的话,它就是可分割的,就不符合一范式.不过能不能分割并没有绝对的答案,看需求,也就是看你的设计目标而定.举例:学生信息组成学生信息表,有姓名.年龄.性别.学号等信息组成.姓名不可拆分吧?所以可以作为该表的一个字段.但我要说这个表要在国外使用呢?人家姓和名要分开,都有特别的意义,所以姓名字段是可拆分的,分为姓

数据库三大范式通俗解释

范式一: 一范式就是属性不可分割.属性是什么?就是表中的字段.不可分割的意思就按字面理解就是最小单位,不能再分成更小单位了.这个字段只能是一个值,不能被拆分成多个字段,否则的话,它就是可分割的,就不符合一范式.不过能不能分割并没有绝对的答案,看需求,也就是看你的设计目标而定.举例:学生信息组成学生信息表,有姓名.年龄.性别.学号等信息组成.姓名不可拆分吧?所以可以作为该表的一个字段.但我要说这个表要在国外使用呢?人家姓和名要分开,都有特别的意义,所以姓名字段是可拆分的,分为姓字段和名字段.简单来