Taller de Bases de Datos

TALLER DE BASE DE DATOS

UNIDAD 0:

APORTACION AL PERFIL

  • La capacidad de diseñar y desarrollar bases de datos conforme a los requerimientos definidos, las normas organizacionales de manejo y seguridad de la información, utilizando tecnologías emergentes con el fin de integrar soluciones computacionales.
  • Las bases para asignaturas directamente vinculadas con el desarrollo de software y acceso a base de datos.

INTENCION DIDACTICA

  • Se organiza el temario de la materia en 7 unidades
  • En la unidad 1 se abarca los conceptos, características, requerimientos y elementos de instalación y configuración típica del gestor de base de datos .
  • La unidad 2 se introduce al alumno en la creación, modificación y eliminación de esquemas de bases de datos reales a través del lenguaje definición de datos, involucrando. elementos de integridad declarativa.
  • En la unidad 3 se lleva al alumno al manejo de datos a través del lenguaje y manipulación de datos, incluyendo la inserción, modificación, eliminación y recuperación de datos relacionados.
  • En la unidad 4, se entra el concepto de seguridad en las base de datos a través de la creación de usuarios y sus niveles de privilegios así como la creación de vistas para restricciones a usuarios


  • En la unidad 5 se lleva al alumno  a la operación multiusuario de la base de datos, el acceso concurrente y el control de transiciones.
  • En la unidad 6 se introduce al alumno al SQL, procedural a través del manejo de procedimientos almacenados y disparadores.
  • En la unida 7 se maneja la conectividad de la base de datos con distintas tecnologías de conexión, integrando bases de datos con lenguajes de programación.

COMPETENCIAS A DESARROLLAR

COMPETENCI ESPECIFICA: Crea y manipula base de datos , identificando las características principales de los gestores de base de datos y sus requerimientos

para su instalación y configuración , además de considerar elementos de integridad y seguridad para el tratamiento de la información.

COMPETENCIAS INSTRUMENTALES:

  • Capacidad cognitiva, para comprender y manipular ideas y pensamientos.
  • capacidades metodológicas, para manipular el ambiente, ser capaz de organizar el tiempo y planificar las estrategias para el aprendizaje, tomar decisiones y/o resolver problemas.
  • Destrezas tecnológicas relacionadas con destrezas computacionales así como búsqueda y manejo de información.


• Capacidad de análisis y síntesis.

• comunicación ora y escrita.

Habilidad para buscar y analizar

proveniente de fuentes diversas

• solución de problemas

• toma de decisiones.

COMPETENCIAS SISTEMATICAS:

• Capacidad para aplicar los conocimientos en la práctica.• Habilidades de investigación.• Capacidad de aprender.• Capacidad de adaptación a nuevas situaciones.• Capacidad de generar nuevas ideas (creatividad, liderazgo, capacidad de trabajo autónomo).• Capacidad para diseñar y gestionar proyectos.• Iniciativa y espíritu emprendedor.• Compromiso con la calidad.• Consecución de objetivos.• Capacidad para colaborar en proyectos sostenibles.
OBJETIVOS DEL CURSODesarrollar habilidades en el estudiante mediante la aplicación de técnicas apropiadas para el proceso de enseñanza-aprendizaje, en relación con el contenido del curso, para la creación y manipulación de bases de datos utilizando diferentes Sistemas de Gestión de Bases de Datos y considerando elementos de integridad y seguridad para el tratamiento de la información.COMPETENCIAS PREVIAS• Comprender los conceptos básicos de las bases de datos.• Definir el objeto de un problema a resolver con el modelado de bases de datos.• Construir modelos de bases de datos.• Aplicar técnicas UML para el modelado de bases de datos a través de una herramienta.• Aplicar operaciones SQL básicas.• Construir estructuras de bases de datos a partir de un modelo Entidad-Relación.• Implementar restricciones de integridad.• Diseñar esquemas de bases de datos relacionales bajo estándares.• Crear esquemas de base de datos en un DBMS.• Manipular bases de datos utilizando SQL.• Comprender y aplicar los conceptos de normalización.

UNIDAS 1: INSTALACION Y CONFIGURACION DEL SISTEMA GESTOR DE BASE DE DATOS EN DISTINTAS PLATAFORMAS.

¿QUE ES UN SGBD?

Los Sistemas de Gestión de Bases de Datos (SGBD), son aplicaciones que permiten a los usuarios definir, crear y mantener las bases de datos y proporcionan un acceso controlado a la misma.

