我想将我的照片管理系统从 XML 迁移到 MySQL 并扩展我当前系统的功能。
基本上,我在 MySQL 中的东西很少,在 xml 文件中也很少。现在的情况是这样的:
“ news.xml ” - 单个文件:
存储了我网站上的所有新闻(新上传、投票和评论),xml 的结构是:<all_news> <photos> <image image_name="photo1.jpg" path="my_photos/" date="12.12.12" info="just Uploaded!" /> </photos> <comments> <image image_name="photo1.jpg" path="my_photos/" date="12.12.12" info="just Commented!" /> </comments> <votes> <image image_name="photo1.jpg" path="my_photos/" date="12.12.12" info="just Voted!" /> </votes> </all_news>
“ photo1.xml ”、“ photo2.xml ”、“ photo3.xml ” ... - 多个文件:
如果有人对我的照片发表评论,这些文件是动态创建的。例如,如果有人评论我的照片,php 脚本会自动创建“ photo_name.xml ”文件,格式为:<comments> <comment sender='John' text='nice photo!' who='user' date='22.12.12'/> </comments>
“投票” - MySQL 表:
存储所有投票,表的结构:id: "photo1.jpg"
vote: 5
uid: "IP voting person"
现在我想将所有这些东西合并到一个 mySQL 数据库表中,所以每次加载照片时 - 从单个 DB 表中提取这些照片信息(而不是同时加载几个 xml 和 DB)......
所以我的问题是:
在这种情况下,哪种表结构最适合最容易处理(提取数据、移动、删除、编辑、添加、排序......)?我应该使用唯一 id =“photo.jpg”和多维数组
将单个文件的所有内容保存在单行中吗?例如:
uid: photo_name.jpg
path: my_photos/
isNewPhoto: array[true, array[info:"just uploaded!"][date:"12.12.12"]] (multi-dimensional array ??)
isNewComment: array[true, array[info:"just commented!"][date:"12.12.12"]] (multi-dimensional array ??)
isNewVote: array[true, array[info:"just Voted!"][date:"12.12.12"]] (multi-dimensional array ??)
votes: 1,5,3,2
votesIP: 123123123,123123123,123123123
comments: array[array[sender][comment][date][who]]] (multi-dimensional array ??)