基于jsp的bbs论坛-(2)数据库创建

来源:互联网 发布:全国新长征突击乎和平 编辑:程序博客网 时间:2024/04/25 15:15

首先使用数据库管理员的账户登录plsqldev,并选择SYSDBA进行登录,在登录情况下打开命令窗口进行操作进行创建一个用户
登录plsqldev后,在里面新建一个命令窗口,使用SQL语句进行数据库的创建

一、创建用户

首先创建一个普通用户作为我们登录Oracle数据库的账号密码,不能都用数据库管理员的权限进行登录,权限过大防止误操作可能带来的巨大损失
使用如下SQL语句:
create user 账户名 identified by 密码;
以及使用如下SQL语句进一步修改上方所创建用户的权限:
grant connect,resource to 账户名;

二、创建account_table账户表

用上方创建的用户名和密码重新进行登录,根据对BBS论坛相关的需求分析,将在数据库中共建三张表:
1. account_table
2. message_table
3. revert_table

account_table
作为存储论坛所有账号信息的表,共建立如下5个字段:
1. account_account
- 用户数字账号
- 主键
- 由数据库队列直接给予,保证不重复
- 数字类型
2. account_name
- 用户账号个性名字
- 字符类型
3. account_pass
- 用户账号密码
- 字符类型
4. account_limit
- 用户账号权限识别码,0为用户,1为管理员
- 数字类型
5. account_date
- 用户账号创建日期
- date类型

SQL实现代码:

create table account_table(account_account number(30,0) primary key not null,account_name varchar2(30) unique not null,    account_pass varchar2(30) not null,         account_limit number(1,0) default 0,       account_date date default sysdate      );

三、创建message_table主题帖表

message_table
作为存储论坛所有主题帖信息的表,共建如下5个字段:
1. message_account
- 主题帖发帖人数字账号
- 对应account_table表的外键
- 数字类型
2. message_id
- 主题帖的id
- 主键
- 由数据库队列直接给予,保证不重复
- 数字类型
3. message_title
- 主题帖名称
- 字符类型
4. message_content
- 主题的内容
- 字符类型
5. message_data
- 主题帖的发帖日期
- 由系统直接给予
- date类型

SQL实现代码:

create table message_table(message_account number(30,0) not null,message_id number(30,0) primary key not null,message_title varchar2(30) not null,message_content varchar2(300) not null,message_data date default sysdate,constraint fk_message_account_account foreign key(message_account) references account_table(account_account));

四、创建revert_table回复贴表

revert_table
作为存储论坛所有回复帖信息的表,共建如下5个字段:
1. revert_account
- 回复贴的发帖人数字账号
- 设立对应account表的外键
- 数字类型
2. revert_messageid
- 所回复的主题帖的id
- 设立对应message表的外键
- 数字类型
3. revert_id
- 回复贴的id主键
- 由数据库队列直接给予,保证不重复
- 数字类型
4. revert_content
- 回复贴的内容
- 字符类型
5. revert_data
- 回复贴的发帖日期
- 由系统直接给予
- date类型

SQL实现代码:

create table revert_table(revert_account number(30,0) not null,revert_messageid number(30,0) not null,revert_id number(30,0) primary key not null,revert_content varchar2(300) not null,revert_data date default sysdate,constraint fk_revert_account_account  foreign key(revert_account) references account_table(account_account),constraint fk_revert_message_id foreign key(revert_messageid)  references message_table(message_id));

五、创建数据库序列

以创建数据库自动增长队列的方式创建不重复的数字id,一个表创建一个序列,共需建立3个序列,如下所示:

5.1、创建序列accountnum序列SQL代码:

CREATE SEQUENCE accountnumINCREMENT BY 1 START WITH 1 NOMAXVALUE NOCYCLE CACHE 10;

5.2、创建序列messagenum序列SQL代码:

CREATE SEQUENCE messagenumINCREMENT BY 1 START WITH 1 NOMAXVALUE NOCYCLE CACHE 10;

5.3、创建序列revertnum序列SQL代码:

CREATE SEQUENCE revertnumINCREMENT BY 1 START WITH 1 NOMAXVALUE
0 0
原创粉丝点击