Download Que es una base de datos

Document related concepts

SQL wikipedia , lookup

Base de datos relacional wikipedia , lookup

Modelo de base de datos wikipedia , lookup

Microsoft SQL Server wikipedia , lookup

Normalización de bases de datos wikipedia , lookup

Transcript
INTRODUCCIÓN AL RDBMS
DESVENTAJAS DEL ALMACENAMIENTO EN ARCHIVOS PLANOS.
 Los datos pueden ser accedidos y modificados solo por una persona a la vez.
 Cuando la información es utilizada por más de una aplicación los datos pueden corromperse.
 Es difícil establecer relaciones.
 Un archivo plano diseñado para un sistema no puede ser utilizado por otro sistema.
 Los datos son vulnerables puesto que pueden ser accedidos por cualquier usuario o cualquier
aplicación.
QUE ES UNA BASE DE DATOS
Colección organizada de datos relacionados.
QUE ES UN DBMS
Conjunto de programas que ayudan a insertar, eliminar, modificar y recuperar datos de una base de datos.
Sistema que trabaja sobre las bases de datos.
QUE ES UNA TABLA
Es una colección de registros.
VENTAJAS DE DBMS
 Minimiza la redundancia de datos.
 Asegura la integridad, seguridad i consistencia de los datos.
 Provee mecanismos de recuperación y manipulación de datos lo que hace mas rápido este proceso.
 Los datos pueden ser distribuidos.
 Los datos pueden adaptarse a los cambios de los modelos del negocio.
NIVELES DE INDEPENDENCIA DE DATOS
Independencia de datos física: inmunidad de los programas de aplicación a los cambios en la organización
física de la base de datos.
Independencia de datos lógica: capacidad de cambiar el esquema lógico de la base de datos sin causar que
las aplicaciones se rescriban.
TIPOS DE USUARIOS QUE UTILIZAN LOS DBMS
 Programadores de aplicaciones.
 Usuarios sofisticados.
 Usuarios especializados.
 Usuarios ingenuos.
 Administradores de base de datos.
QUE SON LOS MODELOS DE DATOS
Estructura subyacente de una base de datos.
MODELO LÓGICO BASADO EN REGISTROS
Son llamados así porque la base de datos es estructurada en torno a registros de formato fijo, con varios
campos o atributos. Los campos a atributos pueden ser de diferentes tipos de datos y cada campo es
usualmente de longitud fija.
MODELOS DE DATOS BASADOS EN REGISTROS
Modelo relacional: una o más tablas representan los datos y las relaciones entre las tablas. Este modelo es la
base del RDBMS y esta basado en las operaciones relacionales Select, View, Join y operaciones de conjuntos
como la Unión e Intersección.
Modelo de red: los datos se representan mediante una colección de registros y las relaciones entre los datos
se representan por enlaces.
Modelo jerárquico: los datos se representan mediante una colección de registros y las relaciones entre los
datos se representan por enlaces, los archivos están organizados como una colección de árboles.
QUE ES UN RDBMS
Es un DBMS basado en el modelo relacional.
FUNCIONES DE UN RDBMS
 Organizar los datos y las relaciones entre los datos almacenados en las tablas que se componen de filas
y columnas.
 Permitir la definición de las estructuras de datos, de las operaciones de almacenamiento y recuperación
y de las restricciones de integridad.
 Mantener la integridad de los datos almacenados en la base de datos.
PROVEEDORES DE RDBMS
 IBM DB2
 Oracle Corporation
 MYSQL AB
 Postgre SQL
 Microsoft
