电商网站如何提高转化率,微信小程序数据库搭建,织梦房产网站源码,德州力点科技 网站建设01.概念的区分#xff1a; mysql是属于DBMS层次的#xff0c;sql语句是用于DBMS的语句。
02.sql语句详细介绍#xff1a;
SQL的概述Structure Query Language(结构化查询语言)简称SQL#xff0c;它被美国国家标准局(ANSI)确定为关系型数据库语言的美国标准#xff0c;后…01.概念的区分 mysql是属于DBMS层次的sql语句是用于DBMS的语句。
02.sql语句详细介绍
SQL的概述Structure Query Language(结构化查询语言)简称SQL它被美国国家标准局(ANSI)确定为关系型数据库语言的美国标准后被国际化标准组织(ISO)采纳为关系数据库语言的国际标准。
数据库管理系统DBMS可以通过SQL管理数据库DB定义和操作数据维护数据的完整性和安全性。
03.从数据库开始说起DB的设计三范式
举例说明3NF 1NF 属性不可再分即表中的每个列都不可以再进行拆分。 如下学生信息表(student)
id、name(姓名)、sex_code(性别代号)、sex_desc(性别描述)、contact(联系方式)
primary key(id)
如果在查询学生表时经常用到学生的电话号则应该将联系方式(contact)这一列分为电话号(phone)和地址(address)两列这样才符合第一范式。
修改使表满足1NF后 判断表是否符合第一范式列是否可以再分得看需求 如果将电话号和地址分开才能满足查询等需求时那之前的表设计就是不满足1NF的如果电话号和地址拼接作为一个字段也可以满足查询、存储等需求时那它就满足1NF。
2NF 在满足1NF的前提下表中不存在部分依赖非主键列要完全依赖于主键。(主要是说在联合主键的情况下非主键列不能只依赖于主键的一部分) 注联合主键就是用2个或2个以上的字段组成主键。 用这个主键包含的字段作为主键这个组合在数据表中是唯一且加了主键索引。 如下学生成绩表(score)
stu_id(学生id)、kc_id(课程id)、score(分数)、kc_name(课程名)
primary key(stu_id, kc_id)
表中主键为stu_id和kc_id组成的联合主键。满足1NF 非主键列score完全依赖于主键stu_id和kc_id两个值才能决定score的值 而kc_name只依赖于kc_id与stu_id没有依赖关系它不完全依赖于主键只依赖于主键的一部分不符合2NF。 修改使表满足2NF后
成绩表(score) primary key(stu_id)
课程表(kc) primary key(kc_id) 将原来的成绩表(score)拆分为成绩表(score)和课程表(kc)而且两个表都符合2NF。
3NF 在满足2NF的前提下不存在传递依赖。(A - B, B - C, A-C) 如下学生信息表(student)
primary key(id)
表中sex_desc依赖于sex_code而sex_code依赖于id(主键)从而推出sex_desc依赖于id(主键)sex_desc不直接依赖于主键而是通过依赖于非主键列而依赖于主键属于传递依赖不符合3NF。
修改表使满足3NF后
学生表(student) primary key(id) 性别代码表(sexcode) primary key(sex_code) 将原来的student表进行拆分后两个表都满足3NF。
04.DB中的数据的数据类型 数据库的数据类型
整数类型 根据数值取值范围的不同MySQL 中的整数类型可分为5种分别是TINYINT、SMALUNT、MEDIUMINT、INT和 BIGINT。 浮点数类型和定点数类型 在MySQL数据库中使用浮点数和定点数来存储小数。浮点数的类型有两种单精度浮点数类型FLOAT)和双精度浮点数类型DOUBLE)。而定点数类型只有一种即DECIMAL类型。下图列举了 MySQL中浮点数和定点数类型所对应的字节大小及其取值范围 字符串类型 在MySQL中常用CHAR 和 VARCHAR 表示字符串。两者不同的是VARCHAR存储可变长度的字符串。 当数据为CHAR(M)类型时不管插入值的长度是实际是多少它所占用的存储空间都是M个字节而VARCHAR(M)所对应的数据所占用的字节数为实际长度加1 字符串类型 文本类型用于表示大文本数据例如文章内容、评论、详情等它的类型分为如下4种 日期与时间类型 MySQL提供的表示日期和时间的数据类型分别是 YEAR、DATE、TIME、DATETIME 和 TIMESTAMP。下图列举了日期和时间数据类型所对应的字节数、取值范围、日期格式以及零值 YEAR类型 YEAR类型用于表示年份在MySQL中可以使用以下三种格式指定YEAR类型 的值。 1、使用4位字符串或数字表示范围为’1901’—2155’或1901—2155。例如输人 ‘2019’或2019插人到数据库中的值均为2019。 2、使用两位字符串表示范围为’00’—‘99’。其中‘00’—69’范围的值会被转换为 2000—2069范围的YEAR值‘70’—99’范围的值会被转换为1970—1999范围的YEAR 值。例如输人’19’插人到数据库中的值为2019。
二进制类型 在MySQL中常用BLOB存储二进制类型的数据例如图片、PDF文档等。BLOB类型分为如下四种