Datenbank: Unterschied/Definition von Schlüsselkandidat und Schlüssel?

Hallo ich beschäftige mich mit (speziell) relationalen Datenbanken und bin beim Thema Schlüssel angekommen. Ich kenne den Unterschied zwischen Fremdschlüssel und Primärschlüssel, bloß verstehe ich noch nicht was der Unterschied zwischen Schlüsselkandidat und Schlüssel ist. Im Internet habe ich eig. jede Seite gegooglet und nachgeschaut, aber verstehen tu ich es trotzdem nicht. Fremdschlüssel: Hat die gleichen Eigenschaften wie ein Primärschlüssel Ist ein Primärschlüssel, der auf einen Primärschlüssel in einer anderen Tabelle hinweist Damit der Fremdschlüssel auf den Primärschlüsel hinweisen kann ,müssen die Werte des Fremschlüssels mit dem des Primärschlüssel übereinstimmen

Primärschlüssel: Eindeutiger Bezeichner einer Tupel Werden meist unterstrichen Ist ein auserwählter Schlüsselkandidat Dient also zur Identifikation Besteht aus einem oder mehreren Attributen Das habe ich verstanden. Bloß was ist der Unterschied zwischen Schlüsselkandidat und Schlüssel. Ein Schlüsselkandidat besteht aus einem oder mehreren Attributen und hat die Möglichkeit/Chance ein Primärschlüssel zu werden. So also kann ein Schlüssel nur aus einem Attribut bestehen oder wie ist das? Wenn ja dann wären wiederrum einige Schlüsselkandidaten auch Schlüssel, weil sie aus einem Attribut bestehen? Oder ist ein Schlüssel eine allgemeine Bezeichnung für alle anderen Schlüsselarten? Was ist denn der genaue Unterschied? Schlüssel können einen Tupel eindeutig identifizieren, aber Schlüsselkandidat doch auch?

Schlüssel, Datenbank, Informatik
Wie kann man in Access mehrere Filter per ODER verknüpfen?

Ich habe eine Access Datenbank-Tabelle mit den Einträgen Ersatzteilnummer, Materialtext, Typennummer, Sonstige Nummer und Kommentar.

Über ein Formular mit Suchfeld möchte ich mir Alle Datensätze anzeigen lassen, bei denen mindestens eine der Spalten meiner Datenbank den Suchbegriff enthält. Es sollen also alle Datensätze angezeigt werden bei denen die Eingabe im Materialtext vorkommt ODER in der Typennummer ODER im Kommentar usw.

Der Filter wie unten eingefügt funktioniert mehr oder weniger, jedoch habe ich so keine ODER Verknüpfung. Hat vielleicht jemand eine Idee, wie ich das realisieren könnte?

Vielen lieben Dank!! Max

If Len(Me!txtQSf) > 0 Then

Me.Filter = ""
       If Ersatzteilenummer Like "" & Me!txtQSf & "" Then
       Me.Filter = "Ersatzteilenummer LIKE '" & Me!txtQSf & "'"
       Me.FilterOn = True
    Else
        If Materialtext Like "*" & Me!txtQSf & "*" Then
            Me.Filter = "Materialtext LIKE '*" & Me!txtQSf & "*'"
            Me.FilterOn = True
        Else
                If Typennummer Like "*" & Me!txtQSf & "*" Then
                     Me.Filter = "Typennummer LIKE '*" & Me!txtQSf & "*'"
                     Me.FilterOn = True
                Else
                  If Kommentar Like "*" & Me!txtQSf & "*" Then
                      Me.Filter = "Kommentar LIKE '*" & Me!txtQSf & "*'"
                      Me.FilterOn = True
                  Else
                    If Sonstige_Nummer Like "*" & Me!txtQSf & "*" Then
                            Me.Filter = "Sonstige_Nummer LIKE '*" & Me!txtQSf & "*'"
                            Me.FilterOn = True
                    Else
                        Me.Filter = "Materialtext LIKE '*" & Me!txtQSf & "*'"
                        Me.FilterOn = True                              
     End If
     End If
     End If
     End If
     End If
