summaryrefslogtreecommitdiff
path: root/chapters/physic.tex
blob: 1e923a97ea26023da046c8e516dbcd7c1000088d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Qui di seguito è riportato il \verb|dump| in SQL per la creazione delle tabelle all'interno di PostgreSQL
\begin{lstlisting}[language=SQL]
CREATE TABLE "repository" (
    id serial PRIMARY KEY NOT NULL,
    url varchar(255) UNIQUE NOT NULL,
    created_date timestamp NOT NULL,
    updated_date timestamp NOT NULL,
	uploader_ip varchar(15) NOT NULL
);

CREATE TABLE "email"(
    email varchar(120) PRIMARY KEY NOT NULL,
    hash_md5 varchar(32) UNIQUE NOT NULL
);

CREATE TABLE "commit" (
    hash varchar(40) PRIMARY KEY NOT NULL,
    tree varchar(40) REFERENCES commit(hash) NULL,
    text text NOT NULL,
    date timestamp NOT NULL,
    author_email varchar(120) REFERENCES email(email) NOT NULL,
    author_name varchar(120) NOT NULL,
    committer_email varchar(120) REFERENCES email(email) NOT NULL,
    committer_name varchar(120) NOT NULL,
    repository_url varchar(256) REFERENCES repository(url) NOT NULL 
);

CREATE TABLE "branch" (
    id serial PRIMARY KEY NOT NULL,
    name varchar(120) NOT NULL,
    repository_id integer REFERENCES repository(id) NOT NULL,
    head varchar(40) REFERENCES commit(hash) NULL
);
\end{lstlisting}