SQL Server 2016 pour les administrateurs IT

Appréhender la structure des tables

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Découvrez les tables, leur structure et comment les créer en SQL. De plus, vous vous initierez aux principaux types de donnée des colonnes.
07:32

Transcription

J'aimerais maintenant vous parler un petit peu plus des tables. Nous avons vu la base de données. Elle contient des schémas. A l'intérieur de ces schémas, nous avons des tables, par exemple, notre table « Contact ». La table, c'est vraiment une structure comme ceci, évidemment tabulaire. La nomenclature que nous utilisons, normalement d'un point de vue logique, c'est une colonne, une ligne. Vous entendrez souvent dire, « un champ » et « un enregistrement ». Ce n'est pas très grave, mais disons que si on veut rester très cohérent au niveau de la terminologie, puisque nous avons une représentation logique sous forme de table, on devrait dire, on a des colonnes et des lignes. Le nom de « champ » représente quelque chose de plutôt visuel. Là, ce n'est pas visuel. C'est plus une représentation de table. Et puis, « l'enregistrement » serait quelque chose de plus physique. On a enregistré quelque chose, donc on reste sur un niveau logique. Ça a peu d’importance, je vous l’accorde, mais c'est quand même la terminologie, disons, officielle. Ensuite, cette table, donc, est constituée de lignes. Chaque ligne a des données dans chaque colonne. Ces colonnes sont prédéfinies dans la table lorsqu'on a créé une table. Je vous montre : ici, ma table « Contact ». Elle a été créée. Si je fais un clic droit : « Générer un script de la table en tant que CREATE », je vais recréer le script que je peux utiliser pour créer cette table. Donc, je vais enlever ce qui est inutile. Voilà. Ici, il y a beaucoup de choses qui sont des options par défaut. Alors, je peux garder la contrainte, cela dit. Ici, je vais simplifier mon affichage. Et puis ça aussi, ce n'est pas très important. Et ça non plus. Voilà. Donc voici, un code de création de table : CREATE TABLE [CONTACT] . [CONTACT], et ensuite on met des parenthèses, et on commence à lister toutes les colonnes qu'on veut avoir dans la définition de notre table, et on les sépare par des virgules. Ce qu'on est en train de faire finalement, c'est qu'on est en train de définir l'en-tête de notre tableau, de notre table pour dire qu'est-ce qu'on va mettre dans chaque colonne. On donne bien entendu un nom à chaque colonne, et puis, on va lui donner, et ça c'est important, un type de donnée : « SQL1, des types de donnée ». C'est un langage fortement typé, c'est système, on pourrait dire, fortement typé. Chaque colonne doit avoir un type de données. Ici, on va dire que dans « ContactId » on ne va stocker que des valeurs de type Integer, donc des entiers 32 bits. Ici, on va dire que ça va être une chaîne de caractères de taille variable. Trois positions maximum. Le nom, chaîne de caractères de taille variable, VARCHAR, par opposition au type CHAR qui est une donnée de taille fixe. Si je fais un CHAR 50, je remplirai toujours avec 50 caractères. Et si je n'ai pas 50 caractères dans mon nom, le système va le remplir avec des espaces. Le CHAR est plutôt quelque chose d'historique dans les bases de données. On va l'utiliser beaucoup moins aujourd'hui mais au début de l'histoire des bases de données, dans les années 80, donc des bases de données relationnelles, les processeurs étaient beaucoup plus lents que maintenant, et il était plus rapide de définir des CHAR pour accéder aux données. Le processeur sait qu'il doit prendre 50 caractères, et ça fait moins de cycles de processeur que d'aller chercher la longueur de la chaîne, etc. Donc de nos jours, on va priviligier plutôt le VARCHAR. Donc, on a des types de données de type « chaîne de caractères », « numérique entier », on peut avoir des numériques avec virgule, virgule fixe ou virgule flottante. On peut avoir des types de données, bien entendu, de type « date » Alors, je peux vous montrer ça, bien sûr. Par exemple, dans les factures. Il est logique dans une facture, on ait un date de facture. Alors, ce n'est pas ce que je vais vous montrer. Ce que je vais vous montrer, c'est dans les « Inscriptions ». Ça, c'était une petite table de démonstration. Voilà, « Inscription Factures ». J'ai ici une colonne « Date de Création » et « Date de Facture ». Voyez qu'il y a deux types différents. La date de création est un « smalldatetime », ça veut dire que c'est un type de données qui contient à la fois la date et l'heure. Et puis ici, j'ai une date de facture de type « date ». C'est un type de caractère qui contient uniquement la date, et on n'a pas besoin de mettre l'heure sur la date de facture. Ici, j'ai un montant hors taxe et un montant TTC qui sont en décimal. Ce sont des types de données de virgule fixe où on dit sept positions dont deux après la virgule. Donc, on peut faire un montant hors taxe qui a cinq chiffres avant la virgule, et deux chiffres après la virgule. Donc voyez, c'est juste pour vous dire que lorsqu'on définit des tables, eh bien, on doit prédéfinir leur type de donnée. Ce n'est pas quelque chose de totalement variable, ce ne sont pas des variantes, par exemple. Donc, ça fait partie de ce qu'on appelle les contraintes de la table. On va forcer les données à être de tel type pour assurer leur qualité. Parmi ces contraintes, on a également la notion de « NOT NULL » ou « NULL ». Si je prédéfinis un certain nombre de colonnes à alimenter, il est évident que parfois, je n'ai pas les informations. Et lorsque je n'ai pas les informations-- Par exemple ici, pour Mme Jeanne Garcia, je connais son email, son téléphone, mais je ne sais pas si elle a un fax ou non, et je ne sais pas son numéro de portable. A ce moment-là, on va créer des valeurs qu'on appelle « NULL ». Et ce sont pas des valeurs d'ailleurs, il ne faut pas que je dise « valeur ». Ce sont des marqueurs qui indiquent que c'est une valeur inconnue, et donc on ne sait pas quoi mettre, on met NULL à la place. Et donc, vous voyez que le NULL ici est surligné en jaune pour bien indiquer qu'il ne s'agit pas d'une valeur, mais d'un marqueur spécifique qu'on appelle « NULL ». On peut donc dire dans certaines colonnes qu'on n'accepte pas les NULL, parce qu'on veut forcer la valeur. Par exemple, le nom d'un contact ne peut pas être NULL. Si je veux insérer un nouveau contact, il faut au moins que je connaisse son nom. Il y a d'autres types de contraintes. J'ai une contrainte de type « clé primaire » sur le ContactId. Cela veut dire que c'est une contrainte d'unicité. Il faut que chaque ligne soit identifiable individuellement. Pour cela, il me faut une valeur unique. Cette valeur unique, c'est la clé primaire qui va être posée sur une ou plusieurs colonne(s). Et cette ou ces colonne(s) sont uniques à travers toutes les lignes, toute la table. Donc ici je dis, le ContactId, il doit avoir un valeur unique pour chaque ligne. Ce qui va me permettre d'identifier un contact parmi tous les autres. Voyez qu'il y a un marqueur ici qui s'appelle « IDENTITY ». C'est une propriété de la colonne qui va dire que c'est le système qui va incrémenter la valeur, qui va augmenter la valeur. Chaque fois que je vais insérer un contact, eh bien, le ContactId, je n'ai besoin pas de le mettre puisqu'il va être créer par le système, toujours avec une valeur incrémentielle. J'ai aussi des relations ici de clés étrangères « FOREIGN KEY » qui référencent une autre table. Ce qu'on dit ici, c'est que la table « Contact », dans le « Contact », j'ai un numéro de société, et ce numéro de société, il faut aller le chercher dans la table « Societe » : « [Contact] . [Societe] » Et donc, j'ajoute ici une contrainte de type « clé étrangère », ce qu'on appelle une intégrité référentielle, de façon à m'assurer que lorsque j'insère un SocieteId, et bien, on aille chercher dans la table « Societe » s'il existe, et qu'on ne permette pas d'insérer un SocieteId qui n'existe pas. Le serveur SQL gère non seulement des tables, mais il gère aussi la qualité des données de ces tables, quand on a pris soin de créer les contraintes utiles et nécessaires.

SQL Server 2016 pour les administrateurs IT

Comprenez le fonctionnement et les différents modules qui composent SQL Server. Prenez en main les bases de données, les schémas, les tables, la gestion des fichiers, etc.

5h20 (55 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :14 mars 2017

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !