110680373 Actividad 4 Unidad 3 Base de Datos

20
Bases de datos / Actividad 4 Unidad 3 / Arturo Urbieta Reyes BDD_U2_A4_ARUR_EN Actividad 4. Ejercicio: Funciones básicas de SQL y álgebra relacional El propósito de esta actividad es que comiences a aplicar las funciones básicas de SQL, y las operaciones elementales del álgebra relacional, para saber en qué casos se utilizan cada una de ellas. Instrucciones: 1. En un documento de texto, enlista las instrucciones DDL y su aplicación, así como un ejemplo de cada una de ellas. 2. En la segunda cuartilla del documento, menciona para qué sirven los comandos DML de SQL y muestra el uso de cada una de ellas. 3. Selecciona dos de las operaciones básicas del álgebra relacional y aplícalas en la base de datos. 4. Guarda la actividad con el nombre BDD_U3_A4_XXYZ y envíala a tu facilitador(a) para recibir retroalimentación. Instrucciones DDL de SQL CREATE, DROP y ALTER CREATE DATABASE Este enunciado es usado para crear una base de datos. Sintaxis para CREATE DATABASE de SQL CREATE DATABASE basededatos_nombre Ejemplo de CREATE DATABASE Queremos crear una base de datos llamada “Personal” CREATE DATABASE Personal CREATE TABLE (TABLAS) Este enunciado es utilizado para crear tablas en una base de datos Sintaxis para CREATE TABLE de SQL CREATE TABLE tabla_nombre ( columna_nombre1 data_type, columna_nombre2 data_type, columna_nombre3 data_type, ) Ejemplo de CREATE TABLE Unidad 3 Actividad 4 Página 1

Transcript of 110680373 Actividad 4 Unidad 3 Base de Datos

Page 1: 110680373 Actividad 4 Unidad 3 Base de Datos

Bases de datos / Actividad 4 Unidad 3 / Arturo Urbieta Reyes BDD_U2_A4_ARUR_EN

Actividad 4. Ejercicio: Funciones básicas de SQL y álgebra relacional

El propósito de esta actividad es que comiences a aplicar las funciones básicas de SQL, y las operaciones elementales del álgebra relacional, para saber en qué casos se utilizan cada una de ellas. Instrucciones:1. En un documento de texto, enlista las instrucciones DDL y su aplicación, así como un ejemplo de cada una de ellas. 2. En la segunda cuartilla del documento, menciona para qué sirven los comandos DML de SQL y muestra el uso de cada una de ellas. 3. Selecciona dos de las operaciones básicas del álgebra relacional y aplícalas en la base de datos. 4. Guarda la actividad con el nombre BDD_U3_A4_XXYZ y envíala a tu facilitador(a) para recibir retroalimentación.

Instrucciones DDL de SQL CREATE, DROP y ALTER

CREATE DATABASEEste enunciado es usado para crear una base de datos.

Sintaxis para CREATE DATABASE de SQLCREATE DATABASE basededatos_nombre

Ejemplo de CREATE DATABASEQueremos crear una base de datos llamada “Personal”

CREATE DATABASE Personal

CREATE TABLE (TABLAS)Este enunciado es utilizado para crear tablas en una base de datos

Sintaxis para CREATE TABLE de SQLCREATE TABLE tabla_nombre

(columna_nombre1 data_type,

columna_nombre2 data_type,columna_nombre3 data_type,

)Ejemplo de CREATE TABLEQueremos crear una tabla llamada “Personas” que contiene 5 columnas: P_Id, Apellido, Nombre, Dirección y Ciudad.

CREATE TABLE Personas(P_Id int,Apellido varchar(255),Nombre varchar(255),Dirección varchar(255),Ciudad varchar(255))

Unidad 3 Actividad 4 Página 1

Page 2: 110680373 Actividad 4 Unidad 3 Base de Datos

Bases de datos / Actividad 4 Unidad 3 / Arturo Urbieta Reyes BDD_U2_A4_ARUR_EN

