nullData

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[usp_AddUser]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'--增加用户
CREATE PROCEDURE [dbo].[usp_AddUser]
@Name nvarchar(50),   --用户名
@Password nvarchar(50),  --密码
@UserStateId int,   --用户状态Id
@TypeId int,    --类型Id
@Pomedom varbinary(8000), --权限
@EmployeeId nvarchar(50) --职工Id
AS
 BEGIN TRAN
 BEGIN TRY
 DECLARE @newId int
  INSERT INTO tbl_User VALUES (@Name, @Password, @UserStateId, @TypeId, @Pomedom)
  SELECT @newId = @@Identity
  UPDATE tbl_Employee SET UserId = @newId WHERE Id = @EmployeeId
  COMMIT TRAN
 END TRY
 BEGIN CATCH
  ROLLBACK TRAN
  DECLARE @msg varchar(1000),
    @number int
  SET @msg = error_message()
  SET @number = @@error
  RAISERROR(@msg,14,@number)
 END CATCH
'
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_EmailType]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_EmailType](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Name] [nvarchar](50) NULL,
 CONSTRAINT [PK_tbl_EmailType] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'邮件类型Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_EmailType', @level2type=N'COLUMN', @level2name=N'Id'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'邮件类型名称' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_EmailType', @level2type=N'COLUMN', @level2name=N'Name'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'邮件类型表(公告、通知、新闻、文档、邮件等)' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_EmailType'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_SchoolType]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_SchoolType](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Name] [nvarchar](50) NOT NULL,
 CONSTRAINT [PK_tbl_SchoolType_1] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'类型Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_SchoolType', @level2type=N'COLUMN', @level2name=N'Id'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'类型名称' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_SchoolType', @level2type=N'COLUMN', @level2name=N'Name'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学校类型(国营、私营)' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_SchoolType'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_EmailState]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_EmailState](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Name] [nvarchar](50) NULL,
 CONSTRAINT [PK_tbl_EmailState] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'邮件状态Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_EmailState', @level2type=N'COLUMN', @level2name=N'Id'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'邮件状态名称' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_EmailState', @level2type=N'COLUMN', @level2name=N'Name'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'邮件状态表(未读、已读、发送完对方没接收容量不够)' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_EmailState'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_BusState]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_BusState](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Name] [nvarchar](50) NULL,
 CONSTRAINT [PK_tbl_BusState] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'状态Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BusState', @level2type=N'COLUMN', @level2name=N'Id'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'状态名称' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BusState', @level2type=N'COLUMN', @level2name=N'Name'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'校车状态表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BusState'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[usp_GetUserByDistinct]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'CREATE PROC [dbo].[usp_GetUserByDistinct]
as
select distinct(UserId),UserName from dbo.v_BorrowInfo_Employee_Student_User_SchoolBasic
'
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_GradeGroup]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_GradeGroup](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Name] [nvarchar](50) NOT NULL,
 CONSTRAINT [PK_tbl_GradeGroup] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_SectionType]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_SectionType](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Name] [nvarchar](50) NULL,
 CONSTRAINT [PK_tbl_SectionType] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_RoomType]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_RoomType](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Name] [nvarchar](50) NOT NULL,
 [Price] [money] NULL,
 CONSTRAINT [PK_tbl_RoomType] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_RoomType', @level2type=N'COLUMN', @level2name=N'Id'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'房间类型名称' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_RoomType', @level2type=N'COLUMN', @level2name=N'Name'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'房间类型表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_RoomType'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_CheckType]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_CheckType](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Name] [nvarchar](50) NULL,
 CONSTRAINT [PK_tbl_CheckType] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'考勤类型Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_CheckType', @level2type=N'COLUMN', @level2name=N'Id'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'考勤类型名称' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_CheckType', @level2type=N'COLUMN', @level2name=N'Name'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'考勤类型表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_CheckType'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_EmployeeLevel]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_EmployeeLevel](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Name] [nvarchar](50) NULL,
 CONSTRAINT [PK_tbl_EmployLevel] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'员工职称Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_EmployeeLevel', @level2type=N'COLUMN', @level2name=N'Id'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'员工职称名称' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_EmployeeLevel', @level2type=N'COLUMN', @level2name=N'Name'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'员工职称表(如一级教师:二级教师)' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_EmployeeLevel'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_BedState]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_BedState](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Name] [nvarchar](50) NOT NULL,
 CONSTRAINT [PK_tbl_BedState] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'状态(维护、空、有人)' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BedState', @level2type=N'COLUMN', @level2name=N'Name'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'床位状态表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BedState'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[usp_ModifyStudentPhoto]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [dbo].[usp_ModifyStudentPhoto]
@StudentId nvarchar(50),
@GradeId int,
@Photo nvarchar(200)
AS
 DECLARE @classId int
 DECLARE @gradeYear int
 SELECT @classId = Id, @gradeYear = GradeYear FROM tbl_Class WHERE Id = (SELECT ClassId FROM tbl_Student WHERE Id = @StudentId)
 IF EXISTS(SELECT * FROM tbl_StudentUsing WHERE StudentId = @StudentId AND ClassId = (SELECT Id FROM tbl_Class WHERE GradeId = @GradeId AND GradeYear = @gradeYear))
  BEGIN
   UPDATE
    tbl_StudentUsing
   SET
    Photo = @Photo
   WHERE
    StudentId = @StudentId AND ClassId = @classId
  END
 ELSE
  BEGIN
   INSERT INTO
    tbl_StudentUsing (StudentId, Photo, ClassId)
   VALUES
    (@StudentId, @Photo, @classId)
  END
 RETURN @@RowCount'
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_ExamType]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_ExamType](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Name] [nvarchar](50) NULL,
 CONSTRAINT [PK_tbl_ExamType] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'考试类型名称' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_ExamType', @level2type=N'COLUMN', @level2name=N'Name'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'成绩类型表(期末考等)' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_ExamType'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[usp_ShowTestScoreAvgByTestClassId]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'--统计科目总分和平均分的存储过程
CREATE PROCEDURE [dbo].[usp_ShowTestScoreAvgByTestClassId]
@TestInfoId int,
@TestClassId int=NULL,
@subjectStr varchar(4000)
as
DECLARE @sql1 nvarchar(4000), --拼接后的第一个Sql语句
   @sql2 nvarchar(4000), --拼接后的第二个Sql语句
   @sql3 nvarchar(4000), --拼接后的第三个Sql语句
   @sql4 nvarchar(4000), --拼接后的第四个Sql语句
   @fieldSql nvarchar(4000), --查询列的Sql语句
   @fieldSql1 nvarchar(4000),--虚拟表列的Sql语句
   @fieldSql2 nvarchar(4000),--虚拟表统计的Sql语句
   @fieldSql3 nvarchar(4000),--虚拟表统计和的Sql语句
   @subFieldSql nvarchar(4000), --每一个子虚拟表的Select字段
   @joinOnSql nvarchar(4000)  --fullJoin on后面的条件
 SET @fieldSql = ''''
 SET @subFieldSql = ''''
 SET @sql1=''''
 SET @sql2=''''
 SET @sql3=''''
 SET @sql4=''''
 SET @fieldSql1=''''
 SET @fieldSql2=''''
 SET @fieldSql3=''''
 declare @i int
 declare @isFalg int
 declare @SubName varchar(30)
 declare @SubName1 varchar(30)
 set @isFalg=0
    set @subjectStr = rtrim(ltrim(@subjectStr))
    set @i = charindex('','',@subjectStr)
    while @i >= 1
    begin
        if len(left(@subjectStr,@i-1))>0
        begin
             SET @fieldSql=@fieldSql+ '',''+left(@subjectStr,@i-1)
             SET @fieldSql1=@fieldSql1+'',''+left(@subjectStr,@i-1)+''  float''
             SET @fieldSql2=@fieldSql2+'',CONVERT(numeric(8,2),''+''avg(''+left(@subjectStr,@i-1)+'')) as ''+left(@subjectStr,@i-1)+''平均分''
             SET @fieldSql3=@fieldSql3+left(@subjectStr,@i-1)+''+''
             if(@isFalg<1)
             begin
             set @isFalg=1
             SET @sql1=@sql1+'' (
select TestSubjectId,TestClassId,TestInfoId,StudentName,StudentId,TestScore '' + left(@subjectStr,@i-1)+ '' from dbo.v_TestScore_Student_Class_Subject
where subjectName=''''''+ left(@subjectStr,@i-1)+'''''' and TestClassId=''+isNull(convert(nvarchar(20),@TestClassId),+''TestClassId'')+'' and TestInfoId=''+convert(nvarchar(20),@TestInfoId)+'' ) as ''+ left(@subjectStr,@i-1)+'' INNER JOIN''
   SET @SubName1=left(@subjectStr,@i-1)
    end
    ELSE
    begin
    SET @sql2=@sql2+'' (
select TestSubjectId,TestClassId,TestInfoId,StudentName,StudentId,TestScore '' + left(@subjectStr,@i-1)+ '' from dbo.v_TestScore_Student_Class_Subject
where subjectName=''''''+ left(@subjectStr,@i-1)+'''''' and TestClassId=''+isNull(convert(nvarchar(20),@TestClassId),+''TestClassId'')+'' and TestInfoId=''+convert(nvarchar(20),@TestInfoId)+'' ) as ''+ left(@subjectStr,@i-1)+'' on ''+@SubName1+''.StudentId=''+left(@subjectStr,@i-1)+''.StudentId inner join''
   SET @SubName=left(@subjectStr,@i-1)
   --print left(@subjectStr,@i-1)
   end
        end
        set @subjectStr=substring(@subjectStr,@i+1,len(@subjectStr)-@i)
        set @i=charindex('','',@subjectStr)
    end

    if @subjectStr <> ''''
    begin
  
       SET @fieldSql=@fieldSql+ '',''+@subjectStr
       SET @fieldSql1=@fieldSql1+'',''+@subjectStr+''  float''
       SET @fieldSql2=@fieldSql2+'',CONVERT(numeric(8,2),''+''avg(''+@subjectStr+'')) as ''+@subjectStr+''平均分''
       SET @fieldSql3=@fieldSql3+@subjectStr
       SET @fieldSql2 = RIGHT(@fieldSql2, Len(@fieldSql2) - 1)
       SET @fieldSql1 = RIGHT(@fieldSql1, Len(@fieldSql1) - 1)
    SET @fieldSql = RIGHT(@fieldSql, Len(@fieldSql) - 1)
    SET @sql3=@sql3+'' (
select TestSubjectId,TestClassId,TestInfoId,StudentName,StudentId,TestScore '' + @subjectStr+ '' from dbo.v_TestScore_Student_Class_Subject
where subjectName=''''''+ @subjectStr+'''''' and TestClassId=''+isNull(convert(nvarchar(20),@TestClassId),+''TestClassId'')+'' and TestInfoId=''+convert(nvarchar(20),@TestInfoId)+''
) as ''+ @subjectStr+'' on ''+@SubName+''.StudentId=''+@subjectStr+''.StudentId''
    end
  
SET @sql4=@sql4+ ''DECLARE @temp table(学生名称 nvarchar(50),学号 varchar(50),''+@fieldSql1+'' ) insert into @temp''
SET @sql4=@sql4+ '' select ''+@subjectStr+''.StudentName as 学生名称,''+@subjectStr+''.StudentId as 学号,''+@fieldSql+'' from ''+@sql1+@sql2+@sql3+'' where ''+@subjectStr+''.TestClassId=''+isNull(convert(nvarchar(20),@TestClassId),@subjectStr+''.TestClassId'')+'' and  ''+@subjectStr+''.TestInfoId=''+convert(nvarchar(20),@TestInfoId)+''  select ''+@fieldSql2+'',CONVERT(numeric(8,2),avg(''+@fieldSql3+'')) as 平均分 from @temp''
EXEC sp_executesql @sql4
'
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[usp_ShowTestScore2AvgByTestClassId]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'--统计双科目总分平均分和单科平均分的存储过程
CREATE PROCEDURE [dbo].[usp_ShowTestScore2AvgByTestClassId]
@TestInfoId int,
@TestClassId int=NULL,
@subjectStr varchar(4000)
as
DECLARE @sql1 nvarchar(4000), --拼接后的第一个Sql语句
   @sql2 nvarchar(4000), --拼接后的第二个Sql语句
   @sql3 nvarchar(4000), --拼接后的第三个Sql语句
   @sql4 nvarchar(4000), --拼接后的第四个Sql语句
   @fieldSql nvarchar(4000), --查询列的Sql语句
   @fieldSql1 nvarchar(4000),--虚拟表列的Sql语句
   @fieldSql2 nvarchar(4000),--虚拟表统计的Sql语句
   @fieldSql3 nvarchar(4000),--虚拟表统计和的Sql语句
   @subFieldSql nvarchar(4000), --每一个子虚拟表的Select字段
   @joinOnSql nvarchar(4000)  --fullJoin on后面的条件
 SET @fieldSql = ''''
 SET @subFieldSql = ''''
 SET @sql1=''''
 SET @sql2=''''
 SET @sql3=''''
 SET @sql4=''''
 SET @fieldSql1=''''
 SET @fieldSql2=''''
 SET @fieldSql3=''''
 declare @i int
 declare @isFalg int
 declare @SubName varchar(30)
 declare @SubName1 varchar(30)
 set @isFalg=0
    set @subjectStr = rtrim(ltrim(@subjectStr))
    set @i = charindex('','',@subjectStr)
    while @i >= 1
    begin
        if len(left(@subjectStr,@i-1))>0
        begin
             SET @fieldSql=@fieldSql+ '',''+left(@subjectStr,@i-1)
             SET @fieldSql1=@fieldSql1+'',''+left(@subjectStr,@i-1)+'' float''
             SET @fieldSql2=@fieldSql2+'',CONVERT(numeric(8,2),''+''avg(''+left(@subjectStr,@i-1)+'')) as ''+left(@subjectStr,@i-1)+''平均分''
             SET @fieldSql3=@fieldSql3+left(@subjectStr,@i-1)+''+''
             if(@isFalg<1)
             begin
             set @isFalg=1
             SET @sql1=@sql1+'' (
select TestSubjectId,TestClassId,TestInfoId,StudentName,StudentId,TestScore '' + left(@subjectStr,@i-1)+ '' from dbo.v_TestScore_Student_Class_Subject
where subjectName=''''''+ left(@subjectStr,@i-1)+'''''' and TestClassId=''+isNull(convert(nvarchar(20),@TestClassId),+''TestClassId'')+'' and TestInfoId=''+convert(nvarchar(20),@TestInfoId)+'' ) as ''+ left(@subjectStr,@i-1)+'' INNER JOIN''
   SET @SubName1=left(@subjectStr,@i-1)
    end
        end
        set @subjectStr=substring(@subjectStr,@i+1,len(@subjectStr)-@i)
        set @i=charindex('','',@subjectStr)
    end

    if @subjectStr <> ''''
    begin
  
       SET @fieldSql=@fieldSql+ '',''+@subjectStr
       SET @fieldSql1=@fieldSql1+'',''+@subjectStr+'' float''
       SET @fieldSql2=@fieldSql2+'',CONVERT(numeric(8,2),''+''avg(''+@subjectStr+'')) as ''+@subjectStr+''平均分''
       SET @fieldSql3=@fieldSql3+@subjectStr
       SET @fieldSql2 = RIGHT(@fieldSql2, Len(@fieldSql2) - 1)
       SET @fieldSql1 = RIGHT(@fieldSql1, Len(@fieldSql1) - 1)
    SET @fieldSql = RIGHT(@fieldSql, Len(@fieldSql) - 1)
    SET @sql3=@sql3+'' (
select TestSubjectId,TestClassId,TestInfoId,StudentName,StudentId,TestScore '' + @subjectStr+ '' from dbo.v_TestScore_Student_Class_Subject
where subjectName=''''''+ @subjectStr+'''''' and TestClassId=''+isNull(convert(nvarchar(20),@TestClassId),+''TestClassId'')+'' and TestInfoId=''+convert(nvarchar(20),@TestInfoId)+''
) as ''+ @subjectStr+'' on ''+@SubName1+''.StudentId=''+@subjectStr+''.StudentId''
    end
  
SET @sql4=@sql4+ ''DECLARE @temp table(学生名称 nvarchar(50),学号 varchar(50),''+@fieldSql1+'' ) insert into @temp''
SET @sql4=@sql4+ '' select ''+@subjectStr+''.StudentName as 学生名称,''+@subjectStr+''.StudentId as 学号,''+@fieldSql+'' from ''+@sql1+@sql3+'' where ''+@subjectStr+''.TestClassId=''+isNull(convert(nvarchar(20),@TestClassId),@subjectStr+''.TestClassId'')+'' and  ''+@subjectStr+''.TestInfoId=''+convert(nvarchar(20),@TestInfoId)+''  select ''+@fieldSql2+'',CONVERT(numeric(8,2),avg(''+@fieldSql3+'')) as 平均分 from @temp''
print @sql4
EXEC sp_executesql @sql4


'
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[usp_ShowTestScore1AvgByTestClassId]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'--统计单科总分平均分和单科平均分的存储过程
CREATE PROCEDURE [dbo].[usp_ShowTestScore1AvgByTestClassId]
@TestInfoId int,
@TestClassId int=NULL,
@subjectStr varchar(4000)
as
DECLARE @sql1 nvarchar(4000) --拼接后的第一个Sql语句

   SET @sql1=''''
SET @sql1=@sql1+ ''DECLARE @temp table(学生名称 nvarchar(50),学号 varchar(50),''+@subjectStr+'' float) insert into @temp''
SET @sql1=@sql1+ ''
select StudentName,StudentId,TestScore '' + @subjectStr+ '' from dbo.v_TestScore_Student_Class_Subject
where subjectName=''''''+ @subjectStr+'''''' and TestClassId=''+isNull(convert(nvarchar(20),@TestClassId),+''TestClassId'')+'' and TestInfoId=''+convert(nvarchar(20),@TestInfoId)+''  select CONVERT(numeric(8,2),avg(''+@subjectStr+'')) as ''+@subjectStr+''平均分,CONVERT(numeric(8,2),avg(''+@subjectStr+'')) as 总分平均分 from @temp''
EXEC sp_executesql @sql1

 

'
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[ShowTestScoreRange]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [dbo].[ShowTestScoreRange]
@TestInfoId int,
@TestClassId int,
@ScoreRange int = 10,
@maxScore int = 100
AS
 --循环拼接子虚拟表
 DECLARE @tempMax int,--循环次数
   @num int,
   @sql nvarchar(4000),
   @sql2 nvarchar(4000),
   @initNum int
 SET @initNum=60
 SET @tempMax = (@maxScore-@initNum) / @ScoreRange
 SET @num=1
 SET @sql=''''
 SET @sql2=''''
 WHILE (@num <= @tempMax)
 begin
 IF @num<@tempMax
 begin
  SET @sql=@sql+'',''+''sum(case when TestScore between ''+convert(nvarchar(10),@initNum)+'' and ''+convert(nvarchar(10),@initNum+@ScoreRange-1)+'' then 1 else 0 end) as [''+convert(nvarchar(10),@initNum)+''-''+convert(nvarchar(10),@initNum+@ScoreRange)+'']''
  end
  else
  begin
  SET @sql=@sql+'',''+''sum(case when TestScore between ''+convert(nvarchar(10),@initNum)+'' and ''+convert(nvarchar(10),@initNum+@ScoreRange)+'' then 1 else 0 end) as [''+convert(nvarchar(10),@initNum)+''-''+convert(nvarchar(10),@initNum+@ScoreRange)+'']''
  end
  SET @num=@num+1
  SET @initNum=@initNum+@ScoreRange
 end
SET @sql2=@sql2+''select SubjectName as 考试科目,sum(case when TestScore between 0  and 59 then 1 else 0 end) as [0-59]''+@sql+'' from  dbo.v_TestScore_Student_Class_Subject where
testInfoId=''+isnull(convert(nvarchar(10),@TestInfoId),+''testInfoId'')+'' and TestClassId=''+isNull(convert(nvarchar(20),@TestClassId),+''TestClassId'')+'' group by SubjectName''
     EXEC sp_executesql @sql2'
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[usp_AddStudentComment]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'/*
 增加学生评论
*/
CREATE PROCEDURE [dbo].[usp_AddStudentComment]
@StudentId nvarchar(50),
@Comment nvarchar(400),
@Term nvarchar(50),
@ClassId int,
@Position nvarchar(50),
@EmployeeId nvarchar(200)
AS
 IF EXISTS (SELECT * FROM StudentUsing WHERE StudentId = @StudentId AND Term = @Term AND ClassId = @ClassId)
  UPDATE
   tbl_StudentUsing
  SET
   Comment = @Comment, EmployeeId = @EmployeeId, [Position] = @Position
  WHERE StudentId = @StudentId AND ClassId = @ClassId AND Term = @Term 
 ELSE
  INSERT INTO
   tbl_StudentUsing (StudentId, Comment, Term, ClassId, EmployeeId, [Position])
  VALUES
   (@StudentId, @Comment, @Term, @ClassId, @EmployeeId, @Position)
 RETURN'
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[usp_GetClassScore]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'/*
 获得班的分数
*/
CREATE PROCEDURE [dbo].[usp_GetClassScore]
AS
 DECLARE @scoreTable table(Id int,Score float,StudentId nvarchar(50),[Time] datetime,EmployeeId nvarchar(50),SubjecId int,Number nvarchar(50),StudentName nvarchar(100),SubjectName nvarchar(100))
 
 INSERT INTO @scoreTable
 SELECT     tbl_Score.Id, tbl_Score.Score, tbl_Score.StudentId, tbl_Score.Time, tbl_Score.EmployeeId, tbl_Score.SubjecId, tbl_Student.Number,
        tbl_Student.Name AS StudentName, tbl_Subject.Name AS SubjectName
 FROM         tbl_Score INNER JOIN
        tbl_Subject ON tbl_Score.SubjecId = tbl_Subject.Id INNER JOIN
        tbl_Student ON tbl_Score.StudentId = tbl_Student.Id
 WHERE     (tbl_Score.TypeId = 1) AND (tbl_Score.Term = 1) AND (tbl_Score.ClassId = 1)
 
 
'
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_FoodType]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_FoodType](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Name] [nvarchar](50) NOT NULL,
 CONSTRAINT [PK_tbl_FoodType] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_LiftingType]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_LiftingType](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Name] [nvarchar](50) NOT NULL,
 CONSTRAINT [PK_tbl_LiftingType] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'升级降级留级跳级表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_LiftingType'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_BookType]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_BookType](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Name] [nvarchar](100) NOT NULL,
 CONSTRAINT [PK_tbl_BookType] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_UserType]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_UserType](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Name] [nvarchar](50) NOT NULL,
 [Description] [text] NULL,
 CONSTRAINT [PK_tbl_UserType] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'用户类型Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_UserType', @level2type=N'COLUMN', @level2name=N'Id'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'用户类型名称' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_UserType', @level2type=N'COLUMN', @level2name=N'Name'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'用户类型表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_UserType'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_UserState]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_UserState](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Name] [nvarchar](50) NOT NULL,
 [Description] [text] NULL,
 CONSTRAINT [PK_tbl_UserState] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'用户状态ID' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_UserState', @level2type=N'COLUMN', @level2name=N'Id'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'用户状态名称' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_UserState', @level2type=N'COLUMN', @level2name=N'Name'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'用户状态表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_UserState'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_StudentClassEventType]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_StudentClassEventType](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Name] [nvarchar](50) NOT NULL,
 CONSTRAINT [PK_StudentClassEventType] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'班级升降跳留转名称' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentClassEventType', @level2type=N'COLUMN', @level2name=N'Name'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_Pomedom]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_Pomedom](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Name] [nvarchar](50) NULL,
 [Url] [nvarchar](500) NULL,
 [ParentId] [int] NULL,
 CONSTRAINT [PK_tbl_Pomedom] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'权限Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Pomedom', @level2type=N'COLUMN', @level2name=N'Id'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'权限名称' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Pomedom', @level2type=N'COLUMN', @level2name=N'Name'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'所在的页面连接' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Pomedom', @level2type=N'COLUMN', @level2name=N'Url'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'父权限Id,如果为0,即是根权限' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Pomedom', @level2type=N'COLUMN', @level2name=N'ParentId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'权限表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Pomedom'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_SchoolState]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_SchoolState](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Name] [nvarchar](50) NOT NULL,
 CONSTRAINT [PK_tbl_SchoolState] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学校状态ID' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_SchoolState', @level2type=N'COLUMN', @level2name=N'Id'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学校状态名称' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_SchoolState', @level2type=N'COLUMN', @level2name=N'Name'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学校状态(倒闭、合并等)' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_SchoolState'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[usp_TestScoreRange]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [dbo].[usp_TestScoreRange]
@TestInfoId int,
@TestClassId int,
@TestSubjectId int,
@ScoreRange int = 10,
@maxScore int = 100
AS
 DECLARE @beginScore int, --开始的分数
   @sql1 nvarchar(4000), --拼接后的第一个Sql语句
   @sql2 nvarchar(4000), --拼接后的第二个Sql语句
   @mainSql nvarchar(4000), --主要的查询语句
   @subSql nvarchar(4000), --每一个虚拟表的sql语句
   @fieldSql nvarchar(4000), --查询列的Sql语句
   @subFieldSql nvarchar(4000), --每一个子虚拟表的Select字段
   @joinOnSql nvarchar(4000)  --fullJoin on后面的条件
   
 SET @beginScore = 0

 SET @fieldSql = ''''
 SET @subFieldSql = ''''
 
 --拼接SELECT 后面列的字段
 /*IF @TestClassId IS NOT NULL
  SET @fieldSql = @fieldSql + '', t0.TestClassId''
  SET @subFieldSql = @subFieldSql + '', TestClassId''
 IF @TestSubjectId IS NOT NULL
  SET @fieldSql = @fieldSql + '', t0.TestSubjectId''
  SET @subFieldSql = @subFieldSql + '', TestSubjectId''
 IF @TestInfoId IS NOT NULL
  SET @fieldSql = @fieldSql + '', t0.TestInfoId''
  SET @subFieldSql = @subFieldSql + '', TestInfoId''
 --移除不必要的 ,
 SET @fieldSql = RIGHT(@fieldSql, Len(@fieldSql) - 1)
 SET @subFieldSql = RIGHT(@subFieldSql, Len(@subFieldSql) - 1)*/
 
 SET @fieldSql = ''t0.TestClassId, t0.TestSubjectId, t0.TestInfoId''
 SET @subFieldSql = ''TestClassId, TestSubjectId, TestInfoId''
 
 --先拼接所以子虚拟表
 SET @sql1 = ''( SELECT '' + @subFieldSql + '', Count(TestScore) AS S'' + convert(nvarchar(10), @beginScore) + ''_'' + convert(nvarchar(10), @beginScore + @ScoreRange) + '' FROM @tempScoreTable '' +
     '' WHERE TestScore >= '' + convert(nvarchar(10), @beginScore) +
     '' AND TestScore < '' + convert(nvarchar(10), @beginScore + @ScoreRange) +
     '' GROUP BY '' + @subFieldSql + '') AS t'' + convert(nvarchar(10), @beginScore)
 
 SET @sql2 = ''''
 
 --拼接主查询列的Sql语句
 SET @fieldSql = @fieldSql + '', S'' + convert(nvarchar(10), @beginScore) + ''_'' + convert(nvarchar(10), @beginScore + @ScoreRange) 
 SET @beginScore = @beginScore + @ScoreRange --先加分数值
 
 --循环拼接子虚拟表
 DECLARE @tempMax int
 SET @tempMax = @maxScore / 2 / 10 * 10
 
 WHILE (@beginScore + @ScoreRange <= @tempMax)
  BEGIN
   --拼接Sql语句
   SET @subSql = ''( SELECT '' + @subFieldSql + '', Count(TestScore) AS S'' + convert(nvarchar(10), @beginScore) + ''_'' + convert(nvarchar(10), @beginScore + @ScoreRange) + '' FROM @tempScoreTable '' +
      '' WHERE TestScore >= '' + convert(nvarchar(10), @beginScore) +
      '' AND TestScore < '' + convert(nvarchar(10), @beginScore + @ScoreRange) +
      '' GROUP BY '' + @subFieldSql + '') AS t'' + convert(nvarchar(10), @beginScore)
   
   SET @joinOnSql = ''''
   IF @TestClassId IS NOT NULL
    SET @joinOnSql = @joinOnSql + '' AND t'' + convert(nvarchar(10), @beginScore - @ScoreRange) + ''.TestClassId = t'' + convert(nvarchar(10), @beginScore) + ''.TestClassId''
   IF @TestSubjectId IS NOT NULL
    SET @joinOnSql = @joinOnSql + '' AND t'' + convert(nvarchar(10), @beginScore - @ScoreRange) + ''.TestSubjectId = t'' + convert(nvarchar(10), @beginScore) + ''.TestSubjectId''
   IF @TestInfoId IS NOT NULL
    SET @joinOnSql = @joinOnSql + '' AND t'' + convert(nvarchar(10), @beginScore - @ScoreRange) + ''.TestInfoId = t'' + convert(nvarchar(10), @beginScore) + ''.TestInfoId'' 
   --移除不必要的 AND
   SET @joinOnSql = RIGHT(@joinOnSql, Len(@joinOnSql) - 4)

  
   SET @sql1 = @sql1 + '' FULL JOIN '' + @subSql +
    '' ON '' + @joinOnSql
 
   --拼接查询列的Sql语句
   SET @fieldSql = @fieldSql + '', S'' + convert(nvarchar(10), @beginScore) + ''_'' + convert(nvarchar(10), @beginScore + @ScoreRange)
   
   SET @beginScore = @beginScore + @ScoreRange
  END
  
 WHILE (@beginScore + @ScoreRange <= @maxScore)
  BEGIN
   --拼接Sql语句
   SET @subSql = ''( SELECT '' + @subFieldSql + '', Count(TestScore) AS S'' + convert(nvarchar(10), @beginScore) + ''_'' + convert(nvarchar(10), @beginScore + @ScoreRange) + '' FROM @tempScoreTable '' +
      '' WHERE TestScore >= '' + convert(nvarchar(10), @beginScore) +
      '' AND TestScore < '' + convert(nvarchar(10), @beginScore + @ScoreRange) +
      '' GROUP BY '' + @subFieldSql + '') AS t'' + convert(nvarchar(10), @beginScore)
   
   SET @joinOnSql = ''''
   IF @TestClassId IS NOT NULL
    SET @joinOnSql = @joinOnSql + '' AND t'' + convert(nvarchar(10), @beginScore - @ScoreRange) + ''.TestClassId = t'' + convert(nvarchar(10), @beginScore) + ''.TestClassId''
   IF @TestSubjectId IS NOT NULL
    SET @joinOnSql = @joinOnSql + '' AND t'' + convert(nvarchar(10), @beginScore - @ScoreRange) + ''.TestSubjectId = t'' + convert(nvarchar(10), @beginScore) + ''.TestSubjectId''
   IF @TestInfoId IS NOT NULL
    SET @joinOnSql = @joinOnSql + '' AND t'' + convert(nvarchar(10), @beginScore - @ScoreRange) + ''.TestInfoId = t'' + convert(nvarchar(10), @beginScore) + ''.TestInfoId'' 
   --移除不必要的 AND
   SET @joinOnSql = RIGHT(@joinOnSql, Len(@joinOnSql) - 4)

  
   SET @sql2 = @sql2 + '' FULL JOIN '' + @subSql +
    '' ON '' + @joinOnSql
 
   --拼接查询列的Sql语句
   SET @fieldSql = @fieldSql + '', S'' + convert(nvarchar(10), @beginScore) + ''_'' + convert(nvarchar(10), @beginScore + @ScoreRange)
   
   SET @beginScore = @beginScore + @ScoreRange
  END
 
 --为了缩减字符串,加上临时表
 DECLARE @tempSql nvarchar(4000)
 SET @tempSql = ''DECLARE @tempScoreTable table(TestInfoId int, TestClassId int, TestSubjectId int, TestScore float)
    INSERT INTO @tempScoreTable
     (TestInfoId, TestClassId, TestSubjectId, TestScore)
    SELECT TestInfoId, TestClassId, TestSubjectId, TestScore FROM
     dbo.v_TestScore_Student_Class_Subject
    WHERE
     TestInfoId = IsNull('' + IsNull(convert(nvarchar(10), @TestInfoId),''NULL'') + '', TestInfoId) AND
     TestClassId = IsNull('' + IsNull(convert(nvarchar(10), @TestClassId),''NULL'') + '', TestClassId) AND
     TestSubjectId = IsNull('' + IsNull(convert(nvarchar(10), @TestSubjectId),''NULL'') + '', TestSubjectId) ''
  
 PRINT @tempSql + ''SELECT '' + @fieldSql + '' FROM ('' +@sql1 + @sql2 + '')'' --如果要打印出生成的Sql语句,请取消这句注释
 
 EXEC(@tempSql + ''SELECT '' + @fieldSql + '' FROM ('' +@sql1 + @sql2 + '')'')'
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[usp_EnrollClueCount]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [dbo].[usp_EnrollClueCount]
 @beginContactTime datetime,
 @endContactTime datetime,
 @enrollPersonId int,
 @intenttionState int
