molo4evan

Untitled

Sep 26th, 2018
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 1.18 KB | None | 0 0
  1. CREATE TABLE groups(
  2.     id INTEGER PRIMARY KEY AUTOINCREMENT,
  3.     gr_num TEXT NOT NULL UNIQUE,
  4.     departement_name TEXT,
  5.     begin_year INTEGER CHECK (begin_year >= 1990)
  6. );
  7.  
  8. CREATE TABLE students(
  9.     id INTEGER PRIMARY KEY AUTOINCREMENT,
  10.     first_name TEXT,
  11.     last_name TEXT,
  12.     group_id INTEGER REFERENCES groups(id),
  13.     UNIQUE(first_name, last_name)
  14. );
  15.  
  16. CREATE TABLE subjects (
  17.     id INTEGER PRIMARY KEY AUTOINCREMENT,
  18.     name text
  19. );
  20.  
  21. CREATE TABLE learning (
  22.     group_id INTEGER REFERENCES groups(id),
  23.     subject_id INTEGER REFERENCES subjects(id),
  24.     PRIMARY KEY(group_id, subject_id)
  25. );
  26.  
  27. CREATE TABLE schedule (
  28.     group_id INTEGER,
  29.     subject_id INTEGER,
  30.     day_num INTEGER,
  31.     lesson_num INTEGER,
  32.     PRIMARY KEY(group_id, day_num, lesson_num),
  33.     FOREIGN KEY(group_id, subject_id) REFERENCES learning(group_id, subject_id)
  34. );
  35.  
  36. INSERT INTO groups VALUES (1, 'A-10', 'MMD', 1999);
  37. INSERT INTO groups VALUES (2, 'A-11', 'MMD', 2007);
  38.  
  39. INSERT INTO students VALUES(1, 'Ivan', 'Ivanov', 5);
  40. INSERT INTO students VALUES(2, 'Ivan', 'Petrov', NULL);  --awful
  41. INSERT INTO students VALUES(3, 'Petr', 'Petrov', 2);
  42.  
  43. SELECT * FROM groups;
  44. SELECT '--------------';
  45. SELECT * FROM students;
Add Comment
Please, Sign In to add comment