1、什么是DBMS?DBMS和数据库之间是什么关系?SQL的中英文全称是什么?
2、SQL语言分类有哪些?
3、对涉及金额等精确度要求高的属性,应该用什么数据类型?可以用double么?
4、建和不建外键(FOREIGN KEY)约束有什么区别?如果是分布式、高并发集群是否需要添加外键?
DataBaseManagementSystem: 数据库管理系统(数据库软件)
常见的击中DBMS:
MySQL:Oracle公司产品,08年被Sun公司收购,09年Sun公司被Oracle收购,开源产品,MaraDB实际上就是MySQL的一个分支,使用方式和MySQL一样。MySQL市占率第一
Oracle:Oracle公司闭源产品,性能最强,价格最贵,市占率排名第二
SQLServer:微软公司产品,闭源产品,市占率第三
DB2:IBM公司产品
SQLite:轻量级数据库,几十k,只具备最基础的增删改查功能
SQL语言分类
DDL(数据定义语言)
DQL(数据查询语言)
DML(数据操纵语言)
TCL(事务控制语言)
DCL(数据控制语言)
在存储人民币相关的金额的时候,则只能存储到9长度的人民币,也就是说,最大只能存储999999999,不到10亿的数值,如果业务增长很快的话,就会给自己留下隐患。
Decimal:Decimal为专门为财务相关问题设计的数据类型。
DECIMAL从MySQL 5.1引入,列的声明语法是DECIMAL(M,D)。在MySQL 5.1中,参量的取值范围如下:M是数字的最大数(精度)。其范围为1~65(在较旧的MySQL版本中,允许的范围是1~254),M 的默认 值是10。
D是小数点右侧数字的数目(标度)。其范围是0~30,但不得超过M。说明:float占4个字节,double占8个字节,decimail(M,D)占M+2个字节。
如DECIMAL(5,2) 的最大值为9 9 9 9 . 9 9,因为有7 个字节可用。能够解决数据的范围和精度的问题。
SQL
数据完整性(Data Integrity)是指数据的精确性(Accuracy)和可靠性(Reliability)。它是防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的。
Structured Query Language: 结构化查询语言,通过此语言让程序员和数据库软件进行交流