UDB
Oracle
MySQL
Postgre SQL
Microsoft SQL Server
QUE ES UNA TRANSACCIÓN
Colección de operaciones que realiza una única unidad lógica de trabajo.
CARACTERÍSTICAS DE LA ADMINISTRACIÓN DE TRANSACCIONES
Atomicidad: todas las operaciones asociadas a una transacción deben de ser realizadas completamente para
finalizar la transacción.
Consistencia: los datos comprometidos en una transacción deben preservarse semánticamente.
Aislamiento: cuando hay transacciones concurrentes cada transacción debe comportarse como si fuera la
única ejecutándose en el sistema.
Durabilidad: si una transacción tiene éxito el sistema garantiza que persistirán sus actualizaciones aun
cuando la computadora falle después de ejecutarla.
DIAGRAMA ENTIDAD RELACION
PASOS PARA EL DISEÑO DE BASE DE DATOS
Recolección y análisis de requerimientos: interacción con el sistema y los usuarios para definir que datos
deben ser almacenados en la base de datos y los procesos involucrados en la captura de esos datos.
Diseño conceptual: consiste en formar una descripción concisa de los requerimientos de datos usando un
modelo de alto nivel, se deben identificar las entidades involucradas en el sistema y entender las relaciones
entre estas entidades.
Diseño lógico: traducción de entidades y relaciones a tablas y otros objetos de la base de datos, este proceso
implica la normalización y otras consideraciones de diseño.
Diseño físico: toma de decisiones sobre el almacenamiento de los datos tomando en consideración el
rendimiento y la disponibilidad de los recursos de hardware.
EL MODELO CONCEPTUAL
Pertenece al dominio de la modelación del nivel más alto. Una de las maneras de crear un modelo conceptual
es usando el diagrama ER.
QUE ES UN DIAGRAMA ENTIDAD RELACIÓN
Es una representación del mundo real, muestra las relaciones significativas que existen entre las entidades. Es
una representación gráfica del sistema.
COMPONENTES DE UN DIAGRAMA ER
 Entidades
 Relaciones
ENTIDADES
Representan agrupaciones de objetos del mundo real que son relevantes al sistema de información. Una
entidad representa una colección de objetos del mundo real.
CARACTERÍSTICAS DE LAS ENTIDADES
 Pueden ser identificadas individualmente.
 Desempeñan un papel necesario en el sistema a ser desarrollado.
 Pueden ser descritas por uno o más elementos de datos.
TIPOS DE ENTIDADES
Entidad fuerte: no es dependiente de otra entidad.
Entidad débil: es dependiente de algún otro tipo de entidad para su existencia.
RELACIONES
Permiten conectar entidades con otras entidades, representa un conjunto de conexiones entre los objetos.
CARDINALIDAD
Especifica si una entidad esta relacionada con una o más instancias de una entidad en una misma relación.
TIPOS DE CARDINALIDAD
 Relación uno a uno (1: 1).
 Relación uno a muchos (M: 1).
 Relación muchos a muchos (M: N).
OPCIONALIDAD
Una relación puede ser opcional o mandatario y la opcionalidad puede ser diferente a cada lado de la relación.
ATRIBUTOS
Todos los datos referentes a una entidad, propiedades de la entidad cuyos valores tienen que ser almacenados
en la base de datos.
CARACTERÍSTICAS DE LOS ATRIBUTOS
Simples o compuestos, de valor único o multivaluados.
CLAVES
Es un elemento de los datos que identifica de manera única las ocurrencias individuales de un tipo de entidad.
CLAVE COMPUESTA
Cuando se utilizan dos o mas atributos juntos para formar la clave.
GRADO DE UNA RELACIÓN
Es el número de entidades que participan en una relación.
RELACIÓN UNARIA
Cuando el número de entidades que participan en una relación es uno.
RELACIÓN BINARIA
Cuando hay solamente dos entidades involucradas en una relación.
RELACION N-ARIA
Involucra más de dos entidades.
PASOS PARA CONSTRUIR UN MODELO ER
 Identificar las entidades.
 Eliminar las entidades duplicadas.
 Enumerar los atributos de cada entidad.
 Marcar las claves primarias.
 Definir las relaciones.
 Examinar cada tipo de entidad para ver como se relaciona con otras entidades.
 Describir la cardinalidad de las relaciones
 Eliminar las relaciones redundantes.
NORMALIZACION DE LA BASE DE DATOS
NORMALIZACIÓN
Es el proceso de organizar los datos para reducir al mínimo la duplicación, implica el proceso de dividir una
base de datos en dos o más tablas y de definir las relaciones entre ellas. Se refiere al proceso de crear una
estructura de base de datos relacional eficiente, confiable, flexible y apropiada para almacenar información.
Proceso de organizar los datos en tablas y definir las relaciones entre ellas.
VENTAJAS DE LA NORMALIZACIÓN
 Flexibilidad.
 Integridad de datos.
 Eficiencia.
DESCOMPOSICIÓN SIN PÉRDIDA DE INFORMACIÓN (LOSS LESS JOINS)
Dividir las tablas de manera tal que si las tablas resultantes se unieran de nuevo se debe obtener la tabla
original.
FORMAS NORMALES
Primera forma normal (1NF):
 Los campos de variables repetidas o grupos de variables repetidas deben ser eliminados.
 Todas las filas contienen el mismo número de campos.