AS
 IF (@enrollPersonId <= 0 OR @intenttionState <= 0)
  SELECT [Year], Count([Year]) EnrollCount FROM
   (SELECT
    Year(ContactTime) AS [Year]
   FROM
    dbo.tbl_EnrollClue
   WHERE
    Year(ContactTime) BETWEEN Year(@beginContactTime) AND Year(@endContactTime)
    AND IntentionState = @intenttionState) AS NewTable
  GROUP BY
   [Year]
 ELSE
  SELECT [Year], Count([Year]) EnrollCount FROM
   (SELECT
    Year(ContactTime) AS [Year]
   FROM
    dbo.tbl_EnrollClue
   WHERE
    Year(ContactTime) BETWEEN Year(@beginContactTime) AND Year(@endContactTime) AND
    EnrollPersonId = @enrollPersonId AND IntentionState = @intenttionState
    ) AS NewTable
  GROUP BY
   [Year]'
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[usp_ShowTestScore]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'
CREATE PROCEDURE [dbo].[usp_ShowTestScore]
@TestInfoId int,
@TestClassId int,
@subjectStr varchar(4000)
as
DECLARE @sql1 nvarchar(4000), --拼接后的第一个Sql语句
   @sql2 nvarchar(4000), --拼接后的第二个Sql语句
   @sql3 nvarchar(4000), --拼接后的第三个Sql语句
   @sql4 nvarchar(4000), --拼接后的第四个Sql语句
   @fieldSql nvarchar(4000), --查询列的Sql语句
   @subFieldSql nvarchar(4000), --每一个子虚拟表的Select字段
   @joinOnSql nvarchar(4000)  --fullJoin on后面的条件
 SET @fieldSql = ''''
 SET @subFieldSql = ''''
 SET @sql1=''''
 SET @sql2=''''
 SET @sql3=''''
 SET @sql4=''''
 declare @i int
 declare @isFalg int
 declare @SubName varchar(30)
 declare @SubName1 varchar(30)
 set @isFalg=0
    set @subjectStr = rtrim(ltrim(@subjectStr))
    set @i = charindex('','',@subjectStr)
    while @i >= 1
    begin
        if len(left(@subjectStr,@i-1))>0
        begin
             SET @fieldSql=@fieldSql+ '',''+left(@subjectStr,@i-1)
             if(@isFalg<1)
             begin
             set @isFalg=1
             SET @sql1=@sql1+'' (
select TestSubjectId,TestClassId,TestInfoId,StudentName,StudentId,TestScore '' + left(@subjectStr,@i-1)+ '' from dbo.v_TestScore_Student_Class_Subject
where subjectName=''''''+ left(@subjectStr,@i-1)+'''''' and TestClassId=''+convert(nvarchar(20),@TestClassId)+'' and TestInfoId=''+convert(nvarchar(20),@TestInfoId)+'' ) as ''+ left(@subjectStr,@i-1)+'' INNER JOIN''
   SET @SubName1=left(@subjectStr,@i-1)
    end
    ELSE
    begin
    SET @sql2=@sql2+'' (
select TestSubjectId,TestClassId,TestInfoId,StudentName,StudentId,TestScore '' + left(@subjectStr,@i-1)+ '' from dbo.v_TestScore_Student_Class_Subject
where subjectName=''''''+ left(@subjectStr,@i-1)+'''''' and TestClassId=''+convert(nvarchar(20),@TestClassId)+'' and TestInfoId=''+convert(nvarchar(20),@TestInfoId)+'' ) as ''+ left(@subjectStr,@i-1)+'' on ''+@SubName1+''.StudentId=''+left(@subjectStr,@i-1)+''.StudentId inner join''
   SET @SubName=left(@subjectStr,@i-1)
   --print left(@subjectStr,@i-1)
   end
        end
        set @subjectStr=substring(@subjectStr,@i+1,len(@subjectStr)-@i)
        set @i=charindex('','',@subjectStr)
    end
    if @subjectStr <> ''''
    begin
  
       SET @fieldSql=@fieldSql+ '',''+@subjectStr
      
    SET @fieldSql = RIGHT(@fieldSql, Len(@fieldSql) - 1)
    SET @sql3=@sql3+'' (
select TestSubjectId,TestClassId,TestInfoId,StudentName,StudentId,TestScore '' + @subjectStr+ '' from dbo.v_TestScore_Student_Class_Subject
where subjectName=''''''+ @subjectStr+'''''' and TestClassId=''+convert(nvarchar(20),@TestClassId)+'' and TestInfoId=''+convert(nvarchar(20),@TestInfoId)+''
) as ''+ @subjectStr+'' on ''+@SubName+''.StudentId=''+@subjectStr+''.StudentId''
    end
SET @sql4= ''select ''+@subjectStr+''.StudentName as 学生名称,''+@subjectStr+''.StudentId as 学号,''+@fieldSql+'' from ''+@sql1+@sql2+@sql3+'' where ''+@subjectStr+''.TestClassId=''+convert(nvarchar(20),@TestClassId)+'' and  ''+@subjectStr+''.TestInfoId=''+convert(nvarchar(20),@TestInfoId)

EXEC sp_executesql @sql4'
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_RPType]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_RPType](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Name] [nvarchar](50) NOT NULL,
 CONSTRAINT [PK_tbl_RPType] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'类型ID' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_RPType', @level2type=N'COLUMN', @level2name=N'Id'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'类型名称' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_RPType', @level2type=N'COLUMN', @level2name=N'Name'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'奖罚类型' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_RPType'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[udf_GenLevelPath]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT'))
BEGIN
execute dbo.sp_executesql @statement = N'create   function   [dbo].[udf_GenLevelPath]()  
  returns   @v_Result   table   (LevelPath   int,OName   sysname)  
  /****************************************************************/  
  /* 功能描述:按照依赖关系,列出数据库对象 */  
  /* 输入参数:无 */  
  /* 输出参数:按照依赖关系排列的数据库对象表,无依赖在前 */  
  /* 编写: anna*/  
  /* 时间:2007-12-12 */  
  /****************************************************************/  
  as  
  begin  
  declare   @vt_ObjDepPath   table   (LevelPath   int,OName   sysname   null)  
  declare   @vt_Temp1   table   (OName   sysname   null)  
  declare   @vt_Temp2   table   (OName   sysname   null)  
  --依赖的级别,值越小依赖性越强  
  declare   @vi_LevelPath   int  
   
  set   @vi_LevelPath   =   1  
  --得到所有对象,不包括系统对象          
  insert   into   @vt_ObjDepPath(LevelPath,OName)  
  select   @vi_LevelPath,o.name  
  from   sysobjects   o  
  where   xtype   not   in   (''S'',''X'')  
   
  --得到依赖对象的名称  
  insert   into   @vt_Temp1(OName)  
  select   distinct   object_name(sysdepends.depid)    
  from   sysdepends,@vt_ObjDepPath   p  
  where   sysdepends.id   <>   sysdepends.depid  
  and   p.OName   =   object_name(sysdepends.id)  
   
  --循环处理:由对象而得到其依赖对象  
  while   (select   count(*)   from   @vt_Temp1)   >   0  
  begin  
  set   @vi_LevelPath   =   @vi_LevelPath   +   1  
   
  update   @vt_ObjDepPath  
  set   LevelPath   =   @vi_LevelPath  
  where   OName   in   (select   OName   from   @vt_Temp1)  
  and   LevelPath   =   @vi_LevelPath   -   1  
   
  delete   from   @vt_Temp2  
   
  insert   into   @vt_Temp2  
  select   *   from   @vt_Temp1  
   
  delete   from   @vt_Temp1  
   
  insert   into   @vt_Temp1(OName)  
  select   distinct   object_name(sysdepends.depid)    
  from   sysdepends,@vt_Temp2   t2  
  where   t2.OName   =   object_name(sysdepends.id)  
  and   sysdepends.id   <>   sysdepends.depid  
   
  end  
   
  select   @vi_LevelPath   =   max(LevelPath)   from   @vt_ObjDepPath  
   
  --修改没有依赖对象的对象级别为最大  
  update   @vt_ObjDepPath  
  set   LevelPath   =   @vi_LevelPath   +   1  
  where   OName   not   in   (select   distinct  
object_name(sysdepends.id)   from   sysdepends)  
  and   LevelPath   =   1  
   
  insert   into   @v_Result  
  select   *   from   @vt_ObjDepPath   order   by   LevelPath   desc  
  return  
  end  
'
END

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[split]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT'))
BEGIN
execute dbo.sp_executesql @statement = N'CREATE FUNCTION [dbo].[split]
 (@str nvarchar(4000),@code varchar(10),@no int ) 
RETURNS varchar(200)
AS 
BEGIN

declare @intLen int
declare @count int
declare @indexb  int
declare @indexe  int
set @intLen=len(@code)
set @count=0
set @indexb=1


if @no=0
  if charindex(@code,@str,@indexb)<>0
     return left(@str,charindex(@code,@str,@indexb)-1)
  else
     return @str

while charindex(@code,@str,@indexb)<>0
  begin
       set @count=@count+1
       if @count=@no
         break
       set @indexb=@intLen+charindex(@code,@str,@indexb)
  end


if @count=@no
  begin

      set @indexe=@intLen+charindex(@code,@str,@indexb)
          if charindex(@code,@str,@indexe)<>0
             return substring(@str,charindex(@code,@str,@indexb)+len(@code),charindex(@code,@str,@indexe)-charindex(@code,@str,@indexb)-len(@code))
          else
             return right(@str,len(@str)-charindex(@code,@str,@indexb)-len(@code)+1)

  end

return ''''

END

 '
END

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[f_trimstr]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT'))
BEGIN
execute dbo.sp_executesql @statement = N'CREATE Function [dbo].[f_trimstr](@str varchar(100))

returns varchar(100)

--功能:去掉字符串中的所有空格

AS

begin

declare @i int
declare @s1 varchar(50)
declare @result varchar(100)
declare @len int

select @result = ''''
select @str = ltrim(rtrim(@str))
select @len = len(@str)
select @i = 1

while @i<=@len
begin
select @s1 = substring(@str,@i,1)
if(@s1<>'''')
begin
select @result = @result + @s1
end
select @i = @i + 1
end

return @result

end

'
END

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_StudentState]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_StudentState](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Name] [nvarchar](50) NULL,
 CONSTRAINT [PK_tbl_StudentState] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学生状态Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentState', @level2type=N'COLUMN', @level2name=N'Id'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学生状态名称' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentState', @level2type=N'COLUMN', @level2name=N'Name'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学生状态表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentState'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_RoomState]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_RoomState](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Name] [nvarchar](50) NOT NULL,
 CONSTRAINT [PK_tbl_RoomState] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'状态Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_RoomState', @level2type=N'COLUMN', @level2name=N'Id'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'状态名称' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_RoomState', @level2type=N'COLUMN', @level2name=N'Name'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'房间状态表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_RoomState'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[split55]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT'))
BEGIN
execute dbo.sp_executesql @statement = N'CREATE function [dbo].[split55]
(
@subjectStr varchar(8000)
)
returns @temp table(F1 varchar(100))
as
begin
    declare @i int
    set @subjectStr = rtrim(ltrim(@subjectStr))
    set @i = charindex('','',@subjectStr)
    while @i >= 1
    begin
        if len(left(@subjectStr,@i-1))>0
        begin
            insert @temp values(left(@subjectStr,@i-1))
        end
        set @subjectStr=substring(@subjectStr,@i+1,len(@subjectStr)-@i)
        set @i=charindex('','',@subjectStr)
    end
    if @subjectStr <> ''''
        insert @temp values(@subjectStr)
    return
end

 

'
END

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_StudentType]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_StudentType](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Name] [nvarchar](50) NULL,
 CONSTRAINT [PK_tbl_StudentType] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学生类型Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentType', @level2type=N'COLUMN', @level2name=N'Id'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学生类型名称' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentType', @level2type=N'COLUMN', @level2name=N'Name'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学生类型表,走读,住宿' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentType'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[usp_ShowTestScoreByTestClassId]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'--可查询考试三科以上的全部学生成绩和班级学生成绩
CREATE proc [dbo].[usp_ShowTestScoreByTestClassId]
@TestInfoId int,
@TestClassId int = NULL,
@SortColumn nvarchar(100),
@subjectStr varchar(4000)
as
DECLARE @sql1 nvarchar(4000), --拼接后的第一个Sql语句
   @sql2 nvarchar(4000), --拼接后的第二个Sql语句
   @sql3 nvarchar(4000), --拼接后的第三个Sql语句
   @sql4 nvarchar(4000), --拼接后的第四个Sql语句
   @fieldSql nvarchar(4000), --查询列的Sql语句
   @fieldSql1 nvarchar(4000),--虚拟表列的Sql语句
   @fieldSql2 nvarchar(4000),--虚拟表统计的Sql语句
   @fieldSql3 nvarchar(4000)--虚拟表统计和的Sql语句
 SET @fieldSql = ''''
 SET @sql1=''''
 SET @sql2=''''
 SET @sql3=''''
 SET @sql4=''''
 SET @fieldSql1=''''
 SET @fieldSql2=''''
 SET @fieldSql3=''''
 declare @i int
 declare @isFalg int
 declare @SubName varchar(30)
 declare @SubName1 varchar(30)
 set @isFalg=0
    set @subjectStr = rtrim(ltrim(@subjectStr))
    set @i = charindex('','',@subjectStr)
    while @i >= 1
    begin
        if len(left(@subjectStr,@i-1))>0
        begin
             SET @fieldSql=@fieldSql+ '',''+left(@subjectStr,@i-1)
             SET @fieldSql1=@fieldSql1+'',''+left(@subjectStr,@i-1)+'' float''
             SET @fieldSql2=@fieldSql2+'',''+''Sum(''+left(@subjectStr,@i-1)+'') as ''+left(@subjectStr,@i-1)+''总分''
             SET @fieldSql3=@fieldSql3+left(@subjectStr,@i-1)+''+''
             if(@isFalg<1)
             begin
             set @isFalg=1
             SET @sql1=@sql1+'' (
select TestSubjectId,TestClassId,TestInfoId,StudentName,StudentId,ClassName,TestScore '' + left(@subjectStr,@i-1)+ '' from dbo.v_TestScore_Student_Class_Subject
where subjectName=''''''+ left(@subjectStr,@i-1)+'''''' and TestClassId=''+isNull(convert(nvarchar(20),@TestClassId),+''TestClassId'')+'' and TestInfoId=''+convert(nvarchar(20),@TestInfoId)+'' ) as ''+ left(@subjectStr,@i-1)+'' INNER JOIN''
   SET @SubName1=left(@subjectStr,@i-1)
    end
    ELSE
    begin
    SET @sql2=@sql2+'' (
select TestSubjectId,TestClassId,TestInfoId,StudentName,StudentId,ClassName,TestScore '' + left(@subjectStr,@i-1)+ '' from dbo.v_TestScore_Student_Class_Subject
where subjectName=''''''+ left(@subjectStr,@i-1)+'''''' and TestClassId=''+isNull(convert(nvarchar(20),@TestClassId),+''TestClassId'')+'' and TestInfoId=''+convert(nvarchar(20),@TestInfoId)+'' ) as ''+ left(@subjectStr,@i-1)+'' on ''+@SubName1+''.StudentId=''+left(@subjectStr,@i-1)+''.StudentId inner join''
   SET @SubName=left(@subjectStr,@i-1)
   --print left(@subjectStr,@i-1)
   end
        end
        set @subjectStr=substring(@subjectStr,@i+1,len(@subjectStr)-@i)
        set @i=charindex('','',@subjectStr)
    end

    if @subjectStr <> ''''
    begin
  
       SET @fieldSql=@fieldSql+ '',''+@subjectStr
       SET @fieldSql1=@fieldSql1+'',''+@subjectStr+'' float''
       SET @fieldSql2=@fieldSql2+'',''+''Sum(''+@subjectStr+'') as ''+@subjectStr+''总分''
       SET @fieldSql3=@fieldSql3+@subjectStr
       SET @fieldSql2 = RIGHT(@fieldSql2, Len(@fieldSql2) - 1)
       SET @fieldSql1 = RIGHT(@fieldSql1, Len(@fieldSql1) - 1)
    SET @fieldSql = RIGHT(@fieldSql, Len(@fieldSql) - 1)
    SET @sql3=@sql3+'' (
select TestSubjectId,TestClassId,TestInfoId,StudentName,StudentId,ClassName,TestScore '' + @subjectStr+ '' from dbo.v_TestScore_Student_Class_Subject
where subjectName=''''''+ @subjectStr+'''''' and TestClassId=''+isNull(convert(nvarchar(20),@TestClassId),+''TestClassId'')+'' and TestInfoId=''+convert(nvarchar(20),@TestInfoId)+''
) as ''+ @subjectStr+'' on ''+@SubName+''.StudentId=''+@subjectStr+''.StudentId''
    end
   
 SET @sql4= ''DECLARE @temp table(学生名称 nvarchar(50),学号 nvarchar(50),班级名称 nvarchar(50),''+@fieldSql1+'' ) insert into @temp  select ''+@subjectStr+''.StudentName as 学生名称,''+@subjectStr+''.StudentId as 学号,''+@subjectStr+''.ClassName as 班级名称,''+@fieldSql+'' from ''+@sql1+@sql2+@sql3+'' where ''+@subjectStr+''.TestClassId=''+isNull(convert(nvarchar(20),@TestClassId),@subjectStr+''.TestClassId'')+'' and  ''+@subjectStr+''.TestInfoId=''+convert(nvarchar(20),@TestInfoId)+''  select 学生名称,学号,班级名称,''+@fieldSql+'',(''+@fieldSql3+'') as 总分  FROM
(SELECT * FROM @temp) as t order by ''+@SortColumn+'' desc''
EXEC sp_executesql @sql4
print @sql4

 

'
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_RecordType]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_RecordType](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Name] [nvarchar](50) NOT NULL,
 CONSTRAINT [PK_tbl_RecordType] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'记录类型名称(宿舍卫生、班级卫生、行车记录)、宿舍访问、保安访问' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_RecordType', @level2type=N'COLUMN', @level2name=N'Name'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'记录类型表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_RecordType'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[usp_JustForTest]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [dbo].[usp_JustForTest]
