auditoría de sistemas de informacióncotana.informatica.edu.bo/downloads/base de datos.pdf · 2...

54
Auditoría de Sistemas Informáticos: 1.3 Gestión de Bases de datos UNIVERSIDAD MAYOR DE SAN ANDRES FACULTAD DE CIENCIAS ECONOMICAS Y FINANCIERAS MAESTRIA EN AUDITORIA Y CONTROL FINANCIERO M. Sc. Miguel Cotaña Mier Lp, Septiembre 2013

Upload: dangdiep

Post on 26-Sep-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

Auditoría de Sistemas

Informáticos:

1.3 Gestión de Bases de datos

UNIVERSIDAD MAYOR DE SAN ANDRES

FACULTAD DE CIENCIAS ECONOMICAS Y FINANCIERAS

MAESTRIA EN AUDITORIA Y CONTROL FINANCIERO

M. Sc. Miguel Cotaña Mier Lp, Septiembre 2013

2

Una BD es una colección de datos

operacionales almacenados sin

redundancia perjudiciales y utiliza-

das para una o mas aplicaciones,

de una empresa en particular.

DEFINICION

3

ARQUITECTURA DE SBD

• NIVEL EXTERNO: Describe solo parte de la BD(mundo real)

• NIVEL CONCEPTUAL: Describe que datos son almacenados en la BD y las relaciones que existen entre los datos. (mundo de ideas)

• NIVEL INTERNO: Describe el almacenamiento fisico de los datos(mundo de datos)

4

SISTEMA DE BD (SBD)

Un SBD es un siste-

ma cuyo proposito

general es el de

almacenar y recu-

perar informacion

inherente a la

organización donde

opera.

• DATOS: Un SBD puede comprender 1 o varias BD´s.

• USUARIOS: personas que accesan a las BD.

• HARD: Donde recide las BD.

• SOFT: Se lo conoce como DBMS.

5

6

CARACTERISTICAS DE LOS

SBD

• Control de la redundancia;

• Evitar la inconsistencia;

• Compartimiento de los datos;

• Integridad y seguridad de los datos;

• Estandarizar la información en el sistema;

• Independencia de datos.

7

TIPOS DE BASE DE DATOS

• Base de Datos Jerárquica;

• Base de Datos Relacional;

• Base de Datos de Red;

• Base de Datos Orientada a Objetos;

• Base de Datos Distribuidas;

• Base de Datos Objeto Relacional;

• Base de Datos Multidimensionales;

• Base de Datos Transaccionales;

• Base de Datos Documentales;

• Base de Datos Declarativas (deductivas y

funcionales).

8

BASE DE DATOS

RELACIONAL

Este es el modelo mas utilizado para

modelar problemas reales y

administrar datos dinamicamente.

Su idea fundamental es el uso de

“relaciones”. Durante su diseño, una

BD relacional pasa por el proceso de

normalizacion.

9

DISEÑO CONCEPTUAL

MODELO E-R

El modelo de datos entidad-relación

(E-R) se basa en una percepción del

mundo real que consiste en un

conjunto de objetos basicos llamados

entidades y relaciones entre estos

objetos.

10

….conceptos y grafica

• Conjunto de relaciones: Conjunto de

relacionamientos del mismo tipo.

Ej: Funcionario TRABAJA en el Proyecto

FUNCIONARIO PROYECTO TRABAJA

en

dir

F-nac

cod CODIGO

NOMBRE

DEPTO

nom

11

TABLA RELACIONAL

CODIGO NOMBRE SEXO EDAD

A1 Ximena F 21

A2 Marcos M 26

A3 Zulma F 28

FUNCIONARIO ATRIBUTOS

T

U

P

L

A

S

REPRESENTACION LOGICA:

FUNCIONARIO(codigo,nombre,sexo,edad)

12

OBJETIVOS DEL M.R.

• Proveer esquemas de facil utilización;

• Mejorar la independencia lógica y física de datos;

• Proveer a los usuarios de lenguajes de manipulación de BD de alto nivel, permitiendo el acceso a usuarios sin experiencia;

• Optimizar el acceso a BD;

• Mejorar la integridad y seguridad de los datos;

• Proveer un enfoque metodológico para el diseño de esquemas.

13

CARACTERISTICAS DE BASES DE

DATOS RELACIONAL

• Una BD, puede ser organizada en

relaciones;

• Se caracteriza por utilizar una tabla

bidimensional, para la organización de los

datos (filas y columnas);

• Cada fila contiene la información a una

