View
63
Download
4
Category
Preview:
Citation preview
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
Recommended