/****** Object:  Database [students]    Script Date: 12/1/2020 9:32:41 PM ******/
IF NOT EXISTS (SELECT name FROM sys.databases WHERE name = N'students')
BEGIN
CREATE DATABASE [students]
 CONTAINMENT = NONE
 ON  PRIMARY 
( NAME = N'students', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\students.mdf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB )
 LOG ON 
( NAME = N'students_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\students_log.ldf' , SIZE = 8192KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB )
 WITH CATALOG_COLLATION = DATABASE_DEFAULT
END
GO
ALTER DATABASE [students] SET COMPATIBILITY_LEVEL = 150
GO
IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
begin
EXEC [students].[dbo].[sp_fulltext_database] @action = 'enable'
end
GO
ALTER DATABASE [students] SET ANSI_NULL_DEFAULT OFF 
GO
ALTER DATABASE [students] SET ANSI_NULLS OFF 
GO
ALTER DATABASE [students] SET ANSI_PADDING OFF 
GO
ALTER DATABASE [students] SET ANSI_WARNINGS OFF 
GO
ALTER DATABASE [students] SET ARITHABORT OFF 
GO
ALTER DATABASE [students] SET AUTO_CLOSE OFF 
GO
ALTER DATABASE [students] SET AUTO_SHRINK OFF 
GO
ALTER DATABASE [students] SET AUTO_UPDATE_STATISTICS ON 
GO
ALTER DATABASE [students] SET CURSOR_CLOSE_ON_COMMIT OFF 
GO
ALTER DATABASE [students] SET CURSOR_DEFAULT  GLOBAL 
GO
ALTER DATABASE [students] SET CONCAT_NULL_YIELDS_NULL OFF 
GO
ALTER DATABASE [students] SET NUMERIC_ROUNDABORT OFF 
GO
ALTER DATABASE [students] SET QUOTED_IDENTIFIER OFF 
GO
ALTER DATABASE [students] SET RECURSIVE_TRIGGERS OFF 
GO
ALTER DATABASE [students] SET  DISABLE_BROKER 
GO
ALTER DATABASE [students] SET AUTO_UPDATE_STATISTICS_ASYNC OFF 
GO
ALTER DATABASE [students] SET DATE_CORRELATION_OPTIMIZATION OFF 
GO
ALTER DATABASE [students] SET TRUSTWORTHY OFF 
GO
ALTER DATABASE [students] SET ALLOW_SNAPSHOT_ISOLATION OFF 
GO
ALTER DATABASE [students] SET PARAMETERIZATION SIMPLE 
GO
ALTER DATABASE [students] SET READ_COMMITTED_SNAPSHOT OFF 
GO
ALTER DATABASE [students] SET HONOR_BROKER_PRIORITY OFF 
GO
ALTER DATABASE [students] SET RECOVERY FULL 
GO
ALTER DATABASE [students] SET  MULTI_USER 
GO
ALTER DATABASE [students] SET PAGE_VERIFY CHECKSUM  
GO
ALTER DATABASE [students] SET DB_CHAINING OFF 
GO
ALTER DATABASE [students] SET FILESTREAM( NON_TRANSACTED_ACCESS = OFF ) 
GO
ALTER DATABASE [students] SET TARGET_RECOVERY_TIME = 60 SECONDS 
GO
ALTER DATABASE [students] SET DELAYED_DURABILITY = DISABLED 
GO
ALTER DATABASE [students] SET ACCELERATED_DATABASE_RECOVERY = OFF  
GO
EXEC sys.sp_db_vardecimal_storage_format N'students', N'ON'
GO
ALTER DATABASE [students] SET QUERY_STORE = OFF
GO
/****** Object:  Table [dbo].[Classes]    Script Date: 12/1/2020 9:32:41 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Classes]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[Classes](
	[ClassID] [int] IDENTITY(1,1) NOT NULL,
	[Name] [varchar](100) NULL,
	[Description] [varchar](max) NULL,
	[Cost] [decimal](18, 2) NULL,
	[LocationID] [int] NULL,
	[TimeStamp] [datetime] NULL,
	[DeleteFlag] [bit] NULL,
	[Capacity] [int] NULL,
 CONSTRAINT [PK_Classes] PRIMARY KEY CLUSTERED 
(
	[ClassID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
END
GO
/****** Object:  Table [dbo].[Locations]    Script Date: 12/1/2020 9:32:41 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Locations]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[Locations](
	[LocationID] [int] IDENTITY(1,1) NOT NULL,
	[Name] [varchar](100) NULL,
	[TimeStamp] [datetime] NULL,
	[DeleteFlag] [bit] NULL,
 CONSTRAINT [PK_Locations] PRIMARY KEY CLUSTERED 
(
	[LocationID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
/****** Object:  Table [dbo].[Users]    Script Date: 12/1/2020 9:32:41 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Users]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[Users](
	[UserID] [int] IDENTITY(1,1) NOT NULL,
	[FirstName] [varchar](100) NULL,
	[LastName] [varchar](100) NULL,
	[Email] [varchar](100) NULL,
	[Password] [varchar](50) NULL,
	[TimeStamp] [datetime] NULL,
	[DeleteFlag] [bit] NULL,
	[IsTeacher] [bit] NULL,
 CONSTRAINT [PK_Users] PRIMARY KEY CLUSTERED 
(
	[UserID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
/****** Object:  Table [dbo].[UsersAttendance]    Script Date: 12/1/2020 9:32:41 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[UsersAttendance]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[UsersAttendance](
	[UserAttendanceID] [int] IDENTITY(1,1) NOT NULL,
	[UserID] [int] NULL,
	[ClassID] [int] NULL,
	[TimeStamp] [datetime] NULL,
	[DeleteFlag] [bit] NULL,
	[NewField] [bit] NULL,
 CONSTRAINT [PK_UsersAttendance] PRIMARY KEY CLUSTERED 
(
	[UserAttendanceID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
/****** Object:  Table [dbo].[UsersGrades]    Script Date: 12/1/2020 9:32:41 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[UsersGrades]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[UsersGrades](
	[UserGradeID] [int] IDENTITY(1,1) NOT NULL,
	[UserID] [int] NULL,
	[ClassID] [int] NULL,
	[Grade] [int] NULL,
	[TimeStamp] [datetime] NULL,
	[DeleteFlag] [bit] NULL,
 CONSTRAINT [PK_UsersGrades] PRIMARY KEY CLUSTERED 
(
	[UserGradeID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
SET ANSI_PADDING ON
GO
/****** Object:  Index [IX_Users]    Script Date: 12/1/2020 9:32:41 PM ******/
IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[Users]') AND name = N'IX_Users')
CREATE NONCLUSTERED INDEX [IX_Users] ON [dbo].[Users]
(
	[LastName] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[DF_Classes_TimeStamp]') AND type = 'D')
BEGIN
ALTER TABLE [dbo].[Classes] ADD  CONSTRAINT [DF_Classes_TimeStamp]  DEFAULT (getdate()) FOR [TimeStamp]
END
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[DF_Classes_DeleteFlag]') AND type = 'D')
BEGIN
ALTER TABLE [dbo].[Classes] ADD  CONSTRAINT [DF_Classes_DeleteFlag]  DEFAULT ((0)) FOR [DeleteFlag]
END
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[DF_Locations_TimeStamp]') AND type = 'D')
BEGIN
ALTER TABLE [dbo].[Locations] ADD  CONSTRAINT [DF_Locations_TimeStamp]  DEFAULT (getdate()) FOR [TimeStamp]
END
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[DF_Locations_DeleteFlag]') AND type = 'D')
BEGIN
ALTER TABLE [dbo].[Locations] ADD  CONSTRAINT [DF_Locations_DeleteFlag]  DEFAULT ((0)) FOR [DeleteFlag]
END
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[DF_Users_TimeStamp]') AND type = 'D')
BEGIN
ALTER TABLE [dbo].[Users] ADD  CONSTRAINT [DF_Users_TimeStamp]  DEFAULT (getdate()) FOR [TimeStamp]
END
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[DF_Users_DeleteFlag]') AND type = 'D')
BEGIN
ALTER TABLE [dbo].[Users] ADD  CONSTRAINT [DF_Users_DeleteFlag]  DEFAULT ((0)) FOR [DeleteFlag]
END
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[DF_Users_IsTeacher]') AND type = 'D')
BEGIN
ALTER TABLE [dbo].[Users] ADD  CONSTRAINT [DF_Users_IsTeacher]  DEFAULT ((0)) FOR [IsTeacher]
END
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[DF_UsersAttendance_TimeStamp]') AND type = 'D')
BEGIN
ALTER TABLE [dbo].[UsersAttendance] ADD  CONSTRAINT [DF_UsersAttendance_TimeStamp]  DEFAULT (getdate()) FOR [TimeStamp]
END
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[DF_UsersAttendance_DeleteFlag]') AND type = 'D')
BEGIN
ALTER TABLE [dbo].[UsersAttendance] ADD  CONSTRAINT [DF_UsersAttendance_DeleteFlag]  DEFAULT ((0)) FOR [DeleteFlag]
END
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[DF_UsersGrades_TimeStamp]') AND type = 'D')
BEGIN
ALTER TABLE [dbo].[UsersGrades] ADD  CONSTRAINT [DF_UsersGrades_TimeStamp]  DEFAULT (getdate()) FOR [TimeStamp]
END
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[DF_UsersGrades_DeleteFlag]') AND type = 'D')
BEGIN
ALTER TABLE [dbo].[UsersGrades] ADD  CONSTRAINT [DF_UsersGrades_DeleteFlag]  DEFAULT ((0)) FOR [DeleteFlag]
END
GO
ALTER DATABASE [students] SET  READ_WRITE 
GO