Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Apprendre la conception de bases de données avec SQL Server Management Studio (SSMS) - Partie 2

Il s'agit de la deuxième partie de la série axée sur l'utilisation de SQL Server Management Studio. Vous apprendrez les concepts et les problèmes de base de la conception de bases de données et obtiendrez une procédure pas à pas pour concevoir une base de données SQL simple avec SSMS (SQL Server Management Studio).

Prérequis

  1. L'édition SQL Server 2016/2017/2019 Express/Developer est installée.
  2. La dernière version de SSMS (SQL Server Management Studio) est installée.
  3. Les lecteurs ont une connaissance de base des bases de données SQL et des outils ci-dessus.
  4. Les concepts de conception de base de la base de données sont clairs.
  5. Les lecteurs connaissent le scénario de conception étudiant-instructeur abordé dans la partie 1.

Veuillez vous référer à Apprendre la conception de bases de données avec SQL Server Management Studio SSMS Partie 1 pour plus d'informations sur les exigences ci-dessus.

Concevoir une base de données étudiants-instructeurs avec SSMS

Nous commençons à créer notre base de données SQL simple à l'aide de SSMS. Cependant, il est préférable d'avoir un récapitulatif de la base de données prévue avant de commencer à la concevoir.

Récapitulatif de la base de données étudiants-instructeurs

Nous avons parlé d'une base de données simple composée des trois tables suivantes :

  1. Étudiant . Cette table contient des enregistrements appartenant à des étudiants.
  2. Instructeur . Ce tableau stocke des informations sur tous les instructeurs.
  3. Étudiant-Instructeur . Celui-ci nous indique quel instructeur est affecté à quel étudiant.

Important : plusieurs étudiants peuvent être affectés à un instructeur, et plusieurs instructeurs peuvent être affectés à un étudiant (pour différentes matières).

En d'autres termes, de nombreux étudiants peuvent avoir de nombreux instructeurs.

Remplacement de la table étudiant-instructeur par la table de cours

Affinons légèrement la base de données des étudiants-instructeurs - nous renommons la table des étudiants-instructeurs avec la table des cours.

De cette façon, il est plus facile de comprendre que chaque cours peut avoir plusieurs étudiants et que chaque instructeur peut avoir plusieurs étudiants pour le même cours.

Nous prévoyons les colonnes suivantes pour ces tableaux :

  1. Étudiant :identifiant de l'étudiant, nom.
  2. Instructeur :ID de l'instructeur, nom.
  3. Cours :CouseId, Name, StudentId, InstructorId.

Démarrer SSMS (SQL Server Management Studio)

Tapez SSMS dans le champ de recherche Windows et cliquez dessus dans la liste des résultats pour lancer le logiciel :

Notez que vous verrez la version que vous avez installée. Dans notre cas, il s'agit de SSMS (SQL Server Management Studio) version 18.0.

Se connecter au moteur de base de données SQL Server

Dans l'Explorateur d'objets fenêtre, cliquez sur Se connecter , puis sélectionnez Moteur de base de données :

Sélectionnez le nom du serveur (le nom du serveur SQL que vous avez installé sur votre machine). Connectez-vous au moteur de base de données en fonction de vos paramètres par défaut. Dans notre cas, nous utilisons le mode d'authentification Windows :

Créer une nouvelle base de données SQL StudentInstructor

Une fois connecté, faites un clic droit sur les Bases de données nœud dans l'Explorateur d'objets , et cliquez sur Nouvelle base de données… comme indiqué ci-dessous :

Tapez le nom de la base de données StudentInstructor . Cliquez sur OK, en laissant les paramètres par défaut, sauf si vous devez les modifier :

La base de données devrait être créée maintenant.

Développez les mêmes bases de données nœud pour le localiser :

Créer une table d'étudiants

Nous devons maintenant créer les tables dans la base de données StudentInstructor.

Développez ÉtudiantInstructeur nœud de base de données :cliquez dessus, puis cliquez avec le bouton droit sur Tables.

Aller à Nouveau -> Tableau… comme suit :

Nous allons ajouter des colonnes au tableau une par une. Nous commençons par StudentId .

Tapez le StudentId nom de la colonne et sélectionnez int Type de données, car il va être numérique (avec des chiffres uniquement) :

Définir la clé primaire

Le StudentId colonne va également être la clé primaire de la table. Cela nous aidera à identifier un étudiant (ligne/enregistrement) de manière unique.

Faites un clic droit sur la flèche pointant vers StudentId colonne et cliquez sur Définir la clé primaire :

Ajouter une identité à la clé primaire (StudentId)

Une identité définie sur une colonne incrémente automatiquement sa valeur lorsque de nouveaux enregistrements sont insérés. C'est comme un numéro de série, qui augmente à chaque nouvel enregistrement.

