当前位置:首页 > IT技术 > 数据库 > 正文

37-博客网站数据库-博文分类信息数据操作(一)
2021-10-20 10:35:15

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

1)创建数据库BlogDB。

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

表J2-37-1 categories表

字段名

字段说明

数据类型

允许为空

备注

CategoryID

分类ID

整型

主键,自增(增量为1)

CategoryName

分类名称

字符(20)


ArticlesNum

分类文章数目

整型


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

表J2-37-2 article表

字段名

字段说明

数据类型

允许为空

备注

ID

文章ID

整型

主键,自增(增量1)

C_ID

分类ID

整型

外键

Title

文章标题

字符(100)


Content

内容

文本类型(text)


CommentsNum

评论数

整型


Postdate

发表日期

日期时间


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

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

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

CategoryID

CategoryName

ArticlesNum

1

历史

2

2

科技

1

3

军事

3

4

新闻

8

5

旅游

2

6

软件下载

9

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

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

ID

C_ID

Title

Content

CommentsNum

Postdate

1

4

学生军训为何晕倒一片?

日前,在南开大学召开的全国高校体育工作座谈会上,教育部体育卫生与艺术教育司司长、第九届大运会组委会秘书长王登峰列举一个令人惊讶的数字:半个月前,他出席北京大学2011级学生军训结业典礼时了解到,两周军训期间,近3500名学生累计看病超过6000人次,特别是第一周,晕倒者众多。王登峰透露,为了弥补学校体育的薄弱环节,我国将把学生体质情况纳入对高校的评价体系中。 (中国广播网9月17日)

0

2011-7-2

2

2

推迟入校,能解决“男孩危机”吗?

“鉴于男女儿童智力发育速度不同,男童普遍晚于女童2年左右,同性学童之间也有智力发育差异,因此全国统一规定男女儿童7周岁入学违反教育规律。建议女童可在67岁入学,男童可在78岁入学。现在大学招生女生普遍高分于男生,需反思。”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:xxxxBlogDB.mdf',
SIZE=10MB,
MAXSIZE=20MB,
FILEGROWTH=1MB
)
LOG ON
(
NAME=BlogDB_log,
FILENAME='D:xxxxBlogDB_log.ldf',
SIZE=5MB,
MAXSIZE=10MB,
FILEGROWTH=10%
)

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

1)按照提供的表J2-37-1、J2-37-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-37-3、J2-37-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='新闻')

本文摘自 :https://blog.51cto.com/x

开通会员,享受整站包年服务立即开通 >