Tabellen in einer Tabelle

Allgemeines zu PostgreSQL.
Antworten
egokyniker123
Neuer Benutzer
Beiträge: 15
Registriert: Do 27. Jul 2017, 16:36

Tabellen in einer Tabelle

Beitrag von egokyniker123 » Do 27. Jul 2017, 16:41

Hallo
ist es möglich eine Tabelle zu erstellen, die selbst tabellen anzeigt, z.B. wollte ich jetzt keine liste von tabellen haben, wie
etwa
studenten1
studenten2
studenten3
usw.
sondern eher ine tabelle mit studierenden
und in der tabelle alle tabellen mit studenten1, studenten2 usw.
Zuletzt geändert von egokyniker123 am Do 27. Jul 2017, 16:58, insgesamt 2-mal geändert.

egokyniker123
Neuer Benutzer
Beiträge: 15
Registriert: Do 27. Jul 2017, 16:36

Re: Tabellen in einer Tabelle

Beitrag von egokyniker123 » Do 27. Jul 2017, 16:42

ich benutze die weboberfläche phpPg-Admin-5.1

Danke im voraus

akretschmer
Erfahrener Benutzer
Beiträge: 7319
Registriert: So 29. Okt 2006, 13:35
Wohnort: Kaufbach, Sachsen, Germany, Germany
Kontaktdaten:

Re: Tabellen in einer Tabelle

Beitrag von akretschmer » Do 27. Jul 2017, 17:33

Bahnhof.

Kannst das näher erklären?
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

egokyniker123
Neuer Benutzer
Beiträge: 15
Registriert: Do 27. Jul 2017, 16:36

Re: Tabellen in einer Tabelle

Beitrag von egokyniker123 » Do 27. Jul 2017, 18:11

Hallo
Das ist mein code, alle klausuren, die ich anlege, sind in der tabelle klausuren, und zu jeder einzelnen klausur gibt es zugehörige studenten.id tabelle.
so wird aber die liste der studenten.id sehr lang und ich wollte gerne eine tabelle mit studierende und in dieser alle tabellen mit studenten.id

Code: Alles auswählen

  // erzeuge neue Klausur
  $dbh->exec("INSERT INTO klausuren (name, changes, status) VALUES ('".$name."', '0', '1')");
  
  $res = $dbh->query("SELECT id FROM klausuren WHERE name='".$name."' AND status='1'");
  
  $data = $res->fetch(PDO::FETCH_ASSOC);
  $id = $data['id'];
  
  //Nun die neue Studenten-Tabelle anlegen:
  $s = "CREATE TABLE studenten".$id." (".
         "id serial NOT NULL,".
         "matrikelnummer int UNIQUE NOT NULL default '0',".
         "name varchar(30) NOT NULL default '',".
         "vorname varchar(30) NOT NULL default '',".
         "fachrichtung fachrichtung_type NOT NULL default 'unbekannt',".
         "semester smallint NOT NULL default '0',".
         "wiederholer smallint NOT NULL default '-1',".
         "punkte varchar(64) NOT NULL default '',".
         "punktesumme varchar(4) NOT NULL default '0',".
         "note smallint NOT NULL default '0',".
		 "prüfungsnummer smallint NOT NULL default '0',".
		 "prüfungsdatum smallint NOT NULL default '0',".
	     "teilleistung smallint NOT NULL default '0',".
	     "email smallint NOT NULL default '0',".
	     "anmeldedatum smallint NOT NULL default '0',".
         "sortname varchar(255) NOT NULL default '',".
		 "titel varchar(30) NOT NULL default '',".
		 "versuch smallint NOT NULL default '0',".
         "PRIMARY KEY (id)".
       ");";
  $dbh->exec($s);
  

  return $id;
}

DB.JPG
DB.JPG (12.86 KiB) 670 mal betrachtet
danke

pogomips
Benutzer
Beiträge: 44
Registriert: Fr 18. Nov 2016, 09:55

Re: Tabellen in einer Tabelle

Beitrag von pogomips » Di 1. Aug 2017, 19:47

Tabellen in einer Tabelle, sowas gibt es, aber ich glaube, Du bist auf den falschen Spur.
Das Bild mit einer Spalte und der gezeigte Code sind leider nicht so aussagekräftig.

Wenn Du Studenten und Klausuren und WelcherStudentenHatWelcheKlausurGeschrieben erfassen und darstellen willst, brauchst Du ca 3 Tabellen. Eine mit Studenten und deren ID, eine mit Klausuren und deren ID und eine mit den ID aus den beiden vorigen Tabellen plus weitere Attribute Note etc..
Das Ganze nennt sich Normalisierung in relationalen Datenbank und ist anhand vieler Tutorials und Theorie im Netz nachzulesen. Geht alles auch mit Postgres.

Kann natürlich sein, dass ich Dich falsch verstanden habe. Vielleicht beschreibst Du noch mal präziser, was Du vorhast. (Ich gehe mal davon aus, dass Du mit Tabellen keine HTML tables meinst, sondern das Datenhaltung gemeint ist.)

Antworten