Untitled
unknown
sqlserver
20 days ago
6.3 kB
1
Indexable
Never
---- DOMAIN 1: Liên quan tới các bảng chính để tổ chức được việc thi -- ---- Bảng exercise -- câu hỏi CREATE TABLE [dbo].[CMS_Question]( [qId] [uniqueidentifier] NOT NULL, [qCode] [int] NULL, [qContent] [nvarchar](max) NULL, [qGroupId] [uniqueidentifier] NULL, --- group là topic [qLevel] [int] NULL, [qSubGroup] [nvarchar](50) NULL, --- subgroup là các tag, danh sách group con [qName] [nvarchar](100) NULL, [qType] [int] NULL, [qStatus] [int] NULL, [qSolution] [nvarchar](max) NULL, [qHint] [nvarchar](max) NULL, CONSTRAINT [PK_CMS_Question] PRIMARY KEY CLUSTERED ( [qId] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Câu hỏi thuộc chủ đề nào' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CMS_Question', @level2type=N'COLUMN',@level2name=N'qGroupId' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'1:Dễ; 2:Trung bình;3:Khó' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CMS_Question', @level2type=N'COLUMN',@level2name=N'qLevel' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'chủ đề nhỏ trong chủ đề lớn' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CMS_Question', @level2type=N'COLUMN',@level2name=N'qSubGroup' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'1. ôn luyện; 2. Thi' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CMS_Question', @level2type=N'COLUMN',@level2name=N'qType' GO -------- Bảng exam -- tạo các ca thi (hoặc contest), tạo thông tin cơ bản của exam CREATE TABLE [dbo].[CMS_Exam]( [ExamId] [uniqueidentifier] NULL, [CreatedUser] [uniqueidentifier] NULL, [Created] [datetime] NULL, [StartTime] [datetime] NULL, [EndTime] [datetime] NULL, [ExamCode] [nvarchar](50) NULL, [Status] [int] NULL, [ExamTime] [int] NULL, [ExamType] [int] NULL, CONSTRAINT [PK_CMS_Exam] PRIMARY KEY CLUSTERED ( [ExamId] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO ---- Không cần bảng examtopic --- đưa nó thành thuộc tính của exam_details (thay thế cho exam_exercise): bảng chi tiết thông tin cấu trúc đề thi/contest CREATE TABLE [dbo].[CMS_ExamDetails]( [ExamId] [uniqueidentifier] NOT NULL, [AttributeId] [uniqueidentifier] NULL, [QuestionId] [uniqueidentifier] NULL, [Status] [smallint] NULL, [Code] [nvarchar](50) NULL, [Value] [int] NULL, --- có thể là giá trị của từng câu hỏi trong đề [OrderGroup] [smallint] NULL ---- đây chính là giá trị để phân biệt topic/câu -- đặt tên lại cho phù hợp cũng được CONSTRAINT [PK_CMS_ExamDetails] PRIMARY KEY CLUSTERED ( [ExamId] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'giá trị điểm' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CMS_ExamDetails', @level2type=N'COLUMN',@level2name=N'Value' GO --- Bảng ExamUser thiết lập thông tin của các người dùng sẽ tham gia vào ca thi/contest tương ứng -- những ông nào mới thấy ca thi tương ứng của họ CREATE TABLE [dbo].[CMS_ExamUser]( [ExamUserId] [uniqueidentifier] NOT NULL, [ExamId] [uniqueidentifier] NULL, [UserName] [nvarchar](50) NULL, -- thay bằng UserID cũng được hoặc để nguyên là username [Status] [int] NULL, [Desc] [nvarchar](200) NULL, CONSTRAINT [PK_CMS_ExamShiftUser] PRIMARY KEY CLUSTERED ( [ExamUserId] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO ---- Bảng ExamShift lưu trữ thông tin chi tiết của các ca thi tương ứng với đề thi ở trên (userid, examid, questionid, group...) CREATE TABLE [dbo].[CMS_ExamShift]( [ShiftId] [uniqueidentifier] NOT NULL, [ExamId] [uniqueidentifier] NULL, [QuestionId] [uniqueidentifier] NULL, [Alias] [nvarchar](50) NULL, [UserId] [uniqueidentifier] NULL, [Created] [datetime] NULL, CONSTRAINT [PK_CMS_ExamShift] PRIMARY KEY CLUSTERED ( [ShiftId] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO --- DOMAIN 2: Liên quan tới quá trình thi bảng submission, bảng log, ... CREATE TABLE [dbo].[CMS_Submission]( [SubmisionID] [uniqueidentifier] NOT NULL, [ExamID] [uniqueidentifier] NULL, [Name] [nvarchar](500) NULL, [Src] [nvarchar](500) NULL, [Size] [int] NULL, [Type] [varchar](50) NULL, [Created] [datetime] NULL, [username] [nvarchar](100) NULL, --- userId --- tùy lựa chọn [status] [int] NULL, [Code] [int] NULL, [ClientInfo] [nvarchar](500) NULL, [path] [nvarchar](100) NULL, [Pass] [int] NULL, [TestInfo] [nvarchar](500) NULL, [QuestionId] [int] NULL, CONSTRAINT [PK__CMS_File__6F0F989F248554D5] PRIMARY KEY CLUSTERED ( [SubmisionID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO --- Bảng liên quan tới ghi lại log của người dùng trong quá trình thi CREATE TABLE [dbo].[CMS_ExamLog]( [pId] [int] IDENTITY(1,1) NOT NULL, [UserName] [nvarchar](50) NULL, [name] [nvarchar](50) NULL, [qId] [int] NULL, [status] [int] NULL, [created] [datetime] NULL, [clientInfo] [nvarchar](500) NULL, [processlog] [nvarchar](1000) NULL, CONSTRAINT [PK_CMS_Practice] PRIMARY KEY CLUSTERED ( [pId] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO
Leave a Comment