# 2025-10-29 08:49:56.833339 +SELECT * FROM studenten # 2025-10-29 08:51:04.747097 +INSERT INTO studenten ('Paul Meier', '23231', 1); # 2025-10-29 08:52:29.182978 +INSERT INTO studenten (name, matrikelnummer, semester) values +('Paul Meier', '23231', 1); # 2025-10-29 08:52:51.770728 +select * from studenten # 2025-10-29 08:53:02.144052 +select * from studenten; # 2025-10-29 08:53:48.231707 +exit # 2025-10-29 09:03:49.683162 +\q # 2025-10-29 09:04:23.508245 +SELECT * FROM studenten; # 2025-10-29 09:04:43.099272 +\o ausgabe.txt # 2025-10-29 09:04:59.030321 +SELECT * FROM studenten; # 2025-10-29 09:05:11.987694 +\o # 2025-10-29 09:05:17.664800 +SELECT * FROM studenten; # 2025-10-29 09:06:07.519552 +\copy (select * from studenten) TO '/tmp/export.csv' CSV HEADER; # 2025-10-29 09:06:47.842090 +\q # 2025-10-29 10:04:52.757343 +exit # 2025-10-29 13:29:01.669708 +\d # 2025-10-29 13:29:06.993942 +\l # 2025-10-29 13:29:37.747294 +\d # 2025-10-29 17:19:54.221521 +insert into kunde (vorname, nachname, straße, hausnr, plz, ort, gebdat) values +('Werner', 'Wiesel', 'Bergstr.', '3', '01088', 'Dresden', '12.12.1980'), + ('Petra', 'Puma', 'Bachstr.', '44', '01127', 'Dresden', '11.11.1982'), + ('Walter', 'Wiesel', 'Burgstr.', '5', '01019', 'Dresden', '10.10.1977'), + ('Frieda', 'Fuchs', 'Hainstr.', '27', '01214', 'Dresden', '09.09.1967'), + ('Heiner', 'Hase', 'Hauptstr.', '13', '01077', 'Dresden', '08.08.1973'), + ('Anita', 'Amsel', 'Schulstr.', '7', '01133', 'Dresden', '07.07.1975'); # 2025-10-29 17:20:44.104456 +insert into abo (zeitschrift, kunde_kndnr, zahlungsart, beginn, preis) values +('Der Spiegel', '003', 'jährlich', '01.03.1990', '171.60'), + ('Stern', '003', 'jährlich', '01.07.1992', '145.00'), + ('Focus', '006', 'jährlich', '01.09.1988', '153.40'), + ('Der Spiegel', '002', 'monatlich', '02.04.2001', '3.50'); # 2025-10-29 17:20:57.459478 +select * from kunde; # 2025-10-29 17:21:30.353615 +select * from abo; # 2025-10-29 17:45:54.602838 +select * from kunde; # 2025-10-29 17:46:38.189811 +select * from kunde where nachname "Puma"; # 2025-10-29 17:46:46.861835 +select * from kunde where nachname Puma; # 2025-10-29 17:46:56.190261 +select * from kunde where nachname is 'Puma'; # 2025-10-29 17:47:42.450048 +select * from kunde where nachname = 'Amsel'; # 2025-10-29 17:47:55.848361 +select * from kunde where nachname = 'Wiesel'; # 2025-10-29 17:48:06.713203 +exit # 2025-10-30 11:55:11.075565 +select * from abo; # 2025-10-30 12:16:43.439089 +select *; # 2025-10-30 12:16:48.238381 +clear; # 2025-10-30 12:16:49.972137 +exit # 2025-10-30 12:18:04.618134 +select * from abo; # 2025-10-30 12:18:12.455274 +select * from kunde; # 2025-10-30 12:28:54.653042 +select vorname, nachname from kunde; # 2025-10-30 12:29:53.943389 +select * from kunde where kndnr > 3; # 2025-10-30 12:31:34.873339 +select * from kunde where hausnr < 100; # 2025-10-30 12:31:43.935372 +select * from kunde where hausnr =< 100; # 2025-10-30 12:31:49.014606 +select * from kunde where hausnr < 100; # 2025-10-30 12:32:17.914782 +select nachname as abc from kunde; # 2025-10-30 12:32:27.981513 +select * from kunde; # 2025-10-30 12:35:47.620029 +select nachname abc from kunde where kndnr between 3 and 5; # 2025-10-30 12:38:19.353464 +select * from kunde where nachname like 'W%l'; # 2025-10-30 12:38:34.742207 +select * from kunde where nachname like '____l'; # 2025-10-30 12:41:09.956018 +select * from kunde where kndnr in [2,4,5]; # 2025-10-30 12:41:19.997267 +select * from kunde where kndnr in (2,4,5); # 2025-10-30 12:44:46.500614 +select * from kunde, kunde, kunde, abo; # 2025-10-30 12:44:53.530681 +select * from kunde, abo; # 2025-10-30 12:47:55.016574 +select kunde_kndnr, preis, preis + 10 from abo; # 2025-10-30 12:48:22.049220 +select kunde_kndnr, preis, preis + 10 as abc from abo; # 2025-10-30 12:49:12.082118 +select kunde_kndnr, preis, preis + 10 as abc from abo where preis/2 > 10; # 2025-10-30 12:52:59.586248 +select * from kunde where nachname = 'A%l'; # 2025-10-30 12:53:13.635539 +select * from kunde where nachname = 'A_%l'; # 2025-10-30 12:54:24.704814 +select * from kunde where nachname like 'A%l'; # 2025-10-30 12:55:27.564682 +select nachname, vornme from kunde where begin <10; # 2025-10-30 12:55:33.142400 +select nachname, vorname from kunde where begin <10; # 2025-10-30 12:56:05.271236 +select nachname, vorname from kunde, abo where abo.beginn <10; # 2025-10-30 12:56:31.682947 +select nachname, vorname from kunde, abo where abo.beginn < 2015-10-30; # 2025-10-30 12:56:46.596406 +select nachname, vorname from kunde, abo where abo.beginn > 2015-10-30; # 2025-10-30 12:58:07.510214 +select nachname, vorname from kunde, abo where abo.beginn > '2015-10-30'; # 2025-10-30 12:58:12.793164 +select nachname, vorname from kunde, abo where abo.beginn < '2015-10-30'; # 2025-10-30 12:58:44.439907 +select nachname, vorname from kunde where abo.beginn < '2015-10-30'; # 2025-10-30 12:58:53.800340 +select nachname, vorname from kunde,abo where abo.beginn < '2015-10-30'; # 2025-10-30 12:59:12.017308 +getdate(); # 2025-10-30 13:02:25.831823 +select nachname, vorname from kunde,abo where abo.beginn datediff <10; # 2025-10-30 13:02:32.097113 +select nachname, vorname from kunde,abo where abo.beginn datediff() <10; # 2025-10-30 13:02:35.384433 +select nachname, vorname from kunde,abo where abo.beginn < '2015-10-30'; # 2025-10-30 13:02:41.411056 +clear; # 2025-10-30 13:02:57.344639 +select * from abo; # 2025-10-30 13:03:27.861140 +select preis from abo where zahlungsart like 'jährlich'; # 2025-10-30 13:03:51.256571 +select * from kunde; # 2025-10-30 13:05:29.414944 +select kndnr from kunde where gebdat - '0010-00-00' > 10; # 2025-10-30 13:05:39.242242 +select preis from abo where zahlungsart like 'jährlich'; # 2025-10-30 13:08:09.850800 +select distinct vorname, nachname from kunde join abo on abo.kunde_kndnr = kunde.kndnr where abo.beginn < '2015-10-30'; # 2025-10-30 13:08:29.437689 +select * from kunde where nachname like 'A%l'; # 2025-10-30 13:10:53.258995 +select * from kunde where gebdat < '1.1.2015'; # 2025-10-30 13:12:05.917389 +select * from kunde where datediff(year, gebdat, getdate())>10; # 2025-10-30 13:12:54.470650 +select * from kunde where DATE_PART(year, gebdat, get_date() >10; # 2025-10-30 13:13:07.173711 +select * from kunde where gebdat < '1.1.2015'; # 2025-10-30 13:13:24.901783 +select distinct vorname, nachname from kunde join abo on abo.kunde_kndnr = kunde.kndnr where abo.beginn < '2015-10-30'; # 2025-10-30 13:13:52.068289 +select vorname, nachname from kunde join abo on abo.kunde_kndnr = kunde.kndnr where abo.beginn < '2015-10-30'; # 2025-10-30 13:14:01.781153 +select distinct vorname, nachname from kunde join abo on abo.kunde_kndnr = kunde.kndnr where abo.beginn < '2015-10-30'; # 2025-10-30 13:14:59.248222 +select preis from abo where zahlungsart like 'jährlich'; # 2025-10-30 14:01:16.610074 +\q # 2025-11-04 12:03:56.063867 +exit # 2025-11-04 12:04:13.510914 +CREATE USER postgres WITH PASSWORD 'denode'; # 2025-11-04 12:07:25.219902 +Select * from kunde; # 2025-11-04 12:08:47.099477 +select * from kunde +select nachname, SUM(kunde.plz) as sumplz, count(distinct kunde.nachname), COUNT(distinct kunde.nachname); # 2025-11-04 12:09:12.329407 +select * from kunde +select nachname from SUM(kunde.plz) as sumplz, count(distinct kunde.nachname), COUNT(distinct kunde.nachname); # 2025-11-04 12:09:21.128685 +select nachname from SUM(kunde.plz) as sumplz, count(distinct kunde.nachname), COUNT(distinct kunde.nachname); # 2025-11-04 12:09:31.062529 +select nachname, SUM(kunde.plz) as sumplz, count(distinct kunde.nachname), COUNT(distinct kunde.nachname); # 2025-11-04 12:10:04.815138 +select nachname, SUM(kunde.plz) as sumplz, count(distinct kunde.nachname), COUNT(distinct kunde.nachname) from kunde group by nachname, vorname; # 2025-11-04 12:13:06.368057 +select nachname, SUM(kunde.plz) as sumplz, count(distinct kunde.nachname), COUNT(distinct kunde.nachname) from kunde group by nachname, vorname having COUNT(nachname) >= 2; # 2025-11-04 12:22:15.590849 +select * from kunde as k1 join junde as ks on k1.kndnr = k2.kndnr; # 2025-11-04 12:22:20.729818 +select * from kunde as k1 join kunde as ks on k1.kndnr = k2.kndnr; # 2025-11-04 12:22:40.508008 +select * from kunde as k1 join kunde as k2 on k1.kndnr = k2.kndnr; # 2025-11-04 12:29:59.396317 +select kunde.* from kunde as k1 left join abo_long a1 on (k1.kndnr = a1.kunde_kndnr) union; # 2025-11-04 12:30:09.831821 +select kunde.* from kunde as k1 left join abo_long a1 on (k1.kndnr = a1.kunde_kndnr); # 2025-11-04 12:32:25.662364 +select kunde_kndnr from abo t1, abo t2 where t1.zeitschrift = t2.zeitschrift and t2.kunde_kndnr <> t1.kunde_kndnr; # 2025-11-04 12:32:41.039436 +select distinct kunde_kndnr from abo t1, abo t2 where t1.zeitschrift = t2.zeitschrift and t2.kunde_kndnr <> t1.kunde_kndnr; # 2025-11-04 12:39:14.325089 +select * from kunde where kndnr in (select kndnr+1 from kunde); # 2025-11-04 12:41:02.538612 +select * from kunde where kndnr > all(select kndnr from kunde where kunde."straße"); # 2025-11-04 12:41:14.418642 +select * from kunde where kndnr > all(select kndnr from kunde where hausnr >2); # 2025-11-04 12:41:21.185620 +select * from kunde where kndnr > all(select kndnr from kunde where hausnr > 2); # 2025-11-04 12:41:23.840412 +select * from kunde where kndnr > all(select kndnr from kunde where hausnr => 2); # 2025-11-04 12:41:41.827579 +select * from kunde where kndnr > any (select kndnr from kunde); # 2025-11-04 14:06:26.703040 + + + + +CREATE TABLE Country +(Name VARCHAR(50) NOT NULL UNIQUE, + Code VARCHAR(4) CONSTRAINT CountryKey PRIMARY KEY, + Capital VARCHAR(50), + Province VARCHAR(50), + Area DECIMAL CONSTRAINT CountryArea + CHECK (Area >= 0), + Population DECIMAL CONSTRAINT CountryPop + CHECK (Population >= 0)); + +CREATE TABLE City +(Name VARCHAR(50), + Country VARCHAR(4), + Province VARCHAR(50), + Population DECIMAL CONSTRAINT CityPop + CHECK (Population >= 0), + Latitude DECIMAL CONSTRAINT CityLat + CHECK ((Latitude >= -90) AND (Latitude <= 90)) , + Longitude DECIMAL CONSTRAINT CityLon + CHECK ((Longitude >= -180) AND (Longitude <= 180)) , + Elevation DECIMAL , + CONSTRAINT CityKey PRIMARY KEY (Name, Country, Province)); + +CREATE TABLE Province +(Name VARCHAR(50) CONSTRAINT PrName NOT NULL , + Country VARCHAR(4) CONSTRAINT PrCountry NOT NULL , + Population DECIMAL CONSTRAINT PrPop + CHECK (Population >= 0), + Area DECIMAL CONSTRAINT PrAr + CHECK (Area >= 0), + Capital VARCHAR(50), + CapProv VARCHAR(50), + CONSTRAINT PrKey PRIMARY KEY (Name, Country)); + +CREATE TABLE Economy +(Country VARCHAR(4) CONSTRAINT EconomyKey PRIMARY KEY, + GDP DECIMAL CONSTRAINT EconomyGDP + CHECK (GDP >= 0), + Agriculture DECIMAL, + Service DECIMAL, + Industry DECIMAL, + Inflation DECIMAL, + Unemployment DECIMAL); + +CREATE TABLE Population +(Country VARCHAR(4) CONSTRAINT PopKey PRIMARY KEY, + Population_Growth DECIMAL, + Infant_Mortality DECIMAL); + +CREATE TABLE Politics +(Country VARCHAR(4) CONSTRAINT PoliticsKey PRIMARY KEY, + Independence DATE, + WasDependent VARCHAR(50), + Dependent VARCHAR(4), + Government VARCHAR(120)); + +CREATE TABLE Religion +(Country VARCHAR(4), + Name VARCHAR(50), + Percentage DECIMAL CONSTRAINT ReligionPercent + CHECK ((Percentage > 0) AND (Percentage <= 100)), + CONSTRAINT ReligionKey PRIMARY KEY (Name, Country)); + +CREATE TABLE EthnicGroup +(Country VARCHAR(4), + Name VARCHAR(50), + Percentage DECIMAL CONSTRAINT EthnicPercent + CHECK ((Percentage > 0) AND (Percentage <= 100)), + CONSTRAINT EthnicKey PRIMARY KEY (Name, Country)); + +CREATE TABLE Spoken +(Country VARCHAR(4), + Language VARCHAR(50), + Percentage DECIMAL CONSTRAINT SpokenPercent + CHECK ((Percentage > 0) AND (Percentage <= 100)), + CONSTRAINT SpokenKey PRIMARY KEY (Country, Language)); + +CREATE TABLE Language +(Name VARCHAR(50) , + Superlanguage VARCHAR(50), + CONSTRAINT LanguageKey PRIMARY KEY (Name)); + +CREATE TABLE Countrypops +(Country VARCHAR(4), + Year DECIMAL CONSTRAINT CountryPopsYear + CHECK (Year >= 0), + Population DECIMAL CONSTRAINT CountryPopsPop + CHECK (Population >= 0), + CONSTRAINT CountryPopsKey PRIMARY KEY (Country, Year)); + +CREATE TABLE Countryothername +(Country VARCHAR(4), + othername VARCHAR(50), + CONSTRAINT CountryOthernameKey PRIMARY KEY (Country, othername)); + +CREATE TABLE Countrylocalname +(Country VARCHAR(4), + localname VARCHAR(300), + CONSTRAINT CountrylocalnameKey PRIMARY KEY (Country)); + +CREATE TABLE Provpops +(Province VARCHAR(50), + Country VARCHAR(4), + Year DECIMAL CONSTRAINT ProvPopsYear + CHECK (Year >= 0), + Population DECIMAL CONSTRAINT ProvPopsPop + CHECK (Population >= 0), + CONSTRAINT ProvPopKey PRIMARY KEY (Country, Province, Year)); + +CREATE TABLE Provinceothername +(Province VARCHAR(50), + Country VARCHAR(4), + othername VARCHAR(50), + CONSTRAINT ProvOthernameKey PRIMARY KEY (Country, Province, othername)); + +CREATE TABLE Provincelocalname +(Province VARCHAR(50), + Country VARCHAR(4), + localname VARCHAR(300), + CONSTRAINT ProvlocalnameKey PRIMARY KEY (Country, Province)); + +CREATE TABLE Citypops +(City VARCHAR(50), + Country VARCHAR(4), + Province VARCHAR(50), + Year DECIMAL CONSTRAINT CityPopsYear + CHECK (Year >= 0), + Population DECIMAL CONSTRAINT CityPopsPop + CHECK (Population >= 0), + CONSTRAINT CityPopKey PRIMARY KEY (Country, Province, City, Year)); + +CREATE TABLE Cityothername +(City VARCHAR(50), + Country VARCHAR(4), + Province VARCHAR(50), + othername VARCHAR(50), + CONSTRAINT CityOthernameKey PRIMARY KEY (Country, Province, City, othername)); + +CREATE TABLE Citylocalname +(City VARCHAR(50), + Country VARCHAR(4), + Province VARCHAR(50), + localname VARCHAR(300), + CONSTRAINT CitylocalnameKey PRIMARY KEY (Country, Province, City)); + +CREATE TABLE Continent +(Name VARCHAR(20) CONSTRAINT ContinentKey PRIMARY KEY, + Area DECIMAL(10)); + +CREATE TABLE borders +(Country1 VARCHAR(4), + Country2 VARCHAR(4), + Length DECIMAL + CHECK (Length > 0), + CONSTRAINT BorderKey PRIMARY KEY (Country1,Country2) ); + +CREATE TABLE encompasses +(Country VARCHAR(4) NOT NULL, + Continent VARCHAR(20) NOT NULL, + Percentage DECIMAL, + CHECK ((Percentage > 0) AND (Percentage <= 100)), + CONSTRAINT EncompassesKey PRIMARY KEY (Country,Continent)); + +CREATE TABLE Organization +(Abbreviation VARCHAR(12) Constraint OrgKey PRIMARY KEY, + Name VARCHAR(100) NOT NULL, + City VARCHAR(50) , + Country VARCHAR(4) , + Province VARCHAR(50) , + Established DATE, + CONSTRAINT OrgNameUnique UNIQUE (Name)); + +CREATE TABLE isMember +(Country VARCHAR(4), + Organization VARCHAR(12), + Type VARCHAR(60) DEFAULT 'member', + CONSTRAINT MemberKey PRIMARY KEY (Country,Organization) ); + +CREATE TYPE GeoCoord AS +(Latitude DECIMAL, + Longitude DECIMAL); + + +CREATE TABLE Mountain +(Name VARCHAR(50) CONSTRAINT MountainKey PRIMARY KEY, + Mountains VARCHAR(50), + Elevation DECIMAL, + Type VARCHAR(10), + Coordinates GeoCoord CONSTRAINT MountainCoord + CHECK (((Coordinates).Latitude >= -90) AND + ((Coordinates).Latitude <= 90) AND + ((Coordinates).Longitude > -180) AND + ((Coordinates).Longitude <= 180))); + +CREATE TABLE Desert +(Name VARCHAR(50) CONSTRAINT DesertKey PRIMARY KEY, + Area DECIMAL, + Coordinates GeoCoord CONSTRAINT DesCoord + CHECK (((Coordinates).Latitude >= -90) AND + ((Coordinates).Latitude <= 90) AND + ((Coordinates).Longitude > -180) AND + ((Coordinates).Longitude <= 180))); + +CREATE TABLE Island +(Name VARCHAR(50) CONSTRAINT IslandKey PRIMARY KEY, + Islands VARCHAR(50), + Area DECIMAL CONSTRAINT IslandAr check (Area >= 0), + Elevation DECIMAL, + Type VARCHAR(15), + Coordinates GeoCoord CONSTRAINT IslandCoord + CHECK (((Coordinates).Latitude >= -90) AND + ((Coordinates).Latitude <= 90) AND + ((Coordinates).Longitude > -180) AND + ((Coordinates).Longitude <= 180))); + +CREATE TABLE Lake +(Name VARCHAR(50) CONSTRAINT LakeKey PRIMARY KEY, + River VARCHAR(50), + Area DECIMAL CONSTRAINT LakeAr CHECK (Area >= 0), + Elevation DECIMAL, + Depth DECIMAL CONSTRAINT LakeDpth CHECK (Depth >= 0), + Height DECIMAL CONSTRAINT DamHeight CHECK (Height > 0), + Type VARCHAR(12), + Coordinates GeoCoord CONSTRAINT LakeCoord + CHECK (((Coordinates).Latitude >= -90) AND + ((Coordinates).Latitude <= 90) AND + ((Coordinates).Longitude > -180) AND + ((Coordinates).Longitude <= 180))); + +CREATE TABLE Sea +(Name VARCHAR(50) CONSTRAINT SeaKey PRIMARY KEY, + Area DECIMAL CONSTRAINT SeaAr CHECK (Area >= 0), + Depth DECIMAL CONSTRAINT SeaDepth CHECK (Depth >= 0)); + +CREATE TABLE River +(Name VARCHAR(50) CONSTRAINT RiverKey PRIMARY KEY, + River VARCHAR(50), + Lake VARCHAR(50), + Sea VARCHAR(50), + Length DECIMAL CONSTRAINT RiverLength + CHECK (Length >= 0), + Area DECIMAL CONSTRAINT RiverArea + CHECK (Area >= 0), + Source GeoCoord CONSTRAINT SourceCoord + CHECK (((Source).Latitude >= -90) AND + ((Source).Latitude <= 90) AND + ((Source).Longitude > -180) AND + ((Source).Longitude <= 180)), + Mountains VARCHAR(50), + SourceElevation DECIMAL, + Estuary GeoCoord CONSTRAINT EstCoord + CHECK (((Estuary).Latitude >= -90) AND + ((Estuary).Latitude <= 90) AND + ((Estuary).Longitude > -180) AND + ((Estuary).Longitude <= 180)), + EstuaryElevation DECIMAL, + CONSTRAINT RivFlowsInto + CHECK ((River IS NULL AND Lake IS NULL) + OR (River IS NULL AND Sea IS NULL) + OR (Lake IS NULL AND Sea is NULL))); + +CREATE TABLE RiverThrough +(River VARCHAR(50), + Lake VARCHAR(50), + CONSTRAINT RThroughKey PRIMARY KEY (River,Lake) ); + +CREATE TABLE geo_Mountain +(Mountain VARCHAR(50) , + Country VARCHAR(4) , + Province VARCHAR(50) , + CONSTRAINT GMountainKey PRIMARY KEY (Province,Country,Mountain) ); + +CREATE TABLE geo_Desert +(Desert VARCHAR(50) , + Country VARCHAR(4) , + Province VARCHAR(50) , + CONSTRAINT GDesertKey PRIMARY KEY (Province, Country, Desert) ); + +CREATE TABLE geo_Island +(Island VARCHAR(50) , + Country VARCHAR(4) , + Province VARCHAR(50) , + CONSTRAINT GIslandKey PRIMARY KEY (Province, Country, Island) ); + +CREATE TABLE geo_River +(River VARCHAR(50) , + Country VARCHAR(4) , + Province VARCHAR(50) , + CONSTRAINT GRiverKey PRIMARY KEY (Province ,Country, River) ); + +CREATE TABLE geo_Sea +(Sea VARCHAR(50) , + Country VARCHAR(4) , + Province VARCHAR(50) , + CONSTRAINT GSeaKey PRIMARY KEY (Province, Country, Sea) ); + +CREATE TABLE geo_Lake +(Lake VARCHAR(50) , + Country VARCHAR(4) , + Province VARCHAR(50) , + CONSTRAINT GLakeKey PRIMARY KEY (Province, Country, Lake) ); + +CREATE TABLE geo_Source +(River VARCHAR(50) , + Country VARCHAR(4) , + Province VARCHAR(50) , + CONSTRAINT GSourceKey PRIMARY KEY (Province, Country, River) ); + +CREATE TABLE geo_Estuary +(River VARCHAR(50) , + Country VARCHAR(4) , + Province VARCHAR(50) , + CONSTRAINT GEstuaryKey PRIMARY KEY (Province, Country, River) ); + +CREATE TABLE mergesWith +(Sea1 VARCHAR(50) , + Sea2 VARCHAR(50) , + CONSTRAINT MergesWithKey PRIMARY KEY (Sea1, Sea2) ); + +CREATE TABLE located +(City VARCHAR(50) , + Province VARCHAR(50) , + Country VARCHAR(4) , + River VARCHAR(50), + Lake VARCHAR(50), + Sea VARCHAR(50) ); + +CREATE TABLE locatedOn +(City VARCHAR(50) , + Province VARCHAR(50) , + Country VARCHAR(4) , + Island VARCHAR(50) , + CONSTRAINT locatedOnKey PRIMARY KEY (City, Province, Country, Island) ); + +CREATE TABLE islandIn +(Island VARCHAR(50) , + Sea VARCHAR(50) , + Lake VARCHAR(50) , + River VARCHAR(50) ); + +CREATE TABLE MountainOnIsland +(Mountain VARCHAR(50), + Island VARCHAR(50), + CONSTRAINT MountainIslKey PRIMARY KEY (Mountain, Island) ); + +CREATE TABLE LakeOnIsland +(Lake VARCHAR(50), + Island VARCHAR(50), + CONSTRAINT LakeIslKey PRIMARY KEY (Lake, Island) ); + +CREATE TABLE RiverOnIsland +(River VARCHAR(50), + Island VARCHAR(50), + CONSTRAINT RiverIslKey PRIMARY KEY (River, Island) ); + +CREATE TABLE Airport +(IATACode VARCHAR(3) PRIMARY KEY, + Name VARCHAR(100) , + Country VARCHAR(4) , + City VARCHAR(50) , + Province VARCHAR(50) , + Island VARCHAR(50) , + Latitude DECIMAL CONSTRAINT AirpLat + CHECK ((Latitude >= -90) AND (Latitude <= 90)) , + Longitude DECIMAL CONSTRAINT AirpLon + CHECK ((Longitude >= -180) AND (Longitude <= 180)) , + Elevation DECIMAL , + gmtOffset DECIMAL ); # 2025-11-11 11:52:27.530378 +select * from citylocalname; # 2025-11-11 12:21:08.081348 +update kunde set plz = plz + 50 +select * from kunde; # 2025-11-11 12:21:24.989976 +update kunde set plz = plz + 50; # 2025-11-11 12:21:35.499451 +select * from kunde; # 2025-11-11 12:34:55.226041 +update kunde set plz = plz + 50 +select * from kunde; # 2025-11-11 12:48:33.656171 +\q # 2025-11-27 09:48:03.007050 +\! # 2025-11-27 09:48:05.524171 +\q