数据库基础知识----数据库大观

这里写目录标题

绪论

发展历程

人工管理阶段,可能数据是存在一个本子上,或者什么地方,总之不在计算机内

而关于他们发展的特点,是在逐步优化的

首先关于共享性 (包含:是否可以多方同时使用、共享时的并发控制、数据一致性问题、数据的精简性问题):

不共享-->有,但共享性较差-->共享性高

人工阶段不共享,因为数据都存在"一个本子"里,同一时刻,只能有一个人在操作(查阅或者修改等等)本子的数据,其他想查阅的只能排队等待

文件阶段,虽然数据存在文件里,

1、可以由同一个计算机中的应用程序多方使用

2、但是由于文件没有并发控制,无法做到共享时的同步与互斥

3、且如果进行文件复制,多个副本之间联系弱,很难做到修改数据后的实时更新同步

4、数据冗余也表明其共享性差,多个文件,比如文件1:员工详细信息;文件2:员工工资,两个文件都有"员工的一些基本信息",当修改基本信息时,两个表都会涉及,都要修改

数据库阶段,共享性高,可以多方同时使用、共享时也DBMS也提供并发控制、数据一致性问题也会解决、数据也会尽可能精简(多表联查)

而关于独立性 :是指

数据独立性指的是应用程序和数据的相对独立程度。

换句话说,如果数据逻辑结构或物理存储方式改变 ,程序不需要大幅修改,这就是高数据独立性。

文件系统阶段---- 程序直接依赖文件名、字段顺序、格式 ,缺乏逻辑/物理独立性

数据库阶段---- DBMS 提供逻辑/物理独立性,程序通过 SQL 查询访问数据,无需关心存储细节

最后,就是最直观的,由:无法持久化数据-->可以持久化数据-->可以持久化数据,并有一个系统进行管理

数据模型

三层模式两层映像

1、首先看图片最上方那四个等价说法

2、关于三层模式,其实就是上面数据模型,换了一个说法,外模式其实就是外部模型;逻辑模式其实就逻辑模型;内模式其实就是物理模型

关于两级映像,很重要,他是实现数据库的独立性的关键

一个是外模式和逻辑模式之间的映像,当逻辑模式改变时,对该映像的逻辑模式与逻辑模式对接的方向做出一定的修改,就可以保证映射的正常,从而不必修改外模式和应用程序

逻辑模式和内模式之间的映像同理

他们一个实现了逻辑数据的独立性,一个实现了物理数据的独立性,但是这两个都属于**"数据独立性"**

3、重点看上图右上角的图,他把前面的"数据模型"都串起来了

其中,上图中的"多个应用"其实是一个程序的各个分布式服务,当前如果脑洞大开,也可以让多个应用使用同一个数据库

基本概念


DDL:数据库定义语言

DML:数据库操作语言

DCL:数据库控制语言

关系数据库

简介(基本术语)

1、首先看一般术语关系模型术语 的对应关系

其中,记录类型:**记录类型(Record Type)**是指 由多个不同类型的数据字段组成的复合数据类型,也叫 结构化数据类型。

2、元组的个数叫做**"基数";属性的个数叫做"元数"**,不要混淆

3、属性的取指范围叫做**"域"**

每个属性对应一个域,不同的属性可以对应同一个域

比如,籍贯的域:全国各地的地名;而工作地点的域:也可以是全国各地的地名

1、关系模式:上面已经说了,就是一个表所有字段的定义,类似于定义一个结构体类型

2、而对一个关系模式进行实例化,就是一条"元组";许多个元组的集合就是"关系",也就是一张 中记录的集合

3、关系模型:若干个关系模式的集合

