Files
kubernetes/dev/tekton/examples/example-bank/data_model/cc_schema.sql
2025-11-23 18:58:51 +01:00

49 lines
1.3 KiB
SQL
Executable File

CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
CREATE DATABASE example;
\connect example;
CREATE SCHEMA IF NOT EXISTS bank;
set search_path to bank;
CREATE TABLE IF NOT EXISTS users (
user_id VARCHAR,
subject VARCHAR UNIQUE,
consent_given BOOLEAN NOT NULL,
delete_requested BOOLEAN NOT NULL,
PRIMARY KEY (user_id)
);
CREATE TABLE IF NOT EXISTS events (
event_id VARCHAR,
event_name VARCHAR NOT NULL,
point_value INTEGER,
location VARCHAR,
start_time TIMESTAMP,
end_time TIMESTAMP,
description VARCHAR,
PRIMARY KEY (event_id)
);
-- Events attended by users
CREATE TABLE IF NOT EXISTS user_event (
usr VARCHAR NOT NULL,
event VARCHAR NOT NULL,
PRIMARY KEY (usr, event),
FOREIGN KEY (usr) REFERENCES users(user_id) ON UPDATE CASCADE,
FOREIGN KEY (event) REFERENCES events(event_id) ON UPDATE CASCADE
);
-- Transactions
CREATE TABLE IF NOT EXISTS transactions (
transaction_id VARCHAR UNIQUE,
usr VARCHAR NOT NULL,
transaction_name VARCHAR,
amount NUMERIC(15,2),
category VARCHAR,
points_earned REAL,
processed BOOLEAN NOT NULL,
date TIMESTAMP,
PRIMARY KEY (transaction_id, usr),
FOREIGN KEY (usr) REFERENCES users(user_id) ON UPDATE CASCADE
);