Bankprojekt DB Erstellung: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „== Anlegen der erforderlichen Tabellen in der Datenbank 'bankdb' == === Verbindung zur MariaDB herstellen === Öffnen Sie das Terminal und melden Sie sich mit…“)
 
(kein Unterschied)

Aktuelle Version vom 17. Februar 2025, 19:40 Uhr

Anlegen der erforderlichen Tabellen in der Datenbank 'bankdb'

Verbindung zur MariaDB herstellen

Öffnen Sie das Terminal und melden Sie sich mit dem Root-Benutzer bei MariaDB an:

mysql -u root -p

Geben Sie das Root-Passwort ein, wenn Sie dazu aufgefordert werden.

Datenbank auswählen

Wechseln Sie zur bestehenden Datenbank 'bankdb':

USE bankdb;

Tabelle 'users' erstellen

Diese Tabelle speichert die grundlegenden Informationen der Benutzer:

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL UNIQUE,
    email VARCHAR(100) NOT NULL UNIQUE,
    password_hash VARCHAR(255) NOT NULL,
    role ENUM('user', 'admin') NOT NULL DEFAULT 'user',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

Tabelle 'accounts' erstellen

Diese Tabelle verwaltet die Bankkonten der Benutzer:

CREATE TABLE accounts (
    id INT AUTO_INCREMENT PRIMARY KEY,
    user_id INT NOT NULL,
    balance DECIMAL(15,2) NOT NULL DEFAULT 10000.00,
    FOREIGN KEY (user_id) REFERENCES users(id)
);

Tabelle 'transactions' erstellen

Diese Tabelle zeichnet alle Transaktionen zwischen Konten auf:

CREATE TABLE transactions (
    id INT AUTO_INCREMENT PRIMARY KEY,
    sender_account_id INT NOT NULL,
    receiver_account_id INT NOT NULL,
    amount DECIMAL(15,2) NOT NULL,
    transaction_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (sender_account_id) REFERENCES accounts(id),
    FOREIGN KEY (receiver_account_id) REFERENCES accounts(id)
);

Tabelle 'transaction_limits' erstellen

Diese optionale Tabelle definiert Überweisungslimits für Benutzer:

CREATE TABLE transaction_limits (
    id INT AUTO_INCREMENT PRIMARY KEY,
    user_id INT NOT NULL,
    daily_limit DECIMAL(15,2) NOT NULL DEFAULT 1000.00,
    monthly_limit DECIMAL(15,2) NOT NULL DEFAULT 10000.00,
    FOREIGN KEY (user_id) REFERENCES users(id)
);