1、超建:能唯一标识一个元组(或者说一条记录)的属性 或者属性集 ,如(T#,TNAME),教师工号与教师名字的集合

其实就是主键+其他,或者主键自己

2、候选键:不含多余属性的超建,即:主键自己

3、关于主键:即用户自己选择某个属性作为候选键

4、外键,如上图表述,例如:COURSE表中的T#,是TEACHER表的主键,那么T#就被叫做COURSE表的外键

即,对一个(对应到关系模式,称为"关系")的规范·

关系模型

组成

数据结构

就是"关系",或者称为"表"

数据操纵

数据完整性规则

分为三部分:实体完整性规则、参照完整性规则、用户定义的完整性规则

1、实体完整性规则:主键非空且唯一

2、参照完整性规则:外键可以为空,或者必须是某个记录的真实的主键,即不可用引用不存在的实体

3、用户定义的完整性规则:由用户定义

关系代数

五个基本操作

1、前提:只有具有**相同的关系模式(即相同的表字段定义)关系(即表)**才可以进行"并"操作

2、将记录"并"操作,重复的保留一份即可

1、前提:只有具有**相同的关系模式(即相同的表字段定义)关系(即表)**才可以进行"差"操作

R-S,看可以减去R中哪条记录,只能减去S中有的,并且R中也有的

笛卡尔积

两个表进行全排列组合

投影(π)

挑选若干属性组成新的关系,去掉重复行,组成新的表

选择

四个组合操作

1、前提:只有具有**相同的关系模式(即相同的表字段定义)关系(即表)**才可以进行"交"操作

连接

1、连接:从笛卡尔积的结果中,选取满足条件的元组

如,RXS 2=1,就是笛卡尔积中,左表的第二列 等于 右表的第一列,满足这样的元组组成新表

2、或者直观的,先进行笛卡尔积,然后不再区分左右表,而是在最新的表中,j变为第一个表的列数+j,其实与第一个的意思是一样的

当符号是等号的话,就称为等值连接

除法

如,R除以COURSE1,首先在R中找到满足COURSE1的记录,然后去掉这些记录的字段,组成新表

如果所除的表有多条记录,则要同时满足这些记录的同一个人才能被选中

关系数据库语言----SQL

简介

关系模式,在SQL中对应"基本表"

子模式(也称 外模式),在SQL中对应"视图"

存储模式,SQL用的是"存储文件"

SQL数据类型

1、

int 四字节

smallint 二字节

float(n),n表示总精度,即这个数的总共几个位

dec(p,d),总的位为p个,其中小数占d个

float 和 dec 的区别:

float,存储时是二进制浮点数,可能出现微小误差:

dec,存储时是十进制精确存储

FLOAT → 浮动 → 近似 → 科学计算

DECIMAL → 精确小数 → 财务场景

二级目录

二级目录

一级目录

二级目录

二级目录

二级目录

一级目录

二级目录

二级目录

二级目录

相关推荐
本体智能2 小时前
预制指标、宽表、SQL、本体ABC:真正决定长期成本的,是一次变更会波及多少层
数据库·sql·本体神经网络·uino数据智能引擎
瀚高PG实验室3 小时前
使用hgdbdeveloper开发工具导出数据后在异机恢复时报错
数据库·瀚高数据库
百结2144 小时前
PostgreSQL 初体验
数据库·postgresql
ward RINL5 小时前
Redis 安装及配置教程(Windows)【安装】
数据库·windows·redis
bingHHB6 小时前
金蝶云星空旗舰版 × 赛狐ERP:亚马逊卖家业财一体化的最后一公里
运维·数据库·集成学习
Nontee6 小时前
Redis高可用架构解析
数据库·redis·架构
淼淼爱喝水6 小时前
DVWA SQL 注入(Medium/High 级别)过滤绕过与防范实验(超详细图文版)
数据库·sql·网络安全
csdn_aspnet6 小时前
MySQL主从延迟根因诊断法,从网络、IO、SQL到参数,系统化定位高并发下的同步瓶颈
数据库·mysql·主从
SHANGHAILINGEN7 小时前
NM | FungAMR数据库,一键筛查真菌耐药基因!
数据库