jueves, 16 de junio de 2016

MODULO 5


PROCEDIMIENTOS ALMACENADOS

- Que son los procedimientos.
- Directrices para crear procedimientos.
- Parámetros de entrada.
- Parámetros de salida y valores devueltos.

CREACIONES DE FUNCIONES

- Tipos de funciones
- Que es una función escalar
- Que es una función con valores de tabla en línea.
- Qué es una función con valores de tabla de varias instrucciones.
- Sintaxis para el control de excepciones estructurado.
- Directrices para controlar errores. 

PROGRESO III MÓDULO 4

IMPLEMENTACIÓN DE VISTAS

- Que es vista
- Tipos de vistas
- Sintaxis para crear vistas
- Cómo afectan a las vistas las cadenas de propiedad
- Orígenes de información de las vistas
- Consideraciones para modificar datos de una vista

martes, 7 de junio de 2016

Módulo 3 - Implementación de integridad de datos


IMPLEMENTACIÓN DE INTEGRIDAD DE DATOS

La exigencia de integridad de los datos garantiza la calidad de los datos de la base de datos. Por ejemplo, si se especifica para un empleado el valor de identificador de 123, la base de datos no debe permitir que ningún otro empleado tenga el mismo valor de identificador. Si tiene una columna employee_rating para la que se prevean valores entre 1 y5, la base de datos no debe aceptar valores fuera de ese intervalo. Si en la tabla hay una columna dept_id en la que se almacena el número de departamento del empleado, la base de datos sólo debe permitir valores que correspondan a los números de departamento de la empresa.

TIPOS DE INTEGRIDAD DE DATOS


OPCIONES PARA EXIGIR LA INTEGRIDAD DE DATOS

Tipos de datos.- Definir los tipos de datos que se pueden almacenar en una columna.

Reglas.- Definir los valores aceptables que se pueden insertar en una columna.

Valores predeterminados.- Definir el valir de una columna si no se especifica ningún valor.

Restricciones

Desencadenadores 

Esquemas XML 

RESTRICCIONES

Tipos de integridad: 

Dominio:
  • DEFAULT
  • CHECK
  • FOREIGN KEY
  • NULL


Entidad

  • PRIMARY KEY
  • UNIQUE


Referencial

  • FOREIGN KEY
  • CHECK 

RESTRICCIONES PRIMARY KEY
  • Una restricción PRIMARY KEY identifica una o más columnas de una tabla que constituyen una clave principal.
  • Se permite una restricción PRIMARY KEY por tabla.
  • El valor debe ser único en las columnas constituyentes.
  • No se permiten valores nulos en las columnas constituyentes.



RESTRICCIONES DEFAULT


  • Una restricción DEFAULT define un valor de columna predeterminado cuando no se proporciona ningún valor.
  • Cada columna sólo puede tener una restricción DEFAULT.
  • Sólo es aplicable a instrucciones INSERT.
  • Se permite algunas funciones suministradas por el sistema.

RESTRICCIONES CHECK


  • Las restricciones CHECK restringuen los valores que se pueden introducir en una columna con INSERT o con UPDATE.
  • Puede definir varias restricciones CHECK por columna.
  • Puede hacer referencia a columnas de la misma tabla.
  • No puede contener subconsultas.

miércoles, 1 de junio de 2016

Investigación sobre DBMS Oracle - MySQL


ORACLE


Un RDBMS es un Sistema Gestor de Bases de Datos Relacionales. Se trata de software capaz de producir, manipular y gestionar bases de datos de tipo relacional. Es un software que se antepone a los datos de una base de datos, de modo que cualquier acceso a los datos pasa por una petición al RDBMS que éste gestiona a fin de realizar la operación más conveniente sobre esa petición.

SERVICIOS

Prácticamente es un Sistema Operativo diseñado para el control del acceso a los datos. Para conseguir este control, todo RDBMS posee una serie de subsistemas que se encargan de gestionar cada servicio.