Segunda forma normal (2NF)
 Tiene que estar en 1NF
 Cada columna que no esta en la clave primaria es dependiente totalmente de la clave primaria.
 Solo se aplica a las tablas que tienen clave primaria compuesta.
Tercera forma normal (3FN)
 Tiene que estar en 2NF
 Cada columna normal tiene que ser mutuamente independiente y excluyente.
 No debe tener ninguna dependencia transitiva.
Cuarta forma normal (4FN)
 Tiene que estar en 3NF
 La tabla no debe contener dos o más columnas independientes multivaluadas.
LENGUAJE DE CONSULTA ESTRUCTURADO - FUNDAMENTOS
QUE ES SQL
Es el lenguaje usado para comunicarse con una base de datos, un lenguaje estandarizado que sirve para definir
y manipular los datos de una base de dato racional.
Fue desarrollado por IBM a comienzos de los años setenta, llamada inicialmente Sequel, cambio después su
nombre a SQL. En 1986 el American National Standard Institute (ANSI) y el Inernational Standards
Organization (ISO) presentaron un estándar para SQL llamado SQL-86. En 1992 en ANSI / ISO presento el
estándar SQL-92. Actualmente esta vigente el SQL-99 (SQL3) que es soportado por muchos RDBMS.
PARTES DEL SQL.
Lenguaje de definición de datos (data definition language - DDL): proporciona comandos para definir los
objetos de base de datos.
 Create: se usa para crear objetos de la base de datos.
 Alter: se usa para modificar la estructura de los objetos de la base de datos.
 Drop: se usa para eliminar objetos de la base de datos.
Lenguaje de manipulación de datos (data manipulación language - DML): proporciona comandos para
insertar, eliminar y modificar registros en las tablas.
 Insert: se usa para agregar valores en la tabla.
 Delete: se usa para eliminar valores de la tabla.
 Update: se usa para actualizar o cambiar los valores presentes en la tabla.
Lenguaje de control de datos (data control language - DCL): proporciona comandos para manejar y
controlar datos, ayuda al administrador a controlar la seguridad y a los accesos a los datos.
 Grant
 Revoke
Lenguaje de consulta de datos (data query language - DQL): proporciona comandos para recuperar datos
desde tablas.
 Select: se usa para recuperar datos de las tablas.
 Select Condicional: se usa para recuperar aquellos registros que satisfacen una condición específica.
 Where: se usa para especificar que solo las filas que cumplen con la condición deben mostrarse.
QUE ES UNA TABLA DE DATOS
Es el objeto de mayor importancia en la base de datos, utilizada para almacenar datos.
CARACTERÍSTICAS DE LA TABLA DE DATOS
 Los datos se almacenan en forma de filas y columnas.
 Cada fila represente a un registro y cada columna se denomina un atributo, el cual representa a un
campo.
 Un campo es una característica o una propiedad de los datos que son representados.
FUNCIONES AGREGADAS
 Sum (Suma).
 Avg (Promedio).
 Max (Máximo valor).
 Min (Mínimo valor).
 Count (Total registros).
