数据库设计中物理结构设计怎么写

数据库设计中物理结构设计怎么写,第1张

一般开发一个数据库,要进行设计主要步骤有需求分析,概念结构设计,逻辑结构设计,物理结构设计,数据库实施,数据库运行与维护物理结构设计就是其中的一步

数据库的物理结构设计是对已经确定的逻辑数据结构,利用DBMS(数据库管理系统)所提供的方法、技术,以较优的数据存储结构、数据存取路径、合理的数据存放位置以及存储分配,设计出一个高效的、可以实现的物理数据结构通俗一点说,就是对已经设计好了的逻辑结构,设计出相应的且比较优化的物理结构,设计出的物理结构可以数据存储,该结构中要有实现数据存储、数据存取路径、数据存放位置、存储分配等几个模块

数据库的基本结构

数据库的基本结构分三个层次,反映了观察数据库的三种不同角度。

(1)物理数据层。它是数据库的最内层,是物理存贮设备上实际存储的数据的集合。这些数据是原始数据,是用户加工的对象,由内部模式描述的指令 *** 作处理的位串、字符和字组成。

(2)概念数据层。它是数据库的中间一层,是数据库的整体逻辑表示。指出了每个数据的逻辑定义及数据间的逻辑联系,是存贮记录的集合。它所涉及的是数据库所有对象的逻辑关系,而不是它们的物理情况,是数据库管理员概念下的数据库。

(3)逻辑数据层。它是用户所看到和使用的数据库,表示了一个或一些特定用户使用的数据集合,即逻辑记录的集合。

数据库不同层次之间的联系是通过映射进行转换的。数据库具有以下主要特点:

(1)实现数据共享。数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享。

(2)减少数据的冗余度。同文件系统相比,由于数据库实现了数据共享,从而避免了用户各自建立应用文件。减少了大量重复数据,减少了数据冗余,维护了数据的一致性。

(3)数据的独立性。数据的独立性包括数据库中数据库的逻辑结构和应用程序相互独立,也包括数据物理结构的变化不影响数据的逻辑结构。

(4)数据实现集中控制。文件管理方式中,数据处于一种分散的状态,不同的用户或同一用户在不同处理中其文件之间毫无关系。利用数据库可对数据进行集中控制和管理,并通过数据模型表示各种数据的组织以及数据间的联系。

(5)数据一致性和可维护性,以确保数据的安全性和可靠性。主要包括:①安全性控制:以防止数据丢失、错误更新和越权使用;②完整性控制:保证数据的正确性、有效性和相容性;③并发控制:使在同一时间周期内,允许对数据实现多路存取,又能防止用户之间的不正常交互作用;④故障的发现和恢复:由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏

逻辑结构是独立于任何一种数据模型的,在实际应用中,一般所用的数据库环境已经给定(如SQL Server或Oracle或MySql)。由于目前使用的数据库基本上都是关系数据库,因此首先需要将E-R图转换为关系模型,然后根据具体DBMS的特点和限制转换为特定的DBMS支持下的数据模型,最后进行优化。

动态的结构:

{

user_id:13,

action: 行为,

object_id: 对象ID,

object_type: 对象类型,

object_user_id: 对象用户ID,

parent_object_id: 对象父级ID,

parent_object_type: 对象父级类型,

parent_object_user_id: 对象父级用户ID,

reply_id: 回复ID, // action为回复时有用

parent_reply_id: 回复的父级回复ID, // action为回复时有用,回复了别人对评论的回复

text: '转发或者分享时附加文字',

view_count: 0,

created_at: 创建时间,

deleted_at: 删除时间,

}

说明: 1object_只存储主要模块内容信息,不含评论; 2parent_object_存储有嵌套关系的对象,比如当object_为答案时,parent_object_为问题; 3reply_id用于直接回复评论时用到; 4parent_reply_id父回复ID; 5 两个回复ID,使用情况是:当回复了别人的回复时,根据comment_id拉取评论与全部回复,在模板显示时只显示对话的两个回复。

场景列表:

一级结构:

安正超发布了文章

'action' => NEW,

'user_id' => 安正超ID,

'object_id' => 文章ID,

'object_user_id' => 安正超ID,

'object_type' => ARTICLE,

安正超上传 了 N张

'action' => NEW,

'user_id' => 安正超ID,

'object_id' => ID(数组,以逗号隔开),

'object_user_id' => 安正超ID,

'object_type' => PICTURE,

安正超提了问题xxxx

'action' => NEW,

'user_id' => 安正超ID,

'object_id' => 问题ID,

'object_user_id' => 安正超ID,

'object_type' => QUESTION

二级结构:

安正超评论了文章xxxx(回答了通用)

展示:

文章: xxxxx

评论:xxxxx (李林评论的)

'action' => COMMENT,

'user_id' => 安正超ID,

'object_id' => 评论ID,

'object_type' => COMMENT,

'object_user_id' => 安正超ID

'parent_object_id' => 文章ID,

'parent_object_user_id' => 作者ID

'parent_object_type' => ARTICLE,

三级结构:

安正超在文章中回复了李林的评论

展示:

文章: xxxxx

评论:xxxxx (李林评论的)

回复:xxxx (安正超)

'action' => REPLY,

'user_id' => 安正超ID,

'object_id' => 评论ID,

'object_type' => COMMENT,

'object_user_id' => 李林ID

'parent_object_id' => 文章ID,

'parent_object_user_id' => 作者ID

'parent_object_type' => ARTICLE,

'reply_id' => 安正超的回复ID

四级结构:

安正超回复了李文凯在问题 “xxxx” 中 李林的答案下的评论

说明:问题信息从答案接口取回

展示:

问题: xxxxx

答案1

答案2

答案3(李林回答的)

评论:xxxxx (李文凯评论的)

回复:xxxx (安正超)

'action' => RESPOND,

'user_id' => 安正超ID,

'object_id' => 评论ID,

'object_type' => COMMENT,

'object_user_id' => 李文凯的ID

'parent_object_id' => 答案ID,

'parent_object_type' => ANSWER,

'parent_object_user_id' => 李林ID

'reply_id' => 安正超的回复ID

以上就是关于数据库设计中物理结构设计怎么写全部的内容,包括:数据库设计中物理结构设计怎么写、数据库的基本结构包括哪些、什么是数据库的逻辑结构设计等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9498713.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存