Je dois créer une table dans sql où l'une des colonnes stocke des récompenses pour un film. Le schéma dit qu'il devrait stocker quelque chose comme Oscar, scénario. Est-il possible de stocker deux valeurs dans le même champ en SQL. Si oui, quel type de données serait-ce et comment interrogeriez-vous la table pour cela?stocker deux valeurs dans un champ sql
Répondre
Il est un modèle de conception horrible à stocker plus d'un morceau de données dans un Colonne unique dans une base de données relationnelle. La conception exacte de votre système dépend de plusieurs choses, mais voici une façon possible de modéliser:
CREATE TABLE Movie_Awards (
movie_id INT NOT NULL,
award_id INT NOT NULL,
CONSTRAINT PK_Movie_Awards PRIMARY KEY CLUSTERED (movie_id, award_id)
)
CREATE TABLE Movies (
movie_id INT NOT NULL,
title VARCHAR(50) NOT NULL,
year_released SMALLINT NULL,
...
CONSTRAINT PK_Movies PRIMARY KEY CLUSTERED (movie_id)
)
CREATE TABLE Awards (
award_id INT NOT NULL,
ceremony_id INT NOT NULL,
name VARCHAR(50) NOT NULL, -- Ex: Best Picture
CONSTRAINT PK_Awards PRIMARY KEY CLUSTERED (award_id)
)
CREATE TABLE Ceremonies (
ceremony_id INT NOT NULL,
name VARCHAR(50) NOT NULL, -- Ex: "Academy Awards"
nickname VARCHAR(50) NULL, -- Ex: "Oscars"
CONSTRAINT PK_Ceremonies PRIMARY KEY CLUSTERED (ceremony_id)
)
Je ne mentionnaient pas les clés étrangères, mais nous espérons qu'ils devrait être assez évident.
+1 et il est en violation de la ** première forme normale ** de la conception de base de données ... –
Tout est possible; cela ne signifie pas que c'est une bonne idée :)
Il vaut beaucoup mieux pour normaliser votre structure et les types de magasin comme ceci:
AwardTypes:
AwardTypeID
AwardTypeName
Movies:
MovieID
MovieName
MovieAwardType:
MovieID
AwardTypeID
Vous pouvez sérialiser vos données au format JSON, stocker chaîne JSON, et sur deselialize lis. Plus d'informations que d'utiliser votre propre format
La présentation de données n'a pas besoin d'être si proche de l'organisation des données phisical. Ne serait-il pas utile de stocker ces deux données dans deux colonnes séparées, puis de faire une sorte de concaténation au moment de l'affichage?
Il est beaucoup moins douloureux à se joindre à des données que de le diviser, si vous arrive d'avoir besoin juste un scénario, un jour ...
- 1. Stocker deux valeurs dans un tableau python
- 2. Stocker plusieurs valeurs dynamiques dans un champ dans mysql
- 3. Requête SQL SELECT pour deux valeurs dans le même champ
- 4. stocker plusieurs valeurs en tant que binaire dans un champ
- 5. PHP/MySQL: Comment stocker plusieurs valeurs dans un champ?
- 6. Stocker deux valeurs séparément dans un élément de formulaire select
- 7. champ d'échange SQL valeurs
- 8. SQL Join Query - deux FK, un champ
- 9. requête SQL pour obtenir 2 valeurs dans un seul champ
- 10. Multiplier deux valeurs de champ
- 11. SQL - réglage deux valeurs différentes dans une ligne de SQL
- 12. Comment stocker deux champs dans un NSMutableArray?
- 13. asp boundfield pour stocker plusieurs valeurs dans le même champ
- 14. scinder une chaîne dans un champ de table mysql et la stocker dans deux champs
- 15. SQL: imbriqué SELECT avec plusieurs valeurs dans un seul champ
- 16. recherche SQL valeurs multiples dans un même champ
- 17. Sélection entre deux dates dans un champ DateTime - SQL Server
- 18. SQL Server: Sélectionnez minimum entre deux valeurs dans un SUM
- 19. stocker des valeurs Javascript dans un tableau
- 20. Comment stocker plusieurs valeurs dans une ligne SQL?
- 21. comparant deux valeurs même champ de champ date précédente
- 22. Plusieurs chaînes dans un champ SQL
- 23. Comment stocker 2 valeurs dépendantes dans un tableau?
- 24. Table SQL avec un champ contenant des valeurs nulles
- 25. Valeurs entières dans un dictionnaire à stocker dans un plist
- 26. Comment stocker les valeurs NSDictionary dans un tableau dans iphone
- 27. CheckBoxMultipleChoice stocker dans SQL
- 28. Récupère des combinaisons uniques de deux valeurs de champ
- 29. PHP: 01/01/1970 comment stocker une valeur nulle ou vide dans un champ datetime SQL
- 30. Comment puis-je stocker des valeurs NULL dans un champ NOT NULL?
Vous pouvez sérialiser vos données au format JSON, stocker des chaînes JSON et les déselialiser en lisant –