@TestInfoId int,
@TestClassId int,
@TestSubjectId int,
@ScoreRange int = 10,
@maxScore int = 100
AS
 DECLARE @beginScore int, --开始的分数
   @sql nvarchar(4000), --拼接后的Sql语句
   @mainSql nvarchar(4000), --主要的查询语句
   @subSql nvarchar(4000), --每一个虚拟表的sql语句
   @fieldSql nvarchar(4000), --查询列的Sql语句
   @subFieldSql nvarchar(4000), --每一个子虚拟表的Select字段
   @joinOnSql nvarchar(4000)  --fullJoin on后面的条件
   
 SET @beginScore = 0

 SET @fieldSql = ''''
 SET @subFieldSql = ''''
 
 --拼接SELECT 后面列的字段
 /*IF @TestClassId IS NOT NULL
  SET @fieldSql = @fieldSql + '', t0.TestClassId''
  SET @subFieldSql = @subFieldSql + '', TestClassId''
 IF @TestSubjectId IS NOT NULL
  SET @fieldSql = @fieldSql + '', t0.TestSubjectId''
  SET @subFieldSql = @subFieldSql + '', TestSubjectId''
 IF @TestInfoId IS NOT NULL
  SET @fieldSql = @fieldSql + '', t0.TestInfoId''
  SET @subFieldSql = @subFieldSql + '', TestInfoId''
 --移除不必要的 ,
 SET @fieldSql = RIGHT(@fieldSql, Len(@fieldSql) - 1)
 SET @subFieldSql = RIGHT(@subFieldSql, Len(@subFieldSql) - 1)*/
 SET @fieldSql = ''t0.TestClassId, t0.TestSubjectId, t0.TestInfoId''
 SET @subFieldSql = ''TestClassId, TestSubjectId, TestInfoId''
 
 --先拼接所以子虚拟表
 SET @sql = ''( SELECT '' + @subFieldSql + '', Count(TestScore) AS S'' + convert(nvarchar(10), @beginScore) + ''_'' + convert(nvarchar(10), @beginScore + @ScoreRange) + '' FROM @tempScoreTable '' +
     '' WHERE TestScore >= '' + convert(nvarchar(10), @beginScore) +
     '' AND TestScore < '' + convert(nvarchar(10), @beginScore + @ScoreRange) +
     '' GROUP BY '' + @subFieldSql + '') AS t'' + convert(nvarchar(10), @beginScore)
 
 --拼接主查询列的Sql语句
 SET @fieldSql = @fieldSql + '', S'' + convert(nvarchar(10), @beginScore) + ''_'' + convert(nvarchar(10), @beginScore + @ScoreRange) 
 SET @beginScore = @beginScore + @ScoreRange --先加分数值
 
 --循环拼接子虚拟表
 WHILE (@beginScore + @ScoreRange <= 100)
  BEGIN
   --拼接Sql语句
   SET @subSql = ''
   ( SELECT '' + @subFieldSql + '', Count(TestScore) AS S'' + convert(nvarchar(10), @beginScore) + ''_'' + convert(nvarchar(10), @beginScore + @ScoreRange) + '' FROM @tempScoreTable '' +
      '' WHERE TestScore >= '' + convert(nvarchar(10), @beginScore) +
      '' AND TestScore < '' + convert(nvarchar(10), @beginScore + @ScoreRange) +
      '' GROUP BY '' + @subFieldSql + '') AS t'' + convert(nvarchar(10), @beginScore)
   
   SET @joinOnSql = ''''
   IF @TestClassId IS NOT NULL
    SET @joinOnSql = @joinOnSql + '' AND t'' + convert(nvarchar(10), @beginScore - @ScoreRange) + ''.TestClassId = t'' + convert(nvarchar(10), @beginScore) + ''.TestClassId''
   IF @TestSubjectId IS NOT NULL
    SET @joinOnSql = @joinOnSql + '' AND t'' + convert(nvarchar(10), @beginScore - @ScoreRange) + ''.TestSubjectId = t'' + convert(nvarchar(10), @beginScore) + ''.TestSubjectId''
   IF @TestInfoId IS NOT NULL
    SET @joinOnSql = @joinOnSql + '' AND t'' + convert(nvarchar(10), @beginScore - @ScoreRange) + ''.TestInfoId = t'' + convert(nvarchar(10), @beginScore) + ''.TestInfoId'' 
   --移除不必要的 AND
   SET @joinOnSql = RIGHT(@joinOnSql, Len(@joinOnSql) - 4)

  
   SET @sql = @sql + '' FULL JOIN '' + @subSql +
    '' ON '' + @joinOnSql
 
   --拼接查询列的Sql语句
   SET @fieldSql = @fieldSql + '', S'' + convert(nvarchar(10), @beginScore) + ''_'' + convert(nvarchar(10), @beginScore + @ScoreRange)
   
   SET @beginScore = @beginScore + @ScoreRange
  END
 
 --加上开始的头SELECT语句 
 SET @sql = ''SELECT '' + @fieldSql + '' FROM ('' +@sql + '')''
 
 --为了缩减字符串,加上临时表
 DECLARE @tempSql nvarchar(4000)
 SET @tempSql = ''DECLARE @tempScoreTable table(TestInfoId int, TestClassId int, TestSubjectId int, TestScore float)
    INSERT INTO @tempScoreTable
     (TestInfoId, TestClassId, TestSubjectId, TestScore)
    SELECT TestInfoId, TestClassId, TestSubjectId, TestScore FROM
     tbl_TestScore
    WHERE
     TestInfoId = IsNull('' + IsNull(convert(nvarchar(10), @TestInfoId),''NULL'') + '', TestInfoId) AND
     TestClassId = IsNull('' + IsNull(convert(nvarchar(10), @TestClassId),''NULL'') + '', TestClassId) AND
     TestSubjectId = IsNull('' + IsNull(convert(nvarchar(10), @TestSubjectId),''NULL'') + '', TestSubjectId) ''
  
 PRINT @tempSql + @sql --如果要打印出生成的Sql语句,请取消这句注释
 
 EXEC(@tempSql + @sql)'
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_EmployeeState]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_EmployeeState](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Name] [nvarchar](50) NOT NULL,
 CONSTRAINT [PK_tbl_EmployeeState] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'员工状态Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_EmployeeState', @level2type=N'COLUMN', @level2name=N'Id'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'员工状态名称' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_EmployeeState', @level2type=N'COLUMN', @level2name=N'Name'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'员工状态(退休、下岗、解聘等等)' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_EmployeeState'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[usp_IsEmployeeExists]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'/*
 判断职工是否存在
*/
CREATE PROCEDURE [dbo].[usp_IsEmployeeExists]
@Id nvarchar(50) = NULL,
@File nvarchar(50) = NULL,
@IdCard nvarchar(50) = NULL,
@ITIC nvarchar(50) = NULL
AS
 DECLARE @result int
 SET @result = 0
 
 IF @Id IS NOT NULL
  SELECT @result = 1 FROM tbl_Employee WHERE Id = @Id 
  
 IF @File IS NOT NULL
  SELECT @result = 2 FROM tbl_Employee WHERE [File] = @File 
 
 IF @Id IS NOT NULL
  SELECT @result = 3 FROM tbl_Employee WHERE IdCard = @IdCard 
 
 IF @Id IS NOT NULL
  SELECT @result = 4 FROM tbl_Employee WHERE ITIC = @ITIC 
 
 SELECT @result Result
 RETURN @result
'
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_Suggestion]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_Suggestion](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Title] [nvarchar](50) NULL,
 [Content] [text] NULL,
 [Time] [datetime] NULL,
 [SendIp] [nvarchar](50) NULL,
 [Remarks] [text] NULL,
 CONSTRAINT [PK_tbl_Suggestion] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'主题' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Suggestion', @level2type=N'COLUMN', @level2name=N'Title'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'内容' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Suggestion', @level2type=N'COLUMN', @level2name=N'Content'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'发送时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Suggestion', @level2type=N'COLUMN', @level2name=N'Time'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'发送人IP' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Suggestion', @level2type=N'COLUMN', @level2name=N'SendIp'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Suggestion', @level2type=N'COLUMN', @level2name=N'Remarks'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'意见表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Suggestion'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_HostelType]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_HostelType](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Name] [nvarchar](50) NOT NULL,
 CONSTRAINT [PK_tbl_HostelType] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[usp_ShowTestScore2ByTestClassId]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'--可查询考试二科的全部学生成绩和班级学生成绩
CREATE PROCEDURE [dbo].[usp_ShowTestScore2ByTestClassId]
@TestInfoId int,
@TestClassId int=NULL,
@SortColumn nvarchar(100),
@subjectStr varchar(4000)
as
DECLARE @sql1 nvarchar(4000), --拼接后的第一个Sql语句
   @sql2 nvarchar(4000), --拼接后的第二个Sql语句
   @sql3 nvarchar(4000), --拼接后的第三个Sql语句
   @fieldSql nvarchar(4000), --查询列的Sql语句
   @fieldSql1 nvarchar(4000),--虚拟表列的Sql语句
   @fieldSql2 nvarchar(4000),--虚拟表统计的Sql语句
   @fieldSql3 nvarchar(4000)--虚拟表统计和的Sql语句
 SET @fieldSql = ''''
 SET @sql1=''''
 SET @sql2=''''
 SET @sql3=''''
 SET @fieldSql1=''''
 SET @fieldSql2=''''
 SET @fieldSql3=''''
 declare @i int
 declare @isFalg int
 declare @SubName varchar(30)
 declare @SubName1 varchar(30)
 set @isFalg=0
    set @subjectStr = rtrim(ltrim(@subjectStr))
    set @i = charindex('','',@subjectStr)
    while @i >= 1
    begin
        if len(left(@subjectStr,@i-1))>0
        begin
             SET @fieldSql=@fieldSql+ '',''+left(@subjectStr,@i-1)
             SET @fieldSql1=@fieldSql1+'',''+left(@subjectStr,@i-1)+'' float''
             SET @fieldSql2=@fieldSql2+'',''+''Sum(''+left(@subjectStr,@i-1)+'') as ''+left(@subjectStr,@i-1)+''总分''
             SET @fieldSql3=@fieldSql3+left(@subjectStr,@i-1)+''+''
             if(@isFalg<1)
             begin
             set @isFalg=1
             SET @sql1=@sql1+'' (
select TestSubjectId,TestClassId,TestInfoId,StudentName,StudentId,ClassName,TestScore '' + left(@subjectStr,@i-1)+ '' from dbo.v_TestScore_Student_Class_Subject
where subjectName=''''''+ left(@subjectStr,@i-1)+'''''' and TestClassId=''+isNull(convert(nvarchar(20),@TestClassId),+''TestClassId'')+'' and TestInfoId=''+convert(nvarchar(20),@TestInfoId)+'' ) as ''+ left(@subjectStr,@i-1)+'' INNER JOIN''
   SET @SubName=left(@subjectStr,@i-1)
    end
        end
        set @subjectStr=substring(@subjectStr,@i+1,len(@subjectStr)-@i)
        set @i=charindex('','',@subjectStr)
    end

    if @subjectStr <> ''''
    begin
  
       SET @fieldSql=@fieldSql+ '',''+@subjectStr
       SET @fieldSql1=@fieldSql1+'',''+@subjectStr+'' float''
       SET @fieldSql2=@fieldSql2+'',''+''Sum(''+@subjectStr+'') as ''+@subjectStr+''总分''
       SET @fieldSql3=@fieldSql3+@subjectStr
       SET @fieldSql2 = RIGHT(@fieldSql2, Len(@fieldSql2) - 1)
       SET @fieldSql1 = RIGHT(@fieldSql1, Len(@fieldSql1) - 1)
    SET @fieldSql = RIGHT(@fieldSql, Len(@fieldSql) - 1)
    SET @sql2=@sql2+'' (
select TestSubjectId,TestClassId,TestInfoId,StudentName,StudentId,ClassName,TestScore '' + @subjectStr+ '' from dbo.v_TestScore_Student_Class_Subject
where subjectName=''''''+ @subjectStr+'''''' and TestClassId=''+isNull(convert(nvarchar(20),@TestClassId),+''TestClassId'')+'' and TestInfoId=''+convert(nvarchar(20),@TestInfoId)+''
) as ''+ @subjectStr+'' on ''+@SubName+''.StudentId=''+@subjectStr+''.StudentId''
    end
   
 SET @sql3= ''DECLARE @temp table(学生名称 nvarchar(50),学号 nvarchar(50),班级名称 nvarchar(50),''+@fieldSql1+'' ) insert into @temp  select ''+@subjectStr+''.StudentName as 学生名称,''+@subjectStr+''.StudentId as 学号,''+@subjectStr+''.ClassName as 班级名称,''+@fieldSql+'' from ''+@sql1+@sql2+'' where ''+@subjectStr+''.TestClassId=''+isNull(convert(nvarchar(20),@TestClassId),@subjectStr+''.TestClassId'')+'' and  ''+@subjectStr+''.TestInfoId=''+convert(nvarchar(20),@TestInfoId)+''  select 学生名称,学号,班级名称,''+@fieldSql+'',(''+@fieldSql3+'') as 总分  FROM
(SELECT * FROM @temp) as t order by ''+@SortColumn+'' desc''
print @sql3
EXEC sp_executesql @sql3

 

'
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[usp_ShowTestScore1]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [dbo].[usp_ShowTestScore1]
@TestInfoId int,
@TestClassId int,
@subjectStr varchar(4000)
as
DECLARE @sql1 nvarchar(4000) --拼接后的第一个Sql语句
SET @sql1=''''
SET @sql1=@sql1+ ''select StudentName as 学生名称,StudentId as 学号,TestScore as ''+@subjectStr+'' from dbo.v_TestScore_Student_Class_Subject where TestClassId=''+convert(nvarchar(20),@TestClassId)+'' and  TestInfoId=''+convert(nvarchar(20),@TestInfoId)+'' and subjectname=''''''+@subjectStr+''''''''
print @sql1
EXEC sp_executesql @sql1'
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[usp_ShowTestScore2]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [dbo].[usp_ShowTestScore2]
@TestInfoId int,
@TestClassId int,
@subjectStr varchar(4000)
as
DECLARE @sql1 nvarchar(4000), --拼接后的第一个Sql语句
  @sql2 nvarchar(4000), --拼接后的第二个Sql语句
  @sql3 nvarchar(4000), --拼接后的第三个Sql语句
  @fieldSql nvarchar(4000) --查询列的Sql语句
  
 SET @fieldSql = ''''
 SET @sql1=''''
 SET @sql2=''''
 SET @sql3=''''
 
 declare @i int
 declare @isFalg int
 declare @SubName varchar(30)
 declare @SubName1 varchar(30)
 set @isFalg=0
    set @subjectStr = rtrim(ltrim(@subjectStr))
    set @i = charindex('','',@subjectStr)
     while @i >= 1
    begin
        if len(left(@subjectStr,@i-1))>0
        begin
             SET @fieldSql=@fieldSql+ '',''+left(@subjectStr,@i-1)
             if(@isFalg<1)
             begin
             set @isFalg=1
             SET @sql1=@sql1+'' (
select TestSubjectId,TestClassId,TestInfoId,StudentName,StudentId,TestScore '' + left(@subjectStr,@i-1)+ '' from dbo.v_TestScore_Student_Class_Subject
where subjectName=''''''+ left(@subjectStr,@i-1)+'''''' and TestClassId=''+isNull(convert(nvarchar(20),@TestClassId),+''TestClassId'')+'' and TestInfoId=''+convert(nvarchar(20),@TestInfoId)+'' ) as ''+ left(@subjectStr,@i-1)+'' INNER JOIN''
   SET @SubName=left(@subjectStr,@i-1)
    end
        end
        set @subjectStr=substring(@subjectStr,@i+1,len(@subjectStr)-@i)
        set @i=charindex('','',@subjectStr)
    end
    if @subjectStr <> ''''
    begin
       SET @fieldSql=@fieldSql+ '',''+@subjectStr
      
    SET @fieldSql = RIGHT(@fieldSql, Len(@fieldSql) - 1)
    SET @sql2=@sql2+'' (
select TestSubjectId,TestClassId,TestInfoId,StudentName,StudentId,TestScore '' + @subjectStr+ '' from dbo.v_TestScore_Student_Class_Subject
where subjectName=''''''+ @subjectStr+'''''' and TestClassId=''+isNull(convert(nvarchar(20),@TestClassId),+''TestClassId'')+'' and TestInfoId=''+convert(nvarchar(20),@TestInfoId)+''
) as ''+ @subjectStr+'' on ''+@SubName+''.StudentId=''+@subjectStr+''.StudentId''
 end

SET @sql3= ''select ''+@subjectStr+''.StudentName as 学生名称,''+@subjectStr+''.StudentId as 学号,''+@fieldSql+'' from ''+@sql1+@sql2+'' where ''+@subjectStr+''.TestClassId=''+convert(nvarchar(20),@TestClassId)+'' and  ''+@subjectStr+''.TestInfoId=''+convert(nvarchar(20),@TestInfoId)
EXEC sp_executesql @sql3'
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[usp_ShowTestScore1ByTestClassId]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'CREATE proc [dbo].[usp_ShowTestScore1ByTestClassId]
@TestInfoId int,
@TestClassId int=NULL,
@SortColumn nvarchar(100),
@subjectStr varchar(4000)
as
DECLARE @sql1 nvarchar(4000) --拼接后的第一个Sql语句
 SET @sql1=''''
 SET @sql1= ''DECLARE @temp table(学生名称 nvarchar(50),学号 nvarchar(50),班级名称 nvarchar(50),''+@subjectStr+'' float) insert into @temp  select StudentName as 学生名称,StudentId as 学号,ClassName as 班级名称,TestScore from dbo.v_TestScore_Student_Class_Subject where subjectName=''''''+@subjectStr+''''''and TestClassId=''+isNull(convert(nvarchar(20),@TestClassId),+''TestClassId'')+'' and  TestInfoId=''+convert(nvarchar(20),@TestInfoId)+''  select 学生名称,学号,班级名称,''+@subjectStr+'',(''+@subjectStr+'') as 总分  FROM
(SELECT * FROM @temp) as t order by ''+@SortColumn+'' desc''
EXEC sp_executesql @sql1

