1.数据库设计 关系型数据库建议在E-R模型的基础上,我们需要根据产品经理的设计策划,抽取出来模型与关系,制定出表结构,这是项目开始的第一步 在开发中有很多设计数据库的软件,常用的如power designer,db desinger等,这些软件可以直观的看到实体及实体间的关系 设计数据库,可能是由专门的数据库设计人员完成,也可能是由开发组成员完成,一般是项目经理带领组员来完成 1.1 实体 就是我们根据开发需求,要保存到数据库中作为一张表存在的事物.实体的名称最终会变成表名 实体会有属性,实体…
在一个千万级的数据库查寻中,如何提高查询效率?分别说出在数据库设计.SQL语句.java等层面的解决方案. 解答: 1)数据库设计方面: a. 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. b. 应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后…
mysql优化-数据库设计基本原则 一.数据库设计三范式 第一范式:字段具有原子性 原子性是指数据库的所有字段都不可被再次划分,如下表就不满足原子性,起点与终点 字段就可被拆分为起点与终点两个字段. id 起点-终点 1 北京-上海 2 北京-广州 第二范式:消除对主键的部分依赖 依赖是指在数据库表中,通过字段A就可以确定字段B,这就叫B对A依赖. 而部分依赖就是指当数据库表中主键为复合主键(A,C),而B仅仅对A依赖,这种情况称作部分依赖. 正确的方法是创建一个与业务逻辑无关的 id 主键,其…
一.课程笔记 1.1  软件开发周期 (1)需求分析阶段 分析客户的业务和数据处理需求. (2)概要设计阶段 设计数据库的E-R模型图,确认需求信息的正确和完整. /* E-R图:实体-关系图(Entity Relationship Diagram),提供了表示实体类型.属性和联系的方法,用来描述现实世界的概念模型. 实体 一般认为,客观上可以相互区分的事物就是实体,实体可以是具体的人和物,也可以是抽象的概念与联系.关键在于一个实体能与另一个实体相区别,具有相同属性的实体具有相同的特征和性质.用…
http://blog.csdn.net/taijianyu/article/details/5945490 一:表中应该避免可为空的列: 二:表不应该有重复的值或者列: 三: 表中记录应该有一个唯一的标识符  在数据库表设计的时候,数据库管理员应该养成一个好习惯,用一个ID号来 唯一的标识行记录,而不要通过名字.编号等字段来对纪录进行区分.每个表都应该有一个ID列,任何两个记录都不可以共享同一个ID值.另外,这个ID值最 好有数据库来进行自动管理,而不要把这个任务给前台应用程序.否则的话,很容…
数据库分类 关系型数据库 行列, 列如Mysql,oracle 通过表和表之间,行和列之间的关系进行数据的存储 非关系型数据库: Redis,MongDb 以对象存储,同过对象的自身属性来决定 表与表的关系 一对一,一对多,多对多 外键特点 从表外键的值是对主表主键的引⽤. 从表外键类型,必须与主表主键类型⼀致. 声明外键约束语法 alter table 从表 add [constraint][外键名称] foreign key (从表外键字段名) references 主表 (主表的主键);…
数据库设计方面: 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描.             如: select id from t where num is null              可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select id from t where num=0 3…
[数据库设计的三大范式] 1.第一范式(1NF First Normal Fromate):数据表中的每一列(字段),必须是不可拆分的最小单元.也就是确保每一列的原子性. 例如: userInfo: '山东省烟台市 13181621008' => userAds:'山东省烟台市' tel:'13181621008' 2.第二范式(2NF):满足1NF后,要求:表中所有的列,都必须功能依赖于主键,而不能有任何一列与主键没有关系.(一张表值描述一件事情) 3.第三范式(3NF):满足2NF后,要求:…
定义:SQL即Structure Query Language(机构化查询语言)的缩写,是使用关系数据库的应用语言. 包括三个类别: (1):DDL(Data Definition Language) 数据定义语言,主要用于这些语句定义了不同的数据段.数据库.表.列.索引等数据库对象的定义.常用语句包括:create,drop,alter等. (2):DML(Data Manipulation Language) 数据操纵语言,主要用于添加,删除,更新和查询数据库记录,常用      关键字:i…
一.三大范式 1.第一范式:消除一个字段包含多个数据库值,消除一个记录包含重复的组(单独的一列包含多个项目),即可满足1NF. 2.第二范式:消除部分依赖性即可转化为2NF.部分依赖性表示一个记录中包括的字段只依赖于主键的一部分.解决部分依赖性的最简单方法是将复合主键分成两部分,每一部分表示一个单独的表. 3.第三范式:消除可传递依赖性即可满足3NF.可传递依赖性表示记录中至少一个值不依赖主键,而是依赖于这个记录中的另一个字段. 4.数据库规范化: 1NF:删除重复的组,并确定一个主键或复合主键…