Comment structurer les tables d'une très simple blog dans MySQL?
Je veux ajouter un très simple blog sur une de mes LAMPE sites. Elle serait liée à l'utilisateur d'un profil existant, et ils seraient en mesure de simplement entrer un titre et un corps de chaque poste dans leur blog, ainsi que la date serait réglé automatiquement lors de l'envoi. Ils seraient autorisés à modifier et de supprimer tout post de blog et de titre à tout moment. Le blog serait affichées de la plus récente à la plus ancienne, peut-être 20, postes de à une page, avec une bonne pagination ci-dessus. D'autres utilisateurs seraient en mesure de laisser des commentaires sur chaque poste, le propriétaire du blog serait autorisé à supprimer, mais pas de pré-modéré. C'est principalement ça. Comme je l'ai dit, très simple.
Comment dois-je structurer les tables MySQL pour cela?
Je pars du principe que puisqu'il y aura des billets de blog et les commentaires, j'aurais besoin d'un tableau distinct pour chaque, est-ce correct? Mais alors qu'est-colonnes dont j'ai besoin dans chaque tableau, quelles structures de données dois-je utiliser, et comment dois-je lier les deux tables ensemble (par exemple, toutes les clés étrangères)?
Je ne pouvais pas trouver tout de tutoriels pour quelque chose comme cela, et ce que je cherche à faire est de vraiment offrir aux utilisateurs de la version la plus simple d'un blog possible. Pas de tags, pas de modération, pas d'images, pas de fantaisie, mise en forme, etc. Juste un simple journal de type pur-texte de blog avec commentaires par d'autres utilisateurs.
Regarde mon histoire sur un Débordement de Pile. Je ne suis certainement pas d'étudiant. Je n'ai pas essayé de mettre en œuvre quoi que ce soit encore parce que c'est pour un site de production. Je ne fais pas de "trial and error" sur des sites, j'ai d'abord déterminer la meilleure façon de mettre en œuvre quelque chose, et puis je l'appliquer. C'est ce que je suis ici pour essayer de comprendre.
Regardez comment tout existant blogging moteur t-il. Il y a beaucoup d'exemples à regarder.
OriginalL'auteur ProgrammerGirl | 2012-09-10
Vous devez vous connecter pour publier un commentaire.
Je dirais que vous devez les tableaux suivants
Tous les champs datetime défaut à l'heure actuelle, tous les champs identité sont PK
Le champ de séquence dans le post de détails, est-il dans le cas où vous n'utilisez pas le type de texte et aller avec varchar de sorte que vous pouvez diviser un post sur plusieurs dossiers.
Autre que cela, je regarderais open source système de blogs et de voir ce qu'ils ont fait et de soustraire ce que je n'ai pas besoin.
Espère que ça aide
Deux raisons: La première est le découplage de données pour faire une relation maître/détail (car cette façon, vous n'avez pas besoin d'apporter votre peut-être très long post quand vous voulez juste les titres), et le deuxième est le fait que vous risquez d'aller au-delà de la capacité au champ (peut-être pas un problème avec un champ de texte, mais si vous allez avec varchar, je le ferais, signifie que vous avez un fixe le nombre maximum de longueur par ligne). Dans l'ensemble, c'est juste une question de préférence, j'aime à séparer autant d'information que possible
Pourriez-vous expliquer l'utilisation de la Séquence (int) de la colonne que vous avez utilisés dans le PostDetails table dans votre réponse? Qu'est-ce que la colonne de Séquence utilisé pour?
Supposons que votre conception de base de données l'a PostText champ de type varchar avec sa valeur max (ex: 4000). Si vous voulez un post de plus de 4000 caractères, vous avez besoin de 2 entrées dans la table. Prendre un 6500 char post, la première 4000 aller dans le premier enregistrement, avec le numéro de séquence 1, et le dernier 2500 dossiers dans le second champ avec le numéro de séquence 2, de sorte que lorsque vous interrogez la table de votre commande par Séquence ascendante et vous obtenez toutes les lignes qui composent un post, et vous n'avez pas à compter sur un champ de texte, que, au moins dans mssql est d'aller loin dans l'avenir. Aussi champ de texte ne sont pas stockées avec le reste de la table de données
Ne pas les Commentaires de la table ont une
int FK
à la table Posts? Sinon, comment vous faites référence à des Commentaires qui sont pour quels Messages?OriginalL'auteur Carlos Grappa