ddl: primary_ddl.sql

File primary_ddl.sql, 2.8 KB (added by 221046, 8 hours ago)
Line 
1CREATE 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
9CREATE TABLE artist
10(
11 artist_id INT NOT NULL,
12 name VARCHAR(120),
13 CONSTRAINT artist_pkey PRIMARY KEY (artist_id)
14);
15
16CREATE 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
34CREATE 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
54CREATE TABLE genre
55(
56 genre_id INT NOT NULL,
57 name VARCHAR(120),
58 CONSTRAINT genre_pkey PRIMARY KEY (genre_id)
59);
60
61CREATE 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
75CREATE 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
85CREATE 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
92CREATE TABLE playlist
93(
94 playlist_id INT NOT NULL,
95 name VARCHAR(120),
96 CONSTRAINT playlist_pkey PRIMARY KEY (playlist_id)
97);
98
99CREATE 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
106CREATE 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);