Advertisement
Guest User

Untitled

a guest
Mar 29th, 2017
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 3.73 KB | None | 0 0
  1. USE master
  2. GO
  3.  
  4.  
  5. DROP DATABASE FestivalCannes
  6. GO
  7.  
  8. DROP login connexion1
  9. DROP login connexion2
  10. DROP login connexion3
  11. DROP login connexion4
  12. DROP login connexion5
  13.  
  14. CREATE DATABASE FestivalCannes
  15. GO
  16.  
  17. USE FestivalCannes
  18. GO
  19. /*
  20. drop table schema_jury.Edition, schema_jury.JuryEdition, schema_movies.Note, schema_movies.Film, schema_jury.Jury
  21. drop schema schema_jury
  22. go
  23. drop schema schema_movies
  24. go
  25. drop login connexion1
  26. drop login connexion2
  27. drop login connexion3
  28. drop login connexion4
  29. drop login connexion5
  30. go
  31. drop role all_privileges
  32. go
  33. */
  34.  
  35.  
  36. CREATE schema schema_jury
  37. GO
  38. CREATE schema schema_movies
  39. GO
  40.  
  41. CREATE login connexion1 WITH password = '1'
  42. CREATE login connexion2 WITH password = '1'
  43. CREATE login connexion3 WITH password = '1'
  44. CREATE login connexion4 WITH password = '1'
  45. CREATE login connexion5 WITH password = '1'
  46. GO
  47.  
  48. CREATE TABLE schema_jury.Edition(
  49.     Identifier INT PRIMARY KEY,
  50.     Annee INT
  51. );
  52. CREATE TABLE schema_jury.JuryEdition(
  53.     IdentifierJury INT NOT NULL,
  54.     IdentifierEdition INT NOT NULL,
  55.     EstPresident BIT
  56. );
  57. CREATE TABLE schema_movies.Note(
  58.     IdentifierJury INT NOT NULL,
  59.     IdentifierFilm INT NOT NULL,
  60.     Note INT
  61. );
  62. CREATE TABLE schema_movies.Film(
  63.     Identifier INT PRIMARY KEY,
  64.     Titre NVARCHAR(50),
  65.     Duree INT,
  66.     IdentifiantEdition INT NOT NULL
  67. );
  68. CREATE TABLE schema_jury.Jury(
  69.     Identifier INT PRIMARY KEY,
  70.     Nom NVARCHAR(50),
  71.     Prenom NVARCHAR(50)
  72. );
  73. GO
  74.  
  75. ALTER TABLE schema_jury.JuryEdition
  76. ADD CONSTRAINT [pk_juryedition]
  77. PRIMARY KEY (IdentifierJury, IdentifierEdition);
  78.  
  79. ALTER TABLE schema_movies.Note
  80. ADD CONSTRAINT [pk_note]
  81. PRIMARY KEY (IdentifierJury, IdentifierFilm);
  82.  
  83.  
  84. ALTER TABLE schema_movies.Note ADD CONSTRAINT fk_Note_Jury FOREIGN KEY (IdentifierJury) REFERENCES schema_jury.Jury (Identifier);
  85.  
  86. ALTER TABLE schema_movies.Note ADD CONSTRAINT fk_Note_Film FOREIGN KEY (IdentifierFilm) REFERENCES schema_movies.Film (Identifier);
  87.  
  88. ALTER TABLE schema_jury.JuryEdition ADD CONSTRAINT fk_JuryEdition_Edition FOREIGN KEY (IdentifierEdition) REFERENCES schema_jury.Edition (Identifier);
  89.  
  90. ALTER TABLE schema_jury.JuryEdition ADD CONSTRAINT fk_JuryEdition_Jury FOREIGN KEY (IdentifierJury) REFERENCES schema_jury.Jury (Identifier);
  91.  
  92. ALTER TABLE schema_movies.Film ADD CONSTRAINT fk_Film_Edition FOREIGN KEY (IdentifiantEdition) REFERENCES schema_jury.Edition (Identifier);
  93. GO
  94.  
  95. CREATE USER user1 FOR login connexion1
  96. CREATE USER user2 FOR login connexion2
  97. CREATE USER user3 FOR login connexion3
  98. CREATE USER user4 FOR login connexion4
  99. CREATE USER user5 FOR login connexion5
  100. GO
  101.  
  102. GRANT SELECT, INSERT, UPDATE, DELETE ON schema_jury.Edition TO user1
  103. GRANT INSERT ON schema_movies.Note TO user2
  104. GRANT SELECT ON schema_movies.Note TO user3
  105. GRANT SELECT, INSERT, UPDATE, DELETE ON schema_movies.Film TO user3
  106. CREATE ROLE all_privileges
  107. GRANT control ON schema ::schema_jury TO all_privileges
  108. GRANT control ON schema ::schema_movies TO all_privileges
  109. EXECUTE sp_addrolemember 'all_privileges', 'user4'
  110. EXECUTE sp_addrolemember 'db_datareader', 'user5'
  111. GO
  112.  
  113. EXECUTE AS USER = 'user1'
  114. GO
  115. INSERT INTO schema_jury.Edition VALUES (1, 2017);
  116. SELECT * FROM schema_jury.Edition
  117. INSERT INTO schema_jury.Jury VALUES (1, 'fdgfdg', 'fgh');
  118. SELECT * FROM schema_jury.Jury
  119. INSERT INTO schema_movies.Film VALUES (1, 'fdgfdg', 30, 1);
  120. SELECT * FROM schema_movies.Film
  121.  
  122. EXECUTE AS USER = 'user3'
  123. GO
  124. INSERT INTO schema_movies.Film VALUES (1, 'fdgfdg', 30, 1);
  125. SELECT * FROM schema_movies.Film
  126.  
  127. EXECUTE AS USER = 'user2'
  128. GO
  129. INSERT INTO schema_movies.Note VALUES (1, 1, 2);
  130. SELECT * FROM schema_movies.Note
  131.  
  132. EXECUTE AS USER = 'user5'
  133. GO
  134. SELECT * FROM schema_movies.Film INNER JOIN schema_jury.Edition ON Edition.Identifier = 1
  135. INSERT INTO schema_movies.Film VALUES (2, 'fdddddddddddddddgfdg', 30, 1);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement