sql >> Database >  >> RDS >> Database

Wat zijn SQL-beperkingen en de verschillende typen?

Omdat er grote hoeveelheden gegevens in de databases aanwezig zijn, is het voor ons allemaal erg belangrijk om de nauwkeurigheid en betrouwbaarheid van de gegevens in de database te vergroten. Welnu, de SQL-beperkingen worden gebruikt om hetzelfde te handhaven. Er zijn verschillende soorten beperkingen die kunnen worden gebruikt. In dit artikel zal ik die beperkingen met voorbeelden bespreken.

De volgende onderwerpen komen in dit artikel aan bod:

  1. Wat zijn beperkingen?
  2. Beschikbare beperkingen in SQL:
      • NIET NULL-beperking
      • UNIEKE beperking
      • CONTROLEER Beperking
      • STANDAARD beperking
      • INDEX-beperking

Wat zijn SQL-beperkingen?

SQL-beperkingen worden gebruikt om de regels voor de gegevens in een tabel te specificeren. Deze worden gebruikt om te beperken welk type gegevens in de database moeten worden opgeslagen en hebben tot doel de nauwkeurigheid en betrouwbaarheid van de gegevens in de database te vergroten.

Dus, beperkingen zorgen ervoor dat er geen overtreding is in termen van een transactie van de gegevens, maar er wordt wel een overtreding gevonden; de actie wordt beëindigd.

Er zijn twee soorten beperkingen die kunnen worden toegepast:

  1. Beperkingen op kolomniveau – Deze beperkingen worden toegepast op een enkele kolom
  2. Beperkingen op tabelniveau – Deze beperkingen zijn van toepassing op de volledige tabel

Laten we in dit artikel de verschillende soorten beperkingen begrijpen. Ik ga ook de volgende tabel in overweging nemen om je te helpen het beter te begrijpen.

Verschillende SQL-beperkingen beschikbaar:

NIET NULL-beperking

De NOT NULL-beperking zorgt ervoor dat een kolom geen NULL-waarde kan hebben. U kunt de beperking NOT NULL gebruiken tijdens het maken van de tabeldatabase of tijdens het wijzigen ervan.

Voorbeeld

NOT NULL-beperking bij CREATE TABLE

Schrijf een query om de bovenstaande studententabel te maken, waarbij de StudentID en StudentName niet NULL kunnen zijn.

CREATE TABLE Students( 
StudentID int NOT NULL, 
StudentName varchar(255) NOT NULL, 
Age int, City varchar(255) );

NOT NULL beperking op ALTER TABLE

Schrijf een query om de bovenstaande Students-tabel te wijzigen, waar een nieuwe kolom met DOB moet worden toegevoegd en deze mag geen NULL-waarden hebben.

ALTER TABLE Students ADD COLUMN DOB year NOT NULL;

We gaan verder in dit artikel over SQL-beperkingen en laten ons begrijpen hoe u de UNIQUE-beperking kunt gebruiken.

UNIEKE beperking

De UNIQUE-beperking wordt gebruikt om ervoor te zorgen dat alle waarden in een kolom uniek zijn. U kunt de UNIQUE-beperking gebruiken voor meerdere kolommen of voor één kolom met. Afgezien hiervan kun je verder gaan en de UNIQUE-beperking gebruiken om de bestaande tabellen te wijzigen.

Opmerking:

  1. Tijdens het maken van tabellen heeft een PRIMARY KEY-beperking automatisch een UNIEKE-beperking, om de uniciteit van een kolom te garanderen.
  2. Een tabel kan veel UNIEKE beperkingen hebben, maar kan één enkele primaire sleutelbeperking hebben.

Voorbeeld:

UNIEKE beperking bij het MAKEN VAN TABEL

Schrijf een query om een ​​tabel Studenten te maken, met de kolommen StudentID, StudentName, Age en City. Hier moet de StudentID voor elk record uniek zijn.

CREATE TABLE Students ( 
StudentID int NOT NULL UNIQUE, 
StudentName varchar(255) 
NOT NULL, Age int, City varchar(255) );

