IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Schéma Discussion :

Création d'une table contenant des actualités


Sujet :

Schéma

  1. #1
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    octobre 2006
    Messages
    10 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : octobre 2006
    Messages : 10 075
    Points : 5 385
    Points
    5 385
    Billets dans le blog
    1
    Par défaut Création d'une table contenant des actualités
    Bonjour,
    je souhaite ajouter à mon site (https://pasdpanique.fr/) une table permettant de rajouter régulièrement des actualités.
    Je m'interroge sur la structure de la table :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    create TABLE t_actus
    (
    int actus_id,
    texte actus_texte,
    date actus_date
    )
    Qu'en pensez vous ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

  2. #2
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    octobre 2006
    Messages
    10 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : octobre 2006
    Messages : 10 075
    Points : 5 385
    Points
    5 385
    Billets dans le blog
    1
    Par défaut
    Je corrige une erreur simple :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CREATE TABLE `t_actus` (
      `actus_id` int AUTO_INCREMENT DEFAULT NULL,
      `actus_texte` varchar(100),
      `actus_date` date DEFAULT NULL
    )
    Les types après le nom de la colonne. J'ai mis pour la 2e colonne le type varchar(100) mais en fait, il s'agit d'un texte de longueur inconnue. Peut-on faire mieux ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

  3. #3
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    septembre 2006
    Messages
    7 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : septembre 2006
    Messages : 7 839
    Points : 30 383
    Points
    30 383
    Billets dans le blog
    16
    Par défaut
    Bonjour,


    Manifestement vous utilisez MySQL, auquel cas vous remplacez VARCHAR(100) par TEXT. C’est ce que propose Looping quand pour le SGBD cible vous choisissez MySQL et pour le type de l’attribut actus_texte vous utilisez le bouton « Volumineux » .
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  4. #4
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    octobre 2006
    Messages
    10 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : octobre 2006
    Messages : 10 075
    Points : 5 385
    Points
    5 385
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par fsmrel Voir le message
    vous utilisez le bouton « Volumineux » .
    Je n'ai pas ce bouton dans mysqlWorkbench...
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    mai 2006
    Messages
    706
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : mai 2006
    Messages : 706
    Points : 1 814
    Points
    1 814
    Par défaut
    Une actu de 100 caractères ça s'appelle un tweet
    J'ai l'impression que cette colonne est plutôt pour le titre, qui est un attribut supplémentaire pertinent.
    Le texte oui, c'est clairement une colonne de type TEXT qu'il faut mais il y a des variantes.

  6. #6
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    septembre 2006
    Messages
    7 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : septembre 2006
    Messages : 7 839
    Points : 30 383
    Points
    30 383
    Billets dans le blog
    16
    Par défaut
    Citation Envoyé par Laurent
    Je n'ai pas ce bouton dans mysqlWorkbench...
    Je n’ai pas parlé de Workbench, mais de Looping !
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  7. #7
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    octobre 2006
    Messages
    10 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : octobre 2006
    Messages : 10 075
    Points : 5 385
    Points
    5 385
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par binarygirl Voir le message
    Une actu de 100 caractères ça s'appelle un tweet
    oui, d'accord ; j'ai mal dimensionnée la colonne.

    Citation Envoyé par binarygirl Voir le message
    Le texte oui, c'est clairement une colonne de type TEXT qu'il faut
    OK, mais si on fait un SELECT d'une colonne de type TEXT, on ne voit pas la valeur, n'est-ce pas ? L'objectif étant ensuite de les afficher, c'est gênant...

    Citation Envoyé par fsmrel Voir le message
    Je n’ai pas parlé de Workbench, mais de Looping !
    Désolé
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

  8. #8
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    septembre 2006
    Messages
    7 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : septembre 2006
    Messages : 7 839
    Points : 30 383
    Points
    30 383
    Billets dans le blog
    16
    Par défaut
    Si cela vous suffit, selon MySQL, vous pouvez coder VARCHAR(65535) :

    Citation Envoyé par MySQL
    Values in VARCHAR columns are variable-length strings. The length can be specified as a value from 0 to 65,535. The effective maximum length of a VARCHAR is subject to the maximum row size (65,535 bytes, which is shared among all columns) and the character set used. See Section 8.4.7, “Limits on Table Column Count and Row Size”.
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  9. #9
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    octobre 2006
    Messages
    10 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : octobre 2006
    Messages : 10 075
    Points : 5 385
    Points
    5 385
    Billets dans le blog
    1
    Par défaut
    Finalement, je pars là-dessus :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CREATE TABLE `t_actus` (
      `actus_id` int NOT NULL AUTO_INCREMENT,
      `actus_texte` text,
      `actus_date` date DEFAULT NULL,
      PRIMARY KEY (`actus_id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
    ;
    y a que la fin : CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;. C'est les valeurs par défaut qu'a choisi MysqlWorkBench. Ca sert à quoi et que me conseillez vous ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

  10. #10
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    septembre 2006
    Messages
    7 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : septembre 2006
    Messages : 7 839
    Points : 30 383
    Points
    30 383
    Billets dans le blog
    16
    Par défaut
    Ça fait des lustres que je n’utilise plus MySQL, aussi je me contente d’aller consulter sa documentation, à vous d’en faire autant !

    Ce sont des paramètres relatifs aux collations. Voyez chez MySQL :

    https://dev.mysql.com/doc/refman/8.0...collation.html

    A collation is a set of rules that defines how to compare and sort character strings. Each collation in MySQL belongs to a single character set. Every character set has at least one collation, and most have two or more collations.
    A collation orders characters based on weights. Each character in a character set maps to a weight. Characters with equal weights compare as equal, and characters with unequal weights compare according to the relative magnitude of their weights.

    Pour DEFAULT CHARSET=utf8mb4 :

    https://dev.mysql.com/doc/refman/8.0...e-utf8mb4.html

    The utfmb4 character set has these characteristics:
    Supports BMP and supplementary characters.
    Requires a maximum of four bytes per multibyte character.
    utf8mb4 contrasts with the utf8mb3 character set, which supports only BMP characters and uses a maximum of three bytes per character...

    Etc.

    Pour COLLATE=utf8mb4_0900_ai_ci :

    https://dev.mysql.com/blog-archive/m...er-collations/

    MySQL 8.0 Collations: Migrating from older collations
    Category: Character Sets
    From MySQL 8.0, utf8mb4 is the default character set, and the default collation for utf8mb4 is utf8mb4_0900_ai_ci. MySQL 8.0 is also coming with a whole new set of Unicode collations for the utf8mb4 character set.
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  11. #11
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    octobre 2006
    Messages
    10 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : octobre 2006
    Messages : 10 075
    Points : 5 385
    Points
    5 385
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par fsmrel Voir le message
    je me contente d’aller consulter sa documentation, à vous d’en faire autant !
    Je savais bien qu'il fallait en passer par là mais c'est par flemme que j'ai posé la question...J'ai consulté vos liens mais ça semble un peu technique. Donc je vais conserver les valeurs par défaut.
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/07/2016, 00h23
  2. [AC-97] Création d'une table à partir des résultats d'une requete analyse croisée
    Par docjo dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 11/11/2009, 21h46
  3. delete dans une table contenant des primary key
    Par bracket dans le forum Langage SQL
    Réponses: 2
    Dernier message: 28/11/2008, 17h41
  4. Réponses: 4
    Dernier message: 22/11/2007, 19h23
  5. Réponses: 2
    Dernier message: 07/11/2005, 18h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo