bi 2 - fundamentos de bases de datos.pdf

29
Fundamentos de BD

Upload: alan

Post on 25-Dec-2015

67 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: BI 2 - Fundamentos de Bases de Datos.pdf

Fundamentos de BD

Page 2: BI 2 - Fundamentos de Bases de Datos.pdf

Los sistemas de información modernos almacenan los datos

en Bases de Datos.

“Una base de datos es un

conjunto de datos relacionados

que se describen a sí mismos

almacenados sistemáticamente para su posterior uso”.

[Elmasri y Navathe, 2005]

¿Qué es una BD?

Page 3: BI 2 - Fundamentos de Bases de Datos.pdf

Un sistema gestor de bases de datos o SGBD (Data

Base Management System - DBMS) es el software

que permite a los usuarios:

procesar,

describir,

administrar

y recuperar

los datos almacenados en una base de datos.

SGBD

Page 4: BI 2 - Fundamentos de Bases de Datos.pdf

SGBD

Page 5: BI 2 - Fundamentos de Bases de Datos.pdf

Función de descripción o definición

Permite crear las estructuras para almacenar

adecuadamente los datos.

Se realiza mediante el lenguaje de descripción

de datos o DDL.

– Se definen las estructuras de datos

– Se definen las relaciones entre los datos

– Se definen las reglas que han de cumplir los

datos

Funciones de un SGBD

Page 6: BI 2 - Fundamentos de Bases de Datos.pdf

Función de manipulación

Permite modificar y usar los datos de la

base de datos.

Se realiza mediante el lenguaje de

modificación de datos o DML.

– Añadir , eliminar y modificar datos

La tarea de buscar datos se hace

mediante un lenguaje DQL.

Funciones de un SGBD

Page 7: BI 2 - Fundamentos de Bases de Datos.pdf

Función de control

Permite crear y modificar usuarios.

Se definen los “derechos” de los usuarios.

Otras tareas– copia de seguridad, carga de archivos,

– auditoría, protección ante ataques externos, configuración del sistema,...

Se realiza mediante el lenguaje de control de datos o DCL.

Funciones de un SGBD

Page 8: BI 2 - Fundamentos de Bases de Datos.pdf

Arquitectura de un SGBD

Page 9: BI 2 - Fundamentos de Bases de Datos.pdf

Modelos de BD

JerárquicoEn Red

RelacionalOrientado a Objetos

Page 10: BI 2 - Fundamentos de Bases de Datos.pdf

Emplea tablas para organizar los elementos de datos.

Cada tabla representa una entidad.

Cada fila representa una instancia de esa entidad.

Mediante relaciones se enlazan filas de 2 tablas.

Se insertan identificadores de fila de una tabla como

valores de atributo en la otra.

Modelo Relacional

Page 11: BI 2 - Fundamentos de Bases de Datos.pdf

Modelo Relacional

Page 12: BI 2 - Fundamentos de Bases de Datos.pdf

Ejemplo Modelo Relacional

Page 13: BI 2 - Fundamentos de Bases de Datos.pdf

Ejemplo Modelo Relacional

Page 14: BI 2 - Fundamentos de Bases de Datos.pdf

Clave Candidata: Conjunto de atributos que identifican

unívocamente cada tupla de la relación.

Clave Primaria: Clave candidata que se escoge como

identificador de las tuplas.

Clave Alternativa: Cualquier clave candidata que no sea

primaria.

Clave externa o foránea: Son los datos de atributos de

una tabla cuyos valores están relacionados con atributos

de otra tabla.

Claves

Page 15: BI 2 - Fundamentos de Bases de Datos.pdf

Clave primaria (primary key): Hace que los atributos

marcados como clave primaria, no puedan repetir

valores.

Obligatoriedad (not null): Prohíbe que un atributo no

tenga ningún valor.

Integridad referencial (foreign key): No se podrán

introducir valores que no estén incluidos en los

campos relacionados con esa clave.

Regla de validación (check): Condición

específica.

Restricciones

