sistemas gestores de base de datos

138
Sistemas Gestores de Bases de Datos Dra. en C. Lisbeth Rodríguez Mazahua [email protected] Universidad Autónoma del Estado de México Centro Universitario UAEM Texcoco Ingeniería en Computación 1

Upload: david-sanchez-vazquez

Post on 08-Apr-2016

119 views

Category:

Documents


1 download

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

Evaluación Tareas/Investigaciones 50% Exámenes 50% 100%

5

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

1. Objetivos y funciones de la administración de bases de datos

9

¿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

El entorno de base de datos integrada

12

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

Base de datos UNIVERSIDAD18

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

21

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

40

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/

70

1.6 Herramientas de administración de Bases de Datos

ERwin Data Modeler

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

72

2. Dimensionamiento y creación de una base de datos

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 Ciclo de vida para el desarrollo de sistemas (SDLC)

77

2.1 Elementos para crear una base de datos

Ciclo de vida de una base de datos (DBLC)

78

2.1 Elementos para crear una base de datos

79

Actividades del estudio inicial de una base de datos

2.1 Elementos para crear una base de datos

80

Proceso de diseño de una base de datos

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.

92

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

107

Diagrama ER de la base de datos UNIVERSIDAD

2.1 Elementos para crear una base de datos

108

Diagrama relacional de la base de datos UNIVERSIDAD

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

132

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 Vistas:

Son tablas virtuales basadas en una consulta SELECT.

137

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