这次小编就来给学习java数据库的小伙伴们说一下java培训从开始的入门到的出师都必须需要经历哪几个步骤?
一、视图
#数据库对象,一个虚拟表,底层并非以键值的形式保存数据,在执行过程中
#动态从基表获取数据(视图以表为底层来查询)
视图其实就是提高查询效率的中间件,就像子查询 (select ename,deptno from emp) as wtf 查出来的作为 wtf表。
底层其实就是一条select 语句。
上demo 吧
上边的demo 没办法修改deptno 因为 有限制 ,注意是deptno 不能修改,会报错,其他的一样的
create view view_emp
as
select * from emp;
所以就别对视图进行增删改操作。
二、索引
#为提升查询效率而创建数据结构
#B-Tree B+树索引 多路搜索树
#在 mysql中 默认采用 B+树方式来维护 索引列数据
#B+树是一个多路搜索树
#不同的存储引擎,对索引的存储策略不一样的
#Myisam 叶子节点中保存记录的地址
#innodb 叶子节点中直接保存相应的数据
#位图索引 哈希索引
上边看不懂也没关系:索引初学者,用就行了:
上demo吧
索引列的选择
#索引需要单独的文件来保存维护
#表数据发生变化,需要维护索引表
#适合添加索引
#表数据量足够大
#增删改操作较少
#高基数列:不一样的数据比较多
#索引说明 :
#索引不适合添加过多
#经常作为查询条件的列适合作为索引列
#某些情况下索引会失效 or like-包含
三、数据库如何设计
#数据库设计的含义
#查询和项目的基础,数据库的优化前提就是数据库设计
#数据库设计步骤,
#1.需求分析 2.概念结构设计阶段 3.逻辑设计阶段 4.物理设计阶段 5.数据库实施 6.运行和维护
#数据库设计的三大(共六个)范式
#1NF
所有的域都是原子性的,域中的数据不可分割,比如地区 就可以分割为省市区
#2NF
非主键字段必须与主键相关(每张表只描述一类事物),而不能与主键不部分相关。
#3NF
非主键字段必须与主键直接相关,非主键字段之间不能相关。
#客观世界的模型展示。
实体:矩形框
关系:菱形框
属性:椭圆形框
连线:连接关系
#实体之间的关系
一对一 /多对一/多对多
#一对一:1.外键添加约束 2.外键做主键
#一对多:雇员和部门
#多对多:添加第三张关系表设置外键和联合主键
四、数据库的简单优化
这里的优化只是对于sql而言的:
#数据库优化-----------------------------
#sql 优化
#避免用*,(*会转换为列名,然后再查询)
#索引失效的状况
#索引列不要使用 is null/is not null
#索引上 不要使用函数
#索引列不要计算
#索引列不要使用 not(!=/<>)
#索引列 不要使用 or 可以使用 union替换
#索引列不要使用 包含 like '%s%'
#EXISTS 和in 的选择
exists 先执行主查询,in 先执行子查询
先过滤再关联
五、备份和还原
#备份和还原------------------------
Mysqldump -uroot -proot dbname > /users/songqi/desktop/1.sql
mysql -uroot -proot < /users/songqi/desktop/1.sql
以上就是java培训课程里面的数据库讲解,数据库从入门到出师都必须需要经历哪几个步骤,如有不正,还请指出。
粤嵌科技创办于2005年是一家IT高新技术企业,专注IT职业教育13年,主要培训课程分别有嵌入式培训、Java培训、Unity游戏开发、Python人工智能、HTML5前端开发、全栈UI设计、网络营销、CCIE网络等专业课程
java数据库的学习从入门培训到毕业出师需要经历哪几个步骤?
更新时间: 2018-08-31 10:22:49来源: java培训浏览量:3985