bi 2 - fundamentos de bases de datos.pdf

Post on 25-Dec-2015

63 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Fundamentos de BD

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?

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

SGBD

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

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

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

Arquitectura de un SGBD

Modelos de BD

JerárquicoEn Red

RelacionalOrientado a Objetos

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

Modelo Relacional

Ejemplo Modelo Relacional

Ejemplo Modelo Relacional

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

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

Ejemplo Modelo Relacional

Los SGBD relacionales se conocen como SGBDR o

RDBMS.

Algunos RDBMS

– Oracle

– MS-SQL Server

– DB/2

– MySql

– MS-Access

– Informix

SGBDR / RDBMS

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

1NF

2NF

3NF

BCNF

4NF

5NF

Formas Normales

1NF

2NF

5NF

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

Creación de Tablas

Lenguaje SQL - DDL

Inserción de filas

Borrado de filas

Modificación de datos

Lenguaje SQL - DML

Consultas

Lenguaje SQL - DQL

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

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

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

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

Ejemplo de Trigger en PL/SQL

Bibliografía

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

top related