entrada en la BD;

• Cada columna define un ítem de la BD.

14

LENGUAJES DE BD

• Lenguaje de definicion de datos(LDD)

Usualmente el LDD incorpora la definicion de constraints y la definicion de vistas.

• Lenguaje de manipulacion de datos(LMD)

- Alto nivel: orientada a conjuntos

- Bajo nivel: orientada a registros

• Lenguaje huesped

Lenguaje de programacion en el cual comandos del LMD son embutidos.

15

RESTRICCIONES DE

ASIGNACION

(Mapping)

16

RESTRICCIONES DE ASIGNACIÓN

• Una planificación E-R de una empresa pueden

definir ciertas restricciones: CARDINALIDAD,

que expresan el número de entidades con las

que puede asociarse otra entidad mediante un

conjunto de entidades.

• Para un conjunto binario de relaciones R entre

los conjuntos de entidades A y B, la cardinalidad

de asignación debe ser una de las siguientes:

17

……restricciones de asig.

• Una a una. Una entidad en A esta

asociada a lo sumo con una entidad en B,

y una entidad en B esta asociada a lo

sumo con una entidad en A.

• Una a muchas. Una entidad en A esta

asociada con numero cualquiera de

entidades en B. Una entidad en B puede

asociarse a lo sumo con una entidad en A

18

……restricciones de asig.

• Muchas a una. Una entidad en A esta asociada

a lo sumo con una entidad en B, sin embargo,

puede estar asociada con un numero cualquiera

de entidades en A.

• Muchas a muchas. Una entidad en A esta

asociada con numero cualquiera de entidades

en B, y una entidad en B esta asociada con un

numero cualquiera de entidades en A

19

BASE DE DATOS O.O.

Para todas las cosas orientadas a objetos, el marco de referencia conceptual es el modelo de objetos. Se menciona los siguientes elementos en este modelo: - Abstracción; - Encapsulamiento; - Modularidad; - Jerarquia; - Tipos; - Persistencia; - Concurrencia.

20

ABSTRACCION

Una abstracción denota

las características

esenciales de un objeto

que lo distinguen de

todos los demás tipos

de objeto y proporciona

fronteras conceptuales

nítidamente definidas

respecto a la

perspectiva del

observador.

21

ENCAPSULAMIENTO

Es el proceso de

almacenar en un

mismo

compartimiento los

elementos de una

abstracción que

constituyen su

estructura y su

comportamiento

22

MODULARIDAD

La modularidad es

la propiedad que

tiene un sistema

que ha sido

descompuesto en

un conjunto de

módulos cohesivos

y débilmente

acoplados.

23

JERARQUIA

La jerarquía es

una

clasificación u

ordenación de

abstracciones.

24

PARADIGMA O.O.

La Orientación a Objetos (OO), es una técnica para el modelado de sistemas como un conjunto de objetos relacionados que interactuan entre sí. La OO es similar a la forma en que las personas observan su entorno. La OO es un enfoque de desarrollo de software que organiza tanto el problema como su solución.

25

OBJETOS

OBJETO. Es la representacion abstraida de las cosas

Desde la perspectiva de la cognición humana un objeto es:

- Una cosa tangible y/o visible.

- Algo que puede comprenderse.

- Algo hacia lo que se dirige una acción o

pensamiento.

Todo lo que hay en el mundo serán objetos?

26

OBJETOS

Los objetos tienen atributos y operaciones.

Los atributos son sus características y sus

operaciones (servicios, métodos) son las acciones

que el objeto puede realizar

La definicion de objetos implica la descripción de

atributos, comportamientos, operaciones y

mensajes

27

EJEMPLO

TOYOTA: CORONA

- Placa

- Modelo

- Color

- Nro-motor

- Frenar()

- Cambiar-caja()

OBJETO

ATRIBUTOS

OPERACIONES

Comportamiento del objeto

28

CLASE

Clase es una agrupación de objetos con los mismos tipos de características Los objetos son instancias de las clases. Las clases definen atributos y operaciones para sus objetos, no para ellas mismas.

29

……….CLASES Y OBJETOS CLASE. Es un conjunto de objetos que comparten una

estructura comun y un comportamiento común.

30

TIPOS DE RELACION ENTRE

CLASES

asociacion

agregacion (tiene)

composicion (incluye)(parte de)

dependencia

navegacion (es un)

31

CLASIFICACIÓN Identificar clases y objetos es fundamental en el

DOO. Implica descubrimiento e invención.

32

