数据库设计基础考点
㈠ (20) 数据库设计包括两个方面的设计内容,它们是______。
A.概念设计和逻辑设计
分析:
数据库设计的设计内容包括:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库的实施和数据库的运行和维护。
概念设计
对用户要求描述的现实世界(可能是一个工厂、一个商场或者一个学校等),通过对其中诸处的分类、聚集和概括,建立抽象的概念数据模型。这个概念模型应反映现实世界各部门的信息结构、信息流动情况、信息间的互相制约关系以及各部门对信息储存、查询和加工的要求等。
所建立的模型应避开数据库在计算机上的具体实现细节,用一种抽象的形式表示出来。
以扩充的实体—(E-R模型)联系模型方法为例,第一步先明确现实世界各部门所含的各种实体及其属性、实体间的联系以及对信息的制约条件等,从而给出各部门内所用信息的局部描述(在数据库中称为用户的局部视图)。
第二步再将前面得到的多个用户的局部视图集成为一个全局视图,即用户要描述的现实世界的概念数据模型。
逻辑设计
主要工作是将现实世界的概念数据模型设计成数据库的一种逻辑模式,即适应于某种特定数据库管理系统所支持的逻辑数据模式。与此同时,可能还需为各种数据处理应用领域产生相应的逻辑子模式。这一步设计的结果就是所谓“逻辑数据库”。
(1)数据库设计基础考点扩展阅读:
数据结构设计形成过程:
需求分析阶段:综合各个用户的应用需求。
概念设计阶段:形成独立于机器特点,独立于各个DBMS产品的概念模式。
逻辑设计阶段:首先将E-R图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式;然后根据用户处理的要求、安全性的考虑,在基本表的基础上再建立必要的视图(View),形成数据的外模式。
物理设计阶段:根据DBMS特点和处理的需要,进行物理存储安排,建立索引,形成数据库内模式。
参考资料来源:数据库设计-网络
㈡ (50) 数据库概念设计的过程中,视图设计一般有三种设计次序,以下各项中不对的是______。 A. 自顶向下 B.
(50)[答案]D
[考点]数据库设计基础
[评析]
通常有如下几种方法:
1、自顶向下。先全局框架,然后逐步细化
2、自底向上。先局部概念结构,再集成为全局结构
3、由里向外。先核心结构,再向外扩张
4、混合策略。1与2相结合,先自顶向下设计一个概念结构的框架,再自底向上为框架设计局部概念结构
㈢ 如何独立进行数据库设计详解及基本的知识概念
需求分析--逻辑设计--物理设计--维护优化
1.需求分析
分析模块属性
可选唯一标识属性
存储特点
eg:如注册
包括属性:用户名、密码、电话、邮箱、身份证号、地址、姓名、昵称
可选唯一标识属性:用户名、身份证、电话
存储特点:随系统上线时间逐渐增加,需要永久存储
2.逻辑设计
第一范式--二维表 定义由行和列组成的
数据库表中所有字段都是单一属性不可再分由基本数据类型所构成。
第二范式--所有单关键字段的表都符合每二范式
数据库的表中不存在非关键字段对任一选关键字段的部分函数依赖。
eg:商品名称 价格 重量 供应商名称 供应商电话
可以拆分成
商品表 和供应商表 以及关联俩个表的商品供应商ID表
第三范式
如果数据表中不存在非关键字段对任意候选关键字段的传递函数依赖则符合第三范式
eg:商品名称 价格 分类 分类描述 分类关联着分类描述不符合第三范式
拆分为 商品表 分类表 关联商品和分类ID表
第三范式扩展--BC范式
在第三范式的基础之上,数据库表中如果不村子任何字段对任一候选关键字段的传递函数依赖则符合BC范式
也就是说复合关键字,则复合关键字之间也不能存在函数依赖关系。
eg:供应商 商品ID 供应商联系人 商品数量
饮料一厂 1 张三 10
饮料二厂 1 李四 20
供应商 -> 供应商联系人
供应商联系人->供应商
如果饮料二厂刚签完合同没有提供商品 则看不到二厂的信息 联系人等
拆分成 供应商商品表 和 供应商联系人表
3.物理设计
建立数据库表结构 选择数据库eg: oracle mysql sqlserver
定义数据库、表及字段的命名规范
建表建库选择字段类型 范式化设计
选择数据库考虑成本
mysql 开源数据库 适合互联网项目
oracle sqlserver商业数据库 适合企业项目 如金融类项目
表及字段命名规则
1.可读性原则
2.表意性原则
3.长命原则 eg: pwd password
如何选择主键?
1.区分业务主键和数据库主键
业务主键进行表与表之间关联数据库主键为了优化数据库存储
2.根据数据库的类型,考虑主键是否要顺序增长
有些数据库是按主键的顺序逻辑存储的 可以设置自动增长
3.主键字段类型所占空间要尽可能的小
对于使用聚集索引方式存储的表,每个索引后都会附加主键信息
外键
1.降低数据导入恶效率
2.增加维护成本
3.虽然不建议使用外键约束,但是相关联的列上一定要建立索引
触发器
1.降低数据导入的效率
2.可能会出现意想不到的数据异常
3.使业务逻辑变得复杂
严禁使用预留字段 后期维护成本高
4.维护优化
维护和优化要做什么?
1.维护数据字典
2.维护索引
3.维护表结构
4.在适当的时候对表进行水平拆分或垂直拆分
可以使用第三方工具对数据字典进行维护
望采纳,谢谢!
㈣ 数据库工程师需要掌握哪些知识
一般数据库工程师的主要工作包括:数据备份;数据库日常维护;数据结构方面的设计;SQL调优;解决由于数据库操作所造成的系统性能问题;给开发人员开展一些数据库方面的培训。那么成为一名合格的数据库工程师需掌握哪些知识技能呢?
一、数据库应用系统分析及规划:1.软件工程与软件生命周期。 2.数据库系统生命周期。 3.数据库开发方法与工具。 4.数据库应用体系结构。 5.数据库应用接口。
二、数据库设计及实现:1.概念设计。 2.逻辑设计。 3.物理设计。 4.数据库对象实现及操作。
三、数据库存储技术:1.存储与文件结构。 2. 索引技术。
四、并发控制技术:1.事务管理。 2.并发控制技术。3.死锁处理。
五、数据库管理与维护:1、数据完整性。 2、数据库安全性。 3、数据库可靠性。 4、监控分析。 5、参数调整。 6、查询优化。 7、空间管理。
六、数据库技术的发展与新技术:1、分布式数据库。 2、对象数据库。 3、并行数据库。 4、数据仓库与数据挖掘。