Los SGBD es la aplicación que interactúa con los usuarios de los programas y las bases de datos.

Algunos de los SGBD más conocidos son: SQL, DB2, SLQ/DS, ORACLE, INGRES, INFORMIX, SYBASE, PARADOX, DBASE, ACCESS, FOXPRO, R, RM/T y RM/V2, MySQL

Objetivos del SGBDDefinir la base de datos mediante el Lenguaje de Definición de Datos (DDL), el cual permite especificar la estructura, tipo de datos y las restricciones sobre los datos, almacenandolo todo en la base de datos.Separar la descripción y manipulación de los datos, permitiendo un mayor entendimiento de los objetos, además de flexibilidad de consulta y actualización de los datos (Datos Metadatos).Permitir la inserción, eliminación, actualización, consulta de los datos mediante el Lenguaje de Manipulación de Datos (DML), lo que permite resolver el problema que presentan los sistemas de archivos, donde hay que trabajar con un conjunto fijo de consultas o la necesidad de tener muchos programas de aplicaciones. Existen dos tipos de programas de manejo de datos, los cuales se diferencian por la forma en que acceden a los datos.

Lenguajes procedurales: Manipulan la base de datos, registro a registro y se deben especificar las operaciones a realizar para obtener los datos resultado.
• Lenguajes no procedurales: Manipulan la base de datos en conjuntos de registros y se especifican que datos deben obtenerse como resultado sin plantear las forma de hacerlo.

El lenguaje no procedural más utilizado es SQL (Structure Query Languaje) que se ha convertido en un estándar y el lenguaje por defecto de los SGBD relacionales.Proporcionar acceso controlado a la base de datos.

• Seguridad: Los usuarios no autorizados no pueden acceder a la base de datos.

• Integridad: Mantiene la integridad y consistencia de la base de datos.

• Control de concurrencia: Permite el acceso compartido a la base de datos.

• Control de recuperación: Restablece la base de datos después de producirse un fallo de software o hardware.• Diccionario de datos: Contiene la descripción de los datos de la base de datos y es accesible por el usuario.

Proporcionar un mecanismo de vistas, que permita a cada usuario tener su propia vista o visión de la base de datos. El DDL nos permite definir las vistas como subconjuntos de la base de datos, permitiendo: Un nivel de seguridad que excluye datos para que no sean vistos por determinados usuarios.

• Permiten que los usuarios vean los datos en el formato deseado.Eliminar la redundancia de datos, establecer una mínima duplicidad en los datos y minimizar el espacio en disco utilizado.
Arquitectura de SGBDServidor de BD’s: Es el software (SGBD), que tiene la capacidad de administrar distintas bases de datos.Diccionario de datos: Es un archivo que contiene metadatos, es decir, «datos acerca de los datos». Este archivo se consulta antes de leer o modificar los datos reales en el sistema de base de datos. En otras palabras contiene la información de las diferentes bases de datos que contenga el SGBD y las definición de las tablas.Usuarios: Existen 3 tipos de usuarios.

• Usuario Final: Usa la Base de Datos realizando consultas, actualizaciones de datos etc., a través de un lenguaje de consulta, o a través de un programa mediante el lenguaje de consulta el usuario queda libre para poder hacer cualquier operación y mediante un programa el usuario queda restringido a lo que en este se estableció. 
•  Segundo Usuario: Programador de aplicaciones, desarrolla los sistemas necesarios para permitir la posibilidad de comunicación o extensión de información des Datos.   
• Administrador de la Base de Datos (DBA): Dentro de sus funciones podemos mencionar.
* Mantener en forma optima y eficiente la base de datos controlando procedimientos, instalaciones, procesos, etc..
* Realizando funciones de auditoria, manejando la seguridad de la Base de Datos, además de crear usuarios y accesos permitidos.

ventajas de las BD’s:

  • Se evita la inconsistencia de la información.
  • Se evita la redundancia de la información.
  • Mantiene la integridad de los datos.
  • Los datos pueden ser compartidos  por varias aplicaciones o usuarios.


  • Se mantienen niveles de seguridad en los datos.

Desventajas de las BD’s:

  • Al perder o dañarse la base de datos se hace irrecuperable las tablas, informes, consultas, etc, que en ellas existe.
  • Al tener una base de datos con demasiada información su acceso es lento ya que varios usuarios, pueden estar haciendo uso de esta.

