mysql 面试题(一)

1、说一下数据库设计三范式是什么?

1范式:1NF是对属性的原子性约束,要求属性具有原子性,不可再分解;(只要是关系型数据库都满足1NF)

2范式:2NF是对记录的惟一性约束,要求记录有惟一标识,即实体的惟一性;

3范式:3NF是对字段冗余性的约束,即任何字段不能由其他字段派生出来,它要求字段没有冗余。没有冗余的数据库设计可以做到

但是,没有冗余的数据库未必是最好的数据库,有时为了提高运行效率,就必须降低范式标准,适当保留冗余数据,具体做法是:在概念数据模型设计时遵守第三范式,降低范式标准的工作放到物理数据模型设计时考虑,降低范式就是增加字段,允许冗余。

2、SQL 语句有哪些分类?

  1. DDL:数据定义语言(create alter drop)

  2. DML:数据操作语句(insert update delete)

  3. DTL:数据事务语句(commit collback savapoint)

  4. DCL:数据控制语句(grant revoke)

3、数据库删除操作中的 delete、drop、 truncate 区别在哪? 

  • 当不再需要该表时可以用 drop 来删除表;

  • 当仍要保留该表,但要删除所有记录时, 用 truncate来删除表中记录。

  • 当要删除部分记录时(一般来说有 WHERE 子

你可能感兴趣的:(数据库,数据库)