0
votes

Structure des tableaux pour un système de publication

J'ai un projet de construction de la base de données en mémoire pour un système de publication et je souhaite une aide dans la structure de la base de données, quelle sera la structure et les champs des tables et des relations entre elles. Ce qui suit est une explication de la base de données et des tables Dans ce projet, le schéma est composé de 3 tableaux: les utilisateurs, le contenu, la licence, des colonnes suffisantes doivent être ajoutées aux licences de support en fonction des délais (y compris perpétuels) ou du nombre d'accès qui donnent accès à des tranches de contenu spécifiques (une tranche de contenu est une tranche de contenu Critères pouvant identifier un élément de contenu tel que la date de publication dans une plage ou une liste d'identifiants de contenu et / ou d'un filtre sur le nom de la revue).

J'ai essayé d'écrire 3 tables. p>

Table utilisateur et consiste en: p>

-id
-user-id (FK)
-license-id (FK)
-price
-expiration date 
-created at


3 commentaires

Bonjour, et bienvenue au débordement de pile. Veuillez lire Stackoverflow.com/help/how-to-ask - comme il se trouve, votre question n'est pas une peut répondre. Qu'est-ce qui manque avec votre solution initiale?


Plusieurs utilisateurs peuvent-ils avoir la même licence? Un utilisateur peut-il avoir plusieurs licences?


Les utilisateurs ne peuvent pas avoir la même licence et l'utilisateur peut avoir plusieurs licences.


3 Réponses :


0
votes

Autant que j'ai bien compris votre problème, c'est donner des autorisations à plusieurs utilisations. Qui est l'application Java de cela. C'est pourquoi vous avez une balise Java. Parce qu'il n'y a rien de mal avec la base de données comme ça. Si oui

Essayez simplement d'utiliser Hibernate

ou créer une nouvelle classe avec des méthodes spécialement conçues pour lire ou écrire des données

Laissez ensuite l'utilisateur d'accéder à ces méthodes que vous le souhaitez par héritage ou par une approche que vous aimez


1 commentaires

Mon problème est de savoir comment concevoir les tables et les relations entre eux, j'ai déjà fait avec 3 tables et je ne sais pas comment faire le contenu



0
votes

Mon problème est de savoir comment concevoir les tables et les relations entre eux, j'ai déjà fait avec 3 tables et ne savez pas comment faire le contenu


0 commentaires

0
votes

Vous avez une relation 1-N entre les utilisateurs et les licences, où un utilisateur peut avoir plusieurs licences et que chaque licence appartient à un utilisateur uniquement.

Pour représenter une telle relation, deux tables doivent être suffisantes au lieu de trois. Vous n'avez pas besoin de la table de bridge supplémentaire Licence utilisateur code>: p>

  • Le tableau code> code> contient un enregistrement par niveau utilisateur (ID, nom, mot de passe, ...) p> li>

  • La table code> code> contient un enregistrement par licence, avec toutes les informations pertinentes (nom, prix, expiration, ...) et strong> une clé étrangère qui fait référence à des références ID de l'utilisateur à qui les licences appartiennent p> li> ul>

    Voici comment ajouter la clé étrangère au tableau Licence Code>: P>

    ALTER TABLE license 
        ADD user_id INT NOT NULL DEFAULT 0;
    ALTER TABLE license
        ADD CONSTRAINT fk_user_id 
        FOREIGN KEY (user_id) REFERENCES users(id);
    


4 commentaires

Qu'en est-il du contenu, quelle est la relation et comment puis-je le faire?


@AnaMadi: Quel est le contenu et que contient-il? Vous avez fait des informations sur cette table dans votre message d'origine.


Le contenu est la publication suffisamment de colonnes doit être ajoutée aux licences de support en fonction des délais (y compris perpétuels) ou du nombre d'accès qui donnent accès à des tranches de contenu spécifiques (une tranche de contenu est des critères pouvant identifier un élément de contenu tel que la date de publication. dans une plage ou une liste d'identifiants de contenu et / ou d'un filtre sur le nom de la revue).


Le contenu est la publication suffisamment de colonnes doit être ajoutée pour prendre en charge le nombre d'accès donnant accès à des tranches de contenu spécifiques (une tranche de contenu est tout critère pouvant identifier un élément de contenu tel que la date de publication dans une plage ou une liste d'identifiants de contenu et / ou un filtre sur le nom du journal).