UNIDAD 2: LENGUAJE DE DEFINICION DE DATOS (DDL)

Las instrucciones de DDL, son un subconjunto de sentencias SQL para crear, modificar o eliminar las estructuras de base de datos.
Estas declaraciones tienen un efecto inmediato sobre la base de datos, y también se registra la información en el diccionario de datos. Para crear una tabla, un usuario debe tener el permiso CREATE TABLE y un área de almacenamiento en el que la creación de objetos. El administrador de la base de datos utiliza los datos de Lenguaje de Control de Datos (DCL) declaraciones, que están cubiertos en una lección posterior, para otorgar privilegios a los usuarios.

Definiendo tablas

Una tabla, es un objeto de la base de datos que almacena datos en renglones y columnas.

Antes de crear una tabla, se debe diseñar su estructura:

  • Determinar el nombre de la tabla y sus columnas.
  •  La elección de tipo de dato para cada columna. 
  • Determinación de restricciones para cada columna.


Nombrando las tablas y columnas

Salvo indicaciones especificas del SGBD que se utilice, se recomienda que los nombres de las tablas y columnas que se crean en un SGBD cumplan con las siguientes reglas:

No usar más de 30 caracteres de longitud.

  • El primer carácter debe ser un alfabético.
  • Únicamente debe contener caracteres alfabéticos, numéricos o uno de los siguientes símbolos, $, #.
  • No duplicar el nombre.
  • No utilizar palabras reservadas del SGBD.
  • utilice nombres descriptivos para las tablas y columnas. 
  • Utilice el mismo nombre de columna para el mismo dato en diferentes tablas.

Tipos de datosUn tipo de dato es un atributo asignado a una columna que especifica el tipo de dato que se pude almacenar en la columna.A la hora de elegir un tipo de dato se debe considerar que este:

  • Tenga la precisión desea de los valores.
  • Pueda almacenar todos los posibles valores.
  • Tenga un almacenamiento eficiente.
  • Permita el crecimiento futuro.
  • Requiera el menor espacio de almacenamiento.


Restricciones para columnasLas restricciones de columnas son utilizadas para:

  • Hacer cumplir las reglas de negocio.
  • Implementar la integridad en la información a nivel de tabla.
  • Seguridad referencial integral.

Los tipos de restricciones comunes entre los SGBD son:

  • Null, Not Null.
  • Default.
  • Primary Key.
  • Foreign Key.
  • Check.

Una restricción puede ser creada al momento o después de la creación de una tabla.Null, Not NullUn valor Null, representa un valor desconocido:

  • Para valores numéricos, Null no es igual que cero. 
  • Para valores de carácter, Null no es igual a espacio en blanco.
Un valor Null no es considerado como menor, mayor o igual a cualquier otro valor.

Dos valores Null, no son considerados como iguales entre uno y otro.

UNIDAD 3: LENGUAJE DE MANIPULACION DE DATOS (DDL)

Lenguaje de Manipulación de Datos (DML)

El Lenguaje de Manipulación de Datos (DML), es uno de los tres grupos principales de instrucciones en SQL, compuesto por las sentencias:
  • Insert Inserta registros a la tabla.
  • Update-Actualiza datos de una tabla.
  •  Delete – Borra registros de una tabla,

Lenguaje de Manipulación de Datos (DML), es una parte fundamental de SQLCuando se desea agregar, actualizar o borrar datos en la base de datos, se ejecuta una sentencia DML

Una colección de sentencias DML que forman una unidad lógica de trabajo que se llama una transacción.

Métodos para insertar valores nulos:Se debe asegurar que la columna permita valores nulos.

  •  El servidor aplica automáticamente todos los tipos de datos, los rangos de datos y restricciones de integridad de datos.
  • Cualquier columna que no aparece explicitamente obtiene un valor nulo en el nuevo registro.

Los errores más comunes que pueden ocurrir durante la captura del usuario:

  • Falta valor obligatorio de una columna NOT NULL
  • Valor duplicado, restricción de unicidad.
  • Restricción de clave foránea.
  • Restricción CHECK.
  • Tipo de datos no coincide.
  • El valor es demasiado grande para la columna


