数据库的三范式
第一范式
===>每行记录的属性,是原子的,拆到不可拆为止。
===>例如:一个人的籍贯,可以拆分为,省,市,县,乡,村
第二范式
===>每行记录的非主属性(非主键属性),都完全依赖主属性(主键)。
===>每行的数据都能唯一区分。
===>例如:一个学校的教师,他的姓名,年龄,性别,籍贯。都依赖它的教师编号
===>而它教授的科目,并不依赖他的编号,则需要另建表,作为关系模型,进行存储
第三范式
===>在实体关系中,如果不存在非关键字段对任一候选关键字段的函数传递依赖。则符合第三范式。
===>一旦有属性,即可以依赖主键,又可以依赖另一个字段。就要拆分为两张表
===>学号,姓名,性别,系部,归属学院
===>系部即可以依赖学号,也可以依赖归属学院。则可以拆分为两张表。(学号,姓名,性别)(系部,归属学院)
关系性数据库在关系模式设计时满足的一些基本要求
--->数据库中的数据冗余尽可能小。
--->当数据库执行插入工作时,数据不能出现插入异常的现象
--->当数据库执行更新工作时,数据库中的数据不能因为更新而出现不一致
--->当数据库执行删除工作时,数据库的数据不能出现删除异常的现象
--->元组中的每个分量是不可再分的数据项,数据库设计时应该考虑查询合理等相关问题,在数据组织上要合理。
Liunx下mysql数据库二进制压缩包解压后安装目录的结构
"bin"
==>客户端程序和mysqlid服务端
"data"
==>日志文件,数据库
"docs"
==>文档
"include"
==>包含(头)文件
"lib"
==>库
"scripts"
==>mysql_install_db脚本
"share/mysql"
==>错误消息文件
"sql-bench"
==>基准程序