Else
Me.Filter = ""
Me.FilterOn = False
End If

End Sub

Filter, Microsoft Office, programmieren, Access, VBA, Datenbank
MySQL select Abfrage mit spezieller Gruppierung

Hallo Leute,

ich stehe zur Zeit bei einer etwas (für mich) komplexen mySQL bzw. PHP Abfrage. Vielleicht könnt ihr mir einen Schubs in die richtige Richtung geben?!

Ich frage eine Tabelle mit verschiedenen Spalten ab, die auch verschiedene Werte beinhalten, die ich via AVG bzw. SUM berechne. Soweit so gut. In einer Spalte allerdings sind verschiedene Produktnamen die ich gruppieren will, allerdings gruppieren solange ein bestimmtes Zeichen im Produktnamen nicht erreicht ist.

Beispielabfrage:

SELECT COUNT(  `product` ) AS anzahl, AVG(  `aufwand` ) AS aufwand,  `product` FROM  `tabelle` WHERE 1 AND datum BETWEEN "$datumsvariable"  AND "$datumsvariable2'" AND `product` != "" AND  `product` !=  "\"\"" GROUP BY  `product`  ORDER BY  `aufwand`

Soweit so gut... Allerdings gibt es nun eben diese Produktnamen mit Klammern "(", die Details beinhalten die ich nicht als eigene Gruppe will. zB.

  • produktname AB
  • produktname CD
  • produktname CD (details bla bla)
  • produktname CD (details bla bla)
  • produktname AB
  • produktname AB (details bla bla)
  • produktname CD

Meine obige mySQL-Abfrage würde nun 4 Gruppen machen:

  • produktname AB
  • produktname AB (details bla bla)
  • produktname CD
  • produktname CD (details bla bla)

Ich will aber

  • produktname AB
  • produktname CD

Die produktname AB (details bla bla) und produktname CD (details bla bla) sollen enthalten sein in produktname AB bzw. produktname CD

Ich hoffe das war soweit verständlich und ihr könnt mir helfen.

Danke im Voraus, lg DeepX

SQL, programmieren, Datenbank, MySQL, PHP
Mehrere while Schleifen ineinander

Hallo zusammen,

ich glaube, meine Frage ist ziemlich leicht zu beantworten, da sie, wahrscheinlich, einfach nur auf einem Denkfehler beruht^^. Dennoch sitze ich jetzt seit einiger Zeit daran und finde keine Lösungsmöglichkeit, auch mit dem Inkrement einer Variable, damit eine Schleife nur einmal ausgeführt wird, führt nicht zum gewünschten Ergebnis. Vielleicht kann mir hier ja jemand weiterhelfen, bzw. hatte das gleiche Problem auch mal ;-)

Erstmal zum Vorhaben: Ich hole aus einer MySQL Datenbank die Spalte "Namen", diese Spalte beinhaltet, wer hät's gedacht, einige Namen. Der zweite Teil ist, dass ich mit der php Funktion "opendir" ein Verzeichnis auf dem Server öffne und alle Verzeichnisse dahinter auslese. Sprich: Ich öffne mit php den Ordner Namen, dann listet er mir die Verzeichnisse (sind mit Namen betitelt) dahinter auf. Soweit so gut, einzelnd funktioniert das auch super. Das Problem kommt erst, wenn ich beides gleichzeitig mache, dazu später mehr... Am Ende möchte ich die Namen, die ich aus der Datenbank geholt habe, von den Verzeichnisnamen abziehen, dies erfolgt mit string replace.

Nun der Code:

    $abfrage = "SELECT Name FROM blabla ORDER BY ID ASC";
    $ergebnis = mysql_query($abfrage);  
    while($row = mysql_fetch_object($ergebnis))
    {   
    echo $row->Name;

    if ($handle = opendir('../../../Namen/')) {
    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != "..") {
            echo $file;
        }
    }
    closedir($handle);
    }
    }