Noem een ​​UNIEKE beperking voor meerdere kolommen

Om een ​​unieke beperking een naam te geven en deze voor meerdere kolommen te definiëren, kunt u het volgende voorbeeld raadplegen:

Schrijf een query om een ​​tabel Studenten te maken, met kolommen StudentID, StudentName, Age en City. Hier moeten de StudentID en StudentName uniek zijn voor elk record.

CREATE TABLE Students ( 
StudentID int NOT NULL, 
StudentName varchar(255) NOT NULL, 
Age int, 
City varchar(255) CONSTRAINT Stu_Example 
UNIQUE (StudentID,StudentName) );

Hier is Stu_Example de naam die wordt gegeven aan de unieke beperking die wordt toegepast op de StudentID en StudentName.

UNIEKE beperking op ALTER TABLE

Schrijf een query om de tabel Studenten te wijzigen, waarbij een UNIEKE beperking moet worden toegevoegd aan de kolom StudentID.

ALTER TABLE Students ADD UNIQUE (StudentID);

Evenzo, als u de UNIQUE-beperking voor meerdere kolommen wilt gebruiken en deze ook een naam wilt geven, kunt u als volgt een query schrijven:

ALTER TABLE Students ADD CONSTRAINT Stu_Example UNIQUE (StudentID,StudentName);

Laat een UNIEKE beperking vallen

Als u de beperking die voor een kolom is opgegeven, wilt verwijderen, kunt u de naamgevingsconventie gebruiken die u mogelijk hebt genoemd tijdens het toevoegen van de beperking.

Als we bijvoorbeeld een query moeten schrijven om de UNIEKE beperking die we hierboven hebben gemaakt te laten vallen, kunt u de query als volgt schrijven:

ALTER TABLE Students DROP CONSTRAINT Stu_Example;

Laten we in dit artikel over SQL-beperkingen eens kijken hoe we de CHECK-beperking kunnen gebruiken.

CONTROLEER Beperking

De beperking CHECK zorgt ervoor dat alle waarden in een kolom aan een specifieke voorwaarde voldoen.

Voorbeeld:

CONTROLEER Beperking bij MAAK TABEL

Schrijf een query om een ​​tabel Studenten te maken, met kolommen StudentID, StudentName, Age en City. Hier moet de stad Mumbai zijn.

CREATE TABLE Students ( 
StudentID int NOT NULL UNIQUE, 
StudentName varchar(255) NOT NULL, 
Age int, 
City varchar(255)CHECK (City==’Mumbai’) );

CHECK beperking op meerdere kolommen

Om de controlebeperking voor meerdere kolommen te gebruiken, kunt u een query schrijven zoals hieronder:

Schrijf een query om een ​​tabel Studenten te maken, met kolommen StudentID, StudentName, Age en City. Hier moet de stad Mumbai zijn, en de leeftijd van de studenten moet> 19 zijn.

CREATE TABLE Students ( 
StudentID int NOT NULL, 
StudentName varchar(255) NOT NULL, 
Age int, 
City varchar(255)CHECK (City==’Mumbai’ AND Age>19));

Op dezelfde manier kun je de CHECK-beperking ook gebruiken met het ALTER TABLE-commando. Zie hieronder.

CONTROLEER Beperking op ALTER TABLE

Schrijf een query om de tabel Studenten te wijzigen, waarbij een beperking CHECK moet worden toegevoegd aan de kolom Stad. Hier moet de stad Mumbai zijn.

ALTER TABLE Students ADD CHECK (City=='Mumbai');

Als u de beperking CHECK wilt gebruiken door er een naam aan te geven, kunt u als volgt een query schrijven:

ALTER TABLE Students ADD CONSTRAINT StuCheckExample CHECK (City=='Mumbai');

Laat een CHECK-beperking vallen

Als u de beperking die voor een kolom is opgegeven wilt verwijderen, kunt u de naamgevingsconventie gebruiken die u mogelijk heeft genoemd bij het toevoegen van de beperking.

