Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- drop database if exists
- BEGIN TRY
- DROP Database bank_model
- END TRY
- BEGIN CATCH
- -- database can't exist
- END CATCH
- -- create new database
- CREATE DATABASE bank_model
- go
- USE bank_model
- GO
- CREATE TABLE [bank_user] (
- bank_user_id int NOT NULL IDENTITY(1, 1),
- bank_user_name nvarchar(255) NOT NULL,
- bank_user_gender nvarchar(20) NOT NULL,
- bank_user_birthday date NOT NULL,
- PRIMARY KEY(bank_user_id)
- )
- GO
- INSERT INTO [dbo].[bank_user] ([bank_user_name],[bank_user_gender],[bank_user_birthday]) VALUES ('Davis Brown','m','1997-12-12');
- INSERT INTO [dbo].[bank_user] ([bank_user_name],[bank_user_gender],[bank_user_birthday]) VALUES ('Michael Richardson','m','1996-12-12');
- INSERT INTO [dbo].[bank_user] ([bank_user_name],[bank_user_gender],[bank_user_birthday]) VALUES ('Julia Richards','f','1999-11-12');
- INSERT INTO [dbo].[bank_user] ([bank_user_name],[bank_user_gender],[bank_user_birthday]) VALUES ('Mary Simpson','f','1999-09-12');
- INSERT INTO [dbo].[bank_user] ([bank_user_name],[bank_user_gender],[bank_user_birthday]) VALUES ('John Jackson','m','1976-12-25');
- INSERT INTO [dbo].[bank_user] ([bank_user_name],[bank_user_gender],[bank_user_birthday]) VALUES ('Annabeth Gordon','f','1945-04-19');
- INSERT INTO [dbo].[bank_user] ([bank_user_name],[bank_user_gender],[bank_user_birthday]) VALUES ('Barbara Wayne','f','1988-05-12');
- INSERT INTO [dbo].[bank_user] ([bank_user_name],[bank_user_gender],[bank_user_birthday]) VALUES ('Harrison White','m','1998-01-25');
- INSERT INTO [dbo].[bank_user] ([bank_user_name],[bank_user_gender],[bank_user_birthday]) VALUES ('Samantha Travis','f','1998-04-01');
- CREATE TABLE [dbo].[bank_transaction_type](
- [bank_transaction_type_id] [int],
- [bank_transaction_type_name] [nvarchar] (30)
- )
- GO
- INSERT INTO [dbo].[bank_transaction_type] ([bank_transaction_type_id],[bank_transaction_type_name]) VALUES (1, 'Cash pay');
- INSERT INTO [dbo].[bank_transaction_type] ([bank_transaction_type_id],[bank_transaction_type_name]) VALUES (2, 'Cash withdrawal');
- INSERT INTO [dbo].[bank_transaction_type] ([bank_transaction_type_id],[bank_transaction_type_name]) VALUES (3, 'Replenishment of cash');
- CREATE TABLE [dbo].[bank_user_gender] (
- [bank_user_gender_short] [nvarchar] (5),
- [bank_user_gender_long] [nvarchar] (50)
- )
- GO
- INSERT INTO [dbo].[bank_user_gender] ([bank_user_gender_short],[bank_user_gender_long]) VALUES ('f','female');
- INSERT INTO [dbo].[bank_user_gender] ([bank_user_gender_short],[bank_user_gender_long]) VALUES ('m','male');
- CREATE TABLE [dbo].[bank_currency](
- [bank_currency_id] [INT],
- [bank_currency_name] [nvarchar] (30)
- )
- GO
- INSERT INTO [dbo].[bank_currency] ([bank_currency_id],[bank_currency_name]) VALUES (1, 'KZT');
- INSERT INTO [dbo].[bank_currency] ([bank_currency_id],[bank_currency_name]) VALUES (2, 'RUB');
- INSERT INTO [dbo].[bank_currency] ([bank_currency_id],[bank_currency_name]) VALUES (3, 'USD');
- INSERT INTO [dbo].[bank_currency] ([bank_currency_id],[bank_currency_name]) VALUES (4, 'EUR');
- CREATE TABLE [dbo].[bank_transaction_t] (
- [bank_transaction_t_id] [INT] IDENTITY(1,1),
- [bank_transaction_t_type] [int],
- [bank_transaction_t_account_id_from] [INT],
- [bank_transaction_t_account_id_to] [INT],
- [bank_transaction_t_time] [DATETIME],
- [bank_transaction_t_amount] [money]
- )
- create table [dbo].[bank_transaction_session](
- [bank_transaction_session_id] int,
- [bank_transaction_session_transaction_id] int
- );
- ---transactions table for update-----
- CREATE TABLE [bank_accounts] (
- bank_accounts_id int NOT NULL IDENTITY(1, 1),
- bank_accounts_user_id int NOT NULL,
- bank_accounts_hash nvarchar(20) NOT NULL,
- bank_accounts_status int NOT NULL,
- bank_accounts_currency int NOT NULL,
- bank_accounts_amount money NOT NULL,
- bank_accounts_type nvarchar(20) NOT NULL,
- PRIMARY KEY(bank_accounts_id)
- )
- GO
- INSERT INTO [dbo].[bank_accounts]([bank_accounts_user_id],[bank_accounts_hash],[bank_accounts_status],[bank_accounts_amount],[bank_accounts_currency],[bank_accounts_type]) VALUES (2,'971212021',1,550.45,1,'dep');
- INSERT INTO [dbo].[bank_accounts]([bank_accounts_user_id],[bank_accounts_hash],[bank_accounts_status],[bank_accounts_amount],[bank_accounts_currency],[bank_accounts_type]) VALUES (2,'971212022',1,1550.45,1,'cred');
- INSERT INTO [dbo].[bank_accounts]([bank_accounts_user_id],[bank_accounts_hash],[bank_accounts_status],[bank_accounts_amount],[bank_accounts_currency],[bank_accounts_type]) VALUES (5,'761225051',1,111550.78,1,'pen');
- INSERT INTO [dbo].[bank_accounts]([bank_accounts_user_id],[bank_accounts_hash],[bank_accounts_status],[bank_accounts_amount],[bank_accounts_currency],[bank_accounts_type]) VALUES (6,'450419061',1,112550.78,1,'pen');
- INSERT INTO [dbo].[bank_accounts]([bank_accounts_user_id],[bank_accounts_hash],[bank_accounts_status],[bank_accounts_amount],[bank_accounts_currency],[bank_accounts_type]) VALUES (7,'880512071',1,56572.78,1,'pen');
- INSERT INTO [dbo].[bank_accounts]([bank_accounts_user_id],[bank_accounts_hash],[bank_accounts_status],[bank_accounts_amount],[bank_accounts_currency],[bank_accounts_type]) VALUES (5,'761225052',1,11750.78,1,'dep');
- INSERT INTO [dbo].[bank_accounts]([bank_accounts_user_id],[bank_accounts_hash],[bank_accounts_status],[bank_accounts_amount],[bank_accounts_currency],[bank_accounts_type]) VALUES (1,'971212011',1,114545.99,1,'cred');
- INSERT INTO [dbo].[bank_accounts]([bank_accounts_user_id],[bank_accounts_hash],[bank_accounts_status],[bank_accounts_amount],[bank_accounts_currency],[bank_accounts_type]) VALUES (3,'991112031',1,117821.78,1,'dep');
- INSERT INTO [dbo].[bank_accounts]([bank_accounts_user_id],[bank_accounts_hash],[bank_accounts_status],[bank_accounts_amount],[bank_accounts_currency],[bank_accounts_type]) VALUES (4,'990912041',1,245550.78,1,'dep');
- INSERT INTO [dbo].[bank_accounts]([bank_accounts_user_id],[bank_accounts_hash],[bank_accounts_status],[bank_accounts_amount],[bank_accounts_currency],[bank_accounts_type]) VALUES (5,'761225053',0,785150.78,1,'cred');
- INSERT INTO [dbo].[bank_accounts]([bank_accounts_user_id],[bank_accounts_hash],[bank_accounts_status],[bank_accounts_amount],[bank_accounts_currency],[bank_accounts_type]) VALUES (4,'990912042',0,0.78,1,'cred');
- CREATE TABLE [bank_transaction_a] (
- bank_transaction_a_id int NOT NULL,
- bank_transaction_a_time date NOT NULL,
- bank_transaction_a_type int NOT NULL,
- bank_transaction_a_amount money NOT NULL,
- bank_transaction_a_currency_from int NOT NULL,
- bank_transaction_a_currency_to int NOT NULL,
- bank_transaction_a_account_id_from nvarchar(20) NOT NULL,
- bank_transaction_a_account_id_to nvarchar(20) NOT NULL,
- bank_transaction_a_account_status_from int NOT NULL,
- bank_transaction_a_account_status_to int NOT NULL,
- bank_transaction_a_amount_from int NOT NULL,
- bank_transaction_a_amount_to int NOT NULL,
- CONSTRAINT [PK_BANK_TRANSACTION_A] PRIMARY KEY CLUSTERED
- (
- [bank_transaction_a_id] ASC
- ) WITH (IGNORE_DUP_KEY = OFF)
- )
- GO
- ALTER TABLE [bank_accounts] WITH CHECK ADD CONSTRAINT [bank_accounts_fk0] FOREIGN KEY ([bank_accounts_user_id]) REFERENCES [bank_user]([bank_user_id])
- ON UPDATE CASCADE
- GO
- ALTER TABLE [bank_accounts] CHECK CONSTRAINT [bank_accounts_fk0]
- GO
- ALTER TABLE [bank_transaction_a] WITH CHECK ADD CONSTRAINT [bank_transaction_a_fk0] FOREIGN KEY ([bank_transaction_a_user_id_from]) REFERENCES [bank_user]([bank_user_id])
- ON UPDATE CASCADE
- GO
- ALTER TABLE [bank_transaction_a] CHECK CONSTRAINT [bank_transaction_a_fk0]
- GO
- ALTER TABLE [bank_transaction_a] WITH CHECK ADD CONSTRAINT [bank_transaction_a_fk1] FOREIGN KEY ([bank_transaction_a_user_id_to]) REFERENCES [bank_user]([bank_user_id])
- ON UPDATE
- GO
- ALTER TABLE [bank_transaction_a] CHECK CONSTRAINT [bank_transaction_a_fk1]
- GO
- ALTER TABLE [bank_transaction_a] WITH CHECK ADD CONSTRAINT [bank_transaction_a_fk2] FOREIGN KEY ([bank_transaction_a_account_id_from]) REFERENCES [bank_accounts]([bank_accounts_id])
- ON UPDATE CASCADE
- GO
- ALTER TABLE [bank_transaction_a] CHECK CONSTRAINT [bank_transaction_a_fk2]
- GO
- ALTER TABLE [bank_transaction_a] WITH CHECK ADD CONSTRAINT [bank_transaction_a_fk3] FOREIGN KEY ([bank_transaction_a_account_id_to]) REFERENCES [bank_accounts]([bank_accounts_id])
- ON UPDATE
- GO
- ALTER TABLE [bank_transaction_a] CHECK CONSTRAINT [bank_transaction_a_fk3]
- GO
- INSERT INTO [dbo].[bank_transaction_session] VALUES (1,1);
- ---index section----------------
- CREATE INDEX idx_tr_time ON [dbo].[bank_transaction_a]([bank_transaction_a_time]);
- CREATE INDEX idx_tr_amount ON [dbo].[bank_transaction_a]([bank_transaction_a_amount]);
- CREATE INDEX idx_tr_type ON [dbo].[bank_transaction_a]([bank_transaction_a_type]);
- CREATE INDEX idx_cl_acid ON [dbo].[bank_accounts]([bank_accounts_hash]);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement