SQL – die neusten Beiträge

Einfache Datenbanktabellen: Würdet ihr über ID oder Bezeichnung in die Tabelle gehen?

Beispiel: Es gibt eine Tabelle Abteilungen, die im Wesentlichen nur aus ID + Abteilungsname besteht

ID  Name
123 Produktion 
124 Versand
128 IT
...

Wenn ihr die Mitarbeitertabelle befüllen wollte, in der es einen Fremdschlüssel ABTEILUNG_ID gibt, würdet ihr im Quelltext die IDs direkt als Konstanten anlegen und verwenden, also

insert into MA (... ABTEILUNG_ID...) values (...' + constProduktion_ID + '...)

oder würdet ihr die ID anhand des Namens lesen

insert  into MA (...ABTEILUNG_ID...) values (...(select abt.ID from ABTEILUNG abt where abt.Name = ''Produktion'')...)

Die erste Variante hat den Nachteil, dass man die ID nicht ändern darf. Löschte man beispielsweise den Eintrag für Produktion und fügte ihn erneut ein, würde die Abteilung nicht mehr unter der alten ID gefunden werden. Man müsste die Konstante für die ID im Quelltext anpassen.

Die zweite Variante hat den Nachteil, dass der Name sich nicht ändern darf, weil der Subselect sonst ins Leere laufen würde.

Irgendwie erscheinen mir beide Varianten suboptimal, aber die erste sogar besser, weil die ID sich nicht so häufig ändern dürfte. Programmiertechnisch fühlt es sich dennoch falsch an, die IDs als Konstanten zu speichern und direkt ins Fremdschlüsselfeld einzutragen.

Bei den Abteilungen mag das vielleicht unkritisch sein, weil man normalerweise eine Oberfläche mit einer Auswahlliste an Abteilungen anbietet, die in der Datenbank zur Verfügung stehen.
Was ist aber mit anderen Feldern, die unterschiedliche Stati oder Bereiche darstellen oder wenn Einträge erfasst werden, die Standardwerte verwenden und nicht auf einer Eingabe aus einer Benutzeroberfläche her rühren?

Beispielsweise soll in einer Applikation für die Produktion automatisch die Abteilung auf 123 (Produktion) gesetzt werden.

Hat jemand von euch einen Rat?

Computer, Technik, SQL, programmieren, Datenbank, Technologie, Anfälligkeit

PHP Login-System: Verschiedene User auf jeweiliges Skript?

Hey.

Ich hab auf meinem XAMPP Server eine Datenbank mit drei festen Usern. Diesen sind ein Nutzername/ID (z.B. 4644786744) und ein Passwort (z.B. 4vv41ge6w) zugewiesen.
In einer weiteren Datenbank stehen Datensätze mit Lizenzschlüsseln.

Nehmen wir an, es die Nutzer-IDs der User sind folgende:

ID von User-01: 64154186756
ID von User-02: 56416816489
ID von User-03: 47485694587

Angenommen, die Datenbank mit den Schlüsseln ist folgende:

LIZENZSCHLÜSSEL ID

v64v6d04s1vgb68rv 64154186756
b41aswgvb0n041nd4 64154186756
gbv145nj1r410ndss 64154186756
gvsagvb104gv84410 56416816489
w41fdw01scd485sw1 56416816489
gedavge68v1408041 47485694587

User-01 hat 3 Schlüssel. User-02 hat 2 Stück, und User-03 hat einen Lizenzschlüssel.

Meine Frage nun:

Ich möchte jetzt ein Login Formular haben, mit dem sich z.B. User-02 mit seiner ID als Nutzername und seinem Passwort als Passwort anmelden kann und so dann die zu ihm gehörigen Lizenzen einsehen kann.

Zu den drei Nutzern habe ich jeweils eine php-Datei. Führt man die Datei für User-03 aus, werden die dem User-03 zugewiesenen Lizenzen ausgegeben.

