博客信息管理系统设计.docx

上传人:时光煮雨 文档编号:14978602 上传时间:2022-02-28 格式:DOCX 页数:18 大小:1.34MB
返回 下载 相关 举报
博客信息管理系统设计.docx_第1页
第1页 / 共18页
博客信息管理系统设计.docx_第2页
第2页 / 共18页
博客信息管理系统设计.docx_第3页
第3页 / 共18页
博客信息管理系统设计.docx_第4页
第4页 / 共18页
博客信息管理系统设计.docx_第5页
第5页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《博客信息管理系统设计.docx》由会员分享,可在线阅读,更多相关《博客信息管理系统设计.docx(18页珍藏版)》请在三一文库上搜索。

1、数据库课程设计题目博客信息管理系统班级: 学号:姓名: 提交日期:2010 年 3 月13日目录1项目背景32需求分析32.2功能划分32.3功能模块33、ER模型43.1 ER模型的逻辑模型与物理模型43.2转换为关系模式54、表结构65、完整性设计95.1、主键约束95.2、外键约束95.3、检查约束:105.4、惟一约束:106 数据库对象设计(20分)106.1触发器:106.2 视图107 数据库实现107.1建立数据库107.2 初始化所有表:147.3 实现查询功能151项目背景Blog即WeBlog,WeBlog就是在网络上发布和阅读的流水记录,通常称为“网络日志”,简称为“网

2、志”。它是继Email、BBS、IM之后出现的第四种全新的网络交流方式。它绝不仅仅是一种单向的发布系统,而且有着极其出色的交流功能,与个人主页相比,博客是一种方便的、个人化的、即时性很强的网页。与传统的电子邮件、BBS和ICQ这三种互联网沟通方式相比,博客是一种较严肃的沟通工具。与传统门户网站相比较,博客则进一步深化了知识管理的专业化和个人化。简言之,Blog就是以网络作为载体,简易迅速便捷地发布自己的心得,及时有效轻松地与他人进行交流,再集丰富多彩的个性化展示于一体的综合性平台。目前的web开发竞争日趋激烈,广大用户对网络服务的要求越来越高,针对此情况参考WordPress为广网络用户研发出

3、一套博客系统,该系统可以作为一个服务模块与其他服务模块共同作为门户网站的一部分,从而为广大网民提供更优质的服务。2需求分析2.1功能目标1、规范完善的基础信息设置2、操作简单,快捷方便3、数据存储安全可靠4、信息分类清晰准确5、强大的查询功能,保证数据查询的准确6、对用户输入的数据,系统进行严格的审核的数据检验,尽可能排除人为的错误。7、拓展性能强大,升级方便。2.2功能划分系统功能:1、 个人资料的录入:提供博客主人的个人信息的录入、修改,日志的编写、修改、删除,网友对日志的评价的录入。2、 数据查询功能:提供博主、网友对日志以及日志评价的查询。3、 数据统计功能:对博客的日志与评价进行相关

4、的统计。2.3功能模块博客系统数据库信息录入数据查询数据统计3、ER模型3.1 ER模型的逻辑模型与物理模型图表 1 博客系统数据库逻辑模型图表 2 表格 1 博客系统数据库物理模型3.2转换为关系模式用户信息(账户编号、账户名、密码、用户昵称、用户邮箱、用户链接、用户注册时间、用户激活、用户状态、博客展示名字)用户拓展信息(账号编号、属性编号、属性关键词、属性值)日志分类(分类编号、分类名称)日志(文章编号、账户编号、分类编号、文章作者、文章标题、文章内容、文章编写时间、文章最后编写时间、评论总数)日志拓展信息(文章拓展属性编号、账户编号、文章编号、分类编号、文章拓展属性名称、文章拓展属性值

5、)评论(评论编号、账户编号、文章编号、分类编号、评论作者、评论时间、评论修改时间、评论回复源)链接(链接编号、账户编号、链接地址、链接名称、链接图片、链接目标、链接描述、链接可访性)菜单(菜单编号、菜单名称、菜单值)4、表结构字段名数据类型是否主键是否为空备注字段含义user_IDbigint(20) PRINOT NULLauto_increment 账户编号user_loginvarchar(60)INDNULL账户名user_passvarchar(64)NULL密码user_nicenamevarchar(50)INDNULL用户昵称user_emailvarchar(100)NULL

6、用户邮箱user_urlvarchar(100)NULL用户链接user_registereddatetimeNULL用户注册时间user_activation_keyvarchar(60)NULL用户激活user_statusint(11)NULL用户状态display_namevarchar(250)NULL博客展示名字表格 1 用户信息表 tb_users字段名数据类型是否主键是否为空备注字段含义umeta_idbigint(20) unsignedPRINULLauto_increment 属性编号user_idbigint(20) unsignedFK-(tb_users)ID 账户

7、编号meta_keyvarchar(255)INDNULL属性关键词meta_valuelongtextINDNULL属性值表格 2 用户拓展信息 tb_usermeta字段名数据类型是否主键是否为空备注字段含义term_idbigint(20) unsignedPRIauto_increment分类编号namevarchar(200)分类名称表格 3 日志分类 tb_term字段名数据类型是否主键是否为空备注字段含义post_idbigint(20) unsignedPRI & IND Pt4NOT NULLauto_increment 文章编号user_idbigint(20) unsig

