Logo Studenta

base de datos

¡Este material tiene más páginas!

Vista previa del material en texto

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) 
 + 
Archivosde 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. 
http://www.postgresql.org/
http://www.sqlite.org/
http://www.ibm.com/software/data/db2/express/
http://db.apache.org/derby/
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 
(StructuredQuery 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