sql >> Database >  >> RDS >> Database

SQL-BEPERKINGEN

SQL-beperkingen specificeren de regels/beperkingen/beperkingen voor gegevens in de tabel. SQL-beperkingen worden gespecificeerd op het moment van het maken van een tabel of na het maken van een tabel met de opdracht ALTER. Er zijn twee soorten beperkingen beperking op kolomniveau en beperking op tabelniveau .Zoals het naamkolomniveau aangeeft, specificeert het een bepaalde kolom. In een beperking op tabelniveau specificeert het meer dan één kolom of alle kolommen in de tabel.NIET NULL: Het zorgt ervoor dat de opgegeven kolomwaarde niet NULL kan zijn.UNIEK: Het zorgt ervoor dat elke waarde in de kolom anders is.PRIMAIRE SLEUTEL: Primaire sleutel zorgt voor zowel NOT NULL als UNIQUE. Het betekent dat waarde niet nul kan zijn en van elkaar moet verschillen. Daarom identificeert de primaire sleutel elk record in de tabel op unieke wijze.BUITENLANDSE SLEUTEL: Het identificeert op unieke wijze een record uit een andere tabel. De buitenlandse sleutel is een verwijzing naar de andere tabel en is vergelijkbaar met de primaire sleutel van een andere tabel.STANDAARD: Het stelt de standaardwaarde in wanneer er geen waarde wordt gegeven.CONTROLEER: Het zorgt ervoor dat alle waarden in de kolom aan een voorwaarde voldoen.INDEX: Index wordt gemaakt en gebruikt om gegevens uit de database op te halen.

NIET NUL

De standaardwaarde voor elke kolom is NULL. Niet Null-beperkingen zorgen ervoor dat de kolomwaarde niet null is. Deze beperking zorgt er altijd voor dat de kolom enige waarde heeft. Het staat het invoegen of bijwerken van een record niet toe zonder de waarde in dit veld te vermelden. De gebruiker kan deze beperking toevoegen aan enkele of meerdere of alle kolommen van de tabel.Syntaxis: CREATE  TABLE table_name (gegevenstype kolom 1 NOT NULL,………);Voorbeeld: Maak tabel STUDENT(student_id int NOT NULL,student_name varchar(10),student_dept varchar(10) NOT NULL,classyear int); In het bovenstaande voorbeeld NIET NULL beperking wordt toegepast op twee kolommen student_id en student_dept in de STUDENT-tabel tijdens het maken van een tabel. Beschrijving van STUDENT-tabel laat zien welke kolommen NULL kunnen zijn of niet NULL. Zie het uitvoerscherm op het moment dat waarden in de tabel worden ingevoegd, geen null-beperking staat het invoeren van een NULL-waarde niet toe in de velden waarop de beperking is toegepast.UNIEK Unieke beperking vermijd dubbele vermeldingen in de kolom. Eén tabel kan meerdere unieke sleutels hebben.Syntaxis: CREATE  TABLE table_name (kolom 1 gegevenstype UNIQUE,………);Voorbeeld: tabel aanmaken student(student_id int Unique,student_name varchar(10) unique,student_dept varchar(10) not null,classyear int); U kunt bovenstaande zoekopdracht in een andere vorm schrijven. Tabel maken student(student_id int,student_name varchar(10) unique,student_dept varchar(10) not null,classyear int ,unique (student_id));# definieer meerdere kolommen die uniek zijn in één keer Syntaxis: CREATE TABLE table_name(kolom 1 gegevenstype, ……… kolom n, constraint constraint_name Uniek (kolom1,..));Voorbeeld: maak tabel student(student_id int,student_name varchar(10) unique,student_dept varchar(10) not null,classyear int ,Constraint cs_studentunique (student_id, student_name)); # UNIEKE beperking toevoegen met behulp van de instructie ALTERSyntaxis: Tabel wijzigen table_nameAdd Unique (column_name);Voorbeeld: Wijzig tabel StudentAdd Unique (student_id);Syntaxis: Tabel wijzigen table_nameAdd Constraint constraint_name Uniek (kolom1,kolom2);Voorbeeld: Tabel wijzigen StudentAdd Constraint cs_student Unique (student_id,student_name);Primaire sleutel De primaire sleutel identificeert elk record in de kolom op unieke wijze, één tabel heeft een enkele primaire sleutel. De primaire sleutel kan een enkele kolom of een groep kolommen zijn.Syntaxis: Tabel maken table_name( gegevenstype kolom Primaire sleutel, gegevenstype kolom2,………);Voorbeeld: Maak tabel STUDENT(student_id int Primaire sleutel,studentnaam varchar(20),student_dept varchar(20),klasjaar int); Syntaxis: Tabel maken table_name( gegevenstype kolom1, gegevenstype kolom2,……… gegevenstype kolom n, primaire sleutel (kolomnaam));Voorbeeld: Tabel maken Student(student_id int,student_name varchar(10),student_dept varchar(10),classyear int,Primary key (student_id)); # ALTER-instructie gebruiken Syntaxis: verander tabel table_nameadd primaire sleutel (kolomnaam); Voorbeeld: verander tabel studentadd primaire sleutel (student_id); Syntaxis: verander tabel table_namedrop primaire sleutel;Voorbeeld: verander tabel studentdrop primaire sleutel;