8、nedNOT NULLFK-wp_users.ID 账户编号term_idNOT NULL分类编号post_datedatetimeIND Pt3NULL文章编写时间post_date_gmtdatetimeNULL文章最后编辑时间post_contentlongtextNULL文章内容post_titletextNULL文章标题comment_countbigint(20)NULL评论总数表格 4 日志 tb_post字段名数据类型是否主键是否为空备注字段含义meta_idbigint(20) unsignedPRINULLauto_increment 文章拓展属性编号post_idbigi

9、nt(20) unsignedIND0FK-wp_posts.ID 文章编号term_idbigint(20) unsignedINDauto_increment分类编号meta_keyvarchar(255)INDNULL文章拓展属性名称meta_valuelongtextNULL文章拓展属性值表格 5 文章拓展属性 tb_post_meta字段名数据类型是否主键是否为空备注字段含义comment_idbigint(20) unsignedPRINOT NULLauto_increment 评论编号user_idbigint(20) unsignedINDNOT NULL账户编号post_i

10、dvarchar(20)NOT NULLFK-tb_posts.ID文章编号、term_idbigint(20) unsignedNOT NULLFK-wp_term_id分类编号、comment_authortinytextNULLFK-wp_users.ID评论作者comment_datedatetimeNOT NULL文章编写时间comment_date_gmtdatetimeIND & IND Pt2NOT NULL评论修改时间comment_parentbigint(20) unsignedNOT NULLFK-wp_comments.ID 评论回复源表格 6 评论表 tb_comm

11、ents字段名数据类型是否主键是否为空备注字段含义option_idbigint(20) unsignedPRI Pt1NULLauto_increment菜单编号option_namevarchar(64)PRI Pt3 & IND菜单名称option_valuelongtext菜单值表格 7 菜单 tb_options5、完整性设计5.1、主键约束主键约束就是通过建立唯一的索引保证指定列的实体的完整性,即每一个表中一列或多列的数值都是唯一的。而在本博客数据库里面,所有的表格都是设有主键,即他们都用主键约束功能。同时每个表格的主键列也把标识属性设为是,所以在插入新数据库是,SQL Serve

12、r会主动对主键列惊醒唯一的赋值,不需要人为控制。5.2、外键约束 外键约束主要是为了表中的一列或多列数据提供参展完整性,外键约束闲着插入到表中的被约束列的值必须就有被参展表中已存在。 在本数据库中,具有外键约束的表有:tb_blogownersmetaID(FKtb_blogowners.user_ID)tb_postsID(FKtb_blogowners.user_ID)term_id(FKtb_term.term_id)tb_posts_metaID(FKtb_post.user_ID)post_id(FKtb_post.post_id)term_id(FKtb_post.term_id)

13、tb_linksID(FKtb_blogowners.user_ID)tb_commentsID(FKtb_blogowners.user_ID)post_id(FKtb_post.post_id) term_id(FKtb_post.term_id)5.3、检查约束:在本博客系统中,在tb_blogowners表中,用户名,与密码分别都设置了检查约束:用户名不能以“_#.%”字符为开头,密码不能少于三位。验证如下图:5.4、惟一约束:在本博客系统中,在tb_blogowners表中,用户名设置为唯一性,每个用户只有唯一的一个用户名。 验证如下图:6 数据库对象设计(20分)6.1触发器:触发

14、条件:INSERT触发器名:tb_comment_postcount触发器用途:每当日志收到一条评论时,日志表中tb_post中的该日志的评论总数列:comment_count中的数据都会更新到最新的评论数量总数。CREATE TRIGGER tb_comment_postcount ON tb_commentsFOR INSERT AS BENGIN SELECT COUNT(comment_count) AS tb_ment_count FROM tb_commentsEND6.2 视图视图名:BlogView用途:查看博主的所有日志标题和编写时间以及评论总数CREATE VIEW Blo

15、gView ASSELECT post_title, post_date, comment_countFROM tb_posts7 数据库实现7.1建立数据库通过用erwin把本系统建立在SQL Server2000数据库上。如下图7.2 初始化所有表:输入以下语句:INSERT INTO tb_blogowners (user_login, user_pass, user_nicename, user_email, user_url, user_registered, user_ativtion_key, user_status, display_name) values(tom, 123,

16、 xiaoming, xiaoming, , 2010/3/4, yes, good, tom home)INSERT INTO tb_blogownersmeta (ID,meta_key, meta_valu) values(1000, 性别, 男)INSERT INTO tb_posts (ID, post_author, post_title, post_content, post_date, post_date_gmt, term_id, comment_count)VALUES (1000, tom, story, a man s story , 2010/3/15, 2010/3

17、/16, 1000, 10)INSERT INTO tb_term (term_name)VALUES(日记)INSERT INTO tb_posts_meta (ID, post_id, meta_key, meta_value, term_id)VALUES (1000, 1001, 写日志时的心情 , 开心 , 1000)INSERT INTO tb_comments (ID, post_id, comment_author, comment_date, comment_date_gmt, term_id)VALUES (1000, 1001, tom, 2010 / 3 / 15, 2010 / 3 / 16, 1000)INSERT INTO tb_links (ID, link_url, link_name)VALUES (1000, , 腾讯网)7.3 实现查询功能1、查询指定日期的所有日志如:查询 2010年3月15日的日志:SELECT * FROM tb_posts where post_date =2010/3/152、查询指定日志的所有评论如:查询tom的所有日志SELECT * FROM tb_posts where post_author = tom

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1