Advertisement
Guest User

Untitled

a guest
Apr 28th, 2016
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 2.64 KB | None | 0 0
  1. /*
  2. Etap 1: logowanie i rejestracja
  3. login.php?email=&password=
  4. register.php?email=&name=&surname=&password=
  5. */
  6. CREATE TABLE IF NOT EXISTS Users
  7. (
  8. Email VARCHAR(60) NOT NULL,
  9. Name VARCHAR(20) NOT NULL,
  10. Surname VARCHAR(30) NOT NULL,
  11. Password VARCHAR(30) NOT NULL,
  12. PRIMARY KEY (Email)
  13. );
  14.  
  15. /*
  16. Etap 2: tworzenie, wyszukiwanie i dołączanie do grup
  17. add_group.php?name=&description=&password=&user=&color=
  18. edit_group.php?id=&name=&description=&password=
  19. edit_group_member.php?group=&user=&color=
  20. edit_group_member.php?group=&user=&status=
  21. delete_group.php?id=
  22. *get_users_groups.php?user=
  23. *add_group_tag.php
  24. *delete_group_tag.php
  25. */
  26. CREATE TABLE IF NOT EXISTS Groups
  27. (
  28. Id INT NOT NULL AUTO_INCREMENT,
  29. Name VARCHAR(40) NOT NULL,
  30. Description TEXT,
  31. Password VARCHAR(40),
  32. PRIMARY KEY (Id)
  33. );
  34.  
  35. CREATE TABLE IF NOT EXISTS GroupMembers
  36. (
  37. Group_id INT NOT NULL,
  38. User_id VARCHAR(60) NOT NULL,
  39. Marker_color VARCHAR(7) /* hex #A668C3 */,
  40. Status VARCHAR(10) NOT NULL, /* owner, admin, member */
  41. PRIMARY KEY (Group_id, User_id),
  42. FOREIGN KEY (Group_id) REFERENCES Groups(Id),
  43. FOREIGN KEY (User_id) REFERENCES Users(Id)
  44. );
  45.  
  46. CREATE TABLE IF NOT EXISTS GroupTags
  47. (
  48. Group_id INT NOT NULL,
  49. Tag VARCHAR(20) NOT NULL,
  50. PRIMARY KEY (Group_id, Tag),
  51. FOREIGN KEY (Group_id) REFERENCES Groups(Id)
  52. );
  53.  
  54. /* Etap 3: tworzenie miejsc przez grupy lub użytkowników */
  55. CREATE TABLE IF NOT EXISTS Spots
  56. (
  57. Id INT NOT NULL AUTO_INCREMENT,
  58. Name VARCHAR(30) NOT NULL,
  59. Latitude DECIMAL NOT NULL,
  60. Longitude DECIMAL NOT NULL,
  61. Description TEXT,
  62. PRIMARY KEY (Id)
  63. );
  64.  
  65. CREATE TABLE IF NOT EXISTS SpotsOwnedByUsers
  66. (
  67. Spot_id INT NOT NULL,
  68. User_id INT NOT NULL,
  69. FOREIGN KEY (Spot_id) REFERENCES Spots(Id),
  70. FOREIGN KEY (User_id) REFERENCES Users(Id)
  71. );
  72.  
  73. CREATE TABLE IF NOT EXISTS SpotsOwnedByGroups
  74. (
  75. Spot_id INT NOT NULL,
  76. Group_id INT NOT NULL,
  77. FOREIGN KEY (Spot_id) REFERENCES Spots(Id),
  78. FOREIGN KEY (Group_id) REFERENCES Groups(Id)
  79. );
  80.  
  81. /* Etap 4: tworzenie wydarzeń w określonych miejscach przez grupy lub użytkowników */
  82. CREATE TABLE IF NOT EXISTS Events
  83. (
  84. Id INT NOT NULL AUTO_INCREMENT,
  85. Name VARCHAR(30) NOT NULL,
  86. Spot_id INT NOT NULL,
  87. Start_time DATETIME,
  88. End_time DATETIME,
  89. Description TEXT,
  90. PRIMARY KEY (Id),
  91. FOREIGN KEY (Spot_id) REFERENCES Spots(Id)
  92. );
  93.  
  94. CREATE TABLE IF NOT EXISTS EventsOwnedByUsers
  95. (
  96. Event_id INT NOT NULL,
  97. User_id INT NOT NULL,
  98. FOREIGN KEY (Event_id) REFERENCES Events(Id),
  99. FOREIGN KEY (User_id) REFERENCES Users(Id)
  100. );
  101.  
  102. CREATE TABLE IF NOT EXISTS EventsOwnedByGroups
  103. (
  104. Event_id INT NOT NULL,
  105. Group_id INT NOT NULL,
  106. FOREIGN KEY (Event_id) REFERENCES Events(Id),
  107. FOREIGN KEY (Group_id) REFERENCES Groups(Id)
  108. );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement