09-新闻发布系统数据库-管理角色数据操作

简介: 09-新闻发布系统数据库-管理角色数据操作

09-新闻发布系统数据库-管理角色数据操作

项目描述

随着互联网的进一步发展,网络媒体在人们心中的地位进一步提高,“新闻发布系统”作为网络媒体的核心系统,其重要性是越来越突出:一方面,它提供一个新闻管理和发布的功能;另一方面,现在的新闻发布要求实现与普通的用户交互,用户可以很方便地参加一些调查和相关新闻的评论,本项目主要是对新闻发布系统中的新闻信息表进行操作。

新闻发布系统数据库操作要求如下:

1)数据库NewsDB。

2)角色表Roles,表结构如下表J2-9-1所示。

表J2-9-1 Roles表

字段名 字段说明 数据类型 允许为空 备注
RoleId 角色ID int 主键,标识列(1,1)
RoleName 角色名称 字符(30)

3)Roles表基础数据如表J2-9-2所示记录。

表J2-9-2 Roles表基础数据

RoleId RoleName
1 普通角色
2 经理
3 管理员

4)新闻类别表NewsKind,结构如表J2-9-3所示。

表J2-9-3 NewsKind表

字段名 字段说明 数据类型 允许为空 备注
NewsKindId 类别ID int 主键,标识列(1,1)
NewsKindName 类别名称 字符(30)

5)NewsKind表基础数据如表J2-9-4所示记录。

表J2-9-4 NewsKind表基础数据

NewsKindId NewsKindName
1 今日报道
2 每周快讯
3 国内新闻
4 国际新闻
5 图片新闻

6)角色_新闻类别管理表RolePower,结构如表J2-9-5所示。

表J2-9-5 RolePower表

字段名 字段说明 数据类型 允许为空 备注
RoleId 角色ID int 主键,外键(参照Roles表)
NewsKindId 类别ID int 主键,外键(参照NewsKind表)

(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进行操作
1) 管理员可以添加任何类型新闻、经理则可以添加除今日报道外的所有类型新闻、普通用户则只可以添加今日报道,根据上述请将表 RolePower表中数据添加完善。
2) 添加表中数据到角色表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 = '普通角色')
相关文章
|
23天前
|
存储 人工智能 Cloud Native
云栖重磅|从数据到智能:Data+AI驱动的云原生数据库
在9月20日2024云栖大会上,阿里云智能集团副总裁,数据库产品事业部负责人,ACM、CCF、IEEE会士(Fellow)李飞飞发表《从数据到智能:Data+AI驱动的云原生数据库》主题演讲。他表示,数据是生成式AI的核心资产,大模型时代的数据管理系统需具备多模处理和实时分析能力。阿里云瑶池将数据+AI全面融合,构建一站式多模数据管理平台,以数据驱动决策与创新,为用户提供像“搭积木”一样易用、好用、高可用的使用体验。
云栖重磅|从数据到智能:Data+AI驱动的云原生数据库
|
25天前
|
SQL 关系型数据库 数据库
国产数据实战之docker部署MyWebSQL数据库管理工具
【10月更文挑战第23天】国产数据实战之docker部署MyWebSQL数据库管理工具
85 4
国产数据实战之docker部署MyWebSQL数据库管理工具
|
22天前
|
关系型数据库 分布式数据库 数据库
云栖大会|从数据到决策:AI时代数据库如何实现高效数据管理?
在2024云栖大会「海量数据的高效存储与管理」专场,阿里云瑶池讲师团携手AMD、FunPlus、太美医疗科技、中石化、平安科技以及小赢科技、迅雷集团的资深技术专家深入分享了阿里云在OLTP方向的最新技术进展和行业最佳实践。
|
25天前
|
关系型数据库 MySQL Linux
Linux系统如何设置自启动服务在MySQL数据库启动后执行?
【10月更文挑战第25天】Linux系统如何设置自启动服务在MySQL数据库启动后执行?
72 3
|
24天前
|
Java 数据库连接 数据库
深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能
在Java应用开发中,数据库操作常成为性能瓶颈。本文通过问题解答形式,深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能。文章介绍了连接池的优势、选择和使用方法,以及优化配置的技巧。
22 1
|
30天前
|
人工智能 Cloud Native 容灾
云数据库“再进化”,OB Cloud如何打造云时代的数据底座?
云数据库“再进化”,OB Cloud如何打造云时代的数据底座?
|
1月前
|
SQL 存储 关系型数据库
数据储存数据库管理系统(DBMS)
【10月更文挑战第11天】
97 3
|
1月前
|
NoSQL 前端开发 MongoDB
前端的全栈之路Meteor篇(三):运行在浏览器端的NoSQL数据库副本-MiniMongo介绍及其前后端数据实时同步示例
MiniMongo 是 Meteor 框架中的客户端数据库组件,模拟了 MongoDB 的核心功能,允许前端开发者使用类似 MongoDB 的 API 进行数据操作。通过 Meteor 的数据同步机制,MiniMongo 与服务器端的 MongoDB 实现实时数据同步,确保数据一致性,支持发布/订阅模型和响应式数据源,适用于实时聊天、项目管理和协作工具等应用场景。
|
1月前
|
运维 NoSQL BI
简道云搭载阿里云MongoDB数据库,帮助数以万计企业重构业务系统
通过与MongoDB和阿里云团队的合作,让简道云少走了弯路,保障了线上服务的长期稳定运行,提高了吞吐效率,并相应降低了线上运行成本
|
14天前
|
SQL 关系型数据库 MySQL
12 PHP配置数据库MySQL
路老师分享了PHP操作MySQL数据库的方法,包括安装并连接MySQL服务器、选择数据库、执行SQL语句(如插入、更新、删除和查询),以及将结果集返回到数组。通过具体示例代码,详细介绍了每一步的操作流程,帮助读者快速入门PHP与MySQL的交互。
29 1
下一篇
无影云桌面