In der ersten while Schleife hole ich den Inhalt aus der Datenbank und gebe ihn aus, passt, dann öffne ich das Verzeichnis "Namen" auf dem Server und lasse die Verzeichnisse dahinter auflisten. Als Seitenoutput bekomme ich jetzt allerdings den ersten Namen der Datenbank, dann die Verzeichnisse auf dem Server, dann wieder ein Name der Datenbank und die Verzeichnisse auf dem Server, dann wieder ein Name der Datenbank usw. Ist logisch, da ich ja beide while Schleifen ineinander verschachtelt habe, somit bekomme ich jedes Mal, wenn etwas aus der Datenbank geholt wird, den Serverinhalt mit. Das soll aber nicht sein...

Nun zu meiner Frage: Wie bekomme ich es hin, dass ich $row->Name (erste while) von $file (zweite while) abziehen kann, ohne dass mir hunderte Sachen (while Ergebnisse) ausgegeben werden? Irgendwie stehe ich auf dem Schlauch...

Über eine Antwort und eine kurze Erklärung würde ich mich wirklich sehr freuen!

Grüße, Hummel

programmieren, Datenbank, MySQL, PHP, PHP 5
Datenbank mit Variable aus Python füllen

Hallo,

Ich möchte meine Temperaturmessungen gerne in einer Datenbank speichern. Das ganze System läuft auf einem Raspberry Pi in Python. Wie ich an die Druck und Temperaturdaten hinkomme, weiss ich mittlerweile. Ich habe momentan nur das Problem das bei mir der import von den Zahlen in die Datenbank nicht klappt. Hiereinmal mein Code:

#!/usr/bin/env python
import MySQLdb
db = MySQLdb.connect("localhost", "monitor", "1234", "wetterstation")
curs=db.cursor()
temperature1 = 98    #Momentan meine Variablen, ist später werden dann natürlich die werte aus den Sensoren genommen.
pressure1 = 1001

try:
curs.execute ("INSERT INTO wetterdata values(CURRENT_DATE(), NOW(),  18.2, 18.3)")
db.commit()
print "Data committed"

except:
print "Error: the database is being rolled back"
db.rollback()

So klappt das auch ganz gut, aber sobald ich eben die 18.1 und 18.3 über eine Variable mir rausfische, komme ich zu dem Error.

curs.execute ("INSERT INTO wetterdata (date, time, temperature, pressure) VALUES (CURRENT_DATE(), NOW(), (?), (?))" , (temperature, pressure))

das klappt leider nicht.

So habe ich die Tabelle Created..

CREATE TABLE wetterdata (date DATE, time TIME, temperature NUMERIC, pressure NUMERIC);

Ich bekomme leider auf immer ein error wenn ich die (?) durch %s oder %f oder %d ersetze. Würde mich freuen wenn mir da jemand helfen kann oder mir jemand eine andere Möglichkeit vorzeigt wie man Variablen einfach in eine Datenbank im lokalen Netzwerk bekommt.

Danke, Justin

SQL, Datenbank, Python, Raspberry Pi
Neue Website neben einer bestehenden aufsetzen - Wo Wordpress und Datenbank installieren auf Server?

Hallo liebe Community, ich sitze seit mittlerweile einigen Wochen an einem Problem und habe auch trotz weitgehender Recherche bei Google keine Antwort gefunden. Daher mein Aufruf hier.