ABSTRACCIONES CLAVE Es una clase u objeto que forma parte del

vocabulario del dominio del problema.

33

SISTEMA DE BD

SGBD BD

Procesador de consulta Metadatos(DD)

+

Archivos de datos

34

SGBD • MySql: Licencia Dual;

• PostgreSQL (http://www.postgresql.org);

• SQLite (http://www.sqlite.org);

• DB2 Express-C

(http://www.ibm.com/software/data/db2/express/)

• Apache Derby (http://db.apache.org/derby/);

• IBM Informix;

• Microsoft Access;

• Microsoft SQL Server;

• Open Access;

• Oracle;

• Paradox;

• Apache;

• Sybase ASE.

35

PostgreSQL

Es un potente motor de bases de datos, que tiene prestaciones y funcionalidades equivalentes a muchos gestores de bases de datos comerciales. Es más completo que MySQL ya que permite métodos almacenados, restricciones de integridad, vistas, etc.

36

Características

• Alta concurrencia: Mediante un sistema

denominado MVCC (Acceso concurrente

multiversión) PostgreSQL permite que mientras

un proceso escribe en una tabla, otros accedan

a la misma tabla sin necesidad de bloqueos.

Cada usuario obtiene una visión consistente de

lo último a lo que se le hizo commit. Esta

estrategia es superior al uso de bloqueos por

tabla o por filas común en otras bases,

eliminando la necesidad del uso de bloqueos

explícitos.

37

• Claves ajenas: también denominadas

Llaves ajenas o Claves Foráneas (foreign

keys).

• Disparadores(triggers): Se define en una

acción especifica basada en algo

ocurrente dentro de la BD. En PostgreSQL

esto significa la ejecución de un

procedimiento almacenado basado en una

determinada acción sobre una tabla

específica

38

Funciones: Bloques de código que se

ejecutan en el servidor. Pueden ser escritos

en varios lenguajes, con la potencia que

cada uno de ellos da, desde las operaciones

básicas de programación, tales como

bifurcaciones y bucles, hasta las

complejidades de la programación orientada

a objetos o la programación funcional.

Algunos de los lenguajes: C, C++, Java

PL/JavaWeb, plPHP, pl/Python, Pl/Ruby,

pl/sh, pl/Tcl, pl/Scheme.

39

Servidor de BD Veamos como esta construido un servidor

de bases de datos relacional :

1. La capa de acceso a los datos;

2. La capa gestora SQL;

3. La capa traductora SQL;

4. La capa de comunicaciones .

Como cliente nos conectaremos a la capa 4,

le enviaremos los comandos SQL a esta

capa, que los pasará a la capa 3.

40

Ésta hace la traducción del comando y, si

no hay errores, envía el comando a la capa

2. La capa 2 hace toda la gestión del

comando con la colaboración de la capa 1:

recoge los datos y errores para enviarlos al

cliente, vía la capa 4; y es capaz de

mantener un diálogo con el programa cliente

para coordinarse. La capa 1 es la

encargada de gestionar correctamente los

datos y controlar los bloqueos y

transacciones.

41

Ejemplo: creamos 3 tablas

Fichero: paises.sql

create table paises (cod_pais integer, nombre varchar(30));

insert into paises values (1, 'pais 1');

insert into paises values (2, 'pais 2');

insert into paises values (3, 'pais 3');

commit work;

42

Fichero: provincias.sql

create table provincias (cod_provincia int, cod_pais int, nom_provincia varchar(30));

insert into provincias values (1, 1, 'Provincia 1, Pais 1');

insert into provincias values (2, 1, 'Provincia 2, Pais 1');

insert into provincias values (1, 2, 'Provincia 1, Pais 2');

insert into provincias values (2, 2, 'Provincia 2, Pais 2');

insert into provincias values (1, 3, 'Provincia 1, Pais 3');

insert into provincias values (2, 3, 'Provincia 2, Pais 3');

commit work;

43 Fichero: municipios.sql

create table municipios (cod_pais int, cod_provincia int, cod_municipio int, nombre_municipio varchar(60));

insert into municipios values (1, 1, 1, 'Municipio 1, Provincia 1, Pais 1');

insert into municipios values (2, 1, 1, 'Municipio 2, Provincia 1, Pais 1');

insert into municipios values (3, 1, 1, 'Municipio 3, Provincia 1, Pais 1');

insert into municipios values (1, 2, 1, 'Municipio 1, Provincia 2, Pais 1');

insert into municipios values (2, 2, 1, 'Municipio 2, Provincia 2, Pais 1');

insert into municipios values (3, 2, 1, 'Municipio 3, Provincia 2, Pais 1');

insert into municipios values (1, 3, 1, 'Municipio 1, Provincia 3, Pais 1');

insert into municipios values (2, 3, 1, 'Municipio 2, Provincia 3, Pais 1');

insert into municipios values (3, 3, 1, 'Municipio 3, Provincia 3, Pais 1');

insert into municipios values (1, 1, 2, 'Municipio 1, Provincia 1, Pais 2');

insert into municipios values (2, 1, 2, 'Municipio 2, Provincia 1, Pais 2');

insert into municipios values (3, 1, 2, 'Municipio 3, Provincia 1, Pais 2');

insert into municipios values (1, 2, 2, 'Municipio 1, Provincia 2, Pais 2');

insert into municipios values (2, 2, 2, 'Municipio 2, Provincia 2, Pais 2');

insert into municipios values (3, 2, 2, 'Municipio 3, Provincia 2, Pais 2');

insert into municipios values (1, 3, 2, 'Municipio 1, Provincia 3, Pais 2');

insert into municipios values (2, 3, 2, 'Municipio 2, Provincia 3, Pais 2');

insert into municipios values (3, 3, 2, 'Municipio 3, Provincia 3, Pais 2');

insert into municipios values (1, 1, 3, 'Municipio 1, Provincia 1, Pais 3');

insert into municipios values (2, 1, 3, 'Municipio 2, Provincia 1, Pais 3');

insert into municipios values (3, 1, 3, 'Municipio 3, Provincia 1, Pais 3');

commit work;

44

OBJETIVOS de SGBD

• Proveer un ambiente que sea

adecuado y eficiente para recuperar y

almacenar información de la Base de

Datos.

• Gestionar grandes volúmenes de

información.

• Proveer seguridad a la información

almacenada en las Bases de Datos.

45

FUNCIONES DEL ABD

• Identifica información relevante;

• Definiciones de esquema (LDD);

• Definición de la estructura de almacenamiento y del método de acceso;

• Modificación del esquema y de la organización fisica;

• Definición de aspectos de seguridad(usuarios, entornos, infraestructura);

• Especificación de las restricciones de integridad;

• Reorganización;

• Administracion del uso de la BD;

• Estadisticas;

• Auditoria;

• Backup y recuperacion;

46

NORMALIZACION

47

DEPENDENCIA

• Dependencia funcional;

• Dependencia funcional completa;

• Dependencia funcional trivial;

• Dependencia funcional elemental;

• Dependencia funcional transitiva.

48

CLAVES

Clave candidata, clave primaria, clave alternativa, clave ajena.

49

FORMAS NORMALES

• Cuando se diseña una BD mediante el

MR, al igual que ocurre con otros

modelos, obtenemos diferentes

esquemas relacionales y no todos ellos

son equivalentes, ya que unos van a

representar la realidad mejor que otros.

• Con la teoria de la normalizacion, se

consigue una formalización en el diseño

lógico de BDR.

50

1ra. FORMA NORMAL

Para que una tabla pueda ser considerada

una relación no debe admitir grupos

repetitivos, esto es, debe estar en primera

forma normal

Se dice que una relacion esta en 1FN

cuando cada atributo solo toma un valor del

dominio simple subyacente.

51

2da. FORMA NORMAL

Esta basada en el concepto de

dependencia plena y en las interrelaciones

existentes entre los atributos principales de

una relación.

Se dice que una relación esta en 2FN sí:

Está en 1FN y cada atributo no principal

tiene DFC respecto de cada una de las

claves.

52

3ra. FORMA NORMAL

Esta basada en el concepto de DFT

Un esquema de relación R está en 3FN Sii.

Esta en 2FN y no existe ningún atributo no

principal que dependa transitivamente de

alguna clave R

53

FORMA NORMAL Boyce-Codd

Para ciertos problemas fueron insuficientes

las tres primeras formas normales, en

relaciones que presentaban varias claves

candidatas compuestas que se solapaban.

Se dice que una relación se encuentra en

FNBC sí, y solo sí, todo determinante es

una clave candidata.

54

SQL

(Structured Query Languaje) • La mayoria de los SGBD relacionales

proveen un lenguaje de alto nivel, en el que el usuario solo especifica lo que desea como resultado, dejando las decisiones de como ejecutar la consulta para el sistema.

• El SQL es lenguaje standard de BD.

• Incorpora el algebra relacional y el calculo relacional