La columna P_Id es del tipo INTEGER y contendrá un número. Los campos o columnas de nombre, dirección, ciudad son del tipo varchar con una longitud máxima de 255 caracteres.

La tabla vacia de “Personas” luce como sigue:

P_Id Apellido Nombre Dirección Ciudad

DROP DATABASEEste enunciado es usado para borrar una base o un índice.

Sintaxis para DROP INDEX para MySQLDROP INDEX table_name.index_name

Sintaxis para DROP TABLE para MySQLDROP DATABASE database_name

Sintaxis para borrar los datos dentro de la tabla y no la tabla.TRUNCATE TABLE table_name

ALTER TABLEEste enunciado es usado para agregar, borrar o modificar columnas o campos en una tabla

existente.

Sintaxis para ALTER TABLE para SQLALTER TABLE table_nameADD column_name datatype

Ejemplo de ALTER TABLE

P_Id Apellido Nombre Dirección Ciudad

1 Hansen Ola Timoteivn 10 Sandnes

2 Svendson Tove Borgvn 23 Sandnes

3 Pettersen Kari Storgt 20 Stavanger

Queremos agregar un campo o columna a nuestra tabla llamado “Fecha_Nac” usando el siguiente enunciado.

ALTER TABLE PersonasADD Fecha_Nac date

Notamos que la nueva columna es del tipo DATE y va a almacenar una fecha. Para referencia a los tipos de datos de SQL ir al final del documento en donde encontrará los tipos de datos para SQL SERVER; cabe aclarar que los tipos de datos para Microsoft Access, MySQL y SQL Server

Unidad 3 Actividad 4 Página 2

Page 3: 110680373 Actividad 4 Unidad 3 Base de Datos

Bases de datos / Actividad 4 Unidad 3 / Arturo Urbieta Reyes BDD_U2_A4_ARUR_EN

P_Id Apellido Nombre Dirección Ciudad Fecha_Nac

1 Hansen Ola Timoteivn 10 Sandnes 30-10-1965

2 Svendson Tove Borgvn 23 Sandnes 23-11-1965

3 Pettersen Kari Storgt 20 Stavanger 01-09-1996

Sintaxis para cambiar el tipo de dato de una columna en una tablaALTER TABLE table_nameALTER COLUMN column_name datatype

Ejemplo para cambiar el tipo de dato de la columna Fecha_Nac de la tabla PersonasALTER TABLE Persons

ALTER COLUMN Fecha_Nac yearLa columna Fecha_Nac cambia ahora al tipo de dato de año con 2 o dígitos.

Sintaxis para borrar una columna con ALTER TABLE para SQLALTER TABLE table_nameDROP COLUMN column_name

Ejemplo para borrar la columna Fecha_Nac de la tabla PersonasALTER TABLE Personas

DROP COLUMN Fecha_Nac

Instrucciones DML de SQL SELECT, INSERT, UPDATE y DELETE

Enunciado SELECT de SQLEste enunciado es usado para seleccionar datos de una base de datos, el resultado es

almacenado en una tabla llamada result-set.

Sintaxis para SELECT de SQL

Unidad 3 Actividad 4 Página 3

Page 4: 110680373 Actividad 4 Unidad 3 Base de Datos

Bases de datos / Actividad 4 Unidad 3 / Arturo Urbieta Reyes BDD_U2_A4_ARUR_EN

SELECT column_name(s)FROM table_name

SELECT * FROM table_name

Ejemplo de SELECT

P_Id Apellido Nombre Dirección Ciudad

1 Hansen Ola Timoteivn 10 Sandnes

2 Svendson Tove Borgvn 23 Sandnes

3 Pettersen Kari Storgt 20 Stavanger

Queremos seleccionar las columnas de Nombre y Apellido de la tabla anterior.

SELECT Apellido, Nombre FROM Personas

Quedando el siguiente resultado

Apellido Nombre

Hansen Ola

Svendson Tove

Pettersen Kari

