Thursday, August 25, 2011

La teoría de números sin sentido (TMN01)


La teoría de números sin sentido (TMN01)

Word Count:
1423

Resumen:
¿Qué es un número sin sentido?

Números sin sentido son columnas ID y el código que identifican de forma única un registro en una tabla de base de datos. Fueron hechos por los programadores de computadoras, y en la programación tradicional, se formó la primera ventana de entrada en la que fueron responsables de recordar que "D" significa doctor, y "402" es su mejor cliente. Ya que sería incorrecto discriminar contra una ventana de entrada sólo porque es una carta y no un número [de la era de la igualdad] voy a incluir m. ..


Palabras clave:
Visual DataFlex, DataFlex, Software Aplausos, Peter A Donovan


Cuerpo del artículo:
¿Qué es un número sin sentido?

Números sin sentido son columnas ID y el código que identifican de forma única un registro en una tabla de base de datos. Fueron hechos por los programadores de computadoras, y en la programación tradicional, se formó la primera ventana de entrada en la que fueron responsables de recordar que "D" significa doctor, y "402" es su mejor cliente. Ya que sería incorrecto discriminar contra una ventana de entrada sólo porque es una carta y no un número [de la era de la igualdad] voy a incluir combo carta sentido en esta teoría también.

El punto?

Los usuarios no deberían estar obligados a recordar "402" de General Electric de Massachusetts, y "791" para el general de división de turbinas eléctricas ", pero los programadores de hecho deben aún hacer uso de ellos como la base de las relaciones entre los registros de la tabla de base de datos. Pero no esperen que los usuarios introduzcan o recordarlas: los números verdaderamente sentido y los códigos pueden estar totalmente oculto para los usuarios y como un estudio, me referiré a RoloFlex por el software de aplausos como un buen ejemplo en el que se basa cada tabla en una única número sin sentido. [Referencia:: free RoloFlex]

¿Qué es un número significativo?

Un número significativo son aquellos registros de la base que se hace referencia comúnmente por el número como el PO # 4067, de pedidos de venta # 1, y el exceso de velocidad # 352-4635A. Estos números existen en el papel y son la principal forma de referirse a un registro de este tipo. Cuando usted va a buscar mi exceso de velocidad, que de hecho puede que se vea bajo mi nombre también, pero cuando se recibe un pago [suerte] quiere ser capaz de entrar en el número impreso 352-4635A y localizar rápidamente y aplicar el pago antes de que mi cheque no tiene fondos.

¿Puede un número significativo y sin sentido co-existir?

Sí. Numérico números sin sentido son la base de identificadores únicos de cada registro, y un número significativo pueden coexistir como [ambos] únicamente indexados [localizable] columnas de la tabla de datos.

Hay un espacio aquí, mientras que los programadores de mantener la cabeza.

Digamos que usted es un programador de bases de datos y saber que los números en lugar de una cadena que varía en longitud [arrojando el orden completo] debe ser la base del registro de base de datos [de la velocidad y con fines única relación], usted puede programar su único ( sentido) ID columna de infracciones, y también tienen un único (sentido) en la columna que es ascii [números mixtos y las cartas] que se utiliza para encontrarlo.

¿Por qué no hacer que la columna de clave un número de incremento automático de los propósitos con relación al lado de una columna editable humano formado por caracteres alfanuméricos? Las manos, por favor? ¿Cuántos programadores han escrito 200 líneas de código de auto-incremento "# 352-4635A"? El papel de la serie sin sentido es lograr auto-incrementa en una línea de código, siendo totalmente oculto para el usuario, y el fundamento de la relación con su tabla de base de datos principal. El papel de la cantidad de entradas exceso de velocidad es de encontrar un registro humano más fácilmente que 12342345345565.

Propuesta de diseño de la tabla:

-Multas-

Columna: Elemento: Tipo: Longitud: Índice: se refiere a:
Una identificación numérica 16.0 1 (única)
2 TicketNo Ascii 20 2 (único)
3 VIN_ID numérico 10,0 3 VIN.ID / No / VIN (campo ASCII)
4 SSN_ID numérico 10,0 4 SSN.ID / / No SSN (campo ASCII)

-VIN-

Columna: Elemento: Tipo: Longitud: Índice: se refiere a:
Una identificación numérica 10.0 1 (única)
2 VIN Ascii 20 2 (único)

-SSN-

Columna: Elemento: Tipo: Longitud: Índice: se refiere a:
Una identificación numérica 10.0 1 (única)
2 SSN Ascii 11 2 (único)

Esta estructura hace que el uso de números sin sentido y lado de los números significativos a lado, cada uno cumpliendo su trabajo.

Esperemos que existe una bofetada a su programador / la cabeza aquí, como el comercial V-8.

El papel de un número sin sentido:

