探索数据建模(如何将合理数据库汇集在一起​​)[英] Exploring data modelling (how to hobble a sensible database together)

本文是小编为大家收集整理的关于探索数据建模(如何将合理数据库汇集在一起​​)的处理方法,想解了探索数据建模(如何将合理数据库汇集在一起​​)的问题怎么解决?探索数据建模(如何将合理数据库汇集在一起​​)问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我正在研究一个项目,人们可以创建一个播放列表,它作为对象存储在localstorage中.一切都是客户端.

所以我现在想迈出一步,让用户登录系统(我可以使用PHP MySQL和FB Connect或OAuth系统,任何其他建议?).问题在决定每个用户的SQL数据库并存储其播放列表(带媒体信息)或是否有其他方法来解决.将处理大量数据库对我来说是麻烦的(在速度方面)?

我只创建一个dB,如下所示:

用户数据库

示例: 我有10个注册用户,每个用户有2个播放列表

1.table 1: 10 entries
2.table(s): username - playlists (10 tables) || i make one table with one field user other field playlist name
3.tables: each playlist - media info, owner (20 tables)

或有更简单的方式?

我希望我的问题很清楚.

ps:我是新的php和数据库(所以这可能非常愚蠢)

推荐答案

惊讶的大多数答案似乎错过了这个问题,但我会得到这个尝试;

这称为数据建模(如何汇集一堆数据库中的表格,以便以最佳方式表达您想要的内容),并且不要觉得愚蠢地询问;那里有人在那里花了所有醒着的时间调整和设计数据模型.他们对任何系统的福祉都非常重要,而且实际上,大多数人给予他们的信誉,他们都是更重要的.

听起来你在正确的道路上.它总是一个好的提示来定义自己的实体,每个都是每个表创建一个表,所以在这种情况下,您可以获得用户和播放列表和歌曲(例如).依此定义您的表格;用户,歌曲,播放列表.

下一件事是定义字段和表格的名称(也许上面建议的简单名称,很简单).有些人介绍了faux命名空间(即myApp_User而不是仅仅是用户),特别是如果他们知道数据模型将在将来的同一数据库中扩展和展开(或者,因为他们知道这是不可避免的),而其他人将只是通过无论他们需要什么.

大问题始终是归一化以及围绕此时的各种问题,平衡性能免受适用性在这个主题上写了吨和吨的书,所以没有办法给我给你任何有意义的答案,但是我的主旨是;

在表中的数据字段是什么值得自己的表?一个例子是,您只能在一个表格,或两个或6中创建应用程序,具体取决于您希望如何拆分数据.这是我认为你的问题真的进来的地方.

我会说你对你的假设几乎是正确的,所以要记住的事情是一致的命名约定(并且有很多关于识别标识符的意见).对于您的应用程序(使用上面提到的表),我会这样做;

USER { id, username, password, name, coffee_preference } 
SONG { id, artist, album, title, genre } 
PLAYLIST { id, userid } 
PLAYLIST_ITEM { id, songid, playlistid, songorder }

现在,您可以使用SQL您获得用户的所有播放列表;

   SELECT * FROM PLAYLIST WHERE userid=$userid

或在播放列表中获取所有歌曲;

   SELECT * FROM SONG,PLAYLIST_ITEM WHERE playlist_item.playlistid=$playlist.id AND song.id=playlist_item.songid ORDER BY playlist_item.songorder

等等.同样,Tomes已经写了关于这个主题.这一切都是关于清楚和语义上的思考,同时抽出技术解决方案.有些人只是作为职业生涯(如DBA的).会有很多意见,特别是在这里写的.祝你好运.

其他推荐答案

您可以使用像MySQL或PostgreSQL等SQL数据库或MongoDB等NoSQL数据库.每个都有它的利弊,但由于你似乎是一个初学者,我会推荐mysql,因为这是大多数初学者的工作.看看这些文章

http://dev.mysql.com/tech-resources/articles/mysql_intro.html http://www.redhat.com/magazine/007may05/features/mysql/

当然,您可能会自由地在大g上搜索,因为那里有很多资源.

本文地址:https://www.itbaoku.cn/post/1794019.html