oktatas:adatbazis-kezeles:megszoritasok
Tartalomjegyzék
Megszorítások
- Szerző: Sallai András
- Copyright © Sallai András, 2014, 2021
- Web: https://szit.hu
A megszorításokról
Korlátozás vagy angolosan constraint.
Az adatbázis-megszorítások célja a helytelen rekordok létrejöttének megakadályozása.
Megszorítások eszközei
- kulcsok
- idegen kulcsok, hivatkozási integritás
- táblák megszorításai
- attribútumok értékeire vonatkozó megszorítások
- rekordokra vonatkozó megszorítások
- több táblára vonatkozó megszorítások
Megszorítások SQL-ben
kulcs
PRIMARY KEY
create table osztalyok( az int not null primary key auto_increment, nev varchar(50) );
Egyediségi kényszer:
UNIQUE
create table dolgozok ( az int not null primary key auto_increment, ig varchar(10) unique, nev varchar(50) );
idegen kulcs
Az idegenkulcsok általános szintaxisa:
[CONSTRAINT [szimbólum]] FOREIGN KEY [index_nev] (index_oszlop_nev, ...) REFERENCES tábla_név (index_oszlop_név,...) [ON DELETE hivatkozás_kapcsoló] [ON UPDATE hivatkozás_kapcsoló] hivatkozás_kapcsoló: RESTRICT | CASCADE | SET NULL | NO ACTION
Egyszerűbben:
FOREIGN KEY (<attribútumok>) REFERENCES <tábla> (<attribútumok>)
Példa:
create table osztalyok( az int not null primary key auto_increment, nev varchar(50) ); create table dolgozok( az int not null primary key auto_increment, nev varchar(50), osztalyAz int, foreign key (osztalyAz) references osztalyok (az) );
create table osztalyok( az int not null primary key auto_increment, nev varchar(50) ); create table dolgozok( az int not null primary key auto_increment, nev varchar(50), osztalyAz int, constraint dolgozok_megkotes foreign key (osztalyAz) references osztalyok (az) );
Hivatkozáskapcsolók:
- RESTRICT - a szülőtábla nem módosítható
- CASCADE - a változások a gyermektáblában is végbemennek
- SET NULL - a gyermeksorok idegenkulcsai NULL értékre állnak
- NO ACTION - a RESTRICT szinonimája
create table osztalyok( az int not null primary key auto_increment, nev varchar(50) ); create table dolgozok( az int not null primary key auto_increment, nev varchar(50), osztalyAz int, constraint dolgozok_megkotes foreign key (osztalyAz) references osztalyok (az) on delete cascade on update cascade );
attribútum értékére vonatkozó megszorítások
Nem lehet NULL feltételek
NOT NULL
Bonyolultabb meghatározások:
CHECK ...
Új érték esetén ellenőriz.
Érték tartományra való megszorítások
create table telepuleseink ( telepules varchar(50) check (telepules in ('Miskolc', 'Szolnok')) );
Felvenni csak Miskolc és Szolnok települést lehet.
globális megszorítások
Sorra vonatkozó
oktatas/adatbazis-kezeles/megszoritasok.txt · Utolsó módosítás: 2022/03/01 07:15 szerkesztette: admin