Passer au contenu du pied de page
Iron Academy Logo
Application C#
Application C#

Autres catégories

Base de données SQL C#: Un examen approfondi à travers la leçon de Tim Corey

Tim Corey
1h 08m 25s

Dans le monde du développement d'applications C#, travailler avec une base de données SQL est l'une des compétences les plus importantes que vous puissiez acquérir. Dans sa vidéo " C# App Start To Finish Lesson 08 – SQL Database Design ", Tim Corey guide à travers le processus de conception d'une base de données relationnelle, de création de tables, de définition de relations et d'écriture de procédures stockées.

Dans cet article, nous allons examiner de plus près la leçon de Tim et expliquer les idées exactement comme il les présente. Si vous souhaitez mieux comprendre comment une application C# se connecte à SQL Server et comment structurer correctement votre base de données, la vidéo de Tim est un excellent guide.

Introduction à la conception de bases de données

À 1:00, Tim commence par rappeler aux spectateurs qu'ils recevront tous les scripts et fichiers dans le paquet, y compris les scripts de base de données. Il souligne que l'objectif n'est pas de devenir un expert complet de SQL Server en une leçon, mais de comprendre la conception et comment penser à structurer les données. Tim passe alors directement au diagramme de base de données.

Comprendre le diagramme de base de données

À 1:52, Tim met en exergue la table des membres de l'équipe et explique qu'elle ne stocke pas directement le prénom ou le nom de famille d'une personne. Au lieu de cela, elle stocke un ID de personne qui se réfère à la table des personnes. C'est un exemple de relation un-à-plusieurs dans une base de données relationnelle, où une personne peut appartenir à plusieurs équipes.

Tim donne un exemple pratique : une personne pourrait faire partie de plus d'une équipe si plusieurs tournois ont lieu en même temps. Cela évite la duplication et montre comment l'utilisation d'une clé primaire vous aide à interroger les données efficacement. Tim souligne que les données dupliquées sont nocives car elles conduisent à des informations contradictoires, telles que des adresses e-mail incohérentes.

Il explique que l'approche de conception consiste à utiliser des identifiants plutôt que de stocker des données complètement dupliquées. C'est la base d'une bonne conception de base de données SQL Server.

Éviter les colonnes dupliquées

À 4:48, Tim parle de pourquoi vous devriez éviter de stocker plusieurs adresses e-mail dans des colonnes séparées comme Email2 ou Email3. Au lieu de cela, il suggère de créer une table d'adresses e-mail séparée qui inclut les colonnes ID de personne et adresse e-mail. Cela permet à une personne d'avoir plusieurs adresses e-mail sans compliquer la table des personnes.

Tim explique que la conception de la base de données est un équilibre entre simplicité et flexibilité. Pour ce tutoriel, il décide de ne stocker qu'un seul e-mail et un seul numéro de téléphone, gardant la conception propre et pratique.

Créer une base de données dans SQL Server Management Studio

À 6:44, Tim passe à SQL Server Management Studio et explique qu'il utilise SQL Server 2016 Developer Edition, qui est gratuite et a les mêmes fonctionnalités que l'Enterprise Edition. Il note qu'elle ne peut pas être utilisée en production, mais qu'elle est parfaite pour le développement sur une machine locale.

Tim explique deux façons de créer une base de données SQL Server : via le dialogue SSMS ou en utilisant une requête SQL. Il préfère la méthode de la requête car elle est plus rapide. La commande qu'il utilise est :

create database tournaments;

Il explique que le point-virgule est important et doit être utilisé à la fin de chaque instruction SQL. Après avoir créé la base de données, Tim montre comment rafraîchir la fenêtre SSMS pour voir apparaître la nouvelle base de données.

Visualisation des tables et conception de table

À 12:06, Tim mentionne qu'il a déjà créé toutes les tables en utilisant des scripts. Il démontre alors comment ouvrir le concepteur de tables dans SSMS. Tim explique que les scripts SQL peuvent être intimidants pour les développeurs C#, et le concepteur vous aide à éditer visuellement les tables sans avoir besoin de mémoriser la syntaxe SQL.

Tim utilise la table des prix comme exemple. Il explique comment définir la clé primaire, choisir les types de données et gérer les valeurs nulles. Il note également que la clé primaire aide SQL à optimiser le stockage et la récupération des tables. Sans clé primaire, SQL crée un "amas", ce qui ralentit les requêtes.

Identifiants auto-incréments

À 15:36, Tim explique comment rendre la colonne ID auto-incrémentable à l'aide de la spécification d'identité. Il définit l'incrément et la graine à 1. Tim souligne que cela donne à chaque ligne un identifiant unique et aide SQL à trier les données efficacement.