Para seleccionar todas las columnas utilizamos la siguiente sintaxis.

SELECT * FROM Personas

Quedando el siguiente resultado

P_Id Apellido Nombre Dirección Ciudad

1 Hansen Ola Timoteivn 10 Sandnes

2 Svendson Tove Borgvn 23 Sandnes

3 Pettersen Kari Storgt 20 Stavanger

En algunas tablas, algunas columnas pueden contener valores duplicados. Esto no es un problema, sin embargo, algunas veces quisiéramos listas solamente los diferentes (distinct) valores de la tabla

La palabra clave DISTINCT puede ser usada para regresar solamente valores distintos (diferentes), utilizamos la siguiente sintaxis.

SELECT DISTINCT column_name(s)FROM table_name

Ejemplo de SELECT DISTINCT

P_Id Apellido Nombre Dirección Ciudad

Unidad 3 Actividad 4 Página 4

Page 5: 110680373 Actividad 4 Unidad 3 Base de Datos

Bases de datos / Actividad 4 Unidad 3 / Arturo Urbieta Reyes BDD_U2_A4_ARUR_EN

1 Hansen Ola Timoteivn 10 Sandnes

2 Svendson Tove Borgvn 23 Sandnes

3 Pettersen Kari Storgt 20 Stavanger

Ahora queremos seleccionar solamente los valores distintos de la columna llamada “Ciudad” de la base anterior utilizando la siguiente sintaxis:

SELECT DISTINCT Ciudad FROM Personas

Quedando el siguiente resultado

Ciudad

Sandnes

Stavanger

Enunciado INSERT INTO de SQLEste enunciado es usado para insertar o agregar nuevos registros o renglones en una tabla.

Sintaxis para INSERT INTO de SQLHay 2 formas de insertar datos a la tabla.

La primera forma no especifica los nombres de las columnas donde el dato será insertado, solamente sus valores

INSERT INTO table_nameVALUES (value1, value2, value3,...)

La segunda forma específica ambos, es decir, el nombre la columna y los valores a ser insertados

INSERT INTO table_name (column1, column2, column3,...)VALUES (value1, value2, value3,...)

Ejemplo de INSERT INTO sin especificar los nombres de las columnas donde el dato será insertado, solamente sus valores

Nosotros tenemos la siguiente tabla “Personas”

P_Id Apellido Nombre Dirección Ciudad

1 Hansen Ola Timoteivn 10 Sandnes

2 Svendson Tove Borgvn 23 Sandnes

3 Pettersen Kari Storgt 20 Stavanger

Ahora queremos insertar un Nuevo renglón en la tabla “Personas”.

Usamos la siguiente sintaxis:

Unidad 3 Actividad 4 Página 5

Page 6: 110680373 Actividad 4 Unidad 3 Base de Datos

Bases de datos / Actividad 4 Unidad 3 / Arturo Urbieta Reyes BDD_U2_A4_ARUR_EN

INSERT INTO PersonasVALUES (4,'Nilsen', 'Johan', 'Bakken 2', 'Stavanger')

Quedando el siguiente resultado:P_Id Apellido Nombre Dirección Ciudad

1 Hansen Ola Timoteivn 10 Sandnes

2 Svendson Tove Borgvn 23 Sandnes

3 Pettersen Kari Storgt 20 Stavanger

4 Nilsen Johan Bakken 2 Stavanger

Ejemplo de INSERT INTO en donde se especifican ambos, es decir, el nombre la columna y los valores a ser insertados; vamos a agregar un nuevo renglón, pero solamente agregaremos el “P_Id”, “Apellido” y “Nombre”.

INSERT INTO Personas (P_Id, Apellido, Nombre)VALUES (5, 'Tjessem', 'Jakob')

Quedando el siguiente resultado:

P_Id Apellido Nombre Dirección Ciudad

1 Hansen Ola Timoteivn 10 Sandnes

2 Svendson Tove Borgvn 23 Sandnes

