MCD et Core Data
Bonjour,
Dans une nouvelle application, je vais utiliser Core Data,
Comment ça se passe pour traduire un modèle conceptuel de données ?
admettons que j'ai un MCD de ce style (pris sur développez.com pour un exemple) :
Est-ce qu'on inclut les ID_Auteur, ID_Emprunteur etc... dans les entités ?
Merci.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Rapidement, voilà une version corrigée de ce diagramme pour CoreData avec les fichiers qui vont bien.
Il est en effet inutile de mettre des ID pour le fonctionnement interne. Ça peut être utile pour référence externe cela dit.
Voilà un screen du diagramme.
Tu trouveras le fichier CoreData en PJ.
(Maintenant j'attends ceux qui me diront qu'il ne fait pas faire tu To Many-To Many...)
En général dans CoreData, tu "linkes" les entités entre elles, et tu n'as pas besoin d'avoir
Id_auteur
dans l'entité Livre, mais plutôt l'entité "auteur" (toute entière, ou via un Set s'il y a la relation nécessaire).merci à vous 2, je comprends mieux.
Mais lorsque par exemple je vais enregistrer un nouveau livre et que je veux y affecter l'auteur du livre.
ça va se passer comment au niveau du code ?
et au niveau de la relation ça va donner quoi ?
Merci.
Bah non. Tu crées les classes et tu fait:
Heu ! peut-être :
let livre = Livre ( context: context )
livre.titre = "livre 1" // peut-être mettre le titre réel quitte a les indexer
livre.annee = 2018
N'oubliant pas:
c'est la phase d'après, mais nous sommes bien d'accord
Merci à vous,
mais ce que je voulais dire, c'est que par exemple lorsque je faisais de l'ACCESS, dans ma table livre j'aurais eu :
IDLivre : Livre 1 | Annee : 2018 | ... | IDAuteur : 1
IDLivre : Livre 2 | Annee : 2017 | ... | IDAuteur : 1
IDLivre : Livre 3 | Annee : 2017 | ... | IDAuteur : 2
Dans CoreData étant donné que je n'ai pas d'index, je mets quoi à la place de l'IDAuteur ? ce sera le nom ?
Tu mets une instance d
Auteur
directement, enfin vu qu'ils peuvent être plusieurs, tu mets un(NS)Set
d'Auteur
sSi tu regards la BDD SQLite créée pour un de mes modèles, dans qqch comme Base, tu verras qqch comme :
… et là, tu vois qu'il y a un "primary key" Z_PK et les "foreign keys" ZARTIST, ZDAY et ZLOCATION.
En plus, les indexes sont créés pour les "foreign keys" automatiquement.
Pour le modèle créé par Pyroh, pour la classe Livre, si tu fais "Create NSManagedObject subclass" tu auras deux fichiers :
Peut-être mais il faut dire que tu as raté le One-Many entre Emprunteur et Emprunt
Damned !