auditoría de sistemas de informacióncotana.informatica.edu.bo/downloads/base de datos.pdf · 2...
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.
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.
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.
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.
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;
47
DEPENDENCIA
• Dependencia funcional;
• Dependencia funcional completa;
• Dependencia funcional trivial;
• Dependencia funcional elemental;
• Dependencia funcional transitiva.
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