Wie schaffe ich es, dass wenn sich ein User anmeldet, dass das Skript dann auch auf "seine Datei" zugreift?

Ein bisschen Code wäre z.B. auch sehr hilfreich :)

Eine etwas längere Frage...
Aber vielen Dank für jede Antwort und Hilfe.

Computer, Technik, SQL, HTML, programmieren, Login, Datenbank, MySQL, PHP, Technologie, xampp

HTML Formular Input in SQLite Datenbank speichern, (mit NodeJS) wie?

Hallo. Ich möchte den Input eines HTML-Formulars mit Hilfe von Node in eine SQLite Datenbank einfügen.

Mein index.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Hello world!</title>
    <script src="sqlite.js"></script>
</head>
<body>

    <form action="/team_name_url/" method="post">
        <label for="team_name">Enter name: </label>
        <input id="team_name" type="text" name="name_field" value="Default name for team.">
        <input type="submit" value="OK">
    </form>

</body>
</html>

Mein sqlite.js:

const sqlite3 = require('sqlite3');
const db = new sqlite3.Database('./sqlite.db');

let express = require('express');
let app = express();
const bodyParser= require('body-parser');


app.use(bodyParser.urlencoded({extended:true}));

app.post('/',(req,res)=>{
let placeName = req.body.PlaceName; 
});


db.run(`INSERT INTO places (id, name, coords) VALUES(4, ${placeName}, '1234, 5678');`, function(err) {
    if (err) {
        return console.log(err.message);
    }

    console.log(`A row has been inserted with rowid ${this.lastID}`);


});

db.close();
SQL, HTML, programmieren, JavaScript, Datenbank, SQLite, node.js, node

Woran erkennt man einen guten Entwickler und woher weiß ich, ob ich dazu in der Lage bin?

Schönen guten Tag,

ich habe vor 3 Jahren privat angefangen mir selbst programmieren beizubringen. In dieser Zeit, habe ich allerlei Programme erstellt. Angefangen von größeren, bis hin zu kleineren. Dabei kam ich mit

  • Java(Spring)
  • C#
  • PHP
  • HTML und CSS
  • SQL

in Berührung.

In letzter Zeit keimt aber das Verlangen in mir auf, zu erfahren, wo ich mit meiner Leistung stehe. Ich bin ein Mensch, der in dem was er tut, gut sein will. Das bedeutet, ich habe eine hohe Erwartungshaltung an mich selbst. Der Programmiersektor ist ein breit gefächerter Bereich und mir ist bewusst, dass man unmöglich sagen kann, wo genau man steht.

Ich kann nur sagen, dass ich Spaß mitbringe und bin sehr gerne auf der Suche nach Fehler im Quellcode. Aber wie wir alle wissen, reicht das unter Umständen nicht aus.

Woran erkennt man einen guten Programmierer? Und vor allem: Woran erkenne ich, ob ich das Zeug dazu habe?

Ich habe mich zu dem Thema intensiv befasst. Immer wieder lese ich darüber, dass das Erkennen von Problemen und Algorithmen zur Lösung zu erschaffen einen guten Programmierer ausmachen.

Ich bin auch sehr Selbstkritisch. Manchmal muss man sich selbst sagen können: Lass es lieber sein. Das ist nicht dein Weg. Dieser Umstand gepaart mit meiner hohen Erwartungshaltung an mich selbst, ist Gift. Gift für meinen Geist. Denn ich stehe mir damit selbst im Weg.

Ich habe auch das Gefühl von Programmierbereich zu Programmierbereich zu pendeln. Dabei bleibt das Gefühl zurück, etwas angefangen zu haben, aber nicht richtig gelernt zu haben.

Vielleicht kann mir ein erfahrener Programmierer etwas zu dem Thema sagen? Über mehrere und fundierte Antworten wäre ich sehr dankbar.

SQL, HTML, programmieren, Java, pro, Code, Selbstzweifel

Meistgelesene Beiträge zum Thema SQL