项目描述
随着互联网的进一步发展,网络媒体在人们心中的地位进一步提高,“新闻发布系统”作为网络媒体的核心系统,其重要性是越来越突出:一方面,它提供一个新闻管理和发布的功能;另一方面,现在的新闻发布要求实现与普通的用户交互,用户可以很方便地参加一些调查和相关新闻的评论,本项目主要是对新闻发布系统中的新闻信息表进行操作。
新闻发布系统数据库操作要求如下:
1)数据库NewsDB。 2)角色表Roles,表结构如下表 3)Roles表基础数据如表 4)新闻类别表NewsKind,结构如表
5)NewsKind表基础数据如表 6)角色_新闻类别管理表RolePower,结构如表
(1)任务描述
任务1:用SQL语言创建网上投票数据库 1)创建数据库NewsDB,判断系统中是否有该名字的数据库,如果有则删除;如果没有则创建该数据库。 2)主数据库文件初始值10MB,最大为30MB,按3MB进行递增。 3)日志文件初始值为5MB,最大为20MB,按1MB进行递增。
IF DB_ID('NewsDB') IS NOT NULL DROP DATABASE NewsDB
GO
CREATE DATABASE NewsDB
ON PRIMARY
(
NAME=NewsDB,
FILENAME='D:\XXXX\NewsDB.mdf',
SIZE=10MB,
MAXSIZE=30MB,
FILEGROWTH=3MB
)
LOG ON
(
NAME = NewsDB_log,
FILENAME = 'D:\XXXX\NewsDB_log.ldf',
SIZE = 5MB ,
MAXSIZE=20MB,
FILEGROWTH=1MB
)
GO
任务2:用SQL语言创建角色表Roles、新闻类别表NewsKind、角色_新闻类别管理表RolePower 1)按照提供的表结构创建数据库表,并设主键、外键。
CREATE TABLE Roles(
RoleId int not null IDENTITY(1,1) PRIMARY KEY,
RoleName NVARCHAR(30) not null,
)
CREATE TABLE NewsKind(
NewsKindId int not null IDENTITY(1,1) PRIMARY KEY,
NewsKindName NVARCHAR(30) not null,
)
CREATE TABLE RolePower(
RoleId int not null ,
NewsKindId int not null,
foreign key (RoleId) references Roles(RoleId),
foreign key (NewsKindId) references NewsKind(NewsKindId),
)
任务3:用SQL语言对新闻信息表News进行操作
- 管理员可以添加任何类型新闻、经理则可以添加除今日报道外的所有类型新闻、普通用户则只可以添加今日报道,根据上述请将表 RolePower表中数据添加完善。
- 添加表中数据到角色表Roles中,添加表中数据到新闻类别表NewsKind 。
3)在表RolePower中删除普通用户的权限记录。
insert into Roles values('普通角色'),('经理'),('管理员')
insert into NewsKind values('今日报道'),('每周快讯'),('国内新闻'),('国际新闻'),('图片新闻')
insert into RolePower values( (select RoleId from Roles where RoleName = '普通角色'),(select NewsKindId from NewsKind where NewsKindName = '今日报道') )
insert into RolePower values( (select RoleId from Roles where RoleName = '经理'),(select NewsKindId from NewsKind where NewsKindName = '每周快讯') )
insert into RolePower values( (select RoleId from Roles where RoleName = '经理'),(select NewsKindId from NewsKind where NewsKindName = '国内新闻') )
insert into RolePower values( (select RoleId from Roles where RoleName = '经理'),(select NewsKindId from NewsKind where NewsKindName = '国际新闻') )
insert into RolePower values( (select RoleId from Roles where RoleName = '经理'),(select NewsKindId from NewsKind where NewsKindName = '图片新闻') )
insert into RolePower values( (select RoleId from Roles where RoleName = '管理员'),(select NewsKindId from NewsKind where NewsKindName = '今日报道') )
insert into RolePower values( (select RoleId from Roles where RoleName = '管理员'),(select NewsKindId from NewsKind where NewsKindName = '每周快讯') )
insert into RolePower values( (select RoleId from Roles where RoleName = '管理员'),(select NewsKindId from NewsKind where NewsKindName = '国内新闻') )
insert into RolePower values( (select RoleId from Roles where RoleName = '管理员'),(select NewsKindId from NewsKind where NewsKindName = '国际新闻') )
insert into RolePower values( (select RoleId from Roles where RoleName = '管理员'),(select NewsKindId from NewsKind where NewsKindName = '图片新闻') )
delete from RolePower where RoleId =(select RoleId from Roles where RoleName = '普通角色')
|