?Quieres incrementar esta duda? Actualiza la duda con el fin de que se pueda contestar con datos y citas al editar esta publicacion.
Cerrada hace 3 anos de vida .
Estoy aprendiendo referente a SQL y no ha transpirado me ha surgido la cuestion, en indagacion sobre tener creados de modo correcta los clases de prueba.
Me gustaria conocer que clase sobre referencia recomiendan Con El Fin De almacenar:
- Nombres
- Direcciones
- Telefonos
- Correos Electronicos
- Fechas
- Imagenes
- Numeros enteros
- Numeros con decimal
En caso de que poseen cualquier producto que hable de lo cual, tambien estaria agradecido.
cinco respuestas 5
Segun mi experiencia asi como limitandome al relacion que diste serian sobre la siguiente maneras:
- Nombres -> Varchar(longitud)
- Direcciones -> Varchar(largura)
- Correos -> Varchar(largura)
- Fechas -> Date o Datetime, en funcii?n lo que requieras y no ha transpirado la lectura sobre SQL que estes usando.
- Imagenes ukraine date -> Varchar(longitud)
- Numeros enteros -> Int o BigInt en funcii?n el margen del numero a ingresar.
- Numeros con decimal -> Decimal
Podria acontecer util tambien el prototipo BIT que funciona igual que un true/false , si bien en la base se almacena como 0 y no ha transpirado 1 .
Los clases sobre datos que especifique estan pensados Con El Fin De SQL 2008, creo que anadieron mas arquetipo de datos de versiones posteriores sin embargo ignoro cuales son.
Te dejo el cronica clases de datos (Transact-SQL) (en castellano) con el fin de que te interiorices mas
Creo que tu pregunta seria por el aspecto sobre la BD mas no por el jerga, por ende seria lo recomendado asi:
Nombres nvarchar (cant)
Direcciones nvarchar (cant)
Telefonos nvarchar (cant)
Correos Electronicos nvarchar (cant)
Imagenes nvarchar (En Caso De Que le pasas la URL)
Imagenes binary(Si le pasas la URL)
Numeros enteros int(cant)
Numeros con decimal decimal()
Espero que te usar !, me cunetas.
En SQL en general, para las nombres, direcciones, telefonos, correos electronicos yo usaria String o VARCHAR. Omitiendo lo indudable igual que en nombres desplazandolo hacia el pelo direcciones, el caso sobre los telefonos todo el tiempo hay personas que disenan sus bases sobre datos con NUMERIC o INT sin embargo siempre hay el contratiempo con las telefonos con ceros al inicio e inclusive con numeros sobre identificacion (DNI o cedula). De el caso de los emails o correos electronicos te recomiendo VARCHAR sobre igual manera que con los nombres o direcciones, controlando el registro sobre que sean separado emails, desde tu uso o plan, y no ha transpirado nunca desde tu BD, es una faena menor Con El Fin De la BD asi como la aplicacion o programa la puede dominar desde que se registra en el formulario.
De el caso de las fechas a menos que necesites enteramente la fecha con hora usada DATETIME sin embargo si unico es indispensable de tu registro en BD la fecha utiliza clase DATE. Manejar luego consultas en SQL con datos arquetipo DATETIME seria complicado y no ha transpirado necesitas siempre convertidores o parsear la data en tu plan.
Esto en base a la pericia. Saludos
Si el motor de base sobre datos que se vaya an emplear tiene un arquetipo sobre antecedente nativo Con El Fin De recolectar fechas, usarlo de aprovisionar las fechas.
Existe que establecer si de ese motor de base sobre datos las fechas son separado el ano-mes-dia o si se comprende el componente sobre hora-minuto-segundo.
Seria significativo anotar que la cosa es como una base de datos almacena un precio sobre arquetipo FECHA desplazandolo hacia el pelo otra excesivamente diferente como se visualiza en monitor o se imprime esa dia.
En el caso de Oracle , ( SQL y no ha transpirado el lenguage PL/SQL ) existe el prototipo de documento DATE (tanto Con El Fin De columnas como para variables) con el que se almacena la fecha con la hora-minuto-segundo.
El usar un tipo de documento ” STRING ” Con El Fin De aprovisionar asi como manejar fechas seria inconveniente porque existen un sinumero sobre formas de redactar la cadeneta (o string) que represente una data, que dependeri? fundamentalmente del pais asi como asi como con los cuales se producen fallos al momento sobre adecentar, indagar desplazandolo hacia el pelo contrastar fechas.
Ej: En Caso De Que una dia seria 11 sobre agosto sobre 2018, por lo tanto Existen estas alternativas:
- De EEUU y no ha transpirado otros paises seria “08/10/2018” (el mes primero)
- En Europa es frecuente escribirla como “10/08/2018” (el aniversario principal)
- O redactar el mes con un texto como “30-agosto-2018”
Prototipo sobre error al utilizar strings para representar una fecha: En Caso De Que Tenemos 2 cadenas que representan una fecha almacenada igual que dia/mes/ano:
- “04/01/2017” ( para el 04 de enero sobre 2017)
- “03/02/2018” ( de el 03 sobre marzo sobre 2018)
Se hace la contraposicion sobre las 2 strings desplazandolo hacia el pelo cual sera inferior? La replica es que por contraposicion sobre strings el inferior es “03/02/2018” lo cual es errado!! ya que desde el momento sobre ojeada que el string representa una dia la cual seria MAYOR que la dia “04/01/2017”.
Si definitivamente existe que utilizar escrito (o strings) para guardar una fecha la recomendacion es usar la norma ISO 8601, con la que el string SIEMPRE seria:
Para ano-mes-dia seria “AAAAMMDD” o “AAAA-MM-DD” desplazandolo hacia el pelo con hora-minuto-segundo es “AAAAMMDDTHHMMSS” o “AAAA-MM-DDTHH:MM:SS” o “AAAA-MM-DD HH:MM:SS”