![]() |
Introduction aux Données |
|
Principes de Base des Enregistrements |
|
Introduction |
|
Une table est un objet qui conserve les informations d'une base de données. Puis qu'une table est la partie centrale d'une base de données, les informations qu'elle contient doivent être organisées méticuleusement. Afin de mieux gérer ses informations, les données d'une table sont organisées en une série de champs appelés cellules. |
|
Dès qu'une table contient des informations, vous pouvez la consulter à l'aide de SQL Server Management Studio ou une application externe. Les tables d'une base de données affichent dans l'Explorateur d'objets sous leur nœud de base de données. Pour ouvrir une table pour la saisie des données, cliquez dessus avec le bouton droit de la souris et cliquez sur Modifier les 200 premières lignes.
La navigation de données consiste à afficher et à voir des données. Puisque les informations d'une base de données sont stockées dans des tables, votre principal moyen de visualisation de données se compose de l'ouverture d'une table dans un affichage qui affiche ses informations. Lorsqu'une table affiche ses enregistrements, vous accédez par le biais de ses champs en utilisant la souris ou le clavier. À l'aide de la souris, pour accéder à n'importe quelle cellule, vous pouvez simplement cliquer dessus. Pour naviguer dans les enregistrements à l'aide du clavier, vous pouvez appuyer sur :
Comme vous le savez probablement déjà, les colonnes sont utilisées pour organiser les données par catégories. Chaque colonne a une série de champs sous l'en-tête de colonne. L'un des objectifs réels d'une table est d'afficher les données qui sont disponibles pour chaque champ dans le cadre d'une colonne donnée. L'entrée de données consiste à fournir les valeurs nécessaires des champs d'une table. Les données sont entrées dans un champ et chaque fois que cela est fait, la base de données crée une ligne de données. Cette ligne est appelée un enregistrement. Cela signifie que la saisie de données crée également ses lignes. Il existe quatre façons principales que vous pouvez effectuer une saisie de données pour une table Microsoft SQL Server :
Probablement la voie la plus facile et la plus rapide pour entrer des données dans une table consiste à utiliser SQL Server Management Studio. Bien entendu, vous devez d'abord ouvrir la table souhaitée d'une base de données disponible. Dans l'Explorateur d'objets, après avoir développé les bases de données et les nœuds de tables, ouvrez une table pour la saisie de donné. Si la table ne contient pas de données, elle apparaitraît avec une ligne vide :
Si certains enregistrements étaient déjà saisis, leurs lignes montreraient et la table fournirait une ligne vide à la fin, en attendant un nouvel enregistrement. Pour effectuer la saisie de données sur une table, vous pouvez cliquer dans un champ. Au dessus de chaque colonne, il y a un titre, appelé une légende. Cette section grise en haut est appelée un en-tête de colonne. Dans SQL Server, il affiche le nom réel de la colonne. Vous faites référence à l'en-tête de colonne pour savoir quelle sorte de données devrait aller dans un champ sous une colonne particulière. C'est pourquoi vous devez concevoir vos colonnes méticuleusement. Après avoir identifié une colonne, vous pouvez saisir une valeur. À l'exception des colonnes basées sur du texte, un champ peut accepter ou rejeter une valeur si la valeur n'est pas conforme au type de données qui a été définie pour la colonne. Cela signifie que, dans certaines circonstances, il se peut que vous deviez fournir une ou plusieurs informations explicites à l'utilisateur.
Pour exécuter par programmation l'entrée des données, vous utilisez une commande de DDL (Data Definition Language) appelée INSERT. Pour commencer, si vous travaillez dans Microsoft SQL Server :
La commande DDL pour effectuer la saisie des données est INSERT combinée avec VALUES. L'instruction primaire utilise la syntaxe suivante : INSERT TableName VALUES (Column1, Column2, Column_n) ; Alternativement, ou pour être plus précis, vous pouvez utiliser le mot-clé INTO entre le mot-clé INSERT et le facteur TableName pour spécifier que vous saisissez des données dans la table. Cela est fait avec la syntaxe suivante : INSERT INTO TableName VALUES (Column1 Column2, Column_n) Le facteur de TableName doit être un nom valide d'une table existante dans la base de données que vous utilisez. Si le nom est erroné, l'interprète SQL considérerait simplement que la table à laquelle vous faites allusion n'existe pas. Par conséquent, vous recevriez un message d'erreur. Le mot-clé VALUES indique que vous êtes prêt à énumérer les valeurs des colonnes. Les valeurs des colonnes doivent être incluses entre parenthèses. Si la colonne est un type de données BIT, vous devez spécifier une de ses valeurs comme 0 ou 1. Si la colonne est de type numérique, vous devriez faire attention au numéro que vous tapez. Si la colonne a été configurée pour recevoir un entier (int, bigint, smallint), vous devez fournir un numéro naturel valide sans le séparateur décimal. Si la colonne est pour un nombre décimal (float, real, decimal, numéric), vous pouvez taper la valeur avec son séparateur de caractères (Period pour l'anglais américain). Si la colonne a été créée pour un type de données date, assurez-vous que vous fournissez une date valide. Si le type de données d'une colonne est de type chaîne, vous devez inclure son entrée entre apostrophes. Par exemple, un numéro d'emplacement peut être spécifié comme 'HHR-604' et un milieu initial peut être donné comme 'D'.
La méthode la plus courante d'effectuer la saisie de données nécessite que vous connaissiez la séquence des champs de la table dans laquelle vous souhaitez saisir des données. Avec cette liste suite à l'esprit, entrez la valeur de chaque champ dans sa position correcte. Lors de la saisie de données sur les champs adjacents, si vous ne disposez pas d'une valeur pour un champ numérique, tapez 0 comme sa valeur. Pour un champ de chaîne contenant les données que vous n'avez pas et ne ouvez pas fournir, tapez deux unique-devis '' pour spécifier un champ vide.
L'entrée de données adjacentes, que nous avons réalisées nécessite que vous connaissiez la position de chaque colonne. Le SQL fournit une alternative qui vous permet d'effectuer la saisie de données en utilisant le nom d'une colonne au lieu de sa position.Cela vous permet de fournir les valeurs des colonnes dans un ordre de votre choix. Nous venons de voir quelques exemples où les valeurs de certains champs n'étaient pas disponibles lors de la saisie des données. Au lieu de se souvenir de taper 0 ou NULL pour ces champs ou laisser vides entre guillemets pour un champ, vous pouvez utiliser les noms des champs pour spécifier les champs dont vous souhaitez fournir les données. Pour effectuer la saisie de données dans un ordre de votre choix, vous devez fournir votre liste des champs de la table. Vous pouvez utiliser toutes les colonnes ou fournir une liste des mêmes colonnes mais dans votre propre ordre. De la même façon, vous n'avez pas à fournir des données pour tous les champs, seulement ceux souhaités, dans l'ordre que vous voulez.
Dans les sections précédentes, nous avons ajouté un enregistrement unique à chaque utilisation de la formule INSERT. Vous pouvez ajouter des enregistrements différents avec un seul appel d'INSERT. Si vous ajoutez une valeur pour chaque colonne de la table, après le nom de la table, tapez VALUES, ouvrez et fermez les parenthèses en premier. À l'intérieur des parenthèses, incluez les valeurs souhaitées. Pour ajouter un autre enregistrement, tapez une virgule après la parenthèse fermante, ouvrez une nouvelle parenthèse, énumérez les nouvelles valeurs et fermez la parenthèse. Faites-le autant de fois que vous avez besoin d'ajouter des enregistrements. Voici un exemple : --=============================================
--Database : Video Collection
--=============================================
USE master
GO
--Dorp the database if it already exists
IF EXISTS (SELECT Name
FROM sys.databases
WHERE Name = N'VideoCollection'
)
DROP DATABASE VideoCollection
GO
CREATE DATABASE VideoCollection
GO
--=============================================
--Database : Video Collection
--Table : Vidéos
--=========================================
USE VideoCollection
GO
IF OBJECT_ID(N'Videos', N'U') IS NOT NULL
DROP TABLE Videos
GO
CREATE TABLE Videos
(
Title nvarchar(50),
Director nvarchar(50),
Rating nchar(10),
YearReleased int
)
GO
INSERT INTO videos
VALUES(N'Her Alibi', N'Bruce Beresford', N'PG-13', 1998),
(N'Memoirs of a Geisha ', N'Rob Marshall', N'PG-13', 2006),
(N'Two for the Money', N'D.J. Caruso', N'R', 2008);
GO
Ceci est valable pour la saisie de données adjacentes. Si vous souhaitez suivre votre propre ordre des colonnes, sur le côté droit du nom de la table, incluez une liste de colonnes entre parenthèses. Ensuite, en donnant les valeurs, pour chaque enregistrement, suivez l'ordre dans lequel vous avez énuméré les colonnes. Voici un exemple : --=============================================
--Database : Video Collection
--=============================================
USE master
GO
--Drop the Database if it already exists
IF EXISTS(SELECT name
FROM sys.databases
WHERE name = N'VideoCollection'
)
DROP DATABASE VideoCollection
GO
CREATE DATABASE VideoCollection
GO
--=============================================
--Database : Video Collection
--Table : Videos
--=========================================
USE VideoCollection
GO
IF OBJECT_ID(N'Videos', N'U') IS NOT NULL
DROP TABLE Videos
GO
CREATE TABLE Videos
(
Title nvarchar(50),
Director nvarchar(50),
Rating nchar(10),
YearReleased int
)
GO
INSERT INTO Videos(Rating, Title, Director)
VALUES(N'R', N'Wall Street', N'Oliver Stone'),
(N '', N'Michael Jackson Live in Bucarest ', N'Andy Morahan'),
(N'PG-13', 'N'Sneakers, N'Paul Alden Robinson'),
(N'R', N'Soldier ', N'Paul Anderson') ;
GO
Dans les techniques que nous avons utilisées jusqu'ici, quand ou si les enregistrements ont été ajoutés à une table, si l'opération a réussi ou non, nous n'avons eu aucun moyen de savoir. Une façon dont vous pouvez obtenir cette information consiste à stocker les enregistrements insérés dans une autre table. Pour cela, Transact-SQL fournit l'opérateur OUTPUT. La formule à utiliser est la suivante : INSERT INTO TableName OUTPUT INSERTED.Columns VALUES (Value_1, Value_2, Value_X) Vous démarrez avec l'insertion normale de l'enregistrement avec l'expression de TableName INSERT INTO. Ceci est suivi par l'opérateur OUTPUT suivi par l'opérateur INSERTED et une période. Si vous ajoutez une valeur pour chaque enregistrement, suivez la période avec *. L'instruction continue avec l'opérateur VALUES qui est suivi de parenthèses dans lesquelles vous spécifiez les valeurs à ajouter à la table. Voici un exemple : USE VideoCollection ;
GO
CREATE TABLE Videos
(Title nvarchar(50),
Director nvarchar(50),
WideScreen bit,
Rating nchar(10),
YearReleased)int
)
GO
INSERT INTO Vidoos
OUTPUT inserted.*
VALUES(N'War of the Roses (The)', N'Dany de Vito', 0, N'R ', 2001),
(N'Memoirs of a Geisha', N'Rob Marshall', 1, N'PG-13 ', 2006),
(N'Last Castle (The)», N'Rod Lurie ', 1, N '', 2001),
('N'Sneakers, N'Phil Alden Robinson', 1, N'PG-13 ', 2003);
GO
Lors de l'exécution de cette instruction, si vous travaillez dans Microsoft SQL Server Management Studio, la partie inférieure afficherait une liste des enregistrements qui ont été ajoutés :
Si vous utilisez la formule ci-dessus, lorsque vous fermez la base de données, la référence est perdue. Si vous souhaitez stocker la liste des enregistrements nouvellement créés dans une table, sur le côté droit de l'opérateur INSERTED et sa durée, tapez INTO suivi du nom de la table qui recevra les valeurs. La table doit avoir été créée ; autrement dit, il doit exister au moment où cette opération insérée se déroule. Voici un exemple : USE VideoCollection ;
GO
CREATE TABLE Archives
(
Title nvarchar(50),
Director nvarchar(50),
WideScreen bit,
Rating nchar(10),
YearReleased int
)
GO
INSERT INTO Videos
OUTPUT inserted.* INTO Archives
VALUES(N'Two for the Money', N'D.J. Caruso', 1, N'R', 2006),
(N'Wall Street', N'Oliver Stone ', 0, N'R ', 2000);
GO
Dans ce cas, une copie des documents nouvellement créés est enregistrée dans la table d'indication. Les techniques ci-dessus supposent que vous ajoutez un enregistrement complet ; c'est-à-dire que vous fournissez une valeur pour chaque colonne du tableau. Nous avons déjà vu que si vous souhaitez fournir des valeurs pour certaines colonnes, après le nom de la table, fournissez la liste des colonnes entre parenthèses. Pour obtenir la liste des enregistrements récemment insérés, après le mot clé OUTPUT, tapez INSERTED suivi d'une période et suivi par le nom de la première colonne. Effectuez cette opération pour chaque colonne. La formule à utiliser est la suivante : INSERT INTO TableName (Column_1, Column_2, Column_X) OUTPUT INSERTED.Column_1,INSERTED. Column_2,INSERTED. Column_X VALUES (Value_1, Value_2, Value_X) Bien entendu, vous pouvez répertorier les colonnes dans un ordre de votre choix, tant que le TableName et la section OUTPUT utilisent tous deux le même ordre exact. Voici un exemple : USE VideoCollection ;
GO
INSERT INTO Video (Director, Rating, Title)
OUTPUT inserted.Director, inserted.Rating, inserted.Title
VALUES(N'Jonathan Lynn', N'R', N'Distinguished Gentleman (The) '),
(N'Paul ANDERSON ', N'R', N'Soldier');
GO
Dans ce cas, lorsque l'instruction est exécutée, le résultat s'affiche dans la partie inférieure de Microsoft SQL Server Management Studio. Si vous souhaitez stocker le résultat dans une table, utilisez la formule suivante : INSERT INTO TableName (Column_1, Column_2, Column_X) OUTPUT INSERTED.Column_1, INSERED.Column_2? INSERED.Column_X INTO TargetTable VALUES (Value_1, Value_2, Value_X) Voici un exemple : USE VideoCollection ;
GO
CREATE TABLE Entertainment
(
Title nvarchar(50),
Director nvarchar(50)
)
GO
INSERT INTO Videos(Title, Director)
OUTPUT inserted.Title, inserted.Director INTO Entertainment
VALUES(N'Michael Jackson Live in Bucharest', N'Andy Morahan')
(N'Outfoxed ', N'Robert Greenwald');
GO
Il existe diverses manières que vous pouvez aider l'utilisateur avec l'entrée de données. En plus de l'utilisation d'une fonction, vous pouvez créer une expression à l'aide des opérateurs tels que ceux que nous avons examinés dans les leçons 3 et 5. Vous pouvez créer une expression lors de la création d'une table, que ce soit dans la fenêtre de la table ou dans une fenêtre de requête en utilisant SQL.
Pour créer une expression lors de la création visuelle d'une table, dans la partie supérieure, spécifiez le nom de colonne (uniquement le nom de la colonne est important). Dans la section inférieure, développez le champ Computed Column Specification et, dans son domaine (formule), entrez l'expression de votre choix. Voici un exemple :
Vous pouvez également créer une expression d'expression SQL que vous utilisez pour créer une table. Pour le faire, dans l'espace réservé à la colonne, entrez le nom de la colonne, suivi de AS et suivi de l'expression de votre choix. Voici un exemple : CREATE TABLE Circle
(
CircleID int identity(1,1) NOT NULL,
Radius decimal(8, 3)NOT NULL,
Area AS Radius * Radius * PI()
);
GO
Lors de l'exécution d'entrée de données, vous ne devez pas fournir une valeur pour une colonne qui a une expression ; l'interprète SQL fournirait la valeur automatiquement. Voici un exemple de saisie des données de la table de cercle ci-dessus : INSERT INTO Circle(Radius) VALUES(46.82) ; GO INSERT INTO Circle(Radius) VALUES(8.15) ; GO INSERT INTO Circle(Radius) VALUES(122.57) ; GO |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Lors de la saisie de données, les utilisateurs de votre base de données seront confrontés aux champs qui attendent les données. Parfois, pour une raison ou une autre, les données ne seront pas disponibles pour un champ particulier. Un exemple serait un champ MI (milieu initial) : certaines personnes ont une initiale du deuxième prénom, d'autres ne l'ont pas ou ne vont pas (ou ne peuvent pas) le fournir. Cet aspect peut se produire pour n'importe quel champ de votre table. Par conséquent, vous devez penser de manière à y faire face. Un champ est appelé null lorsqu'aucune entrée de données n'a été apportée :
Un champ est appelé null s'il n'y a aucun moyen de déterminer la valeur de son contenu (en réalité, l'ordinateur, c'est-à-dire le système d'exploitation, a son propre mécanisme interne de vérifier la valeur d'un champ) ou sa valeur est simplement inconnue. Comme vous pouvez l'imaginer, ce n'est pas une bonne idée d'avoir un champ vide dans votre table. Comme un développeur de base de données, il est de votre responsabilité de toujours connaître avec certitude la valeur de chaque champ de votre table. Un champ est considéré comme requis si l'utilisateur doit fournir une valeur pour lui avant de passer à un autre enregistrement. En d'autres termes, le champ ne peut être laissé vide lors de la saisie de données. Pour résoudre le problème des champs nuls et requis, Microsoft SQL Server propose l'une des deux options : autoriser ou de ne pas autoriser les valeurs null dans un champ. Pour une table typique, il y a des morceaux d'informations que l'utilisateur doit s'assurer d'entrer ; dans le cas contraire, l'entrée de données n'aurait pas été validée. S'assurer que l'utilisateur remplit toujours un certain champ avant de passer au champ suivant, c'est-à-dire, pour exiger la valeur, si vous créez visuellement la table, désactivez la case à cocher Allow Nulls autorisé pour le champ. D'autre part, si la valeur d'un champ n'est pas particulièrement importante, par exemple, si vous souhaitez ne pas impliquer cette valeur dans une opération algébrique, activez la case à cocher Allow Nulls autorisé. Si vous créez une table à l'aide de SQL, pour indiquer qu'il peut autoriser les valeurs nulles, tapez NULL sur le côté droit de la colonne. Pour spécifier que les valeurs de la colonne sont nécessaires, sur la droite, tapez NOT NULL. Si vous ne spécifiez pas NULL ou NOT NULL, la colonne sera créée comme NULL. Voici des exemples : CREATE TABLE Persons ( FirstName varchar(20) NULL, LastName varchar(20) NOT NULL, Gender smallint ); GO Si la table avait déjà été créée et qu'elle contient déjà certaines valeurs, vous ne pouvez pas définir l'option Allow Nulls sur les colonnes qui n'ont pas de valeurs. Spécifiez après qu'une colonne pourrait autoriser les valeurs NOT, NULL, si l'utilisateur tente de créer un enregistrement mais omet de créer une valeur pour la colonne, une erreur affichera. Voici un exemple :
Cette boîte de message d'erreur indique que l'utilisateur a essayé de soumettre une valeur nulle pour une colonne. Pour annuler l'action, vous pouvez appuyez sur Echap.
Parfois la plupart des enregistrements sous une certaine colonne peuvent contenir la même valeur bien que quelques uns soient différents. Par exemple, si une école utilise une base de données pour enregistrer ses étudiants, ils sont tous susceptibles d'être dans le même état. Dans un tel cas, vous pouvez aider l'utilisateur en fournissant automatiquement une valeur pour cette colonne. L'utilisateur acceptera alors simplement la valeur et la modifiera uniquement dans les rares cas où la valeur arrive à être différente. Pour aider l'utilisateur avec cette valeur commune, vous créez ce qui est considéré comme valeur par défaut.
Vous pouvez créer une valeur par défaut d'une colonne lors de la création d'une table. Pour spécifier la valeur par défaut d'une colonne, dans la partie supérieure, cliquez sur la colonne. Dans la section inférieure, cliquez sur la valeur par défaut ou liaison, entrez la valeur souhaitée, suivant les règles du type de données de la colonne :
Pour spécifier la valeur par défaut dans une instruction SQL, lors de la création de la colonne, après avoir spécifié les autres éléments d'information de la colonne, tapez DEFAULT suivi d'un espace vide et suivi par la valeur souhaitée. Voici des exemples : CREATE TABLE Employees ( FullName VARCHAR (50), Address VARCHAR(80), City VARCHAR (40), State VARCHAR (40) DEFAULT 'NSW', PostalCode VARCHAR DEFAULT '2000', COUNTRY VARCHAR(20) DEFAULT 'AustraliA' ); GO Lors d'une saisie de données sur la table, l'utilisateur n'a pas à fournir une valeur pour une colonne qui a une valeur par défaut. Si l'utilisateur ne fournit pas de valeur, la valeur par défaut sera utilisée lors de l'enregistrement.
Un des objectifs d'une bonne table est de pouvoir identifier chaque enregistrement. Dans la plupart des cas, le moteur de base de données ne devrait pas confondre deux enregistrements. Examinez le tableau suivant :
Imaginez que vous souhaitez modifier la valeur d'un élément nommé robe jersey longues manches. Puisque vous devez trouver l'élément par programmation, vous pouvez lancer la recherche d'un élément portant le même nom. Cette table arrive à avoir deux éléments portant le même nom. Vous pouvez alors décider de rechercher un élément en utilisant sa catégorie. Dans la colonne catégorie, il y a trop d'articles nommés femme. De la même façon, il y a trop d'enregistrements qui ont une grande valeur dans la colonne taille, la même chose, un problème dans la colonne prix unitaire. Cela signifie que vous ne disposez pas d'un bon critère que vous pouvez utiliser pour isoler l'enregistrement dont le nom de l'article est longues manches. Pour résoudre le problème de l'enregistrement de l'identifiant de manière unique, vous pouvez créer une colonne particulière dont le but principal est de distinguer un enregistrement de l'autre. Pour vous aider à cela, le SQL vous permet de créer une colonne dont le type de données est de type nombre entier, mais l'utilisateur n'a pas besoin d'entrer des données pour cette colonne. Une valeur devrait automatiquement être entrée dans le champ lors de la création d'un nouvel enregistrement. Ce type de colonne est appelé une colonne d'identité. Vous ne pouvez pas créer une colonne d'identité à une table existante, uniquement sur une nouvelle table.
Pour créer une colonne d'identité, si vous travaillez visuellement dans la vue de conception de la table, dans la partie supérieure, spécifiez le nom de la colonne. Par tradition, le nom de cette colonne ressemble à celui de la table, mais au singulier. Également, par habitude, le nom de la colonne se termine avec _id, Id ou ID. Après avoir spécifié le nom de la colonne, définissez son type de données pour un type basé sur un nombre entier. Généralement, le type de données utilisé est int. Dans la section inférieure, cliquez dessus et développez la propriété Identity Specification. La première action que vous devez prendre est de définir sa propriété (Is Identity) de Non à Oui. Une fois que vous avez défini la valeur de la propriété (Is Identity) sur Oui, la première fois que l'utilisateur exécute l'entrée de données, la valeur du premier enregistrement serait fixée à 1. Cette caractéristique est contrôlée par Identity Seed property. Si vous souhaitez que le nombre de commencer à une valeur autre que 1, spécifiez-le sur cette propriété. Une fois que la propriété (Is Identity) a été définie sur Oui, l'interprète SQL augmentera la valeur de chaque nouvel enregistrement par 1, qui est la valeur par défaut. Cela signifie que le premier enregistrement aurait une valeur égale à 1, le deuxième pourrait avoir une valeur de 2 et ainsi de suite. Cet aspect est contrôlé par la propriété Identity Increment/Accroissement de l'identité. Si vous voulez augmenter plus que cela, vous pouvez modifier la valeur de la propriété Identity incrément.
Si vous créez par programmation une colonne, pour indiquer qu'elle sera utilisée sous la forme d'une colonne d'identité après son nom et son type de données, tapez identity suivi des parenthèses. Entre les parenthèses, entrez la valeur de semences, suivie par une virgule, suivie par la valeur augmentée. Voici un exemple : CREATE TABLE StoreItems( ItemID int IDENTITY(1, 1) NOT NULL, Category varchar(50), [Item Name] varchar (100) NOT NULL, Size varchar(20), [Unit Price])money); GO
L'une des principales préoccupations des enregistrements est leur unicité. Dans une base de données professionnelles, vous souhaitez généralement vous assurer que chaque enregistrement sur une table est unique. Microsoft SQL Server fournit de nombreux moyens de prendre soin de cela. Ceux-ci incluent la colonne d'identité, la clé primaire et les index. Nous allons examiner ces questions dans les leçons ultérieures. Néanmoins, un moyen pour le faire est d'appliquer une règle d'unicité sur une colonne.
Pour vous aider à créer des colonnes dont les valeurs seront différenciées, Transact-SQL fournit l'opérateur UNIQUE. Pour l'appliquer sur une colonne, après le type de données, tapez UNIQUE. Voici un exemple : USE Exercise ;
GO
CREATE TABLE Students
(
StudentNumber int UNIQUE,
FirstName nvarchar(50,
LastName nvarchar(50) NOT NULL
);
GO
Lorsqu'une colonne a été marquée comme unique, lors de la saisie de données, l'utilisateur doit fournir une valeur unique pour chaque nouvel enregistrement créé. Si une valeur existante est affectée à la colonne, cela entraînerait une erreur : USE Exercise ;
GO
CREATE TABLE Students
(
StudentNumber int UNIQUE,
FirstName nvarchar(50),
LastName nvarchar(50) NOT NULL
);
GO
INSERT INTO Students
VALUES(24880, N'John', N'Scheels'),
(92846, N'R©n©e', 'N'Almonds),
(47196, N'Peter ', N'Sansen '),
(92846, N'Daly ', N'Camara '),
(36904, N'Peter ', N'Sansen ');
GO
Au moment de la saisie du quatrième enregistrement, puisqu'il utilise un numéro d'étudiant qui existe déjà, le moteur de base de données devrait produire une erreur : MSG 2627, Level 14, State 1, Line 2 Violation of UNIQUE KEY constraint 'UQ__Students__DD81BF6C145C0A3F'. Cannot insert duplicate key in object 'dbo.Students'. The statement has been terminated.
Cette propriété vous permet de spécifier qu'une colonne avec la propriété Identity définie sur Oui est utilisée comme une colonne ROWGUID.
Étant donné que les différents langages utilisent différents mécanismes dans leurs caractères alphabétiques, cela peut affecter la manière dont certains algorithmes de tri ou de requêtes sont effectuées sur les données, vous pouvez demander à la base de données d'appliquer un certain mécanisme de langue dans le champ en changeant la propriété de classement. Dans le cas contraire, vous devez accepter la valeur par défaut spécifiée par la table. Pour trouver quelle langue votre serveur utilise actuellement, dans une fenêtre de requête ou de PowerShell, vous pouvez taper : SELECT @@ LANGUAGE ; GO |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
||
| Précédent | Copyright © 2010 Yevol.com | Suivant |
|
|
||