sistemas gestores de base de datos
TRANSCRIPT
1
Sistemas Gestores de Bases de DatosDra. en C. Lisbeth Rodríguez [email protected]
Universidad Autónoma del Estado de MéxicoCentro Universitario UAEM Texcoco
Ingeniería en Computación
Objetivo Presentar los conocimientos fundamentales,
tanto teóricos como prácticos, necesarios para comprender las funciones de la administración de las Bases de Datos, así como los métodos y las técnicas para asegurar una correcta administración.
2
Contenido Unidad 1. Objetivos y funciones de la
administración de bases de datos. Unidad 2. Dimensionamiento y Creación de una
base de datos. Unidad 3. Integridad y seguridad en una Base
de Datos. Unidad 4. Respaldo y recuperación. Unidad 5. Afinación de una base de datos.
3
Bibliografía Carlos Coronel, Steven Morris, Peter Rob, Bases de
datos, diseño, implementación y administración, Novena edición, Cengage Learning, 2011.
Abraham Silveschatz, Henry F. Korth, S. Sudarshan. Fundamentos de Bases de Datos, Cuarta edición, Mc Graw Hill, 2004.
Ramez Elmasri, Shamkant B. Navathe, Fundamentos de Sistemas de Bases de Datos, 5th edición, Addison Wesley, 2007.
Catherine M. Ricardo, Bases de Datos, Mc Graw Hill , 2004
4
Asistencia Ordinario>=80% Extraordinario>=60% A título de suficiencia>=30% Sin derecho a examen<30%
6
SGBD objeto-relacional desarrollado en la Universidad de California en el Departamento de Ciencias de la computación en Berkeley.
Soporta una gran parte del estándar SQL y ofrece muchas características modernas:
Consultas complejas Claves foráneas Triggers o disparadores Vistas Integridad transaccional Control de concurrencia
7
Puede extenderse por el usuario en varias formas, agregando nuevos Tipos de datos Funciones Operadores Funciones agregadas Métodos de indexación Lenguajes procedurales
PostgreSQL puede usarse, modificarse y distribuirse por cualquier persona gratuitamente para cualquier propósito, ya sea privado, comercial o académico.
8
¿Por qué bases de datos? Las bases de datos y los sistemas de bases de
datos son un componente esencial de la vida cotidiana de la sociedad moderna.
10
¿Qué es una base de datos? Estructura computarizada integrada y
compartida que guarda un conjunto de:
Datos del usuario final
Metadatos Nombre de cada elemento de datos. Tipo de valores (numérico, fechas o texto). Si es el elemento de datos puede ser nulo.
11
Sistema Gestor de Bases de Datos (SGBD o DBMS) Colección de programas que permite a los
usuarios crear y mantener una base de datos.
Sistema de software que facilita los procesos de definición, construcción, manipulación y compartición de bases de datos entre varios usuarios y aplicaciones.
13
Sistema Gestor de Bases de Datos (SGBD o DBMS) Definir una base de datos implica especificar
los tipos de datos, estructuras y restricciones que se almacenarán en la base de datos.
La definición descriptiva de una base de datos también se almacena esta última en forma de catálogo o diccionario de la base de datos (metadatos).
14
Sistema Gestor de Bases de Datos (SGBD o DBMS) La construcción de la base de datos es el
proceso consistente en guardar los datos en algún medio de almacenamiento controlado por el DBMS.
Manipulación de la base de datos Consulta de la base de datos. Actualizar la base de datos. Generar informes a partir de los datos.
15
Sistema Gestor de Bases de Datos (SGBD o DBMS) Compartir una base de datos permite que
varios usuarios y programas accedan a la base de datos de forma simultánea.
Otras funciones importante ofrecidas por el DBMS son: La protección de la base de datos. Su mantenimiento durante un largo periodo de
tiempo.
16
Entorno de un sistema de base de datos simplificado
A la combinación de base de datos y DBMS se le conoce como sistema de base de datos.
17
Manipulación de la base de datos UNIVERSIDAD Ejemplos de consultas:
Recuperar el certificado de estudios (listado de todos los cursos y calificaciones) de ‘Luis’.
Listado con los nombres de los estudiantes que tomaron la sección del curso ‘Bases de datos’ ofrecida en otoño de 2005, así como sus calificaciones en esa sección.
Listado de los prerrequisitos del curso ‘Bases de datos’
Ejemplos de actualizaciones: Cambiar la clase de ‘Luis’ a estudiante de segundo año. Crear una sección nueva para el curso ‘Bases de datos’
para este semestre. Introducir la calificación 10 para ‘Luis’ en la sección
‘Bases de datos’
19
1.1 Objetivos de un SGBD Facilidad de recuperación de la
información Proporcionar una forma de almacenar y recuperar
la información de una base de datos de manera que sea tanto práctica como eficiente.
Independencia de datos La estructura de los archivos de datos se almacena
en el catalogo DBMS, independientemente de los programas de acceso.
20
1.1 Objetivos de un SGBD Seguridad
El SGBD debe tener mecanismos para que los usuarios no puedan acceder a información sin autorización.
El SGBD debe decidir que información puede sólo consultarse o también modificarse.
22
1.1 Objetivos de un SGBD
Integridad Se refiere a que la información almacenada en
la base de datos esté libre de errores a pesar de: Fallos de hardware Fallos del programador Fallos del usuario final Fallos derivados de la concurrencia.
23
1.1 Objetivos de un SGBD
Redundancia mínima La redundancia consiste en que existan datos
idénticos repetidos en varios lugares y provoca problemas como: Almacenamiento innecesario Mayor tiempo de proceso Inconsistencia de datos.
24
1.2 Tipos de Bases de Datos Según el número de usuarios:
Base de datos de un solo usuario Base de datos de usuarios múltiples
Según la ubicación de la base de datos: Base de datos centralizada Base de datos distribuida
Según el grado de uso esperado: Base de datos operacional Almacén de datos
Según el grado en que están estructurados los datos: Base de datos estructurados Base de datos no estructurados
25
1.2 Tipos de Bases de Datos
Base de Datos
A
B C
Según el número de usuarios: Base de datos de un solo usuario o de escritorio.
Base de datos de usuarios múltiples
Base de Datos
<50 Base de datos de grupo de trabajo>50 Base de datos empresarial
26
1.2 Tipos de Bases de Datos Según la ubicación de la base de datos
Base de datos centralizada Los datos se ubican en un sitio.
Base de datos distribuida Los datos se ubican en varios sitios
27
Según el grado de uso esperado: Base de datos operacional
Almacén de datos
1.2 Tipos de Bases de Datos28
Según el grado en que están estructurados los datos: Datos no estructurados
son datos que existen en su estado original (sin refinar), es decir, en el formato en el que se recolectaron.
Datos estructurados son el resultado de tomar datos no estructurados y
formatearlos (estructurarlos) para facilitar el almacenamiento, uso y generación de información.
1.2 Tipos de Bases de Datos29
1.3 Tipos de SGBD Según el modelo de datos
Relacional Objeto Objeto-relacional Jerárquico De red
Según el coste Código fuente abierto (gratuitos) Comerciales
colección de conceptos que se pueden utilizar para describir la estructura de la base de datos.
30
1.3 Tipos de SGBDModelo jerárquico
31
Un padre puede tener varios hijos, pero un hijo sólo puede tener un padre.
1.3 Tipos de SGBD Modelo de red
32
Un padre puede tener varios hijos y un hijo puede tener varios padres.
33
1.3 Tipos de SGBD Modelo relacional
Introducido en la década de 1970 por E. F. Codd (de IBM).
Representó un importante avance para usuarios y diseñadores.
34
Modelo orientado a objetos Tanto los datos como sus relaciones están
contenidos en una sola estructura conocida como objeto.
Los objetos también contienen todas las operaciones que se pueden realizar en él.
1.3 Tipos de SGBD
Nombre: string;NumEstudiante: integer;
Clase: char;Especialidad: string;
ESTUDIANTE
string obtenerNombre();string cambiarClase();
Orion OpenOODB de Texas Instruments.ODE de AT&T Bell LabsGemstoneObjectivityVersant
1.3 Tipos de SGBD Modelo objeto-relacional
Extiende el modelo relacional al agregarle algunos tipos y métodos complejos.
Permite que los atributos tengan conjuntos o arreglos de valores.
Permite herencia de métodos y tipos.PostgreSQLInformix Universal ServerOracle 8
35
Modelo XML El uso de objetos complejos recibió un impulso con la
revolución de Internet.
XML surge como el estándar para el eficiente y efectivo intercambio de datos estructurados, semiestructurados y no estructurados.
Las bases de datos XML administran datos no estructurados dentro de un formato XML nativo. Tamino de Software AG Dynamic Application Platform de eXcelon
1.3 Tipos de SGBD
36
1.4 Concepto de administración
37
Los datos son valiosos recursos que requieren una cuidadosa administración.
1.4 Concepto de administración Una de las razones principales
para utilizar un SGBD es para tener el control central tanto de los datos, como de los programas que acceden a esos datos.
La administración de la base de datos es la función de controlar y mantener el SGBD.
38
39
1.5 Tareas del DBA Administrador de Base de Datos (ABD o DBA)
Es el individuo responsable del diseño, operación y gestión de la base de datos.
1.5 Tareas del DBA
Evaluar, seleccionar e instalar el SGBD y utilerías. Diseño e implementación de bases de datos y
aplicaciones. Respaldo y recuperación de datos. Seguridad, privacidad e integridad de los datos. Prueba y evaluación de bases de datos y
aplicaciones. Operación del SGBD, utilerías y aplicaciones. Mantenimiento del SGBD, utilerías y aplicaciones.
41
Evaluar, seleccionar e instalar el SGBD y utilerías.
El DBA debe desarrollar y ejecutar un plan basado en las necesidades de la organización para evaluar y seleccionar el SGBD y utilerías.
Paso 1. Determinar las necesidades de la compañía.
Paso 2. Definir las características del SGBD y los criterios de selección.
Paso 3. Instalar el SGBD
42
1.5 Tareas del DBA
Diseño e implementación de BDs y aplicaciones.
Diseño El DBA revisa el diseño de la aplicación para asegurarse de
que las transacciones son: Correctas. Representan eventos reales. Eficiente. No sobrecargan al SGBD. Manejables. Cumplen con reglas y normas de integridad.
43
1.5 Tareas del DBA
Diseño e implementación de bases de datos y aplicaciones.
Implementación Determinación y creación del espacio de almacenamiento. Carga de datos. Conversión y servicios de migración de la base de datos. Generación, compilación y almacenamiento del plan de acceso.
44
1.5 Tareas del DBA
Respaldo y recuperación de datos. El DBA debe asegurar que los datos puedan
recuperarse por completo en caso de pérdida física de datos o pérdida de integridad de la BD.
Pérdida Total Parcial
45
1.5 Tareas del DBA
Respaldo y recuperación de datos.
Oficial de seguridad de base de datos (DSO) Garantizar la seguridad e integridad de la BD.
Administración de desastres Respaldos periódicos de datos y aplicaciones. Identificación correcta del respaldo. Almacenamiento seguro de respaldos. Protección física de hardware y software. La cobertura de seguro para los datos en la base de datos.
46
1.5 Tareas del DBA
Respaldo y recuperación de datos.
Administración de desastres. Respaldos periódicos de datos y aplicaciones.
El DBA debe usar las herramientas del DBMS para hacer automáticas las tareas de respaldo y recuperación.
Completos (depósito de BD). Incrementales. Respaldo de todos los datos desde la
última fecha de respaldo. Concurrentes. Se realiza al mismo tiempo que el usuario
trabaja en la BD.
47
1.5 Tareas del DBA
Respaldo y recuperación de datos.
Administración de desastres. Identificación correcta del respaldo.
Los respaldos deben identificarse claramente.
Medios de respaldo Cinta magnética
40 a 300 GB. Barata Liberías de cinta o jukeboxes
Cientos de teraytes (1 TB=1000 GB) Múltiples petabytes (1 PB=1000 TB)
CD o DVD Almacenamiento en línea
48
1.5 Tareas del DBA
Respaldo y recuperación de datos.
Administración de desastres. Almacenamiento seguro de respaldos.
Debe haber múltiples respaldos de los mismos datos guardados en sitios dentro y fuera de la organización que cuenten con:
Cajas fuertes. Bóvedas de seguridad a prueba de terremotos. Controles de humedad y temperatura.
49
1.5 Tareas del DBA
¿Dónde y por cuánto
tiempo deben guardarse los
respaldos?
Respaldo y recuperación de datos. Administración de desastres.
Protección física de hardware y software. Uso de instalaciones cerradas con acceso restringido. Acondicionamiento de aire. Energía eléctrica para el respaldo. Protección contra incendio. Provisión de una computadora y DBMS para respaldo.
50
1.5 Tareas del DBA
Seguridad, privacidad e integridad de los datos.
La tecnología ha resultado en la distribución de datos en múltiples sitios, haciendo más difícil mantener el control, seguridad e integridad de datos.
EL DBA debe utilizar mecanismos de seguridad e integridad proporcionados por el SGBD.
También debe hacer equipo con expertos de seguridad en internet para salvaguardar datos contra posibles ataques o acceso no autorizado.
51
1.5 Tareas del DBA
Prueba y evaluación de bases de datos y aplicaciones.
Prueba Empieza con la carga del banco de pruebas de la BD. Su propósito es verificar las reglas de definición e integridad de la BD y
programas de aplicación.
Evaluación Aspectos técnicos de las aplicaciones y de la BD. Evaluación de documentación escrita. Observancia de normas para dar nombre, documentar y codificar. Conflictos de duplicación de datos con datos existentes. La aplicación de todas las reglas de validación.
52
1.5 Tareas del DBA
Operación del SGBD, utilerías y aplicaciones.
Soporte del sistema. Abarcan todas las tareas relacionadas con la operación
diaria del DBMS, estas incluyen: Llenar bitácoras de trabajo. Verificar la situación del hardware, paquetes de disco y
fuentes de alimentación de emergencia.
Vigilancia y afinación del desempeño. Auditoría y vigilancia de seguridad.
53
1.5 Tareas del DBA
Operación del SGBD, utilerías y aplicaciones.
Vigilancia y afinación del desempeño. El DBA debe:
Establecer objetivos de operación del SGBD. Vigilar el SGBD para evaluar si los objetivos se satisfacen. Aislar el problema y encontrar soluciones (si los objetivos no se
satisfacen). Implementar las soluciones de desempeño seleccionadas.
Los DBMS incluyen herramientas para vigilancia de desempeño que dan información del uso de la BD y permiten que el DBA se concentre en cuellos de botella.
Uso de índices Algoritmos de optimización de consultas. Administración de recursos de almacenamiento.
54
1.5 Tareas del DBA
Operación del SGBD, utilerías y aplicaciones. Auditoría y vigilancia de seguridad.
Supone la asignación apropiada de derechos de acceso y el uso adecuado de privilegios de acceso por programadores y usuarios finales.
Creación de usuarios. Asignar derechos de acceso. Usar comandos SQL para conceder y revocar permisos. Crear revisiones de auditoría para determinar violaciones
de seguridad.
55
1.5 Tareas del DBA
Mantenimiento del SGBD, utilerías y aplicaciones.
Administración de equipos de almacenamiento físico o secundarios.
Reorganizar el lugar físico de datos de la BD. Actualizar el SGBD y el software de utilería. Servicios de migración y conversión de datos.
56
1.5 Tareas del DBA
1.6 Herramientas de administración de Bases de Datos Diccionario de datos
Componente del SGBD que guarda la definición de las características y relaciones de los datos (metadatos).
Integrado Incluido con el SGBD. Limitan sus metadatos a los datos manejados por el SGBD.
Autónomo No incluido con el SGBD. Son más flexibles.
Activo Actualizado automáticamente por el SGBD con todo acceso a
la base de datos. Pasivo
Requiere que el DBA lo actualice por medio de un procesamiento por lotes.
57
Diccionario de datos Guarda descripciones de:
Elementos de datos que estén definidos en todas las tablas de la base de datos.
Tablas definidas en todas las bases de datos. Índices definidos por cada tabla de la base de datos. Bases de datos definidas. Programas que tienen acceso a la base de datos. Autorizaciones de acceso para todos los usuarios de
todas las bases de datos. Relaciones entre elementos de datos.
58
1.6 Herramientas de administración de Bases de Datos
1.6 Herramientas de administración de Bases de Datos Ejemplos1. Cite los nombres de todas las tablas creadas por el usuario
postgres en la base de datos UNIVERSIDAD.
2. Cite los nombres de todas las columnas para todas las tablas creadas por el usuario postgres de la base de datos UNIVERSIDAD.
3. Cite los nombres de todas las tablas para las cuales el usuario postgres tiene autorización delete.
4. Cite los nombres de todos los usuarios que tienen algún tipo de autoridad sobre la tabla ESTUDIANTE.
5. Cite los nombres de usuario y tabla para todos los usuarios que alteran la estructura de la base de datos para cualquier tabla de la base de datos.
59
Diccionario de datos El DBA puede usar el diccionario para soportar análisis y
diseño de datos, ya que permite crear: Un informe que enumere todos los elementos de datos a usar
en una aplicación. Una lista de todos los usuarios que tienen acceso a un
programa particular. Un informe que verifique redundancia de datos, duplicaciones,
uso de sinónimos y homónimos. Informes que describan usuarios, acceso y estructura de
datos.
Se puede emplear para : Dar soporte a una amplia variedad de actividades de
administración de datos Facilitar el diseño e implementación de sistemas de
información.
60
1.6 Herramientas de administración de Bases de Datos
Herramientas CASE CASE=Ingeniería de software
asistido por computadora.
Conjunto de programas que facilitan la automatización del ciclo de vida de desarrollo de sistemas (SDLC).
Automatizan numerosas actividades tediosas de diseño e implementación de sistemas.
61
1.6 Herramientas de administración de Bases de Datos
Herramientas CASE Se clasifican de acuerdo con la magnitud del soporte
que dan para el SDLC: Herramientas frontales CASE. Soportan las fases de
planeación, análisis y diseño. Herramientas posteriores CASE. Soportan las fases de
implementación y mantenimiento.
Beneficios Una reducción en tiempo y costos de desarrollo. Automatización del SDLC. Estandarización de metodologías para desarrollo de
sistemas. Más fácil mantenimiento de sistemas de aplicación
desarrollados con herramientas CASE.
62
1.6 Herramientas de administración de Bases de Datos
1.6 Herramientas de administración de Bases de Datos Herramientas CASE
Uno de sus componentes más importantes es un extenso diccionario de datos que contiene: Diagramas de flujo. Gráficas de estructura. Descripciones de todas las entidades externas e internas. Almacenes de datos. Elementos de datos. Formatos de informes. Formatos de pantalla. Descripción de las relaciones entre los componentes del
sistema.
63
1.6 Herramientas de administración de Bases de Datos Herramientas CASE
Contienen interfaces que interactúan con el SGBD y que permiten que la herramienta CASE guarde información de su diccionario de datos con el uso del SGBD.
La interacción CASE/SGBD demuestra la interdependencia que hay entre desarrollo de sistemas y de base de datos y ayuda a crear un ambiente perfectamente integrado de desarrollo.
64
Herramientas CASE Los diseñadores de la base de datos y de aplicaciones
usan la herramienta CASE para guardar: Descripción del esquema de base de datos. Elementos de datos. Procesos de aplicación. Pantallas. Informes. Otros datos que son importantes para el proceso de
desarrollo.
La herramienta CASE integra toda la información para desarrollo de sistemas en un depósito común que puede revisar el DBA respecto a consistencia y precisión.
65
1.6 Herramientas de administración de Bases de Datos
Herramientas CASE
El DBA puede interactuar con la herramienta CASE para verificar: La definición del esquema de datos para la aplicación. La observancia de convenciones para dar nombre. La duplicación de elementos de datos. Las reglas de validación para los elementos de datos Una multitud de otras variables de desarrollo y administración.
Cuando la herramienta CASE indica conflictos, violaciones a reglas e inconsistencias, facilita hacer correcciones. La corrección es transportada por la herramienta CASE para hacer caer en cascada sus efectos en todo el ambiente de aplicaciones, con lo cual se simplifica en gran medida el trabajo del DBA y el del diseñador de la aplicación.
66
1.6 Herramientas de administración de Bases de Datos
Herramientas CASE
Componentes: Gráficas diseñadas para producir diagramas estructurados; por
ejemplo: diagramas ER (entidad relación). Pintores de pantalla y generadores de informes para producir
los formatos de entrada/salida del sistema de información (por ejemplo, interfaces de usuario final).
Un depósito integrado para guardar datos del diseño del sistema. Este depósito incluye un extenso diccionario de datos.
Un segmento de análisis para obtener una verificación totalmente automática de la consistencia del sistema, su sintaxis y plenitud.
Un generador de documentación de programa.
67
1.6 Herramientas de administración de Bases de Datos
Herramientas CASE
Los principales vendedores de SGBD relacionales, como Oracle, suministran herramientas CASE integradas para su propio software, así como para los RDBMS suministrados por otros vendedores.
Por ejemplo, las herramientas CASE de Oracle se pueden usar con el DB2 de IBM y SQL Server de Microsoft, para producir diseños totalmente documentados de bases de datos.
Algunos vendedores incluso toman los DBMS no relacionales, desarrollan sus esquemas y producen automáticamente diseños relacionales equivalentes.
68
1.6 Herramientas de administración de Bases de Datos
Herramientas CASE
69
1.6 Herramientas de administración de Bases de Datos
Compañía Producto Sitio Web
Casewise Corporate Modeler Suite www.casewise.comComputer Associates
Erwin www.ca.com/us/it-management-products.aspx
Embarcadero Technologies
ER/Studio www.embarcadero.com/products/er_studio
Microsoft Visio office.microsoft.com/en-us/visioOracle Designer www.oracle.com/technology/products/designerIBM System Architect www.telelogic.com/Products/systemarchitect/
Para igualar la capacidad del SGBD a las necesidades de la organización, el DBA debe crear una lista de verificación de las características deseadas del SGBD que debe abordar al menos estos problemas:
Modelo del DBMS. Capacidad de almacenamiento del DBMS. Soporte de desarrollo de aplicaciones. Seguridad e integridad. Respaldo y recuperación. Control de concurrencia. Desempeño. Herramientas para administración de la base de datos. Interoperabilidad y distribución de datos. Portabilidad. Hardware. Diccionario de datos. Capacitación y soporte de parte del vendedor. Herramientas disponibles de terceros. Costo
71
1.7 Consideraciones para instalar un SGBD
2.1 Elementos para crear una base de datos Una base de datos forma parte de un todo más
grande conocido como sistema de información.
73
2.1 Elementos para crear una base de datos Las aplicaciones transforman datos en la
información que es la base para la toma de decisiones.
74
2.1 Elementos para crear una base de datos El diseño de un sistema de información depende
de tres factores: Diseño e implementación de una base de datos. Diseño e implementación de una aplicación. Procedimientos administrativos.
En este curso se estudiará el primero de los tres.
75
2.1 Elementos para crear una base de datos
Desarrollo de una base de datos
Diseño de una base de datos Crear modelos lógicos y físicos completos, normalizados,
no redundantes (en lo posible) y completamente integrados.
Implementación Crear la estructura de almacenamiento de la base de
datos. Cargar los datos. Administración de datos.
76
2.1 Elementos para crear una base de datos
Implementación y carga En la fase de diseño de la base de datos se obtiene una serie
de instrucciones que detalla la creación de tablas, atributos, dominios, vistas, índices, restricciones de seguridad y guías para almacenamiento y operación.
En esta fase el usuario implementa todas las especificaciones obtenidas en el diseño.
Instalación del DBMS
Creación de la(s) base(s) de datos
Carga o conversión de los datos
81
2.1 Elementos para crear una base de datos
Prueba y evaluación
Prueba de la base de datos El DBA debe verificar que la base de datos tenga:
Integridad Uso apropiado de llaves foráneas. Restricciones de dominio. Disparadores.
Seguridad Seguridad física. Seguridad de contraseña. Derechos de acceso. Revisiones de auditoría. Codificación de datos. Estaciones de trabajo sin disco.
82
2.1 Elementos para crear una base de datos
Prueba y evaluación
Afinación de la base de datos El desempeño de una base de datos es uno de los factores
más importantes en la implementación de una base de datos.
Factores que pueden afectar el desempeño de la base de datos: Factores ambientales
Hardware y software Parámetros para configuración del SGBD
Colocación de datos Uso de índices Tamaño de la memoria intermedia.
83
2.1 Elementos para crear una base de datos Prueba y evaluación
Evaluación de la base de datos Pruebas generales del sistema. Capacitación del usuario. Documentación del sistema. Pruebas de planes de respaldo y recuperación.
84
2.1 Elementos para crear una base de datos Operación
En este punto, la base de datos, el SGBD, los usuarios y programas de aplicación constituyen un sistema de información completo.
Inicia el proceso de evolución del sistema.
Los problemas que podrían no haber sido previstos durante la fase de prueba comienzan a aparecer.
85
2.1 Elementos para crear una base de datos Mantenimiento y evolución
El DBA debe realizar actividades de mantenimiento de rutina: Mantenimiento preventivo (respaldo). Mantenimiento correctivo (recuperación). Mantenimiento adaptativo . Asignación de permisos de acceso. Generación de estadísticas de acceso. Auditorías periódicas de seguridad. Resúmenes periódicos.
86
2.1 Elementos para crear una base de datos
Mantenimiento y evolución
Evolución Es necesario realizar cambios en los componentes de la
base de datos debido a: Nuevas necesidades de información. Demanda de informes adicionales. Nuevos formatos de consulta.
Esos cambios pueden implementarse fácilmente sólo cuando el diseño de la base de datos sea flexible y cuando toda la documentación esté actualizada.
87
2.1 Elementos para crear una base de datos
Diseño conceptual
Su objetivo es diseñar una base de datos que sea independiente del software y detalles físicos de la base de datos.
Su salida es un modelo conceptual de datos que describe las entidades principales, atributos, relaciones y restricciones del dominio de un problema determinado.
88
2.1 Elementos para crear una base de datos
Pasos del diseño conceptualPASO ACTIVIDAD1 Análisis y necesidades de datos2 Modelado y normalización entidad-
relación3 Revisión del modelo de datos.4 Diseño de una base de datos distribuida.
89
2.1 Elementos para crear una base de datos Análisis y necesidades de datos
Para desarrollar un modelo de datos preciso, el diseñador debe tener una idea clara de los tipos de datos de la compañía, de su alcance y usos.
El conjunto de datos tendrá significado cuando estén definidas las reglas de negocios. Descripción breve y precisa de una política,
procedimiento o principio dentro del ambiente específico de una organización.
Un cliente puede generar muchas facturas. Cada factura es generada por un cliente.
90
2.1 Elementos para crear una base de datos
Modelado y normalización Entidad-Relación
91
Desarrollo del modelo conceptual usando diagramas ERPASO ACTIVIDAD1 Identificar, analizar y refinar reglas de negocios.2 Identificar las entidades principales usando los resultados del paso 1.3 Definir las relaciones entre las entidades usando los resultados de los pasos
1 y 2.4 Definir los atributos, llaves primarias y foráneas para cada una de las
entidades.5 Normalizar las entidades.6 Completar el diagrama ER inicial.7 Validar el modelo ER contra la información de usuarios finales y necesidades
de procesamiento.8 Modificar el modelo de ER usando los resultados del paso 7.
2.1 Elementos para crear una base de datos Normalización
Es un proceso para evaluar y corregir estructuras de tablas a fin de minimizar redundancias de datos, con lo que se reduce la probabilidad de anomalías de datos.
93
Formas normales
FORMA NORMAL CARACTERÍSTICAPrimera forma normal (1FN) Formato de tabla, sin grupos
repetidos y PK identificada.Segunda forma normal (2FN) 1FN y sin dependencias
parcialesTercera forma normal (3FN) 2FN y sin dependencias
transitivas
2.1 Elementos para crear una base de datos
NPro
NomPro NumEmp
NomEmp ClaseTrabajo CostoHora
Horas
15 Evergreen 103 Luis García Ing. Eléctrico 84.50 23.8
101 Juan Pérez Diseñador de BD 105.00 19.4
105 Alicia López Diseñador de BD 105.00 35.7
106 Guillermo Rodríguez Programador 35.75 12.6
102 David Sánchez Analista de sistemas 96.75 23.8
18 Amber Wave 114 Ana Juárez Diseñador de aplicaciones 48.10 24.6
118 Jaime Fernández Soporte general 18.36 45.3
104 Ana Reyes Analista de sistemas 96.75 32.4
112 Darlene Sánchez Analista DSS 45.95 44.0
22 Rolling Tide 105 Alicia López Diseñador de BD 105.00 64.7
104 Ana Reyes Analista de sistemas 96.75 48.4
94
Nombre de la tabla: RPT_FORMAT
2.1 Elementos para crear una base de datos Conversión a la primera forma normal
Paso 1: Eliminar grupos repetidores. Un grupo repetidor deriva su nombre del hecho de que
múltiples entradas del mismo tipo pueden existir para cualquier instancia de atributo llave individual.
Para eliminar los grupos repetidores se deben eliminar los valores nulos.
Paso 2: Identificar la llave primaria.
Paso 3: Identificar todas las dependencias.
95
2.1 Elementos para crear una base de datos
96
NPro
NomPro NumEmp
NomEmp ClaseTrabajo CostoHora
Horas
15 Evergreen 103 Luis García Ing. Eléctrico 84.50 23.8
15 Evergreen 101 Juan Pérez Diseñador de BD 105.00 19.4
15 Evergreen 105 Alicia López Diseñador de BD 105.00 35.7
15 Evergreen 106 Guillermo Rodríguez Programador 35.75 12.6
15 Evergreen 102 David Sánchez Analista de sistemas 96.75 23.8
18 Amber Wave 114 Ana Juárez Diseñador de aplicaciones 48.10 24.6
18 Amber Wave 118 Jaime Fernández Soporte general 18.36 45.3
18 Amber Wave 104 Ana Reyes Analista de sistemas 96.75 32.4
18 Amber Wave 112 Darlene Sánchez Analista DSS 45.95 44.0
22 Rolling Tide 105 Alicia López Diseñador de BD 105.00 64.7
22 Rolling Tide 104 Ana Reyes Analista de sistemas 96.75 48.4
Nombre de la tabla: DATOS_ORG_1FN
2.1 Elementos para crear una base de datos
Conceptos de dependenciaCONCEPTO DEFINICIÓN
Dependencia funcional
El atributo A determina al atributo B si todos los renglones de la tabla que concuerdan en valor para el atributo A también concuerdan en valor para el atributo B.Ejemplo:NPro NomPro
Dependencia totalmente funcional
Si el atributo B es funcionalmente dependiente de una llave compuesta A pero de ningún subconjunto de ella, el atributo B es funcionalmente dependiente en forma completa de A.
97
2.1 Elementos para crear una base de datos
98
Conceptos de dependenciaCONCEPTO DEFINICIÓN
Dependencia parcial
Existe cuando hay una dependencia funcional en la que el determinante es sólo parte de la llave primaria.Ejemplo:Si (A,B) (C,D)(A,B) es la llave primaria.Entonces la dependencia funcional BC es una dependencia parcial porque sólo parte de la llave primaria (B) se necesita para determinar el valor de C.
2.1 Elementos para crear una base de datos
99
Conceptos de dependenciaCONCEPTO DEFINICIÓN
Dependencia transitiva
Cuando hay dependencias funcionales tales que XY, YZ y X es la llave primaria. En este caso YZ es una dependencia transitiva porque X determina el valor de Z por medio de Y.Se presentará una dependencia transitiva sólo cuando existe dependencia funcional entre atributos no primos (que no forman parte de la llave primaria).
2.1 Elementos para crear una base de datos
NPro NomPro NumEmp NomEmp ClaseTrabajo
CostoHora Horas
100
Dependencia parcial
Dependencia transitiva
1FN (NPro, NumEmp, NomPro, NomEmp, ClaseTrabajo, CostoHora, Horas)Dependencias parciales:
NproNomProNumEmp NomEmp, ClaseTrabajo, CostoHora
Dependencia transitiva:ClaseTrabajo CostoHora
Diagrama de dependencia de 1FN
2.1 Elementos para crear una base de datos Conversión a la segunda forma normal
Se hace sólo cuando la 1FN tiene una llave primaria compuesta.
Si la 1FN tiene una llave primaria de un solo atributo, entonces la tabla está automáticamente en la 2FN.
Paso 1: Hacer nuevas tablas para eliminar dependencias parciales.
Paso 2: Reasignar atributos dependientes correspondientes.
101
2.1 Elementos para crear una base de datos
NPro NomPro
102
NumEmp NomEmp ClaseTrabajo
CostoHora
NPro NumEmp Horas
Nombre de la tabla: Proyecto
Nombre de la tabla: Empleado
Nombre de la tabla: Asignación
Proyecto(Npro, NomPro)
Empleado(NumEmp, NomEmp, ClaseTrabajo, CostoHora) Dependencia transitiva
ClaseTrabajoCostoHora
Dependencia transitiva
Asignación(NPro, NumEmp, Horas)
Diagrama de dependencia de 2FN
2.1 Elementos para crear una base de datos Conversión a la tercera forma normal
Paso 1: Hacer nuevas tablas para eliminar dependencias transitivas.
Paso 2: Reorganizar los atributos dependientes correspondientes.
103
2.1 Elementos para crear una base de datos
104
NPro NomPro
Nombre de la tabla: ProyectoProyecto(Npro, NomPro)
ClaseTrabajo CostoHora
Nombre de la tabla: TrabajoTrabajo(ClaseTrabajo, CostoHora)
NumEmp NomEmp ClaseTrabajo
Nombre de la tabla: EmpleadoEmpleado(NumEmp, NomEmp, ClaseTrabajo)
NPro NumEmp Horas
Nombre de la tabla: AsignaciónAsignación(NPro, NumEmp, Horas)
Diagrama de dependencia de 3FN
2.1 Elementos para crear una base de datos Dado el siguiente diagrama de dependencia,
realice los que se indica en los incisos a, b y c.
105
C1 C2 C3 C4 C5
a) Identifique y discuta cada una de las dependencias indicadas.
b) Genere una base de datos cuyas tablas estén al menos en 2FN, mostrando los diagramas de dependencia para cada tabla.
c) Genere una base de datos cuyas tablas estén al menos en 3FN, mostrando los diagramas de dependencia de cada tabla.
2.1 Elementos para crear una base de datos Diseño lógico
Su objetivo es estructurar una base de datos a partir de un modelo específico independiente de detalles a nivel físico.
Requiere que todos los objetos del modelo conceptual sean asignados (o relacionados) a los constructos específicos empleados por el modelo seleccionado de la base de datos.
106
2.1 Elementos para crear una base de datos
109
Pasos del diseño lógicoPASO ACTIVIDAD1 Asignar el modelo conceptual al modelo
lógico.2 Definir restricciones de integridad del
modelo lógico3 Validar el modelo lógico contra
necesidades del usuario.
2.1 Elementos para crear una base de datos
110
Asignación del modelo conceptual al modelo relacionalPASO ACTIVIDAD
1 Asignar entidades fuertes2 Asignar relaciones de supertipo/subtipo3 Asignar entidades débiles4 Asignar relaciones binarias.5 Asignar relaciones de grado superior.
2.1 Elementos para crear una base de datos Entidad fuerte
Reside en el lado 1 de todas sus relaciones. No contiene ningún atributo que sea llave foránea.
111
Curso(NombreCurso, NumCurso, Horas, Departamento)
LLAVE PRIMARIA NumCurso
Estudiante(NumEstudiante, Nombre, Clase, Especialidad)
LLAVE PRIMARIA NumEstudiante
2.1 Elementos para crear una base de datos Relaciones de supertipo/subtipo
Un supertipo tiene muchos subtipos. Todo subtipo tiene un solo supertipo con el que
está relacionado.
112
Sección(IDSección, NumCurso, Semestre, Año, Profesor)
LLAVE PRIMARIA IDSecciónLLAVE FORÁNEA NumCurso REFERENCES Curso
2.1 Elementos para crear una base de datos Entidad débil
Hereda su llave primaria de otra tabla. Es dependiente de existencia.
113
Prerrequisito(NumCurso, NumPrerrequisito) LLAVE PRIMARIA NumCurso, NumPrerrequisitoLLAVE FORÁNEA NumCurso REFERENCES CursoLLAVE FORÁNEA NumPrerrequisito REFERENCES Curso
Informe_Calif(NumEstudiante, IDSección, Calificación)LLAVE PRIMARIA NumEstudiante, IDSecciónLLAVE FORÁNEA NumEstudiante REFERENCES
EstudianteLLAVE FORÁNEA IDSección REFERENCES Sección
2.1 Elementos para crear una base de datos Definición de restricciones de integridad
del modelo lógico
114
IDSección es un identificador de sección válido Tipo: numérico Margen: valor bajo=1 valor alto=9999 Formato de exhibición: 9999 Longitud:4
Semestre es un semestre válido Tipo: carácter Formato de exhibición:XXXXXXXXX Entradas válidas: Primavera, Otoño Longitud: 9
2.1 Elementos para crear una base de datos
115
Diseño físico Es el proceso de determinar la organización del
almacenamiento de los datos y las características de acceso a datos de la base de datos para asegurar su integridad, seguridad y operación.
Pasos del diseño físicoPASO ACTIVIDAD1 Definir la organización del
almacenamiento de los datos.2 Definir medidas de integridad y
seguridad.3 Determinar medidas de operación.
2.1 Elementos para crear una base de datos Definición de la organización del
almacenamiento de los datos
Determinar el volumen de datos para saber cuánto espacio de almacenamiento debe reservarse para la base de datos.
Conocer la frecuencia con la que los datos se insertan, actualizan y obtienen ayudará a determinar los patrones de uso.
116
2.1 Elementos para crear una base de datos Definición de medidas de integridad y
seguridad Definir usuarios y grupos.
Estar conscientes de los diferentes tipos de usuarios y grupos de usuarios para poner en vigor correctamente la seguridad de la base de datos.
Asignar controles de seguridad. Otorgar derechos de acceso a tablas de la base de
datos a usuarios o grupos de usuarios.
117
Usuario scottDerechos de acceso
SELECT, UPDATE en la tabla ClaseSELECT en la tabla Curso
2.1 Elementos para crear una base de datos Determinación de medidas de operación
Características de los medios de almacenamiento Tiempo de búsqueda (2-30 ms) Tamaño de sector y bloque (página) (512 bytes) Tamaño de memoria intermedia (buffer) (312 Kb) Número de discos y cabezas de lectura/escritura.
118
2.2 Dimensionamiento Cuando se diseña una base de datos es
necesario realizar una estimación del tamaño que tendrá la base de datos cuando esté llena.
Esta estimación puede ayudar a determinar la configuración de hardware que se necesitará para: Conseguir el rendimiento que necesiten las
aplicaciones. Asegurar la cantidad de espacio en disco necesarios
para almacenar los datos.
119
2.2 Dimensionamiento Para realizar una estimación del tamaño de la
base de datos debe efectuarse una estimación del tamaño de cada tabla por separado y sumar los valores obtenidos.
Calcular el tamaño de una tabla1. Especificar el número de filas que habrá en la
tabla.
Num_Rows=número de filas de la tabla.
120
2.2 Dimensionamiento Para determinar el número de filas se debe
tomar en cuenta:
La cantidad de transacciones estimadas y en base a esto determinar el porcentaje de dichas consultas que agregarán o eliminarán registros de cada tabla.
Si existe una base de datos similar en un contexto similar puede tomarse como parámetro para realizar la estimación.
121
2.2 Dimensionamiento2. Especificar el número de columnas de longitud fija y
de longitud variable y calcular el espacio necesario para su almacenamiento.
Num_Cols=Número total de columnas.Fixed_Data_Size=Tamaño total en bytes de todas las columnas de longitud fija.Num_Variable_Cols=Número de columnas de longitud variable.Max_Var_Size=Tamaño máximo total en bytes de todas las columnas de longitud variable.
122
2.2 Dimensionamiento
3. Una parte de la fila, conocida como el mapa de bits NULL, se reserva para administrar la nulabilidad en las columnas.
Null_Bitmap=2+((Num_Cols+7)/8) Sólo se toma la parte entera.
4. Calcular el tamaños de los datos de longitud variable
Variable_Data_Size=2+(Num_Variable_Cols x 2) + Max_Var_Size
Si se conoce el valor promedio, se utiliza en vez del valor máximo.
123
2.2 Dimensionamiento
5. Calcular el tamaño total de la fila:
Row_Size=Fixed_Data_Size+Variable_Data_Size+Null_Bitmap+4
El valor 4 de la formula representa la sobrecarga del encabezado de la fila de datos.
El encabezado contiene información sobre un archivo que los programas del sistema necesitan para acceder a los registros.
6. Calcular el tamaño total de la tabla
Tt=Row_Size x Num_Rows
124
2.2 Dimensionamiento
Ejemplo
Clientes( Clie_id int NULL, Clie_detalle varchar(50) NULL, Clie_provincia int NULL);
1. Num_Rows=1000
2. Num_Cols=3Fixed_Data_Size=8 bytesNum_Variable_Cols=1Max_Var_Size=50 bytes
125
2.2 Dimensionamiento
3. Null_Bitmap=2+((Num_Cols+7)/8) =2+((3+7)/8)=3
Null_Bitmap =3 bytes
4. Variable_Data_Size=2+(Num_Variable_Cols x 2) + Max_Var_Size =2+(1 x 2) + 50 Variable_Data_Size=54 bytes
5. Row_Size=Fixed_Data_Size+Variable_Data_Size+Null_Bitmap+4Row_Size=8 + 54 + 3 + 4=69 bytes
126
2.2 Dimensionamiento
6. Tamaño total de la tablaTt=69 x 1000=69000 bytes=67.4 KB
Si se estima un crecimiento de un 10% en los próximos seis meses y queremos reservar espacio para todo este tiempo. El número de filas será 1000 x 1.10=1100
Tt=69 x 1100=75900 bytes=74.12 KB
127
128
2.3 Arquitectura de tres niveles de las bases de datos Definida en 1971 por el Standards
Planning and Requirements Committee (SPARC) del American National Standard Institute (ANSI).
Las bases de datos se pueden ver en tres niveles de abstracción.
Su propósito es separar el modelo del usuario de la estructura física de la base de datos.
2.3 Arquitectura de tres niveles de las bases de datos Nivel externo:
Es la forma en que los usuarios ven los datos.
Cada usuario tendrá su propia vista de la base de datos.
La colección de todas las vistas de usuario forma el nivel externo.
129
2.3 Arquitectura de tres niveles de las bases de datos Nivel lógico o conceptual:
Tiene un esquema lógico, que describe la estructura de toda la base de datos.
Oculta los detalles de las estructuras de almacenamiento físico.
Se concentra en describir las entidades, los tipos de datos, las relaciones, las operaciones de los usuarios y las restricciones.
130
2.3 Arquitectura de tres niveles de las bases de datos Nivel interno:
Es la forma en que los datos se almacenan realmente.
Define la vista física de la base de datos (los dispositivos de disco, las direcciones físicas, los índices, los apuntadores, etc.).
131
2.3 Arquitectura de tres niveles de las bases de datos
133
Registro de empleado externo:
nombreEmpleado numEmpleado deptJaime López Sánchez E101 MercadotecniaRegistro de empleado lógico:
empId apePat apeMat nombre dept sueldoE101 López Sánchez Jaime 12 55000Registro de empleado almacenado:
empId apePat apeMat nombre dept sueldo Apuntador Apuntador adelante atrásE101bbbbbLópezbbbbSánchezbbbJaimebbbb12bbbbbb5500bbbbb10101bbbb10001
2.4 Estructuras lógicas En todas las bases de datos se utilizan
estructuras lógicas para organizar la información:
Tablas: Estructura compuesta de renglones y columnas en la que se almacenan los datos relevantes de cada base de datos.
134
2.4 Estructuras lógicas Restricciones:
Se definen al crear las tablas, pero se almacenan aparte.
Ayudan a asegurar la integridad de datos.
Marcan las reglas que deben cumplir los datos para que se consideren válidos.
135
2.4 Estructuras lógicas Índice:
Se trata de una lista ordenada de claves que permite acceder a las tuplas de una tabla de forma veloz.
136
2.4 Estructuras lógicas Procedimientos y funciones:
Código del lenguaje procedimental de la base de datos utilizado para ejecutar acciones sobre las tablas.
Una de las principales ventajas de usar procedimientos almacenados es que se pueden usar para encapsular y representar transacciones de negocios.
138