并消除局部E-R图存在的冲突,合并成基本E-R图
特点:
(1)能真实的反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求。是对现实世界的一个真实模型。
(2)易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库的设计成功的关键。
(3)易于更改,当应用环境和应用要求改变是,容易对概念模型修改和扩充。
(4)易于向关系、网状、层次等各种数据模型转换。
2.1.2.2概念模型设计
(1)设计分E-R图,即各子模块的E-R图;
用户(用户名,密码,邮箱,等级,发帖数,回帖数)
帖子(帖子id,主题,内容,帖子等级,帖子被访问次数)
发帖(发帖时间)
回帖(回帖id,帖子id,内容,用户名,回帖时间)
用户(用户名,密码,邮箱,等级,发帖数,回帖数)
版面(版面id号,版面名称,版主名称,版面主题数)
浏览(浏览时间)
管理员信息(管理员名,密码,邮箱)
用户(用户名,密码,邮箱,等级,发帖数,回帖数)
管理(管理行为)
帖子信息:(帖子id,主题,内容,帖子等级,帖子被访问次数)
版面(版面id号,版面名称,版主名称,版面主题数)
从属(所属版面)
版主信息(版主名称,密码,邮箱)
帖子信息:(帖子id,主题,内容,帖子等级,帖子被访问次数)
管理(管理行为)
版面(版面id号,版面名称,版主名称,版面主题数)
管理员信息(管理员名,密码,邮箱)
管理(管理行为)
(2)生成全局E-R图,通过消除冲突等方面
2.1.3逻辑设计
2.1.3.1目标与任务
目标:完成E-R图到数据库模式的转换,优化各个关系模式
任务:把概念结构设计阶段好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。
2.1.3.2数据组织
(1)将E-R模型转换为关系模型(描述转换的原则、转换的结果)。
如图1.7所示:
一、用户和帖子具有两个关系:
(1)用户回帖,因为用户和帖子的关系是m对n的关系,所以将联系类型也转换关系模式,其属性为两端实体类型的键加上联系类型的属性,而键为两端实体键的组合。
用户(用户名,密码,邮箱,用户等级,发帖数,回帖数,精华帖数,是否删除)
帖子(帖子id,主题,内容,帖子等级,帖子被访问次数)
回帖(回帖id,用户名,帖子id,内容,回帖时间)
(2)用户发帖,用户和帖子的关系是1对多的关系。所以可以联系可以转换为一个独立的模式,也可以与n端对应的模式合并。这里把联系属性合并到n端实体。
用户(用户名,密码,邮箱,用户等级,发帖数,回帖数,精华帖数,是否删除)
帖子(帖子id,主题,内容,帖子等级,帖子被访问次数,发帖时间)
二、管理员和用户的关系为m对n,所以将联系类型也转换关系模式,其属性为两端实体类型的键加上联系类型的属性,而键为两端实体键的组合。
用户(用户名,密码,邮箱,用户等级,发帖数,回帖数,精华帖数,是否删除)
管理员(管理员名,密码,邮箱)
管理(用户名,管理员名,管理)
三、版主和帖子为m对n的关系,所以将联系类型也转换关系模式,其属性为两端实体类型的键加上联系类型的属性,而键为两端实体键的组合。
版主(版主名称,密码,邮箱)
帖子(帖子id,版主名称,主题,内容,帖子等级,帖子被访问次数)
管理帖子(版主名称,帖子id,管理行为)
四、管理员和版面是m对n的关系,所以可以转换为一个独立的模式
管理员(管理员名,密码,邮箱)
版面(版面id号,版面名称,版主名称,版面主题数)
管理(管理员名,版面id号,管理行为)
五、版面和用户是多对多的关系。所以将联系类型也转换关系模式,其属性为两端实体类型的键加上联系类型的属性,而键为两端实体键的组合。
版面(版面id号,版面名称,版主名称,版面主题数)
用户(用户名,密码,邮箱,用户等级,发帖数,回帖数,精华帖数,是否删除)
浏览(用户名,版面id号,浏览时间 )
六、版面和帖子是1对多的关系,所以把联系属性合并到n端实体
版面(版面id号,版面名称,版主名称,版面主题数)
帖子(帖子id,版面id号,主题,内容,帖子等级,帖子被访问次数,所属版面)
七、由E_R图转化后得到的关系模式
用户(用户名,密码,邮箱,用户等级,发帖数,回帖数,精华帖数,是否删除)
帖子(帖子id,主题,内容,帖子等级,帖子被访问次数)
帖子(帖子id,主题,内容,帖子等级,帖子被访问次数,发帖时间)
帖子(帖子id,版面id号,主题,内容,帖子等级,帖子被访问次数,所属版面)
回帖(用户名,帖子id,内容,回帖时间)
管理员(管理员名称,密码,邮箱)
浏览(用户名,版面id号,浏览时间)
管理用户(用户名,管理员名,管理)
管理版面(管理员名称,版面id号,管理行为)
管理帖子(版主名称,帖子id,管理行为)
版主(版主名称,密码,邮箱)
版面(版面id号,版面名称,版主名称,版面主题数)
八、消除不一致后得:
用户(用户名,密码,邮箱,用户等级,发帖数,回帖数,精华帖数,是否删除)
帖子(帖子id,版面id号,主题,内容,帖子等级,帖子被访问次数,发帖时间,发帖用户)
回帖(回帖id,帖子id,用户名,内容,回帖时间,帖子等级)
管理员(管理员名称,密码,邮箱)
版主(版主名称,密码,邮箱,版主状态)
浏览(浏览id,用户名,版面id号,浏览时间)
管理用户(管理id,用户名,管理员名,管理行为)
管理版面(管理id,管理员名称,版面id号,管理行为)
管理帖子(管理id,版主名称,帖子id,管理行为)
版面(版面id号,版面名称,版主名称,版面主题数,版面状态)
(2)模型优化
以上关系都达到了3NF,不需要在分解
(3)完成数据库模式定义,包括各模式的逻辑结构定义、关系的完整性和安全性等内容。
member(u_name,u_password,u_email,u_step,u_post,u_return,jinghucount,u_stat)
u_name为主键,不能为空,而且是唯一的,u_password也不能为空,其它由系统管理员设置。
topic(t_id,bm_id,t_theme,t_content,t_step t_count ,t_posttime,l_name)
t_id为主键,bm_id和,l_name为参考外键,都不能为空,t_theme,t_content都不能为空,t_step,t_count,t_posttime由系统设置
reply(r_id,t_id,l_name, r_conten,r_time,r_step)
r_id为主键,t_id和l_name为参考外键,都不能为空,r_conten也不能为空,r_time,r_step由管理员和系统设置。
minister( m_name,_m_password,m_email)
m_name为主键,m_name,m_password不能为空
banzhu( bzh_name,bzh_password,bzh_state)
bzh_name为主键,bzh_password不能为空,bzh_state由管理员设置
browsing(l_id,bm_id,u_name,l_time);
l_id为主键,bm_id和u_name为外键参考,都不能为空
mini_user(m_id ,m_name,u_name,dowhat);
m_id为主键,m_name和u_name为外键参考,都不能为空,dowhat由管理员设置
mini_topic(mt_id,bzh_name ,t_id,dowhat);
mt_id为主键,bzh_name和t_id为外键参考,都不能为空,dowhat由管理员设置
mini_banmian(mb_id,m_name,bm_id,dowhat);
mb_id为主键,m_name和bm_id为外键参考,都不能为空,dowhat由管理员设置
banmian(bm_id,bm_name,bzh_name,bm_themecount);
bm_id为主键,bm_name和bzh_name为外键参考,都不能为空
rizhi(l_name,l_time)
l_name为主键,不能为空,l_time由系统设置。
(4
上一篇:
网上书店(论文和程序)
下一篇:
试析影响公路路面平整度的因素及应采取的施工措施