CONDICIONES COMPUESTAS Y OPERADORES LÓGICOS
And: une dos o mas condiciones y muestra todas las filas que satisfacen todas las condiciones especificadas
en la cláusula Where.
Or: une dos o más condiciones y muestra todas las filas que satisfacen al menos una condición especificada
en la cláusula Where.
In: se usa para realizar comparaciones con una lista de valores.
Bettween: se usa para comprobar si cierto valor esta dentro de un rango dado.
Not: evalúa una condición e invierte su valor.
Like: se usa para verificar patrones dentro de cadenas de caracteres, compararlos y mostrar los resultados.
Concatenación ( | | ): se usa para unir dos cadenas de caracteres.
Nota: el operador Not tiene mayor precedencia los Operadores And y Or.
ALIAS
Se usan para definir una columna o una tabla con un nombre alternativo
ORDER BY
Se usa para dar formato a la salida basándose en un campo y en cierto orden el cual puede ser ascendente o
descendente. Por defecto toma el orden ascendente si no es especificado.
MANEJO DE VALORES NULOS
Se usa cuando el campo escogido no contiene un tipo de valor conocido.
DISTINCT
No muestra los valores mas de una vez indistintamente de que estén duplicados en la tabla.
SQL AVANZADO
CLAVE PRIMARIA
Es una columna de una tabla la cual se usa identificar un registro en la tabla, para que un campo sea una clave
primaria su valor debe ser NOT NULL y debe ser único.
Una tabla solo puede tener una clave primaria.
CLAVE PRIMARIA COMPUESTA
Es una clave primaria formada por más de una columna.
CLAVE FORÁNEA
Es una columna de una tabla cuyos valores son dependientes de los valores existentes en otras tablas.
RESTRICCIÓN DE INTEGRIDAD REFERENCIAL
Es una restricción definida entre una clave primaria y una clave foránea.
RELACIÓN PADRE HIJO
Cuando la clave primaria de una tabla (padre) es una clave foránea en otra tabla (hijo).
QUE ES UN JOIN
Es utilizado para evitar la redundancia y para integrar los datos almacenados en varias tablas. Ayuda a
vincular dos o más tablas a través de un atributo en común.
TIPOS DE JOINS
Cartesian JOIN: hace corresponder todas las filas de la primera tabla con todas las filas de la segunda tabla y
presenta una combinación de todos los registros en ambas tablas.
Natural / Equi JOIN ó Inner JOIN: hace corresponder los registros de la primera tabla con los de la
segunda tabla basándose en la igualdad de los valores especificados en la condición JOIN, solo los registros
que tengan una correspondencia exacta serán extraídos de ambas tablas.
Right Outer JOIN: hace corresponder los registros de la primera tabla con los de la segunda tabla basándose
en la igualdad de los valores especificados en la condición JOIN. Además, también incluye aquellos registros
presentes en la segunda tabla que no están asociados con los registros de la primera tabla.
Left Outer JOIN: hace corresponder los registros de la primera tabla con los de la segunda tabla basándose
en la igualdad de los valores especificados en la condición JOIN. Además, también incluye aquellos registros
presentes en la primera tabla que no están asociados con los registros de la segunda tabla.
Full Outer JOIN: hace corresponder los registros de la primera tabla con los de la segunda tabla basándose
en la igualdad de los valores especificados en la condición JOIN. Además, también incluye aquellos registros
presentes en la primera y segunda tabla que no están asociados entre si. Es una combinación del Right Outer
JOIN y el Left Outer JOIN.
Self JOIN: se aplica entre valores de atributos comunes de dos tablas o más. En el caso de una tabla que tiene
dos atributos los cuales comparten el mismo valor se puede realizar un JOIN en la misma tabla.
GROUP BY
Permite el agrupamiento lógico de los datos existentes basándose en el valor de uno de los atributos.
HAVING
Permite introducir una condición después de que se realiza un agrupamiento.
SUBCONSULTA
Es una consulta dentro de otra consulta, es una sentencia Select anidada dentro de otra sentencia Select.
Las subconsultas también se pueden escribir en sentencias Update y Delete.
TIPOS DE SUBCONSULTA
Subconsulta correlacionada: es una consulta en la cual la consulta hijo se refiere a la columna de la consulta
padre. Son ejecutadas una vez por cada fila en la consulta padre.
Subconsulta no correlacionada: es una consulta en la cual la consulta padre se ejecuta tomando en cuenta
los valores devueltos por la consulta hijo. Son ejecutadas una vez por cada fila en la consulta padre son
ejecutadas una vez por toda la sentencia.
UNIÓN
Es una operación de conjunto que combina los resultados e dos o mas consultas, elimina los registros
duplicados y presenta el resultado.
FUNDAMENTOS DE DB2
TIPOS DE RDBMS
IBM DB2.
Microsoft SQL Server.
Oracle.
Sybase.
Informix.
MY SQL.
Postgree SQL.
CAPACIDADES DE DB2
Puede manejar una gran variedad de datos.
Puede almacenar y administrar grandes volúmenes de datos.
Proporciona gran seguridad.
Rápida recuperación de los datos almacenados.
VENTAJAS DE DB2
Confiabilidad: maneja pedidos de procesamiento de datos de manera eficiente y proporciona información
exacta.
Alta disponibilidad de datos: proporciona un mecanismo de protección ante caídas que permite la rápida
recuperación de los datos almacenados y él reinicio del sistema.
Escalabilidad: DB2 esta disponible para una gran variedad de sistemas operativos.
Rendimiento: permite el soporte para SMP (multiprocesamiento simétrico), MPP (procesadores masivamente
paralelos) y agrupamiento (clustering) lo que aumenta el rendimiento de la aplicación.
Rápido desarrollo de aplicaciones: soporte para las ultimas tecnologías (Java, JDBC y XML), además
proporciona integración con aplicaciones de e-business lo que le permite a los desarrolladores utilizar las
capacidades del servidor DB2.
Capacidad para construir soluciones OLAP: DB2 esta equipado con un servidor (OLAP) es cual es un
sistema de soporte de toma de decisiones que puede analizar los datos presentes en el sistema y proporcionar
un análisis multidimensional. Este servidor puede ser utilizado para soluciones de almacenamiento de datos
(data warehousing) y extracción de datos (data minig).
Soluciones de ultima generación: DB2 puede manejar datos multimedia (imágenes, videos, sonido y objetos
espaciales).
FAMILIA DE PRODUCTOS IBM DB2
DB2 EVERYPLACE
 Orientado a herramientas que se ejecuten en dispositivos móviles como PDA´s o Handheld.
 Soporta Encriptación.
 Soporta Indexación de datos para mejorar el desempeño.
 SO: PalmOS, WindowsCE, Windows de 32Bits, Symbian, QNX Neutrino, J2ME y Linux.
EDICIONES DE DB2 EVERYPLACE
Everyplace DataBase Edition para Desarrollo de Aplicaciones con base de datos en dispositivos
móviles.
Everyplace Enterprise Edition Para servidor de Base de Datos Móviles.
DB2 PERSONAL EDITION
 Funciona en DeskTops comunes
 Pueden crearse y manipularse cualquier cantidad de Bases de datos.
 Solo permite usuarios locales.
 Puede conectarse como cliente a otros servidores remotos DB2
 SO: Windows 98,ME, NT, 2000, XP, Linux.
 Soporta XML, Spatial y Net Search
DB2 PERSONAL DEVELOPER’S EDITION
 Igual al Personal Edition pero incluyen Librerías para interactuar con aplicaciones desarrolladas
en COBOL, FORTRAN, C, C++ y Java.
 SO: Windows 2000, NT, XP y Linux.
DB2 UNIVERSAL DEVELOPER’S EDITION
 Incluye Personal Developer y DB2 Connect, DB2 Extenders, DB2 Warehouse Manager y DB2
Intelligent Miner.
 Solo Cuenta con licencia para entorno de desarrollo.
DB2 WORKGROUP SERVER EDITION
 Es un Servidor de Base de Datos LAN y/o WAN.
 SO: UNÍS, Linux, Windows, Windows NT, 2000 y XP.
 Orientado a Pymes.
 No tiene soporte para procesadores de 64Bits.
 Soporte de multiprocesamiento simétrico para 4 procesadores.
DB2 WORKGROUP SERVER UNLIMITED EDITION
 Igual que el DB2 WorkGroup Server Unlimited Edition, pero con otras restricciones de licencia.
 Especialmente para Pymes.
 La Licencia se otorga por Procesadores.
 Independiente del número de conexiones a las bases de datos.
DB2 ENTERPRISE SERVER EDITION
 Es un Servidor de Base de Datos LAN y/o WAN SO: UNÍS, Linux, Windows, Windows NT y 2000.
 Orientado a Servidores Grandes y Medianos.
 Conectividad con Servidores iseries y zseries.
 Compatibilidad con recursos CICS, VSAM y ISM.
 Licencia para Multiprocesadores y Cluster de Computadoras.
 Permite Bases de Datos Aprisionadas, siempre que los servidores usen el mismo SO.
 Se requiere una actualización de licencia para DataBase Partitioning Feature para cada servidor.
CARACTERISTICAS DE LA ARQUITECTURA DB2
 Se basa en la arquitectura cliente servidor.
 DB2 puede comunicarse con cualquier sistema administrador de base de datos que soporte el
protocolo de arquitectura de base de datos relacionales distribuidas DRDA (arquitectura que
permite una comunicación entre mas de un producto de administración de base de datos
relacionales, el cual se encarga de coordinar la comunicación entre los sistemas de diferentes
proveedores definiendo protocolos de comunicación).
 Soporta gran variedad de protocolos de comunicaciones cliente/servidor (NPIPE, TCP/IP,
NetBIOS y SNA).
 Permite la comunicación entre el cliente y el servidor aun cuando estén en diferentes plataformas.
ARQUITECTURA DE PROCESOS DE DB2
 Las aplicaciones locales se comunican con el servidor DB2 UDB haciendo uso de la memoria
