Curso de Introducción a la Administración de Bases de Datos
3/5
()
Información de este libro electrónico
El buen uso de las bases de datos es fundamental para las buenas prácticas en la programación actual. Una base de datos optimizada, con sus backups automatizados, con el uso de triggers, etc... es lo que dará finalmente agilidad al desarrollador de aplicaciones con bases de datos y al rendimiento de las propias aplicaciones que trabajan con bases de datos.
Debido al aumento exponencial de las nuevas tecnologías de la información, sumado al uso de las tecnologías móviles con acceso a Internet, el volumen de datos que manejan tanto las empresas, como muchos particulares (con solamente almacenar algunos datos de sus redes sociales y contactos profesionales) se ha incrementado notablemente, con lo cual, a día de hoy es casi imposible imaginar una aplicación que no necesite trabajar con una base de datos.
Las Bases de datos son colecciones de información (datos) que se relacionan para crear un sentido y dar más eficiencia a una encuesta, un estudio organizado o la estructura de datos de una empresa. Son de vital importancia para las empresas, y en las últimas décadas se han convertido en la parte principal de los sistemas de información. Normalmente los datos permanecen allí durante varios años sin necesidad de cambiar su estructura.
Las bases de datos suelen ser gestionadas por sistemas de gestión de bases de datos (SGBD), que surgieron en los años 70. Antes de estos, las aplicaciones utilizadas en los archivos del sistema operativo para almacenar sus sistemas de información. En los años 80 la tecnología de SGBD relacional llegó a dominar el mercado, y en la actualidad se utiliza casi exclusivamente. Otro tipo de bases de datos destacadas son los SGBD orientados a objetos, donde su estructura o aplicaciones que lo utilizan están en constante cambio. La aplicación principal de la base de datos principal es la que controla todas las operaciones empresariales.
Relacionado con Curso de Introducción a la Administración de Bases de Datos
Libros electrónicos relacionados
Fundamentos de Programación y Bases de Datos Calificación: 0 de 5 estrellas0 calificacionesFundamentos de bases de datos: Notas de referencia Calificación: 0 de 5 estrellas0 calificacionesFundamentos de Programación y Bases de Datos: 2ª Edición Calificación: 0 de 5 estrellas0 calificacionesManual de Supervivencia del Administrador de Bases de Datos Calificación: 0 de 5 estrellas0 calificacionesUF1471 - Bases de datos relacionales y modelado de datos Calificación: 0 de 5 estrellas0 calificacionesSQL Server 2014 Soluciones prácticas de administración: Software para bases de datos Calificación: 5 de 5 estrellas5/5Diseño de bases de datos Calificación: 0 de 5 estrellas0 calificacionesUF2175 - Diseño de bases de datos relacionales Calificación: 0 de 5 estrellas0 calificacionesEstructuras de datos y algoritmos fundamentales Calificación: 0 de 5 estrellas0 calificacionesPHP - Creación de páginas Web dinámicas 2a edición Calificación: 0 de 5 estrellas0 calificacionesAprende Programación Web con PHP y MySQL Calificación: 4 de 5 estrellas4/5Curso de Programación y Análisis de Software - 2ª Edición Calificación: 0 de 5 estrellas0 calificacionesSeguridad en Bases de Datos y Aplicaciones Web - 2º Edición Calificación: 0 de 5 estrellas0 calificacionesUF2176 - Definición y manipulación de datos Calificación: 0 de 5 estrellas0 calificacionesUF2405 - Modelo de programación web y bases de datos Calificación: 0 de 5 estrellas0 calificacionesUF2213 - Modelos de datos y visión conceptual de una base de datos Calificación: 0 de 5 estrellas0 calificacionesAdministración de sistemas operativos Calificación: 4 de 5 estrellas4/5UF1472 - Lenguajes de definición y modificación de datos SQL Calificación: 0 de 5 estrellas0 calificacionesIngeniería y Arquitectura del Software Calificación: 3 de 5 estrellas3/5Curso de Programación y Análisis de Software Calificación: 4 de 5 estrellas4/5Backbone JS Calificación: 0 de 5 estrellas0 calificacionesProgramación Orientada a Objetos en JAVA Calificación: 0 de 5 estrellas0 calificacionesAprende a programar en C# Calificación: 5 de 5 estrellas5/5Bases de datos en SQL Server Calificación: 0 de 5 estrellas0 calificacionesDesarrollo de Software: Requisitos, Estimaciones y Análisis Calificación: 0 de 5 estrellas0 calificacionesAprende a Programar en R Calificación: 4 de 5 estrellas4/5UF2215 - Herramientas de los sistemas gestores de bases de datos. Pasarelas y medios de conexión Calificación: 0 de 5 estrellas0 calificacionesProgramación y Lógica Proposicional Calificación: 4 de 5 estrellas4/5Curso de Programación con Java - 2ª Edición Calificación: 5 de 5 estrellas5/5
Modelado y diseño de datos para usted
Aprendizaje Automático En Acción: Un Libro Para El Lego, Guía Paso A Paso Para Los Novatos Calificación: 1 de 5 estrellas1/5Curso de Consultoría TIC. Gestión, Software ERP y CRM Calificación: 5 de 5 estrellas5/5El Nuevo Reto: Los Datos Abiertos En Colombia Calificación: 0 de 5 estrellas0 calificacionesAprende a Modelar Aplicaciones con UML - Tercera Edición Calificación: 2 de 5 estrellas2/5Seguridad en Bases de Datos y Aplicaciones Web - 2º Edición Calificación: 0 de 5 estrellas0 calificacionesTablas dinámicas y Gráficas para Excel Calificación: 0 de 5 estrellas0 calificacionesIntroducción a la Gestión Documental con OpenProdoc. Una guía sencilla y gradual. Calificación: 0 de 5 estrellas0 calificaciones
Comentarios para Curso de Introducción a la Administración de Bases de Datos
1 clasificación0 comentarios
Vista previa del libro
Curso de Introducción a la Administración de Bases de Datos - Miguel Ángel Benítez
Tabla de contenido
Introducción
Conceptos iniciales de bases de datos
Modelo Conceptual de Bases de Datos
Ingeniería de Bases de datos
El Modelo Lógico
Introducción a MySQL
Data Definition Language en MySQL
Manipulación de datos en MySQL
Sentencia SELECT en MySQL
Uniones en MySQL
Tópicos en MySQL
Vistas en Bases de datos
Procedimientos y funciones en MySQL
Comandos de Programación en MySQL
Triggers
Las transacciones en las bases de datos
Los Índices en MySQL
Comandos DCL en MySQL
Backup y Seguridad con MySQL
Dispositivos de almacenamiento de bases de datos
Matriz redundante de discos independientes (RAID)
Registros, archivos y organizaciones de archivos primarios en bases de datos
Estructuras de indexación para archivos de bases de datos
Algoritmos para el procesamiento y optimización de consultas
Teoría del Procesamiento de Transacciones en las bases de datos
Concurrencia de transacciones en bases de datos
El Administrador de Bases de Datos
Proyecto físico y ajustes
Open Database Connectivity (ODBC)
Conceptos iniciales y acceso a través de la línea de comandos en SQLite
Bases de datos distribuidas
Proyecto y creación de la base de datos
Ajuste y monitoreo de rendimiento
Backup y Recuperación
Almacenamiento de Datos
Tipos de Backups
Administración de la Base de Datos
Filegroups
Arquitectura de una base de datos
Creando una base de datos a través de mandos T-SQL
Añadiendo un archivo secundario
Conclusión
Seguridad en las Bases de Datos
Los principios de la seguridad de la información
Tipos de seguridad
La seguridad y el DBA
Cuentas de Usuario
Inyección de SQL
Privilegios
Control de Flujo
Criptografía
La Importancia de los Backups
Conclusión
Índices
Tipos de índices del SQL Server
Revisando
Creación de un índice paso a paso
Observaciones
Conclusión
Ejemplo. análisis del rendimiento de los índices
Optimización y Tunning
Conceptos sobre almacenamiento de datos
Conclusión
Optimización
Uniones versus Sub-consultas Correlacionadas.
Declaración Incompleta
El Operador LIKE
Las declaraciones T_SQL y el Rendimiento de las Consultas
Los Índices de Búsqueda
La arquitetura del Full-Text Search
Implementando Full-Text Search
Creando Full-Text Index
Poblar Índices de Full-Text
Actualizando Índices de Full-Text
Añadiendo Full-Text Search en una Tabla
Creando Índices Full-Text paso a paso
Poblar el catálogo para full-text searching.
Construyendo Full-Text Queries
Usando Transact-SQL Predicates y Funciones
Configurando el idioma del Full-Text Search
Profiler de SQL Server
Creando una trace paso-paso
Conclusión
Backup de Base de Datos
Estrategias de Backup/Restore
Backup Devices
Recovery model
Programando Tareas
Programar Tareas. Facilitando la Vida del Administrador
Creando un Job Paso a Paso
Seguridad en el SQL Server
Primero Necesitamos Conectar con el Servidor SQL Server
Permisos para Acceder a los Objetos de la base de Datos
Schema - Principal
Creando Logins con comandos T-SQL
Creando Roles
Creando Nuevos Roles Usando T-SQL
Permiso de Acceso a la base de Datos (T-SQL)
Añadiendo Usuarios Como Miembro de Uno o Más Roles
Atribuir Permisos de la Base De Datos
Trabajando con Schema
Gestión y Alta Disponibilidad
Objetivo
Base de datos relacional
Almacenamiento
Entornos críticos y alta disponibilidad
Alta disponibilidad en almacenamiento
Base de datos Oracle
Oracle ASM
Oracle ASM Files
Implementación del Oracle ASM
Conclusión
Acerca del autor
Introducción
El buen uso de las bases de datos es fundamental para las buenas prácticas en la programación actual. Una base de datos optimizada, con sus backups automatizados, con el uso de triggers, etc... es lo que dará finalmente agilidad al desarrollador de aplicaciones con bases de datos y al rendimiento de las propias aplicaciones que trabajan con bases de datos.
Debido al aumento exponencial de las nuevas tecnologías de la información, sumado al uso de las tecnologías móviles con acceso a Internet, el volumen de datos que manejan tanto las empresas, como muchos particulares (con solamente almacenar algunos datos de sus redes sociales y contactos profesionales) se ha incrementado notablemente, con lo cual, a día de hoy es casi imposible imaginar una aplicación que no necesite trabajar con una base de datos.
Las Bases de datos son colecciones de información (datos) que se relacionan para crear un sentido y dar más eficiencia a una encuesta, un estudio organizado o la estructura de datos de una empresa. Son de vital importancia para las empresas, y en las últimas décadas se han convertido en la parte principal de los sistemas de información. Normalmente los datos permanecen allí durante varios años sin necesidad de cambiar su estructura.
Las bases de datos suelen ser gestionadas por sistemas de gestión de bases de datos (SGBD), que surgieron en los años 70. Antes de estos, las aplicaciones utilizadas en los archivos del sistema operativo para almacenar sus sistemas de información. En los años 80 la tecnología de SGBD relacional llegó a dominar el mercado, y en la actualidad se utiliza casi exclusivamente. Otro tipo de bases de datos destacadas son los SGBD orientados a objetos, donde su estructura o aplicaciones que lo utilizan están en constante cambio. La aplicación principal de la base de datos principal es la que controla todas las operaciones empresariales.
Conceptos iniciales de bases de datos
La informática es una ciencia que se encarga de recibir datos, realizar el procesamiento de los mismos y devolver el resultado de la transformación al público en general, como una necesidad específica. Una de las preocupaciones de la informática está en cómo proporcionar a los equipos informáticos la capacidad para almacenar en ellos la máxima cantidad de información de forma estructurada a fin de facilitar las operaciones a realizar con esta información con la menor manipulación manual posible. En esta preocupación se fundamenta el estudio de los sistemas de bases de datos.
En general, los profesionales que se especializan en bases de datos trabajan en colaboración con otros profesionales de la informática, los ordenadores, la tecnología y otras áreas, para la gestión de los sistemas de datos que proporcionan la información necesaria para que puedan llevar a cabo sus acciones profesionales.
Definición de los datos y la información
Para comenzar nuestro estudio sobre las bases de datos, es necesario, en primer lugar, definir lo que son los datos y lo que es la información.
Dato es el nombre que damos a cualquier valor, tanto si tiene sentido como no. Por ejemplo: 1, María, en 2222,... es muy probable que usted entienda lo que decimos, pero no entienda de qué estamos hablando. Esto es porque, en estos casos, son sólo valores, sin sentido en sí mismos.
La información es el nombre que damos a un conjunto de datos estructurados con el objetivo de tener una idea. Si decimos que María es el nombre de su tía, María es parte de una estructura que da sentido al valor indicado.
El almacenamiento de datos
A lo largo de la historia, los seres humanos siempre han tratado de desarrollar herramientas y técnicas para almacenar datos, ya sea en su mente o a través de la escritura sobre piedra, papel y otros medios de comunicación. Lógicamente, cada tipo de almacenamiento tiene sus ventajas y desventajas en cuanto a su uso.
Los primeros sistemas informáticos tenían poca memoria física y la información necesaria para el procesamiento de la computadora se almacenaba en medios como la cinta perforada. Con la cantidad creciente de información a ser almacenada y procesada, surgió el concepto de archivo, es decir, un grupo de datos estructurados, con un nombre y almacenado en el disco duro del ordenador. Como aún no había existía el concepto de conectar los ordenadores en red, cada departamento de una organización tenía su archivo de datos y estos no se comunicaban entre ellos. Lógicamente, esto trajo muchos problemas: si un departamento necesitaba una información y no estaba en sus archivos de datos, debía conseguir que otro departamento se la facilitara. La información que fuera necesaria en varios departamentos debía ser registrada en los archivos de cada departamento, los cuales, a medida que pasaba el tiempo, generaban información obsoleta.
Por lo tanto, se hizo necesario integrar la información de una organización en un solo lugar y establecer el acceso a la misma. La investigación en torno a estas necesidades trajo el desarrollo de las bases de datos y la gestión de los sistemas de bases de datos. Los primeros sistemas de bases de datos surgieron a mediados de la década de 1960.
Definición de las bases de datos
Llamamos base de datos (o bases de datos) a un conjunto de datos dispuestos con el objetivo de proporcionar información a los usuarios y permitir transacciones como inserción, eliminación y actualización de datos.
––––––––
Hay varias formas (modelos) para construir una base de datos:
Flat file: archivos planos que almacenan información.
Relacional: tiene este nombre debido a que organiza los datos en tablas y establece relaciones entre las tablas. Este es el modelo más popular y el que utilizamos para estudiar los conceptos en este libro.
Orientado a objetos: tiene este nombre debido a que organiza los datos en clases y objetos.
Jerarquico: modelo que organiza los datos en forma de árbol. Fue uno de los primeros modelos.
Red: organiza los datos en tablas, que son conectados por referencias, creándose una estructura como una red.
Dimensional: organiza e integra los datos en múltiples dimensiones, lo que facilita las consultas de los datos.
Sistema de Base de Datos (SBD)
Sistema de gestión de bases de datos (SBD) es el nombre dado a un conjunto de programas informáticos que gestionan una base de datos. Su objetivo principal es evitar la manipulación directa por un usuario de una base de datos y establecer un marco estándar para que los datos sean organizados y manipulados y tengan una interfaz estándar para que otros programas puedan acceder a la base de datos. Los SBD también proporcionan herramientas adicionales que tienen como objetivo ayudar a manipular los datos de una base de datos.
Hay muchos sistemas SBD en el mercado. En las bases de datos relacionales, los sistemas más populares son:
Oracle
SQL Server
MySQL
PostgreSQL
En este libro utilizaremos MySQL como herramienta principal. Esto se debe a que MySQL es un sistema de base de datos libre, de código abierto, rico en funciones para los usuarios novatos, y más sencillo que otros sistemas con características similares como PostgreSQL. Es importante destacar que en la actualidad en el mercado, MySQL está más valorado en el segmento de desarrollo web. El mercado de bases de datos, en general, ha considerado como más profesional a Oracle y a SQL Server; ambos pueden ser buenas opciones si usted tiene la intención de centrarse profesionalmente en el área de bases de datos.
Los usuarios de SBD
Los principales tipos de usuarios de los sistemas de bases de datos son:
Los administradores de bases de datos (ABD): profesionales responsables de la administración de sistemas SBD. Su función es regular el acceso de los usuarios a las bases de datos y asegurar el mantenimiento y la seguridad de las mismas.
Los analistas de bases de datos: profesionales encargados de diseñar e implementar los SBD y hacer las integraciones necesarias con cada conjunto de usuarios del sistema.
Los usuarios finales: este término se refiere a todos los usuarios que no tienen que ver directamente con la gestión de la base de datos. Esto va desde otros profesionales que necesitan acceder a la base de datos (por ejemplo, programadores, analistas de sistemas) a otros usuarios comunes (tales como gerentes, profesionales de las finanzas y similares) que manipulan la base de datos, ya sea directamente (a través de una interfaz de nivel alto) o indirectamente (a través de una aplicación que tiene acceso a la base de datos).
Modelo Conceptual de Bases de Datos
El modelo conceptual es el primer modelo desarrollado para crear una base de datos. Su objetivo es esbozar la estructura de la base de datos sin preocuparse por como es su estructura. Hay varias formas de crear este modelo si bien el más utilizado por los desarrolladores de bases de datos es el modelo Entidad-Relación (MER), desarrollado en los EE.UU. por Peter Pin-Shan Chen y presentado al público en 1975. La idea básica de este modelo es abstraer problemas del mundo real, la conversión de los seres, los acontecimientos y las cosas en entidades y el establecimiento de vínculos entre estas (lo que llamamos relación).
Modelo Entidad-Relación (MER)
Para crear el MER, seguimos los siguientes pasos:
1. Se define el problema a resolver por la base de datos: entender para que se utilizará la base de datos. Por ejemplo, imaginemos que la necesidad de nuestra base de datos es almacenar los datos de las compras de los clientes de un supermercado.
2. Dividir el problema en entidades: si entendemos cual es la necesidad que debe resolver la creación de la base de datos, ahora debemos establecer las entidades que formarán parte de nuestra base de datos. Llame tipo de entidad, a un conjunto de elementos con las mismas características. Para cada tipo de entidad debe hacer una representación con un rectángulo y el nombre del tipo de entidad en el centro. Sobre la base de nuestro ejemplo, en el supermercado, podemos ver dos tipos principales de entidades: clientes y compras. Lógicamente, estamos trabajando con una muestra de sólo dos entidades: una base de datos común tiene varias entidades relacionadas.
3. Determinar los atributos de cada entidad: nombrar cada tipo de atributo característico que nos interesa almacenar para cada tipo de entidad. Esto significa que queremos determinar qué información necesitamos de cada tipo de entidad, descartando los que no son convenientes. Utilizamos óvalos con el nombre de cada atributo en el centro, conectados a la entidad con los que se relaciona. En nuestro ejemplo, ¿que nos puede interesar del cliente? Por ejemplo, vamos a elegir el nombre y el DNI. De la compra, vamos a elegir el producto, el valor del producto y el valor de la compra. Cada valor diferenciado que tenemos dentro de un tipo se llama atributo.
4. Determinar el identificador: después de determinar los atributos, debemos elegir un atributo clave. Clave significa que este campo se utiliza para diferenciar los datos de un mismo tipo de entidad. Para determinar el atributo clave, en general, se elije uno ya existente que sabemos que nunca se repetirá. Si no es así, podemos crear un nuevo campo con este propósito. Dentro de nuestro modelo, sabemos que el DNI puede ser un atributo clave, ya que es un valor único para cada cliente. Sin embargo, en el valor de la compra, puede haber valores repetidos. En este caso, se puede crear un nuevo campo (llamémoslo Código de Compra) que siempre va a ser diferente para cada compra.