Si nous ne configurons pas la colonne de clé primaire en tant que colonne d'identité, nous ajoutons manuellement l'ID pour chaque nouvel enregistrement. Ça, c'est une bonne idée de le mettre en place.

Par exemple, le premier enregistrement inséré dans la table Student aura un identifiant automatique 1, et le suivant sera StudentId 2, etc. C'est si nous configurons l'Identité.

Faites défiler les Propriétés de la colonne fenêtre une fois le StudentId la colonne de clé primaire est sélectionnée jusqu'à ce que vous trouviez la spécification d'identité propriété.

Définissez la spécification d'identité comme suit (en commençant par is Identity) :

Spécification d'identité :Oui
(est Identité) :Oui
Incrément d'identité :1
Graine d'identité :1

Ajouter une colonne Nom au tableau des étudiants

Ensuite, ajoutez une autre colonne - Nom à la table. Utilisez varchar(45) Type de données et décochez Autoriser les valeurs nulles comme suit :

N'oubliez pas que VARCHAR(45) représente les données de caractères (type) jusqu'à 45 caractères à stocker dans la colonne (Nom). Lorsque nous décochons Autoriser les valeurs nulles , nous devons fournir cette valeur à la colonne pour enregistrer un Student enregistrer.

Sauvegarder la table (élève)

L'étape la plus importante consiste à enregistrer vos modifications. Dans notre cas, nous sauvegardons la table nouvellement créée en cliquant simplement sur Enregistrer l'icône du disque dans la barre d'outils ou par le raccourci clavier CTRL+S .

Tapez le nom du tableau – Étudiant – lors de sa sauvegarde :

Afficher le tableau des élèves (Explorateur d'objets)

Une fois le tableau enregistré avec succès, développez les Tableaux nœud du StudentInstructor base de données pour localiser la table nouvellement créée :

Créer une table d'instructeur avec les colonnes InstrutorId et Name

De même, faites un clic droit sur les tableaux nœud à nouveau. Cette fois, créez une nouvelle table appelée Instructor .

Ensuite, ajoutez une nouvelle colonne appelée InstructorId de entier type de données et définissez-le comme clé primaire comme indiqué ci-dessous :

L'étape suivante consiste à ajouter l'identité à la colonne InstructorId :

Après cela, ajoutez le Nom colonne de VARCHAR(45) type de données à l'instructeur Table, et n'autorisez pas les valeurs NULL pour cette colonne, tout comme pour le Nom colonne de l'Étudiant tableau :

Enregistrer et afficher un tableau d'instructeur (Explorateur d'objets)

Enregistrez le tableau en appuyant sur CTRL+S raccourci ou en cliquant sur l'icône Enregistrer. Nommez la table comme Instructor .

Faites un clic droit sur les tableaux nœud sous StudentInstructor base de données et cliquez sur Actualiser pour voir les deux tables maintenant :

Créer la table de cours avec la colonne de clé primaire CourseId avec identité

Nous devons ajouter une table supplémentaire à la base de données - le Cours table, qui contiendra les identifiants des tables Student et Instructor. Il y aura une relation plusieurs à plusieurs (de nombreux étudiants peuvent être affectés à plusieurs instructeurs, selon nos exigences).

Créer un nouveau tableau Cours avec le CourseId clé primaire :

Ajoutez Identity à la colonne de la même manière que nous l'avons fait pour StudentId et InstructorId colonnes.

Ajouter des colonnes Nom, StudentId et CourseId

Ensuite, ajoutez un Nom colonne de type VARCHAR(45) au cours tableau suivi de l'ajout de StudentId et ID de cours colonnes de int type de données :

N'oubliez pas de décocher Autoriser les valeurs nulles pour s'assurer qu'un enregistrement ne sera pas enregistré sans saisir ces valeurs de colonne.

De cette façon, nous nous assurons qu'un Cours doit avoir un étudiant et un instructeur avant de pouvoir être enregistré dans la base de données. En plus de cela, l'étudiant et Instructeur doivent exister dans leurs tables d'origine.

Enregistrer et vérifier rapidement

Enregistrez la table et le nom est Cours :

Enfin, Actualiser toutes les tables et afficher la table nouvellement créée à côté des autres dans l'Explorateur d'objets :

Ajouter toutes les tables au diagramme de la base de données

Maintenant, nous devons créer une relation entre les tables afin que Student et Instructeur les tables se sont connectées au cours table via leurs clés primaires.

Par exemple, StudentId dans l'étudiant la table est connectée avec StudentId dans le cours table. De même, InstructorId dans l'instructeur la table est connectée avec InstructorId dans le cours tableau.

