实习复习---数据库原理10

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/strivenoend/article/details/82811663

数据库

数据库管理系统

数据库系统=数据库+数据库管理系统+数据+DBA

表优化语句

optimize table xxx(可以利用未使用的空间,并整理数据文件的碎片),这个optimize关键字值对INNOdb以及MyIsam引擎好用

索引分类

hash索引:将键值对保存在一个列表中

btree索引

1)普通索引

2)唯一索引

3)主键索引

4)全文索引

一数据模型

层次模型,网状模型,关系模型(以二位数据表的形式组织数据)关系模型更适合组织数据库,,

因此我们用关系模型来组织数据,组织数据库,进而出现关系数据库管理系统,出现关系数据库语言sql

二数据库设计

概念模型--------对数据库进行概念设计,ER图(实体联系图)1:1        1:n           m:n

逻辑模型--------从实体联系图中得出关系模式(表)

物理模型---------面向计算机的模型

c/s架构,有应用程序接收用户请求,应用程序直接向数据库请求数据,

b/s架构,有web服务器接收用户请求,web服务器找到对应的应用程序,应用程序直接向数据库请求数据,

三我没有用过的操作!!!!

1直接用语句进行图片的存储

insert into table values(load_file(‘文件的整体路jing名')

四关系运算基础

关系运算可以用来操作数据库!!!!!!!!

实际上sql就是对关系运算的一种封装!!!!!!!!!!!!

选择运算------select

投影运算----select 

连接运算

=============================================================================================

# sql与代数关系运算之间的关系

关系实际上是“组域”上的笛卡尔积的一个子集,所以sql对关系数据库上的操作实际上在这个子集上的代数关系运算。

- **代数关系运算的介绍**

- **sql与代数关系之间的关系**

-------------------------------------------------------------------------------------------------------------------------------------------------

## 关系运算

> 一群元组的集合称为“关系”,关系之上进行一些“操作”,这些“操作”称为关系运算,包括“选择”、“投影”、“笛卡尔积”、“连接”、“外连接”,“更名”等等。

### 选择

**sql** select * from TABLE **where** name='zhangsan';

**运算** $\sigma_{name='zhangsan'}(TABLE)$;

### 投影

**sql** select **name**,**age** from TABLE ;

**运算** $\Pi_{name,age}(TABLE)$;

**注释** 从TABLE中投影出name、age两个属性;

### 笛卡尔积

**sql** select * from **TABLE1,TABLE2 **;

**运算** $TABLE1\times TABLE2$;

**注释** 将TABLE1中的元组与TABLE2中的元组两个任意拼接成一个新的元组,改元组的长度是TABLE1与TABLE2元祖长度的和 ;

### 自然连接

**sql** select * from **TABLE1,TABLE2 ** where **TABLE1.id=TABLE2.id ** ;

**运算** $TABLE1\Join TABLE2$;

**注释** 将TABLE1与TABLE2中具有重复属性的元组的拼接成一个新的元组,改元组的长度是TABLE1与TABLE2元祖长度的和减去重复属性的个数 ;

###左外连接

**运算** $TABLE1 ⟕  TABLE2$;

**注释** 左外连接的结果包含TABLE1 中所有元组,对每个元组,若在TABLE12中有在公共属性名字上相等的元组,则正常连接,若在TABLE1 中没有在公共属性名字上相等的元组,则依旧保留此元组,并将对应其他列设为NULL。

###右外连接

**运算** $TABLE1  ⟖  TABLE2$;

**注释** 右外连接的结果包含TABLE2中所有元组,对每个元组,若在TABLE1中有在公共属性名字上相等的元组,则正常连接,若在TABLE1中没有在公共属性名字上相等的元组,则依旧保留此元组,并将对应其他列设为NULL。



作者:dxaxin
链接:https://www.jianshu.com/p/fbb97b7b208b
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

猜你喜欢

转载自blog.csdn.net/strivenoend/article/details/82811663
今日推荐