35-博客网站数据库-博文信息数据操作(二)

简介: 35-博客网站数据库-博文信息数据操作(二)

35-博客网站数据库-博文信息数据操作(二)

项目描述

当今网上微博、博客发布信息已经成为主要的信息发布、传播的系统,如何对这些数据进行管理,本项目主要是对博客网站中的博文分类信息表、博文信息表进行操作。

博客网站数据库数据库操作要求如下:

1)创建数据库BlogDB。

2)创建分类信息表categories,表结构如表J2-35-1所示。

表J2-35-1 categories表

字段名 字段说明 数据类型 允许为空 备注
CategoryID 分类ID 整型 主键,自增(增量为1)
CategoryName 分类名称 字符(20)
ArticlesNum 分类文章数目 整型

3)创建博文信息表article,表结构如表J2-35-2所示。

表J2-35-2 article表

字段名 字段说明 数据类型 允许为空 备注
ID 文章ID 整型 主键,自增(增量1)
C_ID 分类ID 整型 外键
Title 文章标题 字符(100)
Content 内容 文本类型(text)
CommentsNum 评论数 整型
Postdate 发表日期 日期时间

4)两个表之间建立关联,article的C_ID与categories的CategoryID关联。

5)表categories基础数据如J2-35-3所示。

表J2-35-3 categories表基础数据

CategoryID CategoryName ArticlesNum
1 历史 2
2 科技 1
3 军事 3
4 新闻 8
5 旅游 2
6 软件下载 9

6)表article基础数据如表J2-35-4所示。

表J2-35-4 article表基础数据

ID C_ID Title Content CommentsNum Postdate
1 4 学生军训为何晕倒一片? 日前,在南开大学召开的全国高校体育工作座谈会上,教育部体育卫生与艺术教育司司长、第九届大运会组委会秘书长王登峰列举一个令人惊讶的数字:半个月前,他出席北京大学2011级学生军训结业典礼时了解到,两周军训期间,近3500名学生累计看病超过6000人次,特别是第一周,晕倒者众多。王登峰透露,为了弥补学校体育的薄弱环节,我国将把学生体质情况纳入对高校的评价体系中。 (中国广播网9月17日) 0 2011-7-2
2 2 推迟入校,能解决“男孩危机”吗? “鉴于男女儿童智力发育速度不同,男童普遍晚于女童2年左右,同性学童之间也有智力发育差异,因此全国统一规定男女儿童7周岁入学违反教育规律。建议女童可在6~7岁入学,男童可在7~8岁入学。现在大学招生女生普遍高分于男生,需反思。”9月24日,北京大学教授吴必虎在新浪微博上公开发表观点,认为男孩应该比女孩晚入学。(现代快报9月27日) 1 2011-8-3
3 4 一纸洋大学录取通知书不算什么 近来,美国旧金山大学商学院副院长黛尔·史密斯(Dayle Smith)的一封辞职信,给中国的留学热泼了一盆冷水。据《旧金山纪事报》9月23日报道,商学院主任韦伯在对员工的信中说,史密斯的辞职是鉴于外国学生的“大幅增加”。史密斯在信中写道:“鉴于有如此多的学生英语能力差,且生源国比例不平衡,我们将会面临一些独特的教育及文化挑战。”而学生英语能力差却被录取,源于“有条件录取”政策。 8 2011-9-4
4 6 大学不要追求成为“排行榜中的大学” 英国泰晤士报高等教育特刊3日公布2012-2013世界最佳大学排行榜报告,美国加州理工学院蝉联第一名,去年第二名的哈佛大学退居到第四名。 北京大学从去年第49名升到46名,清华大学更劲升19名,从71名升到52名;香港大学与香港科技大学排名都较去年下滑,分别成为35和65名。 (中国新闻网10月5日) 2 2011-8-23

(1)任务描述

任务1:用SQL语言创建博客网站数据库BlogDB

1)主数据库文件初始值10MB,最大20MB,按1MB进行递增。

2)日志文件初始值为5MB,最大为10MB,按10%进行递增。

IF DB_ID('BlogDB') IS NOT NULL DROP DATABASE BlogDB
GO
CREATE DATABASE BlogDB
ON PRIMARY
(
    NAME=BlogDB,
    FILENAME='D:\xxxx\BlogDB.mdf',
    SIZE=10MB,
    MAXSIZE=20MB,
    FILEGROWTH=1MB
)
LOG ON
(
    NAME=BlogDB_log,
    FILENAME='D:\xxxx\BlogDB_log.ldf',
    SIZE=5MB,
    MAXSIZE=10MB,
    FILEGROWTH=10%
)

任务2:用SQL语言创建分类信息表categories、博文信息表article

1)按照提供的表J2-35-1、J2-35-2结构创建数据库表,并设主键、外键。