3 Pettersen Kari Storgt 20 Stavanger

4 Nilsen Johan Bakken 2 Stavanger

5 Tjessem Jakob

Enunciado UPDATE de SQLEste enunciado es usado para actualizar registros en una tabla.

Sintaxis para UPDATE de SQLUPDATE table_nameSET column1=value, column2=value2,...WHERE some_column=some_value

Nota: Observamos el comando WHERE en la sintaxis UPDATE. El comando WHERE especifica cual registro o registros deberán ser actualizados. Sí se omite el comando WHERE, todos los registros serán actualizados.

P_Id Apellido Nombre Dirección Ciudad

1 Hansen Ola Timoteivn 10 Sandnes

2 Svendson Tove Borgvn 23 Sandnes

Unidad 3 Actividad 4 Página 6

Page 7: 110680373 Actividad 4 Unidad 3 Base de Datos

Bases de datos / Actividad 4 Unidad 3 / Arturo Urbieta Reyes BDD_U2_A4_ARUR_EN

3 Pettersen Kari Storgt 20 Stavanger

4 Nilsen Johan Bakken 2 Stavanger

5 Tjessem Jakob

Ahora queremos actualizar el registro “5” de Tjessem Jakob en la tabla anterior con la siguiente sintaxis:

UPDATE PersonsSET Address='Nissestien 67', City='Sandnes'WHERE LastName='Tjessem' AND FirstName='Jakob'

Quedando el siguiente resultado:

P_Id Apellido Nombre Dirección Ciudad

1 Hansen Ola Timoteivn 10 Sandnes

2 Svendson Tove Borgvn 23 Sandnes

3 Pettersen Kari Storgt 20 Stavanger

4 Nilsen Johan Bakken 2 Stavanger

5 Tjessem Jakob Nissestien 67 Sandnes

Advertencia para UPDATE de SQLSeamos cuidadosos cuando actualizamos registros, debido a que si omitimos el comando WHERE, el ejemplo que hicimos anteriormente resultará como sigue:

UPDATE PersonsSET Address='Nissestien 67', City='Sandnes'

Quedando el siguiente resultado:

P_Id Apellido Nombre Dirección Ciudad

1 Hansen Ola Nissestien 67 Sandnes

2 Svendson Tove Nissestien 67 Sandnes

3 Pettersen Kari Nissestien 67 Sandnes

4 Nilsen Johan Nissestien 67 Sandnes

5 Tjessem Jakob Nissestien 67 Sandnes

Unidad 3 Actividad 4 Página 7

Page 8: 110680373 Actividad 4 Unidad 3 Base de Datos

Bases de datos / Actividad 4 Unidad 3 / Arturo Urbieta Reyes BDD_U2_A4_ARUR_EN

Enunciado DELETE de SQLEste enunciado es usado para borrar registros en una tabla.

Sintaxis para UPDATE de SQLDELETE FROM table_nameWHERE some_column=some_value

Nota: Observamos el comando WHERE en la sintaxis DELETE. El comando WHERE especifica cual registro o registros deberán ser borrados. Si omitimos el comando WHERE, todos los registros serán borrados.

P_Id Apellido Nombre Dirección Ciudad

1 Hansen Ola Timoteivn 10 Sandnes

2 Svendson Tove Borgvn 23 Sandnes

3 Pettersen Kari Storgt 20 Stavanger

4 Nilsen Johan Bakken 2 Stavanger

5 Tjessem Jakob Nissestien 67 Sandnes

Ahora queremos borrar el registro de la persona "Tjessem, Jakob" de la tabla “PERSONAS” con la siguiente sintaxis:

DELETE FROM PersonasWHERE Apellido='Tjessem' AND Nombre='Jakob'

Quedando el siguiente resultado:

P_Id Apellido Nombre Dirección Ciudad

1 Hansen Ola Timoteivn 10 Sandnes

2 Svendson Tove Borgvn 23 Sandnes

3 Pettersen Kari Storgt 20 Stavanger

