miércoles, 13 de febrero de 2013

Actividad Martes 12 Feb
ORACLE

Actualmente en la version 11g Release 2. Algunas mejoras:

Automatic Block Repair : Desde Oracle11gr2 en adelante los bloques se recuperarán de forma automática .
Comando DUPLICATE de una base de datos , pero sin conección a la base de datos : Desde ahora en adelante no es necesario conectarse a una base de datos target para generar una copia de ella.
Mejoras en el TSPITR (Tablespace Point-In-Time Recovery) Podremos recuperar una tabla en el tiempo, aun cuando haya sido borrada.
Se agregan nuevas funciones analíticas, como por ejemplo:
LISTTAG : Que permite al desarrollador mostrar los datos de una tabla, pero hacía el lado, concatenados.
NHT_VALUE : simplemente recibe un valor y busca el número X que le ingresamos. 
etc.
 
MySQL 5.5
Oracle ha lanzado recientemente una nueva versión de su sistema de base de datos MySQL, siendo esta la versión 5.5.

Entre las características más destacadas de esta nueva versión, destaca la mejora en el rendimiento y escalabilidad, respecto a su versión anterior. Esta nueva versión ofrece un rendimiento hasta 1500 veces mayor en sistemas Windows y hasta 360 en sistemas Linux.

Para conseguir lo comentado anteriormente, se ha mejorado el motor de almacenamiento InnoDB, siendo este el motro por defecto ahora. La nueva replicación semisincronizada así como la conocida como Replication Heart Beat mejoran la fiabilidad de la base de datos así como la velocidad de recuperación.
SQL Server 2012

Características nuevas o mejoradas en SQL Server 2012
Características nuevas o mejoradas en SQL Server 2012 SP1
Novedades de la instalación de SQL Server
Novedades (motor de base de datos)
Novedades (Analysis Services)
Novedades (Integration Services)
Introducción a Data Quality Services
Novedades (Master Data Services)
Novedades (Replicación)
Novedades (Reporting Services)

viernes, 8 de febrero de 2013

 ACTIVIDAD 3
¿Cuáles son las inconvenientes de un sistema gestor de base de datos?
• Problemas de integridad: Los valores de los datos almacenados en la base de datos deben satisfacer ciertos tipos de restricciones de consistencia.
• Problemas de atomicidad. Un sistema de un computador, como cualquier otro dispositivo mecánico o eléctrico, está sujeto a fallo. En muchas aplicaciones es crucial asegurar que, una vez que un fallo ha ocurrido y se ha detectado, los datos se restauran al estado de consistencia que existía antes del fallo.
• Anomalías en el acceso concurrente: Conforme se ha ido mejorando el conjunto de ejecución de los sistemas y ha sido posible una respuesta en tiempo más rápida, muchos sistemas han ido permitiendo a múltiples usuarios actualizar los datos simultáneamente.
• Redundancia e inconsistencia de datos.- Debido a que los archivos y programas de aplicación son creados por diferentes programadores en un largo período de tiempo, los diversos archivos tienen probablemente diferentes formatos y los programas pueden estar escritos en diferentes lenguajes.
• Dificultad en el acceso a los datos: La cuestión aquí es que el entorno de procesamiento de archivos convencional no permite que los datos necesarios sean obtenidos de una forma práctica y eficiente.
• Aislamiento de datos: Debido a que los datos están dispersos en varios archivos, y los archivos pueden estar en diferentes formatos, es difícil escribir nuevos programas de aplicación para recuperar los datos apropiados.
• Problemas de seguridad: No todos los usuarios de un sistema de bases de datos deberían poder acceder a todos los datos. Como los programas de aplicación se añaden al sistema de una forma ad hoc, es difícil garantizar tales restricciones de seguridad. 
 
