Tengo una tabla de SQL server en el que yo inserte cuenta sabio de datos. Mismo número de cuenta no debería repetirse en el mismo día, pero se puede repetir en caso de que los cambios de fecha.

El cliente recupera los datos según la fecha y el número de cuenta.

En breve la fecha + número de cuenta es única y no debe ser duplicado.

Ya que ambos son diferentes campos debo concatenar ambas y crear un tercer campo como clave principal o hay opción de tener una clave principal en la combinación de valor.

Por favor la guía de la mejor manera.

InformationsquelleAutor Danish_k12 | 2016-06-30

3 Comentarios

  1. 1

    No en todos. Sólo tiene que utilizar una restricción de clave principal:

    alter table t add constraint pk_accountnumber_date primary key (accountnumber, date)

    También se puede incluir esta en la create table declaración.

    Yo podría sugerir, sin embargo, que el uso de un incremento automático/identidad/serial primary key — un número único para cada fila. Luego de declarar el número de cuenta fecha de la combinación de una clave única. Yo prefiero sintético como claves primarias por varias razones:

    • Hacen que sea fácil para hacer referencia a una fila de relaciones de clave externa.
    • Muestran la inserción de la orden en la mesa, así que usted puede ver fácilmente las últimas filas insertadas.
    • Que hacen que sea sencillo identificar una sola fila para las actualizaciones y eliminaciones.
    • Que ocultar el «id» de la información de la fila de la referencia de las tablas y de las aplicaciones.
  2. 1

    La alternativa es tener un PK que es un autoincrementing número y, a continuación, ponga un único índice único en la clave natural. De esta manera singularidad se conserva, pero tiene el más rápido posible unirse a cualquier niño tablas. Si la tabla no tiene hijo tablas, el compuesto PK es una buena idea. Si hay muchos niños de las tablas, este puede ser una mejor opción.

Dejar respuesta

Please enter your comment!
Please enter your name here