USE [Elyse_DB]
GO
/****** Object:  Table [people].[people_list_names]    Script Date: Sat 05-09-2026 7:01:54 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [people].[people_list_names](
	[people_list_id] [bigint] IDENTITY(1,1) NOT NULL,
	[mnem] [nvarchar](10) NULL,
	[name] [nvarchar](50) NOT NULL,
	[description] [nvarchar](max) NULL,
	[list_position] [int] NULL,
	[created] [datetime2](7) NOT NULL,
	[created_by] [nvarchar](255) NOT NULL,
 CONSTRAINT [PK_people_list_names] PRIMARY KEY CLUSTERED 
(
	[people_list_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
SET ANSI_PADDING ON
GO
/****** Object:  Index [UN_people_list_name_must_be_unique]    Script Date: Sat 05-09-2026 7:01:55 AM ******/
ALTER TABLE [people].[people_list_names] ADD  CONSTRAINT [UN_people_list_name_must_be_unique] UNIQUE NONCLUSTERED 
(
	[name] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
GO
ALTER TABLE [people].[people_list_names] ADD  CONSTRAINT [DF_people_list_names_created]  DEFAULT (sysdatetime()) FOR [created]
GO
ALTER TABLE [people].[people_list_names] ADD  CONSTRAINT [DF_people_list_names_created_by]  DEFAULT (sysdatetime()) FOR [created_by]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'This is a short mnemonic for the attribute.  Mnemonics are useful for saving space when displaying tables. ' , @level0type=N'SCHEMA',@level0name=N'people', @level1type=N'TABLE',@level1name=N'people_list_names', @level2type=N'COLUMN',@level2name=N'mnem'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'This is the name of the attribute, which is that which the application will most likely present to the user. ' , @level0type=N'SCHEMA',@level0name=N'people', @level1type=N'TABLE',@level1name=N'people_list_names', @level2type=N'COLUMN',@level2name=N'name'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Description.  Allows the user to enter a long narrative if necessary. ' , @level0type=N'SCHEMA',@level0name=N'people', @level1type=N'TABLE',@level1name=N'people_list_names', @level2type=N'COLUMN',@level2name=N'description'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'List position is an integer which allows a list of options in a table to be set in any order.  The value is unconstrained and must be set at the application layer.' , @level0type=N'SCHEMA',@level0name=N'people', @level1type=N'TABLE',@level1name=N'people_list_names', @level2type=N'COLUMN',@level2name=N'list_position'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Defines the names of lists of people.  For example, a list of names of individuals who comprise a list of reviewers.  (The function_list_names is the corresponding table for lists of duty functions, e.g. organisational roles.) 

COPYRIGHT NOTICE
This database schema and stored procedures are protected by copyright.
Copyright.  Silkwood Software Pty. Ltd. 2023
' , @level0type=N'SCHEMA',@level0name=N'people', @level1type=N'TABLE',@level1name=N'people_list_names'
GO
