hithyc 2019-12-06
数据库类型 | 成本 | 开发语言 | 支持系统 | 业务场景 |
Oracle | 商业型 | php,java,python等 | windows/liunx系统 | 企业级 |
SQLServer | 商业型 | .NET,C#等 | 只支持windows系统 | 企业级 |
MySQL | 开源型 | php,java,python等 | windows/liunx系统 | 中小型 |
PgSQL | 开源型 | php,java,python等 | windows/liunx系统 | 中小型 |
2.定义数据库,表及字段,要符合命名规范。
存储引擎 | 索引 | 事务 | 锁粒度 | 主要应用 | 忌用 |
MyISAM | 支持 | 不支持 | 支持并发插入的表级锁 | select,insert高负载 | 读写并用 |
InnoDB | 支持 | 支持 | 支持MVCC的行级锁 | 事务处理 | 无 |
MEMORY | 支持 | 不支持 | 表锁 | 中间计算,静态数据 | 大型数据集,持久性存储 |
Archive | 不支持 | 不支持 | 行级锁 | 日志记录,聚合分析,只支持select,insert操作 | 随机读取,删除 |
Ndb cluster | 支持 | 支持 | 行级锁 | 高可用集群 | 典型引用 |
3.根据选择的数据库管理系统选择合适的数据类型
列类型 | 存储空间 |
TINYINT | 1个字节 |
SMALLINT | 2个字节 |
MEDIUMINY | 3个字节 |
INT | 4个字节 |
BINGINT | 8个字节 |
DATE | 3个字节 |
DATETIME | 8个字节 |
TIMESTAMP | 4个字节 |
CHAR(M) | M字节,1<= M <=255 |
VARCHAR(M) | L+1字节,在此 L < = M 和 1 <=M <= 255 |
FLOAT | 4字节 |
DOUBLE | 8字节 |
DECIMAL | 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2 |
<span><span><span><span><span><span><br /></span></span></span></span></span></span>
例如:使用数据库创建外键约束:
CREATE TABLE `m_user` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT ‘主键‘, `user_name` varchar(50) NOT NULL DEFAULT ‘‘ COMMENT ‘用户名‘, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `m_order` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT ‘主键‘, `total_price` decimal(10,2) NOT NULL DEFAULT ‘0.00‘, `user_id` int(11) NOT NULL DEFAULT ‘0‘, PRIMARY KEY (`id`), CONSTRAINT `for_indx_user_id` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
不使用数据库创建外键约束:
CREATE TABLE `m_user` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT ‘主键‘, `user_name` varchar(50) NOT NULL DEFAULT ‘‘ COMMENT ‘用户名‘, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `m_order` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT ‘主键‘, `total_price` decimal(10,2) NOT NULL DEFAULT ‘0.00‘, `user_id` int(11) NOT NULL DEFAULT ‘0‘, PRIMARY KEY (`id`), KEY `idx_user_id` (`user_id`), ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
3.避免使用触发器
4.谨慎使用预留字段
建议:
4.反范式化设计。
表格的现在还是较为常用的一种标签,但不是用来布局,常见处理、显示表格式数据。在HTML网页中,要想创建表格,就需要使用表格相关的标签。<table> <tr> <td>单元格内的文字</td> ...