summaryrefslogtreecommitdiff
path: root/sqlplain/doc/books1.sql
blob: 77da2ad42319d5d538157538b41576f0f15f23b7 (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
35
36
37
38
39
40
41
42
CREATE TABLE bookid (
 id INTEGER PRIMARY KEY,
 title VARCHAR(128),
 author VARCHAR(64),
 rdate DATETIME,
 UNIQUE (title, author, rdate)
);

CREATE TABLE score (
 score VARCHAR(4) PRIMARY KEY,
 value INTEGER);

INSERT INTO score VALUES ('+', 1);
INSERT INTO score VALUES ('O', 2);
INSERT INTO score VALUES ('O+', 3);
INSERT INTO score VALUES ('OO', 4);
INSERT INTO score VALUES ('OO+', 5);
INSERT INTO score VALUES ('OOO', 6);
INSERT INTO score VALUES ('OOO+', 7);
INSERT INTO score VALUES ('OOOO', 8);

CREATE TABLE genre (
 id CHAR(2) PRIMARY KEY,
 descr VARCHAR(32))

CREATE TABLE nation (
 id CHAR(2) PRIMARY KEY,
 descr VARCHAR(32));

CREATE TABLE book (
 id INTEGER PRIMARY KEY REFERENCES bookid (id),
 genre CHAR(2) REFERENCES genre (id),
 nation CHAR(2) REFERENCES nation (id),
 score INTEGER REFERENCES score (value));

CREATE VIEW book_view AS
 SELECT a.id, a.title, a.author, a.rdate, b.genre, b.nation, c.score 
 FROM bookid AS a
 INNER JOIN book AS b
 ON a.id = b.id
 INNER JOIN score AS c
 ON c.value=b.score;