//先创主表,再创从表 先删从表,再删主表
//论坛用户表
create table bbs_user(
user_id integer primary key, //没有id的,给他创建一个id
user_name varchar2(15) not null,
user_password number(12) not null,
user_email varchar2(20) check (user_email like '%@%'), //检查约束,%代表任意长度字符串,_代表一个字符,用like
user_birthday Date,
user_sex varchar2(3) check (user_sex='男' or user_sex='女'),
user_grade number(3) not null,
user_remarks varchar2(30),
user_registration_date Date,
user_state varchar2(9),
user_integral number(5)
);
//版块表
create table bbs_section(
section_id integer primary key,
section_name varchar2(12) not null,
section_webmaster varchar2(12),
section_motto varchar2(60),
section_click_rate number(5,2), //2位小数,5-2位整数
section_count number(5)
);
主帖表
create table bbs_post(
post_id integer primary key,
post_name varchar2(12) not null,
post_expression varchar2(6),
post_reply_count number(4),
post_title varchar2(30),
post_text varchar2(255) not null,
post_time Date,
post_clicks number(9),
post_state varchar2(9),
post_cid1 integer,
foreign key(post_cid1) references bbs_user(user_id),
post_cid2 integer,
foreign key(post_cid2) references bbs_section(section_id)
);
//回帖
create table bbs_reply(
reply_id integer not null primary key, //设reply_id为主键,并且不能为空
reply_person varchar2(12), //这里一个汉字对应3个单位
reply_expression varchar2(6),
reply_title varchar2(30),
reply_text varchar2(255) not null,
reply_time Date, //日期都用Date类型
reply_clicks number(9), //numble(6)可以设置长度,integer不能,但是integer添加主外键时更方便
reply_cid1 integer, //这里的外键的类型必须和对应的主键的类型相同
foreign key(reply_cid1) references bbs_user(user_id),
reply_cid2 integer,
foreign key(reply_cid2) references bbs_section(section_id),
reply_cid3 integer,
foreign key(reply_cid3) references bbs_post(post_id)
);