¿Puedo crear una clave compuesta con un carácter adicional?

Haggishunt56:

Estoy construyendo una nueva base de datos usando MySQL para almacenar las lecciones aprendidas a través de una variedad de proyectos. Cuando hablamos de esto en la oficina, nos referimos a clases por el número de proyectos y la lección número, es decir, PR12-81, donde PR12 se refiere al proyecto y 81 se refiere a la clase específica dentro de ese proyecto. Quiero que la clave principal en mi DB tener un guión en él también.

Al definir una clave compuesta en SQL, lo puedo hacer referencia al proyecto y enseñanzas, pero sin el guión, es decir, PR1281. También he considerado la creación de una columna independiente del tipo de datos CHAR (1), poner un guión en cada fila y delcaring que el PK es de 3 columnas.

¿Hay otra manera de que pueda especificar la clave principal para ser formateado en la forma preferida?

Mike Robinson:

Deje que la clave principal de la tabla de ser un número de incremento automático sin sentido sin "significa" que sea. Entonces, dentro de esa tabla, definir dos columnas: project_numbery lesson_number. Si los dos necesidad de ser único, definir un UNIQUEíndice que abarca los dos campos.

No (!) Crear claves de bases de datos, que se incrustan la información en ellos, incluso si la empresa lo hace. Si las necesidades de negocio para referirse a cadenas como PR12, que así sea ... crear una columna para almacenar el valor apropiado, o utilizar una tabla de uno a muchos. Usar índices según sea necesario para hacer cumplir la unicidad.

Tenga en cuenta que ahora que he descrito (!) Cuatro columnas:

  1. El incremento automático basado tecla "real" primario, que no contiene ninguna información.
  2. La project_numbercolumna, probablemente una clave externa a una projectstabla.
  3. Lo mismo ocurre con el lesson_number. (Con un UNIQUEcompuesto de índice si es necesario.)
  4. La columna (o tabla) que contiene "la cadena que los usos comerciales".

Con el tiempo, las prácticas comerciales hacen el cambio. Y algún día puede ser que apenas .. no, que va ... ... encontrará con una "cadena de negocio usado" que fue incorrecta asignado por los seres humanos que hacen este tipo de cosas! El diseño de su base de datos necesita para manejar con gracia esto. El esquema que he descrito es el denominado tercera forma normal. Hacer una búsqueda en Google- "formas normales" si no lo ha hecho.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=279961&siteId=1
Recomendado
Clasificación