日期:2014-05-20  浏览次数:20822 次

各位有开发过网络硬盘的么
在学校做项目有一个网络硬盘的功能,但不知道数据库怎么建?在网上搜索了n久还是一头雾水。
其中有一个数据库是这样设计的,三张表。t_users,t_files,t_directories。
CREATE TABLE IF NOT EXISTS disk.t_users (
user varchar(20) NOT NULL,
password_md5 varchar(50) NOT NULL,
xm varchar(10) default NULL,
email varchar(20) default NULL,
phone varchar(20) default NULL,
qq varchar(12) default NULL,
PRIMARY KEY (user) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;


CREATE TABLE IF NOT EXISTS disk.t_files (
id int(11) NOT NULL auto_increment,
user varchar(20) NOT NULL,
file varchar(255) NOT NULL,
path varchar(255) NOT NULL,
size bigint(11) NOT NULL,
upload_time datetime NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY file (file,path)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;



CREATE TABLE IF NOT EXISTS disk.t_directories (
id int(11) NOT NULL auto_increment,
user varchar(20) NOT NULL,
path varchar(255) NOT NULL,
parent_path varchar(255) NOT NULL,
dir varchar(20) NOT NULL,
create_time datetime NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY user (user,path)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;




红色的部分不是很清楚,请教大家是什么意思?


------解决方案--------------------
path varchar(255) NOT NULL,
parent_path varchar(255) NOT NULL,
dir varchar(20) NOT NULL

从数据库角度看,这不过是三个字段的定义。如果猜测一下的话。 分别是 
目录名
父目录名
目录

至于具体为什么设置这些字段,则要看实际的应用了。不了解应用的情况下别人只能靠猜来分析。