Escribiendo Consultas

  • Las instrucciones de SQL no son sensibles.
  • Las instrucciones de SQL pueden ser de una o mas líneas.
  • Las palabras reservadas no pueden abreviarse.
  • Las cláusulas se ponen generalmente en líneas separadas.
  • Los tabuladores son utilizados para una mejor claridad.
  • Las palabras reservadas normalmente se introducen en mayúsculas,
  • palabras, como nombres de tablas y columnas, se introducen en minúsculas.
  • Normalmente las sentencias SQL terminan con un punto y coma (;)

justificación de columnas

JUSTIFICACION POR DEFAULT

  • a la izquierda. Tipos de datos fecha y carácter.
  • A la derecha: Tipos de daros numéricos

¿Qué es un JOIN?

Es una combinación de datos de más de una tabla. La condición para lograr la combinación se escribe en la cláusula WHERE.

La condición debe ser una igualdad que relacione la columna de una tabla con la columna de otra tabla.

Cuando se requiere obtener datos de más de una tabla, se puede utilizar un JOIN. Los registros de una tabla puede unirse a los registros de otra tabla de acuerdo a los valores comunes que existen en las columnas correspondientes, esto es por lo general, las columnas de clave primaria y foránea. Para mostrar los datos de dos o más tablas relacionadas, se debe escribir una simple condición de combinación en la cláusula WHERE.


Producto cartesianoUn producto cartesiano se forma cuando:

  • Una condición de combinación se omite.
  •  Una condición de combinación no es válido
  • Todas las filas de la primera tabla se unen a todas las filas de la segunda tabla.

Para evitar que un producto cartesiano, siempre incluyen una condición de unión válida en una cláusula WHERE.

UNION

El operador UNION obtiene todas los registros de múltiples consultas eliminando cualquier registro duplicado.
El operador UNION ALL obtiene todas los registros de múltiples consultas.

Normas a seguir:

  • El número de columnas y tipo de datos deben ser idénticos en todas las sentencias SELECT usadas en las consultas.
  • Los nombres de las columnas no necesitan ser idénticas.
  • La UNION opera sobre todas las columnas inicialmente seleccionadas.
  • Los valores NULOS no son ignorados durante la verificación de duplicados.
  • El operador IN tiene una mayor precedencia que el operador UNION


unidad 4:SEGURIDAD

TIPOS DE USUARIOS

En un ambiente multi-usuario, se debe establecer un sistema de seguridad para el control de acceso a la base de datos por parte de los usuario.Los SGBD, permiten:

  • Controlar el acceso a la base de datos.
  • Especificar el acceso y uso de los diferentes objetos contenidos en la base de datos. Otorgar y revocar privilegios sobre los objetos de la base de datos.
  • La seguridad de base de datos se pueden clasificar en dos categorias:

■ La seguridad del sistema: Incluye el acceso y el uso de la base de datos a nivel del sistema, tales como nombre de usuario y contraseña, espacio en disco asignado a los usuarios y las operaciones del sistema permitido por el usuario.■La seguridad de base de datos: Cubre el acceso y el uso de los objetos de base de datos y las acciones que los usuarios pueden tener sobre los objetos.

Uno de los objetivos primordiales de la SGBD es permitir crear un ambiente seguro para la administración de los objetos de la base de datos así como la manipulación de los datos. Para lograr lo anterior se deben identificar los diferentes tipos de usuarios de la base de datos en base al modo en que ellos interactúan con la misma.
  • Administrador de Base de Datos (DBA por sus siglas en ingles).
  • Programador de aplicaciones
  • Casuales.
  • Ingenuos.


Usuarios de la Base de DatosAdministrador de la Base de Datos: Es la persona que toma decisiones estratégicas y políticas con respecto a la información de la empresa, además de diseñar los aspectos técnicos necesarios para poner en practica estas decisiones, además de:

  • Definir de esquema: La creación de esquema original de la BD. Esto se logra, escribiendo una serie de definiciones que el compilador DDL traduce a un conjunto de tablas que se almacenan permanentemente en el diccionario de datos.
  • Concesión de autorización para el acceso a los datos: Conceder diferentes tipos de autorización para acceso a los datos a los distintos usuarios de la BD. Esto permite regular al DBA cuales son las partes de la BD a as que van atener acceso diversos usuarios.

Programadores de aplicaciones: Son los profesionales en computación que interactúan con el sistema mediante llamadas en DML, las cuales están incrustadas en un programa escrito en un leguaje huésped creación de esquema original de la BD.Usuarios casuales: Son usuarios complejos que interactúan con el sistema sin escribir programas. En cambio, escriben sus consultas en lenguaje de consulta de base de datos. Cada una de tales consultas se maneja a través de un procesador de consultas cuya función es tomar una proposición en DML y descomponerla en instrucciones que pueda entender el manejador de base de datos.Usuarios ingenuos: Son usuarios poco complejos que interactúan con el sistema llamando alguno de los programas de aplicaciones permanentes escritos previamente.
Una vista, se deriva de los datos de una o más tablas o vistas.Una vista proporciona las siguientes ventajas:

  • Restringe el acceso de base de datos simplifica las consultas.
  • Proporciona independencia de los datos. Permite múltiples puntos de vista de los mismos datos.
  • Se puede quitar sin necesidad de retirar los datos subyacentes.

unidad 5: TRANSACCIONES

COCEPTOS BASICOSLas transacciones fueron desarrolladas originalmente para auxiliar en el mantenimiento de los datos de las aplicaciones y que dependían de la consistencia de la información almacenada en un SGBD.

Las transacciones son un mecanismo que ayuda a simplificar la construcción de sistemas confiables a través de procesos que proveen soporte uniforme para invocar y sincronizar operaciones como: 
  • Operaciones de compartición de datos.
  •  Aseguramiento de la seriabilidad de las transacciones con otras.
  • Atomicidad en su comportamiento.
  • Recuperación de fallas provocadas en red y nodos.


Entre las habilidades del SGBD , se debe tener la de permitir al programador  crear transiciones.

Una transacción es una o más instrucciones de datos que realizan una tarea especifica y que puede ser terminada o abortada Una Transacción es una unidad lógica de trabajo con la que se puede

  • Definir las reglas del negocio.
  • Incluir la mínima modificación de datos.
  • Transformar la base de datos de un estado consistente a otro.

Una transacción tiene dos posibles resultados:• Commit. Realiza una o todas las modificaciones de manera permanente, en caso de que se concluya exitosamente.

• Rollback. Donde todas las modificaciones son desechas.
Las transacciones protegen los datos almacenados en la BD de fallas de software, hardware, obteniendo con esto una base de datos segura y

 confiable, además de que los cambios realizados a la BD por medio de transacciones son transparentes para el usuario, permitiendo así el acceso concurrentes a los datos. El conjunto de operaciones que conforman una transacción debe marcarse como una sola para que todas las operaciones tengan éxito o todas fracasen.Propiedades de las transacciones

Las propiedades ACID definen cuatro importantes aspectos de una transacción.
  • Atomicidad: Una transacción es un proceso de todo o nada, es decir todas las operaciones de una transacción debe realizarse adecuadamente en la base de datos, o no se realiza ninguna de ellas.


  • Consistencia: Una transacción cambia una base de datos de un estado consistente a otro estado consistente.
  • Aislamiento: Los cambios originados por una transacción no son visibles para otros usuarios hasta que se complete o deshaga la transacción.
  • Durabilidad: Una vez terminada una transacción no se puede deshacer.

Grados de consistencia

Grados de consistencia: Los cambios de estado ocurren debido a actualizaciones, inserciones y borrado de registros. Sin embargo, durante la ejecución de una transacción, la base de datos puede estar temporalmente en un estado inconsistente. Lo importante es asegurar que la base de datos regresa a un estado consistente al finalizar transacción.
  • Activa (Active): Estado inicial; la transacción permanece en este estado durante su ejecución. 
  • Parcialmente comprometida (Uncommited): Después de ejecutarse la ultima instancia (operación que afecta la base de datos) de la transacción.
  • Fallida (Failed) Tras descubrir que no se puede continuar la ejecución normal.

Niveles de aislamiento

Niveles de aislamiento: Deben ser considerado como parte del desarrollo de aplicaciones de bases de datos, ya que permite determinar el grado en que se aísla una transacción de las modificaciones realizadas a los datos por otras transacciones.

¿Por qué et aislamiento en una base de datos?

  • En ambientes multiusuario, las transacciones acceden a los mismos datos simultáneamente y con el aislamiento se reduce el riesgo de inconsistencia en las base de datos.
  • Los datos que no son aislados pueden ser incorrectos.


Lecturas no confirmadas (read uncommited). Consiste en accesos concurrentes de dos transacciones sobre un mismo registro actualizándolo de manera aislada, sin considerar las modificaciones realizadas por la transacción que se ejecuta de manera concurrente, es decir, los usuarios pueden leer datos que aún no están confirmados, y que por tanto pueden llegar a no existir nunca.

Los problemas que presenta este nivel de aislamiento son los siguientes:

  •  Lecturas sucias: Lee datos que no han llegado a validarse.
  •  Lecturas no repetibles: Dos sentencias SELECT iguales y consecutivas podrían devolver datos diferentes.
  • Datos fantasma: En dos sentencias SELECT iguales y consecutivas podrían aparecer y desaparecer filas.

Lecturas confirmadas (read commited). Permite que una transacción recupere 6 actualice un registro que ha sido actualizada por otra transacción pero que aún no ha sido confirmada por esa misma transacción. Puesto que no ha sido confirmada, sigue existiendo la posibilidad de que nunca lo sea y de que en su lugar se deshaga mediante un ROLLBACK; en cuyo caso la transacción habrá visto datos que ya no existen.Los problemas que tiene este nivel de aislamiento son:

  • Lecturas no repetibles: Dos sentencias SELECT iguales y consecutivas podrían devolver datos diferentes
  • Datos fantasma: En dos sentencias SELECT iguales y consecutivas podrían aparecer y desaparecer filas.

Lecturas repetidas (repeteable read). Este problema se da cuando una de las transacciones que se ejecutan de manera concurrente obtiene información inconsistente de la base de datos.El problema que presenta es:
• Datos fantasma: En dos sentencias SELECT iguales y consecutivas podrían aparecer filas.En este nivel de aislamiento las lecturas solo se ven bloqueadas por las escrituras, pero las escrituras se ven bloqueadas por lecturas durante el tiempo que dura la transacción que lee de tal forma que es más frecuente encontrar problemas de bloqueos.Commit y rollbackToda transacción así como tiene un inicio debe tener un fin, ahora bien una transacción puede concluir o no de manera exitosa, por lo que hay nos formas de dar por concluida una transacción.

• Commit: Es la instrucción utilizada para indicar la terminación de una transacción almacenando todas las modificaciones u operaciones indicadas en la transacción.

•  Rollback: Es la instrucción utilizada para deshacer las operaciones dela transacción en caso de que exista un error, es decir si alguna de las operaciones de una transacción falla hay que deshacer la transacción en su totalidad para volver al estado inicial en el que estaba la base de datos antes de empezar.

modos de transacción: Una transacción puede especificarse de dos
  •  Desencadenado: Requiere inicializar una transacción de multi- instruciones con una clausula de inicio (begin tran, start tran…, de finida por el mismo SGDB) y terminar con commit o rollback.
  •  Encadenado: El servidor ejecuta de manera impliciata la clausula de inicio (begin tran, start tran, de finida por el mismo SGDB) y es utilizado para instrucciones del DML e instrucciones tipo cursor (open, fetch), y por igual que en modo desencadenado se requiere terminar con commit ó rollback.


bloqueo: es un mecanismo de SSGDB, que aísla los datos.

existe tres niveles de granularidad de bloqueos.

  • nivel tabla.
  • nivel pagina.
  • nivel registro.

existen dos tipos de bloqueos.

  • bloqueos exclusivos o escritura(x)
  • bloqueos compartidos o lectura(s)

Unidad 6:SQL procedual

Procedimientos almacenados

Un procedimiento almacenado es un conjunto de comandos SQL que pueden almacenarse en el servidor.

Algunas situaciones en que los procedimientos almacenados pueden ser particularmente útiles:

  • Cuando múltiples aplicaciones cliente se escriben en distintos lenguajes o funcionan en distintas plataformas, pero necesitan realizar la misma operación en la base de datos.
  • Cuando la seguridad es muy importante. Los bancos, por ejemplo, usan procedimientos almacenados para todas las operaciones comunes. Esto proporciona un entorno seguro y consistente, y los procedimientos pueden asegurar que cada operación se loguea apropiadamente. En tal entorno, las aplicaciones y los usuarios no obtendrían ningún acceso directo a las tablas de la base de datos, sólo pueden ejecutar algunos procedimientos almacenados.


  •  Los procedimientos almacenados pueden mejorar el rendimiento ya que se necesita enviar menos información entre el servidor y el cliente. El intercambio que hay es que aumenta la carga del servidor de la base de datos ya que la mayoría del trabajo se realiza en la parte del servidor y no en el cliente. Considere esta si muchas máquinas cliente (como servidores Web) se sirven a sólo uno o pocos servidores de bases de datos.
  • Los procedimientos almacenados le permiten tener bibliotecas o funciones en el servidor de base de datos. Esta caracteristica es compartida por los lenguajes de programación modernos que permiten este diseño interno, por ejemplo, usando clases. Usando estas características del lenguaje de programación cliente es beneficioso para el programador incluso fuera del entorno de la base de datos.

Cuando se ejecutan las instrucciones de un procedimiento almacenado, ocurren las siguientes acciones:

  • Comprueba la caché de procedimientos para ver si existe un plan de ejecución en la actualidad para el procedimiento en ejecución. Si la hay, se utiliza, sino lo registra y lo ejecuta.
  • Los planes de consulta reside en una sección de memoria conocida como memoria caché de procedimientos.
  • El plan de consulta es un conjunto ordenado de pasos necesarios para llevar a cabo el proceso por lotes e incluye información tal como que el índices va a usar.

Beneficios de rendimiento, Un procedimiento almacenado es ejecutado más rápidamente que una script o batch independiente, por las siguientes razones:

  • El procedimiento almacenado ya ha sido analizado.
  • La referencias a objetos en el procedimiento almacenado ya han sido realizada.


  • Si existe un plan de consulta para el procedimiento no es necesario crear un plan de consultas.

BORRANDO PROCEDIMIENTOS ALMACENADOS

Para el borrado de procedimientos almacenados se utiliza la sentencia DROP {PROCEDURE | FUNCTION} [IF EXISTS] sp_nombre donde se debe determinar el tipo de procedimiento almacenado a borrar (procedimiento o función), además:
         IF EXISTS: Es una cláusula opcional que permite prevenir un error al momento de la ejecución la de la instrucción DROP PROCEDURE, error originado al intentar borrar un procedimiento almacenado que no existe. sp_nombre: Es el nombre del procedimiento almacenado a ejecutar.

2Q== 9k=

Un disparador es un tipo de procedimiento almacenado especial el cual se asocia con una tabla y se activa cuando ocurre en esta un evento en particular, es decir se ejecuta de manera automática cuando los datos contenidos en una tabla son modificados.

Usos comunes de los disparadores

  • Modificaciones en cascada de tablas relacionadas.
  • Deshacer los cambios que violan la integridad de datos.
  • Hacer cumplir las restricciones que son demasiado complejos para las reglas o restricciones.
  • El mantenimiento de datos duplicados.
  • Mantenimiento de columnas derivadas de datos.
  • Registro de información personalizada.

Unidad 7: conectividad de bases de datos

ODBC

Open Data Base Connectivity (ODBC): Es un estándar de conexión a las base de datos desarrollado por SQL Access Group en 1992.

EI ODBC hace posible la conexión de un sistema de gestión de base de datos (DBMS) y una aplicación.

El ODBC funciona como una capa entre EL DBMS (contiene la Base de Datos) y la aplicación (conocida como -interfaz de Cliente SQL-). Teniendo como objetivo el traducir las consultas de datos de la aplicación en comandos que el DBMS entienda.

Tanto la aplicación como el DBMS deben ser compatibles con ODBC.
Antes de usar un ODBC, este debe ser configurado.

Una vez configurado el ODBC su podrán crear vistas remotas a la Base de Datos o realizar consultas SQL
Se debe instalar y configurar el ODBC requerido por la aplicación y el DBMS, es decir, el ODBC, debe ser compatible con ambos.
E ODBC hace posible la conexión de un sistema de gestión de base de datos (DBMS) y una aplicación.

Una vez elegido el controlador adecuado para el origen de los datos ODBC. pude usar el origen predeterminado o agregar un nuevo origen de datos.Para agregar un origen de datos ODBC

  • Ingrese al Panel de control.
  • Elija el icono Herramientas administrativas.
  • Ingrese a Origenes de datos ODBC.
  • En el cuadro de dialogo seleccione la pestaña DSN de usuario.
  • Seleccione el botón Agregar.
  • Seleccione el controlador que desee de la lista de controladores ODBC instalados y de clic en el botón Aceptor.
  • En el cuadro de diálogo Configuración de ODBC, establezca los valores conforme sea necesario.

ADO.NET