SERVICIO
DESCRIPCIÓN
Sistema de gestión de la memoria
Encargado de decidir que parte de la memoria se dedica a cada tarea del RDBMS. Su función es que haya suficiente memoria para que el RDBMS funcione eficazmente y a la vez nunca dejar menos memoria de la que necesita el Sistema Operativo para que la máquina funcione.

Gestión de Entrada y Salida
Para conseguir que los accesos a los datos sean adecuados.

Procesador de lenguajes
Para interpretar las instrucciones SQL (o de otros lenguajes válidos) que los usuarios lanzan a la base de datos.

Control de procesos
Gestiona los programas en ejecución necesarios para el funcionamiento de la base de datos.

Control de la red
Para gestionar las conexiones a la base de datos desde la red y evitar problemas a la base de datos en caso de desconexión.

Control de transacciones
Permite gestionar las transacciones (series de operaciones que se pueden anular o llevar a cabo al final.



BASE DE DATOS DEL SISTEMA

Es el conjunto de procesos del servidor que permiten el acceso a la base de datos. Es un conjunto de estructuras de datos y procesos en memoria.

Área global de sistema. Se trata de la zona de memoria común para todos los procesos de servidor, contiene las siguientes estructuras de datos fundamentales:

NOMBRE
DESCRIPCIÓN
Buffer de caché de base de datos
Almacena bloques de datos leídos de la base de datos a fin de que las próximas consultas no necesiten acudir a disco y se las pueda servir de estos datos en la caché.
Buffer redo log
Estructura que almacena los datos anteriores y posteriores a cada instrucción y así facilitar tanto su anulación, como su realización en caso de problemas.
Large pool
Área de la memoria que proporciona espacio para los datos necesarios para realizar operaciones de backup y restauración, así como los datos de sesión y otros que permitan aliviar el trabajo de la instancia.
Shared pool
Consta de la caché del diccionario de datos y de la caché de instrucciones SQL, PL/SQL. De esa forma se acelera la ejecución de consultas e instrucciones que utilicen los mismos metadatos o bien que se traten de instrucciones parecidas a otras anteriormente ejecutadas.
Java Pool
Sólo se usa si hemos instalado Java para agilizar el proceso de las instrucciones en ese lenguaje.



Procesos en segundo plano. Programas en ejecución que realizan las tareas fundamentales sobre la base de datos, entre ellos:

NOMBRE
DESCRIPCIÓN
DBWR
Escribe los datos del buffer de cache de la base de datos de la SGA a la base de datos en disco (a los archivos de datos). Eso no ocurre en todo momento, sino cuando se produce un evento de tipo checkpoint.
LGWR
Es el proceso que genera escrituras secuenciales en los redo logs (archivos log de rehacer) que son los archivos que guardan la información necesaria para poder recuperar un estado anterior en los datos.
CKPT
Proceso encargado de comunicar la llegada de un checkpoint, punto de control que ocurre cíclicamente (y que se puede modificar poe el DBA) tras el cual se deben de escribir los datos de memoria a los archivos de datos.
SMON
System Monitor. Proceso encargado de monitorizar el sistema para que funcione correctamente tras un error grave. Además se encarga de la optimización del sistema mejorando el espacio en disco y elimando definitivamente (mediante rollbacks) datos irrecuperables.
PMON
Process Monitor. Se encarga de la comunicación con la PGA y especialmente con el proceso servidor para manejar la conexión con el cliente, eliminado transacciones de usuarios erróneas (por desconexión por ejemplo) y liberando la memoria que se reservó para los usuarios.
ARCn
Proceso de archivado de los archivos Redo. Sirve para que esos datos siempre estén disponibles. Sólo funciona en modo ARCHIVELOG de la base de datos, se explica más adelante.


PROCESO DE INSTALACIÓN 


PRERREQUISITOS

Oracle en Windows requiere un PC con al menos 1 GB de RAM y el doble en virtual. Disco duro con al menos 5,35 GB y tarjeta capaz de mostrar 1024 X 768 píxeles como mínimo.

INSTALACIÓN

Es aconsejable crear un usuario relacionado con Oracle con permisos administrativos y con él instalar el software. La razón: ser coherente con las rutas OFA comentadas anteriormente, que de otra forma harán referencia al usuario con el que instalemos Oracle sea o no relacionado con él.

En Windows, las variables de entorno y casi cada detalle se hace de manera automática sin intervenir previamente (a diferencia de la instalación Linux) se ocupa Oracle.

(1) Descargar los archivos ZIP correspondientes a nuestra instalación y descomprimirles en la misma carpeta. Desde esa carpeta (suele llamarse database) lanzar el instalador (archivo setup.exe).

(2) Indicar correo electrónico al que Oracle enviará información sobre problemas críticos.

(3) Indicar si deseamos con el instalador instalar ya la instancia de base de datos. Normalmente habría que elegir instalar sólo la instancia (creando la base de datos después disponemos de más posibilidades).


(4) Indicar si deseamos instalar una instancia única de Oracle o bien instalar instancias múltiples (base de datos distribuida). Lo lógico, por ahora, es instalar una instancia única.


(5) Elegir los idiomas.

(6) Elegir el tipo de instalación. Enterprise es la opción si deseamos instalar todas las posibilidades de Oracle.


(7) Elegir la ubicación de instalación. Normalmente el instalador la creará de forma coherente; se indicarán la base general de Oracle y el Oracle Home del producto que se está instalando en base al esquema OFA. En cualquier caso se puede cambiar la disposición según comprobemos lo que más nos interesa.


Si el usuario de instalación se llama Oracle, la instalación de Oracle Base (si es que no hay) será C:\app\oracle, el Oracle Home será algo del tipo: C:\app\oracle\product\11.2.0\dbhome_1

(8) Comprobación de requisitos. Se comprueba si el hardware y el software cumplen el mínimo de Oracle. De ser así se comienza la copia de archivos.

Conviene editar una serie de variables de sistema y configurarlas en Windows para su funcionamiento (por ejemplo desde Administrar Sistema de Windows) son:



TIPO DE DATOS


REFERENCIAS BIBLIOGRÁFICAS

[1]  Sánchez Jorge. Administración de bases de datos Unidad 01. Recuperado el 01 de Junio del 2016.


[2]  Sánchez Jorge. Arquitectura del DBMS Oracle. Recuperado el 01 de Junio del 2016 

lunes, 30 de mayo de 2016

CREACIÓN DE GRUPOS DE ARCHIVOS

CREACIÓN DE GRUPOS DE ARCHIVOS

Se pueden crear grupos de archivos cuando se crea la base de datos, o bien posteriormente cuando se agregan archivos a la misma. Sin embargo, después de agregar archivos a la base de datos, no es posible moverlos a otro grupo de archivos.
Un archivo no puede pertenecer a más de un grupo de archivos. Las tablas, los índices y los datos de objetos grandes se pueden asociar a un grupo de archivos específico.
- Uso de varios archivos en un único grupo de archivos para mejorar el rendimiento.
- Uso de varios grupos de archivos para controlar la colocación física de los datos.
CREACIÓN DE ESQUEMAS
- Todas las bases contienen un esquema predeterminado llamado dbo.
- Dbo. es asignado para todos los usuarios que no tienen ningún esquema definido explícitamente.
- Cómo funciona la resolución de nombres de objetos








lunes, 9 de mayo de 2016

INSERCIÓN DE DATOS

INSERCIÓN DE DATOS

El proceso de inserción de filas consiste en añadir a una tabla una o más filas y en cada fila todos o parte de sus campos.

Podemos distinguir dos formas de insertar filas:

  • Inserción individual de filas.
  • Inserción múltiple de filas.

La sintaxis de la sentencia INSERT es diferente según cual sea nuestro propósito.
Sólo podremos omitir un campo al efectuar una inserción cuando este acepte valores nulos.

MODIFICACIÓN DE DATOS

- Actualiza en la tabla indicada los valores del atributo siempre y cuando se cumpla la condición especificada.
- Los valores se pueden obtener mediante una subconsulta o mediante fórmulas matemáticas.
- Si no hay condición, se actualizan todas las filas de la tabla (PELIGRO).

BORRADO DE DATOS

- Borra de la tabla las tuplas que cumplen cierta condición.
- Si no hay condición se borran todas las filas de la tabla (PELIGRO).
- A diferencia de DROP TABLE no borra la estructura de la tabla.


CONSULTA DE DATOS

- Consulta valores de una o varias tablas de acuerdo a las condiciones impuestas en la sentencia.
- Las únicas partes obligatorias son SELECT y FROM, el resto son opcionales.
  • Si aparecen deben ir en el orden que aparecen en la sentencia.
  • HAVING es similar al WHERE (sirve para hacer condiciones), sólo puede aparecer si hay un GROUP BY. 

- En la cláusula SELECT se indican los atributos que se quieren obtener como respuesta a la consulta.
- La cláusula FROM indica la tabla o tablas que son necesarias para obtener la información.
- En la cláusula WHERE se indican las condiciones que deben cumplir las tuplas obtenidas como resultado de la consulta. 


SELECT 

- La lista de atributos separados por comas:

SELECT at1, at2, ..., atn 

- Se indican solamente aquellos atributos que queremos que aparezcan en el resultado.
- Se utiliza * si queremos todos los atributos de las tablas involucradas.

SELECT * ...

Puede aparecer filas duplicadas.
  • Para evitarlos se puede utilizar DISTINCT
SELECT DISTINCT lista_atributos
  • Solo se obtienen como resultado filas no duplicadas para la combinación de los atributos que aparecen en el SELECT.
- Los nombres de los atributos se pueden cambiar en el resultada de la consulta.


FROM

- La lista de tablas que se utilizan en las consulta separadas por comas.

FROM tab1, tab2, ..., tabn 

- Realiza el producto cartesiano (X) de las mismas.
- Las condiciones (WHERE, GROUP BY) se imponen sobre el producto cartesiano.
- Los atributos que aparecen en el SELECT se toman del producto cartesiano.
- Dentro de la consulta una tabla se puede renombrar (alias de tabla)

FROM nombre_tabla nueva_nombre_tabla 

WHERE

- Operadores para construir condiciones
  • Comparación: =, <>, <, >=,<=
    • WHERE codigo = 7 ..
    • WHERE codigo < 7 .. 
  • Lógicos: AND, OR, NOT
    • Se utlizan para construir expresiones que involucran más de una condición (AND, OR) o para invertir el resultado de una condición (NOT).
    • WHERE codigo = 7 AND color = 'PAL-Color' ..
    • WHERE NOT (color = 'PAL-Color') ..
  • Matemáticos: +, -, /, * 
  • Otros: BETWEEN .. AND, IN, LIKE  

lunes, 2 de mayo de 2016

TERCERA FORMA NORMAL

TERCERA FORMA NORMAL

es una forma normal usada en la normalización de bases de datos. La definición de Codd indica que una tabla está en 3NF si y solo si las tres condiciones siguientes se cumplen:
  • La tabla está en la segunda forma normal (2NF).
  • Ningún atributo no-primario de la tabla es dependiente transitivamente de una clave primaria.
  • Es una relación que no incluye ningún atributo clave.

Ejemplo:

Un ejemplo de una tabla 2NF que falla en satisfacer los requerimientos de la 3NF es:

La única clave candidata es {Torneo, Año}.
La violación de la 3NF ocurre porque el atributo no primario Fecha de nacimiento del ganador es dependiente transitivamente de {Torneo, Año} vía el atributo no primario Ganador. El hecho de que la Fecha de nacimiento del ganador es funcionalmente dependiente en el Ganador hace la tabla vulnerable a inconsistencias lógicas, pues no hay nada que impida a la misma persona ser mostrada con diferentes fechas de nacimiento en diversos registros.
Para expresar los mismos hechos sin violar la 3NF, es necesario dividir la tabla en dos:
Las anomalías de actualización no pueden ocurrir en estas tablas, las cuales están en 3NF.