2 Base de datos I Facultad de Ingeniería. Escuela de computación. Base de datos I. Guía 1 19 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) 18 Base de datos I, Guía 1 Facultad: Ingeniería. Escuela: Computación. Asignatura: Base de datos I. Tabla de Contenido Pág Guía 1. Gestión del SQL Server managament studio y creación de bases de datos. Guía 6 Contenido ----------------------------------------------- 5 a 1 Objetivos ----------------------------------------------- 5 Materiales y equipos ------------------------------------ 5 Introducción. DBMS. ------------------------------------- 5 Introducción. Otras funciones de los SGDB --------------- 6 Introducción. Clasificación de los SGDB ----------------- 6 Introducción. Breve historia de los SGDBR --------------- 7 Introducción. SQL Server 2012 --------------------------- 8 Procedimiento ------------------------------------------- 18 Ejercicios ---------------------------------------------- 18 Investigación ------------------------------------------- 18 Bibliografía -------------------------------------------- 18 Base de datos I. Guía 1 19 Tema: Gestión del SQL Server managament Studio y creación de bases de datos. Contenidos En la guía inicial se presentarán conceptos generales de las bases de datos y como manipular la herramienta de gestión hacia la base de datos sql server de MicroSoft. Objetivo Específico Comprender el entorno del SQL Server managament Studio. Crear una base de datos. 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 Para esta materia usaremos un Sistema de Gestión de Base de Datos, muy conocido y usado, el cual es SQL Server, en el transcurso del módulo aprenderemos como gestionar bases de datos, tablas y datos, crear vistas, procedimientos almacenados y disparadores, además de relacionar tablas, generar consultas y realizar copias de seguridad. DBMS. O SGBD(Sistema de gestión de base de datos) o en inglés Database management system (DBMS), es una agrupación de 18 Base de datos I, Guía 1 programas que sirven para definir, construir y manipular una base de datos. a) Definir una base de datos: consiste en especificar los tipos de datos, estructuras y restricciones para los datos que se almacenarán. b) Construir una base de datos: es el proceso de almacenar los datos sobre algún medio de almacenamiento. c) Manipular una base de datos: incluye funciones como consulta, actualización, etc. de bases de datos. Si el sistema soporta bases de datos relacionales se llama RDBMS en inglés o SGBDR en español. Otras funciones de los SGBD a) En la manipulación de una base de datos, los SGBD deben incluir un control de concurrencia, o sea, deben permitir a varios usuarios tener acceso "simultáneo" a la base de datos. Controlar la concurrencia implica que si varios usuarios acceden a la base de datos, la actualización de los datos se haga de forma controlada para que no haya problemas. b) Un SGBD también debe encargase de cumplir las reglas de integridad y redundancias. c) Otra función importante en un SGBD es su capacidad de realizar copias de seguridad y de recuperación de datos. d) Restricción de accesos no autorizados. e) Suministrar múltiples interfaces de usuario. f) Representar relaciones complejas entre los datos. Clasificación de los SGBD Esta clasificación está basada en el modelo de datos en que está basado el SGBD. Los modelos de datos más habituales son: a) Relacional (SGBDR): representa a la base de datos como una colección de tablas. Estas bases de datos suelen utilizar SQL como lenguaje de consultas de alto nivel. b) Orientado a objetos: define a la base de datos en términos de objetos, sus propiedades y sus operaciones. Todos los objetos que tienen la misma estructura y comportamiento pertenecen a una clase y las clases de organizan en jerarquías. Base de datos I. Guía 1 19 c) Objeto-relacional o relacional extendido: son los sistemas relacionales con características de los orientados a objetos. d) Jerárquico: representa los datos como estructuras jerárquicas de árbol. e) En red o CODASYL DBTG. Un SGBD también puede clasificarse por el número de usuario a los que da servicio: a) Monousuario. b) Multiusuario. También puede clasificarse según el número de sitios en los que está distribuida la base de datos: a) Centralizado: la base de datos y el software SGBD están almacenados en un solo sitio (una sola computadora). b) Distribuido (SGBDD): la base de datos y el software SGBD pueden estar distribuidos en múltiples sitios conectados por una red. Breve historia de los SGBDR. El modelo relacional fue presentado en la década del 70, y a partir de ese momento comenzaron a desarrollarse múltiples sistemas para gestionar las bases de datos relacionales. IBM fue una de las pioneras en el desarrollo de productos comerciales sobre SGBD relacionales; algunos de sus productos fueron el SQL/DS para los entornos DOS/VSE y VM/CMS, y el DB2 para el sistema operativo MVS en 1983. En tanto, INGRES fue otro SGBDR desarrollado por la Universidad de Berkeley a principios de los setenta. Luego se convirtió en comercial y comenzó a ser distribuido por Ingres Inc. y luego por Computer Associates. Otras marcas comerciales de SGBDR son Oracle de Oracle Inc., Sybase de Sybase Inc., RDB de Digital Equipment Corp. de Compaq, INFORMIX de Informix Inc. y UNIFY de Unify Inc. Además de los SGBDR mencionados, en los ochenta aparecen múltiples aplicaciones para PCs como ser RIM, RBASE 5000, PARADOX, OS/2 Database Manager, DBase IV, XDB, WAT-COM SQL, SQL Server (de Sybase Inc.), SQL Server (de Microsoft), Access, etc. 18 Base de datos I, Guía 1 SQL Server 2012 Microsoft SQL Server es un sistema para la gestión de bases de datos (SGBD o DBMS) producido por Microsoft basado en el modelo relacional. Sus lenguajes para consultas son T-SQL y ANSI SQL. Microsoft SQL Server constituye la alternativa de Microsoft a otros potentes sistemas gestores de bases de datos como son Oracle, PostgreSQL o MySQL. La versión 2012 s la última plataforma de información preparada para la nube de Microsoft. Las organizaciones pueden utilizar SQL Server 2012 para proteger de manera eficiente, desbloquear, y ampliar el poder de sus datos a través del escritorio, dispositivo móvil, centro de datos, y ya sea una nube privada o pública. Basándose en el éxito del lanzamiento de SQL Server 2008 R2, SQL Server 2012 se ha hecho un gran impacto en las organizaciones de todo el mundo con sus capacidades significativas. Se proporciona a las organizaciones con el rendimiento y la disponibilidad de misión crítica, así como el potencial para desbloquear ideas innovadoras con el descubrimiento de datos generalizada en toda la organización. Finalmente, SQL Server 2012 ofrece una variedad de soluciones híbridas que puede elegir. Por ejemplo, una organización puede desarrollar e implementar aplicaciones y soluciones de base de datos en entornos tradicionales, y en nubes privadas o nubes públicas. Por otra parte, estas soluciones pueden integrarse fácilmente una con la otra, ofreciendo una solución híbrida totalmente integrado. Ver Siguiente figura. Base de datos I. Guía 1 19 Características de SQL Server. Soporte de transacciones. Escalabilidad, estabilidad y seguridad. Soporta procedimientos almacenados. Incluye también un potente entorno gráfico de administración, que permite el uso de comandos DDL y DML gráficamente. Permite trabajar en modo cliente-servidor, donde la información y datos se alojan en el servidor y los terminales o clientes de la red sólo acceden a la información. Además permite administrar información de otros servidores de datos. Este sistema incluye una versión reducida, llamada MSDE con el mismo motor de base de datos pero orientado a proyectos más pequeños, que en sus versiónes 2005 y 2008 pasa a ser el SQL Express Edition, que se distribuye en forma gratuita. Es común desarrollar completos proyectos complementando Microsoft SQL Server y Microsoft Access a través de los llamados ADP (Access Data Project). De esta forma se completa la base de datos (Microsoft SQL Server), con el entorno de desarrollo (VBA Access), a través de la implementación de aplicaciones de dos capas mediante el uso de formularios Windows. 18 Base de datos I, Guía 1 En el manejo de SQL mediante líneas de comando se utiliza el SQLCMD Para el desarrollo de aplicaciones más complejas (tres o más capas), Microsoft SQL Server incluye interfaces de acceso para varias plataformas de desarrollo, entre ellas .NET, pero el servidor sólo está disponible para Sistemas Operativos Historia de las versiones. Versión 1 Año Nombre de la versión 1989 SQL Server 1-0 1993 1995 1996 1998 SQL Server 4.21 SQL Server 6.0 SQL Server 6.5 SQL Server 7.0 1999 2000 SQL Server 7.0 OLAP Tools SQL Server 2000 (OS/2) (WinNT) 6.5 7 8 SQL Server 2000 8 9 10 10.5 11 2003 2005 2008 2010 2012 64-bit Edition SQL Server 2005 SQL Server 2008 SQL Server 2008 R2 SQL Server 2012 Los objetos de una base de datos Un SGBD como SQL Server, contiene muchos objetos, pero se dice que los objetos de base de datos más importantes son: La propia Base de Datos Las funciones definidas por el usuario El registro de transacciones Los informes Los catálogos de texto Las tablas Los tipos de datos Los grupos de archivos definidos por el Los diagramas usuario Las vistas Los usuarios Los procedimientos Los índices y llaves almacenados primarias Base de datos I. Guía 1 19 Objeto de la base de datos. La base de datos es el objeto de nivel más alto al que se puede hacer referencia en cualquier versión de SQL Server. Por regla general, una base de datos es un grupo que incluye, al menos, un conjunto de objetos de tabla y, con mucha frecuencia, otros objetos, como procedimientos almacenados, desencadenadores y vistas que pertenecen a una agrupación determinada de datos guardados en las tablas de la base de datos. Un RDBMS, como SQL Server, puede tener múltiples bases de datos de usuario en un solo servidor o puede tener una sola base de datos. La cantidad que resida en un solo SQL Server dependerá de factores como la capacidad (potencia de la CPU, limitaciones E/S del disco, memoria, etc.), la autonomía (una persona tiene derechos de administración para el servidor en el que se está ejecutando el sistema y otra persona tiene derechos de administración para un servidor diferente) o simplemente de cuántas base de datos tenga su empresa o su cliente. La primera vez que cargue SQL Server, tendrá cuatro bases de datos del sistema: Master: Registra toda la información del sistema para una instancia de SQL Server. Msdb: La utiliza el Agente SQL Server para programar alertas y trabajos. Model: Se utiliza como plantilla para todas las bases de datos creadas en la instancia de SQL Server. Las modificaciones hechas a la base de datos model, como el tamaño de la base de datos, la intercalación, el modelo de recuperación y otras opciones de base de datos, se aplicarán a las bases de datos que se creen con posterioridad. Tempdb: Área de trabajo que contiene objetos temporales o conjuntos de resultados intermedios. Para que el servidor se ejecute correctamente, tienen que instalarse todas. (De hecho, algunas no se ejecutarán si no están todas (instaladas). A continuación se listan algunos de los ejemplos de Base de Datos que se pueden descargar y trabajar con ellas: 18 Base de datos I, Guía 1 AdventureWorks(la base de datos ejemplo) AdventureWorksDW(ejemplo para utilizar con Análisis Services) Northwind pubs Procedimiento Bibliografía Iniciar el SQL Server Management Studio Guía 1 En el menú Inicio, Seleccione todos los programas, haga click en Microsoft SQL Server 2012 y a continuación, haga clic en SQL Server Management Studio. En el cuadro de dialogo Connect to Server, en la casilla Autenticación, podemos seleccionar autenticación de Windows(que no solicita contraseña) o autenticación de SQL Server(usuario: sa y la contraseña: 123456), seleccione cualquier modo de autenticación Presione Conectar para iniciar el SQL Server Management Studio. Base de datos I. Guía 1 19 Entorno del SQL Server Management Studio Crear una base de datos 18 Base de datos I, Guía 1 En el Explorador de objetos, conéctese a una instancia del Motor de base de datos de SQL Server y expándala. Haga clic con el botón secundario en Bases de datos y, a continuación, en Nueva base de datos. En Nueva base de datos, especifique un nombre de base de datos. Si desea crear la base de datos aceptando todos los valores predeterminados, haga clic en Aceptar; de lo contrario, continúe con siguientes los pasos opcionales. o Para cambiar el nombre de nombre del propietario, haga clic en (…) para seleccionar otro. o Para cambiar los valores predeterminados de los archivos de datos y de registro de transacciones principales, en la cuadrícula Archivos de la base de datos, haga clic en la celda correspondiente y especifique el nuevo valor. o Para cambiar la intercalación de la base de datos, seleccione la página Opciones y una intercalación de la lista. Base de datos I. Guía 1 19 o Para cambiar el modelo de recuperación, seleccione la página Opciones y un modelo de recuperación de la lista. o Para cambiar opciones de base de datos, seleccione la página Opciones y modifique las opciones de la base de datos. o Para agregar un nuevo grupo de archivos, haga clic en la página Grupos de archivos. Haga clic en Agregar y especifique los valores para el grupo de archivos. o Para agregar una propiedad extendida a la base de datos, seleccione la página Propiedades extendidas. o En la columna Nombre, escriba un nombre para la propiedad extendida. o En la columna Valor, escriba el texto de la propiedad extendida. Por ejemplo, especifique una o varias instrucciones que describan la base de datos. 18 Base de datos I, Guía 1 Archivo Primario (Primary): Estos archivos contienen la información de inicio para la base de datos, se utiliza también para almacenar datos y cada base de datos tiene un único archivo principal. Archivos de transacciones (Log): Estos archivos contienen la información de registro que se utilizar para recuperar la base de datos, debe haber al menos un archivo de este tipo aunque puede haber más de uno, su tamaño mínimo es de 512 kb y es el archivo Log. Para crear la base de datos, haga clic en Aceptar. Eliminar una base de datos En el Explorador de objetos, conéctese a una instancia del Motor de base de datos de SQL Server y, a continuación, expándala. Expanda Bases de datos, haga clic con el botón secundario en la base de datos que desee eliminar y, a continuación, haga clic en Eliminar. Confirme que haya seleccionado la base de datos correcta y haga clic en Aceptar. Usando la consola de consultas (T-SQL). T-SQL (Transact-SQL) es el principal medio de interacción con el Servidor. Permite realizar las operaciones claves en SQL Server, incluyendo la creación y modificación de esquemas de la base de datos, la introducción y edición de los datos en la base de datos, así como la administración del servidor como tal. Esto se realiza mediante el envío de sentencias de TSQL y declaraciones que son procesadas por el servidor y los resultados (o errores) regresan a la aplicación cliente. Para utilizar las consultas activaremos consultas en el siguiente icono: la consola de Base de datos I. Guía 1 19 A continuación aparecerá en la parte central la consola de consultas. Ahora para crear siguiente orden: una consulta en la consola digite la A continuación presione el icono: y compruebe que la base de datos se creo correctamente, actualizando el explorador de objetos, y expandiendo Database y expanda Ejemplo_1 y vera que ha sido creado con éxito. 18 Base de datos I, Guía 1 Para borrar dicha base de datos ejecute la siguiente orden: Presione actualice el explorador de soluciones y compruebe que la base de datos ha sido borrada. Ejercicios Cree 10 bases de datos en 5 (Ejemplo_1, Ejemplo_2, GuíaEjemplo_3, 3 Ejemplo_4, Ejemplo_5) en forma gráfica y 5 (Ejemplo_6, Ejemplo_7, Ejemplo_8, Ejemplo_9, Ejemplo_10) la consola. Muestre al docente las instrucciones Guíausando 4 utilizadas fía Borre al menos 8 bases de datos en forma gráfica y usando la consola. Investigación Complementaria Investigue como cambiar el nombre a la base de datos en la consola. Investigue las restricciones de nombres que Guíapuede 3 tener una base de datos. Investigue que son las tablas (próxima clase). Guía 4 Bibliografía fí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