Academia.eduAcademia.edu

APUNTES UNIDAD II

MySQL

TALLER DE BASE DE DATOS UNIDAD II (TAREA No. 1 REALIZAR UNA PRESENTACION DEL COMO UTILIZAR MYSQL TANTO EL SOFTWARE INSTALADO COMO EN SOFTWARE PORTABLE) ESTRUCTURA DE UN SISTEMA DE BASES DE DATOS. Un sistema de bases de datos se divide en módulos que se encargan de cada una de las responsabilidades del sistema completo. A grandes rasgos se puede dividir en dos los componentes: gestor de almacenamiento y procesador de consultas. GESTOR DE ALMACENAMIENTO Proporciona la interfaz entre los datos de bajo nivel en la base de datos y los programas de aplicación y consultas emitidas al sistema. Es responsable de la interacción con el gestor de archivos para realizar el almacenamiento, recuperación y actualización de los datos en la base de datos. Entre sus componentes se incluyen: a) Gestor de autorización e integridad, comprobando que se satisfagan las restricciones de integridad y la autorización de los usuarios para acceder a los datos. b) Gestor de transacciones, asegura la consistencia de la base de datos a pesar de los fallos del sistema, y controla las transacciones concurrentes. c) Gestor de archivos, gestiona la reserva de espacio de almacenamiento de disco y las estructuras de datos usadas para representar la información almacenada en disco. d) Gestor de memoria intermedia, permite que la base de datos maneje tamaños de datos mucho mayores que el tamaño de la memoria principal. PROCESADOR DE CONSULTAS Ayuda al sistema de bases de datos a simplificar y facilitar el acceso a los datos. Sus componentes incluyen: a) Intérprete del LDD, interpreta las instrucciones del LDD (Lenguaje de definición de datos) y registra las definiciones en el diccionario de datos. Una vez finalizado el diseño de una base de datos y escogido un SGBD (Sistema de Gestión de la Base de Datos) para su implementación, el primer paso consiste en especificar el esquema conceptual y el esquema interno de la base de datos, y la correspondencia entre ambos. En muchos SGBD no se mantiene una separación estricta de niveles, por lo que el administrador de la base de datos y los diseñadores utilizan el mismo lenguaje para definir ambos esquemas, es el lenguaje de Elaboró: M. en C. Ing. David Cortés Abad 8 TALLER DE BASE DE DATOS definición de datos (LDD). El SGBD posee un compilador de LDD cuya función consiste en procesar las sentencias del lenguaje para identificar las descripciones de los distintos elementos de los esquemas y almacenar la descripción del esquema en el catálogo o diccionario de datos. El diccionario contiene metadatos (representan el contenido informativo): describe los objetos de la base de datos. Cuando en un SGBD hay una clara separación entre los niveles conceptual e interno, el LDD sólo sirve para especificar el esquema conceptual. Para especificar el esquema interno se utiliza un lenguaje de definición de almacenamiento (LDA). Las correspondencias entre ambos esquemas se pueden especificar en cualquiera de los dos lenguajes. Para tener una verdadera arquitectura de tres niveles sería necesario disponer de un tercer lenguaje, el lenguaje de definición de vistas (LDV), que se utilizaría para especificar las vistas de los usuarios y su correspondencia con el esquema conceptual. b) Compilador del LMD, (Lenguaje de manejo de datos) traduce las instrucciones del LMD en un lenguaje de consultas a instrucciones de bajo nivel que entiende el motor de evaluación de consultas. El compilador del LMD también optimiza las consultas. Una vez creados los esquemas de la base de datos, los usuarios necesitan un lenguaje que les permita manipular los datos de la base de datos: realizar consultas, inserciones, eliminaciones y modificaciones. Este lenguaje es el que se denomina lenguaje de manejo de datos (LMD). Hay dos tipos de LMD: los procedurales y los no procedurales. Con un LMD procedural el Programador, especifica qué datos se necesitan y cómo hay que obtenerlos. Esto quiere decir que el usuario debe especificar todas las operaciones de acceso a datos llamando a los procedimientos necesarios para obtener la información requerida. Estos lenguajes acceden a un registro, lo procesan y basándose en los resultados obtenidos, acceden a otro registro, que también deben procesar. Así se va accediendo a registros y se van procesando hasta que se obtienen los datos deseados. Las sentencias de un LMD procedural deben estar infiltradas en un lenguaje de alto nivel, ya que se necesitan sus estructuras (bucles, condicionales, etc.) para obtener y procesar cada registro individual. A este lenguaje se le denomina lenguaje anfitrión. Las bases de datos jerárquicas y de red utilizan LMD procedurales. Un LMD no procedural se puede utilizar de manera independiente para especificar operaciones complejas sobre la base de datos de forma concisa. En muchos SGBD se pueden introducir interactivamente instrucciones del LMD desde un terminal o bien infiltrarlas en un lenguaje de programación de alto nivel. Los LMD no procedurales permiten especificar los datos a obtener en una consulta o los datos que se deben actualizar, mediante una sola y sencilla sentencia. El Programador especifica qué datos quiere obtener o acceder a ellos. El SGBD traduce las sentencias del LMD en uno o varios procedimientos que manipulan los conjuntos de registros necesarios. Esto libera al usuario de tener que conocer cuál es la estructura física de los datos y qué algoritmos se deben utilizar para acceder a ellos. A los LMD no procedurales también se les denomina declarativos. Las bases de datos relacionales utilizan LMD no procedurales, como SQL (Structured Query Language). Los lenguajes no procedurales (lenguajes como “c”) son más fáciles de aprender y de usar que los procedurales (paquetes de programación como Visual Studio) y el programador debe realizar menos trabajo, siendo el SGBD quien hace la mayor parte. Elaboró: M. en C. Ing. David Cortés Abad 9 TALLER DE BASE DE DATOS La parte de los LMD no procedurales que realiza la obtención de datos es lo que se denomina un lenguaje de consultas. En general, las órdenes tanto de obtención como de actualización de datos de un LMD no procedural se pueden utilizar interactivamente, por lo que al conjunto completo de sentencias del LMD se le denomina lenguaje de consultas, aunque es técnicamente incorrecto. c) Motor de evaluación de consultas. Ejecuta las instrucciones de bajo nivel generadas por el compilador del LMD, es decir determina como se llevara a cabo cada consulta, si ésta es para un usuario o bien para consulta de la empresa u organización. Estructura general del sistema. Elaboró: M. en C. Ing. David Cortés Abad 10 TALLER DE BASE DE DATOS Descripción. Usuarios Normales. Son aquellos usuarios que buscan información con el propósito de adquirir un servicio, como el objetivo principal de la organización es la captación de clientes, a este tipo de usuarios se les debe ofrecer toda una gama de información del servicio que se les ofrece, es por ello que cobra importancia mostrarles con campos visuales que capten su atención. Programadores de Aplicaciones. Son los diseñadores de los programas y las rutinas que tienen a su cargo el buen funcionamiento de la Base de Datos, son los encargados de estructurar cada rutina de la Base de Datos, dar coherencia y lógica a los procesos internos que manipulen la información y entregar resultados óptimos de todo el procesamiento de datos; además de crear ventanas de dialogo adecuadas para captura, consulta e informes de transacciones y movimientos. Usuarios Sofisticados. Son los usuarios que hacen uso de Base de Datos principalmente para realizar todo tipo de consultas, normalmente con el propósito de tomar decisiones al realizar algún tipo de transacción o movimiento. Administrador de Base de Datos. Estos usuarios, ocupan un lugar muy importante para la Base de Datos, el número de integrantes necesariamente deberá ser limitado para evitar un mal manejo de la gestión de la Base de Datos, dependiendo de la complejidad de la misma y sus alcances es como se toma la decisión para el numero de administradores, en la mayoría de los casos, se asigna a una sola persona que lleve a cabo el control y la administración, dado que de esa manera para cualquier contingencia ésta pueda ser atendida por la misma persona en todo momento. (TAREA No. 2 REALIZAR UNA PRESENTACION DEL COMO CREAR Y MANEJAR ALTAS Y BAJAS PARA UNA BASE DE DATOS SENCILLA EN MYSQL MEDIOS DE ALMACENAMIENTO FÍSICO. El objetivo de un sistema de bases de datos es simplificar y facilitar la tarea de acceso a los datos, esto con el fin de agilizar procesos relacionados a la información contenida en la misma Base de Datos. Los medios de almacenamiento físico, deben ser capaces de resguardar toda la información contenida en la Base de Datos de manera segura y disponer de ella en cualquier momento y manipular archivos de una manera flexible, eficiente y confiable ante cualquier inconveniente que pueda surgir con la misma Base de Datos. Por supuesto, cada usuario contara con una clave de seguridad para poder acceder en forma privada a la cuenta virtual de almacenamiento. Los materiales físicos en donde se almacenan los datos se conocen como medios de almacenamiento o soportes de almacenamiento. Ejemplos de estos medios son los discos magnéticos (disquetes anteriormente y discos duros), los discos ópticos (CD, DVD), las Elaboró: M. en C. Ing. David Cortés Abad 11 TALLER DE BASE DE DATOS cintas magnéticas, los discos magneto-ópticos (discos Zip, discos Jaz, SuperDisk), las tarjetas de memoria, etc. Los componentes de hardware que escriben o leen datos en los medios de almacenamiento se conocen como dispositivos o unidades de almacenamiento. Por ejemplo, una disquetera o una unidad de disco óptico, son dispositivos que realizan la lectura y/o escritura en disquetes y discos ópticos, respectivamente. El almacenamiento se relaciona con dos procesos: a) Lectura de datos almacenados para luego transferirlos a la memoria de la computadora. b) Escritura o grabación de datos para que más tarde se puedan recuperar y utilizar. Los medios de almacenamiento han evolucionado en forma notable desde las primeras computadoras. En la actualidad existe una gran variedad tecnologías y dispositivos nuevos, pero el disco rígido sigue siendo el "almacén" principal de la información en la computadora. Clasificación de los Dispositivos de Almacenamiento. Los Dispositivos de Almacenamiento se pueden clasificar de acuerdo al modo de acceso a los datos que contienen: Acceso secuencial: En el acceso secuencial, el elemento de lectura del dispositivo debe pasar por el espacio ocupado por la totalidad de los datos almacenados previamente al espacio ocupado físicamente por los datos almacenados que componen el conjunto de información a la que se desea acceder. Acceso aleatorio: En el modo de acceso aleatorio, el elemento de lectura accede directamente a la dirección donde se encuentra almacenada físicamente la información que se desea localizar sin tener que pasar previamente por la almacenada entre el principio de la superficie de grabación y el punto donde se almacena la información buscada. Tipos de Dispositivos de Almacenamiento. a) Disquetes. Hasta hace algunos años, este medio de almacenamiento extraíble que se instaló en una PC era muy utilizado por su fácil transportación, pero por su baja capacidad de almacenamiento con el tiempo ha sido remplazado; aunque para algunos equipos de cómputo, siendo útiles como medio de arranque de algunas PC dadas sus características, modelo y antigüedad. b) Cinta Magnética. Aunque es un medio de almacenamiento que ya casi no se utiliza, por su antigüedad, aún existen empresas y organizaciones que las tienen en resguardo porque contienen información de los primeros procesos automatizados que llevaban a cabo con el surgimiento de las Bases de Datos, que de alguna manera ya permitían resguardar información con el propósito de su transportación hacia donde fuera requerida; la cinta magnética está formada por material plástico recubierto de material ferromagnético, sobre dicha cinta se registran los caracteres en formas de combinaciones de puntos, sobre pistas paralelas al eje longitudinal de la cinta. Estas cintas son soporte de tipo secuencial, esto supone un inconveniente puesto que para acceder a una información determinada se hace necesario leer todas las que le preceden, con la consiguiente pérdida de tiempo. Elaboró: M. en C. Ing. David Cortés Abad 12 TALLER DE BASE DE DATOS c) Tambores Magnéticos. Están formados por cilindros con material magnético capaz de retener información, Esta se graba y lee mediante un cabezal cuyo brazo se mueve en la dirección del eje de giro del tambor. El acceso a la información es directo y no secuencial. d) CD y DVD. Estos dispositivos de almacenamiento aún son muy utilizados dado que ofrecen seguridad en el resguardo de información, aunque para varias compañías de desarrollo de software son bien aprovechados para la venta y distribución de software. e) Pc – Cards. La norma de PCMCIA es la que define a las PC Cards, estas pueden ser medios de almacenamiento de I/O, son compactas y ligeras haciéndolas ideales para equipos portátiles debido a su pequeño tamaño, son usadas para el almacenamiento de datos, aplicaciones, tarjetas de memoria, cámaras electrónicas y teléfonos celulares. Las PC Cards tienen el tamaño de una tarjeta del crédito, pero su espesor varía. La norma de PCMCIA define tres PC Cards diferentes: -Tipo I 3.3 milímetros (mm) de espesor. -Tipo II son 5.0 mm espesor. -Tipo III son 10.5 mm espesor. Independientemente del tipo de Pc card que se utilice, el propósito principal de su uso es que permite una fácil transportación de información, pero debido a los modelos de equipos de cómputo para utilizarlas se hace necesario adquirir algún aditamento especial que haga posible accesarlas. f) Memoria USB. Actualmente, es un dispositivo muy utilizado por la facilidad que ofrece al respaldar información, existen un muy diverso y variado diseño de memorias de este tipo con diferentes capacidades, pero por su uso, se puede pensar que fue el principal medio que remplazo a los disquetes. g) El Disco duro. Este dispositivo es por excelencia el principal medio de almacenamiento, dado que la gran mayoría de equipos de cómputo contienen uno (salvo aquellos que contienen celdas de memoria como medio de almacenamiento y de trabajo), la evolución que han tenido los discos duros ha sido para mejorar su propio funcionamiento de modelos han cambiado de IDE a SATA actualmente los Sata, son los más utilizados dado también el avance tecnológico que han tenido los equipos de cómputo. Las grandes corporaciones y empresas exitosas, utilizan sin lugar a dudas como principal medio de almacenamiento a los discos duros, porque estos ya pueden instalarse como disco Elaboró: M. en C. Ing. David Cortés Abad 13 TALLER DE BASE DE DATOS interno o externo, por medio de un aditamento que le permite conectarlo a un puerto USB; los discos duros ya vienen con una capacidad más grande para resguardar un mayor número de información, por ello se les denomina dispositivos auxiliares además que por su estructura son más resistentes. Por lo anterior el ingeniero en sistemas deberá procurar que en todo momento el almacenamiento físico de la información de la Base de Datos y los respaldos que también se realicen, se hagan en disco duros. TAREA No. 3 REALIZAR UNA PRESENTACION DEL COMO CREAR Y MANEJAR CONSULTAS Y CAMBIOS PARA LA MISMA BASE DE DATOS EN MYSQL DE LA TAREA ANTERIOR.) ORGANIZACIÓN DE ARCHIVOS. Todo tipo de información se compone de dos elementos: a) Archivos de Datos. Son una colección de Registros, los cuales a su vez se subdividen en diferentes campos de distinto tamaño y longitud; los registros tienen una clave única que los identifica para realización de transacciones y movimientos. Jerarquización de los Archivos de Datos: BASE DE DATOS ARCHIVOS REGISTROS CAMPOS SUB CAMPOS Elaboró: M. en C. Ing. David Cortés Abad 14 TALLER DE BASE DE DATOS Registro. Es un conjunto de campos referentes a una entidad en particular y constituyen una unidad para su proceso. Un ejemplo de un registro puede ser la información de un determinado alumno universitario, que contiene los campos: libreta universitaria, apellido y nombre, número de documento, domicilio, fecha de nacimiento, entre otros campos. Libreta universitaria Apellido y nombre Número de documento Domicilio Fecha de nacimiento Registro Campo. Es un conjunto de caracteres capaz de suministrar una determinada información referida a un concepto. Al igual que en las variables, al definir un campo hay que indicar claramente sus características, ejemplo: Nombre: Identifica a ese conjunto de caracteres. Tipo: Tipo de caracteres que puede contener (alfabético, entero, etc.). Tamaño: Cantidad de caracteres que puede contener. Por ejemplo, si tenemos que definir al campo número de documento resultaría: Nombre: Documento Tipo: numérico Tamaño: 8 enteros Así, un campo es la entidad lógica más pequeña, consiste en un conjunto mínimo de bytes que conforman un dato. Estructura de los Archivos de Datos. La organización de un archivo define la forma en la que los registros se disponen sobre el soporte de almacenamiento, es decir se define la organización como la forma en que se estructuran los datos en un archivo. En general, se consideran tres organizaciones fundamentales: Organización Secuencial. Es una sucesión de registros almacenados en forma consecutiva sobre un soporte externo. Los registros están ubicados físicamente en una secuencia usualmente fijada por uno o más campos de control contenidos dentro de cada registro, en forma ascendente o descendente, en esta organización, el último registro contiene una marca (en general un asterisco) de fin de archivo, la cual se detecta con funciones tipo EOF (end of file) o FDA (Fin de Archivo). Registro 1 Registro 2 Registro 3 ….. Registro n EOF Elaboró: M. en C. Ing. David Cortés Abad 15 TALLER DE BASE DE DATOS Organización Directa o Aleatoria (Random). Los datos se colocan y se acceden aleatoriamente mediante su posición, es decir, indicando el lugar relativo que ocupan dentro del conjunto de posiciones posibles. En esta organización se pueden leer y escribir registros, en cualquier orden y en cualquier lugar. La Ventaja de este tipo de organización es la Rapidez de acceso a un registro específico. La Desventaja o inconvenientes es cuando se establece la relación entre la posición que ocupa un registro y su contenido, además puede desaprovecharse parte del espacio destinado al archivo. Registro 1 Registro n Registro 3 ….. Registro 2 Puntero Organización secuencial indexada. Un archivo con esta organización consta de tres áreas: Área de índices Área primaria Área de excedentes (overflow: espacio para sobrecupo) Ventajas: a) Rápido acceso y además, el sistema se encarga de relacionar la posición de cada registro con su contenido por medio del área de índices. b) Gestiona las áreas de índices y excedentes. Desventajas: a) Necesidad de espacio adicional para el área de índices. b) El desaprovechamiento de espacio que resulta al quedar huecos intermedios libres después de sucesivas actualizaciones. b) Archivos de programa. Las primeras bases de datos se construyeron para computadores mainframe enormes en los años 60, p. ej., IBM System/360. En ese tiempo, no había PC de escritorio, y esas bases de datos necesitaban personal altamente calificado. Aunque el hardware de los computadores antiguos era poco fiable, era mucho más lento y tenía menos Elaboró: M. en C. Ing. David Cortés Abad 16 TALLER DE BASE DE DATOS capacidad de almacenamiento, una característica de las bases de datos antiguas sigue resultando muy atractiva: muchos usuarios podían acceder a los datos mediante una red. En los años 70, científicos formaron la teoría de las bases de datos relacionales (términos como tabla, registro, campo y relacionalidad entre otros). Sobre los fundamentos de esta teoría se crearon las bases de datos IBM DB2 y Oracle, que han sido desarrolladas y utilizadas hasta estos días. A finales de los 70 se construyeron los primeros equipos de cómputo personales. Sus usuarios pudieron (gradualmente) utilizar muchos tipos de aplicaciones, incluyendo aquellas para el diseño y la programación de bases de datos. Cuando se trata de las enormes bases de datos de las empresas, la situación no ha cambiado: aún necesitan potentes y complejos dispositivos de almacenamiento para respaldar tanto las aplicaciones que dieron forma a la Base de Datos como la información que procesan. En el área de las bases de datos “accesibles” con interfaz de usuario gráfica para computadoras personales, el desarrollo tecnológico ha proporcionado las siguientes aplicaciones para su diseño y programación: DBase. Una herramienta para el funcionamiento de bases de datos para DOS, popular en los años 80. En la actualidad aún se utilizan archivos en formado DBase en algunos casos específicos debido a su simplicidad. Microsoft Access. Una aplicación para bases de datos (diseño y manipulación de datos mediante una interfaz gráfica) con muchas simplificaciones, que las hacían adecuadas para los principiantes, diseñada a finales de los años 80, basada en una arquitectura de 16 bits. En la actualidad, se sigue ofreciendo este producto y su uso está muy extendido, especialmente en empresas pequeñas, en las que no son requisitos ni la eficiencia ni un sistema multiusuario. FileMaker. Aplicación popular similar a MS Access en simplicidad, opera en las plataformas Windows y Macintosh, disponible desde 1985. FoxPro. Una aplicación similar a DBase (principios de los años 90). Después de ser adquirida por Microsoft, se introdujo la interfaz de usuario gráfica y por eso es utilizada para crear bases de datos en computadoras personales. Este producto todavía se ofrece, aunque en la actualidad ya se considera obsoleto. Kexi. Una aplicación multiplataforma (UNIX®/Linux®, Windows, Mac® OS X) diseñada en 2003, desarrollada de acuerdo con los principios del código abierto, parte de la comunidad global KDE, que entre otras cosas proporciona un entorno gráfico para los sistemas UNIX/Linux. La compañía OpenOffice Poland, ha contribuido de manera significante al desarrollo de Kexi, pero por ser una plataforma diferente de Windows no ha sido muy difundida. MySQL. “Para diseñar páginas que trabajen en servidor Linux, utilizaremos el lenguaje PHP y bases de datos MySQL”, indica el director de e-tecnia. Se trata de software libre, pero para determinadas aplicaciones comerciales hay que adquirir una versión comercial licenciada. Disponible para Linux, Mac y Windows. Elaboró: M. en C. Ing. David Cortés Abad 17 TALLER DE BASE DE DATOS MICROSOFT SQL SERVER. “Para diseñar páginas que funcionen en servidores Windows, usaremos la tecnología ASPX (ASP.NET) y bases de datos SQLserver”. Recientemente, existe una versión gratuita, SQL Server Express Edition, aunque con ciertas limitaciones (bases de datos de menos de 4 GB, no cuenta con el Agente de SQL Server) y está disponible para Windows. ORACLE. Se trata de la herramienta más potente de bases de datos, por lo que es probable que su capacidad desborde nuestras necesidades. “Las grandes bases de datos son Oracle, pero necesitaríamos una aplicación muy grande para utilizarlas”, disponible para Mac, Linux y Windows. MICROSOFT VISUAL STUDIO. Es el editor de Microsoft para SQL Server. Soporta varios lenguajes de programación, como ASP.NET, Visual C++, Visual C#, Visual J# y Visual Basic .NET. Puede crear aplicaciones que se intercomuniquen entre estaciones de trabajo, páginas web y dispositivos móviles. Disponible para Windows. ZEND STUDIO. Se trata de un editor para PHP que ofrece soporte para navegación en base datos y ejecución de consultas SQL, con prestaciones como autocompletado, ayuda de código, resaltado de sintaxis, etc. Disponible para Mac, Linux y Windows. ADOBE FLASH. Es una herramienta que trabaja sobre fotogramas, gráficos vectoriales y sonidos para la creación de las animaciones que podemos ver en los sitios web. Se trata del estándar del mercado en este campo. Disponible para Mac y Windows. La tecnología Flash, genera un archivo donde todos los elementos (textos, imágenes, sonidos...) quedan en un solo fichero .swf. Es una herramienta que funciona distinta a cualquier otro programa. Tiene una línea de tiempo y se van colocando los distintos elementos, logrando generar movimientos, enlaces, etc.”. El W3C (consorcio internacional que genera recomendaciones) ha recomendado SVG (gráficos vectoriales) como lenguaje alternativo a Flash para la creación de gráficos vectoriales bidimensionales estáticos o en movimiento. INKSCAPE. Es el programa de edición SVG más empleado y opción de software libre y gratuito. Está disponible para Linux, Mac y Windows (TAREA No. 4 REALIZAR UNA PRESENTACION DEL COMO CREAR Y MANEJAR REPORTES PARA LA MISMA BASE DE DATOS EN MYSQL DE LA TAREA ANTERIOR.) (TAREA No. 5 REALIZAR UNA PRESENTACION DEL COMO MANEJAR LA BASE DE DATOS EN MYSQL PERO CON PHP.) Elaboró: M. en C. Ing. David Cortés Abad 18