ADO.NET (ActiveX Data Objects): Es un conjunto de componentes de software que permiten la conexión a los sistemas gestores de base de datos (DBMS). Es una parte de la biblioteca de clases base que están incluidas en el Microsoft .NET Framework.
Tiene componentes para la creación de aplicaciones de uso compartido de datos distribuidas

Proporciona acceso a datos relacionales, XML y de aplicaciones.

Tiene componentes para la creación de aplicaciones de uso compartido de datos distribuidas

Proporciona acceso a datos relacionales, XML y de aplicaciones.

Satisface diversas necesidades de desarrollo, como la creación de clientes de base de datos de aplicaciones para usuario y objetos empresariales de nivel medio que utilizan aplicaciones, herramientas, lenguajes o exploradores de Internet.

El objeto principal de ADO es el Recordset, que tiene como ventajas su potencia y sencillez. Con este objeto se pueden utilizar cursores de clientes y cursores de servidor. Por otro lado, aunque puede trabajar desconectado de la fuente de datos, no está pesado para trabajar de ese modo, porque se desarrollarian aplicaciones deficientes.ADO, fue desarrollado para trabajar en aplicaciones tipo cliente-servidor, mientras Recordset este conectado a una fuente de datos.JDBC

Java Database Connectivity (JDBC): Permite la ejecución de operaciones sobre bases de datos desde el lenguaje de programación Java, independientemente del sistema operativo donde se ejecute o de la base de datos a la cual se accede, utilizando instrucciones SQL JDBC se presenta como una colección de interfaces Java y métodos de gestión de manejadores de conexión hacia cada modelo especifico de base de datos.


Para utilizar una base de datos particular, se debe ejecutar el programa junto con la biblioteca de conexión apropiada al modelo de la base de datos a utilizar y se acceder a ella estableciendo una conexión, para ello se debe proveer el localizador a la base de datos y los parámetros de conexión especificos. A partir de allí puede realizar con cualquier tipo de tareas con la base de datos a las que tenga permiso: consulta, actualización, creación, modificación y borrado de tablas, ejecución de procedimientos almacenados la base de datos, etc.

CONECTIVIDAD DESDE UN LENGUAJE HUÉSPED

Lenguaje huésped: Es un lenguaje que sirve como de huésped a otro lenguaje, como por ejemplo:
  • SQL en DB2.
  • JavaScript en PHP.
  • SQL en Foxpro.

La mayoría de lenguajes en la actualidad tienen como lenguaje huésped a SQL

La conectividad de un lenguaje huésped a una base de datos se puede dar por medio de una conexión ODBC, ADO.NET O JDBC, según se requiera.

CONECTIVIDAD EN DISPOSITIVOS MOVILES

La conectividad de base de datos en dispositivos móviles, se originan de los cambios revolucionarios que se da en los últimos años en las bases de datos y las comunicaciones como ejemplo el avance de las redes LAN (redes de área local) inalámbricas, servicios de satélites, etc. Ya que permite a los queipos móviles la posibilidad de manipular información en cualquier momento y desde cualquier lugar.


Una base de datos móvil, es una base de datos portable, las cuales se encuentran en servidores corporativo independientes, capacitados para comunicarse con el servidor remoto.

La plataforma móvil es modelo de distribución en los cuales están compartidos en servidores fijos, estaciones base y unidades móviles.

Los servidores fijos son ordenadores que no deben interrumpir la comunicación y que se encuentran interconectados por una red fija (Cableada).
Las estaciones base son las que instalan los enlaces inalámbricos para la conexión de unidades móviles.
Hay dos modos de funcionamiento para trabaja con los datos en dispositivos  móviles:
  • El usuario de un dispositivo móvil se vincula al servidor de base de datos corporativo y trabaja directamente con la información.
  • El usuario debe cargar copia de los datos para asi trabajar en la forma local.

Algunos ejemplos de equipos móviles son: Teléfono inteligente

  •  Videoconsola
  • Camara digital
  • Palms 05 IPhone
La conexión a una base de datos se puede realizar con el uso de conexiones por medio de:
  • ODBC
  • ADO.NET
  • JDBC


La mayoría de lenguajes en la actualidad tiene como lenguaje huésped a SQL.

La conexión de quipos móviles a bases de datos se puede realizar de dos maneras:

  • Vinculando el equipo móvil al servidor de bases de datos corporativo y trabaja discretamente con la informacion.
  • cargar una copia de los datos al equipo móvil para así trabajar en la forma local.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.