734 lines
20 KiB
Text
734 lines
20 KiB
Text
|
|
# 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
|