--用户信息表
create table userinfo(
uid int identity(1,1) primary key,
uname nvarchar(20) not null,
usex nvarchar(2) check (usex in ('男','女')),
imgpath nvarchar(500),--存放上传图片的路径,如果是多张图片的话可以用特殊符号隔开,
--在显示的时候可以用split方法,很多语言都有这个方法的
/*
自己加字段吧
*/
)
--用户登陆表
create table account(
id int identity(1,1) primary key,
account_name nvarchar(20) not null,
account_password nvarchar(64) not null,
uid references userinfo(uid)
)
--投票
/*
id 记录的主键
a-e 为评价的等级 没有投票的为0 投一票就加1
goods_id 为所评论对象id的外键关联
要投票的时候先判断表里有没有被评论对象的id
有就修改记录,没有就插入新纪录
这样的话用户的信息就没办法被录入到这张表中,但是在页面跳转的时候
用户信息是可以放在session里的,应该是没用影像的
如果以 用户id和被评论对象的id做组合主键的话
冗余数据就太多了
*/
create table acc_vote(
id int identity(1,1) primary key,
a int not null,
b int not null,
c int not null,
d int not null,
e int not null,
goods_id references goods_table_name(index)
)
--留言表
create table acc_leaveword(
id int identity(1,1) primary key,
title nvarchar(100),
author nvarchar(50),
publishtime nvarchar(20),
conntent nvarchar(20),
isrestore int,--是否为回复,是主题的话0,回复的话就自引用对应主题的id
id int references account(id)
)
两个表吧,一个(发表人,论题,论题ID),第二个(论题ID,选项ID,选项内容,投票总计)觉得建两个表的可扩展能力比较好,维护性好一点.
建一个表的话也可以.查询速度应该影响不大.个人意见.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)