Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

duda de como estoy haciendo las tablas

Estas en el tema de duda de como estoy haciendo las tablas en el foro de SQL Server en Foros del Web. hola amigos me podrian decir por favor si esta bien la forma que he creado esta tabla segun el diagrama que tambien les dejo en ...
  #1 (permalink)  
Antiguo 13/12/2011, 10:14
 
Fecha de Ingreso: diciembre-2011
Mensajes: 32
Antigüedad: 12 años, 4 meses
Puntos: 0
duda de como estoy haciendo las tablas

hola amigos me podrian decir por favor si esta bien la forma que he creado esta tabla segun el diagrama que tambien les dejo en este post

TABLA


DIAGRAMA


mi duda es nada mas con la sentencia que estoy utilizando numeric() segun el diagrama un campo debe ser de 38 caracteres y yo he hecho lo siguiente usando la sentencia numeric lo he colocado de la siguiente manera numeric(38,0) entiendo yo que me refiero a que el valor de ese campo estara de 0 a 38 caracteres

estoy en lo correcto de la manera que se los explico ?????

gracias por la ayuda
  #2 (permalink)  
Antiguo 13/12/2011, 13:36
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: duda de como estoy haciendo las tablas

Hola Halconds:

Tienes que recordar que NUMERIC es un tipo de datos flotante, es decir puede almacenar números decimales... hablar de caracteres cuando se está refiriendo a números puede traer problemas. por ejemplo 11.11 es un número de 4 cifras y 5 caracteres (tomando en cuenta el punto decimal).

Al especificar una escala de 0 (segundo parámetro de numeric) estás especificando que los campos NO VAN A ALMACENAR NÚMEROS DECIMALES). puedes probar este ejemplo:

Código SQL:
Ver original
  1. DECLARE @Tabla TABLE (campo1 NUMERIC(6, 2), campo2 NUMERIC (6, 0))
  2. INSERT INTO @Tabla VALUES (11, 11)
  3. -->Correcto, ninguna cifra contiene decimales
  4. INSERT INTO @Tabla (campo1) VALUES (111111)
  5. -->Error, tiene sólo 4 cifras para la parte entera y 2 para decimales
  6. INSERT INTO @Tabla (campo2) VALUES (111111)
  7. -->Correcto, pues no hay decimales
  8. INSERT INTO @Tabla (campo1) VALUES (1111.11)
  9. -->Correcto, tiene 4 enteros y 2 decimales
  10. INSERT INTO @Tabla (campo2) VALUES (1111.11)
  11. -->No marca errro, pero no almacena la parte decimal
  12. INSERT INTO @Tabla (campo1) VALUES (1111.2222)
  13. -->En la tabla se almacena sólo 2 decimales
  14. SELECT * FROM @Tabla

Debes tener cuidado entonces al momento de diseñar tus tablas de poner el tipo de datos correcto.

Saludos
Leo.
  #3 (permalink)  
Antiguo 13/12/2011, 13:46
 
Fecha de Ingreso: diciembre-2011
Mensajes: 32
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: duda de como estoy haciendo las tablas

gracias leonardo_josue por tu ayuda pero todo lo estoy haciendo de forma grafica y no por codigo me puedes ayudar por favor o decir si esta bien diseñada mi tabla segun el diagrama que puse de los campos

libras por favor me puedes ayudar y decirme si esta bien la tabla que diseñe porque asi estan las demas que cree


gracias
  #4 (permalink)  
Antiguo 13/12/2011, 17:08
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: duda de como estoy haciendo las tablas

para empezar como te dijo Leonardo porque usas numeric??? podrias en vez de usar numeric usar int, que por lo veo nada mas manejas puros numeros enteros, address un varchar(max)??? si con una direccion varchar(200) es mas que suficiente jejejeje.

Saludos!!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 13/12/2011, 18:44
 
Fecha de Ingreso: diciembre-2011
Mensajes: 32
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: duda de como estoy haciendo las tablas

gracias por seguirme contestando y ayudandome LIBRAS pues contestandote porque la hecho de esta forma te explico y por favor te agradecere me corrijas si estoy en un error
he leido que el maximo de caracteres que soporta la sentencia INT es de 4 por eso no lo he usado dime tu si me equivoco
y el varchar(max) ahi si tenes razon me equivoque en ese momento que cree ese campo y si no me dices ni cuenta me habia dado que puse esa sentencia y gracias por haberme encontrado ese error

por favor LIBRAS te agradecere mucho me digas si me equivoco con la sentencia INT
  #6 (permalink)  
Antiguo 13/12/2011, 21:20
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: duda de como estoy haciendo las tablas

Yo le recomendaria que leyera TIPOS DE DATOS en la AYUDA EN LINEA, creo que el tema se esta extendiendo demasiado.
__________________
MCTS Isaias Islas
  #7 (permalink)  
Antiguo 13/12/2011, 21:31
 
Fecha de Ingreso: diciembre-2011
Mensajes: 32
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: duda de como estoy haciendo las tablas

me puede decir por favor iislas si aqui en este foro existe algun limite de preguntas que se realicen en los post pregunto para respetar si existe reglas para este foro



gracias
  #8 (permalink)  