Il souligne que cette approche vous offre une conception hautement optimisée avec un effort minimal, ce qui est parfait pour les développeurs C# qui veulent une base de données SQL Server solide sans réglages complexes.

Comprendre les types de données

À 18:09, Tim explique les différents types de chaînes SQL : varchar, nvarchar, et nvarchar(max). Il décrit :

  • Char : stocke les caractères

  • Var : longueur variable (jusqu'à un nombre maximum)

  • N : support Unicode pour les caractères internationaux

Tim explique qu'nvarchar utilise plus de stockage mais prend en charge les langues mondiales, tandis que varchar est idéal pour le texte en anglais uniquement. Il explique également qu'nvarchar(max) est utilisé pour de très grandes chaînes comme JSON, qui pourraient être stockées et récupérées plus tard par une application.

Types de données Money et Float

À 24:00, Tim compare les types de données SQL aux types C#. Il utilise money pour les valeurs monétaires (similaire à decimal en C#) et float pour les pourcentages (similaire à double). Cela aide les développeurs C# à faire correspondre les types SQL avec leurs types de programmation.

Relations de table

À 25:04, Tim démontre comment créer des relations en utilisant des clés étrangères. Il ouvre l'éditeur de relations et explique que la table primaire contient le véritable ID, tandis que la table étrangère se réfère à cet ID.

Il explique également l'idée de suppression en cascade, qui supprime automatiquement les enregistrements liés lorsque l'enregistrement parent est supprimé. Tim met en garde que les IDs doivent être traités comme immuables, c'est-à-dire qu'il ne faut jamais les changer une fois créés.

Créer une nouvelle table

À 29:30, Tim démontre la création d'une nouvelle table en utilisant l'éditeur SSMS. Il construit une table de test de personne avec des colonnes comme :

  • Prénom

  • Nom de famille

  • Adresse e-mail

  • Numéro de téléphone

  • Nombre d'enfants

  • Date de création

Tim montre comment définir des valeurs par défaut, comme définir le nombre d'enfants à 0, et utiliser getdate() pour définir l'heure actuelle. Il explique que getutcdate() est préférable pour les applications couvrant plusieurs fuseaux horaires.

Édition des données dans la table

À 39:39, Tim montre comment éditer les lignes directement dans SSMS. Il ajoute des enregistrements d'exemple et explique que même les inserts échoués consomment toujours des valeurs ID. Il conseille de laisser SQL continuer la séquence d'auto-incrémentation et de ne pas s'inquiéter des IDs manquants.

Requêtes SQL de base

À 44:23, Tim enseigne la syntaxe de requête de base :

  • SELECT ** FROM table

  • WHERE

  • LIKE

  • ORDER BY

  • Alias de colonne utilisant AS

Il note que SELECT * est bien pour apprendre, mais dans les applications réelles, vous devriez spécifier des colonnes pour la performance et la clarté.

Procédures stockées

À 50:33, Tim introduit les procédures stockées. Il explique que les procédures stockées vous permettent d'accéder à la logique de la base de données en toute sécurité et de prévenir les attaques par injection SQL. Tim préfère les procédures stockées à l'accès direct aux tables ou aux vues car elles offrent une meilleure sécurité.

Il montre comment créer une procédure stockée qui récupère les prix par ID du tournoi. Il explique les paramètres, les blocs BEGIN et END, et l'instruction NOCOUNT ON.

Exécution des procédures stockées

À 58:04, Tim crée une procédure stockée pour obtenir des personnes de test par nom de famille et montre comment l'exécuter en utilisant :

EXEC dbo.SP_TestPerson_GetByLastName 'Corey'

Il explique que le schéma dbo est par défaut et que SQL Server n'est pas sensible à la casse pour les noms de procédures.

Conclusion

Tim dans sa vidéo, conclut que la conception de la base de données SQL peut sembler compliquée, mais les concepts de base sont simples. Il encourage les spectateurs à pratiquer et à explorer, et présente la prochaine leçon où il connectera la base de données au code C#.

Hero Worlddot related to Base de données SQL C#: Un examen approfondi à travers la leçon de Tim Corey
Hero Affiliate related to Base de données SQL C#: Un examen approfondi à travers la leçon de Tim Corey

Gagnez plus en partageant ce que vous aimez

Vous créez du contenu pour les développeurs travaillant avec .NET, C#, Java, Python ou Node.js ? Transformez votre expertise en revenu supplémentaire !

Équipe de soutien Iron

Nous sommes en ligne 24 heures sur 24, 5 jours sur 7.
Chat
Email
Appelez-moi