ASP.NET MVC4+EasyUI+EntityFrameWork5权限管理系统——数据库的设计(一)
菜单和模块是在同一个表中,采用的是树形结构,模块菜单表结构如下代码:
1 USE [Permission] 2 GO 3 4 /****** Object: Table [dbo].[Permission_Modules] Script Date: 11/21/2013 17:06:55 ******/ 5 SET ANSI_NULLS ON 6 GO 7 8 SET QUOTED_IDENTIFIER ON 9 GO 10 11 SET ANSI_PADDING ON 12 GO 13 14 CREATE TABLE [dbo].[Permission_Modules]( 15 [ID] [int] IDENTITY(1,1) NOT NULL, 16 [Name] [nvarchar](20) NOT NULL, 17 [ParentID] [int] NOT NULL, 18 [Icon] [varchar](20) NOT NULL, 19 [Url] [nvarchar](500) NULL, 20 [Sort] [int] NOT NULL, 21 [IsDisplay] [bit] NOT NULL, 22 [IsDelete] [bit] NOT NULL, 23 [Authority] [int] NOT NULL, 24 [IsMenu] [bit] NOT NULL, 25 [AddUserID] [int] NOT NULL, 26 [UpdateUserID] [int] NULL, 27 [AddDate] [datetime] NOT NULL, 28 [LastUpdate] [datetime] NULL, 29 [Description] [nvarchar](500) NULL, 30 CONSTRAINT [PK_Module] PRIMARY KEY CLUSTERED 31 ( 32 [ID] ASC 33 )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] 34 ) ON [PRIMARY] 35 36 GO 37 38 SET ANSI_PADDING OFF 39 GO 40 41 EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'菜单名称/模块名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Permission_Modules', @level2type=N'COLUMN',@level2name=N'Name' 42 GO 43 44 EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'排序字段,数值越大,排序越靠前' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Permission_Modules', @level2type=N'COLUMN',@level2name=N'Sort' 45 GO 46 47 EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否显示' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Permission_Modules', @level2type=N'COLUMN',@level2name=N'IsDisplay' 48 GO 49 50 EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否删除' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Permission_Modules', @level2type=N'COLUMN',@level2name=N'IsDelete' 51 GO 52 53 EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'权重' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Permission_Modules', @level2type=N'COLUMN',@level2name=N'Authority' 54 GO 55 56 EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'True菜单,False模块' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Permission_Modules', @level2type=N'COLUMN',@level2name=N'IsMenu' 57 GO 58 59 ALTER TABLE [dbo].[Permission_Modules] WITH CHECK ADD CONSTRAINT [FK_Module_Permission_User] FOREIGN KEY([AddUserID]) 60 REFERENCES [dbo].[Permission_User] ([ID]) 61 GO 62 63 ALTER TABLE [dbo].[Permission_Modules] CHECK CONSTRAINT [FK_Module_Permission_User] 64 GO 65 66 ALTER TABLE [dbo].[Permission_Modules] WITH CHECK ADD CONSTRAINT [FK_Module_Permission_User1] FOREIGN KEY([UpdateUserID]) 67 REFERENCES [dbo].[Permission_User] ([ID]) 68 GO 69 70 ALTER TABLE [dbo].[Permission_Modules] CHECK CONSTRAINT [FK_Module_Permission_User1] 71 GO