Antiguo 14/12/2011, 08:02
 
Fecha de Ingreso: diciembre-2011
Mensajes: 32
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: duda de como estoy haciendo las tablas

por favor ya para finalizar este post les ruego alguien que me diga si lo que he leido de la sentencia INT en otras paginas es incorrecto, lo que he encontrado y leido que esta sentencia INT solo acepta datos numericos valores enteros y no con decimales pero que esta no exceda a 4 caracteres osea cin esta sentencia no puedo crear un campo de 38 caracteres con esta sentencia por tal razon no la he estado utilizando

nuevamente les repito y les suplico su ayuda y les pido me perdonen tanta mi ignorancia yo me inicio en esto de sql server a puras penas tengo menos de una semana de haberlo comenzado a usar y no soy experto como todos los que tienen años de conocer esta pagina tan excelente


gracias nuevamente
  #9 (permalink)  
Antiguo 14/12/2011, 08:41
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: duda de como estoy haciendo las tablas

compañer@ halconds, creo que seria conveniente que revisaras esta pagina para que entendieras los tipos de datos de sql server:

http://www.teratrax.com/sql_guide/da...ata_types.html

ahi viene una tablita donde se explica el tamaño maximo que soporta un tipo de dato asi como su equivalente en bytes

Saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #10 (permalink)  
Antiguo 14/12/2011, 11:14
 
Fecha de Ingreso: diciembre-2011
Mensajes: 32
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: duda de como estoy haciendo las tablas

gracias por la informacion esta bastante excelente les agradezco lo unico que no entiendo de esa teoria que en algunas sentencias sale esto

-231 a 231-1 .

eso sale en varias sentencias una por ejemplo es
Int. Una columna o variable de tipo int puede almacenar el rango de valores -231 a 231-1 .

entonces que significa esto -231 a 231-1 .

ustedes me sugieren que use la sentencia INT en campos de numeros no importando que este campo es de 38 caracteres o mas y para texto poder usar varchar ( )


nuevamente gracias por sus respuestas

Última edición por HALCONDS; 14/12/2011 a las 11:42
  #11 (permalink)  
Antiguo 14/12/2011, 11:56
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: duda de como estoy haciendo las tablas

eso quiere decir que acepta del -231 al 231-1 o sea al 230 un numero de 38 caracteres???? estas seguro que vas a manejar?? si vas a manejar id's este numero 2,147,483,647 es mas que suficiente no crees??? tienes algun ejemplo del numero maximo que vas a guardar en tus tablas?? varchar() es un tipo para guardar variables tipo cadena que van desde 1 caracter hasta 2^31 bytes....

Saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #12 (permalink)  
Antiguo 14/12/2011, 13:27
 
Fecha de Ingreso: diciembre-2011
Mensajes: 32
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: duda de como estoy haciendo las tablas

no libras es un campo en el cual le voy a poder introducir 38 caracteres por ejemplo en el diagrama que he colocado en este mismo post puedes observar los campos
ID,
PEOPLE_ID,
ADDRESSTYPE_ID,
CITY_ID

segun este diagrama que me han dado son 38 caracteres que se deberan introducir en este campo y respetando lo que me dicen en el diagrama yo por tal razon estaba usando la sentencia NUMERIC porque entre las sentencias no encuentro una que se llame ni VARCHAR2 ni tampoco NUMBER siempre guiandome en base a la tabla del diagrama que me han dado lo cual el diagrama completo esta en otro post siempre aqui mismo en este foro

lo que quisiera saber si a la sentencia INT me sirve para esos campos que te menciono y si puedo crearle(configurar) que exactamente ese valor de 38 caracteres me deje introducir osea si escribo 39 caracteres ya no me permita escribir mas
  #13 (permalink)  
Antiguo 14/12/2011, 13:46
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: duda de como estoy haciendo las tablas

Cita:
Iniciado por HALCONDS Ver Mensaje
me puede decir por favor iislas si aqui en este foro existe algun limite de preguntas que se realicen en los post pregunto para respetar si existe reglas para este foro



gracias

De ninguna manera, usted pude hacer todas las preguntas que desee, mientras no llegue un moderador y cierre su posta.

A men de todos aquellos que sigan metiendole leña al fuego.
__________________
MCTS Isaias Islas
  #14 (permalink)  
Antiguo 14/12/2011, 18:27
 
Fecha de Ingreso: diciembre-2011
Mensajes: 32
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: duda de como estoy haciendo las tablas

no Libras si tu observas la tabla ADDRESSES que esta aqui mismo en este post podras observar los campos
ID,
PEOPLE_ID,
ADDRESSTYPE_ID,
CITY_ID
RELATIONSHIP_ID

me piden utilizar la sentencia number cosa que no he encontrado esa entre las sentencias por la cual estoy haciendo uso de la sentencia numeric para tratar de respetar lo mas que se pueda la forma de cada campo al igual que su longitud en caracteres por eso he preguntado si puedo usar la sentencia INT y como la puedo configurar para que al momento de crear un formulario con dicha tabla esta no me quede ni muy grandote ni muy pequeña en la parte donde se introduciran los datos

Etiquetas: haciendo, tabla, tablas, campos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:27.