compartida y los semáforos.
 Las aplicaciones remotas se comunican con el servidor DB2 UDB a través de la red haciendo uso
del protocolo de comunicaciones.
 Del lado del servidor las actividades son controladas por los EDUs (Engine Dispatchable Units).
EDUs (ENGINE DISPATCHABLE UNITS)
Agente lógico (Logic Agent): facilita la interacción con la base de datos, existe uno por cada aplicación
conectada al administrador de la base de datos, almacena la información requerida por la aplicación.
Agente Trabajador (Work Agent): llevan a cabo solicitudes de acciones y tienen información para
completar una solicitud en particular, no están atados a una aplicación.
Agente Coordinador (Coordinator Agent): es asignado a cada aplicación cliente, coordina el procesamiento
y se comunica con la aplicación cliente, para cada requerimiento del cliente puede haber un conjunto de
subagentes los cuales trabajan juntos para completar el requerimiento.
Buffer Pool: es un área temporal de almacenamiento de memoria principal, donde los objetos de la base de
datos relacionados a los requerimientos de usuarios son almacenados temporalmente. Mejoran el rendimiento
del sistema.
Cargadores de Datos (Prefetchers): mueven los datos del disco duro al Buffer Pool.
Limpia Paginas (Page Cleanners): son hilos de procesos que mueven los datos ya no requeridos por la
aplicación, desde la memoria hasta el disco.
Detector de Interbloqueos (Deadlock Detector): detectan bloqueos entre EDUs, recuperan la información y
de forma aleatoria selecciona uno de ellos para liberarlo.
Registrador de Actividades (Logger): registra de manera temporal los datos paginados hacia el buffer en un
espacio del buffer llamado log buffer.
ARQUITECTURA DE ALMACENAMIENTO DE DB2
Sistema Administrador de Base de Datos: sistema que organiza bases de datos, tablas, índices, etc. DB2
soporte varias instancias en una misma maquina, cada una con su propio directorio, bases de datos y un
conjunto de archivos de configuración.
Sistema: es el objeto de más alta jerarquía, representa una instalación de DB2, puede tener una o varias
instancias de DB2 cada una de las cuales puede administrar una o varias bases de datos. Las bases de datos
pueden dividirse y sus espacios de tablas residir en los grupos de particiones de las bases de datos, los
espacios de tabla almacenan los datos de las tablas.
Instancias: entorno gestor de base de datos lógico donde se pueden catalogar bases de datos y establecer
parámetros de configuración.
Bases de datos: una base de datos relacional presenta los datos como una colección de tablas. Una tabla
consiste en un conjunto definido de columnas y cualquier numero de filas, los datos en cada tabla están
relacionados de forma lógica y pueden definirse relaciones entre tablas. Los datos pueden verse y manipularse
usando sentencias SQL.
Una base de datos posee una descripción de su estructura, un conjunto de tablas de catálogos del sistema que
describen la estructura lógica y física de los datos, un archivo de configuración que contiene los valores de los
parámetros asociados a la base de datos.
Las bases de datos pueden ser locales (localizada físicamente en la estación de trabajo en uso) o remotas
(localizada en otra maquina).
Grupos de particiones de base de datos: es un conjunto de una o más particiones de base de datos.
Espacio de tablas: es un lugar para almacenar tablas, están contenidos en un área de almacenamiento
llamado grupo de particiones de base de datos. Una base de datos se organiza en espacios de tablas. Cada
espacio de tablas consiste en una colección de contenedores, cada tabla es asignada a un espacio de tablas.
Existen dos tipos de espacios de tablas, los del espacio administrado por el sistema (SMS) y los de espacio
administrado por la base de datos (DMS).
ARQUITECTURA DE MEMORIA DE DB2
Memoria compartida del administrador de base de datos: espacio adjudicado cuando el administrador de
base de datos es iniciado.
Memoria global de base de datos: es reservada cuando se activa una base de datos, este espacio es
especificado en un parámetro de configuración.
Memoria global de aplicación: es reservada cuando la aplicación se conecta a la base de datos, para manejar
los procesos relacionados a la aplicación. Esta memoria se obtiene de la memoria global de la base de datos.
Memoria privada de agente: se asigna al agente al recibir un requerimiento antes de que lo atienda.
CLIENTES DB2
 Cliente de tiempo de ejecución (Run Time Client).
 Cliente administrador (Administration Client).
 Cliente desarrollador de aplicaciones (Aplication Client).
