-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmake-banking.sql
130 lines (111 loc) · 4.96 KB
/
make-banking.sql
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
/* clean up old tables;
must drop tables with foreign keys first
due to referential integrity constraints
*/
delete from depositor;
drop table depositor;
delete from borrower;
drop table borrower;
delete from account;
drop table account;
delete from branch;
drop table branch;
delete from loan;
drop table loan;
delete from customer;
drop table customer;
create table account
(account_number varchar(15) not null unique,
branch_name varchar(15) not null,
balance number not null,
primary key(account_number));
create table branch
(branch_name varchar(15) not null unique,
branch_city varchar(15) not null,
assets number not null,
primary key(branch_name));
create table customer
(customer_name varchar(15) not null unique,
customer_street varchar(12) not null,
customer_city varchar(15) not null,
primary key(customer_name));
create table loan
(loan_number varchar(15) not null unique,
branch_name varchar(15) not null,
amount number not null,
primary key(loan_number));
create table depositor
(customer_name varchar(15) not null,
account_number varchar(15) not null,
primary key(customer_name, account_number),
foreign key(account_number) references account(account_number),
foreign key(customer_name) references customer(customer_name));
create table borrower
(customer_name varchar(15) not null,
loan_number varchar(15) not null,
primary key(customer_name, loan_number),
foreign key(customer_name) references customer(customer_name),
foreign key(loan_number) references loan(loan_number));
/* populate relations */
insert into customer values ('Jones', 'Main', 'Harrison');
insert into customer values ('Smith', 'Main', 'Rye');
insert into customer values ('Hayes', 'Main', 'Harrison');
insert into customer values ('Curry', 'North', 'Rye');
insert into customer values ('Lindsay', 'Park', 'Pittsfield');
insert into customer values ('Turner', 'Putnam', 'Stamford');
insert into customer values ('Williams', 'Nassau', 'Princeton');
insert into customer values ('Adams', 'Spring', 'Pittsfield');
insert into customer values ('Johnson', 'Alma', 'Palo Alto');
insert into customer values ('Glenn', 'Sand Hill', 'Woodside');
insert into customer values ('Brooks', 'Senator', 'Brooklyn');
insert into customer values ('Green', 'Walnut', 'Stamford');
insert into customer values ('Jackson', 'University', 'Salt Lake');
insert into customer values ('Majeris', 'First', 'Rye');
insert into customer values ('McBride', 'Safety', 'Rye');
insert into branch values ('Downtown', 'Brooklyn', 900000);
insert into branch values ('Redwood', 'Palo Alto', 2100000);
insert into branch values ('Perryridge', 'Horseneck', 1700000);
insert into branch values ('Mianus', 'Horseneck', 400200);
insert into branch values ('Round Hill', 'Horseneck', 8000000);
insert into branch values ('Pownal', 'Bennington', 400000);
insert into branch values ('North Town', 'Rye', 3700000);
insert into branch values ('Brighton', 'Brooklyn', 7000000);
insert into branch values ('Central', 'Rye', 400280);
insert into account values ('A-101', 'Downtown', 500);
insert into account values ('A-215', 'Mianus', 700);
insert into account values ('A-102', 'Perryridge', 400);
insert into account values ('A-305', 'Round Hill', 350);
insert into account values ('A-201', 'Perryridge', 900);
insert into account values ('A-222', 'Redwood', 700);
insert into account values ('A-217', 'Brighton', 750);
insert into account values ('A-333', 'Central', 850);
insert into account values ('A-444', 'North Town', 625);
insert into depositor values ('Johnson','A-101');
insert into depositor values ('Smith', 'A-215');
insert into depositor values ('Hayes', 'A-102');
insert into depositor values ('Hayes', 'A-101');
insert into depositor values ('Turner', 'A-305');
insert into depositor values ('Johnson','A-201');
insert into depositor values ('Jones', 'A-217');
insert into depositor values ('Lindsay','A-222');
insert into depositor values ('Majeris','A-333');
insert into depositor values ('Smith', 'A-444');
insert into loan values ('L-17', 'Downtown', 1000);
insert into loan values ('L-23', 'Redwood', 2000);
insert into loan values ('L-15', 'Perryridge', 1500);
insert into loan values ('L-14', 'Downtown', 1500);
insert into loan values ('L-93', 'Mianus', 500);
insert into loan values ('L-11', 'Round Hill', 900);
insert into loan values ('L-16', 'Perryridge', 1300);
insert into loan values ('L-20', 'North Town', 7500);
insert into loan values ('L-21', 'Central', 570);
insert into borrower values ('Jones', 'L-17');
insert into borrower values ('Smith', 'L-23');
insert into borrower values ('Hayes', 'L-15');
insert into borrower values ('Jackson', 'L-14');
insert into borrower values ('Curry', 'L-93');
insert into borrower values ('Smith', 'L-11');
insert into borrower values ('Williams','L-17');
insert into borrower values ('Adams', 'L-16');
insert into borrower values ('McBride', 'L-20');
insert into borrower values ('Smith', 'L-21');