DEV Community

Sharmila devi
Sharmila devi

Posted on

Create Tables

  1. Students table (id unique)
    CREATE TABLE students (
    id SERIAL PRIMARY KEY,
    name TEXT,
    age INT
    );

  2. Employees table (name & email not null)
    CREATE TABLE employees (
    id SERIAL PRIMARY KEY,
    name TEXT NOT NULL,
    email TEXT NOT NULL,
    phone_number TEXT
    );

  3. Users table (username & email unique)
    CREATE TABLE users (
    id SERIAL PRIMARY KEY,
    username TEXT UNIQUE,
    email TEXT UNIQUE
    );

  4. Products table (price > 0, stock ≥ 0)
    CREATE TABLE products (
    id SERIAL PRIMARY KEY,
    name TEXT,
    price DECIMAL CHECK (price > 0),
    stock INT CHECK (stock >= 0)
    );

  5. Orders table (default + timestamp)
    CREATE TABLE orders (
    id SERIAL PRIMARY KEY,
    status TEXT DEFAULT 'pending',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    );

  6. Accounts table
    CREATE TABLE accounts (
    id SERIAL PRIMARY KEY,
    account_number TEXT UNIQUE NOT NULL,
    balance INT CHECK (balance >= 0)
    );

  7. Enrollments table (unique combination)
    CREATE TABLE enrollments (
    student_id INT,
    course_id INT,
    PRIMARY KEY (student_id, course_id)
    );

  8. Departments & Employees (foreign key)
    CREATE TABLE departments (
    id SERIAL PRIMARY KEY,
    name TEXT
    );

CREATE TABLE employees (
id SERIAL PRIMARY KEY,
name TEXT,
department_id INT,
FOREIGN KEY (department_id) REFERENCES departments(id)
);

  1. Foreign key with cascade CREATE TABLE departments ( id SERIAL PRIMARY KEY, name TEXT );

CREATE TABLE employees (
id SERIAL PRIMARY KEY,
name TEXT,
department_id INT,
FOREIGN KEY (department_id)
REFERENCES departments(id)
ON DELETE CASCADE
ON UPDATE CASCADE
);

Top comments (0)