4 Nilsen Johan Bakken 2 Stavanger

Podemos borrar todos los registros con la siguiente sintaxis:DELETE FROM table_name

or

DELETE * FROM table_name

Advertencia para DELETE de SQLSeamos cuidadosos cuando borramos registros ya que no podemos deshacer este comando.

Unidad 3 Actividad 4 Página 8

Page 9: 110680373 Actividad 4 Unidad 3 Base de Datos

Bases de datos / Actividad 4 Unidad 3 / Arturo Urbieta Reyes BDD_U2_A4_ARUR_EN

Operaciones básicas de Algebra relacional

Palabra clave JOIN de SQL

Esta KEYWORD es usada para (QUERY) buscar datos de 2 o más tablas, basado en una relación entre ciertas columnas en esas tablas.

Las tablas en una base de datos son frecuentemente relacionadas unas con otras con llaves.

Una llave primaria es una columna (o combinación de columnas) con un único valor para cada renglón. Cada valor de la llave primaria debe ser único dentro de la tabla. El propósito es vincular o enlazar los datos en conjunto, a través de tablas, sin repetir todos los datos en cada tabla.

P_Id Apellido Nombre Dirección Ciudad

1 Hansen Ola Timoteivn 10 Sandnes

2 Svendson Tove Borgvn 23 Sandnes

3 Pettersen Kari Storgt 20 Stavanger

Notamos que la columna P_Id es la llave primaria de la tabla “Personas”. Esto significa que 2 renglones NO pueden tener el mismo P_Id. El P_Id distingue a 2 personas aún si ellas tienen el mismo nombre.

Ahora tenemos otra tabla llamada “Ordenados”.

O_Id OrderNo P_Id

1 77895 3

2 44678 3

3 22456 1

4 24562 1

5 34764 15

La llave primaria es la columna O_Id y la columna P_Id se refiere a las personas en la tabla “Personas” sin usar sus nombres.

Notamos que la relación entre las tablas es P_Id.

La Keyword de SQL JOIN se puede usar de diferentes formas:

JOIN: Devolver filas cuando hay al menos una coincidencia en las dos tablas LEFT JOIN: Devolver todas las filas de la tabla de la izquierda, incluso si no hay

coincidencias en la tabla de la derechaRIGHT JOIN: Devolver todas las filas de la tabla de la derecha, incluso si no hay coincidencias en la tabla de la izquierdaFULL JOIN: Devolver filas cuando hay un coincidencia en una de la tablas

Unidad 3 Actividad 4 Página 9

Page 10: 110680373 Actividad 4 Unidad 3 Base de Datos

Bases de datos / Actividad 4 Unidad 3 / Arturo Urbieta Reyes BDD_U2_A4_ARUR_EN

Ejemplo: con JOIN = INNER JOIN

La keyword INNER JOIN regresa una fila cuando hay al menos una coincidencia en ambas tablas.

Sintaxis para INNER JOIN de SQL

SELECT column_name(s)FROM table_name1INNER JOIN table_name2ON table_name1.column_name=table_name2.column_name

Ejemplo de INNER JOIN

La tabla “Personas”

P_Id Apellido Nombre Dirección Ciudad

1 Hansen Ola Timoteivn 10 Sandnes

2 Svendson Tove Borgvn 23 Sandnes

3 Pettersen Kari Storgt 20 Stavanger

La tabla “Ordenados”

O_Id OrderNo P_Id

1 77895 3

2 44678 3

3 22456 1

4 24562 1

5 34764 15

Ahora queremos listar a todas las personas con cualquier orden con la siguiente sintaxis:

SELECT Personas. Apellido, Personas. Nombre, Ordenados.OrderNoFROM PersonasINNER JOIN OrdenadosON Personas.P_Id=Ordenados.P_IdORDER BY Personas. Apellido

Unidad 3 Actividad 4 Página 10

Page 11: 110680373 Actividad 4 Unidad 3 Base de Datos