CREATE TABLE categories
(
    CategoryID INT NOT NULL PRIMARY KEY IDENTITY(1,1),
    CategoryName NVARCHAR(20) NOT NULL,
    ArticlesNum INT NOT NULL,
)
CREATE TABLE article
(
    ID INT NOT NULL PRIMARY KEY IDENTITY(1,1),
    C_ID INT NOT NULL,
    Title NVARCHAR(100) NOT NULL,
    Content TEXT,
    CommentsNum INT NOT NULL,
    Postdate DATETIME NOT NULL,
    FOREIGN KEY(C_ID) REFERENCES categories(CategoryID)
)

任务3:用SQL语言对分类信息表categories、博文信息表article进行操作

1)按照表J2-35-3、J2-35-4提供的数据,把数据添加到表格中。

2)根据表categories,统计出博文数量。

3)删除“软件下载”类别以及其类别的博文。

INSERT INTO categories VALUES('历史',2),('科技',1),('军事',3),('新闻',8),('旅游',2),('软件下载',9)

INSERT INTO article VALUES(4,'学生军训为何晕倒一片?','日前,在南开大学召开的全国高校体育工作座谈会上,教育部体育卫生与艺术教育司司长、第九届大运会组委会秘书长王登峰列举一个令人惊讶的数字:半个月前,他出席北京大学2011级学生军训结业典礼时了解到,两周军训期间,近3500名学生累计看病超过6000人次,特别是第一周,晕倒者众多。王登峰透露,为了弥补学校体育的薄弱环节,我国将把学生体质情况纳入对高校的评价体系中。 (中国广播网9月17日)',0,'2011-7-2'),
(2,'推迟入校,能解决“男孩危机”吗?','“鉴于男女儿童智力发育速度不同,男童普遍晚于女童2年左右,同性学童之间也有智力发育差异,因此全国统一规定男女儿童7周岁入学违反教育规律。建议女童可在6~7岁入学,男童可在7~8岁入学。现在大学招生女生普遍高分于男生,需反思。”9月24日,北京大学教授吴必虎在新浪微博上公开发表观点,认为男孩应该比女孩晚入学。(现代快报9月27日)',1,'2011-8-3'),
(4,'一纸洋大学录取通知书不算什么','近来,美国旧金山大学商学院副院长黛尔·史密斯(Dayle Smith)的一封辞职信,给中国的留学热泼了一盆冷水。据《旧金山纪事报》9月23日报道,商学院主任韦伯在对员工的信中说,史密斯的辞职是鉴于外国学生的“大幅增加”。史密斯在信中写道:“鉴于有如此多的学生英语能力差,且生源国比例不平衡,我们将会面临一些独特的教育及文化挑战。”而学生英语能力差却被录取,源于“有条件录取”政策。',8,'2011-9-4'),
(6,'大学不要追求成为“排行榜中的大学”','英国泰晤士报高等教育特刊3日公布2012-2013世界最佳大学排行榜报告,美国加州理工学院蝉联第一名,去年第二名的哈佛大学退居到第四名。 北京大学从去年第49名升到46名,清华大学更劲升19名,从71名升到52名;香港大学与香港科技大学排名都较去年下滑,分别成为35和65名。 (中国新闻网10月5日)',2,'2011-8-23')

UPDATE categories SET ArticlesNum=(SELECT COUNT(*) FROM article WHERE C_ID=(SELECT CategoryID FROM categories WHERE CategoryName='历史')) WHERE CategoryName='历史'
UPDATE categories SET ArticlesNum=(SELECT COUNT(*) FROM article WHERE C_ID=(SELECT CategoryID FROM categories WHERE CategoryName='科技')) WHERE CategoryName='科技'
UPDATE categories SET ArticlesNum=(SELECT COUNT(*) FROM article WHERE C_ID=(SELECT CategoryID FROM categories WHERE CategoryName='军事')) WHERE CategoryName='军事'
UPDATE categories SET ArticlesNum=(SELECT COUNT(*) FROM article WHERE C_ID=(SELECT CategoryID FROM categories WHERE CategoryName='新闻')) WHERE CategoryName='新闻'
UPDATE categories SET ArticlesNum=(SELECT COUNT(*) FROM article WHERE C_ID=(SELECT CategoryID FROM categories WHERE CategoryName='旅游')) WHERE CategoryName='旅游'
UPDATE categories SET ArticlesNum=(SELECT COUNT(*) FROM article WHERE C_ID=(SELECT CategoryID FROM categories WHERE CategoryName='软件下载')) WHERE CategoryName='软件下载'
SELECT * FROM categories

