Plan du site  
pixel
pixel

Articles - Étudiants SUPINFO

ASP.NET Core - Générer une base de données dans Sql Server, de façon DBFirst - Partie 1

Par Jonathan MOY Publié le 11/09/2019 à 10:05:05 Noter cet article:
(0 votes)
En attente de relecture par le comité de lecture

Prérequis

Pour Générer une base de données dans Sql Server de façon DBFirst il vous faudra 3 logiciels :

Bien évidemment pour tout développement lié a l'ASP.NET, il vous faudra Visual Studio 2019 ou 2017,si vous ne l'avez pas encore, vous pourrez le trouver sur cette page: https://visualstudio.microsoft.com/fr/ que ce soit en version gratuite (community) ou payante (professional ou enterprise).

Ensuite, Niveau base de données, il faudra un SQL Server fonctionnel avec le logiciel SQL Server Management Studio, vous pourrez tout télécharger depuis cette page: https://www.microsoft.com/fr-ca/sql-server/sql-server-downloads

Mais pour générer la base de données SQL Server, il nous faudra un logiciel capable de créer un schéma du type "Entity Relationship Diagram" qui permettra ensuite de générer tous les tables et les liaisons automatiquement et directement dans SQL Server, pour se faire, j'utilise Visual Paradigm, un logiciel payant, mais possédant une version d'évaluation de 30 jours que vous pourrez trouver ici: https://www.visual-paradigm.com/download/

Générer un diagramme "Entity Relationship Diagram" dans Visual Paradigm

Commencez par ouvrir Visual Paradigm, cliquez sur "new project" et donnez un nom à votre nouveau projet. ensuite ouvrez le menu à gauche appellé "Diagram Navigator" et faites clic droit, "new diagram" sur le diagramme "Entity Relationship Diagram" qui se trouve dans le dossier Database Modeling. Nous allons commencer par créer des entités selon nos besoins, ici dans l'exemple nous allons créer une base de données type d'entreprise, mais en restant minimaliste. Dans notre table 'employes', nous allons créer une primary key id, nous la définissons comme tel en faisant clic droit sur celle-ci et en selectionnant 'Include in primary key', ensuite créez les autres champs tels que nom, prénom, identifiant mais veuillez bien à bien choisir le bon type correspondant à chaque variable, pour le cas des entiers peut importe la précision que vous allez prendre celui-ci se transformera en int dans la base sql server.

Ensuite nous allons ajouter une table type pour par exemple savoir dans quelle division travaille un employé soit 'TypeDivision', ensuite pour lier les deux nous sélectionnons le bouton présent a haut à cause de l'entité TypeDivision, on clique en restant appuyé et on glisse jusqu'à la table employes, faites bien attention à bien sélectionner les deux entités concernée sinon une autre entité sera créée et après sélectionnez la relation "one-to-many", puis laissez "generate default column" et validez.

Si tout a bien marché et que vous n'avez pas fait d'erreur un champ TypeDivisionId devrait apparaitre automatiquement dans la table employés, ce sera notre foreign key entre Employes et TypeDivision. Pour que l'exemple soit plus complet et diversifié je rajoute une table Commande que je lie avec Employes, et un employé pourra avoir plusieurs commande et une commande pourra avoir plusieurs employés. Une fois la table commande créée on la lie à Employes a l'aide de la relation "many-to-many" et une table "Employes_Commandes" devrait être générée automatiquement contenant les deux primary keys des deux tables.

Génération de la base dans SQL Server

Une fois notre "Entity Relationship Diagram" terminé, nous restons dans visual paradigm, nous allons dans la barre d'outils en haut et on selectionne "Tools>DB>Generate Database", on choisit nous préférences pour la génération de base de données, puis on sélectionne notre type de base en cliquant sur "Database Options", puis on rentre les informations de connexion comme l'adresse du serveur SQL, les identifiants, et le port (pour Sql server le port par défaut est '1433'), et on teste la connexion a l'aide du bouton "Test Connection". N'oubliez pas de bien sélectionner la case "export to database" pour que la création ait bien lieu.

Puis on confirme la génération et celle-ci commence.

Découverte de notre Base générée automatiquement

Rendons-nous dans SQL Server, et allons découvrir ce que visual nous a créer. Voici une vue de la base obtenue sur la capture d'écran ci-dessous :

Maintenant vérifions que toutes nos relations aient été créer correctement, déplions la table "Employes_Commandes", le dossier "clé", nous pouvons observer les deux foreign keys "FKEmployes" et "FKCommandes" lient bien les deux tables ensembles, nous allons maintenant pouvoir se servir de cette base pour générer les entités automatiquement dans notre projet, par exemple pour un projet java nous générerons avec hibernates et pour un projet ASP.Net nous générerons avec la commande "Scaffold-DbContext".

Dans la partie 2, nous verrons comment générer des entités dans ASP.NET grâce à notre base SQL Server

A propos de SUPINFO | Contacts & adresses | Enseigner à SUPINFO | Presse | Conditions d'utilisation & Copyright | Respect de la vie privée | Investir
Logo de la société Cisco, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société IBM, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sun-Oracle, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Apple, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sybase, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Novell, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Intel, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Accenture, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société SAP, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Prometric, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Toeic, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo du IT Academy Program par Microsoft, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management

SUPINFO International University
Ecole d'Informatique - IT School
École Supérieure d'Informatique de Paris, leader en France
La Grande Ecole de l'informatique, du numérique et du management
Fondée en 1965, reconnue par l'État. Titre Bac+5 certifié au niveau I.
SUPINFO International University is globally operated by EDUCINVEST Belgium - Avenue Louise, 534 - 1050 Brussels