8、视图
- 概念:view , 站在不同的角度去看同一份数据,以文件的形式存在
- 视图对象的创建与删除
- 创建:create view 视图名 as select 字段名 from 表明 ;
- 删除: drop view 视图名 ;
- 【注意】:只用DQL语句才能用view来创建,可以面向视图对象进行增删改查 , 对视图对象的增删改查会导致原表被操作
- 作用:简化SQL语句
【案例】:展示视图的创建与删除 drop table if exists dept2 ; create table dept2 select * from dept ; create view dept2_view as select * from dept2 ; drop view dept2_view ; 【案例】:面向视图进行创建、更新数据 drop view if exists emp_dept_view ; create view emp_dept_view as select e.ename , e.sal , d.dname from emp e join dept d on e.deptno = d.deptno ; select * from emp_dept_view ; update emp_dept_view set sal = 200 where ename = 'SMITH';
9、DBA常用命令
- 创建用户:create user 用户名 identified by '密码' ;
--可以登录但是只可以看见一个库 information_schema
- 导入导出:
- 导入:source 文件位置
- 导出:mysqldump 数据库名称 > 文件路径 文件名.sql -u 用户名 -p 密码
【案例】展示DBA常用命令 create user zzyyui identified by '20zzy100588A' ; grant all on *.* to 'zzyyui'@'%' with grant option; // 回收权限 revoke all on *.* from guest; //慎用 use mysql; select * from user; update user set password = password('') where user = ''; flush privileges; // 导入导出 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 source D:\ bjpowernode.sql
10 数据库设计范式
- 概念:数据库设计的依据(面试常考)
- 第一范式:任何一张表必须要有主键,每一个字段原子性不可再分;
- 第二范式:建立在第一范式之上,要求所有非主键字段完全依赖主键,不要产生部分依赖;
- 第三范式:建立在第二范式之上,要求所有非主键字段直接依赖主键,不要产生传递依赖。
10.1 第一范式
- 地位:最核心、最重要的范式,所有表的设计都需要满足
- 要求:必须有主键,并且每一个字段原子性不可再分
【案例】:判断是否满足第一范式 学生编号 学生姓名 联系方式 ------------------------------------- 1001 张三 zs@gmail.com,1359999999 1002 李四 ls@gmail.com,13699999999 1001 王五 ww@163.net,13488888888 【存在问题】: 1、最后一条记录和第一条重复(不唯一,没有主键) 2、联系方式字段可以再分,不是原子性的 【更改】: 学生编号(pk) 学生姓名 email 联系电话 ------------------------------------------------------------- 1001 张三 zs@gmail.com 1359999999 1002 李四 ls@gmail.com 13699999999 1003 王五 ww@163.net 13488888888