DELETE FROM article WHERE C_ID=(SELECT CategoryID FROM categories WHERE CategoryName='软件下载')
DELETE FROM categories WHERE CategoryName='软件下载'
相关文章
|
2月前
|
存储 JSON 关系型数据库
【干货满满】解密 API 数据解析:从 JSON 到数据库存储的完整流程
本文详解电商API开发中JSON数据解析与数据库存储的全流程,涵盖数据提取、清洗、转换及优化策略,结合Python实战代码与主流数据库方案,助开发者构建高效、可靠的数据处理管道。
|
16天前
|
存储 数据管理 数据库
数据字典是什么?和数据库、数据仓库有什么关系?
在数据处理中,你是否常困惑于字段含义、指标计算或数据来源?数据字典正是解答这些问题的关键工具,它清晰定义数据的名称、类型、来源、计算方式等,服务于开发者、分析师和数据管理者。本文详解数据字典的定义、组成及其与数据库、数据仓库的关系,助你夯实数据基础。
数据字典是什么?和数据库、数据仓库有什么关系?
|
5月前
|
存储 缓存 数据库
数据库数据删除策略:硬删除vs软删除的最佳实践指南
在项目开发中,“删除”操作常见但方式多样,主要分为硬删除与软删除。硬删除直接从数据库移除数据,操作简单、高效,但不可恢复;适用于临时或敏感数据。软删除通过标记字段保留数据,支持恢复和审计,但增加查询复杂度与数据量;适合需追踪历史或可恢复的场景。两者各有优劣,实际开发中常结合使用以满足不同需求。
369 4
|
27天前
|
存储 关系型数据库 数据库
【赵渝强老师】PostgreSQL数据库的WAL日志与数据写入的过程
PostgreSQL中的WAL(预写日志)是保证数据完整性的关键技术。在数据修改前,系统会先将日志写入WAL,确保宕机时可通过日志恢复数据。它减少了磁盘I/O,提升了性能,并支持手动切换日志文件。WAL文件默认存储在pg_wal目录下,采用16进制命名规则。此外,PostgreSQL提供pg_waldump工具解析日志内容。
112 0
|
3月前
|
安全 Java 数据库
Jasypt加密数据库配置信息
本文介绍了使用 Jasypt 对配置文件中的公网数据库认证信息进行加密的方法,以提升系统安全性。主要内容包括:1. 背景介绍;2. 前期准备,如依赖导入及版本选择;3. 生成密钥并实现加解密测试;4. 在配置文件中应用加密后的密码,并通过测试接口验证解密结果。确保密码安全的同时,保障系统的正常运行。
265 3
Jasypt加密数据库配置信息
|
3月前
|
存储 SQL Java
数据存储使用文件还是数据库,哪个更合适?
数据库和文件系统各有优劣:数据库读写性能较低、结构 rigid,但具备计算能力和数据一致性保障;文件系统灵活易管理、读写高效,但缺乏计算能力且无法保证一致性。针对仅需高效存储与灵活管理的场景,文件系统更优,但其计算短板可通过开源工具 SPL(Structured Process Language)弥补。SPL 提供独立计算语法及高性能文件格式(如集文件、组表),支持复杂计算与多源混合查询,甚至可替代数据仓库。此外,SPL 易集成、支持热切换,大幅提升开发运维效率,是后数据库时代文件存储的理想补充方案。
|
5月前
|
人工智能 关系型数据库 分布式数据库
让数据与AI贴得更近,阿里云瑶池数据库系列产品焕新升级
4月9日阿里云AI势能大会上,阿里云瑶池数据库发布重磅新品及一系列产品能力升级。「推理加速服务」Tair KVCache全新上线,实现KVCache动态分层存储,显著提高内存资源利用率,为大模型推理降本提速。
|
3月前
|
人工智能 运维 关系型数据库
数据库运维:mysql 数据库迁移方法-mysqldump
本文介绍了MySQL数据库迁移的方法与技巧,重点探讨了数据量大小对迁移方式的影响。对于10GB以下的小型数据库,推荐使用mysqldump进行逻辑导出和source导入;10GB以上可考虑mydumper与myloader工具;100GB以上则建议物理迁移。文中还提供了统计数据库及表空间大小的SQL语句,并讲解了如何使用mysqldump导出存储过程、函数和数据结构。通过结合实际应用场景选择合适的工具与方法,可实现高效的数据迁移。
590 1
|
4月前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
3月前
|
SQL 关系型数据库 MySQL
Go语言数据库编程:使用 `database/sql` 与 MySQL/PostgreSQL
Go语言通过`database/sql`标准库提供统一数据库操作接口,支持MySQL、PostgreSQL等多种数据库。本文介绍了驱动安装、连接数据库、基本增删改查操作、预处理语句、事务处理及错误管理等内容,涵盖实际开发中常用的技巧与注意事项,适合快速掌握Go语言数据库编程基础。
213 62

热门文章

最新文章