Als we bijvoorbeeld een query moeten schrijven om de CHECK-beperking die we hierboven hebben gemaakt te laten vallen, kunt u de query als volgt schrijven:

ALTER TABLE Students DROP CONSTRAINT StuCheckExample;

Laten we verder gaan in dit artikel over SQL-beperkingen en laten we begrijpen hoe we de DEFAULT-beperking kunnen gebruiken.

STANDAARD beperking

De DEFAULT-beperking wordt gebruikt om een ​​set standaardwaarden voor een kolom te vermelden als er geen waarde is opgegeven. Net als bij de andere beperkingen, kunnen we deze beperking gebruiken voor de opdrachten CREATE en ALTER.

Voorbeeld

Schrijf een query om een ​​tabel Studenten te maken, met kolommen StudentID, StudentName, Age en City. Ook als er geen waarde is ingevoegd in de kolom Stad, moet Delhi automatisch worden opgenomen.

CREATE TABLE Students ( 
StudentID int NOT NULL, 
StudentName varchar(255) NOT NULL, 
Age int, 
City varchar(255)DEFAULT ‘Delhi’);

STANDAARD beperking op ALTER TABLE

Als u de DEFAULT-beperking wilt gebruiken met het ALTER TABLE-commando, kunt u als volgt een query schrijven:

ALTER TABLE Students ADD CONSTRAINT StuDefauExample DEFAULT 'Mumbai' FOR City;

Laat een DEFAULT-beperking vallen

Om de DEFAULT-beperking te verwijderen, kunt u het ALTER TABLE-commando als volgt gebruiken:

ALTER TABLE Students ALTER COLUMN City DROP DEFAULT;

Laten we in dit artikel over SQL-beperkingen eens kijken hoe we de INDEX-beperking kunnen gebruiken.

INDEX-beperking

De INDEX-beperking wordt gebruikt om indexen in de tabel te maken. Met behulp van deze indexen kunt u zeer snel gegevens uit de database maken en ophalen.

Syntaxis

--Create an Index where duplicate values are allowed
CREATE INDEX IndexName
ON TableName (ColumnName1, ColumnName2, ...ColumnName(N));

--Create an Index where duplicate values are not allowed
CREATE UNIQUE INDEX IndexName
ON TableName (ColumnName1, ColumnName2, ...ColumnName(N));

Voorbeeld

Schrijf een query om een ​​index te maken met de naam Stu_index in de tabel Studenten waarin de StudentName is opgeslagen.

CREATE INDEX Stu_index ON Students (StudentName);

Evenzo, om een ​​index uit de tabel te verwijderen, moet je het DROP-commando gebruiken met de naam van de index.

DROP INDEX Students.Stu_index;

Behalve de bovenstaande beperkingen worden de PRIMAIRE SLEUTEL en de BUITENLANDSE SLEUTEL ook als beperkingen beschouwd. De PRIMARY KEY-beperking wordt gebruikt om beperkingen te definiëren voor hoe een specifieke kolom elke tuple op unieke wijze identificeert. De FOREIGN KEY-beperking wordt gebruikt om twee tabellen te relateren op basis van een relatie.

Hiermee komen we tot een einde aan dit artikel. Ik hoop dat je hebt begrepen hoe je de verschillende beperkingen in de database moet gebruiken. Als je meer wilt weten over MySQL en deze open-source relationele database wilt leren kennen, bekijk dan onze MySQL DBA-certificeringstraining die wordt geleverd met een door een instructeur geleide live training en real-life projectervaring. Deze training zal u helpen MySQL diepgaand te begrijpen en u te helpen het onderwerp onder de knie te krijgen.

Heeft u een vraag voor ons? Vermeld het alsjeblieft in het opmerkingengedeelte van dit artikel over SQL-beperkingen en ik zal contact met je opnemen.


  1. Voordelen van MySQLi boven MySQL

  2. Hoe doe je dating wiskunde die het jaar negeert?

  3. Een getal opmaken als valuta in Oracle

  4. hoe te controleren of de database consistent is na onvolledig herstel