¿Cómo puedo crear un código alfabético único basado en reglas específicas?

Necesito poder proporcionarle a un usuario el siguiente nombre de file disponible para su proyecto basado en las siguientes reglas.

  • 3 caracteres para representar el nombre o la location de una empresa

  • 1 carácter que denota un número de model (es decir, 2 para la serie 3200 y luego 3 para la serie 3300)

  • 1 carácter para el tipo de validation que es solo un número 2 o un 3

  • 1 personaje para contar de su producción o desarrollo

  • 1 personaje para el número de versión. (se sugirió que sea 0 – z) no sé cómo hacer eso con un personaje.

Si alguien tiene una mejor idea para el nombre de file que denota todas esas cosas en solo 7 caracteres, házmelo saber. Los files se cargan en un dispositivo electrónico y no aceptará nombres de files de más de 7 caracteres.

Pensé que crearía una interfaz para que alguien pudiera hacer clic en la location y hacer clic en una checkbox para prod o dev, y así escupiría un nombre de file viable para que el usuario ingrese cuando la aplicación solicite al usuario un file nombre. Puede haber una gran cantidad de estos files, por lo que estoy enfrentando un gran desafío para asegurarme de que se mantengan en order, podemos identificar los detalles de un file en function de su nombre y asegurarnos de que sean únicos.

¿Algunas ideas?

Algo como esto debería ser lo suficientemente bueno para comenzar las testings. No funcionará en MySQL como está escrito, pero puede replace las restricciones de verificación con restricciones de key externa.

create table filenames ( company_name_or_location char(3) not null, model char(1) not null, validation_type char(1) not null check (validation_type in ('2', '3')), prod_or_dev char(1) not null check (prod_or_dev in ('p', 'd')), version char(1) not null, primary key (company_name_or_location, model, validation_type, prod_or_dev, version) ); 

Notas

Todas las columnas permiten cualquier carácter alfanumérico, incluidos (probablemente) caracteres Unicode. Eso podría no ser lo que quieres. La mejor manera de eliminar caracteres Unicode es probablemente mediante el uso de una intercalación que no incluya Unicode. Probablemente desee hacer eso para la tabla, no para toda la database.

Si usa una key sustituta, aún necesita todas las demás restricciones que escribí para esa tabla, incluida una restricción ÚNICA en las columnas {nombre_compañía_o_locación, model, tipo_de_validation, prod_o_dev, versión}. (Necesita todas esas restricciones, o restricciones equivalentes que dan count de Unicode, para saber si el model debe permitir caracteres numéricos o alfanuméricos, etc.)

    Intereting Posts