Advertisement
Guest User

lab1.1

a guest
Oct 4th, 2018
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 2.03 KB | None | 0 0
  1. CREATE TABLE competition (
  2.     id                INTEGER NOT NULL,
  3.     start_date_time   DATE NOT NULL,
  4.     location          VARCHAR2(4000) NOT NULL,
  5.     laps_number       INTEGER NOT NULL,
  6.     name              VARCHAR2(4000)
  7. );
  8.  
  9. ALTER TABLE competition ADD CONSTRAINT competition_pk PRIMARY KEY ( id );
  10.  
  11. CREATE TABLE horse (
  12.     id           INTEGER NOT NULL,
  13.     name         VARCHAR2(4000) NOT NULL,
  14.     birth_date   DATE NOT NULL,
  15.     owner_id     INTEGER NOT NULL,
  16.     jockey_id    INTEGER
  17. );
  18.  
  19. ALTER TABLE horse ADD CONSTRAINT horse_pk PRIMARY KEY ( id );
  20.  
  21. CREATE TABLE jockey (
  22.     id           INTEGER NOT NULL,
  23.     name         VARCHAR2(4000) NOT NULL,
  24.     address      VARCHAR2(4000) NOT NULL,
  25.     birth_date   DATE NOT NULL,
  26.     height       NUMBER NOT NULL,
  27.     weight       NUMBER NOT NULL
  28. );
  29.  
  30. ALTER TABLE jockey ADD CONSTRAINT jockey_pk PRIMARY KEY ( id );
  31.  
  32. CREATE TABLE laps (
  33.     id               INTEGER NOT NULL,
  34.     laps_count       INTEGER NOT NULL,
  35.     place            VARCHAR2(4000) NOT NULL,
  36.     competition_id   INTEGER NOT NULL,
  37.     horse_id         INTEGER NOT NULL
  38. );
  39.  
  40. ALTER TABLE laps ADD CONSTRAINT laps_pk PRIMARY KEY ( id );
  41.  
  42. CREATE TABLE owner (
  43.     id        INTEGER NOT NULL,
  44.     name      VARCHAR2(4000) NOT NULL,
  45.     address   VARCHAR2(4000) NOT NULL
  46. );
  47.  
  48. ALTER TABLE owner ADD CONSTRAINT owner_pk PRIMARY KEY ( id );
  49.  
  50. ALTER TABLE horse
  51.     ADD CONSTRAINT horse_jockey_fk FOREIGN KEY ( jockey_id )
  52.         REFERENCES jockey ( id );
  53.  
  54. ALTER TABLE horse
  55.     ADD CONSTRAINT horse_owner_fk FOREIGN KEY ( owner_id )
  56.         REFERENCES owner ( id );
  57.  
  58. ALTER TABLE laps
  59.     ADD CONSTRAINT laps_competition_fk FOREIGN KEY ( competition_id )
  60.         REFERENCES competition ( id );
  61.  
  62. ALTER TABLE laps
  63.     ADD CONSTRAINT laps_horse_fk FOREIGN KEY ( horse_id )
  64.         REFERENCES horse ( id );
  65.  
  66. CREATE OR REPLACE TRIGGER fkntm_horse BEFORE
  67.     UPDATE OF owner_id ON horse
  68. BEGIN
  69.     raise_application_error(-20225,'Non Transferable FK constraint  on table HORSE is violated');
  70. END;
  71. /
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement