Kodulehed
[386] - Andmebaasid I (ITI0206) (kevad 2024)
Esiletöstetud Kiirvalik
Lisainfo Kõige olulisemate tegevuste kiirvalik. Failide saatmiseks valige Vastamine alt sobiv ülesanne.
Üldist
Materjalid
LisainfoMaterjalide kataloogid
Isiklik
Lisainfo Info ainult Sulle - teised kasutajad seda ei näe
Abi
Lisainfo Võimalus küsida õppejõult abi (nagu foorum, kus saab küsida küsimusi ja kommenteerida vastuseid)
Mitmesugust
Abi / Kasutajatugi / SQL

Avalikud küsimused ja vastused:

Küsimuste teemade nimekiri

Anonüümne (14.11.2024 11:41):
Kuidas kustutada korraga mitu tabeliga seotud kitsendust?
Vastus (14.11.2024 13:13): See on hea näide, kuidas SQLi dialekt e mägimurrak erineb erinevates andmebaasisüsteemides detailide poolest. Järgnev katsetus tehti keskkondades DB Fiddle, SQL Fiddle ja db<>fiddle.

CREATE TABLE Riik (riik_kood CHAR(3) NOT NULL,
CONSTRAINT pk_riik PRIMARY KEY (riik_kood));
 
CREATE TABLE Isik(isik_id INTEGER NOT NULL,
pikkus SMALLINT NOT NULL,
kaal SMALLINT NOT NULL,
riik_kood CHAR(3) NOT NULL,
CONSTRAINT pk_isik PRIMARY KEY (isik_id),
CONSTRAINT chk_isik_pikkus CHECK (pikkus>0),
CONSTRAINT chk_isik_kaal CHECK (kaal>0),
CONSTRAINT fk_isik_riik FOREIGN KEY (riik_kood) REFERENCES Riik (riik_kood));

Kustuta tabelist Isik ühe lausega CHECK kitsendused ning välisvõtme kitsendus.

PostgreSQL (17), MySQL (9),  Firebird (4), MariaDB (10.9):
ALTER TABLE Isik
DROP CONSTRAINT chk_isik_pikkus,
DROP CONSTRAINT chk_isik_kaal,
DROP CONSTRAINT fk_isik_riik;
--komadega


Oracle (23ai), IBM DB2 (11):
ALTER TABLE Isik
DROP CONSTRAINT chk_isik_pikkus
DROP CONSTRAINT chk_isik_kaal
DROP CONSTRAINT fk_isik_riik;
--komadeta

MS SQL Server (2022):
ALTER TABLE Isik
DROP CONSTRAINT chk_isik_pikkus, chk_isik_kaal, fk_isik_riik;

MS Access (365):
ALTER TABLE Isik DROP CONSTRAINT chk_isik_pikkus;
ALTER TABLE Isik DROP CONSTRAINT chk_isik_kaal;
ALTER TABLE Isik DROP CONSTRAINT fk_isik_riik;
--eraldi laused


LibreOffice Base (HSQLDB), SQLite (3.39):
Kitsendusi saab defineerida, kuid ALTER TABLE lausega kustutada ei saa.

Hinda vastust:

Keskmine hinne : Pole veel hinnanguid!