MySQL(十)

视图

1.什么是视图

站在不同的角度去看待数据。(同一张表的数据,通过不同的角度去看)

2.怎么创建和删除视图

create view 视图名 as DQL语句
如:create view myview as select empno,ename from emp;
drop view 视图名
如:drop view myview;

3.对视图进行增删改查,会影响到原表数据(通过视图影响的原表数据,不是直接操作的原表)

可以对创建好的视图对象进行CRUD操作。

4.视图的作用

视图可以隐藏表的实现细节,保密级别比较高的系统,数据库只对外提供相应的视图,java程序员只对视图对象进行CRUD。

数据库的导入导出

数据导出(备份)

工具导出

数据导入

先创建数据库,然后source + 文件路径

数据库设计三范式

1.什么是设计范式

设计表的依据。按照这个三范式设计的表不会出现数据冗余。

2.三范式都是哪些

第一范式:任何一张表都应该有主键,并且每一个字段原子性不可再分。
第二范式:建立在第一范式的基础之上,所有非主键字段完全依赖主键,不能产生部分依赖。
第三范式:建立在第二范式的基础之上,所有非主键字段直接依赖主键,不能产生传递依赖。

在实际开发中,以满足客户的需求为主,有的时候会拿冗余换取执行速度。

3.一对一怎么设计

一对一有两种方案。
(1)主键共享
t_user_login
id(pk) username password
---------------------------------------------------------
1 zs 123
2 ls 123123123
3 ww 123214124
4 zl 123241112

t_user_details
id(pk+fk) realname tel ...
---------------------------------------------------------
1 张三 1213123
2 李四 12112323
3 王五 121111123
4 赵六 222222333

//主键也可以是外键

(2)外键唯一
t_user_login
id(pk) username password
---------------------------------------------------------
1 zs 123
2 ls 123123123
3 ww 123214124
4 zl 123241112

t_user_details
id(pk) realname tel userid(fk+unique) ...
---------------------------------------------------------
1 张三 1213123 1
2 李四 12112323 2
3 王五 121111123 3
4 赵六 222222333 4

你可能感兴趣的:(MySQL(十))