Anda di halaman 1dari 29

Fundamentos de BD

Qu es una BD?
Los sistemas de informacin 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 sistemticamente para su posterior uso.
[Elmasri y Navathe, 2005]

SGBD
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

Funciones de un SGBD
Funcin de descripcin o definicin
Permite crear las estructuras para almacenar
adecuadamente los datos.

Se realiza mediante el lenguaje de descripcin


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
Funcin de manipulacin
Permite modificar y usar los datos de la
base de datos.

Se realiza mediante el lenguaje de


modificacin de datos o DML.
Aadir , eliminar y modificar datos

La tarea de buscar datos se hace

mediante un lenguaje DQL.

Funciones de un SGBD
Funcin de control
Permite crear y modificar usuarios.
Se definen los derechos de los usuarios.
Otras tareas
copia de seguridad, carga de archivos,
auditora, proteccin ante ataques externos,
configuracin del sistema,...

Se realiza mediante el lenguaje de control de


datos o DCL.

Arquitectura de un SGBD

Modelos de BD
Jerrquico

Relacional

En Red

Orientado a Objetos

Modelo Relacional
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

Ejemplo Modelo Relacional

Ejemplo Modelo Relacional

Claves
Clave Candidata: Conjunto de atributos que identifican
unvocamente cada tupla de la relacin.
Clave Primaria: Clave candidata que se escoge como
identificador de las tuplas.
Clave Alternativa: Cualquier clave candidata que no sea
primaria.
Clave externa o fornea: Son los datos de atributos de
una tabla cuyos valores estn relacionados con atributos

de otra tabla.

Restricciones
Clave primaria (primary key): Hace que los atributos
marcados como clave primaria, no puedan repetir
valores.
Obligatoriedad (not null): Prohbe que un atributo no

tenga ningn valor.


Integridad referencial (foreign key): No se podrn
introducir valores que no estn incluidos en los
campos relacionados con esa clave.
Regla de validacin (check): Condicin
especfica.

Ejemplo Modelo Relacional

SGBDR / RDBMS
Los SGBD relacionales se conocen como SGBDR o

RDBMS.
Algunos RDBMS
Oracle
MS-SQL Server
DB/2

MySql
MS-Access
Informix

Normalizacin
Tcnicas que buscan lograr un diseo correcto de una base
de datos.

Previenen anomalas de modificacin.


Se conocen como formas normales.

Cada forma normal detecta una anomala diferente.


Generalmente las anomalas se solucionan partiendo una

tabla en dos o ms tablas.

Formas Normales
1NF
2NF

3NF
BCNF

4NF
5NF

1NF
2NF

5NF

Lenguaje SQL
SQL es el lenguaje estndar ANSI/ISO de definicin,
manipulacin 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 estn formadas por diferentes partes denominadas

clusulas.

Lenguaje SQL - DDL


Creacin de Tablas

Lenguaje SQL - DML


Insercin de filas

Borrado de filas

Modificacin de datos

Lenguaje SQL - DQL


Consultas

Procedimientos Almacenados
En ingls: 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

Estn compuestos por sentencias SQL pero pueden usar


variables, condicionales y ciclos.

Pueden tener parmetros de entrada y salida.


Pueden ejecutarse directamente en el SGBD o ser
llamados desde una aplicacin.

Ejemplo de SP en TSQL
CREATE PROCEDURE sp_traslado_fondos
@cuenta1 VARCHAR(20), @cuenta2 VARCHAR(20), cantidad INTEGER
AS
BEGIN TRANSACTION
UPDATE tbl_cuentas SET saldo = saldo cantidad
WHERE cuenta = cuenta1
IF @@ERROR <> 0
BEGIN
PRINT Transaccin No completada
ROLLBACK TRANSACTION
END
UPDATE tbl_cuentas SET saldo = saldo + cantidad
WHERE cuenta = cuenta2
IF @@ERROR <> 0
BEGIN
PRINT Transaccin No completada
ROLLBACK TRANSACTION
END
COMMIT TRANSACTION

Desencadenadores
En ingls: Triggers.
Tipo especial de Procedimiento Almacenado.

Se ejecuta automticamente cuando ocurre un


determinado suceso a un objeto de la base de datos:
Una insercin.

Un retiro.
Una actualizacin.

Ejemplo de Trigger en PL/SQL

Bibliografa
Diapositivas basadas en Apuntes de Sistemas Gestores de Bases de Datos,
Autor: Jorge Snchez Asenjo (2007), http://www.jorgesanchez.net

Anda mungkin juga menyukai