OTROS PRODUCTOS DB2
 DB2 Data Link File Manager.
 DB2 Connect.
 UDB Extenders.
 DB2 XML Extender.
 DB2 Next Search Extender.
 DB2 Spatial Extender.
 DB2 Audio, Video e Image Extender.
 DB2 Text Extender.
HERRAMIENTAS DEL DB2
 Centro de control (Control Center).
 Centro de duplicación (Replication Center).
 Centro de administración de satélites (Satellite Administration Center).
 Editor de mandatos (Command Editor).
 Centro de Tareas (Task Center).
 Centro de Salud (Health Center).
 Diario (Journal Center).
 Centro de Licencia (License Center).
 Centro de Desarrollo (Development Center).
 Centro de Información (Information Center).
 Plan de Acceso (Access Plan).
 Asistente de Configuración (Configuration Assistant).
DICCIONARIO DE DATOS, ACCESO Y SEGURIDAD DE LA BASE DE DATOS
DICCIONARIO DE DATOS
Información sobre los datos almacenados en la base de datos.
VISTAS DEL DICCIONARIO DE DATOS
Son creadas junto con la base de datos y no pueden ser creadas o eliminadas de manera explícita, están dentro
del esquema SYSCAT y el privilegio SELECT es publico, estas le permiten al usuario ver el diccionario de
datos también se les denomina vistas del catalogo del sistema.
VISTAS DEL CATALOGO DEL SISTEMA USADAS FRECUENTEMENTE
SYSCAT.TABLES
Devuelve la lista de tablas a las cuales tiene acceso el usuario.
SYSCAT.COLUMNS
Devuelve la lista de columnas en una tabla.
SYSCAT.KEYCOLOUSE
Devuelve información sobre las columnas que participan en una clave primaria, clave foránea y columnas a
las cuales se les ha definido restricción de valor único.
SYSCAT.REFERENCES
Devuelve las restricciones de clave foramea.
SYSCAT.CHECKS
Devuelve las restricciones definidas en la base de datos.
SYSCAT.COLCHECKS
Devuelve las restricciones definidas en una tabla.
SYSCAT.INDEXES
Devuelve los índices disponibles en la base de datos.
SYSCAT.VIEWS
Devuelve las vistas disponibles en la base de datos.
AUTORIZACIONES
Otorgan acciones sobre la base de datos en general. Le permiten a los usuarios realizar tareas generales en la
base de datos.
PRIVILEGIOS
Permiten trabajar sobre objetos específicos dentro de la base de datos, le da derecho al usuario de acceder a un
objeto de la base de datos de una manera especifica.
TIPOS DE AUTORIZACIONES DE ADMINISTRACION
SYSADM: administrador del sistema, es el nivel mas alto de autorización y tiene control sobre todos los
recursos que el sistema administrador de base de datos crea y mantiene.
DBADM: administrador de base de datos, autorización especifica para una base de datos, incluye privilegios
para crear objetos, emitir mandatos y acceder a los datos de sus tablas mediante sentencias SQL, también
incluye la autorización para otorgar o revocar el privilegio CONTROL además de los privilegios individuales.
PRIVILEGIOS EN LA BASE DE DATOS
SELECT: privilegio de recuperar filas, ver o crear vistas de una tabla.
INSERT: privilegio de insertar filas en una tabla.
UPDATE: privilegio de modificar datos en una tabla.
DELETE: privilegio de eliminar filas de una tabla.
INDEX: privilegio de crear un índice en una tabla, automáticamente otorga el privilegio CONTROL el cual
permanece aun si el privilegio INDEX es revocado.
REFERENCES: privilegio de crear y eliminar una clave foránea que haga referencia a una tabla base.
ALTER: privilegio de agregar columnas a la tabla y crear o eliminar restricciones PRIMARY KEY o
UNIQUE: en una tabla base.
ALL o ALL PRIVILEGES: privilegio de otorgar todos los privilegios excepto CONTROL.
CONTROL: otorga todos los privilegios.
OTORGAR PRIVILEGIOS
GRANT privilegio1, privilegio2 ON tabla TO USER nombre_del_usuario;
GRANT privilegio1, privilegio2 ON tabla TO GROUP nombrte_del_grupo;
REVOCAR PRIVILEGIOS
REVOKE privilegio1, privilegio2 ON tabla FROM USER nombre_del_usuario;
REVOKE privilegio1, privilegio2 ON tabla FROM GROUP nombrte_del_grupo;
VISTAS
Son usadas para controlar el acceso a una tabla,
subconjunto de filas o de columnas
permite limitar el acceso de los usuarios solo a un
PROGRAMACION ESTRUCTURADA UDT Y UDF
TIPOS DE UDT
 Tipo de datos diferenciado
 Tipo de datos estructurado
 Tipo de dato de referencia.
