-- Kolo Bank: Data Definition Language (DDL) --
-- ============================================= -- Database: KoloBank1 -- Author: FunctionX -- Date Created: Sunday 22 December 2010 -- Updated: Sunday 25 December 2012 -- ============================================= USE master GO -- Drop the database if it already exists IF EXISTS ( SELECT name FROM sys.databases WHERE name = N'KoloBank1' ) DROP DATABASE KoloBank1; GO CREATE DATABASE KoloBank1; GO USE KoloBank1; GO CREATE SCHEMA Management; GO -- =================================================== -- Table: Management.DatabaseOperations -- Description: This table is used to hold information -- about operations performed on any table -- of the database. It specifies: -- a. The type of object on which the action -- was performed. The types of object can -- be a table -- b. The name of the table -- c. The name of the employee who -- performed the action. -- d. The action that was performed. This -- can be an insert, an update, or a -- delete operation -- e. The date/time the action was performed -- =================================================== CREATE TABLE Management.DatabaseOperations ( OperationID int identity(1,1) NOT NULL, ObjectType nchar(20) default N'Table', ObjectName nvarchar(40), PerformedBy nvarchar(50), ActionPerformed nvarchar(max), DatePerformed date, TimePerformed time, CONSTRAINT PK_Operations PRIMARY KEY(OperationID) ); GO CREATE TRIGGER LogNewTableCreation ON DATABASE FOR CREATE_TABLE AS BEGIN INSERT INTO Management.DatabaseOperations(ObjectType, PerformedBy, ActionPerformed, DatePerformed, TimePerformed) VALUES(default, SUSER_SNAME(), N'A new table was created', SYSDATETIME(), SYSDATETIME()) END GO