1 Base de datos I Facultad de Ingeniería. Escuela de computación. 2 Base de datos I, Guía 2 Introducción Este manual ha sido elaborado para orientar al estudiante de Bases de datos I en el desarrollo de sus prácticas de laboratorios, haciendo uso de este antes, durante y después de la práctica, de tal forma que ofrece un método facilitador en su proceso de enseñanza/aprendizaje durante esta asignatura. En el desarrollo de esta asignatura se ha designado realizar las prácticas en 16 sesiones semanales de laboratorios, los que incluyen 11 prácticas, dos parciales y un proyecto final durante los cuales, el estudiante aplicará los conceptos y las técnicas fundamentalmente necesarias para el dominio de programas para el uso, configuración y administración de SQL Server 2008 o superior. Todas las guías de laboratorio están estructuradas de la siguiente forma: - Objetivos - Materiales y equipos - Introducción teórica - Procedimiento - Bibliografía - Hoja de evaluación (En caso de que la actividad sea evaluada) Base de datos I. Guía 2 3 Facultad: Ingeniería. Escuela: Computación. Asignatura: Base de datos I. Pág Tabla de Contenido Guía 2. datos. Creación de tablas y manejos de Guía 6 Contenido ----------------------------------------------- 4 a 1 Objetivos ----------------------------------------------- 4 Materiales y equipos ------------------------------------ 4 Introducción -------------------------------------------- 4 Tablas -------------------------------------------------- 4 Datos --------------------------------------------------- 5 Conversión de datos ------------------------------------- 7 Tipos de datos, contenidos y espacio utilizado ---------- 7 Procedimiento ------------------------------------------- 9 Ejercicios ---------------------------------------------- 15 Investigación ------------------------------------------- 16 Bibliografía -------------------------------------------- 16 4 Base de datos I, Guía 2 Tema: Creación de tablas y manejos de datos. Contenidos En la guía se presentarán conceptos que le permitan a los estudiantes poder crear tablas e identificar diferentes tipos de datos que se utilicen en cada uno de los campos que se definen. Objetivo Específico Crear tablas completas. ( https://msdn.microsoft.com/essv/library/ms174979.aspx ) Identificar qué tipo de datos a usar en cada campo Materiales y Equipo SQL SERVER 2008 o superior. Guía de práctica. http://www.microsoft.com/es-es/sqlserver/default.aspx https://www.dreamspark.com/ http://msdn.microsoft.com/es-es/sqlserver http://technet.microsoft.com/en-us/library/ms176061.aspx Introducción Teórica Las tablas son los objetos de la base de datos que permiten la recolección de datos, este es un proceso básico para la implementación de la base de datos. Esta información almacenada es la que se manipulara para poder Insertar, eliminar, consultar y actualizar datos. Tablas. Tabla en las bases de datos relacionales, se refieren al tipo de modelado de datos, donde se guardan los datos recogidos por un programa de aplicación. Su estructura general se asemeja a la vista general de un programa de hoja de cálculo. Base de datos I. Guía 2 5 Una tabla es utilizada para organizar y presentar información. Las tablas se componen de filas y columnas de celdas que se pueden rellenar con textos y gráficos Las tablas se componen de dos estructuras: Registro: Es cada una de las filas en que se divide la tabla. Cada registro contiene datos de los mismos tipos que los demás registros. Ejemplo: en una tabla de nombres y direcciones, cada fila contendrá un nombre y una dirección. Campo: Es cada una de las columnas que tabla. Contienen datos de tipo diferente otros campos. En el ejemplo anterior, contendrá un tipo de datos único, como una o un número de teléfono, un nombre, etc. forman la a los de un campo dirección, A los campos se les puede asignar, propiedades especiales que afectan a los registros insertados. El campo puede ser definido como índice o autoincrementable. Cada tabla creada debe tener un nombre único en la cada Base de Datos, haciéndola accesible mediante su nombre. Datos SQL Server maneja los siguientes tipos de datos: Numéricos exactos bigint numeric bit smallint decimal smallmoney int tinyint money 6 Base de datos I, Guía 2 Numéricos aproximados Float real Fecha y hora date datetimeoffset datetime2 smalldatetime datetime time Cadenas de caracteres Char Varchar text Cadenas de caracteres Unicode Nchar Nvarchar ntext Cadenas binarias Binary Varbinary image Otros tipos de datos Cursor Timestamp Hierarchyid Base de datos I. Guía 2 7 uniqueidentifier sql_variant Xml tabla Es importante el buen uso de los tipos de datos, ya que de esa forma se podrá hacer mejor las relaciones de tablas, consultas y manejo de los datos. Conversión de datos. Cuando se convierten implícitamente enteros en un tipo de datos de caracteres, si el entero es demasiado grande para ajustarse al campo de carácter, SQL Server escribe el carácter ASCII 42, el asterisco (*). Las constantes de enteros mayores que 2.147.483.647 se convierten en el tipo de datos decimal, no en el tipo de datos bigint. En el ejemplo siguiente se muestra que, cuando se supera el valor de umbral, el tipo de datos del resultado cambia de int a decimal. Tipos de datos, contenidos y sus espacios utilizados. Grupo Tipo de dato Intervalo Almacenamiento bigint De -263 (-9.223.372.036.854.775.808) a 263 - 1 (9.223.372.036.854.775.807) 8 bytes Int De -231 (-2.147.483.648) a 231 - 1 (2.147.483.647) 4 bytes smallint De -215 (-32.768) a 215 - 1 (32.767) 2 bytes tinyint De 0 a 255 1 byte Bit Tipo de datos entero que puede aceptar los valores 1, 0 ó NULL 2 bytes p (precisión): el número total máximo de dígitos decimales que se puede almacenar, tanto a la izquierda como a la derecha del separador decimal. La precisión debe ser un valor comprendido entre 1 y la precisión máxima de 38. La precisión predeterminada es 18. s (escala): el número máximo de dígitos decimales que Precisión 1 - 9: 5 se puede almacenar a la derecha del separador bytes decimal. La escala debe ser un valor comprendido entre 0 y p. Sólo es posible especificar la escala si se ha especificado la precisión. La escala predeterminada es 0. Numéricos exactos decimal, numeric, decimal (p, s) Con precisión máxima 1038 +1 y 1038 - 1 money Tipos de datos que representan valores monetarios o de moneda: de -922.337.203.685,4775808 a 922.337.203.685,4775807 8 bytes 8 Base de datos I, Guía 2 Numéricos aproximados Fecha y hora Cadenas de caracteres smallmoney De - 214,7483648 a 214,7483647 4 bytes Float De - 1,79E+308 a -2,23E-308, 0 y de 2,23E-308 a 1,79E+308 Depende del valor de n Real De - 3,40E + 38 a -1,18E - 38, 0 y de 1,18E - 38 a 3,40E + 38 4 Bytes datetime Del 1 de enero de 1753 hasta el 31 de diciembre de 9999 smalldatetime Del 1 de enero de 1900 hasta el 6 de junio de 2079 char (n) Caracteres no Unicode de longitud fija, con una longitud de n bytes. n debe ser un valor entre 1 y 8.000 n bytes varchar (n) Caracteres no Unicode de longitud variable. n indica que el tamaño de almacenamiento máximo es de 231 - 1 bytes n bytes (aprox.) En desuso, sustituido por varchar. Text Cadenas de caracteres unicode max bytes (aprox.) nchar (n) Datos de carácter Unicode de longitud fija, con n caracteres. n debe estar comprendido entre 1 y 4.000 2 * n bytes nvarchar (n) Datos de carácter Unicode de longitud variable. n indica que el tamaño máximo de almacenamiento es 231 - 1 bytes 2 * n bytes + 2 bytes En desuso, sustituido por nvarchar. ntext (n) Datos Unicode de longitud variable con una longitud máxima de 230 - 1 (1.073.741.823) caracteres 2 * n bytes binary (n) Datos binarios de longitud fija con una longitud de n bytes, donde n es un valor que oscila entre 1 y 8.000 n bytes varbinary (n) Datos binarios de longitud variable. n indica que el tamaño de almacenamiento máximo es de 231 - 1 bytes n bytes Cadenas binarias En desuso, sustituido por varbinary. image Otros tipos de datos Datos no Unicode de longitud variable con una longitud máxima de 231 - 1 (2.147.483.647) caracteres Datos binarios de longitud variable desde 0 hasta 231 - 1 (2.147.483.647) bytes cursor Tipo de datos para las variables o para los parámetros de resultado de los procedimientos almacenados que contiene una referencia a un cursor. Las variables creadas con el tipo de datos cursor aceptan NULL timestamp Tipo de datos que expone números binarios únicos generados automáticamente en una base de datos. El tipo de datos timestamp es simplemente un número que se incrementa y no conserva una fecha o una hora sql_variant Tipo de datos que almacena valores de varios tipos de datos aceptados en SQL Server, excepto text, ntext, image, timestamp y sql_variant uniqueidentifier Es un GUID (Globally Unique Identifier, Identificador Único Global) table Es un tipo de datos especial que se puede utilizar para almacenar un conjunto de resultados para su procesamiento posterior. table se utiliza principalmente para el almacenamiento temporal de un conjunto de filas devuelto como el conjunto de resultados de una función con valores de tabla Xml Almacena datos de XML. Puede almacenar instancias de xml en una columna o una variable de tipo xml 8 bytes 16 bytes Base de datos I. Guía 2 9 Procedimiento Iniciar el SQL Server Management Studio. Bibliografía En base a lo aprendido en la práctica anterior crearemos una base Guíade1 datos de nombre Universidad. Expandiremos la base de datos, y después expandiremos “Tables”, y veremos que no hay ninguna tabla creada, al seleccionar click derecho sobre “Tables” seleccionamos “New Table” Nos activara una pantalla donde podremos colocar los campos y tipos de datos que esperamos manejar en cada uno de los campos. 10 Base de datos I, Guía 2 En la “Column Name” empezaremos definiendo el campo “id_person” y tomaremos como “Data Type” el tipo “int” y dejaremos activa la casilla “Allow Nulls” lo cual significa que acepta datos nulos o vacíos. Después colocaremos el campo “nombre” con tipo de datos “varchar(50)” y dejaremos activa la opción aceptar nulos. Base de datos I. Guía 2 11 También colocaremos el campo “apellido” con tipo de datos “varchar(50)” y dejaremos activa la opción aceptar nulos. Una vez terminada la tabla, dar doble click en la pestaña y dar click sobre “Save Table_1”, y nos aparecerá un pantalla donde le pondremos de nombre a la tablas “person”. 12 Base de datos I, Guía 2 Una vez realizado este proceso la tabla quedará grabada en la base de datos, ya puedo cerrar la consola o dejarla así. Ahora vamos a agregar algunos registros a la tabla, en la carpeta “Tables”, busco la tabla “person” y presiono click derecho y seleccionamos “Edit top 200 Rows” lo cual nos permitirá agregar registros. A continuación agregue los siguientes registros: Base de datos I. Guía 2 13 Para borrar la tabla solo debo dar click derecho sobre la tabla “person” y seleccionar “Delete” Dar click en aceptar para proceder a borrarla. Usando la consola de consultas (T-SQL). En primer lugar activaremos la consola para realizar una nueva consulta. Ahora digitemos los siguientes comandos la consola y luego se ejecuta la instrucción. 14 Base de datos I, Guía 2 Estas sentencias en primer lugar selecciona la base de datos Universidad usando la palabra “USE”, después se creó la tabla “autos” con tres campos: id_auto, marca y modelo, con su respectivo tamaño e indicando que todos aceptan nulos o valores vacíos (NULL). Para probar la nueva tabla agregaremos nuestro primer registro, digitando lo siguiente: El resultado de esta consulta es la adición de un registro a la tabla autos. Otra forma de agregar datos usando una variable de la sintaxis es la siguiente: Para borrar la tabla usaremos la siguiente consulta Y con esto quedara borrada la tabla. Base de datos I. Guía 2 15 Ejercicios Practique las siguientes instrucciones SQL desde la ventana Guía 3 de comando de T-SQL. 1. Cree una nueva base de datos con el nombre de GuíaCorteDeCaja. 4 2. En esa nueva base de datos cree los siguientes objetos: fía A cada una de las tablas antes creadas insértele 5 registros desde la ventana de comandos, muestre la sintaxis utilizada al instructor. Investigación Complementaria Investigue el uso de la instrucción CONSTRAINT. Guía 3 Guía 4 fía 16 Base de datos I, Guía 2 Adiciónele a la tabla tblValcaja un CONSTRAINT con los campos Caja y Tienda. Cree tablas incluyendo más campos y diferentes tipos de datos para verificar su aplicación, siempre en forma gráfica y de consola. Investigue como cambiarle nombre a la tabla. Investigue como cambiar una columna o agregar más. Investigue como cambiar un tipo de datos. Realice ejercicios adicionales que su instructor lo solicite. Lea el capítulo “Creating Tables and Defining Data Integrity”, del libro de referencia Microsoft SQL Server 2012 T-SQL Fundamentals. Practique las instrucciones allí planteadas. Bibliografía Peter Rob, Carlos Coronel, SISTEMAS DE BASES DE DATOS, Thomas Connolly, Carolyn Begg, SISTEMAS DE BASES DE DATOS, PERSON, España, 2007 4 Abraham Silberschatz, FUNJDAMENTOS DE BASES DE DATOS, MCGRAW-HILL, Edición Digital, 2006 Salazar Francisco, APRENDA SQL SERVER 2012. Ross Mistry and Stacia Misner. Introducing Microsoft SQL Server 2012. MicroSoft Press. Disponible digitalmente en Recursos electronicos de la biblioteca en Google Académico. Guía 3 THOMSON, México, 2006 Guía fía