0
votes

Conception de la base de données SQL avec plus d'une donnée dans la même colonne

Je souhaite créer une table de base de données qui aura multiplier des informations. L'une de ces informations est des téléphones. Comment créer une table de base de données que dans la colonne PHONES contiendra Soyons des sous-colonnes, car un utilisateur peut avoir plus d'un téléphone et être stocké dans la même ligne pour le même ID.

ci-dessous est une image de ce que je veux dire et comment je veux que ma table soit ... Entrez la description de l'image ici

toutes les réponses sont utiles malheureusement, je ne peux choisir qu'un seul, mais tout répondit m'a aidé


2 commentaires

Quels DBM utilisent?


Bien entendu, la normalisation de votre modèle de données (comme indiqué dans toutes les réponses) est la solution recommandée, mais certains DBMSES prennent en charge Tableaux , qui pourraient être utilisés pour stocker ce type d'informations.


4 Réponses :


4
votes

Il n'y a pas de notion de sous-cololumns em> dans des bases de données relationnelles.

Si vous souhaitez stocker un nombre variable de téléphones par utilisateur, une solution consiste à créer une autre table pour les stocker comme rangées em>. Les téléphones code> code> doivent avoir une colonne pour stocker l'ID de l'utilisateur que chaque téléphone concerne, avec une contrainte de clé étrangère garantissant que la valeur contenue dans cette colonne existe dans les utilisateurs Code> Table. P>

SO: P>

create table users (
    id int primary key auto_increment,
    name varchar(50) not null,
    address varchar(50)
);

create table phones(
     id int primary key auto_increment,
     user_id int not null,
     phone_no varchar(20) not null,
     foreign key (user_id) references users(id)
);


0 commentaires

3
votes

Vous ne le faites généralement pas. Vous créez une autre table. Dis que vous avez: xxx

puis vous créez une table "jonction" ou "association": xxx

Vous ne spécifiez pas la base de données . J'ai utilisé série pour la clé primaire car il est utilisé par Postgres et facile à taper.


0 commentaires

2
votes

C'est un flux d'ER comme a un diabotone dans votre cas via la clé de clé étrangère principale xxx


0 commentaires

2
votes

SQL FIDDLE

Schema Schema MS SQL Server 2017 < / strong>: xxx

Query 1 : xxx

résultats : xxx < / p>


0 commentaires