
Datenbankanbindung Problem
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Irgend wie gar nicht (sinnvoll)BlackJack hat geschrieben:@Kalli87: Wie verwendet man eine Tabelle mit Zeichenketten ohne das die eine Spalte mit IDs hat?

Aber wir wissen doch gar nicht, dass die keine ID haben? Kann ja eine automatisch generierte sein!
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
@Hyperion: Doch, wissen wir:
Kalli87 hat geschrieben:ich kann dir sagen das die Tabelle nur eine Spalte hat, nationalität varchar(50)
Keine laufende Nummer oder ähnliches.
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Ah... ok! Tja... dann ist das wirklich obskur 

encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
@Kalli87: Eine Tabelle ohne eine ID-Spalte beziehungsweise ein VARCHAR(50) als Primärschlüssel ist obskur.
Edit: Und das dann auch noch als einige Spalte der Tabelle. Wie setzt man das mit anderen Tabellen in Beziehung?
Edit: Und das dann auch noch als einige Spalte der Tabelle. Wie setzt man das mit anderen Tabellen in Beziehung?
Eigentlich dient die Tabelle nur um die Nationalitäten auszulesen und in ein dropdown menü zu packen.
Und das Dropdownmenü hängt in einem Formular was zum Kunden anlegen gedacht is.
Kundentabelle is extra und dort landet dann auch die nationalität.
Und das Dropdownmenü hängt in einem Formular was zum Kunden anlegen gedacht is.
Kundentabelle is extra und dort landet dann auch die nationalität.
@Kalli87: Was meinst Du mit in der Kundentabelle landet die Nationalität? Etwa auch als VARCHAR(50)? Genau das wäre ja falsch, denn dort sollte die *ID* von der Nationalität landen und nicht kopierte und damit redundante Daten. Das verletzt die Normalform des Schemas.
Zur Initialisierung von Datenbanken verwendet man normalerweise SQL das in *Dateien* steht und nicht live in die Konsole bei einem textbasierten Datenbankclient getippt wird. Das kann man dann bei solchen Clients entweder in den Client pipen oder den Dateinamen als Argument oder Option beim Aufruf angeben. Das wäre dann auch unabhängig von der Programmiersprache die man am Ende verwendet um die Datein aus der Datenbank zu verarbeiten.
Zur Initialisierung von Datenbanken verwendet man normalerweise SQL das in *Dateien* steht und nicht live in die Konsole bei einem textbasierten Datenbankclient getippt wird. Das kann man dann bei solchen Clients entweder in den Client pipen oder den Dateinamen als Argument oder Option beim Aufruf angeben. Das wäre dann auch unabhängig von der Programmiersprache die man am Ende verwendet um die Datein aus der Datenbank zu verarbeiten.
@Kalli87: Als GUI-Programm habe ich schon pgadmin3 verwendet. Und als Weboberfläche Adminer.
@Kalli87: Nun das Thema hatten wir ja schon: PostgreSQL ist da in der Grundeinstellung ziemlich sicher konfiguriert was das Anmelden betrifft. Man muss da schon ziemlich genau konfigurieren welche Nutzer wie und von wo darauf zugreifen können. *Das* sollte man dann aber auch drauf haben wenn man mit PostgreSQL arbeitet.