Ich möchte eine bestehende Website neu aufsetzen. Aktuell läuft sie auf einem veralteten System und nun möchte ich Wordpress einsetzen. Wie ich später die Seite mit Wordpress aufbaue weiss ich. Auch habe ich eine neue Datenbank beim Hoster erstellt, Wordpress bereits gedownloaded und habe Server Zugang über FTP. Mein Problem und Fragen sind nach der besten und einfachsten Vorgehensweise:

  • Wo kommt Wordpress auf dem Server hin und wo die Datenbank?
  • Gerade beim Thema Datenbak habe ich Probleme - wo kommt die hin, was muss in ihr ausgefüllt werden, damit alles läuft?
  • Der Wordpress Ordner heißt ja auch Wordpress - wie kann ich verhindern, dass später eine /wordpress/ Verzeichnis in der URL liegt?
  • Welche Dateien muss ich ändern, damit es später läuft?
  • Wie kann ich sozusagen live arbeiten und erst wenn ich fertig bin die alte Website abschalten und die neue Seite aktivieren?
  • Habt ihr einen Code damit ich die Seite passwortschütze. Wo muss ich das einstellen?

Kurz gesagt: ich benötige einen Weg um möglichst einfach und sicher neben einer bestehenden Website eine neue nebenher aufzusetzen (Relaunch).

Ich wäre euch super dankbar, wenn ihr mir Tipps geben könntet. Wenn ihr möchtet gebe ich euch auch meine private Mailadresse. Kennt ihr Websites nennen wo genau diese Fragen geklärt werden, dann wäre ich über den ein oder anderen Link dankbar. Oder auch hier einen Leitfaden geben, wie ich am besten vorhehe. Ich danke sehr für eure Hilfe!!!

Webseite, programmieren, WordPress, Datenbank
Webprogrammierung mit Datenbank

Hallo Community,

Fragen zur "richtigen Programmiersprache" gibt es schon einige, auch einige Antworten. Allerdings alles noch nicht so konkret, wie ich es (vor Augen) habe: für eine konkrete Anwendung (Progammierung eines Dienstplanungs-Tools für den Sozialbereich) im Web such ich geeignete Werkzeuge (bzw. möglichst nur EIN Werkzeug). Folgende Voraussetzungen/Randbedinungen: - Ich arbeite gern unter Mac und wünsche mir idealerweise eine komplett visuelle IDE (d.h. ich möcht die Webseiten / Formulare nicht in HTML etc. programmieren, sondern wysiwyg entwerfen und den Programmcode dazu schreiben (etwa wie ich es von VBA kenne). - Datenbankanbindung (auch relational) soll möglichst einfach gehen, entspr. Ausgaben möchte ich auch visuell auf die Website bringen (d.h. möglichst wenig coden müssen) - Ich hab auch schon versucht, mit Python zu arbeiten, das war mir aber zu viel "drumherum" (bis ich am Mac eine virtuelle Umgebung hab, in der ich dann mit Python loslegen kann, dann brauch ich noch PHP, HTML/CSS etc. etc. muss die Frameworks wie Django o.a. kennen lernen und und und - lieber wär mir, ich arbeite so wie im VBA mit EINEM Programm und am end hab ich einen fertigen Quellcode den ich auf den Server lade und das ding rennt. - Vielversprechend scheint mir Wakanda (siehe wakanda.org), das eine non-sql-db ist und browser- und serverseitig mit Javascript arbeitet. Ich muss dort (erstmal) nicht selber coden, kann es aber doch - wenn ich will. - Meine Hauptsorge wg. Wakanda ist aber dieses JS: ich möchte nicht Diskussionen über Sicherheitsaspekte haben (da die Lösung offenbar zu 100% mit JS funktioniert, dh ohne Alternative, d.h. wer als User meint, JS muss er deaktivieren, der kann die Lösung nicht verwenden. Könnte das ein Thema werden? Wie wird JS & Sicherheit derzeit bewertet? Gibt es nicht "gefährlichere" Techniken? Wär neugierig... Hat jemand eine Alternative für meine Zwecke? Über jeden Tipp dankbar! Thomas

Sicherheit, Web, programmieren, JavaScript, Datenbank

Meistgelesene Fragen zum Thema Datenbank