为了账号安全,请及时绑定邮箱和手机立即绑定
  • 论需求分析的重要性: 不懂得需求分析的孩子不是好孩子。 1,对一个数据库设计前,我们要了解我们数据库要存入哪些数据,这些数据有哪些特征(重要程度? 时效性? )然后对症下药,时效性不同->可以定时归档,清理。 重要程度或扩展程度不同可以->分库分表…… 2,了解数据之间的联系,1对1,1对多还是多对多,从而建立的数据表可以是独立的,可以是关联性质的。 3,如果是日志文件,我们打算存入数据库。就要想到这种数据增长性很大,如果只存不清理会造成数据库使用量的大幅度增长,是不好的。我们要定期进行归档,清除操作。
    查看全部
  • BC范式分解后的表不对吧,分解后怎么找出某一个商品的供应商联系人?????比如商品1的供应商联系人是谁?
    查看全部
    8 采集 收起 来源:BC范式

    2015-04-29

  • 数据库设计的步骤: A、需求分析(数据分析) B、逻辑设计(ER图) C、物理设计(数据库特点转换) D、维护优化(需求建表、索引优化,大表拆分)
    查看全部
  • 1NF:字段不可分; 2NF:有主键,非主键字段依赖主键; 3NF:非主键字段不能相互依赖;
    查看全部
    5 采集 收起 来源:第三范式

    2018-03-22

  • 如何选择主键 1.区分业务主键和数据库主键 业务主键用于标识业务数据,进行表与表之间的关联。 数据库主键为了优化数据存储 2.根据数据库的类型,考虑主键是否要顺序增长 有些数据库是按主键的顺序逻辑存储的 3.主键的字段类型所占用空间要尽可能的小 对于使用聚集索引方式的存储的表,每个索引后都会附加主键的信息 避免使用外键约束 1.降低数据导入的效率 2.增加维护成本 3.虽然不建议使用外键约束,但是相关联的列上一定要建立索引。 避免使用触发器 1.降低数据导入的效率 2.可能会出现意想不到的数据异常 3.使业务逻辑变的复杂。 关于预留字段 1.无法准确的知道预留字段的类型 2.无法准确的知道预留字段中所存储的内容 3.严禁使用预留字段
    查看全部
  • 维护数据字典: 1.第三方工具:针对不同的DBMS 2.利用数据库本身的备注字段:对表和列增加备注字段,举例如图。 3.导出数据字典(很通用)但是注意:更改表备注时,只需要更改表备注,其他的一些列的属性(列的长度、宽度、是否非空)必须保持原样
    查看全部
  • 一、数据库的设计过程---->需求分析-逻辑设计-物理设计-维护优化 二、具体来说: 需求分析: 数据是什么,数据的属性,数据和属性各自的特点 逻辑设计: ER建模 物理设计: ora,mysql等特点 维护优化: 新的需求进行建表,索引优化,大表拆分
    查看全部
  • 数据库设计 就是建库、建表,建库是比较容易的,建表是相对复杂的,关系型数据,表结构就是根本,所以这一步最为关键也最为复杂,建表不好的地方在于,建立表之间的关系是复杂的,建立表之间的关系的复杂体现在实现表与表之间联系的字段的选择上。这一步如果搞定之后,下面就是每个表中的字段类型、长度、约束的建立,这些东西,关系到程序是否好写,存储是否方便,查询是否高效。
    查看全部
  • 物理设计要做什么?<br> 首先,再次的说明一下,物理设计的目标就是建立数据的表结构,所以啦!我们需要选择使用什么样的数据库系统来建立表结构,这个选择怎么来选呢?通常是通过需求的特点、数据库系统的特点、成本等因素来选择的,一般基本上流行的数据库系统都能满足我们的应用的需要的,所以数据库的特点和成本就是主要考虑的因素了! 建库建表的时候肯定要考虑,建立的具体的表的结构字段了,这些一方面是根据对应的规范来的,另一方面是根据实际的经验来的,作者这里提到了,最好要有一定的命名规范的要求,主要目的是为了方便识别每个表的作用和特点,注意选择什么样的数据库系统结构要在建立对应的表结构的命名规范之前来做,因为,每个数据库系统都有其对应的特点的。命名规范,应该从数据、表名称、字段名称等粒度。 表的字段类型的选择一般是根据需求和实际的工作经验来选择的,前提是符合一定的命名规范,另外就是要考虑节省空间,提高查询效率,易编程性。 反范式化的设计,主要考虑到要以空间换时间的事情,适当的冗余可以提高查询的效率,和编程的效率。 这个作者讲的很好!
    查看全部
  • 物理设计 1.选择合适的数据库管理系统(考虑成本特点之类) 2.定义数据库、表及字段的命名规范 3.根据选择的DBMS系统选择合适的字段类型(各种数据类型适合的东西) 4.反范式化设计(有时候用空间换时间) 物理设计要做什么 常见DBMS系统(商业、企业级:oracle大,口碑好、SqlServer小) (开源、互联网项目:MySQL、PgSQL小)
    查看全部
  • char和varchar如何选择 原则: 1.如果列中要存储的数据程度差不多是一致的,则应该考虑用char 否则应该考虑用varchar 2.如果劣种的最大长度小于50byte,则一般也要考虑char 3.一般不易定义大于50te的char类型列。 decimal与float 如何选择 1.decimal用于存储精确数据,而float只能用于存储非精度数据。 2.由于float的存储空间开销一般比demimal小。 故非精度数据优先选择float 时间类型如何存储 1.使用int来存储时间字段的优缺点 优点:字段长度比达特time小 确定:使用不方便,要进行函数转换。 2.需要存储的时间粒度 年月日小时分秒周
    查看全部
  • 物理设计要做什么 需求分析也好,逻辑分析也好,最终的目的是建立数据库的表结构。 1.选择合适的数据库管理系统 oracle、sqlserver、mysql 2.定义数据库、表以及字段的命名规范 3.根据所选的dbms系统选择合适的字段类型 不仅是要满足功能,更要考虑到对应的效率 4.反范式化设计
    查看全部
  • 1.状态字段的含义都记录在数据字典中,使用时要通过数据字典来查询含义,数据字典很重要 2.使用过程中,发现索引不适用,删除旧的,建立新的索引 3.由于需求变化,列的增加和减少 4.拆分表:水平和垂直
    查看全部
  • 1,我们接到一个项目: 首先要去分析这个项目有哪些模块--->然后针对具体模块分析有哪些属性--->针对属性分析哪个属性或哪几个属性的集合可以用来标识这个属性[唯一标识]------->分析这个模块数据是否永久存储,是否数据增长很快,是否经常查询---->如果是就要考虑分库分表了。如果不是,那么这些数据是否只会存储一定时间,是否需要永久记录--->如果是我们就定期归档及数据的迁移操作了。 如:注册用户表: 属性:用户名,密码,电话,邮箱,地址,昵称,头像,…… 唯一标识: 邮箱? 用户名+邮箱->md5加密来标识?…… 存储特点:随系统上线时间逐渐增加,需要永久存储。 ---> 必须分库分表操作了。 如拟定2亿用户 可以分4个库,每个库100张表,每张表50w条记录。 2,分析这些模块之间的关联性: 1对1? 1对多? 多对多? ---->画ER图。 比如,电子商务网站系统包括几个模块:用户模块,商品模块,订单模块,购物车模块,供应商模块。 记录注册用户信息 属性:用户名、密码、电话、邮箱、身份证号、地址、姓名、昵称。。。 可选唯一标识属性:用户名、身份证号、电话 存储特点:随系统上线时间逐渐增加,需要永久存储。
    查看全部
    3 采集 收起 来源:需求分析举例

    2018-03-22

  • 要搞清楚的一些问题: 1,对一个数据库设计前,我们要了解我们数据库要存入哪些数据,这些数据有哪些特征(重要程度? 时效性? )然后对症下药,时效性不同->可以定时归档,清理。 重要程度或扩展程度不同可以->分库分表…… 2,了解数据之间的联系,1对1,1对多还是多对多,从而建立的数据表可以是独立的,可以是关联性质的。 3,如果是日志文件,我们打算存入数据库。就要想到这种数据增长性很大,如果只存不清理会造成数据库使用量的大幅度增长,是不好的。我们要定期进行归档,清除操作。
    查看全部
首页上一页1234567下一页尾页

举报

0/150
提交
取消
课程须知
本课程适合程序开发人员及数据库管理运维人员
老师告诉你能学到什么?
1、了解数据库设计的重要性 2、如何设计出简洁高效的数据库结构 3、如何对数据库结构进行优化调整

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!