求用SQL语句建立三个表(满意有加分)

来源:百度知道 编辑:UC知道 时间:2024/06/01 05:05:49
表一:名称:user 列名:id;name;password;email;adminFlag;
表二:名称:Message 列名id;name;email;content;pub_data;pub_flag;user_id;
表三:名称:ReMessage列名:id;name;email;content;pub_data;pub_flag;user_id;mess_id;

我要做一个留言板,但是想参考一下怎么建数据库,请大家赐教,我想光看表名和列名应该可以理解出各个列的意思了,我有点搞不懂怎么设置约束,外联,数据类型,默认值之类的。希望大家根据以上信息,帮忙写一份SQL语句。有满意的一定加分
回答的有点不规范...
用户名应该加一个唯一性约束,Flag就是一个标志,没必要用50,相反content小了吧?有没有一个text类型的?
pub_data代表的是发布时间,有个DATETIME类型吧?好像有个函数now()?
百度hi你半天...- -
帮忙再改改好不?

随便改了一下,你看看,你的题目上面说的不大清楚,我也是凭自己的想象写的
create table user(
id int IDENTITY(1,1) PRIMARY KEY ,
name varchar(20) not null unique key,
password varchar(20) not null,
email varchar(50) default aa@mail.bnu.edu.cn,
adminFlag varchar(10)
);
分析:PRIMARY KEY 主键的意思,每一个table都有主键,别的表可以同过主键来和此表关联。
create table message(
id int IDENTITY(1,1) PRIMARY KEY ,
name varchar(20) not null,
email varchar(20) not null,
content text ,
pub_data smalldatetime ,
pub_flag varchar(10),
FOREIGN KEY (user_id) REFERENCES user(id)
);
FOREIGN KEY (user_id) REFERENCES user(id)
这句话就是建立了一个约束,表中的user_id一定要是user表中的id,不然的话要插入数据是插不进去的。
其中varchar就是一个数据类型
默认值就是再插入的此值为null是默认给的值:
用法如下:email varchar(50) default aa@mail.bnu.edu.cn
最后的一个表你自己试着自己写,不会的话,我在写给你,毕竟这东西是要自己多练的。

哎,我来帮忙改
create table user(
id int IDENTITY(1,1) PRIMARY KEY ,
name varchar(20) not null unique key,
passwo