logo

SQL | Beperkingen

SQL-beperkingen zijn essentiële elementen in relationeel databaseontwerp die ervoor zorgen integriteit nauwkeurigheid En betrouwbaarheid van de gegevens die in een database zijn opgeslagen. Door het afdwingen van specifieke regels voor tabelkolommen helpen SQL-beperkingen de gegevensconsistentie te behouden, waardoor ongeldige gegevensinvoer wordt voorkomen en de queryprestaties worden geoptimaliseerd.

In dit artikel zullen we de meest voorkomende SQL-beperkingen in detail uitleggen, duidelijke voorbeelden geven en uitleggen hoe u deze effectief kunt implementeren.

Wat zijn SQL-beperkingen?

SQL-beperkingen waarop regels van toepassing zijn kolommen of tafels in een relationele database om het type gegevens dat mogelijk is te beperken ingevoegd bijgewerkt of verwijderd . Deze regels zorgen ervoor dat de gegevens geldig en consistent zijn en voldoen aan de bedrijfslogica of databasevereisten . Beperkingen kunnen worden afgedwongen tijdens het maken van de tabel of later met behulp van de ALTER TABLE stelling. Ze spelen een cruciale rol bij het handhaven van de kwaliteit en integriteit van uw database.



Soorten SQL-beperkingen 

SQL biedt verschillende soorten beperkingen om verschillende aspecten van gegevensintegriteit te beheren. Deze beperkingen zijn essentieel om ervoor te zorgen dat gegevens voldoen aan de vereisten van nauwkeurigheid samenhang En geldigheid . Laten we ze allemaal doornemen met gedetailleerde uitleg en voorbeelden.

1. NIET NULL-beperking

De NIET NUL beperking zorgt ervoor dat een kolom geen NULL-waarden kan bevatten. Dit is vooral belangrijk voor kolommen waarin een waarde essentieel is voor het identificeren van records of het uitvoeren van berekeningen. Als een kolom is gedefinieerd als NIET NUL elke rij moet een waarde voor die kolom bevatten.

Voorbeeld:

CREATE TABLE Student  
(
ID int(6) NOT NULL
NAME varchar(10) NOT NULL
ADDRESS varchar(20)
);

Uitleg: In het bovenstaande voorbeeld zijn zowel deIDEnNAMEkolommen worden gedefinieerd met de NIET NUL beperking betekent dat elke student eenIDEnNAMEwaarde.

2. UNIEKE beperking

De UNIEK beperking zorgt ervoor dat alle waarden in een kolom verschillend zijn in alle rijen in een tabel. In tegenstelling tot de PRIMAIRE SLEUTEL waarvoor uniciteit vereist en geen NULL's toestaat. De UNIQUE-beperking staat NULL-waarden toe, maar dwingt nog steeds uniciteit af voor niet-NULL-items.

Voorbeeld:

CREATE TABLE Student  
(
ID int(6) NOT NULL UNIQUE
NAME varchar(10)
ADDRESS varchar(20)
);

Uitleg : Hier deIDkolom moet unieke waarden hebben die ervoor zorgen dat geen twee leerlingen dezelfde waarden kunnen delenID. We kunnen er meer dan één hebben UNIEK beperking in een tabel.

3. PRIMAIRE SLEUTELbeperking  

A PRIMAIRE SLEUTEL beperking is een combinatie van de NIET NUL En UNIEK beperkingen. Het identificeert op unieke wijze elke rij in een tabel. Een tafel kan er maar één hebben PRIMAIRE SLEUTEL en het kan geen NULL-waarden accepteren. Dit wordt doorgaans gebruikt voor de kolom die zal dienen als identificatie van records.

Voorbeeld:

CREATE TABLE Student  
(
ID int(6) NOT NULL UNIQUE
NAME varchar(10)
ADDRESS varchar(20)
PRIMARY KEY(ID)
);

Uitleg: In dit geval deIDkolom is ingesteld als de primaire sleutel, zodat de ID van elke leerling uniek is en niet NULL kan zijn.

4. BUITENLANDSE SLEUTELbeperking