Nous pouvons y parvenir avec le diagramme de la base de données.

Accédez à StudentInstructor base de données dans l'Explorateur d'objets et faites un clic droit sur Diagrammes de base de données -> Nouveau diagramme de base de données :

Cliquez sur Oui :

Utilisez la touche CTRL clé pour sélectionner toutes les tables existantes et les ajouter au Diagramme de la base de données :

Affichez le diagramme de la base de données et réorganisez les tableaux (cliquez sur le tableau et déplacez-le) pour créer le cours support de table au milieu, entre l'étudiant et Instructeur tableaux :

Lier le tableau des étudiants au tableau des cours

Nous devons créer une relation entre Étudiant et Cours en connectant StudentId dans le Étudiant table avec le StudentId colonne dans le Cours tableau.

Faites glisser la clé StudentId et déposez-le dans la colonne StudentId dans le tableau des cours . Cliquez sur OK :

Cela créera une relation de clé étrangère entre les tables Cours et Étudiant – cela garantit que seuls les étudiants enregistrés dans la table Étudiant seront enregistrés dans la table Cours :

Liez le tableau de l'instructeur au tableau du cours

De même, vous devez lier l'instructeur tableau avec le cours table afin que l'InstructorId colonne de clé primaire de l'instructeur la table serait transmise à InstructorId dans le cours tableau.

De cette façon, nous nous assurons que le InstructorId la clé primaire existe en tant que clé étrangère dans le cours table. Cela signifie que nous pouvons stocker n'importe quel instructeur ligne du cours table uniquement si cet instructeur existe dans l'instructeur d'origine table. De cette façon, nous maintenons la cohérence et l'intégrité de la base de données conformément à la pratique standard.

Enregistrer le diagramme de la base de données

Enfin, enregistrez le diagramme de la base de données en cliquant sur Enregistrer icône dans la barre d'outils :

Ajouter des données au tableau des étudiants

Il est temps d'ajouter des données aux tables créées, à partir de la table Student. Nous allons ajouter trois enregistrements d'élèves au tableau.

Faites un clic droit sur Étudiant tableau et cliquez sur Modifier les 200 premières lignes (ne vous inquiétez pas, vous n'allez pas modifier 200 lignes) :

Tapez les noms suivants et cliquez sur Entrée pour enregistrer ces enregistrements :

Ensuite, fermez la fenêtre – cliquez sur la croix en haut à droite ou appuyez sur CTRL+F4.

Veuillez noter que les StudentIds 1,2 et 3 sont automatiquement attribués aux enregistrements. Nous les utiliserons plus tard dans le cours tableau.

Ajouter des données au tableau de l'instructeur

Maintenant, nous devons ajouter deux instructeurs nommés Martin et Assad . Ainsi, ajoutez les données suivantes à l'instructeur tableau :

De même, gardez ces identifiants 1 et 2 à l'esprit. Vous pouvez fermer cette fenêtre pour l'instant.

Ajouter des données au tableau des cours

Nous avons des étudiants d'un côté et des instructeurs de l'autre. Mais nous ne pouvons ajouter que les étudiants qui sont déjà sur le tableau des étudiants, et il en va de même pour les instructeurs.

Inscrivons les trois étudiants aux bases de données cours et affectez un instructeur à ce cours aussi :

Afficher le contenu du tableau des cours

Pour afficher les données, faites un clic droit sur le Cours tableau -> Sélectionnez les 1 000 premières lignes :

Toutes nos félicitations! Vous avez appris avec succès à concevoir une base de données simple avec SSMS (SQL Server Management Studio). Parallèlement, nous nous sommes entraînés à insérer de nouveaux enregistrements et à afficher les données insérées.

Choses à faire

Maintenant que vous savez concevoir une base de données avec SSMS, essayez les choses suivantes pour améliorer vos compétences :

  1. Essayez d'afficher le contenu des tableaux des étudiants et des enseignants.
  2. Essayez d'ajouter un autre cours appelé Business Intelligence et inscrire les trois étudiants à ce cours, ainsi que l'affectation de l'instructeur Asad (InstructorId :2)
  3. N'oubliez pas que vous pouvez améliorer la conception actuelle de la base de données à partir de l'article en procédant comme suit :
    • Renommer le cours table comme Classe tableau ;
    • Supprimer le nom colonne de la Classe tableau ;
    • Remplacer le CourseId avec le ClassId colonne ;
    • Création d'un cours séparé table avec les colonnes CourseId et Name, comme pour les tables Student et Instructor ;
    • Ajout d'un nouveau CourseId colonne à la table Class et en liant CourseId du cours Tableau avec CourseId colonne dans la Classe table, tout comme Étudiant et Instructeur.