Advertisement
Guest User

lab2

a guest
Nov 21st, 2017
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 2.47 KB | None | 0 0
  1. DROP TABLE TERMS CASCADE CONSTRAINTS;
  2. DROP TABLE PAYMENT CASCADE CONSTRAINTS;
  3. DROP TABLE STUDENTS CASCADE CONSTRAINTS;
  4. DROP TABLE ATTESTATION CASCADE CONSTRAINTS;
  5. DROP TABLE SUBJECTS CASCADE CONSTRAINTS;
  6. DROP SEQUENCE STUDENT_SEQ;
  7. DROP SEQUENCE SUBJECTS_SEQ;
  8. DROP SEQUENCE ATTESTATION_SEQ;
  9. DROP SEQUENCE PAYMENT_SEQ;
  10.  
  11. CREATE TABLE STUDENTS (
  12.     STUDENT_ID      INTEGER PRIMARY KEY ,
  13.     n_record_book   VARCHAR2(7) NOT NULL UNIQUE,
  14.     fio             VARCHAR2(128) NOT NULL,
  15.     SEMESTER        VARCHAR(2) NOT NULL,
  16.     CHECK (SEMESTER>0)
  17. );
  18.  
  19.  
  20. CREATE INDEX STUDENTS_INDEX ON STUDENTS(N_RECORD_BOOK, fio);
  21. COMMIT;
  22.  
  23. CREATE SEQUENCE STUDENT_SEQ
  24.   MINVALUE 1
  25.   START WITH 1
  26.   INCREMENT BY 1
  27.   CACHE 20;
  28.   COMMIT;
  29.  
  30.  
  31. CREATE SEQUENCE SUBJECTS_SEQ
  32.   MINVALUE 1
  33.   START WITH 1
  34.   INCREMENT BY 1
  35.   CACHE 20;
  36.   COMMIT;
  37.  
  38. CREATE SEQUENCE ATTESTATION_SEQ
  39.   MINVALUE 1
  40.   START WITH 1
  41.   INCREMENT BY 1
  42.   CACHE 20;
  43.   COMMIT;
  44.  
  45. CREATE SEQUENCE PAYMENT_SEQ
  46.   MINVALUE 1
  47.   START WITH 1
  48.   INCREMENT BY 1
  49.   CACHE 20;
  50.   COMMIT;
  51.  
  52. INSERT INTO STUDENTS VALUES(STUDENT_SEQ.NEXTVAL,'1423369','Sidorov Petr', '1' );
  53. COMMIT;
  54.  
  55. CREATE TABLE SUBJECTS (
  56.     subject_id     INTEGER PRIMARY KEY ,
  57.     subject_name   VARCHAR2(128)    NOT NULL
  58. );
  59.  
  60. INSERT INTO SUBJECTS VALUES(SUBJECTS_SEQ.NEXTVAL, 'SUBD' );
  61. COMMIT;
  62.  
  63. CREATE TABLE terms (
  64.     N_SEMESTER                INTEGER NOT NULL,
  65.     TYPE                  VARCHAR2(128)    NOT NULL,
  66.     hours                 INTEGER NOT NULL,
  67.     SUBJECT_ID            INTEGER NOT NULL REFERENCES SUBJECTS(SUBJECT_ID) ON DELETE CASCADE,
  68.     test                  VARCHAR2(1),
  69.     exam                  INTEGER
  70. );
  71.  
  72. CREATE TABLE ATTESTATION (
  73.     ATTESTATION_ID         INTEGER NOT NULL PRIMARY KEY,
  74.     date_attestation       DATE NOT NULL,
  75.     mark                   INTEGER NOT NULL,
  76.     subject_id             INTEGER NOT NULL REFERENCES SUBJECTS(SUBJECT_ID) ON DELETE CASCADE
  77. );
  78.  
  79. CREATE TABLE PAYMENT (
  80.     PAYMENT_ID                         INTEGER NOT NULL PRIMARY KEY,
  81.     data_payment                       DATE NOT NULL,
  82.     account_number                     INTEGER NOT NULL,
  83.     amount_money                       INTEGER NOT NULL,
  84.     n_card                             INTEGER,
  85.     card_type                          VARCHAR2(15),
  86.     paymaster_id                       INTEGER,
  87.     attestation_id                     INTEGER NOT NULL REFERENCES ATTESTATION(ATTESTATION_ID) ON DELETE CASCADE
  88. );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement