1 | CREATE TABLE album
|
---|
2 | (
|
---|
3 | album_id INT NOT NULL,
|
---|
4 | title VARCHAR(160) NOT NULL,
|
---|
5 | artist_id INT NOT NULL,
|
---|
6 | CONSTRAINT album_pkey PRIMARY KEY (album_id)
|
---|
7 | );
|
---|
8 |
|
---|
9 | CREATE TABLE artist
|
---|
10 | (
|
---|
11 | artist_id INT NOT NULL,
|
---|
12 | name VARCHAR(120),
|
---|
13 | CONSTRAINT artist_pkey PRIMARY KEY (artist_id)
|
---|
14 | );
|
---|
15 |
|
---|
16 | CREATE TABLE customer
|
---|
17 | (
|
---|
18 | customer_id INT NOT NULL,
|
---|
19 | first_name VARCHAR(40) NOT NULL,
|
---|
20 | last_name VARCHAR(20) NOT NULL,
|
---|
21 | company VARCHAR(80),
|
---|
22 | address VARCHAR(70),
|
---|
23 | city VARCHAR(40),
|
---|
24 | state VARCHAR(40),
|
---|
25 | country VARCHAR(40),
|
---|
26 | postal_code VARCHAR(10),
|
---|
27 | phone VARCHAR(24),
|
---|
28 | fax VARCHAR(24),
|
---|
29 | email VARCHAR(60) NOT NULL,
|
---|
30 | support_rep_id INT,
|
---|
31 | CONSTRAINT customer_pkey PRIMARY KEY (customer_id)
|
---|
32 | );
|
---|
33 |
|
---|
34 | CREATE TABLE employee
|
---|
35 | (
|
---|
36 | employee_id INT NOT NULL,
|
---|
37 | last_name VARCHAR(20) NOT NULL,
|
---|
38 | first_name VARCHAR(20) NOT NULL,
|
---|
39 | title VARCHAR(30),
|
---|
40 | reports_to INT,
|
---|
41 | birth_date TIMESTAMP,
|
---|
42 | hire_date TIMESTAMP,
|
---|
43 | address VARCHAR(70),
|
---|
44 | city VARCHAR(40),
|
---|
45 | state VARCHAR(40),
|
---|
46 | country VARCHAR(40),
|
---|
47 | postal_code VARCHAR(10),
|
---|
48 | phone VARCHAR(24),
|
---|
49 | fax VARCHAR(24),
|
---|
50 | email VARCHAR(60),
|
---|
51 | CONSTRAINT employee_pkey PRIMARY KEY (employee_id)
|
---|
52 | );
|
---|
53 |
|
---|
54 | CREATE TABLE genre
|
---|
55 | (
|
---|
56 | genre_id INT NOT NULL,
|
---|
57 | name VARCHAR(120),
|
---|
58 | CONSTRAINT genre_pkey PRIMARY KEY (genre_id)
|
---|
59 | );
|
---|
60 |
|
---|
61 | CREATE TABLE invoice
|
---|
62 | (
|
---|
63 | invoice_id INT NOT NULL,
|
---|
64 | customer_id INT NOT NULL,
|
---|
65 | invoice_date TIMESTAMP NOT NULL,
|
---|
66 | billing_address VARCHAR(70),
|
---|
67 | billing_city VARCHAR(40),
|
---|
68 | billing_state VARCHAR(40),
|
---|
69 | billing_country VARCHAR(40),
|
---|
70 | billing_postal_code VARCHAR(10),
|
---|
71 | total NUMERIC(10,2) NOT NULL,
|
---|
72 | CONSTRAINT invoice_pkey PRIMARY KEY (invoice_id)
|
---|
73 | );
|
---|
74 |
|
---|
75 | CREATE TABLE invoice_line
|
---|
76 | (
|
---|
77 | invoice_line_id INT NOT NULL,
|
---|
78 | invoice_id INT NOT NULL,
|
---|
79 | track_id INT NOT NULL,
|
---|
80 | unit_price NUMERIC(10,2) NOT NULL,
|
---|
81 | quantity INT NOT NULL,
|
---|
82 | CONSTRAINT invoice_line_pkey PRIMARY KEY (invoice_line_id)
|
---|
83 | );
|
---|
84 |
|
---|
85 | CREATE TABLE media_type
|
---|
86 | (
|
---|
87 | media_type_id INT NOT NULL,
|
---|
88 | name VARCHAR(120),
|
---|
89 | CONSTRAINT media_type_pkey PRIMARY KEY (media_type_id)
|
---|
90 | );
|
---|
91 |
|
---|
92 | CREATE TABLE playlist
|
---|
93 | (
|
---|
94 | playlist_id INT NOT NULL,
|
---|
95 | name VARCHAR(120),
|
---|
96 | CONSTRAINT playlist_pkey PRIMARY KEY (playlist_id)
|
---|
97 | );
|
---|
98 |
|
---|
99 | CREATE TABLE playlist_track
|
---|
100 | (
|
---|
101 | playlist_id INT NOT NULL,
|
---|
102 | track_id INT NOT NULL,
|
---|
103 | CONSTRAINT playlist_track_pkey PRIMARY KEY (playlist_id, track_id)
|
---|
104 | );
|
---|
105 |
|
---|
106 | CREATE TABLE track
|
---|
107 | (
|
---|
108 | track_id INT NOT NULL,
|
---|
109 | name VARCHAR(200) NOT NULL,
|
---|
110 | album_id INT,
|
---|
111 | media_type_id INT NOT NULL,
|
---|
112 | genre_id INT,
|
---|
113 | composer VARCHAR(220),
|
---|
114 | milliseconds INT NOT NULL,
|
---|
115 | bytes INT,
|
---|
116 | unit_price NUMERIC(10,2) NOT NULL,
|
---|
117 | CONSTRAINT track_pkey PRIMARY KEY (track_id)
|
---|
118 | ); |
---|