TIPO DE DATOS DIFERENCIADO
Es un tipo de dato definidos por el usuario basado en tipos de datos predefinidos en DB2. Un tipo
diferenciado comparte su representación con un tipo existente pero se considera un tipo separado e
incompatible. También pueden estar basado en tipos predefinidos para almacenar y manipular objetos grandes
(BLOB). cuando se crean tipos diferenciados DB2 genera funciones de conversión del tipo de datos para
convertir el tipo diferenciado al tipo fuente y viceversa
VENTAJAS DE LOS TIPOS DE DATOS DIFERENCIADOS
 Capacidad de ampliación.
 Flexibilidad.
 Comportamiento coherente.
 Encapsulacion.
 Rendimiento.
TIPO DE DATOS ESTRUCTURADO
Es un tipo de datos definido por el usuario con una estructura en la base de datos. Contiene una secuencia de
atributos con nombres, cada uno de los cuales tiene un tipo de datos.
TIPO DE DATO DE REFERENCIA
Es un tipo de datos creado automáticamente por DB2 cada vez que el usuario crea un tipo de dato
estructurado. El tipo de dato estructurado al que se hace referencia se le denomina tipo de dato referenciado.
RESTRICCIONES PARA DEFINIR TIPOS DE DATOS DIFERENCIADOS DISTINCT
debe ser un tipo de datos predefinido, los tipos de datos diferenciados definidos por el usuario no se pueden
utilizar como tipos fuentes de otros tipos diferenciados.
PROCEDIMIENTO PARA DEFINIR TIPOS DE DATOS DIFERENCIADOS DISTINCT
CREATE DISTINCT TYPE nombre_del_tipo_diferenciado AS tipo_predefinido WITH COMPARISONS;
CLAUSULA WITH COMPARISONS
Permite comparar entre las distintas instancias de un mismo tipo diferenciado, la cláusula WITH
COMPARISONS no se puede especificar si el tipo de dato fuente es un objeto grande LONG VARCHAR o
LONG VARGRAPHC
OPERADORES DE COMPARACION DE TIPOS DIFERENCIADOS
 Menor que (<)
 Mayor que (>)
 Menor o igual que (<=)
 Mayo o igual que (>=)
 No igual o diferente (<>)
 Igual a (=)
Nota: para comparar tipos de datos diferenciado con constantes, las constantes deben ser convertidas a tipos
de datos diferenciados apropiados.
INSERCION DE DATOS EN TABLAS CON TIPOS DE DATOS DIFERENCIADOS
CREATE DISTINCT TYPE tipo_diferenciado AS SMALLINT WITH COMPARISONS;
CREATE TABLE tabla (tipodiferenciado tipo_diferenciado);
INSERT INTO tabla VALUES (tipo_dififerenciado (4));
PROCEDIMIENTO PARA DEFINIR TIPOS DE DATOS ESTRUCTURADOS
SUPERTIPO
CREATE TYPE nombre_del_tipo_base AS
(
atributo_1 tipo_predefinido,
atributo_2 tipo_predefinido,
atributo_3 tipo_predefinido
)
REF USING INT INSTANTIABLE MODE DB2SQL;
SUBTIPO
CREATE TYPE nombre_del_subtipo UNDER nombre_del_tipo_base AS
(
atributo_1 tipo_predefinido,
atributo_2 tipo_predefinido,
atributo_3 tipo_predefinido
)
INSTANTIABLE MODE DB2SQL;
CLAUSULA MODE DB2SQL
Esta cláusula es obligatoria y permite la invocación directa de la función constructora para el tipo.
CLAUSULA INSTANTIABLE o NO INSTANTIABLE
Determina si se puede crear o no una instancia del tipo estructurado. Declarar un tipo como no instanciable
impide generar una función constructora para el tipo estructurado además este no puede utilizarse como tipo
de una tabla.
CLAUSULA REF USUNG
Define el tipo de dato utilizado como representación para el tipo de referencia de este tipo estructurado y de
todos sus subtipos. Solo puede especificarse para el tipo base de una jerarquía de tipos.
UDF
Funciones creadas por los desarrolladores de aplicaciones.