| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- -- Скрипт инициализации БД для ПМ-11
- CREATE SCHEMA IF NOT EXISTS gaukov_dp;
- CREATE TABLE IF NOT EXISTS gaukov_dp.users (
- login VARCHAR(50) PRIMARY KEY,
- password VARCHAR(255) NOT NULL,
- role VARCHAR(20) NOT NULL
- );
- CREATE TABLE IF NOT EXISTS gaukov_dp.groups (
- id SERIAL PRIMARY KEY,
- name VARCHAR(50) NOT NULL UNIQUE,
- year INTEGER NOT NULL
- );
- CREATE TABLE IF NOT EXISTS gaukov_dp.students (
- record_book_id VARCHAR(20) PRIMARY KEY,
- last_name VARCHAR(100) NOT NULL,
- first_name VARCHAR(100) NOT NULL,
- middle_name VARCHAR(100),
- group_id INTEGER REFERENCES gaukov_dp.groups(id) ON DELETE SET NULL
- );
- CREATE TABLE IF NOT EXISTS gaukov_dp.teachers (
- id SERIAL PRIMARY KEY,
- last_name VARCHAR(100) NOT NULL,
- first_name VARCHAR(100) NOT NULL,
- middle_name VARCHAR(100)
- );
- CREATE TABLE IF NOT EXISTS gaukov_dp.subjects (
- id SERIAL PRIMARY KEY,
- title VARCHAR(200) NOT NULL UNIQUE,
- hours INTEGER
- );
- CREATE TABLE IF NOT EXISTS gaukov_dp.grades (
- id SERIAL PRIMARY KEY,
- record_book_id VARCHAR(20) REFERENCES gaukov_dp.students(record_book_id) ON DELETE CASCADE,
- subject_id INTEGER REFERENCES gaukov_dp.subjects(id) ON DELETE CASCADE,
- grade INTEGER NOT NULL CHECK (grade BETWEEN 2 AND 5),
- date DATE DEFAULT CURRENT_DATE
- );
- CREATE TABLE IF NOT EXISTS gaukov_dp.login_logs (
- id SERIAL PRIMARY KEY,
- user_role VARCHAR(20),
- status VARCHAR(50),
- login_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
- );
- INSERT INTO gaukov_dp.users (login, password, role) VALUES
- ('admin', 'admin123', 'admin'),
- ('teacher1', 'teacher123', 'teacher'),
- ('student1', 'student123', 'student')
- ON CONFLICT (login) DO NOTHING;
|