php文件管理器数据库设计(mysql)
有关图像(宽度/高度)的信息不相关。如果我需要,我会把它放在另一个表中,但我不需要图像信息。你觉得这个数据库设计怎么样?对于特定的表,您如何看待MyISAM和InnoDB 谢谢你,我感谢你的反馈php文件管理器数据库设计(mysql),php,mysql,database,database-design,Php,Mysql,Database,Database Design,有关图像(宽度/高度)的信息不相关。如果我需要,我会把它放在另一个表中,但我不需要图像信息。你觉得这个数据库设计怎么样?对于特定的表,您如何看待MyISAM和InnoDB 谢谢你,我感谢你的反馈 DROP TABLE IF EXISTS `directory`; CREATE TABLE `directory` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) COLLATE utf8_unicode_ci NOT N
DROP TABLE IF EXISTS `directory`;
CREATE TABLE `directory` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`parent_id` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
DROP TABLE IF EXISTS `file`;
CREATE TABLE `file` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`fk_directory_id` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
DROP TABLE IF EXISTS `tag`;
CREATE TABLE `tag` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
DROP TABLE IF EXISTS `tags_files`;
CREATE TABLE `tags_files` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`fk_file_id` int(11) DEFAULT NULL,
`fk_tag_id` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
- 列
应该是唯一的名称
- 由于区分大小写,不应在此列中使用
utf8\u unicide\u ci
example.jpg!=示例.JPG
使用ci将导致唯一名称问题
- 如果您需要大量的写操作,innodb应该更合适
- 其他图像的附加信息(如宽度、高度)可以存储到表中,以便进行搜索/过滤
- 您不太可能希望保留文件的版本,但您应该存储有关创建者的信息(如用户id),以便可以轻松地追溯信息