Indique los pasos importantes para configurar una base de datos para una empresa dada.
Determinar la finalidad de la base de datos.
Determinar su finalidad y cómo se va a utilizar.
Realice bocetos de los informes que desea que genere la base de datos.
Reúna los formularios que utiliza actualmente para registrar los datos.
En cuanto determine la finalidad de su base de datos, ya puede determinar qué hechos necesita almacenar en la base de datos y a qué tema corresponde cada hecho. Estos hechos se corresponden con los campos (columnas) de la base de datos y los temas a los que pertenecen los hechos son las tablas.
Determinar los campos necesarios en la base de datos
Cada campo es un hecho acerca de un tema determinado. Por ejemplo, puede que sea necesario almacenar los hechos siguientes acerca de los clientes: nombre de la organización, dirección, ciudad, estado o provincia, y número de teléfono. Deberá crear un campo independiente para cada uno de estos hechos. A la hora de determinar qué campos son necesarios, tenga presentes estos principios de diseño: Incluya toda la información que necesite.
Por ejemplo, los nombres de los empleados suelen repartirse en dos campos, Nombre y Apellidos, para que sea más fácil ordenar los datos por Apellidos.
No incluya datos derivados ni calculados.
No cree campos que sean similares entre sí.
Determinar las tablas que se necesitan en la base de datos.
Cada tabla debe contener información sobre un asunto.
Determinar a qué tabla pertenece cada campo
A la hora de decidir a qué tabla pertenece cada campo, tenga presentes estos principios de diseño:
Agregue el campo a una sola tabla.
Si determina que un campo de una tabla va a contener mucha información duplicada, seguramente ese campo se encuentra en una tabla que no le corresponde.
Cuando cada elemento de información se almacena una sola vez, se actualiza en un solo lugar. Esto resulta más eficiente y elimina la posibilidad de que existan entradas duplicadas que contengan información diferente.
Identificar el campo o los campos con valores únicos en cada registro.
 
Explique la diferencia entre independencia de datos física y lógica.
 
La independencia de datos es la capacidad de modificar una definición de esquema, en este caso el físico o el lógico, sin que los programas de aplicación tengan que reescribirse. La diferencia entre éstos radica en que las modificaciones en el nivel físico son ocasionalmente necesarias para mejorar el funcionamiento, y las modificaciones en el nivel lógico son necesarias siempre que la estructura lógica de la base de datos se altere.
 
E  Explique cinco responsabilidades del Sistema Gestor de la Base de Datos. 
Control de concurrencia.
Consulta y actualización.
1.    Establecer y mantener trayectorias de acceso a la BD.
Respaldo y recuperación.
Seguridad e integridad.
 
¿Cuáles son las cinco funciones principales del administrador de la base de datos?
·   Modificación del esquema y de la organización física.
·   Concesión de autorización para el acceso a los datos.
Especificación de las restricciones de integridad 
·   Definición del esquema.
·   Definición de la estructura y del método de acción.

Indique 5 aplicaciones que usted perciba que se usa una base de datos para almacenar datos persistentes.
Hoteles
Hospitales
Biblioteca
 
Bancos
Ventas

jueves, 7 de febrero de 2013

Actividad 2



Sistemas Gestores De Base de Datos (SGBD)
ORACLE DATABASE: Bases de datos en ficheros independientes, soporta ANSI de SQL, distintos protocolos de red, arquitectura multigeneraciónal. Alto consumo de recursos. Multiplataforma.

MYSQL: Es racional, multihilo y multiusuario, poseen un amplio subconjunto de NFA SEL 99, procedimientos almacenados, consumidor medio de recursos multiplataforma.

INFORMIX: Ejecución de múltiples hilos y procedimientos virtuales que trabajan en paralelo, incluye de forma integrada el servidor NETSCAPE FAXTRAP. Recursos mínimos Multiplataforma.

SQLSERVER: Soporte de transacciones, estabilidad, seguridad, soporta procedimientos almacenados, permite trabajar en modo cliente-servidor. Requiere gran cantidad de recursos (2GB de RAM mínimo) Solamente se puede usar en plataforma Windows.

DB2: Integra XML de manera nativa que permite almacenar documentos de tipo XML. Multiplataforma.
POSTGRE SQL: Alta concurrencia, nativamente provee números de presión, texto de largo ilimitado, figuras geométricas etc. Consume mínimo 2GB de RAM, 4 GB de HD y 26 HZ de  Procesamiento. Multiplataforma.


Opinión Personal
Para mí en lo personal lo open source o código abierto me satisface en el aspecto de que tiene libre acceso y está en constante mejora, aparte la compatibilidad es mayor comparada con los de licencia propietario.
Aun asi se debe de mencionar que algunos propietario tienen muchas ventajas en contra de los abiertos por esto para el uso de cada uno se debe tomar mucho en cuenta las necesidades o requerimientos del proyecto a realizar