Bases de datos / Actividad 4 Unidad 3 / Arturo Urbieta Reyes BDD_U2_A4_ARUR_EN

Quedando el siguiente resultado:

Apellido Nombre OrderNo

Hansen Ola 22456

Hansen Ola 24562

Pettersen Kari 77895

Pettersen Kari 44678

El operador UNION de SQL

El operador SQL UNION es usado para combinar el resultado de 2 o más instrucciones SELECT.Notamos que cada instrucción SELECT dentro de la UNION debe tener el mismo número de columnas. También, las columnas en cada instrucción SELECT deben estar en el mismo orden. Sintaxis para UNION de SQL

SELECT column_name(s) FROM table_name1UNIONSELECT column_name(s) FROM table_name2

Nota: El operador UNION selecciona solamente distintos valores por default. Para permitir valores duplicados, usar UNION ALL.

Ejemplo de UNION SQL

Tabla de “Empleados_México”

E_ID E_Nombre

01 Urbieta, Arturo

02 Castro, Leticia

03 Pérez, Pedro

04 Sánchez, Osvaldo

Tabla de “Empleados_Monterrey”

E_ID E_Nombre

Unidad 3 Actividad 4 Página 11

Page 12: 110680373 Actividad 4 Unidad 3 Base de Datos

Bases de datos / Actividad 4 Unidad 3 / Arturo Urbieta Reyes BDD_U2_A4_ARUR_EN

01 González, Alan

02 Talancón, Alejandro

03 Sanabria, Susana

04 Pérez, Pedro

Ahora queremos listar a todos los empleados de México y Monterrey con la siguiente sintaxis y empleando la instrucción SELECT.

SELECT E_Nombre FROM Empleados_MéxicoUNIONSELECT E_Nombre FROM Empleados_Monterrey

Quedando el siguiente resultado:

E_Nombre

Urbieta, Arturo

Castro, Leticia

Pérez, Pedro

Sánchez, Osvaldo

González, Alan

Talancón, Alejandro

Sanabria, Susana

Nota: Este comando no puede ser usado para listar a todos los empleados de Monterrey y México. En el ejemplo anterior nosotros tenemos 2 empleados con el mismo nombre, y solamente uno de ellos será listado. El comando UNION selecciona solamente valores distintos.

Sintaxis para UNION ALL de SQLSELECT column_name(s) FROM table_name1UNION ALLSELECT column_name(s) FROM table_name2

Nota: Los nombres de las columnas resultantes de la UNION son siempre iguales a los nombres de las columnas de la primera instrucción SELECT en la UNION.

SELECT E_Nombre FROM Empleados_MéxicoUNION ALL

SELECT E_Nombre FROM Empleados_Monterrey

Quedando el siguiente resultado:

E_Nombre

Unidad 3 Actividad 4 Página 12

Page 13: 110680373 Actividad 4 Unidad 3 Base de Datos

Bases de datos / Actividad 4 Unidad 3 / Arturo Urbieta Reyes BDD_U2_A4_ARUR_EN

Urbieta, Arturo

Castro, Leticia

Pérez, Pedro

Sánchez, Osvaldo

González, Alan

Talancón, Alejandro

Sanabria, Susana

Pérez, Pedro

SQL Server Data Types

Character strings:

Data type Description Storage

char(n) Fixed-length character string. Maximum 8,000 characters n

varchar(n) Variable-length character string. Maximum 8,000 characters

varchar(max) Variable-length character string. Maximum 1,073,741,824 characters

Text Variable-length character string. Maximum 2GB of text data

Unicode strings:

Data type Description Storage

nchar(n) Fixed-length Unicode data. Maximum 4,000 characters

nvarchar(n) Variable-length Unicode data. Maximum 4,000 characters

nvarchar(max) Variable-length Unicode data. Maximum 536,870,912 characters

Ntext Variable-length Unicode data. Maximum 2GB of text data

Binary types:

Unidad 3 Actividad 4 Página 13