A BUITENLANDSE SLEUTEL constraint koppelt een kolom in één tabel aan de primaire sleutel in een andere tabel. Deze relatie helpt onderhouden referentiële integriteit door ervoor te zorgen dat de waarde in de vreemde sleutel kolom komt overeen met een geldig record in de tabel waarnaar wordt verwezen.

Bestellingentabel:

O_IDORDER_NOC_ID
122533
233253
345212
485321

Klantentabel:

C_IDNAAMADRES
1RAMESJDELHI
2ZEKERNOIDA
3DHARMESHGURGAON

Zoals we duidelijk kunnen zien is dat het veld C_ID in Bestellingen tafel is de primaire sleutel in de tabel Klanten, d.w.z. elke rij in de tabel wordt op unieke wijze geïdentificeerd Klanten tafel. Daarom is het een Foreign Key in Orders-tabel. 

Voorbeeld:

CREATE TABLE Orders  
(
O_ID int NOT NULL
ORDER_NO int NOT NULL
C_ID int
PRIMARY KEY (O_ID)
FOREIGN KEY (C_ID) REFERENCES Customers(C_ID)
)

Uitleg: In dit voorbeeld is deC_IDkolom in deOrderstabel is een externe sleutel die verwijst naar deC_IDkolom in deCustomerstafel. Dit zorgt ervoor dat alleen geldige klant-ID's in het bestand kunnen worden ingevoegdOrderstafel.

5. CONTROLEER Beperking

De REKENING constraint stelt ons in staat een voorwaarde te specificeren waaraan gegevens moeten voldoen voordat ze in de tabel worden ingevoegd. Dit kan worden gebruikt om regels af te dwingen, zoals ervoor zorgen dat de waarde van een kolom aan bepaalde criteria voldoet (de leeftijd moet bijvoorbeeld ouder zijn dan 18 jaar)

Voorbeeld:

CREATE TABLE Student  
(
ID int(6) NOT NULL
NAME varchar(10) NOT NULL
AGE int NOT NULL CHECK (AGE >= 18)
);

Uitleg: In de bovenstaande tabel is de REKENING beperking zorgt ervoor dat alleen studenten van 18 jaar of ouder in de tabel kunnen worden ingevoegd.

6. STANDAARD Beperking

De STANDAARD constraint biedt een standaardwaarde voor een kolom wanneer er tijdens het invoegen geen waarde is opgegeven. Dit is handig om ervoor te zorgen dat bepaalde kolommen altijd een betekenisvolle waarde hebben, zelfs als de gebruiker er geen heeft opgegeven

Voorbeeld:

CREATE TABLE Student  
(
ID int(6) NOT NULL
NAME varchar(10) NOT NULL
AGE int DEFAULT 18
);

Uitleg: Hier als er geen waarde is opgegevenAGEtijdens het invoegen wordt automatisch de standaardwaarde 18 toegewezen.

Beperkingen opgeven in SQL

Beperkingen kunnen worden opgegeven tijdens het maken van tabellen met behulp van de CREATE TABLE stelling. Bovendien kunnen beperkingen worden gewijzigd of toegevoegd aan bestaande tabellen met behulp van deALTER TABLEstelling.

Syntaxis voor het creëren van beperkingen:

MAAK TABEL tabelnaam

(

kolom1 data_type [beperkingsnaam]

kolom2 data_type [beperkingsnaam]

kolom3 data_type [beperkingsnaam]

...

);

We kunnen ook beperkingen toevoegen of verwijderen nadat een tabel is gemaakt:

Voorbeeld om een ​​beperking toe te voegen:

ALTER TABLE Student  
ADD CONSTRAINT unique_student_id UNIQUE (ID);

Conclusie

SQL-beperkingen zijn essentieel voor het onderhoud gegevensintegriteit en het garanderen van consistentie in relationele databases. Het effectief begrijpen en implementeren van deze beperkingen zal helpen bij het ontwerpen van robuuste, foutloze databases. Door te benutten NIET NULL UNIEKE PRIMAIRE SLEUTEL BUITENLANDSE SLEUTEL CONTROLEER DEFAULT en INDEX u kunt ervoor zorgen dat uw database hiervoor is geoptimaliseerd nauwkeurigheid En prestatie .

runa's in powershell
Quiz maken