FUENTES:
·         www.osdb.org/databases/
·         www.postgresql.org/about

miércoles, 6 de febrero de 2013

Codificacion de creacion de tablas y de consulta:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.41 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> create database veterinaria;
Query OK, 1 row affected (0.03 sec)

mysql> connect veterinaria;
Connection id:    2
Current database: veterinaria

mysql> create table mascota(
    -> idMascota integer primary key,
    -> nombre varchar(30),
    -> especie varchar(30),
    -> raza varchar(30),
    -> sexo varchar(30),
    -> peso double,
    -> alzada varchar(30),
    -> fechaNac varchar(30),
    -> color varchar(30),
    -> pelaje varchar(30),
    -> cicatrices varchar(30),
    -> cirugiasEsteticas varchar(30),
    -> tatuajes varchar(30),
    -> condicionCorporal integer,
    -> finZootecnico varchar(30)
    -> );
Query OK, 0 rows affected (0.04 sec)

mysql> create table propietario(
    -> idPropietario integer primary key,
    -> nombre varchar(30),
    -> direccion varchar(30),
    -> telefono integer,
    -> profesion varchar(30)
    -> );
Query OK, 0 rows affected (0.07 sec)

mysql> alter table mascota add propietario varchar(30) references propietario(idPropietario);
Query OK, 0 rows affected (0.04 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> insert into propietario values (0,'Ricardo Alvarez','Nigeria 7610',6370147,'estudiante');
Query OK, 1 row affected (0.00 sec)

mysql> insert into mascota(idMascota,nombre,propietario) values (0,'Perro :B',0);
Query OK, 1 row affected (0.00 sec)

mysql> select mascota.idMascota,mascota.nombre,propietario.nombre 'Nombre Propietario' from mascota,propietario where propietario.idPropietario=mascota.propietario;
+-----------+----------+--------------------+
| idMascota | nombre   | Nombre Propietario |
+-----------+----------+--------------------+
|         0       | Perro :B  | Ricardo Alvarez       |
+-----------+----------+--------------------+
1 row in set (0.00 sec)

jueves, 31 de enero de 2013

Actividad1: http://sdrv.ms/WFPJF6


GLOSARIO:
 
Base de Datos Personal: Comúnmente el mismo usuario es el Administrador de la Base de Datos.

Administración de Datos:Es la organización completa (empresa, institución u otro organismo), mientras que el alcance de la Administración de Bases de Datos queda restringido a una Base de Datos en particular y a los sistemas que los procesan.

DBMS: Son las siglas en inglés para los Sistemas de Gestión de Bases de Datos (SGBD).

DBA: El técnico responsable de poner en práctica las decisiones del administrador de datos es el administrador de bases de datos(DBA, database administrator). 

Bases de Datos de grupos de trabajo: Requieren de una o dos personas que normalmente no se dedican a esta función de tiempo completo puesto que tienen otras responsabilidades dentro o fuera de la organización. 

Bases de Datos Organizacionales: Comúnmente permiten el acceso a decenas e incluso centenas de usuarios, se requiere de un administrador de Base de Datos de tiempo completo.

 Administración de la estructura de la Base de Datos:Incluye participar en el diseño inicial de la misma y su puesta en practica así como controlar, y administrar sus requerimientos.


 Diccionarios de Datos: Es un conjunto de metadatos que contiene las características lógicas y puntuales de los datos que se van a utilizar en el sistema que se programa, incluyendo nombre, descripción, alias, contenido y organización.
Concesión de autorización para el acceso a los datos:La concesión de diferentes tipos de autorización permite al administrador de la base de datos regular qué partes de la base de datos van a poder ser accedidas por varios usuarios.

Especificación de las restricciones de integridad:Las restricciones de integridad se mantienen en una estructura especial del sistema que consulta el gestor de la base de datos cada vez que tiene lugar una actualización en el sistema.

Herramientas CASE: Son diversas aplicaciones informáticas destinadas a aumentar la productividad en el desarrollo de software reduciendo el costo de las mismas en términos de tiempo y de dinero.

Técnicas de recuperación: El personal de operación deberá saber como iniciar el proceso de recuperación de la BD que copias de seguridad utilizar; como programar la ejecución del tiempo perdido y de las tareas pendientes.

Estándares: Debe asegurarse que estos aplicados beneficien también a los usuarios, privilegiando siempre la optimización en la operación del DBMS y el apego de las políticas de la empresa.

Acceso concurrente:Un sistema que permita a varias estaciones de trabajo modificar en forma simultánea una misma base de datos, debe tomar precauciones para evitar operaciones concurrentes sobre un mismo registro.

Esquema conceptual:Es tarea del administrador de datos decidir con exactitud cual es la información que debe mantenerse en la base de datos, es decir, identificar las entidades que interesan a la empresa y la información que debe registrarse acerca de esas entidades.

miércoles, 7 de noviembre de 2012

¿Cuándo  debemos usar cursores?


Los cursores se utilizan para manejar las sentencias SELECT. Un cursor esta formado por un conjunto de registros devueltos por una instrucción SQL del tipo SELECT. Desde un punto de visto interno a la base de datos, los cursores son segmentos de memoria utilizados para realizar operaciones con los registros devueltos tras ejecutar una sentencia SELECT.

Reciben el nombre de cursores implícitos, cuando la sentencia SELECT regresa solo un registro. Para procesar instrucciones SELECT que devuelvan más de una fila, son necesarios cursores explicítos combinados con un estructura de bloque.

Un cursor admite el uso de parámetros. Los parámetros deben declararse junto con el cursor.


¿Como crear y  llamar un proceso en mysql?











Un disparador (o trigger) es un tipo especial de procedimiento almacenado asociado a una tabla que se ejecuta al realizar una operación “básica” (INSERT, un DELETE o un UPDATE) sobre ésta. La operación básica que despierta al trigger es conocida como sentencia disparadora.

La ejecución del disparador puede ser antes (before) o después (after) de llevar a cabo la sentencia disparadora. Es posible especificar condiciones adicionales para la ejecución del disparador (restrictores).

Dado que una sentencia disparadora puede afectar una o más filas de una tabla, es necesario especificar si se quiere que el disparador se ejecute para cada una de las filas afectadas o para el bloque en general.

Para diseñar un disparador hay que cumplir dos requisitos:

  • Especificar las condiciones en las que se va a ejecutar el disparador. Esto se descompone en un evento que causa la comprobación del disparador y una condición que se debe cumplir para ejecutar el disparador.
  • Especificar las acciones que se van a realizar cuando se ejecute el disparador.

Los triggers constituyen una potente herramienta para mantener la integridad de la base de datos, ya que pueden llevar a cabo cualquier acción que sea necesaria para el mantenimiento de dicha integridad.


Los triggers pueden llamar a otros procedimientos y disparar otros triggers, pero no admiten parámetros y no pueden ser invocados desde otros procedimientos.

Los disparadores sea activan al crearlos.

¿Como crear Una funcion en mysql?



Hay dos formas de añadir nuevas funciones a MySQL:
  • Puede añadir funciones con la interfaz de funciones definidas de usuario (UDF) (N.del T. Acrónimo para User Defined Functions). Las funciones definidas por el usuario se ocmpilan como ficheros objeto y se añaden y borran del servidor dinámicamente usando los comandos CREATE FUNCTION y DROP FUNCTION . Consulte Sección 27.2.2, “Sintaxis de CREATE FUNCTION/DROP FUNCTION.
  • Puede añadir funciones como funciones nativas MySQL. Se compilan en el servidor mysqld y están disponibles permanentemente.
Cada método tiene ventajas y desventajas:
  • Si escribe funciones definidas por el usuario, debe instalar ficheros objeto además del servidor mismo. Si compilar su función en el servidor, no necesita hacerlo.
  • Puede añadir UDFs a distribuciones binarias MySQL . Las funciones nativas requieren modificar una distribución fuente.
  • Si actualiza su distribución MySQL , puede continuar usando las UDFs previamente instaladas, a no ser que actualice a una versión en la que la interfaz UDF cambie. (Un cambio incompatible ocurrió en MySQL 4.1.1 para funciones agregadas. Una función llamada xxx_clear() debe definirse en lugar de xxx_reset().) Para funciones nativas, debe repetir sus modificaciones cada vez que actualice.