Tipos de base de datos de sql server 2008
Upcoming SlideShare
Loading in...5
×
 

Tipos de base de datos de sql server 2008

on

  • 1,790 views

 

Statistics

Views

Total Views
1,790
Views on SlideShare
1,790
Embed Views
0

Actions

Likes
0
Downloads
29
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft Word

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Tipos de base de datos de sql server 2008 Tipos de base de datos de sql server 2008 Document Transcript

  • INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICOPRIVADO BENJAMÍN FRANKLINSQL SERVER 2008NOMBRE:ELIZABETH HUARAYA APAZATRABAJO:TIPOS DE DATOS DE SQL SERVER 2008MATERIA:BASE DE DATOSPROFESOR:FRANKLIN CCAPACARRERA:COMPUTO E INFORMÁTICASEMESTRE:“V”2013
  • SQL SERVER 2008CATEGORÍA TIPO DE DATOBinaryBinaryVarbinaryImageCharacterCharVarcharTextDate timeDatetimeSmalldatetimeDecimalDecimalNumericFloatingpointFloatRealIntegerBigintIntSmallintTinyintMonetaryMoneySmallmoneySpecialBitCursorTimestampUniqueidentifierSQL_variantTableUnicodeNcharNvarcharNtext
  • TIPO DE DATOS SQL_VARIANT:Tipo de datos que almacena valores de varios tipos de datos admitidos en SQL Server.sql_variantSql_variant puede utilizarse en columnas, parámetros, variables y valores devueltos defunciones definidas por el usuario. Sql_variant permite que estos objetos de base dedatos admitan valores de otros tipos de datos. Una columna de tipo sql_variant puede contener filas de tipos de datosdiferentes, puede almacenar valores int, binary y char.Los tipos de valores que no se pueden almacenar mediante sql_variant son:VALORES NO ALMACENADOSvarchar(max) varbinary(max)nvarchar(max) XmlText NtextImage Timestampsql_variant GeographyHierarchyid Geometry Sql_variant puede tener una longitud máxima de 8.016 bytes. Esto incluye lainformación y el valor de tipo base. La longitud máxima del tipo base real es8.000 bytes.El tipo de datos sql_variant pertenece a la parte superior de la lista de jerarquías detipos de datos para conversión. En las comparaciones de sql_variant, el orden de lajerarquía del tipo de datos SQL Server se agrupa en familias de tipos de datos.JERARQUÍA DETIPO DE DATOSFAMILIA DE TIPODE DATOSsql_variant sql_variantdatetime2 fecha y horaDatetimeoffset Fecha y horaDatetime fecha y horaSmalldatetime fecha y horaDate fecha y horaTime fecha y horaFloatValores numéricosaproximadosRealValores numéricosaproximadosDecimal Valor numérico exactoMoney Valor numérico exactoSmallmoney Valor numérico exactoBigint Valor numérico exacto
  • Int Valor numérico exactoSmallint Valor numérico exactoTinyint Valor numérico exactoBit Valor numérico exactoNvarchar UnicodeNchar UnicodeVarchar UnicodeChar UnicodeVarbinary BinarioBinary BinarioUniqueidentifier Uniqueidentifier INT, BIGINT, SMALLINT Y TINYINTSon tipos de datos numéricos exactos que utilizan datos enteros.TIPO DEDATOSINTERVALOALMACENAMIENTOBigintDe -2^63 (-9.223.372.036.854.775.808) a 2^63-1(9.223.372.036.854.775.807)8 bytesIntDe -2^31 (-2.147.483.648) a 2^31-1(2.147.483.647)4 bytesSmallint De -2^15 (-32.768) a 2^15-1 (32.767) 2 bytesTinyint De 0 a 255 1 byte INT: Es el principal tipo de datos de valores enteros de SQL Server. BIGINT: Esta se usa cuando los valores enteros pueden exceder el intervaloadmitido por el tipo de dato INT. CURSO:Un tipo de datos para las variables o para los parámetros de resultado de losprocedimientos almacenados que contiene una referencia a un cursor. Las variablescreadas con el tipo de datos cursor aceptan NULL.Las operaciones a las que pueden hacer referencia las variables y parámetros quetienen un tipo de datos cursor son: Las instrucciones DECLARE @local_variable y SET @local_variable. Las instrucciones del cursor OPEN, FETCH, CLOSE y DEALLOCATE. Los parámetros de resultado de procedimientos almacenados. La función CURSOR_STATUS. Los procedimientos almacenados del sistema sp_cursor_list, sp_describe_cursor,sp_describe_cursor_tables y sp_describe_cursor_columns.
  •  DECIMAL Y NUMERICTipos de datos numéricos que tienen precisión y escala fijas.DECIMAL [ (p[ ,s] )]y NUMERIC [ (p[ ,s] )]P = (precisión)S = (escala)Cuando se utiliza la precisión máxima, los valores válidos se sitúan entre - 10^38 +1 y10^38 - 1. Los sinónimos de ISO para decimal son de tipo dec y dec(p, s). numeric esfuncionalmente equivalente a decimal.El número total máximo de dígitos decimales que se puede almacenar, tanto a laizquierda como a la derecha del separador decimal, puede ser a: La precisión debe ser un valor comprendido entre 1 y la precisión máxima de 38.La precisión predeterminada es 18. La escala debe ser un valor comprendido entre 0 y p. Sólo es posible especificarla escala si se ha especificado la precisión. La escala predeterminada es 0; porlo tanto, 0 <= s <= p. Los tamaños de almacenamiento máximo varían, según laprecisión.PRECISIÓN BYTES DE ALMACENAMIENTO1 - 9 510-19 920-28 1329-38 17 MONEY Y SMALLMONEY:Tipos de datos que representan valores monetarios o de moneda.TIPO DEDATOSINTERVALO ALMACENAMIENTOMoneyDe -922,337,203,685.477,5808 a922,337,203,685.477,58078 bytesSmallmoney De - 214.748,3648 a 214.748,3647 4 bytesLos tipos de datos money y smallmoney tienen una precisión de una diezmilésima delas unidades monetarias que representan. FLOAT Y REALTipos de datos numéricos y aproximados que se utilizan con datos numéricos de comaflotante. Los datos de coma flotante son aproximados, no todos los valores del intervalodel tipo de datos se pueden representar con exactitud.
  • TIPO DEDATOSINTERVALO ALMACENAMIENTOFloatDe - 1,79E+308 a -2,23E-308, 0 y de 2,23E-308a 1,79E+308Depende del valor den.RealDe - 3,40E + 38 a -1,18E - 38, 0 y de 1,18E - 38a 3,40E + 384 Bytes FLOAT[ (n) ] :Donde n es el número de bits que se utilizan para almacenar lamantisa del número float en notación científica y dicta su precisión y el tamaño dealmacenamiento.Si se especifica n, debe ser un valor entre 1 y 53. El valorpredeterminado de n es 53.NVALUE PRECISIÓN TAMAÑO DE ALMACENAMIENTO1-24 7 dígitos 4 bytes25-53 15 dígitos 8 bytes BINARY Y VARBINARYTipos de datos binarios de longitud fija o variable.BINARY[ ( n ) ]Datos binarios de longitud fija con una longitud de n bytes, donde n es un valor queoscila entre 1 y 8.000. El tamaño de almacenamiento es de n bytes.VARBINARY[ ( n | max) ]Datos binarios de longitud variable. n puede ser un valor que oscila entre 1 y 8.000. maxindica que el tamaño máximo de almacenamiento es de 2^31-1 bytes.El tamaño dealmacenamiento es la longitud real de los datos especificados + 2 bytes. Los datosespecificados pueden tener una longitud de 0 bytes.Cuando no se especifica el argumento n con la función CAST, la longitud predeterminadaes 30. Utilice binary cuando los tamaños de las entradas de datos de columna seancoherentes. Utilice varbinary cuando los tamaños de las entradas de datos de columnavaríen considerablemente. Utilice varbinary(max) cuando las entradas de datos de columna superen los8.000 bytes. NCHAR Y NVARCHARTipos de datos de caracteres, para datos Unicode de longitud fija, nchar, o variable,nvarchar, y que utilizan el juego de caracteres UNICODE UCS-2.NCHAR[ ( n ) ]
  • Datos de carácter Unicode de longitud fija, con n caracteres. n debe estar comprendidoentre 1 y 4.000. El tamaño de almacenamiento es dos veces n bytes.NVARCHAR[ ( n | max ) ]Datos de carácter Unicode de longitud variable. N puede ser un valor comprendido entre 1 y4.000. max indica que el tamaño máximo de almacenamiento es 2^31-1 bytes. El tamañode almacenamiento en bytes es dos veces el número de caracteres especificado + 2 bytes.Los datos especificados pueden tener una longitud de 0 caracteres. Cuando no se especifica el argumento n en la función CAST, la longitudpredeterminada es 30. Use ncharcuando sea probable que el tamaño de las entradas de datos de lascolumnas sea similar. Use nvarcharcuando sea probable que el tamaño de las entradas de datos de lascolumnas varíe. ROWVERSION:Rowversion suele utilizarse como mecanismo para marcar la versión de las filas de latabla. El tamaño de almacenamiento es de 8 bytes. El tipo de datos rowversion essimplemente un número que se incrementa y no conserva una fecha o una hora. Pararegistrar una fecha o una hora se usa un tipo de datos datetime2. Cada base de datos tiene un contador que se incrementa por cada operación deinserción o actualización que se lleva a cabo en una tabla que contiene una columnarowversion en la base de datos. Timestamp es el sinónimo del tipo de datos rowversion y está sujeto alcomportamiento de los sinónimos de tipos de datos.En una instrucción CREATETABLE o ALTER TABLE, no tiene que especificar ningúnnombre de columna para el tipo de datos timestamp.Si no especifica un nombre de columna, el SQL Server Database Engine (Motor de basede datos de SQL Server) genera el nombre de columna timestamp. Cuando utilizarowversion, debe especificar un nombre de columna. TABLE:Es un tipo de datos especial que se puede utilizar para almacenar un conjunto deresultados para su procesamiento posterior. Table se utiliza principalmente para elalmacenamiento temporal de un conjunto de filas devuelto como el conjunto deresultados de una función con valores de tabla. Para declarar variables de tipo table, utilice DECLARE @local_variableTABLE_TYPE_DEFINITIONEs el mismo subconjunto de información que se utiliza para definir una tabla enCREATETABLE. La declaración de tabla incluye definiciones de columna, nombres,
  • tipos de datos y restricciones. Sólo se permiten los tipos de restricciones PRIMARYKEY, UNIQUE KEY y NULL.COLLATION_DEFINITIONSi no se especifica collation_definition, la columna hereda la intercalación de la basede datos actual. Si la columna se ha definido como un tipo definido por el usuarioCLR (CommonLanguageRuntime), la columna hereda la intercalación del tipodefinido por el usuario.Las variables table ofrecen las siguientes ventajas: Una variable table se comporta como una variable local. Tiene un ámbito biendefinido. Dentro de su ámbito, la variable table se puede utilizar como una tablanormal. Puede aplicarse en cualquier lugar de las instrucciones SELECT, INSERT,UPDATE y DELETE donde se utilice una tabla o expresión de tabla. Las variables table se limpian automáticamente al final de la función, procedimientoalmacenado o lote en que están definidas. Las restricciones CHECK, los valores DEFAULT y las columnas calculadas de ladeclaración del tipo table no pueden llamar a funciones definidas por el usuario. Las variables table que se utilizan en procedimientos almacenados dan lugar amenos recompilaciones de los procedimientos almacenados que cuando se utilizantablas temporales. Las transacciones con variables table existen sólo mientras dura una actualizaciónen la variable table, que requieren menos recursos de registro y bloqueo. BIT:Tipo de datos entero que puede aceptar los valores 1, 0 o NULL.Motor de base de datos de SQL Server optimiza el almacenamiento de las columnas detipo bit. Si una tabla contiene 8 columnas o menos de tipo bit, éstas se almacenan como1 byte. Si hay entre 9 y 16 columnas de tipo bit, se almacenan como 2 bytes, y asísucesivamente. DATETIMEDefine una fecha que se combina con una hora del día con fracciones de segundosbasada en un reloj de 24 horas.PROPIEDAD VALORSintaxis DatetimeUsoDECLARE @MyDatetimedatetimeCREATE TABLE Table1 ( Column1 datetime )Formatos de literal de cadenapredeterminados(se usan para elcliente de nivel inferior)No aplicableIntervalo de fechasDel 1 de enero de 1753 hasta el 31 dediciembre de 9999
  • Intervalo de horas De 00:00:00 a 23:59:59.997Intervalo de desplazamiento de zonahorariaNingunoIntervalos de elementosAAAA es una cifra de cuatro dígitoscomprendida entre 1753 y 9999 querepresenta un año.MM es una cifra de dos dígitos comprendidaentre 01 y 12 que representa un mes del añoespecificado.DD es una cifra de dos dígitos comprendidaentre 01 y 31 dependiendo del mes, querepresenta un día del mes especificado.hh es una cifra de dos dígitos comprendidaentre 00 y 23 que representa la hora.mm es una cifra de dos dígitos comprendidaentre 00 y 59 que representa los minutos.s es una cifra de dos dígitos comprendidaentre 00 y 59 que representa los segundos.n* es una cifra de cero a tres dígitoscomprendida entre 0 y 999 que representa lasfracciones de segundos.Longitud de los caracteres19 posiciones como mínimo a 23 comomáximoTamaño de almacenamiento 8 bytesPrecisiónSe redondea en incrementos de 0,000, 0,003o 0.007 segundosValor predeterminado 1900-01-01 00:00:00CalendarioGregoriano (no incluye el intervalo completode años.)Precisión de fracciones de segundodefinida por el usuarioNoConservación y reconocimiento deldesplazamiento de la zona horariaNoReconocimiento del horario deveranoNoFormato de lineamiento compatible para datetimeNUMÉRICO DESCRIPCIÓNFORMATOS DEFECHA:[0]4/15/[19]96 -- (mda)Puede especificar datos de fecha con un mes en forma denúmero. Por ejemplo, 5/20/97 representa el veinte de mayode 1997. Cuando use un formato numérico de fecha,especifique el mes, el día y el año en una cadena con barras
  • [0]4-15-[19]96 -- (mda)[0]4.15.[19]96 -- (mda)[0]4/[19]96/15 -- (mad)15/[0]4/[19]96 -- (dma)15/[19]96/[0]4 -- (dam)[19]96/15/[0]4 -- (adm)[19]96/[0]4/15 -- (amd)FORMATOS DEHORA:14:3014:30[:20:999]14:30[:20.9]4am4 PMdiagonales (/), guiones (-) o puntos (.) como separadores.Esta cadena debe aparecer de la forma siguiente:número separador número separador número [hora][hora]Cuando el idioma establecido es us_english, el ordenpredeterminado de la fecha es mdy (mes, día, año). Paracambiar el orden de la fecha, utilice la instrucción SETDATEFORMAT.La configuración de SET DATEFORMAT determina cómo seinterpretan los valores de fecha. Si el orden no coincide conesta configuración, los valores no se interpretarán comofechas porque se encuentran fuera del intervalo, o bien seinterpretarán incorrectamente.ALFABÉTICO DESCRIPCIÓNAbr[il] [15][,] 1996Abr[il] 15[,] [19]96Abr[il] 1996 [15][15] Abr[il][,] 199615 Abr[il][,][19]9615 [19]96 abr[il][15] 1996 abr[il]1996 ABR[IL] [15]1996 [15] ABR[IL]Puede especificar los datos de la fecha con un mesespecificado como el nombre completo del mes.Éstas son algunas directrices para utilizar los formatosalfabéticos de fecha: Incluya los datos de fecha y hora entre comillas simples(). Para los idiomas distintos de inglés, utilice N Los caracteres que se incluyen entre corchetes sonopcionales. Si sólo especifica los dos últimos dígitos del año, losvalores inferiores a los dos últimos dígitos del valor de laopción de configuración Fecha límite de año de dosdígitos pertenecen al mismo siglo que el año límite. Losvalores mayores o iguales que el valor de esta opciónpertenecen al siglo anterior al año límite. Si falta el día, se usará el primer día del mes.El parámetro de sesión SET DATEFORMAT no se aplicacuando se especifica el mes de forma alfabética.
  • ISO 8601 DescripciónAAAA-MM-DDThh:mm:ss[.mmm]AAAAMMDDThh:mm:ss[.mmm]Para utilizar el formato ISO 8601, debe especificartodos los elementos del formato. Esto tambiénincluye T, los dos puntos (:) y el punto (.) que semuestran en el formato.Los corchetes indican que el componente defracción de segundo es opcional. El componentede hora se especifica en el formato de 24 horas.La T indica el inicio de la parte de hora del valordatetime.La ventaja de utilizar el formato ISO 8601 es quese trata de un estándar internacional con unaespecificación que evita ambigüedades. Asimismo,este formato no se ve afectado por los parámetrosSET DATEFORMAT o SET LANGUAGE.ODBC DESCRIPCIÓN{ ts 1998-05-02 01:23:56.123 }{ d 1990-10-02 }{ t 13:33:41 }La API de ODBC define secuencias de escape pararepresentar valores de fecha y de hora que ODBCllama datos de marca de tiempo. Las aplicaciones queusan las API basadas en ODBC, OLE DB y ADOpueden usar este formato de marca de tiempo deODBC para representar fechas y horas.Las secuencias de escape de marca de hora deODBC tienen el formato: { literal_type constant_value}: literal_type especifica el tipo de la secuencia deescape. Las marcas de hora tienen tresespecificadores literal_type:o d = sólo fechao t = sólo horao ts = marca de hora (hora + fecha) constant_value es el valor de la secuencia deescape. constant_value debe seguir estosformatos para cada literal_type.literal_typeformatoconstant_valued aaaa-mm-ddt hh:mm:ss[.fff]tsaaaa-mm-ddhh:mm:ss[.fff]
  • Los valores datetime se redondean con incrementos de 0,000; 0,003 o 0,007 segundos,como:VALORESPECIFICADO POREL USUARIOVALOR ALMACENADOPOR EL SISTEMA01/01/98 23:59:59.999 1998-01-02 00:00:00.00001/01/98 23:59:59.99501/01/98 23:59:59.99601/01/98 23:59:59.99701/01/98 23:59:59.9981998-01-01 23:59:59.99701/01/98 23:59:59.99201/01/98 23:59:59.99301/01/98 23:59:59.9941998-01-01 23:59:59.99301/01/98 23:59:59.99001/01/98 23:59:59.9911998-01-01 23:59:59.990 HIERARCHYIDEl tipo de datos del sistema de hierarchyid es de longitud variable. Use hierarchyid pararepresentar la posición en una jerarquía. Una columna de tipo hierarchyid no representaautomáticamente un árbol. Dependerá de la aplicación generar y asignar los valoreshierarchyid de tal forma que la relación deseada entre las filas se refleje en los valores.Los valores de hierarchyid tienen las siguientes propiedades. MUY COMPACTOSEl número medio de bits necesarios para representar un nodo en un árbol con nnodos depende del promedio de nodos secundarios. Para multiplicadores de salidapequeños (0-7), el tamaño es aproximadamente 6*logAn bits, donde A es elpromedio de nodos secundarios. Un nodo en una jerarquía organizativa de 100.000personas con un promedio de nodos secundarios de 6 niveles suponeaproximadamente 38 bits. Esto se redondea a 40 bits (o 5 bytes) para elalmacenamiento. LA COMPARACIÓN SE REALIZA CON PRIORIDAD A LA PROFUNDIDADDados dos valores hierarchyid a y b, a<b que viene antes que b en un cortetransversal de prioridad a la profundidad del árbol. Los índices de los tipos de datoshierarchyid están en orden con prioridad a la profundidad y los nodos cercanos entresí en un corte transversal de prioridad a la profundidad se almacenan casi uno juntoa otro.
  •  COMPATIBILIDAD CON INSERCIONES Y ELIMINACIONES ARBITRARIASCon el método GetDescendant siempre es posible generar un miembro del mismonivel a la derecha de cualquier nodo determinado, a la izquierda de cualquier nododeterminado, o entre dos miembros cualesquiera del mismo nivel. Se mantiene lapropiedad comparison cuando se inserta o elimina un número arbitrario de nodos dela jerarquía. La codificación usada en el tipo hierarchyid está limitada a 892 bytes. Porconsiguiente, el tipo hierarchyid no podrá representar los nodos con demasiadosniveles en su representación como para caber en los 892 bytes. NTEXT, TEXT E IMAGE:Tipos de datos de longitud fija y variable para almacenar valores de gran tamaño condatos de caracteres y binarios Unicode y no Unicode. Los datos Unicode utilizan el juegode caracteres UNICODE UCS-2. NTEXT:Datos Unicode de longitud variable con una longitud máxima de 2^30 - 1(1.073.741.823) caracteres. El tamaño del almacenamiento, en bytes, es dos vecesel número de caracteres especificado. TEXT:Datos no Unicode de longitud variable de la página de códigos del servidor y con unalongitud máxima de 2^31-1 (2.147.483.647) caracteres. Cuando la página de códigosdel servidor utiliza caracteres de doble byte, el almacenamiento sigue siendo de2.147.483.647 bytes. Dependiendo de la cadena de caracteres, el espacio dealmacenamiento puede ser inferior a 2.147.483.647 bytes. IMAGE:Datos binarios de longitud variable desde 0 hasta 2^31-1 (2.147.483.647) bytes.Funciones e instrucciones que se pueden utilizar con datos de tipo text, ntext o imagenson:FUNCIONES INSTRUCCIONESDATALENGTH (Transact-SQL) READTEXT (Transact-SQL)PATINDEX (Transact-SQL) SET TEXTSIZE (Transact-SQL)SUBSTRING (Transact-SQL) UPDATETEXT (Transact-SQL)TEXTPTR (Transact-SQL) WRITETEXT (Transact-SQL)TEXTVALID (Transact-SQL)