Download 1 Tema: Creación de una base de datos utilizando sintaxis Sql
Document related concepts
Transcript
Base de datos I. Guía 4 1 Facultad: Ingeniería Escuela: Computación Asignatura: Base de datos I Tema: Creación de una base de datos utilizando sintaxis Sql. Objetivo Específico Comprender la sintaxis SQL para crear base de datos y tablas Crear una base de datos con instrucciones de T-SQL Materiales y equipo Computadora con SQL Server 2008. Guía Número 4 Introducción Teórica Instrucciones Fundamentales de Transact-SQL (T-SQL). En esta práctica se van a conocer las instrucciones de Transact-SQL más fundamentales. SQL es un lenguaje estándar utilizado para manipular y recuperar información de bases de datos relacionales, SQL (Structured Query Languaje) además le permite al programador o al administrador de la base de datos realizar las siguientes tareas: Modificar la estructura de la base de datos. Cambiar la configuración de seguridad del sistema. Agregar usuarios y permisos en bases de datos o tablas. Realizar consultas para recuperar información. Actualizar el contenido de una base de datos. En la nueva versión de SQL Server 2005, T-SQL se ha examinado, agregándole muchas instrucciones de programación nuevas. Entre otras cosas, se ha convertido para ser un lenguaje común en tiempo de ejecución (CLR, Common Language Runtime), un lenguaje compatible; en resumen, ahora es un lenguaje .NET. Aunque para SQL Server 2005 podemos utilizar cualquier lenguaje .NET para acceder a la base de datos, al final se va a utilizar T-SQL y este sigue siendo el lenguaje principal en SQL Server. Base de datos I, Guía 4 2 Tipos de Sentencias de T-SQL. Existen tres tipos de sentencias que se ejecutan en T-SQL y estas son: Sentencias de Lenguaje de Definición de Datos (LDD). Sentencias de Lenguaje de Control de Datos (LCD). Sentencias de Lenguaje de Manipulación de los datos (LMD). Lenguaje de Definición de Datos (LDD). Las sentencias de Definición de datos nos ayudan a definir todos los objetos de la base de datos. Claro para poder hacer uso de estas sentencias se deben de tener los permisos adecuados. Algunas Sentencia LDD son: CREATE nombre_objeto ALTER nombre_objeto DROP nombre_objeto Lenguaje de Control de Datos (LCD) Estas sentencias son usadas para modificar los permisos asociados a un usuario o rol de la base de datos. Al igual que los LDD para poder ejecutar alguna de estas sentencias se deben tener los permisos adecuados. Sentencias LCD: GRANT DENY REVOKE Lenguaje de Manipulación de Datos (LMD) Las sentencias LMD trabajan con los datos en la base de datos. Estas sentencias se utilizan para insertar, modificar, eliminar y recuperar los datos. Sentencias LMD: INSERT UPDATE DELETE SELECT Base de datos I. Guía 4 3 TIPOS DE DATOS DE SQL SERVER Los tipos de datos definen los valores de los datos permitidos para cada columna en las tablas de la base de datos. SQL Server proporciona un número de tipos de datos. Categorías de los Tipos de Datos: Algunos tipos de datos de SQL Server 2008 se organizan en las siguientes categorías: Instrucción CREATE Vamos a examinar la estructura completa de la sentencia CREATE empezando con la más general. Descubrirá que las instrucciones CREATE empiezan de la misma forma y después dan paso a sus especificaciones. La primera parte de CREATE será siempre igual: CREATE <tipo de objeto> <nombre del objeto> A esta parte le seguirán los detalles, que variarán según la naturaleza del objeto que estemos creando. A continuación se presenta un listado de sintaxis más completa de CREATE: CREATE DATABASE CREATE DATABASE <nombre de base de datos> [ON [PRIMARY] ([NAME = <nombre lógico del archivo>,] FILENAME = <’nombre del archivo’> 4 Base de datos I, Guía 4 [, SIZE = <tamaño en Kilobytes, megabytes, gigabytes, o terabytes>] [, MAXSIZE = <tamaño en Kilobytes, megabytes, gigabytes, o terabytes>] [, FILEGROWTH = <tamaño en Kilobytes, megabytes, gigabytes, o terabytes| porcentaje>] ) ] [LOG ON ([NAME = <nombre lógico del archivo>,] FILENAME = <’nombre del archivo’> [, SIZE = <tamaño en Kilobytes, megabytes, gigabytes, o terabytes>] [, MAXSIZE = <tamaño en Kilobytes, megabytes, gigabytes, o terabytes>] [, FILEGROWTH = <tamaño en Kilobytes, megabytes, gigabytes, o terabytes| porcentaje>] ) ] [ COLLATE <nombre de intercalación> ] Tenga en cuenta que algunas de las opciones anteriores son mutuamente excluyentes (por ejemplo, si está creando para anexar, la mayoría de las opciones que no sean ubicaciones de archivo no serán válidas). En esta sintaxis hay mucho que explicar, por lo que vamos a desglosarla en sus elementos. ON: ON se utiliza en dos sitios para definir la ubicación del archivo donde se almacenan los datos (Archivo .MDF) y para definir la misma información para el lugar donde se guarda el registro (Log de transacciones, archivo .LDF). Advertirá aquí la inclusión de la palabra clave PRIMARY, que indica que lo que sigue es un grupo de archivos primarios (o principales) en el que se guardan físicamente los datos. También podemos guardar datos en los denominados grupos de archivos secundarios. NAME: Éste es el nombre del archivo que estamos definiendo, pero sólo es un nombre lógico, es decir, el nombre que va a utilizar SQL Server internamente para hacer referencia a dicho archivo. FILENAME: Éste es el nombre físico del disco del archivo del sistema operativo real en el que se van a guardar los datos y el registro (Log de transacciones). El valor predeterminado dependerá de si estamos tratando con la propia base de datos o con el Log de transacciones. De forma predeterminada, el archivo se ubicará en el siguiente subdirectorio \ Data dentro del directorio C:\ Archivos de programa \ Microsoft SQLServer \ MSSQL.1 \ MSSQL (o el directorio que ha ya establecido como principal para SQL Server en la instalación). Si estuviésemos utilizando el archivo de base de datos físico, se denominaría igual que nuestra base de datos con una extensión .mdf y si estuviésemos utilizando el registro, tendría el mismo nombre que el archivo de base de datos, pero con un sufijo _log y una extensión .ldf. Base de datos I. Guía 4 5 SIZE: Aquí no hay ningún misterio: es el tamaño de la base de datos. De forma predeterminada, el tamaño se proporciona en megabytes, pero también podemos hacer que se proporcione en kilobytes utilizando KB en lugar de MB tras el valor numérico del tamaño; también podemos usar un tamaño mucho mayor con GB (gigabytes) o incluso TB (terabytes). Tenga en cuenta que este valor debe ser, al menos, tan alto como el de la base de datos model y debe ser un número entero (sin decimales); en caso contrario recibiremos un error. Si no suministramos un valor para SIZE, la base de datos tendrá inicialmente el mismo tamaño que el de la base de datos model. MAXSIZE: Este parámetro es una pequeña variante del parámetro SIZE. SQL Server tiene un mecanismo que permite a nuestra base de datos asignar automáticamente un espacio en disco adicional (para crecer) cuando sea necesario. MAXSIZE es el tamaño máximo al que puede crecer la base de datos. Una vez más, de forma predeterminada se proporciona en megabytes, como SIZE, podemos utilizar KB, GB o TB para emplear cantidades de incremento diferentes. La pequeña variante es que no existe un valor predeterminado firme. Si nuestra base de datos (el archivo .mdf) llega al valor establecido en el parámetro MAXSIZE, nuestros usuarios empezarán a recibir errores indicando que sus inserciones no se pueden ejecutar. Si nuestro registro (Log de transacciones .ldf) llega a su tamaño máximo, no podremos ejecutar ninguna actividad de inicio de sesión en la base de datos. FILEGROWTH: Mientras SIZE establece el tamaño inicial de la base de datos y MAXSIZE determina exactamente el tamaño máximo que puede llegar a tener el archivo de la base de datos, FILEGROWTH determina básicamente el incremento del crecimiento con que se puede llegar a dicho máximo. Para ello, proporcionamos un valor indicando por cuantos bytes (en KB, MB, GB, o TB) a la vez deseamos aumentar el archivo. Por ejemplo, si establecemos un archivo de base de datos para que cuando llegue a 1GB incremente en un valor FILEGROWTH de un 20%, la primera vez que se expanda, aumentará hasta a 1.2GB, la segunda vez hasta 1.44GB y así sucesivamente. LOG ON: La opción LOG ON nos permite establecer que deseamos que nuestro registro (Log de transacciones) se dirija a un conjunto específico de archivos y dónde se deben ubicar exactamente dichos archivos. Si no proporcionamos esta opción, SQL Server creará el registro (Log de transacciones) en un solo archivo y lo predeterminará para que tenga un tamaño igual al 25% del tamaño del archivo de datos. 6 Base de datos I, Guía 4 TIPS: Es muy recomendable que guarde sus archivos de registro ( .ldf) en una unidad de disco diferente a la de sus archivos de datos principales (.mdf). Al hacerlo, evitará que los archivos de datos principal y de registro compitan por la E/S del disco además de proporcionar una seguridad adicional si falla una unidad. COLLATE: Esta opción tiene que ver con el problema de la ordenación, las mayúsculas y minúsculas y los acentos. Al instalar su SQL Server, habrá decidido sobre cuál es la intercalación predeterminada, pero puede sobrescribir este parámetro a nivel de base de datos y a nivel de columna. Procedimiento Bibliografía 1-Iniciar SQL Server Management Studio Luego de estar dentro de Management Studio, ubique el botón nueva consulta(1), y luego clic sobre él para que habilite un espacio en blanco(2) para ingresar las sentencias sql Guía 1 2- Ahora crearemos la base de datos Para que pueda verificar la creación de los archivos .mdf y .ldf cree una carpeta en el directorio raíz C: Los archivos se almacenaran en esa carpeta base Base de datos I. Guía 4 7 En el espacio en blanco digitar la siguiente sentencia, no olvide utilizar el número de carnet. Ubique los siguientes botones en la barra de SQL Server El botón se utiliza para ejecutar la sentencia SQL que hemos ingresado, pero siempre es recomendable dar clic en el botón analizar la sintaxis no posee errores. para que SQL Server revise que Analice la sintaxis y luego ejecute la sentencia, si todo marcha bien deberá aparecer un mensaje Command(s) completed successfully. En caso de error en la ejecucion SQL enviará un mensaje de error en letras rojas, por lo que debera revisar la sintaxis, ya sean parensetis, comas, comillas, etc Para eliminar una base de datos se utiliza el comando DROP DATABASE nombrebasededatos Ahora crearemos las tablas para la base de datos Primero debemos verificar que la base de datos donde crearemos las tablas esta en uso o seleccionada, para verificarlo a la izquierda del botón ejecutar, hay una caja de texto donde aparece la base de datos seleccionada, la siguiente figura muestra que la base de datos en uso es la master, si ud crea una tabla, ira directo a esa base de datos, por lo que 8 Base de datos I, Guía 4 necesitamos cambiarla a la base de datos que acabamos de crear. Para seleccionar la base de datos hacemos uso del comando USE de la siguiente forma USE BD_NumeroCarne Y verifique que la base de datos ha sido puesta en uso. Sintaxis para creación de tablas CREATE TABLE "nombre_tabla" ("columna 1" "tipo_de_datos_para_columna_1", "columna 2" "tipo_de_datos_para_columna_2",...) Crear la tabla contactos, con el código sql que aparece debajo de la tabla Base de datos I. Guía 4 9 Para eliminar la tabla se utiliza el comando DROP TABLE nombredetabla INSERTAR DATOS Ahora insertaremos datos en la tabla contactos con la siguiente sintaxis: Note que los campos de texto van entre comillas simples y los valores numéricos, no necesitan comillas. Abra la tabla CONTACTOS y verifique que el registro ha sido ingresado correctamente. Modificar tabla Para agregar un nuevo campo a la tabla digitamos la siguiente sentencia Esta sentencia nos permite agregar el campo estado con un varchar de 8 caracteres Para renombrar un campo de la tabla digitamos la siguiente sentencia Este es un procedimiento almacenado que nos permite renombrar el campo estado a est_civil Para eliminar un campo de la tabla digitamos la siguiente sentencia 10 Base de datos I, Guía 4 Consulta de información Para mostrar los registros de una tabla, utilice la siguiente sintaxis SELECT * FROM Nombretabla Asignación Crear una base de datos con el nombre SUCARNETSALES el tamaño inicial para la base de datos será de 3MB y el log de transacciones de 1MB con crecimiento del 10% cada uno y un máximo de 10 MB Deje el script como constancia, NO BORRE las sentencias que va digitando Dentro de la bd SUCARNETVENTAS crear las siguientes tablas Tabla: Cliente CAMPO CODIGO NOMBRES DIRECCION FAX EMAIL SALDO TIPO DE DATO INT VARCHAR VARCHAR CHAR VARCHAR DECIMAL LONGITUD Tabla: vendedor CAMPO CODIGO NOMBRES APELLIDOS DIRECCION TELEFONO EMAIL COMISION VENTAS TIPO DE DATO INT VARCHAR VARCHAR VARCHAR CHAR VARCHAR DECIMAL DECIMAL LONGITUD 30 30 8 30 (10,2) 30 30 30 8 30 (10,2) (10,2) VALORES NOT NULL NOT NULL VALORES NOT NULL NOT NULL NOT NULL TABLA: ARTICULO CAMPO TIPO DE DATO LONGITUD VALORES NUMART DESCRIPCION PRECIO EXISTENCIA CATEGORIA_ART CHAR VARCHAR DECIMAL INT VARCHAR 4 30 (10,2) NOT NULL 30 NOT NULL Base de datos I. Guía 4 11 TABLA: PEDIDO CAMPO NUMPED NUMCLI FECHA_PED TOTAL_DESC TIPO DE DATO INT INT DATETIME DECIMAL LONGITUD VALORES NOT NULL NOT NULL (10,2) Tabla: DETALLE PEDIDO CAMPO TIPO DE DATO NUMPED NUMART CANTIDAD INT CHAR INT LONGITUD VALORES 4 NOT NULL NOT NULL Agregar 5 registros a cada tabla Investigación complementaria Crear nuevamente la base de datos SUCARNETVENTAS y agregar las Guíarespectivas 3 claves primarias y foráneas en las tablas que correspondan Bibliografía Guía 4 Guía 3 Francisco Charte Ojeda, SQL Server 2008. Madrid, España : ANAYA, 2009 1era edicion fía Guía 4 fía 12 Base de datos I, Guía 4 Guía 4: INTRODUCCIÓN A Hoja de cotejo: T- SQL. Docente: Máquina No: Máquina No: Tema: Presentación del programa Alumno : Máquina No:GL: Alumno: Docente: GL: Docente: GL: Fecha: a EVALUACION % CONOCIMIENTO Del 20 al 30% APLICACIÓN DEL CONOCIMIENTO Del 40% al 60% 1-4 5-7 8-10 Conocimie nto deficient e de los fundament os teóricos Conocimiento y explicación incompleta de los fundamentos teóricos Conocimiento completo y explicación clara de los fundamentos teóricos No tiene actitud proactiva . Actitud propositiva y con propuestas no aplicables al contenido de la guía. Tiene actitud proactiva y sus propuestas son concretas. ACTITUD Del 15% al 30% TOTAL 100% Nota 4 1 Base de datos I. Guía 4 13