1.数据库的三大范式是什么
1)列不可再分
2)行可以唯一区分
3)表的非主属性不可以依赖与其他表的非主属性,外键约束
2.数据库中的事务
1)什么是事务:多条sql语句,要么都成功,要么都失败
2)事务的特性:原子性、一致性、隔离性、持久性
3.数据库的索引问题
mysql中的索引:
1)主键索引:数据列中不允许重复,一个表只能有一个主键
2)唯一索引:数据列中不允许重复,允许为null值,一张表允许多个列创建唯一索引
4.简单说一说drop、delete、truncate的区别
先说一下delete和truncate只删除表的数据不删除表的结构,删除速度一般来说drop>truncate>delete
5.什么是内联接、左外联接和右外联接?
1)内联接: Inner Join 匹配两张表的相关联记录
2)左外联接:left Outer Join 除了匹配2张表中相关联的记录外,还会匹配左表中剩余的记录,右表中未匹配到的字段用NULL表示
3)右外联接:Right Outer Join 除了匹配两张表中相关联的记录外,还会匹配右表中的剩余的记录,左表中未匹配到的字段用NULL表示
6.并发事务带来哪些问题
1)脏读:当一个事务正在访问数据并且对数据进行了修改,而这种修改没有提交到数据库中,这时另外一个事务也访问了这个数据,然后使用了这个数据
2)不可重复读:在一个事务内多次读同一条数据,在这个事务没结束时,另外一个事务也访问了该数据。
3)幻读:幻读和不可重复读类似它发生在一个事务(T1)读取了几行数据,接着另一个并发事务(T2)插入了一些数据,随后查询中,第一个事务就发现多了一些原先不存在的数据,所以称呼为幻读