I'm developing an application, where I have 3 tables that have the same attributes, but since they had attributes in those tables that were mandatory for some, not for others, I decided to separate them into 3 different tables. However, I'm having some trouble developing some functions that are common to all 3 tables.
What would be the best way to turn these 3 tables into one? Remembering that I have different data validation models for each table, then I do not think I could simply go away with the other two.
I'm using asp.net mvc 4 and entity framework with database first.
Table Usuario
[IdUsuario] int IDENTITY(1,1) NOT NULL,
[NomeCompleto] varchar(100) NOT NULL,
[Email] varchar(100) NOT NULL,
[Senha] varchar(45) NOT NULL,
[Sexo] char(1) NULL,
[Telefone] varchar(45) NULL,
[About] varchar(500) NULL,
[Nickname] varchar(45) NOT NULL,
[Email2] varchar(100) NOT NULL,
[Endereco] varchar(100) NULL,
[Bairro] varchar(45) NULL,
[Estado] varchar(45) NULL,
[Cep] varchar(11) NULL,
[Celular] varchar(45) NULL,
[FotoPerfil] varchar(500) NULL,
[StatusPerfil] varchar(100) NULL,
[NBans] int NULL,
[Banido] bit NULL,
[DtCadastro] datetime NOT NULL,
[DtNasc] datetime NOT NULL
Table Banca
[IdBanca] int IDENTITY(1,1) NOT NULL,
[NomeCompleto] varchar(100) NOT NULL,
[Cpf] char(11) NOT NULL,
[Email] varchar(100) NOT NULL,
[Rg] char(8) NOT NULL,
[Senha] varchar(45) NOT NULL,
[Sexo] varchar(45) NOT NULL,
[DtNasc] datetime NULL,
[Telefone] varchar(45) NULL,
[About] varchar(500) NULL,
[Nickname] varchar(45) NOT NULL,
[Email2] varchar(100) NULL,
[Endereco] varchar(100) NOT NULL,
[Bairro] varchar(45) NOT NULL,
[Estado] varchar(45) NOT NULL,
[Cep] varchar(45) NOT NULL,
[Celular] varchar(45) NOT NULL,
[Foto] varchar(500) NULL,
[FormAcademica] varchar(45) NOT NULL,
[DtCadastro] datetime NOT NULL
Table Desginer
[IdDesigner] int IDENTITY(1,1) NOT NULL,
[NomeCompleto] varchar(100) NOT NULL,
[Cpf] char(11) NOT NULL,
[Email] varchar(100) NOT NULL,
[Rg] char(8) NOT NULL,
[Senha] varchar(45) NOT NULL,
[Sexo] varchar(45) NOT NULL,
[DtNasc] datetime NULL,
[Telefone] varchar(45) NULL,
[About] varchar(500) NULL,
[Nickname] varchar(45) NULL,
[Email2] varchar(100) NULL,
[Endereco] varchar(100) NOT NULL,
[Bairro] varchar(45) NOT NULL,
[Estado] varchar(45) NOT NULL,
[Cep] varchar(45) NOT NULL,
[Celular] varchar(45) NULL,
[Foto] varchar(500) NULL,
[DtCadastro] datetime NULL