'
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_HostelState]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_HostelState](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Name] [nvarchar](50) NOT NULL,
 CONSTRAINT [PK_tbl_HostelState] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_StudentAttendanceType]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_StudentAttendanceType](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Name] [varchar](50) NOT NULL,
 CONSTRAINT [PK_tbl_StudentAttendanceType] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_TimeSpanType]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_TimeSpanType](
 [Id] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
 [Name] [nvarchar](50) NULL,
 CONSTRAINT [PK_TimeSpanTypeId] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[v_Course]'))
EXEC dbo.sp_executesql @statement = N'CREATE VIEW [dbo].[v_Course]
AS
SELECT     dbo.tbl_Course.Id, dbo.tbl_Course.WeekDay, dbo.tbl_Course.EmployeeId, dbo.tbl_Course.ClassId, dbo.tbl_Course.SubjectId,
                      dbo.tbl_Course.TimeSpanId, dbo.tbl_Course.Term, dbo.tbl_Course.Remark, dbo.tbl_Subject.Name AS SubjectName,
                      dbo.tbl_Employee.Name AS EmployeeName,
                      (CASE WHEN dbo.tbl_Course.Term = 1 THEN ''上学期'' WHEN dbo.tbl_Course.Term = 2 THEN ''下学期'' ELSE ''空'' END) AS TermName
FROM         dbo.tbl_Course INNER JOIN
                      dbo.tbl_Employee ON dbo.tbl_Course.EmployeeId = dbo.tbl_Employee.Id INNER JOIN
                      dbo.tbl_Subject ON dbo.tbl_Course.SubjectId = dbo.tbl_Subject.Id
'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane1', @value=N'[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
Begin DesignProperties =
   Begin PaneConfigurations =
      Begin PaneConfiguration = 0
         NumPanes = 4
         Configuration = "(H (1[40] 4[20] 2[20] 3) )"
      End
      Begin PaneConfiguration = 1
         NumPanes = 3
         Configuration = "(H (1 [50] 4 [25] 3))"
      End
      Begin PaneConfiguration = 2
         NumPanes = 3
         Configuration = "(H (1 [50] 2 [25] 3))"
      End
      Begin PaneConfiguration = 3
         NumPanes = 3
         Configuration = "(H (4 [30] 2 [40] 3))"
      End
      Begin PaneConfiguration = 4
         NumPanes = 2
         Configuration = "(H (1 [56] 3))"
      End
      Begin PaneConfiguration = 5
         NumPanes = 2
         Configuration = "(H (2 [66] 3))"
      End
      Begin PaneConfiguration = 6
         NumPanes = 2
         Configuration = "(H (4 [50] 3))"
      End
      Begin PaneConfiguration = 7
         NumPanes = 1
         Configuration = "(V (3))"
      End
      Begin PaneConfiguration = 8
         NumPanes = 3
         Configuration = "(H (1[56] 4[18] 2) )"
      End
      Begin PaneConfiguration = 9
         NumPanes = 2
         Configuration = "(H (1 [75] 4))"
      End
      Begin PaneConfiguration = 10
         NumPanes = 2
         Configuration = "(H (1[66] 2) )"
      End
      Begin PaneConfiguration = 11
         NumPanes = 2
         Configuration = "(H (4 [60] 2))"
      End
      Begin PaneConfiguration = 12
         NumPanes = 1
         Configuration = "(H (1) )"
      End
      Begin PaneConfiguration = 13
         NumPanes = 1
         Configuration = "(V (4))"
      End
      Begin PaneConfiguration = 14
         NumPanes = 1
         Configuration = "(V (2))"
      End
      ActivePaneConfig = 0
   End
   Begin DiagramPane =
      Begin Origin =
         Top = 0
         Left = 0
      End
      Begin Tables =
         Begin Table = "tbl_Course"
            Begin Extent =
               Top = 56
               Left = 192
               Bottom = 171
               Right = 329
            End
            DisplayFlags = 280
            TopColumn = 4
         End
         Begin Table = "tbl_Employee"
            Begin Extent =
               Top = 0
               Left = 405
               Bottom = 115
               Right = 553
            End
            DisplayFlags = 280
            TopColumn = 0
         End
         Begin Table = "tbl_Subject"
            Begin Extent =
               Top = 18
               Left = 36
               Bottom = 118
               Right = 167
            End
            DisplayFlags = 280
            TopColumn = 0
         End
      End
   End
   Begin SQLPane =
   End
   Begin DataPane =
      Begin ParameterDefaults = ""
      End
      Begin ColumnWidths = 11
         Width = 284
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
      End
   End
   Begin CriteriaPane =
      Begin ColumnWidths = 11
         Column = 1440
         Alias = 900
         Table = 1170
         Output = 720
         Append = 1400
         NewValue = 1170
         SortType = 1350
         SortOrder = 1410
         GroupBy = 1350
         Filter = 1350
         Or = 1350
         Or = 1350
         Or = 1350
      End
   End
End
' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'VIEW', @level1name=N'v_Course'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPaneCount', @value=1 ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'VIEW', @level1name=N'v_Course'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_Email]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_Email](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Title] [nvarchar](50) NULL,
 [Content] [text] NULL,
 [SendTime] [datetime] NULL,
 [IsRead] [int] NOT NULL,
 [StateId] [int] NULL,
 [TypeId] [int] NULL,
 [ReceiveId] [int] NULL,
 [SendId] [int] NULL,
 [Remarks] [text] NULL,
 CONSTRAINT [PK_tbl_Email] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'邮件Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Email', @level2type=N'COLUMN', @level2name=N'Id'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'主题' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Email', @level2type=N'COLUMN', @level2name=N'Title'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'内容' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Email', @level2type=N'COLUMN', @level2name=N'Content'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'发送时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Email', @level2type=N'COLUMN', @level2name=N'SendTime'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'邮件状态Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Email', @level2type=N'COLUMN', @level2name=N'StateId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'类型Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Email', @level2type=N'COLUMN', @level2name=N'TypeId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Email', @level2type=N'COLUMN', @level2name=N'Remarks'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'邮件表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Email'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_SchoolBasicInfo]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_SchoolBasicInfo](
 [Id] [nvarchar](50) NOT NULL,
 [Name] [nvarchar](50) NOT NULL,
 [Address] [nvarchar](200) NOT NULL,
 [EmployeeId] [nvarchar](50) NULL,
 [CreateTime] [datetime] NOT NULL,
 [StateId] [int] NULL,
 [TypeId] [int] NOT NULL,
 [Summary] [nvarchar](4000) NOT NULL,
 [Phone] [nvarchar](50) NULL,
 [Fax] [nvarchar](50) NULL,
 [Postalcode] [int] NULL,
 [Responsible] [nvarchar](50) NULL,
 [Email] [nvarchar](50) NULL,
 [Reside] [nvarchar](50) NULL,
 [Remarks] [text] NOT NULL,
 CONSTRAINT [PK_tbl_SchoolBasic] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学校号(学校代号)' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_SchoolBasicInfo', @level2type=N'COLUMN', @level2name=N'Id'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学校名' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_SchoolBasicInfo', @level2type=N'COLUMN', @level2name=N'Name'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'地址' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_SchoolBasicInfo', @level2type=N'COLUMN', @level2name=N'Address'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'负责人' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_SchoolBasicInfo', @level2type=N'COLUMN', @level2name=N'EmployeeId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'创建时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_SchoolBasicInfo', @level2type=N'COLUMN', @level2name=N'CreateTime'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'状态ID' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_SchoolBasicInfo', @level2type=N'COLUMN', @level2name=N'StateId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'类型Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_SchoolBasicInfo', @level2type=N'COLUMN', @level2name=N'TypeId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学校简介' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_SchoolBasicInfo', @level2type=N'COLUMN', @level2name=N'Summary'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'电话' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_SchoolBasicInfo', @level2type=N'COLUMN', @level2name=N'Phone'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'传真' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_SchoolBasicInfo', @level2type=N'COLUMN', @level2name=N'Fax'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'邮政编码' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_SchoolBasicInfo', @level2type=N'COLUMN', @level2name=N'Postalcode'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'所属部门' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_SchoolBasicInfo', @level2type=N'COLUMN', @level2name=N'Responsible'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'邮箱地址' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_SchoolBasicInfo', @level2type=N'COLUMN', @level2name=N'Email'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'所属地区(县属、市属、省属)' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_SchoolBasicInfo', @level2type=N'COLUMN', @level2name=N'Reside'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_SchoolBasicInfo', @level2type=N'COLUMN', @level2name=N'Remarks'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学校基本信息' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_SchoolBasicInfo'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_BusInfo]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_BusInfo](
 [Id] [nvarchar](50) NOT NULL,
 [Number] [int] NULL,
 [Route] [nvarchar](500) NULL,
 [StateId] [int] NULL,
 [SchoolId] [nvarchar](50) NULL,
 [Count] [int] NULL,
 [AddTime] [datetime] NULL,
 [ScrapTime] [nchar](10) NULL,
 [Remarks] [text] NOT NULL,
 CONSTRAINT [PK_tbl_BusInfo] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'车牌号' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BusInfo', @level2type=N'COLUMN', @level2name=N'Id'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'车辆编号(1、)' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BusInfo', @level2type=N'COLUMN', @level2name=N'Number'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'行车路线' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BusInfo', @level2type=N'COLUMN', @level2name=N'Route'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'状态' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BusInfo', @level2type=N'COLUMN', @level2name=N'StateId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'可载人数' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BusInfo', @level2type=N'COLUMN', @level2name=N'Count'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'增加车辆的录入时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BusInfo', @level2type=N'COLUMN', @level2name=N'AddTime'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'报废时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BusInfo', @level2type=N'COLUMN', @level2name=N'ScrapTime'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BusInfo', @level2type=N'COLUMN', @level2name=N'Remarks'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'车辆信息表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BusInfo'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_StudentPhoto]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_StudentPhoto](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Photo] [nvarchar](500) NULL,
 [ClassId] [int] NOT NULL,
 [CreateTime] [datetime] NOT NULL CONSTRAINT [DF_tbl_StudentPhoto_CreateTime]  DEFAULT (getdate()),
 [UploadTime] [datetime] NOT NULL CONSTRAINT [DF_StudentPhoto_UploadTime]  DEFAULT (getdate()),
 [StudentId] [nvarchar](50) NOT NULL,
 CONSTRAINT [PK_StudentPhoto] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'主键' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentPhoto', @level2type=N'COLUMN', @level2name=N'Id'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'相片路径' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentPhoto', @level2type=N'COLUMN', @level2name=N'Photo'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'年级Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentPhoto', @level2type=N'COLUMN', @level2name=N'ClassId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'上传时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentPhoto', @level2type=N'COLUMN', @level2name=N'UploadTime'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学生Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentPhoto', @level2type=N'COLUMN', @level2name=N'StudentId'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_StudentExperience]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_StudentExperience](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [StartTime] [datetime] NOT NULL,
 [EndTime] [datetime] NOT NULL,
 [StudentId] [nvarchar](50) NULL,
 [SchoolName] [nvarchar](50) NOT NULL,
 CONSTRAINT [PK_tbl_StudentExperience] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'开始时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentExperience', @level2type=N'COLUMN', @level2name=N'StartTime'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'结束时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentExperience', @level2type=N'COLUMN', @level2name=N'EndTime'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学生学籍号' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentExperience', @level2type=N'COLUMN', @level2name=N'StudentId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学校名称' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentExperience', @level2type=N'COLUMN', @level2name=N'SchoolName'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学生学习经历表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentExperience'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_BusPandStudent]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_BusPandStudent](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [StudentId] [nvarchar](50) NULL,
 [IsPand] [int] NOT NULL,
 [SeatId] [int] NULL,
 [Time] [datetime] NULL,
 [Remarks] [text] NULL,
 CONSTRAINT [PK_tbl_BusPandStudent] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'1被安排2被移出' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BusPandStudent', @level2type=N'COLUMN', @level2name=N'IsPand'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'座位' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BusPandStudent', @level2type=N'COLUMN', @level2name=N'SeatId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BusPandStudent', @level2type=N'COLUMN', @level2name=N'Time'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BusPandStudent', @level2type=N'COLUMN', @level2name=N'Remarks'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_BusStudent]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_BusStudent](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [StudentId] [nvarchar](50) NULL,
 [LogId] [int] NULL,
 [SeatId] [int] NULL,
 CONSTRAINT [PK_tbl_BusStudent] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学生Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BusStudent', @level2type=N'COLUMN', @level2name=N'StudentId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'每天车辆信息录入Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BusStudent', @level2type=N'COLUMN', @level2name=N'LogId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'座位Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BusStudent', @level2type=N'COLUMN', @level2name=N'SeatId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'每天学生坐车情况记录' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BusStudent'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_Bed]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_Bed](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Num] [int] NOT NULL,
 [StudentId] [nvarchar](50) NULL,
 [StateId] [int] NOT NULL,
 [RoomId] [int] NOT NULL,
 CONSTRAINT [PK_tbl_Bed] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Bed', @level2type=N'COLUMN', @level2name=N'Id'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'床位号' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Bed', @level2type=N'COLUMN', @level2name=N'Num'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'房间Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Bed', @level2type=N'COLUMN', @level2name=N'RoomId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'床位表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Bed'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_CheckWork_Student]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_CheckWork_Student](
 [Id] [nvarchar](50) NOT NULL,
 [StudentId] [nvarchar](50) NULL,
 [Booker] [nvarchar](50) NULL,
 [Time] [datetime] NULL,
 [Reason] [nvarchar](50) NULL,
 [ClassId] [int] NULL,
 [TypeId] [int] NULL,
 [Remarks] [text] NULL,
 CONSTRAINT [PK_tbl_CheckWork_Student] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学生Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_CheckWork_Student', @level2type=N'COLUMN', @level2name=N'StudentId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'登记人' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_CheckWork_Student', @level2type=N'COLUMN', @level2name=N'Booker'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'记录时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_CheckWork_Student', @level2type=N'COLUMN', @level2name=N'Time'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'出勤原因' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_CheckWork_Student', @level2type=N'COLUMN', @level2name=N'Reason'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'考勤类型Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_CheckWork_Student', @level2type=N'COLUMN', @level2name=N'TypeId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_CheckWork_Student', @level2type=N'COLUMN', @level2name=N'Remarks'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学生考勤记录表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_CheckWork_Student'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_StudentFamily]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_StudentFamily](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Call] [nvarchar](50) NULL,
 [FamilyName] [nvarchar](50) NULL,
 [WorkAddress] [nvarchar](50) NULL,
 [Address] [nvarchar](50) NULL,
 [Phone] [nvarchar](50) NULL,
 [StudentId] [nvarchar](50) NULL,
 CONSTRAINT [PK_tbl_StudenFamily] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentFamily', @level2type=N'COLUMN', @level2name=N'Id'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'名字' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentFamily', @level2type=N'COLUMN', @level2name=N'FamilyName'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'工作单位' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentFamily', @level2type=N'COLUMN', @level2name=N'WorkAddress'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'家庭住址' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentFamily', @level2type=N'COLUMN', @level2name=N'Address'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'电话' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentFamily', @level2type=N'COLUMN', @level2name=N'Phone'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学生学籍号' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentFamily', @level2type=N'COLUMN', @level2name=N'StudentId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学生家庭状况表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentFamily'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_TestScore]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_TestScore](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [TestSubjectId] [int] NOT NULL,
 [TestClassId] [int] NOT NULL,
 [TestInfoId] [int] NOT NULL,
 [StudentId] [nvarchar](50) NOT NULL,
 [TestScore] [float] NULL CONSTRAINT [DF_tbl_TestScore_TestScore]  DEFAULT ((0)),
 CONSTRAINT [PK_tbl_TestScore] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'外键,对应考试科目表的主键' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_TestScore', @level2type=N'COLUMN', @level2name=N'TestSubjectId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'外键,对应考试班级表的主键' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_TestScore', @level2type=N'COLUMN', @level2name=N'TestClassId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'外键,对应考试信息表的主键' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_TestScore', @level2type=N'COLUMN', @level2name=N'TestInfoId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'外键,对应学生表的主键' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_TestScore', @level2type=N'COLUMN', @level2name=N'StudentId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'考试的分数' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_TestScore', @level2type=N'COLUMN', @level2name=N'TestScore'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'参与考试的学生成绩' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_TestScore'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_CheckStudentBed]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_CheckStudentBed](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [StudentId] [nvarchar](50) NOT NULL,
 [CheckTime] [datetime] NULL,
 [LeaveTime] [datetime] NULL,
 [RoomId] [int] NULL,
 [BedId] [int] NULL,
 [ClassId] [int] NULL,
 [Remarks] [text] NULL,
 CONSTRAINT [PK_tbl_CheckStudentBed] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_CheckStudentBed', @level2type=N'COLUMN', @level2name=N'Id'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学生id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_CheckStudentBed', @level2type=N'COLUMN', @level2name=N'StudentId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'入住时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_CheckStudentBed', @level2type=N'COLUMN', @level2name=N'CheckTime'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'迁出时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_CheckStudentBed', @level2type=N'COLUMN', @level2name=N'LeaveTime'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'床位Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_CheckStudentBed', @level2type=N'COLUMN', @level2name=N'BedId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_CheckStudentBed', @level2type=N'COLUMN', @level2name=N'Remarks'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'入住迁出信息表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_CheckStudentBed'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_BusSeat]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_BusSeat](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Number] [int] NOT NULL,
 [StudentId] [nvarchar](50) NULL,
 [IsCheck] [int] NULL,
 [BusInfoId] [nvarchar](50) NULL,
 CONSTRAINT [PK_tbl_BusSeat] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'座位号' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BusSeat', @level2type=N'COLUMN', @level2name=N'Number'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学生Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BusSeat', @level2type=N'COLUMN', @level2name=N'StudentId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否有人坐(1有人、2没有人)' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BusSeat', @level2type=N'COLUMN', @level2name=N'IsCheck'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'校车Id(当校车报废的时候所有的BusSeat关于这辆车的Seat将不查询出来)' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BusSeat', @level2type=N'COLUMN', @level2name=N'BusInfoId'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_StudentAttendance]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_StudentAttendance](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [TypeId] [int] NOT NULL,
 [MarkTime] [datetime] NOT NULL,
 [Remark] [text] NULL,
 [TimeSpanId] [int] NOT NULL,
 [SubjectId] [int] NOT NULL,
 [StudentId] [nvarchar](50) NOT NULL,
 CONSTRAINT [PK_tbl_StudentAttendance] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'记录时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentAttendance', @level2type=N'COLUMN', @level2name=N'MarkTime'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentAttendance', @level2type=N'COLUMN', @level2name=N'Remark'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'时间段Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentAttendance', @level2type=N'COLUMN', @level2name=N'TimeSpanId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'科目Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentAttendance', @level2type=N'COLUMN', @level2name=N'SubjectId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学生考勤表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentAttendance'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_StudentClassEvent]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_StudentClassEvent](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [StudentId] [nvarchar](50) NOT NULL,
 [TypeId] [int] NOT NULL,
 [Content] [nvarchar](500) NULL,
 [OrginClassId] [int] NOT NULL,
 [TargetClassId] [int] NOT NULL,
 [ChangeTime] [datetime] NOT NULL CONSTRAINT [DF_tbl_StudentClassEvent_ChangeTime]  DEFAULT (getdate()),
 CONSTRAINT [PK_StudentClassEvent] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学生Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentClassEvent', @level2type=N'COLUMN', @level2name=N'StudentId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'升降跳留转名称' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentClassEvent', @level2type=N'COLUMN', @level2name=N'TypeId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'升降跳留内容记录' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentClassEvent', @level2type=N'COLUMN', @level2name=N'Content'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'原班级Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentClassEvent', @level2type=N'COLUMN', @level2name=N'OrginClassId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'目标班级Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentClassEvent', @level2type=N'COLUMN', @level2name=N'TargetClassId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'班级的升降跳留级转班表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentClassEvent'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_StudentlRP]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_StudentlRP](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Title] [nvarchar](50) NULL,
 [Content] [nvarchar](50) NULL,
 [Time] [datetime] NULL,
 [Address] [nvarchar](50) NULL,
 [TypeId] [int] NULL,
 [StudentId] [nvarchar](50) NULL,
 [Remarks] [text] NULL,
 CONSTRAINT [PK_tbl_StudentlRP] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'升级留级奖罚等重要信息' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentlRP'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_StudentTermComment]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_StudentTermComment](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [StudentId] [nvarchar](50) NOT NULL,
 [CommentEmployeeId] [nvarchar](50) NULL,
 [ClassId] [int] NOT NULL,
 [Comment] [nvarchar](4000) NULL,
 [Term] [int] NULL,
 [CreateTime] [datetime] NOT NULL CONSTRAINT [DF_tbl_StudentTermComment_CreateTime]  DEFAULT (getdate()),
 [Remarks] [text] NULL,
 CONSTRAINT [PK_tbl_StudenTermComment] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学生Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentTermComment', @level2type=N'COLUMN', @level2name=N'StudentId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'给评语的老师签名' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentTermComment', @level2type=N'COLUMN', @level2name=N'CommentEmployeeId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'班级Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentTermComment', @level2type=N'COLUMN', @level2name=N'ClassId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'评语' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentTermComment', @level2type=N'COLUMN', @level2name=N'Comment'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'1为上学期,2为下学期' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentTermComment', @level2type=N'COLUMN', @level2name=N'Term'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentTermComment', @level2type=N'COLUMN', @level2name=N'Remarks'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学生学期评论表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentTermComment'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_BorrowInfo]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_BorrowInfo](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [BorrowEmployeeId] [nvarchar](50) NULL,
 [BorrowStudentId] [nvarchar](50) NULL,
 [BorrowNum] [int] NOT NULL,
 [BorrowTime] [datetime] NULL,
 [ReturnTime] [datetime] NULL,
 [IsReturn] [int] NOT NULL CONSTRAINT [DF_tbl_BorrowInfo_IsReturn]  DEFAULT ((0)),
 [EnterUserId] [int] NOT NULL,
 [SchoolId] [nvarchar](50) NOT NULL,
 [Remark] [text] NULL,
 CONSTRAINT [PK_tbl_BorrowInfo] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'外键,借书人ID(员工或学号)' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BorrowInfo', @level2type=N'COLUMN', @level2name=N'BorrowStudentId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'借书的本数' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BorrowInfo', @level2type=N'COLUMN', @level2name=N'BorrowNum'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'借书日期' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BorrowInfo', @level2type=N'COLUMN', @level2name=N'BorrowTime'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'归还日期' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BorrowInfo', @level2type=N'COLUMN', @level2name=N'ReturnTime'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否归还(0为未还,1为已还)' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BorrowInfo', @level2type=N'COLUMN', @level2name=N'IsReturn'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'记录人(外键,用户ID)' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BorrowInfo', @level2type=N'COLUMN', @level2name=N'EnterUserId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'外键,学校ID' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BorrowInfo', @level2type=N'COLUMN', @level2name=N'SchoolId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BorrowInfo', @level2type=N'COLUMN', @level2name=N'Remark'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_StudentUsing]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_StudentUsing](
 [Id] [nvarchar](50) NOT NULL,
 [StudentId] [nvarchar](50) NOT NULL,
 [Photo] [nvarchar](200) NULL,
 [Age] [int] NULL,
 [Comment] [nvarchar](200) NULL,
 [Term] [nvarchar](50) NULL,
 [ClassId] [int] NULL,
 [EmployeeId] [nvarchar](50) NULL,
 [Year] [datetime] NULL,
 [State] [int] NULL,
 [Position] [nvarchar](50) NULL,
 CONSTRAINT [PK_tbl_StudentUsing] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

/*
 当更新或者增加此记录后,更新年龄
*/
CREATE TRIGGER [UpdateAge]
ON [dbo].[tbl_StudentUsing]
FOR UPDATE, INSERT
AS        
 DECLARE @birthday datetime,
   @studentId nvarchar(50)
  
 --查出需要更新的变量
 IF Update(Id)
  SELECT @birthday = Birthday, @studentId = Id FROM tbl_Student WHERE Id = (SELECT StudentId FROM Updated)
 ELSE
  SELECT @birthday = Birthday, @studentId = Id FROM tbl_Student WHERE Id = (SELECT StudentId FROM Inserted)
 
 --更新年龄
 Update tbl_StudentUsing
 Set Age = DATEDIFF(year, @birthday, GetDate())
 WHERE @studentId = Id

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学生Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentUsing', @level2type=N'COLUMN', @level2name=N'StudentId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学生照片' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentUsing', @level2type=N'COLUMN', @level2name=N'Photo'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'年龄' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentUsing', @level2type=N'COLUMN', @level2name=N'Age'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'评语' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentUsing', @level2type=N'COLUMN', @level2name=N'Comment'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学期' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentUsing', @level2type=N'COLUMN', @level2name=N'Term'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'班级Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentUsing', @level2type=N'COLUMN', @level2name=N'ClassId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'班主任Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentUsing', @level2type=N'COLUMN', @level2name=N'EmployeeId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'1、为非活动2、活动' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentUsing', @level2type=N'COLUMN', @level2name=N'State'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学生职位(班长,科代等)' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentUsing', @level2type=N'COLUMN', @level2name=N'Position'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学生照片表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentUsing'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_Score]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_Score](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Score] [float] NULL,
 [StudentId] [nvarchar](50) NULL,
 [Time] [datetime] NULL,
 [EmployeeId] [nvarchar](50) NULL,
 [TypeId] [int] NULL,
 [Term] [int] NULL,
 [ClassId] [int] NULL,
 [SubjecId] [int] NULL,
 CONSTRAINT [PK_tbl_Score] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'分数' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Score', @level2type=N'COLUMN', @level2name=N'Score'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学生Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Score', @level2type=N'COLUMN', @level2name=N'StudentId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Score', @level2type=N'COLUMN', @level2name=N'Time'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'记录人Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Score', @level2type=N'COLUMN', @level2name=N'EmployeeId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'类型Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Score', @level2type=N'COLUMN', @level2name=N'TypeId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'科目Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Score', @level2type=N'COLUMN', @level2name=N'SubjecId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'成绩登记表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Score'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_StudentCompensation]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_StudentCompensation](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Content] [nvarchar](4000) NOT NULL,
 [Reason] [nvarchar](500) NOT NULL,
 [CreateTime] [datetime] NOT NULL CONSTRAINT [DF_StudentCompensation_CreateTime]  DEFAULT (getdate()),
 [TypeId] [int] NOT NULL,
 [StudentId] [nvarchar](50) NOT NULL,
 CONSTRAINT [PK_StudentCompensation] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'奖罚内容 三好学生或单科二等奖扫地一星期' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentCompensation', @level2type=N'COLUMN', @level2name=N'Content'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'奖罚原因,如该学生日常学习很努力,各科成绩优异,在班里起带头作用,故被评为三好学生' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentCompensation', @level2type=N'COLUMN', @level2name=N'Reason'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'发生时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentCompensation', @level2type=N'COLUMN', @level2name=N'CreateTime'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'奖罚类形,不是奖,就是罚,1为奖,2为罚' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentCompensation', @level2type=N'COLUMN', @level2name=N'TypeId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学生Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentCompensation', @level2type=N'COLUMN', @level2name=N'StudentId'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_Grade]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_Grade](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Name] [nvarchar](50) NULL,
 [GroupId] [int] NULL,
 [SchoolId] [nvarchar](50) NULL,
 [PartId] [int] NULL,
 CONSTRAINT [PK_tbl_Grade] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'年纪Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Grade', @level2type=N'COLUMN', @level2name=N'Id'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'年纪名称' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Grade', @level2type=N'COLUMN', @level2name=N'Name'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学校Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Grade', @level2type=N'COLUMN', @level2name=N'SchoolId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'年级部Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Grade', @level2type=N'COLUMN', @level2name=N'PartId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'年级表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Grade'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_TestInfo]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_TestInfo](
 [Id] [int] IDENTITY(10000,1) NOT NULL,
 [TestName] [nvarchar](50) NOT NULL,
 [TestType] [int] NOT NULL,
 [SchoolDepartmentId] [int] NULL,
 [TestTerm] [int] NULL,
 [TestTime] [datetime] NULL,
 [TestGradeId] [int] NULL,
 CONSTRAINT [PK_tbl_TestInfo] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'考试编号(主键)' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_TestInfo', @level2type=N'COLUMN', @level2name=N'Id'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'考试名称' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_TestInfo', @level2type=N'COLUMN', @level2name=N'TestName'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'考试类别(统一考试、班级考试)' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_TestInfo', @level2type=N'COLUMN', @level2name=N'TestType'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'校部(外键,对应年级部表的主键。格式:国学部、中学部、小学部、学前部)' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_TestInfo', @level2type=N'COLUMN', @level2name=N'SchoolDepartmentId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'考试的学期(0为空、1为上学期、2为下学期)' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_TestInfo', @level2type=N'COLUMN', @level2name=N'TestTerm'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'考试时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_TestInfo', @level2type=N'COLUMN', @level2name=N'TestTime'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'考试信息表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_TestInfo'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_Subject]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_Subject](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Name] [nvarchar](100) NULL,
 [GradeId] [int] NULL,
 CONSTRAINT [PK_tbl_Subject] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'科目Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Subject', @level2type=N'COLUMN', @level2name=N'Id'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'科目名称' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Subject', @level2type=N'COLUMN', @level2name=N'Name'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'年级部Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Subject', @level2type=N'COLUMN', @level2name=N'GradeId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'科目表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Subject'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_EnrollClue]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_EnrollClue](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Name] [nvarchar](50) NOT NULL,
 [Telephone] [nvarchar](20) NULL,
 [Semester] [int] NULL CONSTRAINT [DF_tbl_EnrollClue_Semester]  DEFAULT ((0)),
 [IntentionGradeId] [int] NOT NULL,
 [MoblePhone] [nvarchar](50) NOT NULL,
 [ContactTime] [datetime] NOT NULL,
 [NextContactTime] [datetime] NULL,
 [IntentionState] [nvarchar](50) NOT NULL,
 [IntentionIntensity] [nvarchar](50) NOT NULL,
 [ContactMode] [nvarchar](50) NOT NULL,
 [EnrollPersonId] [int] NOT NULL,
 [ConsultationContent] [text] NULL,
 [Remarks] [text] NULL,
 CONSTRAINT [PK_tbl_EnrollClue] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'线索ID' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_EnrollClue', @level2type=N'COLUMN', @level2name=N'Id'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'意向学生姓名' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_EnrollClue', @level2type=N'COLUMN', @level2name=N'Name'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'电话号码(家庭电话020-34630948)' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_EnrollClue', @level2type=N'COLUMN', @level2name=N'Telephone'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学期(0为空,1为上,2为下)' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_EnrollClue', @level2type=N'COLUMN', @level2name=N'Semester'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'意向年级(外键,对应年级表的主键,格式:一年级)' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_EnrollClue', @level2type=N'COLUMN', @level2name=N'IntentionGradeId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'手机号码' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_EnrollClue', @level2type=N'COLUMN', @level2name=N'MoblePhone'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'联系时间(首次联系的时间)' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_EnrollClue', @level2type=N'COLUMN', @level2name=N'ContactTime'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'下次联系时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_EnrollClue', @level2type=N'COLUMN', @level2name=N'NextContactTime'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'意向状态(意向中,预报名、已报名、已结束)' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_EnrollClue', @level2type=N'COLUMN', @level2name=N'IntentionState'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'意向强烈度(一般、比较强烈、很强烈)' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_EnrollClue', @level2type=N'COLUMN', @level2name=N'IntentionIntensity'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'联系方式(电话回访、上门联系、邮件联系、MSN/QQ联系、来电、来访)' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_EnrollClue', @level2type=N'COLUMN', @level2name=N'ContactMode'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'招生负责人(外键,对应用户表ID)' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_EnrollClue', @level2type=N'COLUMN', @level2name=N'EnrollPersonId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'咨询内容' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_EnrollClue', @level2type=N'COLUMN', @level2name=N'ConsultationContent'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_EnrollClue', @level2type=N'COLUMN', @level2name=N'Remarks'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'招生意向线索表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_EnrollClue'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_Class]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_Class](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Name] [nvarchar](50) NULL,
 [GradeId] [int] NULL,
 [GradeYear] [datetime] NULL,
 [Remark] [text] NULL,
 CONSTRAINT [PK_tbl_Class] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY],
 CONSTRAINT [IX_tbl_Class] UNIQUE NONCLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'班级Id,记录XX届几班' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Class', @level2type=N'COLUMN', @level2name=N'Id'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'班级名称' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Class', @level2type=N'COLUMN', @level2name=N'Name'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'年纪Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Class', @level2type=N'COLUMN', @level2name=N'GradeId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'创建班级时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Class', @level2type=N'COLUMN', @level2name=N'GradeYear'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'班级表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Class'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'数据唯一' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Class', @level2type=N'CONSTRAINT', @level2name=N'IX_tbl_Class'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_StudentRPDetail]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_StudentRPDetail](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Information] [nvarchar](50) NULL,
 [Num] [nvarchar](50) NULL,
 [RPId] [int] NULL,
 [Remarks] [text] NULL,
 CONSTRAINT [PK_tbl_StudentRPDetail] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_Room]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_Room](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [RoomName] [nvarchar](50) NOT NULL,
 [Phone] [nvarchar](50) NULL,
 [CheckNum] [int] NULL,
 [TypeId] [int] NULL,
 [Sex] [nchar](10) NULL,
 [HostelId] [int] NULL,
 [StateId] [int] NULL,
 [Remark] [text] NULL,
 CONSTRAINT [PK_tbl_Room] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'房间Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Room', @level2type=N'COLUMN', @level2name=N'Id'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'房间名称' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Room', @level2type=N'COLUMN', @level2name=N'RoomName'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'电话' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Room', @level2type=N'COLUMN', @level2name=N'Phone'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'可入住人数' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Room', @level2type=N'COLUMN', @level2name=N'CheckNum'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'类型' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Room', @level2type=N'COLUMN', @level2name=N'TypeId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'状态' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Room', @level2type=N'COLUMN', @level2name=N'HostelId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学校' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Room', @level2type=N'COLUMN', @level2name=N'Remark'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'房间信息表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Room'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_SchoolRPDetail]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_SchoolRPDetail](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Information] [nvarchar](50) NULL,
 [Num] [nvarchar](50) NULL,
 [RPId] [nvarchar](50) NULL,
 [SchoolId] [nvarchar](50) NULL,
 [Remarks] [nvarchar](50) NOT NULL,
 CONSTRAINT [PK_tbl_SchoolRPDetail] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ID' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_SchoolRPDetail', @level2type=N'COLUMN', @level2name=N'Id'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'事件描述' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_SchoolRPDetail', @level2type=N'COLUMN', @level2name=N'Information'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'(证书)编号' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_SchoolRPDetail', @level2type=N'COLUMN', @level2name=N'Num'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'奖罚类型' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_SchoolRPDetail', @level2type=N'COLUMN', @level2name=N'RPId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学校号' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_SchoolRPDetail', @level2type=N'COLUMN', @level2name=N'SchoolId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'奖罚详细信息表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_SchoolRPDetail'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_EmployeeRPDetail]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_EmployeeRPDetail](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Information] [nvarchar](50) NULL,
 [Num] [nvarchar](50) NULL,
 [EmployeeId] [nvarchar](50) NULL,
 [RPId] [int] NULL,
 [Remarks] [text] NULL,
 CONSTRAINT [PK_tbl_EmployeeRPDetail] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'描述' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_EmployeeRPDetail', @level2type=N'COLUMN', @level2name=N'Information'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'证书编号' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_EmployeeRPDetail', @level2type=N'COLUMN', @level2name=N'Num'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'员工Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_EmployeeRPDetail', @level2type=N'COLUMN', @level2name=N'EmployeeId'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_Section]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_Section](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Name] [nvarchar](50) NULL,
 [Phone] [nvarchar](50) NULL,
 [SectionTypeId] [int] NULL,
 CONSTRAINT [PK_tbl_Section] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'员工部门ID' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Section', @level2type=N'COLUMN', @level2name=N'Id'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'员工部门名称' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Section', @level2type=N'COLUMN', @level2name=N'Name'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'部门电话' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Section', @level2type=N'COLUMN', @level2name=N'Phone'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'员工部门' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Section'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_Course]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_Course](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [WeekDay] [int] NULL,
 [EmployeeId] [nvarchar](50) NULL,
 [ClassId] [int] NULL,
 [SubjectId] [int] NULL,
 [TimeSpanId] [int] NULL,
 [Term] [int] NULL,
 [Remark] [text] NULL,
 CONSTRAINT [PK_tbl_Course] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Course', @level2type=N'COLUMN', @level2name=N'Id'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'工作时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Course', @level2type=N'COLUMN', @level2name=N'WeekDay'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'老师Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Course', @level2type=N'COLUMN', @level2name=N'EmployeeId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'班级Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Course', @level2type=N'COLUMN', @level2name=N'ClassId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'科目Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Course', @level2type=N'COLUMN', @level2name=N'SubjectId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'时间段Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Course', @level2type=N'COLUMN', @level2name=N'TimeSpanId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学期,0为空,1为上学期,2为下学期' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Course', @level2type=N'COLUMN', @level2name=N'Term'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Course', @level2type=N'COLUMN', @level2name=N'Remark'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'排课表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Course'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_BusEmployee]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_BusEmployee](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [EmployeeIds] [nvarchar](50) NOT NULL,
 [TeacherId] [nvarchar](50) NOT NULL,
 [BusId] [nvarchar](50) NOT NULL,
 [ReachTime] [datetime] NULL,
 [GetTime] [datetime] NULL,
 [Time] [datetime] NOT NULL,
 [TypeId] [int] NOT NULL,
 [Remarks] [text] NULL,
 CONSTRAINT [PK_tbl_BusEmployee] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'员工ID' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BusEmployee', @level2type=N'COLUMN', @level2name=N'EmployeeIds'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'跟车老师Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BusEmployee', @level2type=N'COLUMN', @level2name=N'TeacherId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'汽车Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BusEmployee', @level2type=N'COLUMN', @level2name=N'BusId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'开车时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BusEmployee', @level2type=N'COLUMN', @level2name=N'ReachTime'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'回来时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BusEmployee', @level2type=N'COLUMN', @level2name=N'GetTime'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'记录日期' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BusEmployee', @level2type=N'COLUMN', @level2name=N'Time'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'记录类型' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BusEmployee', @level2type=N'COLUMN', @level2name=N'TypeId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BusEmployee', @level2type=N'COLUMN', @level2name=N'Remarks'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'每天车辆出入人员的登记表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BusEmployee'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_CheckTeacherBed]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_CheckTeacherBed](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [EmployeeId] [nvarchar](50) NULL,
 [CheckTime] [datetime] NULL,
 [LeaveTime] [datetime] NULL,
 [BedId] [int] NULL,
 [RoomId] [int] NULL,
 [Remarks] [text] NULL,
 CONSTRAINT [PK_tbl_CheckTeacherBed] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'员工Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_CheckTeacherBed', @level2type=N'COLUMN', @level2name=N'EmployeeId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'入住时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_CheckTeacherBed', @level2type=N'COLUMN', @level2name=N'CheckTime'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'迁出时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_CheckTeacherBed', @level2type=N'COLUMN', @level2name=N'LeaveTime'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'床位Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_CheckTeacherBed', @level2type=N'COLUMN', @level2name=N'BedId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_CheckTeacherBed', @level2type=N'COLUMN', @level2name=N'Remarks'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'入住迁出信息表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_CheckTeacherBed'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_CheckWork_Employ]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_CheckWork_Employ](
 [Id] [int] NOT NULL,
 [EmployeeId] [nvarchar](50) NULL,
 [Booker] [nvarchar](50) NULL,
 [Time] [datetime] NULL,
 [Reason] [nvarchar](50) NULL,
 [SectionId] [int] NULL,
 [TypeId] [int] NULL,
 [Remarks] [text] NULL,
 CONSTRAINT [PK_tbl_CheckWork_E mploy] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'员工Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_CheckWork_Employ', @level2type=N'COLUMN', @level2name=N'EmployeeId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'登记人Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_CheckWork_Employ', @level2type=N'COLUMN', @level2name=N'Booker'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_CheckWork_Employ', @level2type=N'COLUMN', @level2name=N'Time'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'出勤原因' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_CheckWork_Employ', @level2type=N'COLUMN', @level2name=N'Reason'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'出勤类型' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_CheckWork_Employ', @level2type=N'COLUMN', @level2name=N'TypeId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_CheckWork_Employ', @level2type=N'COLUMN', @level2name=N'Remarks'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'员工考勤记录表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_CheckWork_Employ'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_Active]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_Active](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Title] [nvarchar](500) NOT NULL,
 [Content] [nvarchar](1000) NOT NULL,
 [CreateTime] [datetime] NOT NULL CONSTRAINT [DF_tbl_Active_CreateTime]  DEFAULT (getdate()),
 [StartTime] [datetime] NULL,
 [Result] [nvarchar](1000) NULL,
 [PostEmployeeId] [nvarchar](50) NOT NULL,
 [ConfirmEmployeeId] [nvarchar](50) NULL,
 [StateId] [int] NOT NULL,
 CONSTRAINT [PK_tbl_Active] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'主题' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Active', @level2type=N'COLUMN', @level2name=N'Title'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'内容' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Active', @level2type=N'COLUMN', @level2name=N'Content'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'发布时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Active', @level2type=N'COLUMN', @level2name=N'CreateTime'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'活动开始时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Active', @level2type=N'COLUMN', @level2name=N'StartTime'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'活动结果' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Active', @level2type=N'COLUMN', @level2name=N'Result'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'提议人Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Active', @level2type=N'COLUMN', @level2name=N'PostEmployeeId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'确认人Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Active', @level2type=N'COLUMN', @level2name=N'ConfirmEmployeeId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'1为待审核,2为已审核' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Active', @level2type=N'COLUMN', @level2name=N'StateId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'班级竞赛表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Active'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_User]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_User](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Name] [nvarchar](50) NOT NULL,
 [Alias] [nchar](10) NULL,
 [Password] [nvarchar](50) NOT NULL,
 [UserStateId] [int] NOT NULL CONSTRAINT [DF_tbl_User_UserStateId]  DEFAULT ((2)),
 [TypeId] [int] NOT NULL,
 [EmployeeId] [nvarchar](50) NOT NULL,
 [Pomedom] [varbinary](8000) NULL,
 CONSTRAINT [PK_tbl_User] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'用户Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_User', @level2type=N'COLUMN', @level2name=N'Id'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'用户名' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_User', @level2type=N'COLUMN', @level2name=N'Name'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'别名' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_User', @level2type=N'COLUMN', @level2name=N'Alias'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'用户密码' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_User', @level2type=N'COLUMN', @level2name=N'Password'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'用户状态Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_User', @level2type=N'COLUMN', @level2name=N'UserStateId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'类型Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_User', @level2type=N'COLUMN', @level2name=N'TypeId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'用户表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_User'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_StudentLeave]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_StudentLeave](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Content] [nvarchar](4000) NOT NULL,
 [Reason] [nvarchar](4000) NOT NULL,
 [LeaveTime] [datetime] NOT NULL CONSTRAINT [DF_tbl_StudentLeave_LeaveTime]  DEFAULT (getdate()),
 [DayLong] [int] NOT NULL CONSTRAINT [DF_tbl_StudentLeave_DayLong]  DEFAULT ((1)),
 [ConfirmEmpId] [nvarchar](50) NOT NULL,
 CONSTRAINT [PK_tbl_StudentLeave] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'请假内容' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentLeave', @level2type=N'COLUMN', @level2name=N'Content'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'请假原因' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentLeave', @level2type=N'COLUMN', @level2name=N'Reason'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'请假时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentLeave', @level2type=N'COLUMN', @level2name=N'LeaveTime'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'请假时长(以天为单位)' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentLeave', @level2type=N'COLUMN', @level2name=N'DayLong'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'确认人员工Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentLeave', @level2type=N'COLUMN', @level2name=N'ConfirmEmpId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学生请假表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_StudentLeave'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_TeachClass]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_TeachClass](
 [EmployeeId] [nvarchar](50) NOT NULL,
 [SubjectId] [int] NOT NULL
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'排班' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_TeachClass'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_Employee]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_Employee](
 [Id] [nvarchar](50) NOT NULL,
 [File] [nvarchar](50) NOT NULL,
 [Name] [nvarchar](50) NOT NULL,
 [Education] [nvarchar](50) NULL,
 [Birthday] [datetime] NULL,
 [BirthPlace] [nvarchar](500) NULL,
 [IdCard] [nvarchar](50) NULL,
 [Sex] [nvarchar](50) NOT NULL,
 [National] [nvarchar](50) NULL,
 [NativePlace] [nvarchar](50) NULL,
 [Special] [nvarchar](50) NULL,
 [Family] [nvarchar](200) NULL,
 [Medical] [nvarchar](50) NULL,
 [Phone] [nvarchar](50) NULL,
 [ITIC] [nvarchar](50) NULL,
 [PartyTime] [datetime] NULL,
 [Graduation] [nvarchar](50) NULL,
 [Teach] [nvarchar](50) NULL,
 [PoliticsStatus] [nvarchar](50) NULL,
 [Degree] [nvarchar](50) NULL,
 [GraduateTime] [datetime] NULL,
 [LevelTime] [datetime] NULL,
 [EmployTime] [datetime] NULL,
 [Email] [nvarchar](50) NULL,
 [Address] [nvarchar](50) NULL,
 [MoblePhone] [nvarchar](50) NULL,
 [LeagueTime] [datetime] NULL,
 [Retirement] [nvarchar](10) NULL,
 [Photo] [nvarchar](500) NULL,
 [High] [float] NULL,
 [Weight] [float] NULL,
 [Blood] [nvarchar](10) NULL,
 [PositionId] [int] NULL,
 [LevelId] [int] NULL,
 [StateId] [int] NULL,
 [SchoolId] [nvarchar](50) NOT NULL,
 [Remarks] [text] NULL,
 [WorkAge] [int] NULL,
 [TeachAge] [int] NULL,
 [Married] [nvarchar](50) NULL,
 [SectionId] [int] NULL,
 CONSTRAINT [PK_tbl_Employ] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'工号卡' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Employee', @level2type=N'COLUMN', @level2name=N'Id'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'档案编号' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Employee', @level2type=N'COLUMN', @level2name=N'File'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'员工名' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Employee', @level2type=N'COLUMN', @level2name=N'Name'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'第一学历' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Employee', @level2type=N'COLUMN', @level2name=N'Education'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'出生年月' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Employee', @level2type=N'COLUMN', @level2name=N'Birthday'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'身份证' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Employee', @level2type=N'COLUMN', @level2name=N'IdCard'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'性别' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Employee', @level2type=N'COLUMN', @level2name=N'Sex'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'民族' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Employee', @level2type=N'COLUMN', @level2name=N'National'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'籍贯' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Employee', @level2type=N'COLUMN', @level2name=N'NativePlace'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'专业' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Employee', @level2type=N'COLUMN', @level2name=N'Special'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'家庭成员' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Employee', @level2type=N'COLUMN', @level2name=N'Family'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'医保号' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Employee', @level2type=N'COLUMN', @level2name=N'Medical'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'电话号码' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Employee', @level2type=N'COLUMN', @level2name=N'Phone'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'教师证号' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Employee', @level2type=N'COLUMN', @level2name=N'ITIC'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'入党时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Employee', @level2type=N'COLUMN', @level2name=N'PartyTime'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'毕业学校' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Employee', @level2type=N'COLUMN', @level2name=N'Graduation'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'任教学科' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Employee', @level2type=N'COLUMN', @level2name=N'Teach'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'政治面貌' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Employee', @level2type=N'COLUMN', @level2name=N'PoliticsStatus'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学位' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Employee', @level2type=N'COLUMN', @level2name=N'Degree'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'毕业时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Employee', @level2type=N'COLUMN', @level2name=N'GraduateTime'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'取得职称时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Employee', @level2type=N'COLUMN', @level2name=N'LevelTime'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'受聘时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Employee', @level2type=N'COLUMN', @level2name=N'EmployTime'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'电子邮箱' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Employee', @level2type=N'COLUMN', @level2name=N'Email'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'地址' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Employee', @level2type=N'COLUMN', @level2name=N'Address'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'移动电话' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Employee', @level2type=N'COLUMN', @level2name=N'MoblePhone'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'入团时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Employee', @level2type=N'COLUMN', @level2name=N'LeagueTime'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'照片' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Employee', @level2type=N'COLUMN', @level2name=N'Photo'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'身高(单位:厘米)' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Employee', @level2type=N'COLUMN', @level2name=N'High'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'体重(单位:公斤)' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Employee', @level2type=N'COLUMN', @level2name=N'Weight'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'血型' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Employee', @level2type=N'COLUMN', @level2name=N'Blood'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'职位Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Employee', @level2type=N'COLUMN', @level2name=N'PositionId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'职称ID' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Employee', @level2type=N'COLUMN', @level2name=N'LevelId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'状态Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Employee', @level2type=N'COLUMN', @level2name=N'StateId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'类型ID' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Employee', @level2type=N'COLUMN', @level2name=N'Remarks'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'部门Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Employee', @level2type=N'COLUMN', @level2name=N'SectionId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'员工表记录员工详细信息' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Employee'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_EmployeePosition]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_EmployeePosition](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Name] [nvarchar](50) NULL,
 [SectionId] [int] NULL,
 CONSTRAINT [PK_tbl_EmployPosition] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'员工职位ID' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_EmployeePosition', @level2type=N'COLUMN', @level2name=N'Id'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'员工职位名称' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_EmployeePosition', @level2type=N'COLUMN', @level2name=N'Name'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'员工部门ID' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_EmployeePosition', @level2type=N'COLUMN', @level2name=N'SectionId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'员工职位表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_EmployeePosition'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_EmpPosPomedom]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_EmpPosPomedom](
 [EmployeePositionId] [int] NOT NULL,
 [Pomedom] [varbinary](8000) NOT NULL,
 CONSTRAINT [PK_EmpPosPomedom] PRIMARY KEY CLUSTERED
(
 [EmployeePositionId] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_BookDetail]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_BookDetail](
 [Id] [nvarchar](50) NOT NULL,
 [MainBookName] [nvarchar](200) NOT NULL,
 [SecondaryBookName] [nvarchar](200) NULL,
 [AuthorName] [nvarchar](50) NULL,
 [BookTypeId] [int] NOT NULL,
 [Press] [nvarchar](200) NULL,
 [PublicationPalce] [nvarchar](200) NULL,
 [PublicationTime] [datetime] NULL,
 [Price] [money] NULL CONSTRAINT [DF_tbl_BookDetail_Price]  DEFAULT ((0)),
 [Remark] [text] NULL,
 [SchoolId] [nvarchar](50) NOT NULL,
 [BookNum] [int] NOT NULL CONSTRAINT [DF_tbl_BookDetail_BookNum]  DEFAULT ((0)),
 CONSTRAINT [PK_tbl_BookDetail] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'主标题' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BookDetail', @level2type=N'COLUMN', @level2name=N'MainBookName'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'副标题' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BookDetail', @level2type=N'COLUMN', @level2name=N'SecondaryBookName'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'编者著' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BookDetail', @level2type=N'COLUMN', @level2name=N'AuthorName'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'类型' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BookDetail', @level2type=N'COLUMN', @level2name=N'BookTypeId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'出版社' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BookDetail', @level2type=N'COLUMN', @level2name=N'Press'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'出版地' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BookDetail', @level2type=N'COLUMN', @level2name=N'PublicationPalce'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'出版日期' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BookDetail', @level2type=N'COLUMN', @level2name=N'PublicationTime'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'价格' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BookDetail', @level2type=N'COLUMN', @level2name=N'Price'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'摘要' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BookDetail', @level2type=N'COLUMN', @level2name=N'Remark'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'外键,学校id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BookDetail', @level2type=N'COLUMN', @level2name=N'SchoolId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'书籍总数' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BookDetail', @level2type=N'COLUMN', @level2name=N'BookNum'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_Student]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_Student](
 [Id] [nvarchar](50) NOT NULL,
 [Number] [nvarchar](50) NULL,
 [File] [nvarchar](50) NULL,
 [IdCard] [nvarchar](50) NULL,
 [Name] [nvarchar](50) NULL,
 [Sex] [nvarchar](10) NULL,
 [NativePlace] [nvarchar](50) NULL,
 [Alias] [nvarchar](50) NULL,
 [National] [nvarchar](50) NULL,
 [PoliticsStatus] [nvarchar](50) NULL,
 [LeagueTime] [datetime] NULL,
 [PartyTime] [datetime] NULL,
 [EntranceTime] [datetime] NULL,
 [Birthday] [datetime] NULL,
 [ResidenceType] [nvarchar](50) NULL,
 [BirthPlace] [nvarchar](200) NULL,
 [FamilyAddress] [nvarchar](200) NULL,
 [HomePhone] [nvarchar](50) NULL,
 [Phone] [nvarchar](50) NULL,
 [ResidencePlace] [nvarchar](50) NULL,
 [Email] [nvarchar](50) NULL,
 [Position] [nvarchar](50) NULL,
 [TypeId] [int] NULL,
 [StateId] [int] NULL,
 [SchoolId] [nvarchar](50) NULL,
 [IsCheckHostel] [int] NULL,
 [IsCheckBus] [int] NULL CONSTRAINT [DF_tbl_Student_IsCheckBus]  DEFAULT ((1)),
 [ClassId] [int] NULL,
 CONSTRAINT [PK_tbl_Student] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学籍号' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Student', @level2type=N'COLUMN', @level2name=N'Id'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学籍号' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Student', @level2type=N'COLUMN', @level2name=N'Number'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'档案号' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Student', @level2type=N'COLUMN', @level2name=N'File'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'身份证' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Student', @level2type=N'COLUMN', @level2name=N'IdCard'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'姓名' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Student', @level2type=N'COLUMN', @level2name=N'Name'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'性别' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Student', @level2type=N'COLUMN', @level2name=N'Sex'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'籍贯' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Student', @level2type=N'COLUMN', @level2name=N'NativePlace'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'别名' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Student', @level2type=N'COLUMN', @level2name=N'Alias'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'民族' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Student', @level2type=N'COLUMN', @level2name=N'National'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'政治面貌' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Student', @level2type=N'COLUMN', @level2name=N'PoliticsStatus'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'入团时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Student', @level2type=N'COLUMN', @level2name=N'LeagueTime'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'入党时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Student', @level2type=N'COLUMN', @level2name=N'PartyTime'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'入学时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Student', @level2type=N'COLUMN', @level2name=N'EntranceTime'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'生日' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Student', @level2type=N'COLUMN', @level2name=N'Birthday'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'户口类型' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Student', @level2type=N'COLUMN', @level2name=N'ResidenceType'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'出生地' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Student', @level2type=N'COLUMN', @level2name=N'BirthPlace'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'家庭地址' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Student', @level2type=N'COLUMN', @level2name=N'FamilyAddress'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'家庭电话' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Student', @level2type=N'COLUMN', @level2name=N'HomePhone'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学生电话' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Student', @level2type=N'COLUMN', @level2name=N'Phone'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'电子邮箱地址' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Student', @level2type=N'COLUMN', @level2name=N'Email'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'当前所处职位,如班长,学习委员,团支书之类的' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Student', @level2type=N'COLUMN', @level2name=N'Position'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学生类型 1为走读 2为住宿' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Student', @level2type=N'COLUMN', @level2name=N'TypeId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'StateId' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Student', @level2type=N'COLUMN', @level2name=N'StateId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学校名称' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Student', @level2type=N'COLUMN', @level2name=N'SchoolId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'1是安排2是移出' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Student', @level2type=N'COLUMN', @level2name=N'IsCheckBus'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'所在班的Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Student', @level2type=N'COLUMN', @level2name=N'ClassId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学生信息表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Student'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_GradePart]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_GradePart](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Name] [nvarchar](50) NULL,
 [SchoolId] [nvarchar](50) NOT NULL,
 CONSTRAINT [PK_tbl_GradePart] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'年级部Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_GradePart', @level2type=N'COLUMN', @level2name=N'Id'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'年级部名称' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_GradePart', @level2type=N'COLUMN', @level2name=N'Name'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'年级部表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_GradePart'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_Hostel]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_Hostel](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Num] [int] NULL,
 [Name] [nvarchar](50) NOT NULL,
 [Sex] [nvarchar](50) NOT NULL,
 [TypeName] [int] NULL,
 [StateId] [int] NULL,
 [SchoolId] [nvarchar](50) NOT NULL,
 [Remarks] [text] NULL,
 CONSTRAINT [PK_tbl_Hostel] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'宿舍Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Hostel', @level2type=N'COLUMN', @level2name=N'Id'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'宿舍名称' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Hostel', @level2type=N'COLUMN', @level2name=N'Name'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'性别' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Hostel', @level2type=N'COLUMN', @level2name=N'Sex'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'员工宿舍0、学生宿舍2、后勤宿舍1' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Hostel', @level2type=N'COLUMN', @level2name=N'TypeName'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学校楼房' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Hostel'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_Order]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_Order](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [OrderNumber] [nvarchar](50) NULL,
 [Receiver] [nvarchar](50) NOT NULL,
 [Confirm] [nvarchar](50) NULL,
 [Deliver] [nvarchar](50) NULL,
 [Time] [datetime] NULL,
 [Remarks] [text] NULL,
 [TotalPrice] [money] NULL,
 [SchoolId] [nvarchar](50) NULL,
 CONSTRAINT [PK_tbl_Order] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Order', @level2type=N'COLUMN', @level2name=N'Id'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单号' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Order', @level2type=N'COLUMN', @level2name=N'OrderNumber'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'收货人' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Order', @level2type=N'COLUMN', @level2name=N'Receiver'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'确认人' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Order', @level2type=N'COLUMN', @level2name=N'Confirm'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'送货人' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Order', @level2type=N'COLUMN', @level2name=N'Deliver'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'进货时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Order', @level2type=N'COLUMN', @level2name=N'Time'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Order', @level2type=N'COLUMN', @level2name=N'Remarks'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'总价' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Order', @level2type=N'COLUMN', @level2name=N'TotalPrice'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'进货账单表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Order'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_TestSubject]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_TestSubject](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [TestSubjectId] [int] NOT NULL,
 [TestClassId] [int] NOT NULL,
 [TestInfoId] [int] NOT NULL,
 [TestBeginTime] [datetime] NOT NULL,
 [TestEndTime] [datetime] NOT NULL,
 [AnswerTime] [int] NOT NULL,
 [TotalScore] [int] NOT NULL,
 [ThroughScore] [int] NULL,
 [TestType] [int] NULL,
 [Remark] [text] NULL,
 CONSTRAINT [PK_tbl_TestSubject] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'要考试的科目ID(外键,对应科目表的主键)' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_TestSubject', @level2type=N'COLUMN', @level2name=N'TestSubjectId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'参与考试的班级信息ID(外键,对应参与考试的班级信息表的主键)' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_TestSubject', @level2type=N'COLUMN', @level2name=N'TestClassId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'考试信息ID(外键,对应考试信息表的主健)' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_TestSubject', @level2type=N'COLUMN', @level2name=N'TestInfoId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'考试开始时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_TestSubject', @level2type=N'COLUMN', @level2name=N'TestBeginTime'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'考试结束时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_TestSubject', @level2type=N'COLUMN', @level2name=N'TestEndTime'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'答题时间(120、60)' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_TestSubject', @level2type=N'COLUMN', @level2name=N'AnswerTime'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'考试总分(100、120、150)' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_TestSubject', @level2type=N'COLUMN', @level2name=N'TotalScore'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'及格分数' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_TestSubject', @level2type=N'COLUMN', @level2name=N'ThroughScore'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'考试科目表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_TestSubject'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_TestClass]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_TestClass](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [TestClassId] [int] NOT NULL,
 [TestInfoId] [int] NOT NULL,
 CONSTRAINT [PK_tbl_TestClass] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'主键' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_TestClass', @level2type=N'COLUMN', @level2name=N'Id'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'表示参与考试的班级ID(外键,对应班级表中的主键)' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_TestClass', @level2type=N'COLUMN', @level2name=N'TestClassId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'考试信息ID(外键,对应考试信息表中的主键,表示该班级参与的是哪次考试)' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_TestClass', @level2type=N'COLUMN', @level2name=N'TestInfoId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'参与考试的班级信息' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_TestClass'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_OrderDetails]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_OrderDetails](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Name] [nvarchar](50) NULL,
 [Number] [int] NULL,
 [Weight] [float] NULL,
 [Price] [money] NULL,
 [Production] [nvarchar](50) NULL,
 [Time] [nvarchar](50) NULL,
 [TotalPrice] [money] NULL,
 [OrderId] [int] NULL,
 [Quality] [nvarchar](50) NULL,
 CONSTRAINT [PK_tbl_OrderInfo] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_OrderDetails', @level2type=N'COLUMN', @level2name=N'Id'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'货物名' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_OrderDetails', @level2type=N'COLUMN', @level2name=N'Name'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'数量' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_OrderDetails', @level2type=N'COLUMN', @level2name=N'Number'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'重量' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_OrderDetails', @level2type=N'COLUMN', @level2name=N'Weight'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单价' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_OrderDetails', @level2type=N'COLUMN', @level2name=N'Price'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'产地' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_OrderDetails', @level2type=N'COLUMN', @level2name=N'Production'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'有效期' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_OrderDetails', @level2type=N'COLUMN', @level2name=N'Time'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单品种总价' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_OrderDetails', @level2type=N'COLUMN', @level2name=N'TotalPrice'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'账单Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_OrderDetails', @level2type=N'COLUMN', @level2name=N'OrderId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'品质' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_OrderDetails', @level2type=N'COLUMN', @level2name=N'Quality'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'进货详细信息表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_OrderDetails'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_Foods]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_Foods](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [TypeId] [int] NULL,
 [Name] [nvarchar](50) NOT NULL,
 [Time] [datetime] NULL,
 CONSTRAINT [PK_tbl_Foods] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Foods', @level2type=N'COLUMN', @level2name=N'Id'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'菜色名称' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Foods', @level2type=N'COLUMN', @level2name=N'Name'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'什么时候添加的菜' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Foods', @level2type=N'COLUMN', @level2name=N'Time'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'菜色表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Foods'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_Menu]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_Menu](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Time] [nvarchar](50) NULL,
 [FoodId] [int] NULL,
 [Price] [money] NULL,
 [TimeRange] [int] NOT NULL CONSTRAINT [DF_tbl_Menu_TimeRange]  DEFAULT ((0)),
 CONSTRAINT [PK_tbl_Menu] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Menu', @level2type=N'COLUMN', @level2name=N'Id'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'时间(星期)' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Menu', @level2type=N'COLUMN', @level2name=N'Time'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'菜Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Menu', @level2type=N'COLUMN', @level2name=N'FoodId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'价格' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Menu', @level2type=N'COLUMN', @level2name=N'Price'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'菜单表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Menu'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_EmployeeRP]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_EmployeeRP](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Title] [nvarchar](50) NULL,
 [Content] [nvarchar](50) NULL,
 [Time] [datetime] NULL,
 [Address] [nvarchar](50) NULL,
 [TypeId] [int] NULL,
 [Remarks] [text] NULL,
 CONSTRAINT [PK_tbl_EmployeeRP] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_SchoolRP]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_SchoolRP](
 [Id] [nvarchar](50) NOT NULL,
 [Title] [nvarchar](50) NOT NULL,
 [Content] [nvarchar](50) NULL,
 [Time] [datetime] NULL,
 [TypeId] [int] NULL,
 [Address] [nvarchar](50) NULL,
 [Person] [nvarchar](50) NULL,
 [Remarks] [nvarchar](50) NULL,
 CONSTRAINT [PK_tbl_SchoolEven] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'事件ID' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_SchoolRP', @level2type=N'COLUMN', @level2name=N'Id'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'主题' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_SchoolRP', @level2type=N'COLUMN', @level2name=N'Title'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'内容' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_SchoolRP', @level2type=N'COLUMN', @level2name=N'Content'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_SchoolRP', @level2type=N'COLUMN', @level2name=N'Time'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'地址' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_SchoolRP', @level2type=N'COLUMN', @level2name=N'Address'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'负责人' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_SchoolRP', @level2type=N'COLUMN', @level2name=N'Person'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'都有哪些学校参加的备注信息' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_SchoolRP', @level2type=N'COLUMN', @level2name=N'Remarks'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学校奖罚表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_SchoolRP'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_ClassLog]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_ClassLog](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [ClassId] [int] NOT NULL,
 [GradeYear] [datetime] NOT NULL,
 [GraduateYear] [datetime] NULL,
 CONSTRAINT [PK_tbl_ClassLog] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'班级Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_ClassLog', @level2type=N'COLUMN', @level2name=N'ClassId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'入学日期' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_ClassLog', @level2type=N'COLUMN', @level2name=N'GradeYear'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'毕业日期' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_ClassLog', @level2type=N'COLUMN', @level2name=N'GraduateYear'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_RecordClass]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_RecordClass](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [ClassId] [int] NOT NULL,
 [Booker] [nvarchar](50) NOT NULL,
 [Describe] [nvarchar](50) NOT NULL,
 [Time] [datetime] NOT NULL,
 [TypeId] [int] NOT NULL,
 [Score] [float] NULL,
 [Remarks] [text] NULL,
 CONSTRAINT [PK_tbl_RecordClass] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'班级Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_RecordClass', @level2type=N'COLUMN', @level2name=N'ClassId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'登记人' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_RecordClass', @level2type=N'COLUMN', @level2name=N'Booker'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'描述' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_RecordClass', @level2type=N'COLUMN', @level2name=N'Describe'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_RecordClass', @level2type=N'COLUMN', @level2name=N'Time'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'记录类型' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_RecordClass', @level2type=N'COLUMN', @level2name=N'TypeId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_RecordClass', @level2type=N'COLUMN', @level2name=N'Remarks'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'卫生记录表(班级)' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_RecordClass'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_BorrowerDetail]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_BorrowerDetail](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [BorrowerId] [int] NOT NULL,
 [BookId] [nvarchar](50) NOT NULL,
 [IsReturn] [int] NOT NULL CONSTRAINT [DF_tbl_BorrowerDetail_IsReturn]  DEFAULT ((0)),
 CONSTRAINT [PK_tbl_BorrowerDetail] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'外键,借书ID' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BorrowerDetail', @level2type=N'COLUMN', @level2name=N'BorrowerId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'外键,图书ID' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BorrowerDetail', @level2type=N'COLUMN', @level2name=N'BookId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否归还(0为未还,1为已还)' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_BorrowerDetail', @level2type=N'COLUMN', @level2name=N'IsReturn'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_RecordDormitory]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_RecordDormitory](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [RoomId] [int] NOT NULL,
 [Booker] [nvarchar](50) NULL,
 [Describe] [nvarchar](50) NULL,
 [Time] [datetime] NOT NULL,
 [TypeId] [int] NOT NULL,
 [Score] [float] NULL,
 [Remarks] [text] NULL,
 CONSTRAINT [PK_tbl_RecordDormitory] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'房间Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_RecordDormitory', @level2type=N'COLUMN', @level2name=N'RoomId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'登记人Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_RecordDormitory', @level2type=N'COLUMN', @level2name=N'Booker'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'描述' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_RecordDormitory', @level2type=N'COLUMN', @level2name=N'Describe'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_RecordDormitory', @level2type=N'COLUMN', @level2name=N'Time'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'类型' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_RecordDormitory', @level2type=N'COLUMN', @level2name=N'TypeId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'宿舍卫生记录表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_RecordDormitory'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_Access]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_Access](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Name] [nvarchar](50) NULL,
 [AccessPeople] [nvarchar](50) NULL,
 [AccessTime] [datetime] NULL,
 [LeaveTime] [datetime] NULL,
 [IdCard] [nvarchar](50) NULL,
 [TypeId] [int] NULL,
 [Reason] [nvarchar](50) NULL,
 CONSTRAINT [PK_tbl_Access] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'来访人姓名' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Access', @level2type=N'COLUMN', @level2name=N'Name'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'访问者姓名' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Access', @level2type=N'COLUMN', @level2name=N'AccessPeople'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'来访时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Access', @level2type=N'COLUMN', @level2name=N'AccessTime'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'离开时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Access', @level2type=N'COLUMN', @level2name=N'LeaveTime'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'来访原因' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Access', @level2type=N'COLUMN', @level2name=N'Reason'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'来访出入登记表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_Access'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbl_TimeSpan]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tbl_TimeSpan](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [BeginTime] [datetime] NULL,
 [EndTime] [datetime] NULL,
 [TypeId] [int] NULL,
 [Remark] [text] NULL,
 CONSTRAINT [PK_tbl_TimeSpan] PRIMARY KEY CLUSTERED
(
 [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Id' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_TimeSpan', @level2type=N'COLUMN', @level2name=N'Id'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'开始时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_TimeSpan', @level2type=N'COLUMN', @level2name=N'BeginTime'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'结束时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_TimeSpan', @level2type=N'COLUMN', @level2name=N'EndTime'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'类型(课间休息、第一节)' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_TimeSpan', @level2type=N'COLUMN', @level2name=N'TypeId'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_TimeSpan', @level2type=N'COLUMN', @level2name=N'Remark'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'时间段表' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_TimeSpan'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[usp_EnrollClueCountAll]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [dbo].[usp_EnrollClueCountAll]
 @beginContactTime datetime,
 @endContactTime datetime,
 @enrollPersonId int = null
AS
/*
 查询说明:
  先找出所有的年份,再通过这个年份,一个一个状态的数据连上最基本的年份表,就这样实现了统计信息的效果
*/
 
 --声明临时表,把所有的统计数据装在这表中
 DECLARE @table table([Year] int, IntentionState int, EnrollCount int)

 --如果没有给定@enrollPersonId参数,即查所有人的数据
 IF (@enrollPersonId IS NULL OR @enrollPersonId <= 0)
  BEGIN
   INSERT INTO @table
   SELECT [Year], IntentionState, Count([Year]) EnrollCount FROM
     (SELECT
      Year(ContactTime) AS [Year],
      IntentionState
     FROM
      dbo.tbl_EnrollClue
     WHERE
      Year(ContactTime) BETWEEN Year(@beginContactTime) AND Year(@endContactTime)) AS NewTable
   GROUP BY
    [Year], IntentionState
  END
 ELSE --如果有给定@enrollPersonId参数,即查某人的数据
  BEGIN
   INSERT INTO @table
   SELECT [Year], IntentionState, Count([Year]) EnrollCount FROM
     (SELECT
      Year(ContactTime) AS [Year],
      IntentionState
     FROM
      dbo.tbl_EnrollClue
     WHERE
      Year(ContactTime) BETWEEN Year(@beginContactTime) AND Year(@endContactTime) AND
      EnrollPersonId = @enrollPersonId
     ) AS NewTable
   GROUP BY
    [Year], IntentionState
  END
 
  SELECT
   t0.[Year] AS 年份,
   IsNull(state0, 0) AS 意向中数量,
   IsNull(state1, 0) AS 预报名数量,
   IsNull(state2, 0) AS 已报名数量,
   IsNull(state3, 0) AS 已结束数量
  FROM
   (SELECT [Year], 0 AS EnrollCount FROM @table GROUP BY [Year]) AS tMain
  FULL JOIN
   (SELECT [Year], IsNull(EnrollCount, 0) AS state0 FROM @table WHERE IntentionState = 0) AS t0 ON tMain.[Year] = t0.[Year]
  FULL JOIN
   (SELECT [Year], IsNull(EnrollCount, 0) AS state1 FROM @table WHERE IntentionState = 1) AS t1 ON tMain.[Year] = t1.[Year]
  FULL JOIN
   (SELECT [Year], IsNull(EnrollCount, 0) AS state2 FROM @table WHERE IntentionState = 2) AS t2 ON tMain.[Year] = t2.[Year]
  FULL JOIN
   (SELECT [Year], IsNull(EnrollCount, 0) AS state3 FROM @table WHERE IntentionState = 3) AS t3 ON tMain.[Year] = t3.[Year]
'
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[v_Enroll_User_Employee]'))
EXEC dbo.sp_executesql @statement = N'CREATE VIEW [dbo].[v_Enroll_User_Employee]
AS
SELECT DISTINCT
      dbo.tbl_EnrollClue.EnrollPersonId, dbo.tbl_User.Name AS UserName,
      dbo.tbl_Employee.Name AS EmployeeName, dbo.tbl_Employee.SchoolId
FROM dbo.tbl_EnrollClue INNER JOIN
      dbo.tbl_User ON dbo.tbl_EnrollClue.EnrollPersonId = dbo.tbl_User.Id INNER JOIN
      dbo.tbl_Employee ON dbo.tbl_User.EmployeeId = dbo.tbl_Employee.Id
'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane1', @value=N'[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
Begin DesignProperties =
   Begin PaneConfigurations =
      Begin PaneConfiguration = 0
         NumPanes = 4
         Configuration = "(H (1[41] 4[20] 2[15] 3) )"
      End
      Begin PaneConfiguration = 1
         NumPanes = 3
         Configuration = "(H (1 [50] 4 [25] 3))"
      End
      Begin PaneConfiguration = 2
         NumPanes = 3
         Configuration = "(H (1 [50] 2 [25] 3))"
      End
      Begin PaneConfiguration = 3
         NumPanes = 3
         Configuration = "(H (4 [30] 2 [40] 3))"
      End
      Begin PaneConfiguration = 4
         NumPanes = 2
         Configuration = "(H (1 [56] 3))"
      End
      Begin PaneConfiguration = 5
         NumPanes = 2
         Configuration = "(H (2 [66] 3))"
      End
      Begin PaneConfiguration = 6
         NumPanes = 2
         Configuration = "(H (4 [50] 3))"
      End
      Begin PaneConfiguration = 7
         NumPanes = 1
         Configuration = "(V (3))"
      End
      Begin PaneConfiguration = 8
         NumPanes = 3
         Configuration = "(H (1[56] 4[18] 2) )"
      End
      Begin PaneConfiguration = 9
         NumPanes = 2
         Configuration = "(H (1 [75] 4))"
      End
      Begin PaneConfiguration = 10
         NumPanes = 2
         Configuration = "(H (1[66] 2) )"
      End
      Begin PaneConfiguration = 11
         NumPanes = 2
         Configuration = "(H (4 [60] 2))"
      End
      Begin PaneConfiguration = 12
         NumPanes = 1
         Configuration = "(H (1) )"
      End
      Begin PaneConfiguration = 13
         NumPanes = 1
         Configuration = "(V (4))"
      End
      Begin PaneConfiguration = 14
         NumPanes = 1
         Configuration = "(V (2))"
      End
      ActivePaneConfig = 0
   End
   Begin DiagramPane =
      Begin Origin =
         Top = -96
         Left = 0
      End
      Begin Tables =
         Begin Table = "tbl_EnrollClue"
            Begin Extent =
               Top = 6
               Left = 4
               Bottom = 273
               Right = 184
            End
            DisplayFlags = 280
            TopColumn = 0
         End
         Begin Table = "tbl_User"
            Begin Extent =
               Top = 134
               Left = 256
               Bottom = 249
               Right = 395
            End
            DisplayFlags = 280
            TopColumn = 0
         End
         Begin Table = "tbl_Employee"
            Begin Extent =
               Top = 117
               Left = 448
               Bottom = 254
               Right = 672
            End
            DisplayFlags = 280
            TopColumn = 36
         End
      End
   End
   Begin SQLPane =
   End
   Begin DataPane =
      Begin ParameterDefaults = ""
      End
      Begin ColumnWidths = 9
         Width = 284
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
      End
   End
   Begin CriteriaPane =
      Begin ColumnWidths = 11
         Column = 1440
         Alias = 900
         Table = 1560
         Output = 720
         Append = 1400
         NewValue = 1170
         SortType = 1350
         SortOrder = 1410
         GroupBy = 1350
         Filter = 1350
         Or = 1350
         Or = 1350
         Or = 1350
      End
   End
End
' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'VIEW', @level1name=N'v_Enroll_User_Employee'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPaneCount', @value=1 ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'VIEW', @level1name=N'v_Enroll_User_Employee'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[proc_StudentAttendance_PerStudent]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'CREATE proc [dbo].[proc_StudentAttendance_PerStudent] @classId int
as
select ss.id, lastComeTime=(select count(*)
  from tbl_StudentAttendance sa
  where sa.StudentId=ss.Id and typeId=1),
  AheadLeaveTime=(select count(*)
  from tbl_StudentAttendance sa
  where sa.StudentId=ss.Id and typeId=2),
  AbsenteeismTime=(select count(*)
  from tbl_StudentAttendance sa
  where sa.StudentId=ss.Id and typeId=3)
from tbl_student ss
where ss.classId=@classId
group by ss.id'
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[v_BorrowDetail_BookDetail_BookType_BorrowInfo_Employee_Student]'))
EXEC dbo.sp_executesql @statement = N'CREATE VIEW [dbo].[v_BorrowDetail_BookDetail_BookType_BorrowInfo_Employee_Student]
AS
SELECT dbo.tbl_BorrowerDetail.Id, dbo.tbl_BorrowerDetail.IsReturn,
      dbo.tbl_BookDetail.MainBookName, dbo.tbl_BookType.Name,
      dbo.tbl_BookDetail.BookTypeId, dbo.tbl_BookDetail.Price,
      dbo.tbl_BorrowInfo.BorrowEmployeeId, dbo.tbl_BorrowInfo.BorrowStudentId,
      dbo.tbl_Employee.Name AS EmployeeName, dbo.tbl_Student.Name AS StudentName,
      dbo.tbl_BorrowerDetail.BookId, dbo.tbl_BorrowerDetail.BorrowerId
FROM dbo.tbl_BorrowerDetail LEFT OUTER JOIN
      dbo.tbl_BookDetail ON
      dbo.tbl_BorrowerDetail.BookId = dbo.tbl_BookDetail.Id LEFT OUTER JOIN
      dbo.tbl_BorrowInfo ON
      dbo.tbl_BorrowerDetail.BorrowerId = dbo.tbl_BorrowInfo.Id LEFT OUTER JOIN
      dbo.tbl_Employee ON
      dbo.tbl_BorrowInfo.BorrowEmployeeId = dbo.tbl_Employee.Id LEFT OUTER JOIN
      dbo.tbl_Student ON
      dbo.tbl_BorrowInfo.BorrowStudentId = dbo.tbl_Student.Id LEFT OUTER JOIN
      dbo.tbl_BookType ON dbo.tbl_BookDetail.BookTypeId = dbo.tbl_BookType.Id
'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane1', @value=N'[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
Begin DesignProperties =
   Begin PaneConfigurations =
      Begin PaneConfiguration = 0
         NumPanes = 4
         Configuration = "(H (1[41] 4[20] 2[10] 3) )"
      End
      Begin PaneConfiguration = 1
         NumPanes = 3
         Configuration = "(H (1 [50] 4 [25] 3))"
      End
      Begin PaneConfiguration = 2
         NumPanes = 3
         Configuration = "(H (1 [50] 2 [25] 3))"
      End
      Begin PaneConfiguration = 3
         NumPanes = 3
         Configuration = "(H (4 [30] 2 [40] 3))"
      End
      Begin PaneConfiguration = 4
         NumPanes = 2
         Configuration = "(H (1 [56] 3))"
      End
      Begin PaneConfiguration = 5
         NumPanes = 2
         Configuration = "(H (2 [66] 3))"
      End
      Begin PaneConfiguration = 6
         NumPanes = 2
         Configuration = "(H (4 [50] 3))"
      End
      Begin PaneConfiguration = 7
         NumPanes = 1
         Configuration = "(V (3))"
      End
      Begin PaneConfiguration = 8
         NumPanes = 3
         Configuration = "(H (1[56] 4[18] 2) )"
      End
      Begin PaneConfiguration = 9
         NumPanes = 2
         Configuration = "(H (1 [75] 4))"
      End
      Begin PaneConfiguration = 10
         NumPanes = 2
         Configuration = "(H (1[66] 2) )"
      End
      Begin PaneConfiguration = 11
         NumPanes = 2
         Configuration = "(H (4 [60] 2))"
      End
      Begin PaneConfiguration = 12
         NumPanes = 1
         Configuration = "(H (1) )"
      End
      Begin PaneConfiguration = 13
         NumPanes = 1
         Configuration = "(V (4))"
      End
      Begin PaneConfiguration = 14
         NumPanes = 1
         Configuration = "(V (2))"
      End
      ActivePaneConfig = 0
   End
   Begin DiagramPane =
      Begin Origin =
         Top = 0
         Left = 0
      End
      Begin Tables =
         Begin Table = "tbl_BorrowerDetail"
            Begin Extent =
               Top = 6
               Left = 12
               Bottom = 129
               Right = 153
            End
            DisplayFlags = 280
            TopColumn = 0
         End
         Begin Table = "tbl_BookDetail"
            Begin Extent =
               Top = 6
               Left = 217
               Bottom = 137
               Right = 400
            End
            DisplayFlags = 280
            TopColumn = 0
         End
         Begin Table = "tbl_BorrowInfo"
            Begin Extent =
               Top = 0
               Left = 481
               Bottom = 110
               Right = 658
            End
            DisplayFlags = 280
            TopColumn = 4
         End
         Begin Table = "tbl_Employee"
            Begin Extent =
               Top = 140
               Left = 230
               Bottom = 250
               Right = 395
            End
            DisplayFlags = 280
            TopColumn = 0
         End
         Begin Table = "tbl_Student"
            Begin Extent =
               Top = 140
               Left = 434
               Bottom = 250
               Right = 599
            End
            DisplayFlags = 280
            TopColumn = 2
         End
         Begin Table = "tbl_BookType"
            Begin Extent =
               Top = 120
               Left = 38
               Bottom = 202
               Right = 173
            End
            DisplayFlags = 280
            TopColumn = 0
         End
      End
   End
   Begin SQLPane =
   End
   Begin DataPane =
      Begin ParameterDefaults = ""
      End
      Begin ColumnWidths = 13
         Width = 284
         Widt' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'VIEW', @level1name=N'v_BorrowDetail_BookDetail_BookType_BorrowInfo_Employee_Student'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane2', @value=N'h = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
      End
   End
   Begin CriteriaPane =
      Begin ColumnWidths = 11
         Column = 1440
         Alias = 900
         Table = 1170
         Output = 720
         Append = 1400
         NewValue = 1170
         SortType = 1350
         SortOrder = 1410
         GroupBy = 1350
         Filter = 1350
         Or = 1350
         Or = 1350
         Or = 1350
      End
   End
End
' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'VIEW', @level1name=N'v_BorrowDetail_BookDetail_BookType_BorrowInfo_Employee_Student'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPaneCount', @value=2 ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'VIEW', @level1name=N'v_BorrowDetail_BookDetail_BookType_BorrowInfo_Employee_Student'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[v_BorrowInfo_Employee_Student_User_SchoolBasic]'))
EXEC dbo.sp_executesql @statement = N'CREATE VIEW [dbo].[v_BorrowInfo_Employee_Student_User_SchoolBasic]
AS
SELECT     dbo.tbl_BorrowInfo.Id AS BorrowInfoId, dbo.tbl_BorrowInfo.BorrowEmployeeId, dbo.tbl_BorrowInfo.BorrowStudentId, dbo.tbl_BorrowInfo.BorrowNum,
                      dbo.tbl_BorrowInfo.BorrowTime, dbo.tbl_BorrowInfo.ReturnTime, dbo.tbl_BorrowInfo.IsReturn, dbo.tbl_BorrowInfo.EnterUserId,
                      dbo.tbl_BorrowInfo.SchoolId, dbo.tbl_BorrowInfo.Remark, dbo.tbl_Employee.Name, dbo.tbl_Employee.Id AS EmployeeId,
                      dbo.tbl_Student.Id AS StudentId, dbo.tbl_Student.Name AS StudentName, dbo.tbl_SchoolBasicInfo.Name AS SchoolName, dbo.tbl_User.Id AS UserId,
                      dbo.tbl_User.Name AS UserName
FROM         dbo.tbl_BorrowInfo LEFT OUTER JOIN
                      dbo.tbl_Employee ON dbo.tbl_BorrowInfo.BorrowEmployeeId = dbo.tbl_Employee.Id LEFT OUTER JOIN
                      dbo.tbl_Student ON dbo.tbl_BorrowInfo.BorrowStudentId = dbo.tbl_Student.Id LEFT OUTER JOIN
                      dbo.tbl_SchoolBasicInfo ON dbo.tbl_BorrowInfo.SchoolId = dbo.tbl_SchoolBasicInfo.Id AND
                      dbo.tbl_Employee.SchoolId = dbo.tbl_SchoolBasicInfo.Id AND dbo.tbl_Employee.Id = dbo.tbl_SchoolBasicInfo.EmployeeId AND
                      dbo.tbl_Student.SchoolId = dbo.tbl_SchoolBasicInfo.Id LEFT OUTER JOIN
                      dbo.tbl_User ON dbo.tbl_BorrowInfo.EnterUserId = dbo.tbl_User.Id
'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane1', @value=N'[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
Begin DesignProperties =
   Begin PaneConfigurations =
      Begin PaneConfiguration = 0
         NumPanes = 4
         Configuration = "(H (1[17] 4[7] 2[29] 3) )"
      End
      Begin PaneConfiguration = 1
         NumPanes = 3
         Configuration = "(H (1 [50] 4 [25] 3))"
      End
      Begin PaneConfiguration = 2
         NumPanes = 3
         Configuration = "(H (1 [50] 2 [25] 3))"
      End
      Begin PaneConfiguration = 3
         NumPanes = 3
         Configuration = "(H (4 [30] 2 [40] 3))"
      End
      Begin PaneConfiguration = 4
         NumPanes = 2
         Configuration = "(H (1 [56] 3))"
      End
      Begin PaneConfiguration = 5
         NumPanes = 2
         Configuration = "(H (2 [66] 3))"
      End
      Begin PaneConfiguration = 6
         NumPanes = 2
         Configuration = "(H (4 [50] 3))"
      End
      Begin PaneConfiguration = 7
         NumPanes = 1
         Configuration = "(V (3))"
      End
      Begin PaneConfiguration = 8
         NumPanes = 3
         Configuration = "(H (1[56] 4[18] 2) )"
      End
      Begin PaneConfiguration = 9
         NumPanes = 2
         Configuration = "(H (1 [75] 4))"
      End
      Begin PaneConfiguration = 10
         NumPanes = 2
         Configuration = "(H (1[66] 2) )"
      End
      Begin PaneConfiguration = 11
         NumPanes = 2
         Configuration = "(H (4 [60] 2))"
      End
      Begin PaneConfiguration = 12
         NumPanes = 1
         Configuration = "(H (1) )"
      End
      Begin PaneConfiguration = 13
         NumPanes = 1
         Configuration = "(V (4))"
      End
      Begin PaneConfiguration = 14
         NumPanes = 1
         Configuration = "(V (2))"
      End
      ActivePaneConfig = 0
   End
   Begin DiagramPane =
      Begin Origin =
         Top = -768
         Left = 0
      End
      Begin Tables =
         Begin Table = "tbl_BorrowInfo"
            Begin Extent =
               Top = 6
               Left = 38
               Bottom = 251
               Right = 215
            End
            DisplayFlags = 280
            TopColumn = 0
         End
         Begin Table = "tbl_Employee"
            Begin Extent =
               Top = 0
               Left = 252
               Bottom = 110
               Right = 417
            End
            DisplayFlags = 280
            TopColumn = 0
         End
         Begin Table = "tbl_Student"
            Begin Extent =
               Top = 6
               Left = 456
               Bottom = 116
               Right = 621
            End
            DisplayFlags = 280
            TopColumn = 2
         End
         Begin Table = "tbl_SchoolBasicInfo"
            Begin Extent =
               Top = 6
               Left = 659
               Bottom = 116
               Right = 806
            End
            DisplayFlags = 280
            TopColumn = 1
         End
         Begin Table = "tbl_User"
            Begin Extent =
               Top = 134
               Left = 573
               Bottom = 244
               Right = 720
            End
            DisplayFlags = 280
            TopColumn = 2
         End
      End
   End
   Begin SQLPane =
   End
   Begin DataPane =
      Begin ParameterDefaults = ""
      End
      Begin ColumnWidths = 19
         Width = 284
         Width = 1500
         Width = 1500
         Width = 2280
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         ' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'VIEW', @level1name=N'v_BorrowInfo_Employee_Student_User_SchoolBasic'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane2', @value=N'Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
      End
   End
   Begin CriteriaPane =
      Begin ColumnWidths = 11
         Column = 1440
         Alias = 900
         Table = 2385
         Output = 720
         Append = 1400
         NewValue = 1170
         SortType = 1350
         SortOrder = 1410
         GroupBy = 1350
         Filter = 1350
         Or = 1350
         Or = 1350
         Or = 1350
      End
   End
End
' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'VIEW', @level1name=N'v_BorrowInfo_Employee_Student_User_SchoolBasic'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPaneCount', @value=2 ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'VIEW', @level1name=N'v_BorrowInfo_Employee_Student_User_SchoolBasic'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[v_Student_StudentAttendance]'))
EXEC dbo.sp_executesql @statement = N'create view [dbo].[v_Student_StudentAttendance]
as
select StudentId=ss.id, LastComeTime=(select count(*)
  from tbl_StudentAttendance sa
  where sa.StudentId=ss.Id and typeId=1),
  AheadLeaveTime=(select count(*)
  from tbl_StudentAttendance sa
  where sa.StudentId=ss.Id and typeId=2),
  AbsenteeismTime=(select count(*)
  from tbl_StudentAttendance sa
  where sa.StudentId=ss.Id and typeId=3),
  SickLeaveTime =(select count(*)
  from tbl_StudentAttendance sa
  where sa.StudentId=ss.Id and typeId=4),
  AffairLeaveTime =(select count(*)
  from tbl_StudentAttendance sa
  where sa.StudentId=ss.Id and typeId=5)
from tbl_student ss
group by ss.id'
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[v_InsertBed]'))
EXEC dbo.sp_executesql @statement = N'CREATE VIEW [dbo].[v_InsertBed]
AS
SELECT     0 AS IsCheck, dbo.tbl_CheckStudentBed.CheckTime, dbo.tbl_CheckStudentBed.LeaveTime, dbo.tbl_CheckStudentBed.RoomId,
                      dbo.tbl_CheckStudentBed.BedId, dbo.tbl_CheckStudentBed.Remarks, dbo.tbl_StudentUsing.Term, dbo.tbl_Class.Name AS ClassName,
                      dbo.tbl_Grade.GroupId, dbo.tbl_Student.Name, dbo.tbl_Student.Sex, dbo.tbl_Student.TypeId
FROM         dbo.tbl_Class INNER JOIN
                      dbo.tbl_Grade ON dbo.tbl_Class.GradeId = dbo.tbl_Grade.Id INNER JOIN
                      dbo.tbl_Student ON dbo.tbl_Class.Id = dbo.tbl_Student.ClassId INNER JOIN
                      dbo.tbl_StudentUsing ON dbo.tbl_Class.Id = dbo.tbl_StudentUsing.ClassId AND dbo.tbl_Student.Id = dbo.tbl_StudentUsing.StudentId INNER JOIN
                      dbo.tbl_CheckStudentBed ON dbo.tbl_StudentUsing.Id = dbo.tbl_CheckStudentBed.StudentUsingId
WHERE     (dbo.tbl_Student.TypeId = 2)
'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane1', @value=N'[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
Begin DesignProperties =
   Begin PaneConfigurations =
      Begin PaneConfiguration = 0
         NumPanes = 4
         Configuration = "(H (1[55] 4[14] 2[13] 3) )"
      End
      Begin PaneConfiguration = 1
         NumPanes = 3
         Configuration = "(H (1 [50] 4 [25] 3))"
      End
      Begin PaneConfiguration = 2
         NumPanes = 3
         Configuration = "(H (1 [50] 2 [25] 3))"
      End
      Begin PaneConfiguration = 3
         NumPanes = 3
         Configuration = "(H (4 [30] 2 [40] 3))"
      End
      Begin PaneConfiguration = 4
         NumPanes = 2
         Configuration = "(H (1 [56] 3))"
      End
      Begin PaneConfiguration = 5
         NumPanes = 2
         Configuration = "(H (2 [66] 3))"
      End
      Begin PaneConfiguration = 6
         NumPanes = 2
         Configuration = "(H (4 [50] 3))"
      End
      Begin PaneConfiguration = 7
         NumPanes = 1
         Configuration = "(V (3))"
      End
      Begin PaneConfiguration = 8
         NumPanes = 3
         Configuration = "(H (1[56] 4[18] 2) )"
      End
      Begin PaneConfiguration = 9
         NumPanes = 2
         Configuration = "(H (1 [75] 4))"
      End
      Begin PaneConfiguration = 10
         NumPanes = 2
         Configuration = "(H (1[66] 2) )"
      End
      Begin PaneConfiguration = 11
         NumPanes = 2
         Configuration = "(H (4 [60] 2))"
      End
      Begin PaneConfiguration = 12
         NumPanes = 1
         Configuration = "(H (1) )"
      End
      Begin PaneConfiguration = 13
         NumPanes = 1
         Configuration = "(V (4))"
      End
      Begin PaneConfiguration = 14
         NumPanes = 1
         Configuration = "(V (2))"
      End
      ActivePaneConfig = 0
   End
   Begin DiagramPane =
      Begin Origin =
         Top = 0
         Left = 0
      End
      Begin Tables =
         Begin Table = "tbl_Class"
            Begin Extent =
               Top = 257
               Left = 591
               Bottom = 372
               Right = 723
            End
            DisplayFlags = 280
            TopColumn = 0
         End
         Begin Table = "tbl_Grade"
            Begin Extent =
               Top = 251
               Left = 877
               Bottom = 361
               Right = 1012
            End
            DisplayFlags = 280
            TopColumn = 0
         End
         Begin Table = "tbl_CheckStudentBed"
            Begin Extent =
               Top = 29
               Left = 231
               Bottom = 187
               Right = 386
            End
            DisplayFlags = 280
            TopColumn = 0
         End
         Begin Table = "tbl_Student"
            Begin Extent =
               Top = 45
               Left = 832
               Bottom = 160
               Right = 987
            End
            DisplayFlags = 280
            TopColumn = 20
         End
         Begin Table = "tbl_StudentUsing"
            Begin Extent =
               Top = 223
               Left = 52
               Bottom = 338
               Right = 189
            End
            DisplayFlags = 280
            TopColumn = 5
         End
      End
   End
   Begin SQLPane =
   End
   Begin DataPane =
      Begin ParameterDefaults = ""
      End
      Begin ColumnWidths = 12
         Width = 284
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
      End
   End
   Begi' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'VIEW', @level1name=N'v_InsertBed'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane2', @value=N'n CriteriaPane =
      Begin ColumnWidths = 11
         Column = 2190
         Alias = 2085
         Table = 2850
         Output = 720
         Append = 1400
         NewValue = 1170
         SortType = 1350
         SortOrder = 1410
         GroupBy = 1350
         Filter = 1305
         Or = 300
         Or = 1350
         Or = 1350
      End
   End
End
' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'VIEW', @level1name=N'v_InsertBed'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPaneCount', @value=2 ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'VIEW', @level1name=N'v_InsertBed'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[v_User_Emp]'))
EXEC dbo.sp_executesql @statement = N'CREATE VIEW [dbo].[v_User_Emp]
AS
SELECT dbo.tbl_Employee.Id AS EmployeeId, dbo.tbl_Employee.Name AS EmployeeName,
      dbo.tbl_Employee.SectionId, dbo.tbl_Employee.Sex,
      dbo.tbl_Section.Name AS SectionName, dbo.tbl_Section.Phone,
      dbo.tbl_User.Name AS UserName, dbo.tbl_User.Alias, dbo.tbl_User.Id AS UserId,
      dbo.tbl_User.UserStateId, dbo.tbl_User.TypeId, dbo.tbl_User.Pomedom,
      dbo.tbl_UserState.Name AS UserStateName,
      dbo.tbl_UserType.Name AS UserTypeName, dbo.tbl_Employee.SchoolId
FROM dbo.tbl_Employee LEFT OUTER JOIN
      dbo.tbl_Section ON
      dbo.tbl_Employee.SectionId = dbo.tbl_Section.Id LEFT OUTER JOIN
      dbo.tbl_User ON dbo.tbl_Employee.Id = dbo.tbl_User.EmployeeId LEFT OUTER JOIN
      dbo.tbl_UserState ON
      dbo.tbl_User.UserStateId = dbo.tbl_UserState.Id LEFT OUTER JOIN
      dbo.tbl_UserType ON dbo.tbl_User.TypeId = dbo.tbl_UserType.Id
'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane1', @value=N'[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
Begin DesignProperties =
   Begin PaneConfigurations =
      Begin PaneConfiguration = 0
         NumPanes = 4
         Configuration = "(H (1[31] 4[36] 2[4] 3) )"
      End
      Begin PaneConfiguration = 1
         NumPanes = 3
         Configuration = "(H (1 [50] 4 [25] 3))"
      End
      Begin PaneConfiguration = 2
         NumPanes = 3
         Configuration = "(H (1 [50] 2 [25] 3))"
      End
      Begin PaneConfiguration = 3
         NumPanes = 3
         Configuration = "(H (4 [30] 2 [40] 3))"
      End
      Begin PaneConfiguration = 4
         NumPanes = 2
         Configuration = "(H (1 [56] 3))"
      End
      Begin PaneConfiguration = 5
         NumPanes = 2
         Configuration = "(H (2 [66] 3))"
      End
      Begin PaneConfiguration = 6
         NumPanes = 2
         Configuration = "(H (4 [50] 3))"
      End
      Begin PaneConfiguration = 7
         NumPanes = 1
         Configuration = "(V (3))"
      End
      Begin PaneConfiguration = 8
         NumPanes = 3
         Configuration = "(H (1[56] 4[18] 2) )"
      End
      Begin PaneConfiguration = 9
         NumPanes = 2
         Configuration = "(H (1 [75] 4))"
      End
      Begin PaneConfiguration = 10
         NumPanes = 2
         Configuration = "(H (1[66] 2) )"
      End
      Begin PaneConfiguration = 11
         NumPanes = 2
         Configuration = "(H (4 [60] 2))"
      End
      Begin PaneConfiguration = 12
         NumPanes = 1
         Configuration = "(H (1) )"
      End
      Begin PaneConfiguration = 13
         NumPanes = 1
         Configuration = "(V (4))"
      End
      Begin PaneConfiguration = 14
         NumPanes = 1
         Configuration = "(V (2))"
      End
      ActivePaneConfig = 0
   End
   Begin DiagramPane =
      Begin Origin =
         Top = 0
         Left = 0
      End
      Begin Tables =
         Begin Table = "tbl_Employee"
            Begin Extent =
               Top = 36
               Left = 266
               Bottom = 215
               Right = 431
            End
            DisplayFlags = 280
            TopColumn = 32
         End
         Begin Table = "tbl_Section"
            Begin Extent =
               Top = 101
               Left = 21
               Bottom = 211
               Right = 180
            End
            DisplayFlags = 280
            TopColumn = 0
         End
         Begin Table = "tbl_UserState"
            Begin Extent =
               Top = 47
               Left = 682
               Bottom = 143
               Right = 829
            End
            DisplayFlags = 280
            TopColumn = 0
         End
         Begin Table = "tbl_UserType"
            Begin Extent =
               Top = 162
               Left = 702
               Bottom = 258
               Right = 849
            End
            DisplayFlags = 280
            TopColumn = 0
         End
         Begin Table = "tbl_User"
            Begin Extent =
               Top = 81
               Left = 495
               Bottom = 191
               Right = 642
            End
            DisplayFlags = 280
            TopColumn = 0
         End
      End
   End
   Begin SQLPane =
   End
   Begin DataPane =
      Begin ParameterDefaults = ""
      End
      Begin ColumnWidths = 15
         Width = 284
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'VIEW', @level1name=N'v_User_Emp'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane2', @value=N' = 1500
         Width = 1500
      End
   End
   Begin CriteriaPane =
      Begin ColumnWidths = 11
         Column = 1950
         Alias = 2730
         Table = 1935
         Output = 720
         Append = 1400
         NewValue = 1170
         SortType = 1350
         SortOrder = 1410
         GroupBy = 1350
         Filter = 1350
         Or = 1350
         Or = 1350
         Or = 1350
      End
   End
End
' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'VIEW', @level1name=N'v_User_Emp'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPaneCount', @value=2 ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'VIEW', @level1name=N'v_User_Emp'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[v_TestScore_Student_Class_Subject]'))
EXEC dbo.sp_executesql @statement = N'CREATE VIEW [dbo].[v_TestScore_Student_Class_Subject]
AS
SELECT dbo.tbl_TestScore.TestScore, dbo.tbl_TestScore.Id AS TestScoreId,
      dbo.tbl_Student.Id AS StudentId, dbo.tbl_Student.Name AS StudentName,
      dbo.tbl_Subject.Name AS SubjectName, dbo.tbl_Class.Name AS ClassName,
      dbo.tbl_Class.GradeId, dbo.tbl_TestSubject.TestClassId,
      dbo.tbl_TestSubject.TestSubjectId AS SubjectId, dbo.tbl_TestSubject.TestInfoId,
      dbo.tbl_TestSubject.Id AS TestSubjectId
FROM dbo.tbl_TestScore INNER JOIN
      dbo.tbl_Student ON dbo.tbl_TestScore.StudentId = dbo.tbl_Student.Id INNER JOIN
      dbo.tbl_TestSubject ON
      dbo.tbl_TestScore.TestSubjectId = dbo.tbl_TestSubject.Id INNER JOIN
      dbo.tbl_Subject ON
      dbo.tbl_TestSubject.TestSubjectId = dbo.tbl_Subject.Id INNER JOIN
      dbo.tbl_Class ON dbo.tbl_Student.ClassId = dbo.tbl_Class.Id
'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane1', @value=N'[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
Begin DesignProperties =
   Begin PaneConfigurations =
      Begin PaneConfiguration = 0
         NumPanes = 4
         Configuration = "(H (1[19] 4[16] 2[5] 3) )"
      End
      Begin PaneConfiguration = 1
         NumPanes = 3
         Configuration = "(H (1 [50] 4 [25] 3))"
      End
      Begin PaneConfiguration = 2
         NumPanes = 3
         Configuration = "(H (1 [50] 2 [25] 3))"
      End
      Begin PaneConfiguration = 3
         NumPanes = 3
         Configuration = "(H (4 [30] 2 [40] 3))"
      End
      Begin PaneConfiguration = 4
         NumPanes = 2
         Configuration = "(H (1 [56] 3))"
      End
      Begin PaneConfiguration = 5
         NumPanes = 2
         Configuration = "(H (2 [66] 3))"
      End
      Begin PaneConfiguration = 6
         NumPanes = 2
         Configuration = "(H (4 [50] 3))"
      End
      Begin PaneConfiguration = 7
         NumPanes = 1
         Configuration = "(V (3))"
      End
      Begin PaneConfiguration = 8
         NumPanes = 3
         Configuration = "(H (1[56] 4[18] 2) )"
      End
      Begin PaneConfiguration = 9
         NumPanes = 2
         Configuration = "(H (1 [75] 4))"
      End
      Begin PaneConfiguration = 10
         NumPanes = 2
         Configuration = "(H (1[66] 2) )"
      End
      Begin PaneConfiguration = 11
         NumPanes = 2
         Configuration = "(H (4 [60] 2))"
      End
      Begin PaneConfiguration = 12
         NumPanes = 1
         Configuration = "(H (1) )"
      End
      Begin PaneConfiguration = 13
         NumPanes = 1
         Configuration = "(V (4))"
      End
      Begin PaneConfiguration = 14
         NumPanes = 1
         Configuration = "(V (2))"
      End
      ActivePaneConfig = 0
   End
   Begin DiagramPane =
      Begin Origin =
         Top = 0
         Left = 0
      End
      Begin Tables =
         Begin Table = "tbl_TestScore"
            Begin Extent =
               Top = 6
               Left = 38
               Bottom = 116
               Right = 197
            End
            DisplayFlags = 280
            TopColumn = 2
         End
         Begin Table = "tbl_Student"
            Begin Extent =
               Top = 147
               Left = 211
               Bottom = 257
               Right = 376
            End
            DisplayFlags = 280
            TopColumn = 2
         End
         Begin Table = "tbl_TestSubject"
            Begin Extent =
               Top = 3
               Left = 399
               Bottom = 113
               Right = 558
            End
            DisplayFlags = 280
            TopColumn = 1
         End
         Begin Table = "tbl_Subject"
            Begin Extent =
               Top = 10
               Left = 704
               Bottom = 106
               Right = 839
            End
            DisplayFlags = 280
            TopColumn = 0
         End
         Begin Table = "tbl_Class"
            Begin Extent =
               Top = 149
               Left = 461
               Bottom = 259
               Right = 596
            End
            DisplayFlags = 280
            TopColumn = 0
         End
      End
   End
   Begin SQLPane =
   End
   Begin DataPane =
      Begin ParameterDefaults = ""
      End
      Begin ColumnWidths = 12
         Width = 284
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
      End
   End
   Begin CriteriaP' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'VIEW', @level1name=N'v_TestScore_Student_Class_Subject'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane2', @value=N'ane =
      Begin ColumnWidths = 11
         Column = 1440
         Alias = 2145
         Table = 2595
         Output = 720
         Append = 1400
         NewValue = 1170
         SortType = 1350
         SortOrder = 1410
         GroupBy = 1350
         Filter = 1350
         Or = 1350
         Or = 1350
         Or = 1350
      End
   End
End
' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'VIEW', @level1name=N'v_TestScore_Student_Class_Subject'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPaneCount', @value=2 ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'VIEW', @level1name=N'v_TestScore_Student_Class_Subject'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[usp_UpdateEmployeeSectionId]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [dbo].[usp_UpdateEmployeeSectionId]
@employeeId nvarchar(50),
@sectionId int
AS
 DECLARE @row int
 SET @row = 0
 
 BEGIN TRANSACTION
 BEGIN TRY
  IF @sectionId = 0
   UPDATE dbo.tbl_Employee SET [SectionId] = NULL WHERE Id = @employeeId
  ELSE
   UPDATE dbo.tbl_Employee SET [SectionId] = @sectionId WHERE Id = @employeeId
 
  SET @row = @row + @@RowCount
 
  DECLARE @employeeName nvarchar(50), @rpTypeId int, @tempMsg nvarchar(500)
  SELECT @employeeName = [Name] FROM dbo.tbl_Employee WHERE Id = @employeeId
  SELECT @rpTypeId = Id FROM dbo.tbl_Section WHERE [Name] = ''部门员工调整''
  
  IF @sectionId IS NULL OR @sectionId = 0
   BEGIN
    DECLARE @sectionName nvarchar(50)
    SELECT @sectionName = [Name] FROM dbo.tbl_Section WHERE Id = @sectionId
    SET @tempMsg = @employeeName + ''被移出'' + @sectionName
    
    INSERT INTO
     dbo.tbl_EmployeeRP (Title, Content, [Time], TypeId)
    VALUES
     (@tempMsg, @tempMsg, Getdate(), @rpTypeId)
     
    SET @row = @row + @@RowCount
   END
  ELSE
   BEGIN
    DECLARE @sectionName1 nvarchar(50), @sectionName2 nvarchar(50)
    SELECT @sectionName1 = [Name] FROM dbo.tbl_Section WHERE Id = @sectionId --旧部门
    SELECT @sectionName2 = [Name] FROM dbo.tbl_Section WHERE Id = (SELECT SectionId FROM dbo.tbl_Employee WHERE Id = @employeeId) --新部门
    SET @tempMsg = @employeeName + ''从'' + @sectionName1 + ''被移至'' + @sectionName2
    
    INSERT INTO
     dbo.tbl_EmployeeRP (Title, Content, [Time], TypeId)
    VALUES
     (@tempMsg, @tempMsg, Getdate(), @rpTypeId)
     
    SET @row = @row + @@RowCount
   END
  COMMIT TRANSACTION --提交事务
 END TRY
 BEGIN CATCH

  --声明异常处理中要用到的变量
  DECLARE @errMsg varchar(4000)
  DECLARE @errSeverity int
  DECLARE @errState int
  SELECT @errSeverity = ERROR_SEVERITY(), @errMsg = ERROR_MESSAGE(), @errState = ERROR_STATE()

  --回滚事务
  RAISERROR(@errMsg, @errSeverity, 1)

 ROLLBACK TRANSACTION --回滚事务
 END CATCH
 
 RETURN @row

 

 
'
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[v_Section_Employee_User]'))
EXEC dbo.sp_executesql @statement = N'CREATE VIEW [dbo].[v_Section_Employee_User]
AS
SELECT dbo.tbl_User.Id AS UserId, dbo.tbl_User.Name AS UserName,
      dbo.tbl_User.Alias AS UserAlias, dbo.tbl_Employee.Id AS EmployeeId,
      dbo.tbl_Section.Name AS SectionName, dbo.tbl_Employee.SectionId,
      dbo.tbl_Employee.Name, dbo.tbl_Employee.Email, dbo.tbl_Section.Phone,
      dbo.tbl_Employee.MoblePhone, dbo.tbl_Employee.Address,
      dbo.tbl_EmployeePosition.Name AS PositionName, dbo.tbl_Employee.SchoolId
FROM dbo.tbl_Employee INNER JOIN
      dbo.tbl_EmployeePosition ON
      dbo.tbl_Employee.PositionId = dbo.tbl_EmployeePosition.Id FULL OUTER JOIN
      dbo.tbl_Section ON dbo.tbl_EmployeePosition.SectionId = dbo.tbl_Section.Id AND
      dbo.tbl_Employee.SectionId = dbo.tbl_Section.Id RIGHT OUTER JOIN
      dbo.tbl_User ON dbo.tbl_Employee.Id = dbo.tbl_User.EmployeeId
'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane1', @value=N'[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
Begin DesignProperties =
   Begin PaneConfigurations =
      Begin PaneConfiguration = 0
         NumPanes = 4
         Configuration = "(H (1[42] 4[20] 2[13] 3) )"
      End
      Begin PaneConfiguration = 1
         NumPanes = 3
         Configuration = "(H (1 [50] 4 [25] 3))"
      End
      Begin PaneConfiguration = 2
         NumPanes = 3
         Configuration = "(H (1 [50] 2 [25] 3))"
      End
      Begin PaneConfiguration = 3
         NumPanes = 3
         Configuration = "(H (4 [30] 2 [40] 3))"
      End
      Begin PaneConfiguration = 4
         NumPanes = 2
         Configuration = "(H (1 [56] 3))"
      End
      Begin PaneConfiguration = 5
         NumPanes = 2
         Configuration = "(H (2 [66] 3))"
      End
      Begin PaneConfiguration = 6
         NumPanes = 2
         Configuration = "(H (4 [50] 3))"
      End
      Begin PaneConfiguration = 7
         NumPanes = 1
         Configuration = "(V (3))"
      End
      Begin PaneConfiguration = 8
         NumPanes = 3
         Configuration = "(H (1[56] 4[18] 2) )"
      End
      Begin PaneConfiguration = 9
         NumPanes = 2
         Configuration = "(H (1 [75] 4))"
      End
      Begin PaneConfiguration = 10
         NumPanes = 2
         Configuration = "(H (1[66] 2) )"
      End
      Begin PaneConfiguration = 11
         NumPanes = 2
         Configuration = "(H (4 [60] 2))"
      End
      Begin PaneConfiguration = 12
         NumPanes = 1
         Configuration = "(H (1) )"
      End
      Begin PaneConfiguration = 13
         NumPanes = 1
         Configuration = "(V (4))"
      End
      Begin PaneConfiguration = 14
         NumPanes = 1
         Configuration = "(V (2))"
      End
      ActivePaneConfig = 0
   End
   Begin DiagramPane =
      Begin Origin =
         Top = 0
         Left = 0
      End
      Begin Tables =
         Begin Table = "tbl_Employee"
            Begin Extent =
               Top = 32
               Left = 286
               Bottom = 193
               Right = 451
            End
            DisplayFlags = 280
            TopColumn = 33
         End
         Begin Table = "tbl_EmployeePosition"
            Begin Extent =
               Top = 90
               Left = 717
               Bottom = 186
               Right = 852
            End
            DisplayFlags = 280
            TopColumn = 0
         End
         Begin Table = "tbl_Section"
            Begin Extent =
               Top = 19
               Left = 51
               Bottom = 146
               Right = 210
            End
            DisplayFlags = 280
            TopColumn = 0
         End
         Begin Table = "tbl_User"
            Begin Extent =
               Top = 25
               Left = 536
               Bottom = 135
               Right = 683
            End
            DisplayFlags = 280
            TopColumn = 0
         End
      End
   End
   Begin SQLPane =
   End
   Begin DataPane =
      Begin ParameterDefaults = ""
      End
      Begin ColumnWidths = 14
         Width = 284
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
      End
   End
   Begin CriteriaPane =
      Begin ColumnWidths = 11
         Column = 1440
         Alias = 900
         Table = 1170
         Output = 720
         Append = 1400
         NewValue = 1170
         SortType = 1350
        ' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'VIEW', @level1name=N'v_Section_Employee_User'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane2', @value=N' SortOrder = 1410
         GroupBy = 1350
         Filter = 1350
         Or = 1350
         Or = 1350
         Or = 1350
      End
   End
End
' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'VIEW', @level1name=N'v_Section_Employee_User'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPaneCount', @value=2 ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'VIEW', @level1name=N'v_Section_Employee_User'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[v_BookDetail_BookType_SchoolBasicInfo]'))
EXEC dbo.sp_executesql @statement = N'CREATE VIEW [dbo].[v_BookDetail_BookType_SchoolBasicInfo]
AS
SELECT dbo.tbl_BookDetail.Id, dbo.tbl_BookDetail.MainBookName,
      dbo.tbl_BookDetail.SecondaryBookName, dbo.tbl_BookDetail.AuthorName,
      dbo.tbl_BookDetail.Press, dbo.tbl_BookDetail.PublicationPalce,
      dbo.tbl_BookDetail.PublicationTime, dbo.tbl_BookDetail.Price,
      dbo.tbl_BookDetail.Remark, dbo.tbl_BookDetail.BookNum,
      dbo.tbl_BookType.Name AS BookTypeName,
      dbo.tbl_SchoolBasicInfo.Name AS SchoolName, dbo.tbl_BookDetail.SchoolId,
      dbo.tbl_BookDetail.BookTypeId
FROM dbo.tbl_BookDetail INNER JOIN
      dbo.tbl_BookType ON
      dbo.tbl_BookDetail.BookTypeId = dbo.tbl_BookType.Id INNER JOIN
      dbo.tbl_SchoolBasicInfo ON dbo.tbl_BookDetail.SchoolId = dbo.tbl_SchoolBasicInfo.Id
'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane1', @value=N'[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
Begin DesignProperties =
   Begin PaneConfigurations =
      Begin PaneConfiguration = 0
         NumPanes = 4
         Configuration = "(H (1[41] 4[20] 2[9] 3) )"
      End
      Begin PaneConfiguration = 1
         NumPanes = 3
         Configuration = "(H (1 [50] 4 [25] 3))"
      End
      Begin PaneConfiguration = 2
         NumPanes = 3
         Configuration = "(H (1 [50] 2 [25] 3))"
      End
      Begin PaneConfiguration = 3
         NumPanes = 3
         Configuration = "(H (4 [30] 2 [40] 3))"
      End
      Begin PaneConfiguration = 4
         NumPanes = 2
         Configuration = "(H (1 [56] 3))"
      End
      Begin PaneConfiguration = 5
         NumPanes = 2
         Configuration = "(H (2 [66] 3))"
      End
      Begin PaneConfiguration = 6
         NumPanes = 2
         Configuration = "(H (4 [50] 3))"
      End
      Begin PaneConfiguration = 7
         NumPanes = 1
         Configuration = "(V (3))"
      End
      Begin PaneConfiguration = 8
         NumPanes = 3
         Configuration = "(H (1[56] 4[18] 2) )"
      End
      Begin PaneConfiguration = 9
         NumPanes = 2
         Configuration = "(H (1 [75] 4))"
      End
      Begin PaneConfiguration = 10
         NumPanes = 2
         Configuration = "(H (1[66] 2) )"
      End
      Begin PaneConfiguration = 11
         NumPanes = 2
         Configuration = "(H (4 [60] 2))"
      End
      Begin PaneConfiguration = 12
         NumPanes = 1
         Configuration = "(H (1) )"
      End
      Begin PaneConfiguration = 13
         NumPanes = 1
         Configuration = "(V (4))"
      End
      Begin PaneConfiguration = 14
         NumPanes = 1
         Configuration = "(V (2))"
      End
      ActivePaneConfig = 0
   End
   Begin DiagramPane =
      Begin Origin =
         Top = 0
         Left = 0
      End
      Begin Tables =
         Begin Table = "tbl_BookDetail"
            Begin Extent =
               Top = 0
               Left = 198
               Bottom = 235
               Right = 381
            End
            DisplayFlags = 280
            TopColumn = 8
         End
         Begin Table = "tbl_BookType"
            Begin Extent =
               Top = 55
               Left = 19
               Bottom = 148
               Right = 154
            End
            DisplayFlags = 280
            TopColumn = 0
         End
         Begin Table = "tbl_SchoolBasicInfo"
            Begin Extent =
               Top = 3
               Left = 434
               Bottom = 239
               Right = 646
            End
            DisplayFlags = 280
            TopColumn = 0
         End
      End
   End
   Begin SQLPane =
   End
   Begin DataPane =
      Begin ParameterDefaults = ""
      End
      Begin ColumnWidths = 10
         Width = 284
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
      End
   End
   Begin CriteriaPane =
      Begin ColumnWidths = 11
         Column = 1440
         Alias = 900
         Table = 3660
         Output = 720
         Append = 1400
         NewValue = 1170
         SortType = 1350
         SortOrder = 1410
         GroupBy = 1350
         Filter = 1350
         Or = 1350
         Or = 1350
         Or = 1350
      End
   End
End
' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'VIEW', @level1name=N'v_BookDetail_BookType_SchoolBasicInfo'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPaneCount', @value=1 ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'VIEW', @level1name=N'v_BookDetail_BookType_SchoolBasicInfo'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[v_Menu_Foods_FoodType]'))
EXEC dbo.sp_executesql @statement = N'CREATE VIEW [dbo].[v_Menu_Foods_FoodType]
AS
SELECT dbo.tbl_Menu.Id, dbo.tbl_Menu.Time, dbo.tbl_Menu.Price, dbo.tbl_Foods.Name,
      dbo.tbl_FoodType.Name AS TypeName
FROM dbo.tbl_Foods INNER JOIN
      dbo.tbl_FoodType ON dbo.tbl_Foods.TypeId = dbo.tbl_FoodType.Id INNER JOIN
      dbo.tbl_Menu ON dbo.tbl_Foods.Id = dbo.tbl_Menu.FoodId
'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane1', @value=N'[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
Begin DesignProperties =
   Begin PaneConfigurations =
      Begin PaneConfiguration = 0
         NumPanes = 4
         Configuration = "(H (1[40] 4[20] 2[20] 3) )"
      End
      Begin PaneConfiguration = 1
         NumPanes = 3
         Configuration = "(H (1 [50] 4 [25] 3))"
      End
      Begin PaneConfiguration = 2
         NumPanes = 3
         Configuration = "(H (1 [50] 2 [25] 3))"
      End
      Begin PaneConfiguration = 3
         NumPanes = 3
         Configuration = "(H (4 [30] 2 [40] 3))"
      End
      Begin PaneConfiguration = 4
         NumPanes = 2
         Configuration = "(H (1 [56] 3))"
      End
      Begin PaneConfiguration = 5
         NumPanes = 2
         Configuration = "(H (2 [66] 3))"
      End
      Begin PaneConfiguration = 6
         NumPanes = 2
         Configuration = "(H (4 [50] 3))"
      End
      Begin PaneConfiguration = 7
         NumPanes = 1
         Configuration = "(V (3))"
      End
      Begin PaneConfiguration = 8
         NumPanes = 3
         Configuration = "(H (1[56] 4[18] 2) )"
      End
      Begin PaneConfiguration = 9
         NumPanes = 2
         Configuration = "(H (1 [75] 4))"
      End
      Begin PaneConfiguration = 10
         NumPanes = 2
         Configuration = "(H (1[66] 2) )"
      End
      Begin PaneConfiguration = 11
         NumPanes = 2
         Configuration = "(H (4 [60] 2))"
      End
      Begin PaneConfiguration = 12
         NumPanes = 1
         Configuration = "(H (1) )"
      End
      Begin PaneConfiguration = 13
         NumPanes = 1
         Configuration = "(V (4))"
      End
      Begin PaneConfiguration = 14
         NumPanes = 1
         Configuration = "(V (2))"
      End
      ActivePaneConfig = 0
   End
   Begin DiagramPane =
      Begin Origin =
         Top = 0
         Left = 0
      End
      Begin Tables =
         Begin Table = "tbl_FoodType"
            Begin Extent =
               Top = 21
               Left = 59
               Bottom = 103
               Right = 194
            End
            DisplayFlags = 280
            TopColumn = 0
         End
         Begin Table = "tbl_Menu"
            Begin Extent =
               Top = 4
               Left = 455
               Bottom = 114
               Right = 590
            End
            DisplayFlags = 280
            TopColumn = 0
         End
         Begin Table = "tbl_Foods"
            Begin Extent =
               Top = 11
               Left = 235
               Bottom = 121
               Right = 370
            End
            DisplayFlags = 280
            TopColumn = 0
         End
      End
   End
   Begin SQLPane =
   End
   Begin DataPane =
      Begin ParameterDefaults = ""
      End
      Begin ColumnWidths = 9
         Width = 284
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
      End
   End
   Begin CriteriaPane =
      Begin ColumnWidths = 11
         Column = 1440
         Alias = 900
         Table = 1695
         Output = 720
         Append = 1400
         NewValue = 1170
         SortType = 1350
         SortOrder = 1410
         GroupBy = 1350
         Filter = 1350
         Or = 1350
         Or = 1350
         Or = 1350
      End
   End
End
' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'VIEW', @level1name=N'v_Menu_Foods_FoodType'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPaneCount', @value=1 ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'VIEW', @level1name=N'v_Menu_Foods_FoodType'

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[v_Student_TestScore]'))
EXEC dbo.sp_executesql @statement = N'CREATE VIEW [dbo].[v_Student_TestScore]
AS
SELECT dbo.tbl_TestScore.Id AS TestScoreId, dbo.tbl_TestScore.TestSubjectId,
      dbo.tbl_TestScore.TestClassId, dbo.tbl_TestScore.TestInfoId,
      dbo.tbl_Student.Id AS StudentId, dbo.tbl_Student.Name,
      dbo.tbl_TestScore.TestScore
FROM dbo.tbl_Student LEFT OUTER JOIN
      dbo.tbl_TestScore ON dbo.tbl_Student.Id = dbo.tbl_TestScore.StudentId
'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane1', @value=N'[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
Begin DesignProperties =
   Begin PaneConfigurations =
      Begin PaneConfiguration = 0
         NumPanes = 4
         Configuration = "(H (1[40] 4[20] 2[20] 3) )"
      End
      Begin PaneConfiguration = 1
         NumPanes = 3
         Configuration = "(H (1 [50] 4 [25] 3))"
      End
      Begin PaneConfiguration = 2
         NumPanes = 3
         Configuration = "(H (1 [50] 2 [25] 3))"
      End
      Begin PaneConfiguration = 3
         NumPanes = 3
         Configuration = "(H (4 [30] 2 [40] 3))"
      End
      Begin PaneConfiguration = 4
         NumPanes = 2
         Configuration = "(H (1 [56] 3))"
      End
      Begin PaneConfiguration = 5
         NumPanes = 2
         Configuration = "(H (2 [66] 3))"
      End
      Begin PaneConfiguration = 6
         NumPanes = 2
         Configuration = "(H (4 [50] 3))"
      End
      Begin PaneConfiguration = 7
         NumPanes = 1
         Configuration = "(V (3))"
      End
      Begin PaneConfiguration = 8
         NumPanes = 3
         Configuration = "(H (1[56] 4[18] 2) )"
      End
      Begin PaneConfiguration = 9
         NumPanes = 2
         Configuration = "(H (1 [75] 4))"
      End
      Begin PaneConfiguration = 10
         NumPanes = 2
         Configuration = "(H (1[66] 2) )"
      End
      Begin PaneConfiguration = 11
         NumPanes = 2
         Configuration = "(H (4 [60] 2))"
      End
      Begin PaneConfiguration = 12
         NumPanes = 1
         Configuration = "(H (1) )"
      End
      Begin PaneConfiguration = 13
         NumPanes = 1
         Configuration = "(V (4))"
      End
      Begin PaneConfiguration = 14
         NumPanes = 1
         Configuration = "(V (2))"
      End
      ActivePaneConfig = 0
   End
   Begin DiagramPane =
      Begin Origin =
         Top = 0
         Left = 0
      End
      Begin Tables =
         Begin Table = "tbl_Student"
            Begin Extent =
               Top = 76
               Left = 87
               Bottom = 186
               Right = 252
            End
            DisplayFlags = 280
            TopColumn = 1
         End
         Begin Table = "tbl_TestScore"
            Begin Extent =
               Top = 45
               Left = 394
               Bottom = 233
               Right = 706
            End
            DisplayFlags = 280
            TopColumn = 0
         End
      End
   End
   Begin SQLPane =
   End
   Begin DataPane =
      Begin ParameterDefaults = ""
      End
      Begin ColumnWidths = 9
         Width = 284
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
         Width = 1500
      End
   End
   Begin CriteriaPane =
      Begin ColumnWidths = 11
         Column = 1440
         Alias = 900
         Table = 3495
         Output = 720
         Append = 1400
         NewValue = 1170
         SortType = 1350
         SortOrder = 1410
         GroupBy = 1350
         Filter = 1350
         Or = 1350
         Or = 1350
         Or = 1350
      End
   End
End
' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'VIEW', @level1name=N'v_Student_TestScore'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPaneCount', @value=1 ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'VIEW', @level1name=N'v_Student_TestScore'

GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_Pomedom_tbl_Pomedom]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_Pomedom]'))
ALTER TABLE [dbo].[tbl_Pomedom]  WITH CHECK ADD  CONSTRAINT [FK_tbl_Pomedom_tbl_Pomedom] FOREIGN KEY([ParentId])
REFERENCES [dbo].[tbl_Pomedom] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_Email_tbl_EmailState]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_Email]'))
ALTER TABLE [dbo].[tbl_Email]  WITH CHECK ADD  CONSTRAINT [FK_tbl_Email_tbl_EmailState] FOREIGN KEY([StateId])
REFERENCES [dbo].[tbl_EmailState] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_Email_tbl_EmailType]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_Email]'))
ALTER TABLE [dbo].[tbl_Email]  WITH CHECK ADD  CONSTRAINT [FK_tbl_Email_tbl_EmailType] FOREIGN KEY([TypeId])
REFERENCES [dbo].[tbl_EmailType] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_Email_tbl_User]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_Email]'))
ALTER TABLE [dbo].[tbl_Email]  WITH CHECK ADD  CONSTRAINT [FK_tbl_Email_tbl_User] FOREIGN KEY([ReceiveId])
REFERENCES [dbo].[tbl_User] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_Email_tbl_User1]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_Email]'))
ALTER TABLE [dbo].[tbl_Email]  WITH CHECK ADD  CONSTRAINT [FK_tbl_Email_tbl_User1] FOREIGN KEY([SendId])
REFERENCES [dbo].[tbl_User] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_SchoolBasic_tbl_SchoolType1]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_SchoolBasicInfo]'))
ALTER TABLE [dbo].[tbl_SchoolBasicInfo]  WITH CHECK ADD  CONSTRAINT [FK_tbl_SchoolBasic_tbl_SchoolType1] FOREIGN KEY([TypeId])
REFERENCES [dbo].[tbl_SchoolType] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_SchoolBasicInfo_tbl_Employee]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_SchoolBasicInfo]'))
ALTER TABLE [dbo].[tbl_SchoolBasicInfo]  WITH CHECK ADD  CONSTRAINT [FK_tbl_SchoolBasicInfo_tbl_Employee] FOREIGN KEY([EmployeeId])
REFERENCES [dbo].[tbl_Employee] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_SchoolBasicInfo_tbl_SchoolState]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_SchoolBasicInfo]'))
ALTER TABLE [dbo].[tbl_SchoolBasicInfo]  WITH CHECK ADD  CONSTRAINT [FK_tbl_SchoolBasicInfo_tbl_SchoolState] FOREIGN KEY([StateId])
REFERENCES [dbo].[tbl_SchoolState] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_BusInfo_tbl_BusState]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_BusInfo]'))
ALTER TABLE [dbo].[tbl_BusInfo]  WITH CHECK ADD  CONSTRAINT [FK_tbl_BusInfo_tbl_BusState] FOREIGN KEY([StateId])
REFERENCES [dbo].[tbl_BusState] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_StudentPhoto_tbl_Student_Id]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_StudentPhoto]'))
ALTER TABLE [dbo].[tbl_StudentPhoto]  WITH CHECK ADD  CONSTRAINT [FK_StudentPhoto_tbl_Student_Id] FOREIGN KEY([StudentId])
REFERENCES [dbo].[tbl_Student] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_StudentPhoto_tbl_StudentPhoto]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_StudentPhoto]'))
ALTER TABLE [dbo].[tbl_StudentPhoto]  WITH CHECK ADD  CONSTRAINT [FK_tbl_StudentPhoto_tbl_StudentPhoto] FOREIGN KEY([ClassId])
REFERENCES [dbo].[tbl_Class] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_StudentExperience_tbl_Student]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_StudentExperience]'))
ALTER TABLE [dbo].[tbl_StudentExperience]  WITH CHECK ADD  CONSTRAINT [FK_tbl_StudentExperience_tbl_Student] FOREIGN KEY([StudentId])
REFERENCES [dbo].[tbl_Student] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_BusPandStudent_tbl_BusSeat]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_BusPandStudent]'))
ALTER TABLE [dbo].[tbl_BusPandStudent]  WITH CHECK ADD  CONSTRAINT [FK_tbl_BusPandStudent_tbl_BusSeat] FOREIGN KEY([SeatId])
REFERENCES [dbo].[tbl_BusSeat] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_BusPandStudent_tbl_Student]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_BusPandStudent]'))
ALTER TABLE [dbo].[tbl_BusPandStudent]  WITH CHECK ADD  CONSTRAINT [FK_tbl_BusPandStudent_tbl_Student] FOREIGN KEY([StudentId])
REFERENCES [dbo].[tbl_Student] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_BusStudent_tbl_BusEmployee]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_BusStudent]'))
ALTER TABLE [dbo].[tbl_BusStudent]  WITH CHECK ADD  CONSTRAINT [FK_tbl_BusStudent_tbl_BusEmployee] FOREIGN KEY([LogId])
REFERENCES [dbo].[tbl_BusEmployee] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_BusStudent_tbl_BusSeat]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_BusStudent]'))
ALTER TABLE [dbo].[tbl_BusStudent]  WITH CHECK ADD  CONSTRAINT [FK_tbl_BusStudent_tbl_BusSeat] FOREIGN KEY([SeatId])
REFERENCES [dbo].[tbl_BusSeat] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_BusStudent_tbl_Student]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_BusStudent]'))
ALTER TABLE [dbo].[tbl_BusStudent]  WITH CHECK ADD  CONSTRAINT [FK_tbl_BusStudent_tbl_Student] FOREIGN KEY([StudentId])
REFERENCES [dbo].[tbl_Student] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_Bed_tbl_BedState]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_Bed]'))
ALTER TABLE [dbo].[tbl_Bed]  WITH CHECK ADD  CONSTRAINT [FK_tbl_Bed_tbl_BedState] FOREIGN KEY([StateId])
REFERENCES [dbo].[tbl_BedState] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_Bed_tbl_Room]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_Bed]'))
ALTER TABLE [dbo].[tbl_Bed]  WITH CHECK ADD  CONSTRAINT [FK_tbl_Bed_tbl_Room] FOREIGN KEY([RoomId])
REFERENCES [dbo].[tbl_Room] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_Bed_tbl_Student]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_Bed]'))
ALTER TABLE [dbo].[tbl_Bed]  WITH CHECK ADD  CONSTRAINT [FK_tbl_Bed_tbl_Student] FOREIGN KEY([StudentId])
REFERENCES [dbo].[tbl_Student] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_CheckWork_Student_tbl_CheckType]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_CheckWork_Student]'))
ALTER TABLE [dbo].[tbl_CheckWork_Student]  WITH CHECK ADD  CONSTRAINT [FK_tbl_CheckWork_Student_tbl_CheckType] FOREIGN KEY([TypeId])
REFERENCES [dbo].[tbl_CheckType] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_CheckWork_Student_tbl_Class]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_CheckWork_Student]'))
ALTER TABLE [dbo].[tbl_CheckWork_Student]  WITH CHECK ADD  CONSTRAINT [FK_tbl_CheckWork_Student_tbl_Class] FOREIGN KEY([ClassId])
REFERENCES [dbo].[tbl_Class] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_CheckWork_Student_tbl_Employee]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_CheckWork_Student]'))
ALTER TABLE [dbo].[tbl_CheckWork_Student]  WITH CHECK ADD  CONSTRAINT [FK_tbl_CheckWork_Student_tbl_Employee] FOREIGN KEY([Booker])
REFERENCES [dbo].[tbl_Employee] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_CheckWork_Student_tbl_Student]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_CheckWork_Student]'))
ALTER TABLE [dbo].[tbl_CheckWork_Student]  WITH CHECK ADD  CONSTRAINT [FK_tbl_CheckWork_Student_tbl_Student] FOREIGN KEY([StudentId])
REFERENCES [dbo].[tbl_Student] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_StudenFamily_tbl_Student]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_StudentFamily]'))
ALTER TABLE [dbo].[tbl_StudentFamily]  WITH CHECK ADD  CONSTRAINT [FK_tbl_StudenFamily_tbl_Student] FOREIGN KEY([StudentId])
REFERENCES [dbo].[tbl_Student] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_TestScore_tbl_Student]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_TestScore]'))
ALTER TABLE [dbo].[tbl_TestScore]  WITH CHECK ADD  CONSTRAINT [FK_tbl_TestScore_tbl_Student] FOREIGN KEY([StudentId])
REFERENCES [dbo].[tbl_Student] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_TestScore_tbl_TestClass]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_TestScore]'))
ALTER TABLE [dbo].[tbl_TestScore]  WITH CHECK ADD  CONSTRAINT [FK_tbl_TestScore_tbl_TestClass] FOREIGN KEY([TestClassId])
REFERENCES [dbo].[tbl_TestClass] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_TestScore_tbl_TestInfo]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_TestScore]'))
ALTER TABLE [dbo].[tbl_TestScore]  WITH CHECK ADD  CONSTRAINT [FK_tbl_TestScore_tbl_TestInfo] FOREIGN KEY([TestInfoId])
REFERENCES [dbo].[tbl_TestInfo] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_TestScore_tbl_TestSubject]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_TestScore]'))
ALTER TABLE [dbo].[tbl_TestScore]  WITH CHECK ADD  CONSTRAINT [FK_tbl_TestScore_tbl_TestSubject] FOREIGN KEY([TestSubjectId])
REFERENCES [dbo].[tbl_TestSubject] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_CheckStudentBed_tbl_Bed]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_CheckStudentBed]'))
ALTER TABLE [dbo].[tbl_CheckStudentBed]  WITH CHECK ADD  CONSTRAINT [FK_tbl_CheckStudentBed_tbl_Bed] FOREIGN KEY([BedId])
REFERENCES [dbo].[tbl_Bed] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_CheckStudentBed_tbl_Class]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_CheckStudentBed]'))
ALTER TABLE [dbo].[tbl_CheckStudentBed]  WITH CHECK ADD  CONSTRAINT [FK_tbl_CheckStudentBed_tbl_Class] FOREIGN KEY([ClassId])
REFERENCES [dbo].[tbl_Class] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_CheckStudentBed_tbl_Room]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_CheckStudentBed]'))
ALTER TABLE [dbo].[tbl_CheckStudentBed]  WITH CHECK ADD  CONSTRAINT [FK_tbl_CheckStudentBed_tbl_Room] FOREIGN KEY([RoomId])
REFERENCES [dbo].[tbl_Room] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_CheckStudentBed_tbl_Student]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_CheckStudentBed]'))
ALTER TABLE [dbo].[tbl_CheckStudentBed]  WITH CHECK ADD  CONSTRAINT [FK_tbl_CheckStudentBed_tbl_Student] FOREIGN KEY([StudentId])
REFERENCES [dbo].[tbl_Student] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_BusSeat_tbl_BusInfo]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_BusSeat]'))
ALTER TABLE [dbo].[tbl_BusSeat]  WITH CHECK ADD  CONSTRAINT [FK_tbl_BusSeat_tbl_BusInfo] FOREIGN KEY([BusInfoId])
REFERENCES [dbo].[tbl_BusInfo] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_BusSeat_tbl_Student]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_BusSeat]'))
ALTER TABLE [dbo].[tbl_BusSeat]  WITH CHECK ADD  CONSTRAINT [FK_tbl_BusSeat_tbl_Student] FOREIGN KEY([StudentId])
REFERENCES [dbo].[tbl_Student] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_StudentAttendance_tbl_Student]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_StudentAttendance]'))
ALTER TABLE [dbo].[tbl_StudentAttendance]  WITH CHECK ADD  CONSTRAINT [FK_tbl_StudentAttendance_tbl_Student] FOREIGN KEY([StudentId])
REFERENCES [dbo].[tbl_Student] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_StudentAttendance_tbl_StudentAttendance]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_StudentAttendance]'))
ALTER TABLE [dbo].[tbl_StudentAttendance]  WITH CHECK ADD  CONSTRAINT [FK_tbl_StudentAttendance_tbl_StudentAttendance] FOREIGN KEY([TypeId])
REFERENCES [dbo].[tbl_StudentAttendanceType] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_StudentAttendance_tbl_Subject]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_StudentAttendance]'))
ALTER TABLE [dbo].[tbl_StudentAttendance]  WITH CHECK ADD  CONSTRAINT [FK_tbl_StudentAttendance_tbl_Subject] FOREIGN KEY([SubjectId])
REFERENCES [dbo].[tbl_Subject] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_StudentAttendance_tbl_TimeSpan]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_StudentAttendance]'))
ALTER TABLE [dbo].[tbl_StudentAttendance]  WITH CHECK ADD  CONSTRAINT [FK_tbl_StudentAttendance_tbl_TimeSpan] FOREIGN KEY([TimeSpanId])
REFERENCES [dbo].[tbl_TimeSpan] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_StudentClassEvent_tbl_Class]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_StudentClassEvent]'))
ALTER TABLE [dbo].[tbl_StudentClassEvent]  WITH CHECK ADD  CONSTRAINT [FK_tbl_StudentClassEvent_tbl_Class] FOREIGN KEY([OrginClassId])
REFERENCES [dbo].[tbl_Class] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_StudentClassEvent_tbl_Class1]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_StudentClassEvent]'))
ALTER TABLE [dbo].[tbl_StudentClassEvent]  WITH CHECK ADD  CONSTRAINT [FK_tbl_StudentClassEvent_tbl_Class1] FOREIGN KEY([TargetClassId])
REFERENCES [dbo].[tbl_Class] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_StudentClassEvent_tbl_Student]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_StudentClassEvent]'))
ALTER TABLE [dbo].[tbl_StudentClassEvent]  WITH CHECK ADD  CONSTRAINT [FK_tbl_StudentClassEvent_tbl_Student] FOREIGN KEY([StudentId])
REFERENCES [dbo].[tbl_Student] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_StudentClassEvent_tbl_StudentClassEventType]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_StudentClassEvent]'))
ALTER TABLE [dbo].[tbl_StudentClassEvent]  WITH CHECK ADD  CONSTRAINT [FK_tbl_StudentClassEvent_tbl_StudentClassEventType] FOREIGN KEY([TypeId])
REFERENCES [dbo].[tbl_StudentClassEventType] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_StudentlRP_tbl_RPType]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_StudentlRP]'))
ALTER TABLE [dbo].[tbl_StudentlRP]  WITH CHECK ADD  CONSTRAINT [FK_tbl_StudentlRP_tbl_RPType] FOREIGN KEY([TypeId])
REFERENCES [dbo].[tbl_RPType] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_StudentlRP_tbl_Student]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_StudentlRP]'))
ALTER TABLE [dbo].[tbl_StudentlRP]  WITH CHECK ADD  CONSTRAINT [FK_tbl_StudentlRP_tbl_Student] FOREIGN KEY([StudentId])
REFERENCES [dbo].[tbl_Student] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_StudenTermComment_tbl_Class]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_StudentTermComment]'))
ALTER TABLE [dbo].[tbl_StudentTermComment]  WITH CHECK ADD  CONSTRAINT [FK_tbl_StudenTermComment_tbl_Class] FOREIGN KEY([ClassId])
REFERENCES [dbo].[tbl_Class] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_StudenTermComment_tbl_Employee]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_StudentTermComment]'))
ALTER TABLE [dbo].[tbl_StudentTermComment]  WITH CHECK ADD  CONSTRAINT [FK_tbl_StudenTermComment_tbl_Employee] FOREIGN KEY([CommentEmployeeId])
REFERENCES [dbo].[tbl_Employee] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_StudenTermComment_tbl_Student]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_StudentTermComment]'))
ALTER TABLE [dbo].[tbl_StudentTermComment]  WITH CHECK ADD  CONSTRAINT [FK_tbl_StudenTermComment_tbl_Student] FOREIGN KEY([StudentId])
REFERENCES [dbo].[tbl_Student] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_BorrowInfo_tbl_Employee]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_BorrowInfo]'))
ALTER TABLE [dbo].[tbl_BorrowInfo]  WITH CHECK ADD  CONSTRAINT [FK_tbl_BorrowInfo_tbl_Employee] FOREIGN KEY([BorrowEmployeeId])
REFERENCES [dbo].[tbl_Employee] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_BorrowInfo_tbl_SchoolBasicInfo]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_BorrowInfo]'))
ALTER TABLE [dbo].[tbl_BorrowInfo]  WITH CHECK ADD  CONSTRAINT [FK_tbl_BorrowInfo_tbl_SchoolBasicInfo] FOREIGN KEY([SchoolId])
REFERENCES [dbo].[tbl_SchoolBasicInfo] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_BorrowInfo_tbl_Student]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_BorrowInfo]'))
ALTER TABLE [dbo].[tbl_BorrowInfo]  WITH CHECK ADD  CONSTRAINT [FK_tbl_BorrowInfo_tbl_Student] FOREIGN KEY([BorrowStudentId])
REFERENCES [dbo].[tbl_Student] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_BorrowInfo_tbl_User]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_BorrowInfo]'))
ALTER TABLE [dbo].[tbl_BorrowInfo]  WITH CHECK ADD  CONSTRAINT [FK_tbl_BorrowInfo_tbl_User] FOREIGN KEY([EnterUserId])
REFERENCES [dbo].[tbl_User] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_StudentUsing_tbl_Class]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_StudentUsing]'))
ALTER TABLE [dbo].[tbl_StudentUsing]  WITH CHECK ADD  CONSTRAINT [FK_tbl_StudentUsing_tbl_Class] FOREIGN KEY([ClassId])
REFERENCES [dbo].[tbl_Class] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_StudentUsing_tbl_Employee_Id]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_StudentUsing]'))
ALTER TABLE [dbo].[tbl_StudentUsing]  WITH CHECK ADD  CONSTRAINT [FK_tbl_StudentUsing_tbl_Employee_Id] FOREIGN KEY([EmployeeId])
REFERENCES [dbo].[tbl_Employee] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_StudentUsing_tbl_Student]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_StudentUsing]'))
ALTER TABLE [dbo].[tbl_StudentUsing]  WITH CHECK ADD  CONSTRAINT [FK_tbl_StudentUsing_tbl_Student] FOREIGN KEY([StudentId])
REFERENCES [dbo].[tbl_Student] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_Score_tbl_Class]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_Score]'))
ALTER TABLE [dbo].[tbl_Score]  WITH CHECK ADD  CONSTRAINT [FK_tbl_Score_tbl_Class] FOREIGN KEY([ClassId])
REFERENCES [dbo].[tbl_Class] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_Score_tbl_Employ]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_Score]'))
ALTER TABLE [dbo].[tbl_Score]  WITH CHECK ADD  CONSTRAINT [FK_tbl_Score_tbl_Employ] FOREIGN KEY([EmployeeId])
REFERENCES [dbo].[tbl_Employee] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_Score_tbl_ExamType]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_Score]'))
ALTER TABLE [dbo].[tbl_Score]  WITH CHECK ADD  CONSTRAINT [FK_tbl_Score_tbl_ExamType] FOREIGN KEY([TypeId])
REFERENCES [dbo].[tbl_ExamType] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_Score_tbl_Student]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_Score]'))
ALTER TABLE [dbo].[tbl_Score]  WITH CHECK ADD  CONSTRAINT [FK_tbl_Score_tbl_Student] FOREIGN KEY([StudentId])
REFERENCES [dbo].[tbl_Student] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_Score_tbl_Subject]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_Score]'))
ALTER TABLE [dbo].[tbl_Score]  WITH CHECK ADD  CONSTRAINT [FK_tbl_Score_tbl_Subject] FOREIGN KEY([SubjecId])
REFERENCES [dbo].[tbl_Subject] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_StudentCompensation_tbl_Student]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_StudentCompensation]'))
ALTER TABLE [dbo].[tbl_StudentCompensation]  WITH CHECK ADD  CONSTRAINT [FK_StudentCompensation_tbl_Student] FOREIGN KEY([StudentId])
REFERENCES [dbo].[tbl_Student] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_Grade_tbl_GradeGroup]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_Grade]'))
ALTER TABLE [dbo].[tbl_Grade]  WITH CHECK ADD  CONSTRAINT [FK_tbl_Grade_tbl_GradeGroup] FOREIGN KEY([GroupId])
REFERENCES [dbo].[tbl_GradeGroup] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_Grade_tbl_GradePart]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_Grade]'))
ALTER TABLE [dbo].[tbl_Grade]  WITH CHECK ADD  CONSTRAINT [FK_tbl_Grade_tbl_GradePart] FOREIGN KEY([PartId])
REFERENCES [dbo].[tbl_GradePart] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_Grade_tbl_SchoolBasic]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_Grade]'))
ALTER TABLE [dbo].[tbl_Grade]  WITH CHECK ADD  CONSTRAINT [FK_tbl_Grade_tbl_SchoolBasic] FOREIGN KEY([SchoolId])
REFERENCES [dbo].[tbl_SchoolBasicInfo] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_TestInfo_tbl_Grade]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_TestInfo]'))
ALTER TABLE [dbo].[tbl_TestInfo]  WITH CHECK ADD  CONSTRAINT [FK_tbl_TestInfo_tbl_Grade] FOREIGN KEY([TestGradeId])
REFERENCES [dbo].[tbl_Grade] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_TestInfo_tbl_GradePart]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_TestInfo]'))
ALTER TABLE [dbo].[tbl_TestInfo]  WITH CHECK ADD  CONSTRAINT [FK_tbl_TestInfo_tbl_GradePart] FOREIGN KEY([SchoolDepartmentId])
REFERENCES [dbo].[tbl_GradePart] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_Subject_tbl_Grade]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_Subject]'))
ALTER TABLE [dbo].[tbl_Subject]  WITH CHECK ADD  CONSTRAINT [FK_tbl_Subject_tbl_Grade] FOREIGN KEY([GradeId])
REFERENCES [dbo].[tbl_Grade] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_EnrollClue_tbl_Grade]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_EnrollClue]'))
ALTER TABLE [dbo].[tbl_EnrollClue]  WITH CHECK ADD  CONSTRAINT [FK_tbl_EnrollClue_tbl_Grade] FOREIGN KEY([IntentionGradeId])
REFERENCES [dbo].[tbl_Grade] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_EnrollClue_tbl_User]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_EnrollClue]'))
ALTER TABLE [dbo].[tbl_EnrollClue]  WITH CHECK ADD  CONSTRAINT [FK_tbl_EnrollClue_tbl_User] FOREIGN KEY([EnrollPersonId])
REFERENCES [dbo].[tbl_User] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_Class_tbl_Grade]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_Class]'))
ALTER TABLE [dbo].[tbl_Class]  WITH CHECK ADD  CONSTRAINT [FK_tbl_Class_tbl_Grade] FOREIGN KEY([GradeId])
REFERENCES [dbo].[tbl_Grade] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_StudentRPDetail_tbl_StudentlRP]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_StudentRPDetail]'))
ALTER TABLE [dbo].[tbl_StudentRPDetail]  WITH CHECK ADD  CONSTRAINT [FK_tbl_StudentRPDetail_tbl_StudentlRP] FOREIGN KEY([RPId])
REFERENCES [dbo].[tbl_StudentlRP] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_Room_tbl_Hostel1]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_Room]'))
ALTER TABLE [dbo].[tbl_Room]  WITH CHECK ADD  CONSTRAINT [FK_tbl_Room_tbl_Hostel1] FOREIGN KEY([HostelId])
REFERENCES [dbo].[tbl_Hostel] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_Room_tbl_RoomState]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_Room]'))
ALTER TABLE [dbo].[tbl_Room]  WITH CHECK ADD  CONSTRAINT [FK_tbl_Room_tbl_RoomState] FOREIGN KEY([StateId])
REFERENCES [dbo].[tbl_RoomState] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_Room_tbl_RoomType]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_Room]'))
ALTER TABLE [dbo].[tbl_Room]  WITH CHECK ADD  CONSTRAINT [FK_tbl_Room_tbl_RoomType] FOREIGN KEY([TypeId])
REFERENCES [dbo].[tbl_RoomType] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_SchoolRPDetail_tbl_SchoolRP]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_SchoolRPDetail]'))
ALTER TABLE [dbo].[tbl_SchoolRPDetail]  WITH CHECK ADD  CONSTRAINT [FK_tbl_SchoolRPDetail_tbl_SchoolRP] FOREIGN KEY([RPId])
REFERENCES [dbo].[tbl_SchoolRP] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_EmployeeRPDetail_tbl_Employee]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_EmployeeRPDetail]'))
ALTER TABLE [dbo].[tbl_EmployeeRPDetail]  WITH CHECK ADD  CONSTRAINT [FK_tbl_EmployeeRPDetail_tbl_Employee] FOREIGN KEY([EmployeeId])
REFERENCES [dbo].[tbl_Employee] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_EmployeeRPDetail_tbl_EmployeeRP]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_EmployeeRPDetail]'))
ALTER TABLE [dbo].[tbl_EmployeeRPDetail]  WITH CHECK ADD  CONSTRAINT [FK_tbl_EmployeeRPDetail_tbl_EmployeeRP] FOREIGN KEY([RPId])
REFERENCES [dbo].[tbl_EmployeeRP] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_Section_tbl_SectionType]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_Section]'))
ALTER TABLE [dbo].[tbl_Section]  WITH CHECK ADD  CONSTRAINT [FK_tbl_Section_tbl_SectionType] FOREIGN KEY([SectionTypeId])
REFERENCES [dbo].[tbl_SectionType] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_Course_tbl_Class]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_Course]'))
ALTER TABLE [dbo].[tbl_Course]  WITH CHECK ADD  CONSTRAINT [FK_tbl_Course_tbl_Class] FOREIGN KEY([ClassId])
REFERENCES [dbo].[tbl_Class] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_Course_tbl_Employee]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_Course]'))
ALTER TABLE [dbo].[tbl_Course]  WITH CHECK ADD  CONSTRAINT [FK_tbl_Course_tbl_Employee] FOREIGN KEY([EmployeeId])
REFERENCES [dbo].[tbl_Employee] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_Course_tbl_Subject]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_Course]'))
ALTER TABLE [dbo].[tbl_Course]  WITH CHECK ADD  CONSTRAINT [FK_tbl_Course_tbl_Subject] FOREIGN KEY([SubjectId])
REFERENCES [dbo].[tbl_Subject] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_Course_tbl_TimeSpan]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_Course]'))
ALTER TABLE [dbo].[tbl_Course]  WITH CHECK ADD  CONSTRAINT [FK_tbl_Course_tbl_TimeSpan] FOREIGN KEY([TimeSpanId])
REFERENCES [dbo].[tbl_TimeSpan] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_BusEmployee_tbl_BusInfo]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_BusEmployee]'))
ALTER TABLE [dbo].[tbl_BusEmployee]  WITH CHECK ADD  CONSTRAINT [FK_tbl_BusEmployee_tbl_BusInfo] FOREIGN KEY([BusId])
REFERENCES [dbo].[tbl_BusInfo] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_BusEmployee_tbl_Employee]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_BusEmployee]'))
ALTER TABLE [dbo].[tbl_BusEmployee]  WITH CHECK ADD  CONSTRAINT [FK_tbl_BusEmployee_tbl_Employee] FOREIGN KEY([EmployeeIds])
REFERENCES [dbo].[tbl_Employee] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_BusEmployee_tbl_Employee1]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_BusEmployee]'))
ALTER TABLE [dbo].[tbl_BusEmployee]  WITH CHECK ADD  CONSTRAINT [FK_tbl_BusEmployee_tbl_Employee1] FOREIGN KEY([TeacherId])
REFERENCES [dbo].[tbl_Employee] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_BusEmployee_tbl_RecordType]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_BusEmployee]'))
ALTER TABLE [dbo].[tbl_BusEmployee]  WITH CHECK ADD  CONSTRAINT [FK_tbl_BusEmployee_tbl_RecordType] FOREIGN KEY([TypeId])
REFERENCES [dbo].[tbl_RecordType] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_CheckTeacherBed_tbl_Bed]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_CheckTeacherBed]'))
ALTER TABLE [dbo].[tbl_CheckTeacherBed]  WITH CHECK ADD  CONSTRAINT [FK_tbl_CheckTeacherBed_tbl_Bed] FOREIGN KEY([BedId])
REFERENCES [dbo].[tbl_Bed] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_CheckTeacherBed_tbl_Employee1]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_CheckTeacherBed]'))
ALTER TABLE [dbo].[tbl_CheckTeacherBed]  WITH CHECK ADD  CONSTRAINT [FK_tbl_CheckTeacherBed_tbl_Employee1] FOREIGN KEY([EmployeeId])
REFERENCES [dbo].[tbl_Employee] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_CheckTeacherBed_tbl_Room]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_CheckTeacherBed]'))
ALTER TABLE [dbo].[tbl_CheckTeacherBed]  WITH CHECK ADD  CONSTRAINT [FK_tbl_CheckTeacherBed_tbl_Room] FOREIGN KEY([RoomId])
REFERENCES [dbo].[tbl_Room] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_CheckWork_E mploy_tbl_CheckType]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_CheckWork_Employ]'))
ALTER TABLE [dbo].[tbl_CheckWork_Employ]  WITH CHECK ADD  CONSTRAINT [FK_tbl_CheckWork_E mploy_tbl_CheckType] FOREIGN KEY([TypeId])
REFERENCES [dbo].[tbl_CheckType] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_CheckWork_E mploy_tbl_Employ]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_CheckWork_Employ]'))
ALTER TABLE [dbo].[tbl_CheckWork_Employ]  WITH CHECK ADD  CONSTRAINT [FK_tbl_CheckWork_E mploy_tbl_Employ] FOREIGN KEY([EmployeeId])
REFERENCES [dbo].[tbl_Employee] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_CheckWork_Employ_tbl_Section]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_CheckWork_Employ]'))
ALTER TABLE [dbo].[tbl_CheckWork_Employ]  WITH CHECK ADD  CONSTRAINT [FK_tbl_CheckWork_Employ_tbl_Section] FOREIGN KEY([SectionId])
REFERENCES [dbo].[tbl_Section] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_Active_tbl_Employee_Confirm_Id]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_Active]'))
ALTER TABLE [dbo].[tbl_Active]  WITH CHECK ADD  CONSTRAINT [FK_tbl_Active_tbl_Employee_Confirm_Id] FOREIGN KEY([ConfirmEmployeeId])
REFERENCES [dbo].[tbl_Employee] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_Active_tbl_Employee_Id]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_Active]'))
ALTER TABLE [dbo].[tbl_Active]  WITH CHECK ADD  CONSTRAINT [FK_tbl_Active_tbl_Employee_Id] FOREIGN KEY([PostEmployeeId])
REFERENCES [dbo].[tbl_Employee] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_User_tbl_Employee]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_User]'))
ALTER TABLE [dbo].[tbl_User]  WITH CHECK ADD  CONSTRAINT [FK_tbl_User_tbl_Employee] FOREIGN KEY([EmployeeId])
REFERENCES [dbo].[tbl_Employee] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_User_tbl_UserState]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_User]'))
ALTER TABLE [dbo].[tbl_User]  WITH CHECK ADD  CONSTRAINT [FK_tbl_User_tbl_UserState] FOREIGN KEY([UserStateId])
REFERENCES [dbo].[tbl_UserState] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_User_tbl_UserType]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_User]'))
ALTER TABLE [dbo].[tbl_User]  WITH CHECK ADD  CONSTRAINT [FK_tbl_User_tbl_UserType] FOREIGN KEY([TypeId])
REFERENCES [dbo].[tbl_UserType] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_StudentLeave_tbl_Employee]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_StudentLeave]'))
ALTER TABLE [dbo].[tbl_StudentLeave]  WITH CHECK ADD  CONSTRAINT [FK_tbl_StudentLeave_tbl_Employee] FOREIGN KEY([ConfirmEmpId])
REFERENCES [dbo].[tbl_Employee] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_TeachClass_tbl_Employee]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_TeachClass]'))
ALTER TABLE [dbo].[tbl_TeachClass]  WITH CHECK ADD  CONSTRAINT [FK_tbl_TeachClass_tbl_Employee] FOREIGN KEY([EmployeeId])
REFERENCES [dbo].[tbl_Employee] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_TeachClass_tbl_Subject]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_TeachClass]'))
ALTER TABLE [dbo].[tbl_TeachClass]  WITH CHECK ADD  CONSTRAINT [FK_tbl_TeachClass_tbl_Subject] FOREIGN KEY([SubjectId])
REFERENCES [dbo].[tbl_Subject] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_Employ_tbl_EmployLevel]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_Employee]'))
ALTER TABLE [dbo].[tbl_Employee]  WITH CHECK ADD  CONSTRAINT [FK_tbl_Employ_tbl_EmployLevel] FOREIGN KEY([LevelId])
REFERENCES [dbo].[tbl_EmployeeLevel] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_Employ_tbl_EmployPosition]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_Employee]'))
ALTER TABLE [dbo].[tbl_Employee]  WITH CHECK ADD  CONSTRAINT [FK_tbl_Employ_tbl_EmployPosition] FOREIGN KEY([PositionId])
REFERENCES [dbo].[tbl_EmployeePosition] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_Employee_tbl_EmployeeState]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_Employee]'))
ALTER TABLE [dbo].[tbl_Employee]  WITH CHECK ADD  CONSTRAINT [FK_tbl_Employee_tbl_EmployeeState] FOREIGN KEY([StateId])
REFERENCES [dbo].[tbl_EmployeeState] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_Employee_tbl_SchoolBasicInfo]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_Employee]'))
ALTER TABLE [dbo].[tbl_Employee]  WITH CHECK ADD  CONSTRAINT [FK_tbl_Employee_tbl_SchoolBasicInfo] FOREIGN KEY([SchoolId])
REFERENCES [dbo].[tbl_SchoolBasicInfo] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_Employee_tbl_Section]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_Employee]'))
ALTER TABLE [dbo].[tbl_Employee]  WITH CHECK ADD  CONSTRAINT [FK_tbl_Employee_tbl_Section] FOREIGN KEY([SectionId])
REFERENCES [dbo].[tbl_Section] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_EmployPosition_tbl_Section]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_EmployeePosition]'))
ALTER TABLE [dbo].[tbl_EmployeePosition]  WITH CHECK ADD  CONSTRAINT [FK_tbl_EmployPosition_tbl_Section] FOREIGN KEY([SectionId])
REFERENCES [dbo].[tbl_Section] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_EmpPosPomedom_tbl_EmployeePosition]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_EmpPosPomedom]'))
ALTER TABLE [dbo].[tbl_EmpPosPomedom]  WITH CHECK ADD  CONSTRAINT [FK_EmpPosPomedom_tbl_EmployeePosition] FOREIGN KEY([EmployeePositionId])
REFERENCES [dbo].[tbl_EmployeePosition] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_BookDetail_tbl_BookType]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_BookDetail]'))
ALTER TABLE [dbo].[tbl_BookDetail]  WITH CHECK ADD  CONSTRAINT [FK_tbl_BookDetail_tbl_BookType] FOREIGN KEY([BookTypeId])
REFERENCES [dbo].[tbl_BookType] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_BookDetail_tbl_SchoolBasicInfo]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_BookDetail]'))
ALTER TABLE [dbo].[tbl_BookDetail]  WITH CHECK ADD  CONSTRAINT [FK_tbl_BookDetail_tbl_SchoolBasicInfo] FOREIGN KEY([SchoolId])
REFERENCES [dbo].[tbl_SchoolBasicInfo] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_Student_tbl_Class]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_Student]'))
ALTER TABLE [dbo].[tbl_Student]  WITH CHECK ADD  CONSTRAINT [FK_tbl_Student_tbl_Class] FOREIGN KEY([ClassId])
REFERENCES [dbo].[tbl_Class] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_Student_tbl_SchoolBasicInfo]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_Student]'))
ALTER TABLE [dbo].[tbl_Student]  WITH CHECK ADD  CONSTRAINT [FK_tbl_Student_tbl_SchoolBasicInfo] FOREIGN KEY([SchoolId])
REFERENCES [dbo].[tbl_SchoolBasicInfo] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_Student_tbl_StudentState]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_Student]'))
ALTER TABLE [dbo].[tbl_Student]  WITH CHECK ADD  CONSTRAINT [FK_tbl_Student_tbl_StudentState] FOREIGN KEY([StateId])
REFERENCES [dbo].[tbl_StudentState] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_Student_tbl_StudentType]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_Student]'))
ALTER TABLE [dbo].[tbl_Student]  WITH CHECK ADD  CONSTRAINT [FK_tbl_Student_tbl_StudentType] FOREIGN KEY([TypeId])
REFERENCES [dbo].[tbl_StudentType] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_GradePart_tbl_SchoolBasicInfo]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_GradePart]'))
ALTER TABLE [dbo].[tbl_GradePart]  WITH CHECK ADD  CONSTRAINT [FK_tbl_GradePart_tbl_SchoolBasicInfo] FOREIGN KEY([SchoolId])
REFERENCES [dbo].[tbl_SchoolBasicInfo] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_Hostel_tbl_HostelState]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_Hostel]'))
ALTER TABLE [dbo].[tbl_Hostel]  WITH CHECK ADD  CONSTRAINT [FK_tbl_Hostel_tbl_HostelState] FOREIGN KEY([StateId])
REFERENCES [dbo].[tbl_HostelState] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_Hostel_tbl_HostelType]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_Hostel]'))
ALTER TABLE [dbo].[tbl_Hostel]  WITH CHECK ADD  CONSTRAINT [FK_tbl_Hostel_tbl_HostelType] FOREIGN KEY([TypeName])
REFERENCES [dbo].[tbl_HostelType] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_Hostel_tbl_SchoolBasicInfo]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_Hostel]'))
ALTER TABLE [dbo].[tbl_Hostel]  WITH CHECK ADD  CONSTRAINT [FK_tbl_Hostel_tbl_SchoolBasicInfo] FOREIGN KEY([SchoolId])
REFERENCES [dbo].[tbl_SchoolBasicInfo] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_Order_tbl_SchoolBasicInfo]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_Order]'))
ALTER TABLE [dbo].[tbl_Order]  WITH CHECK ADD  CONSTRAINT [FK_tbl_Order_tbl_SchoolBasicInfo] FOREIGN KEY([SchoolId])
REFERENCES [dbo].[tbl_SchoolBasicInfo] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_TestSubject_tbl_Subject]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_TestSubject]'))
ALTER TABLE [dbo].[tbl_TestSubject]  WITH CHECK ADD  CONSTRAINT [FK_tbl_TestSubject_tbl_Subject] FOREIGN KEY([TestSubjectId])
REFERENCES [dbo].[tbl_Subject] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_TestSubject_tbl_TestClass]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_TestSubject]'))
ALTER TABLE [dbo].[tbl_TestSubject]  WITH CHECK ADD  CONSTRAINT [FK_tbl_TestSubject_tbl_TestClass] FOREIGN KEY([TestClassId])
REFERENCES [dbo].[tbl_TestClass] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_TestSubject_tbl_TestInfo]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_TestSubject]'))
ALTER TABLE [dbo].[tbl_TestSubject]  WITH CHECK ADD  CONSTRAINT [FK_tbl_TestSubject_tbl_TestInfo] FOREIGN KEY([TestInfoId])
REFERENCES [dbo].[tbl_TestInfo] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_TestClass_tbl_Class]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_TestClass]'))
ALTER TABLE [dbo].[tbl_TestClass]  WITH CHECK ADD  CONSTRAINT [FK_tbl_TestClass_tbl_Class] FOREIGN KEY([TestClassId])
REFERENCES [dbo].[tbl_Class] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_TestClass_tbl_TestInfo]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_TestClass]'))
ALTER TABLE [dbo].[tbl_TestClass]  WITH CHECK ADD  CONSTRAINT [FK_tbl_TestClass_tbl_TestInfo] FOREIGN KEY([TestInfoId])
REFERENCES [dbo].[tbl_TestInfo] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_OrderInfo_tbl_Order]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_OrderDetails]'))
ALTER TABLE [dbo].[tbl_OrderDetails]  WITH CHECK ADD  CONSTRAINT [FK_tbl_OrderInfo_tbl_Order] FOREIGN KEY([OrderId])
REFERENCES [dbo].[tbl_Order] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_Foods_tbl_FoodType]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_Foods]'))
ALTER TABLE [dbo].[tbl_Foods]  WITH CHECK ADD  CONSTRAINT [FK_tbl_Foods_tbl_FoodType] FOREIGN KEY([TypeId])
REFERENCES [dbo].[tbl_FoodType] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_Menu_tbl_Foods]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_Menu]'))
ALTER TABLE [dbo].[tbl_Menu]  WITH CHECK ADD  CONSTRAINT [FK_tbl_Menu_tbl_Foods] FOREIGN KEY([FoodId])
REFERENCES [dbo].[tbl_Foods] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_EmployeeRP_tbl_RPType]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_EmployeeRP]'))
ALTER TABLE [dbo].[tbl_EmployeeRP]  WITH CHECK ADD  CONSTRAINT [FK_tbl_EmployeeRP_tbl_RPType] FOREIGN KEY([TypeId])
REFERENCES [dbo].[tbl_RPType] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_SchoolRP_tbl_RPType]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_SchoolRP]'))
ALTER TABLE [dbo].[tbl_SchoolRP]  WITH CHECK ADD  CONSTRAINT [FK_tbl_SchoolRP_tbl_RPType] FOREIGN KEY([TypeId])
REFERENCES [dbo].[tbl_RPType] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_ClassLog_tbl_Class]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_ClassLog]'))
ALTER TABLE [dbo].[tbl_ClassLog]  WITH CHECK ADD  CONSTRAINT [FK_tbl_ClassLog_tbl_Class] FOREIGN KEY([ClassId])
REFERENCES [dbo].[tbl_Class] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_RecordClass_tbl_Class]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_RecordClass]'))
ALTER TABLE [dbo].[tbl_RecordClass]  WITH CHECK ADD  CONSTRAINT [FK_tbl_RecordClass_tbl_Class] FOREIGN KEY([ClassId])
REFERENCES [dbo].[tbl_Class] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_RecordClass_tbl_RecordType]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_RecordClass]'))
ALTER TABLE [dbo].[tbl_RecordClass]  WITH CHECK ADD  CONSTRAINT [FK_tbl_RecordClass_tbl_RecordType] FOREIGN KEY([TypeId])
REFERENCES [dbo].[tbl_RecordType] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_BorrowerDetail_tbl_BookDetail]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_BorrowerDetail]'))
ALTER TABLE [dbo].[tbl_BorrowerDetail]  WITH CHECK ADD  CONSTRAINT [FK_tbl_BorrowerDetail_tbl_BookDetail] FOREIGN KEY([BookId])
REFERENCES [dbo].[tbl_BookDetail] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_BorrowerDetail_tbl_BorrowInfo]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_BorrowerDetail]'))
ALTER TABLE [dbo].[tbl_BorrowerDetail]  WITH CHECK ADD  CONSTRAINT [FK_tbl_BorrowerDetail_tbl_BorrowInfo] FOREIGN KEY([BorrowerId])
REFERENCES [dbo].[tbl_BorrowInfo] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_RecordDormitory_tbl_RecordType]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_RecordDormitory]'))
ALTER TABLE [dbo].[tbl_RecordDormitory]  WITH CHECK ADD  CONSTRAINT [FK_tbl_RecordDormitory_tbl_RecordType] FOREIGN KEY([TypeId])
REFERENCES [dbo].[tbl_RecordType] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_RecordDormitory_tbl_Room]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_RecordDormitory]'))
ALTER TABLE [dbo].[tbl_RecordDormitory]  WITH CHECK ADD  CONSTRAINT [FK_tbl_RecordDormitory_tbl_Room] FOREIGN KEY([RoomId])
REFERENCES [dbo].[tbl_Room] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_Access_tbl_RecordType]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_Access]'))
ALTER TABLE [dbo].[tbl_Access]  WITH CHECK ADD  CONSTRAINT [FK_tbl_Access_tbl_RecordType] FOREIGN KEY([TypeId])
REFERENCES [dbo].[tbl_RecordType] ([Id])
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_tbl_TimeSpan_tbl_TimeSpanType]') AND parent_object_id = OBJECT_ID(N'[dbo].[tbl_TimeSpan]'))
ALTER TABLE [dbo].[tbl_TimeSpan]  WITH CHECK ADD  CONSTRAINT [FK_tbl_TimeSpan_tbl_TimeSpanType] FOREIGN KEY([TypeId])
REFERENCES [dbo].[tbl_TimeSpanType] ([Id])

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值