Page 14: 110680373 Actividad 4 Unidad 3 Base de Datos

Bases de datos / Actividad 4 Unidad 3 / Arturo Urbieta Reyes BDD_U2_A4_ARUR_EN

Data type Description Storage

Bit Allows 0, 1, or NULL

binary(n) Fixed-length binary data. Maximum 8,000 bytes

varbinary(n) Variable-length binary data. Maximum 8,000 bytes

varbinary(max) Variable-length binary data. Maximum 2GB

Image Variable-length binary data. Maximum 2GB

Number types:

Data type Description Storage

Tinyint Allows whole numbers from 0 to 255 1 byte

Smallint Allows whole numbers between -32,768 and 32,767 2 bytes

Int Allows whole numbers between -2,147,483,648 and 2,147,483,647 4 bytes

Bigint Allows whole numbers between -9,223,372,036,854,775,808 and 9,223,372,036,854,775,807

8 bytes

decimal(p,s) Fixed precision and scale numbers.

Allows numbers from -10^38 +1 to 10^38 –1.

The p parameter indicates the maximum total number of digits that can be stored (both to the left and to the right of the decimal point). p must be a value from 1 to 38. Default is 18.

The s parameter indicates the maximum number of digits stored to the right of the decimal point. s must be a value from 0 to p. Default value is 0

5-17 bytes

numeric(p,s) Fixed precision and scale numbers.

Allows numbers from -10^38 +1 to 10^38 –1.

The p parameter indicates the maximum total number of digits that can be stored (both to the left and to the right of the decimal point). p must be a value from 1 to 38. Default is 18.

The s parameter indicates the maximum number of digits stored to the right of the decimal point. s must be a value from 0 to p. Default value is 0

5-17 bytes

Smallmoney Monetary data from -214,748.3648 to 214,748.3647 4 bytes

Unidad 3 Actividad 4 Página 14

Page 15: 110680373 Actividad 4 Unidad 3 Base de Datos

Bases de datos / Actividad 4 Unidad 3 / Arturo Urbieta Reyes BDD_U2_A4_ARUR_EN

Money Monetary data from -922,337,203,685,477.5808 to 922,337,203,685,477.5807

8 bytes

float(n) Floating precision number data from -1.79E + 308 to 1.79E + 308.

The n parameter indicates whether the field should hold 4 or 8 bytes. float(24) holds a 4-byte field and float(53) holds an 8-byte field. Default value of n is 53.

4 or 8 bytes

Real Floating precision number data from -3.40E + 38 to 3.40E + 38 4 bytes

Date types:

Data type Description Storage

Datetime From January 1, 1753 to December 31, 9999 with an accuracy of 3.33 milliseconds

8 bytes

datetime2 From January 1, 0001 to December 31, 9999 with an accuracy of 100 nanoseconds

6-8 bytes

Smalldatetime From January 1, 1900 to June 6, 2079 with an accuracy of 1 minute 4 bytes

Date Store a date only. From January 1, 0001 to December 31, 9999 3 bytes

Time Store a time only to an accuracy of 100 nanoseconds 3-5 bytes

Datetimeoffset The same as datetime2 with the addition of a time zone offset 8-10 bytes

timestamp Stores a unique number that gets updated every time a row gets created or modified. The timestamp value is based upon an internal clock and does not correspond to real time. Each table may have only one timestamp variable

Other data types:

Data type Description

sql_variant Stores up to 8,000 bytes of data of various data types, except text, ntext, and timestamp

uniqueidentifier Stores a globally unique identifier (GUID)

Unidad 3 Actividad 4 Página 15

Page 16: 110680373 Actividad 4 Unidad 3 Base de Datos

Bases de datos / Actividad 4 Unidad 3 / Arturo Urbieta Reyes BDD_U2_A4_ARUR_EN

xml Stores XML formatted data. Maximum 2GB

cursor Stores a reference to a cursor used for database operations

table Stores a result-set for later processing

Unidad 3 Actividad 4 Página 16