From e0f426565fb508b8bc0d7fe9f833ebfb76ce56f2 Mon Sep 17 00:00:00 2001
From: Nicolas Paschoud <nicolas.paschoud@etu.hesge.ch>
Date: Fri, 29 Nov 2019 18:04:44 +0100
Subject: [PATCH] Hyperdrive.sql

---
 projet/hyperdrive.sql | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)
 create mode 100644 projet/hyperdrive.sql

diff --git a/projet/hyperdrive.sql b/projet/hyperdrive.sql
new file mode 100644
index 0000000..4fce94e
--- /dev/null
+++ b/projet/hyperdrive.sql
@@ -0,0 +1,33 @@
+CREATE DATABASE IF NOT EXISTS `hyperdrive` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
+USE `hyperdrive`;
+
+CREATE TABLE IF NOT EXISTS User (
+    pseudo varchar(60) NOT NULL,
+    passwd varchar(256) NOT NULL,
+    PRIMARY KEY (pseudo)
+);
+
+CREATE TABLE IF NOT EXISTS Paths (
+    paths varchar(50) NOT NULL,
+    pseudo varchar(60) NOT NULL,
+    PRIMARY KEY (paths),
+    FOREIGN KEY (pseudo) REFERENCES User(pseudo)
+);
+
+CREATE TABLE IF NOT EXISTS Files (
+    file_id varchar(100) NOT NULL,
+    file_name varchar(50) NOT NULL,
+    paths varchar(50) NOT NULL,
+    PRIMARY KEY (file_id),
+    FOREIGN KEY (paths) REFERENCES Paths(paths)
+);
+
+CREATE TABLE IF NOT EXISTS Share (
+    pseudo_1 varchar(60) NOT NULL,
+    pseudo_2 varchar(60) NOT NULL,
+    file_id varchar(100) NOT NULL,
+    PRIMARY KEY (pseudo_1, pseudo_2, file_id),
+    FOREIGN KEY (pseudo_1) REFERENCES User(pseudo),
+    FOREIGN KEY (pseudo_2) REFERENCES User(pseudo),
+    FOREIGN KEY (file_id) REFERENCES Files(file_id)
+);
\ No newline at end of file
-- 
GitLab