Seamos realistas. Números sin sentido están aquí para quedarse. Todo el mundo tiene uno, pero los programadores todavía están atrapados en qué hacer con ellos. Ocultarlos! En un modelo de base de datos relacional, donde se relaciona el niño es padre por la ID, el valor automáticamente se desplegará al niño en un éxito de salvar, por lo que la pantalla de este número absolutamente innecesario. Debo señalar que muchas empresas una buena programación se basan en el "diseño inteligente" como el software de Auto-Mate de los EE.UU.. Por favor, visite este sitio para leer sobre la historia de "Introduce el número de la matriz de campo" .... Es una gran historia.

Vayamos un paso más allá y llamar a un byte de un byte. Si se trata de un número de matriz de campo o un número de parte, la preocupación por las necesidades que se pondrán en el diseño de un "campo clave" de búsqueda para determinar si es o no es significativa o sin sentido. En un número, ¿por qué no ambos? Para los programadores, aquí está mi argumento: ¿por qué no utilizar esta técnica de manera que si el número está mal introducido, o los cambios, sólo tiene que volver a introducir el número sin alterar la relación? La locura o la magnífica? Es tu opinión cuenta.

Tomemos un ejemplo en el 12,3 RoloFlex de Software Aplausos (de código abierto y freeware). Las tablas de bases de datos tienen un identificador único que es de 10 dígitos numéricos: Por favor, consulte el programa en ejecución y se verá que no son visibles. Además, he codificado los campos clave como "noenter", de modo que si se hace visible, no podría ser utilizado! Diez números de identificación de dígitos para todo? Sentido o la locura?

Las manos otra vez? Cada programador que ha tenido que incrementar el campo de un usuario ID de la llave 6-8 para dar cabida a 20 años de la entrada de datos por favor ponga de pie! Apuesto a que hay un buen número de entre nosotros. También vamos a notar de paso que las fechas en las computadoras se almacenan como 6 dígitos enteros, y en el mundo occidental estamos casi fuera de los números en la longitud de seis dígitos! ¿Por qué no ampliamos nuestras fechas para 8 o 10 dígitos? Supongo que tendremos que esperar hasta que "Y6K" para averiguarlo!

El diseño de números sin sentido en la acción:

Vamos a tomar un RDBMS [sistema de gestión de bases de datos relacionales] ejemplo concreto y mirar a los padres y el diseño de la tabla hijo. Mi primer punto debería ser obvio para la mayoría de los programadores, que un campo de ID de los padres se utiliza para identificar de forma exclusiva al padre, sino (que carece de sentido) no se muestra al usuario en absoluto. En RoloFlex, tenga en cuenta que las tablas de base de datos primaria de la tabla principal tiene una identificación única que cae en la mesa principal en un ahorro, la formación de la relación sin ser visto.

Tenga en cuenta (al inspeccionar el interior de la tabla de definición de las tablas RoloFlex) que la columna ID de la clave tiene un atributo noenter, lo que significa que el usuario no puede cambiar o escriba un nuevo valor para esa columna debe aparecer en la pantalla. Es auto-incrementa desde el sistema de archivos "sysfile" y carece totalmente de sentido hasta para el diseñador de bases de datos, aparte de ser un valor único. No hay sorpresas aquí, pero vamos a ver en una mesa de niño a ver la misma técnica:

Entonces, ¿cuál es la sorpresa aquí? En muchas ocasiones, he notado la falta de un único campo de clave única de registro secundario. Por ejemplo, el niño de la cabecera de la orden tendría una combinación de teclas de HeaderID y LineNumber. Si aplica la misma consideración a la mesa de CallHist, entonces no habría un combo de RolodexID y Call fecha como el primer índice. Lo que [el utilizado] esta técnica no es para formar la base de una tabla secundaria futuro CallHist. Desde el primer momento, un campo de ID existe un fuerte potencial para formar un uno-a-una relación de columna a un niño de CallHist que puedan existir en el futuro. El punto, entonces, es programar siempre una columna ID como un número único para cada sentido de tablas e índices en consecuencia. Entonces, el progreso en adelante a la especificación de todas las demás columnas de la tabla de base de datos.

Como bono adicional, usted verá que "recnum" o el número de registro no se define en cualquiera de los índices de hacer un movimiento de cualquier parte final de uno a otro fabricante de back-end de un trabajo relativamente fácil.

Whitepaper Resumen:

Creo que he definido la diferencia entre un número significativo y un número sin sentido y declaró que los números sin sentido no tienen cabida en la entrada de datos! Por otro lado, el argumento a favor de la colocación de un número sin sentido como la base de sus relaciones sobrepasa las razones que pueda tener para el diseño de un número significativo como la clave de la relación: Mi opinión es que una columna de cadena de caracteres alfanuméricos o no tiene lugar en el clave de la relación, y por último, que cada tabla debe tener un campo de identificación para la formación de la relación que le libera por completo de cambiar la columna de clave secundaria con la entrada de datos sin comprometer las relaciones.