STANDAARD

De DEFAULT-beperking wordt gebruikt om de standaardwaarde voor de kolom in te stellen. Deze beperking kan worden toegepast op één kolom of meerdere kolommen. NULL is een standaardwaarde voor alle kolommen in de tabel. Wanneer de gebruiker geen null of primaire beperking toepast op een kolom, wordt de standaardwaarde gewijzigd.Syntaxis: Tabel tabelnaam maken (kolomgegevenstype,…….Standaardwaarde kolomgegevenstype);Voorbeeld: Tabel student aanmaken (student_id int,student_name varchar(20),student_dept varchar(20) default 'IT',classyear int); Uitvoerscherm toont standaardwaarde 'IT' toegewezen aan kolom student_dept. 'IT' waarde ingesteld op de kolom student_dept wanneer er geen waarde is opgegeven voor de kolom student_dept .  # DEFAULT-beperking toevoegen aan kolom met behulp van ALTER-instructie   Syntaxis: verander tabel table_namealter column_nameset standaardwaarde;Voorbeeld: verander tabel studentalter student_deptset standaard 'CS'; Syntaxis: verander tabel table_namealter column_namedrop standaard;Voorbeeld: verander tabel studentalter student_deptdrop standaard; Buitenlandse sleutel Foreign key is een link tussen twee tabellen. De primaire sleutel van een tabel kan de referentie/vreemde sleutel van een andere tabel zijn. De tabel, die een externe sleutel bevat, wordt een onderliggende tabel genoemd en een andere tabel waarvan de primaire sleutel als verwijzing naar die tabel verwijst, is een bovenliggende tabel. De gebruiker moet records in de bovenliggende tabel invoeren vóór de onderliggende tabel als er geen gegevens in de bovenliggende tabel aanwezig zijn. Eén tabel kan één primaire sleutel hebben.DEPARTMENT-tabel
DEPT_ID DEPT_NAME DEPT_HEAD DEPT_LOC
0001 IT Dhr. SK Mishra 06
0002 CS Dhr. DP Patil 04
0003 EXTC Mevr. SK Verkoop 05
0004 MECH Dhr. AB Jha 07
STUDENT-tabel
STUDENT_ID STUDENT_NAME DEPT_NAME CLASSYEAR
10001 RAM IT 02
10002 KIRAN IT 04
10003 NEHA CS 01
10004 ROOPA MECH 01
STUDENT Primaire sleutel   student_idForeign key   dept_nameAFDELING Primaire sleutel   dept_nameHier, DEPARTMENT is de bovenliggende tabel en STUDENT is de onderliggende tabel. Primaire sleutel van DEPARTMENT-tabel waarnaar wordt verwezen als externe sleutel in studententabel met de naam dept_name. Het is mogelijk dat twee tabellen een kolom met dezelfde naam kunnen hebben. Stel dat in de studententabel dept_name aanwezig is met een andere naam, zoals student_dept, of wat dan ook, het levert geen enkel probleem op. Tabel kan een of meer externe sleutels bevatten.# Beperking toepassen tijdens het maken van tabellen Syntaxis: //  Bovenliggende tabel moet een primaire sleutel bevatten Tabel maken tabelnaam (kolomgegevenstype Primaire sleutel, Kolom …….., Kolom n gegevenstype);//kindtabel bevat externe sleutel Tabel maken table_name(kolomgegevenstype,…………,Foreign key(column_name)Referenties parent_table_name(column_name of primary key));Voorbeeld: Tabel aanmaken department(dept_id int,dept_name varchar(30) Primary key,dept_head varchar(50),dept_loc int);Create table student(student_id int primary key,student_name varchar(30),dept_name varchar(30),classyear int,Foreign key (dept_name)Referenties afdeling (dept_name)); # Pas een externe sleutelbeperking toe met de instructie Alter Syntaxis: verander tabel table_nameadd refererende sleutel (kolomnaam)verwijzingen parent_table_name (kolomnaam van primaire sleutel);Voorbeeld: verander tabel studentadd refererende sleutel (dept_name)referenties afdeling(dept_name);Syntaxis: verander tabel table_nameadd constraint constraint_nameforeign key (column_name)referenties parent_table_name (column_name of primary key);Voorbeeld: verander tabel studentadd beperking fk_studentforeign key (dept_name)referenties afdeling(dept_name);# DROP beperking Syntaxis: verander tabel table_namedrop refererende sleutel constraint_name;Voorbeeld: verander tabel studentdrop buitenlandse sleutel fk_student;Maak tabel student (student_id int, student_name varchar(50) niet null, student_dept varchar(30) standaard 'IT',klasjaar int check (klasjaar<5 en klasjaar>0), primaire sleutel (student_id) );


  1. Hoe vermeld je de primaire sleutel van een SQL Server-tabel?

  2. Een regeleinde invoegen in een SQL Server VARCHAR/NVARCHAR-tekenreeks

  3. Hoe alle afhankelijkheden van een tabel in de sql-server te vinden

  4. Partitieonderhoud verbeteren met incrementele statistieken