Page 16: BI 2 - Fundamentos de Bases de Datos.pdf

Ejemplo Modelo Relacional

Page 17: BI 2 - Fundamentos de Bases de Datos.pdf

Los SGBD relacionales se conocen como SGBDR o

RDBMS.

Algunos RDBMS

– Oracle

– MS-SQL Server

– DB/2

– MySql

– MS-Access

– Informix

SGBDR / RDBMS

Page 18: BI 2 - Fundamentos de Bases de Datos.pdf

Técnicas que buscan lograr un diseño correcto de una base

de datos.

Previenen anomalías de modificación.

Se conocen como formas normales.

Cada forma normal detecta una anomalía diferente.

Generalmente las anomalías se solucionan partiendo una

tabla en dos o más tablas.

Normalización

Page 19: BI 2 - Fundamentos de Bases de Datos.pdf

1NF

2NF

3NF

BCNF

4NF

5NF

Formas Normales

1NF

2NF

5NF

Page 20: BI 2 - Fundamentos de Bases de Datos.pdf

SQL es el lenguaje estándar ANSI/ISO de definición,

manipulación y control de bases de datos relacionales.

Con él se puede acceder a todos los sistemas

relacionales comerciales.

Las operaciones de SQL reciben el nombre de sentencias

y están formadas por diferentes partes denominadas

cláusulas.

Lenguaje SQL

Page 21: BI 2 - Fundamentos de Bases de Datos.pdf

Creación de Tablas

Lenguaje SQL - DDL

Page 22: BI 2 - Fundamentos de Bases de Datos.pdf

Inserción de filas

Borrado de filas

Modificación de datos

Lenguaje SQL - DML

Page 23: BI 2 - Fundamentos de Bases de Datos.pdf

Consultas

Lenguaje SQL - DQL

Page 24: BI 2 - Fundamentos de Bases de Datos.pdf

En inglés: Stored Procedures (SP).

Programas ejecutados en el motor de base de datos.

Se escriben en un lenguaje procedimental propio de

cada SGBD.

− Oracle: PL/SQL (Programming Language/SQL)

− MS-SQL Server: TSQL (Transact SQL)

Procedimientos Almacenados

Page 25: BI 2 - Fundamentos de Bases de Datos.pdf

Están compuestos por sentencias SQL pero pueden usar

variables, condicionales y ciclos.

Pueden tener parámetros de entrada y salida.

Pueden ejecutarse directamente en el SGBD o ser

llamados desde una aplicación.

Procedimientos Almacenados

Page 26: BI 2 - Fundamentos de Bases de Datos.pdf

CREATE PROCEDURE sp_traslado_fondos@cuenta1 VARCHAR(20), @cuenta2 VARCHAR(20), cantidad INTEGERAS

BEGIN TRANSACTIONUPDATE tbl_cuentas SET saldo = saldo – cantidadWHERE cuenta = cuenta1IF @@ERROR <> 0

BEGINPRINT ‘Transacción No completada’

ROLLBACK TRANSACTIONEND

UPDATE tbl_cuentas SET saldo = saldo + cantidadWHERE cuenta = cuenta2IF @@ERROR <> 0

BEGINPRINT ‘Transacción No completada’

ROLLBACK TRANSACTIONEND

COMMIT TRANSACTION

Ejemplo de SP en TSQL

Page 27: BI 2 - Fundamentos de Bases de Datos.pdf

En inglés: Triggers.

Tipo especial de Procedimiento Almacenado.

Se ejecuta automáticamente cuando ocurre undeterminado suceso a un objeto de la base de datos:

− Una inserción.

− Un retiro.

− Una actualización.

Desencadenadores

Page 28: BI 2 - Fundamentos de Bases de Datos.pdf

Ejemplo de Trigger en PL/SQL

Page 29: BI 2 - Fundamentos de Bases de Datos.pdf

Bibliografía

Diapositivas basadas en “Apuntes de Sistemas Gestores de Bases de Datos”, Autor: Jorge Sánchez Asenjo (2007), http://www.jorgesanchez.net