이미지 (너비/높이)에 대한 정보는 부적합합니다. 필요한 경우 다른 테이블에 넣을 수 있지만 이미지 정보가 필요하지 않습니다. 이 DB 디자인에 대해 어떻게 생각하십니까? MyISAM과 InnoDB의 차이점은 무엇입니까?php-file manager db 디자인 (mysql)
감사합니다. 의견을 보내 주셔서 감사합니다.
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;
왜 열 이름이 고유해야합니까? 나는 이것을 내 파일 시스템에 가질 수있다 : A> B> A> B (여기서>는 '서브 디렉토리를 가진다'를 의미한다)! –
나는 č, ć, ž, š, đ 문자를 사용하고 있으며 파일 이름별로 파일을 정렬해야합니다 (a, b, c, č, ć, ...) utf8_unicode_ci 대신 무엇을 제안합니까? 대안? – Diablo
@ predrag.music - 장단점이 있습니다.이 문자는 iso-8859- *로 표현할 수 있으며, latin table에 utf-8 데이터를 저장할 수 있습니다. – ajreal