Está en la página 1de 43

Parte 1 Introduccin

Porque usar bases de datos?

Porque usar bases de datos?


Para ayudar a las personas a llevar un registro de
informacin relevante en diferentes actividades de
inters diarias
Comercial (clientes, productos, inventarios, puntos de
venta, contabilidad)
Finanzas (clientes, depsitos, retiros, estado de cuenta)
Servicios mdicos (pacientes, historial)
Educacin (matrcula, kardex)

Un sistema de gestin de bases de datos (SGBD)


se define como una coleccin de datos
interrelacionados y un conjunto de programas
para acceder a dichos datos
La coleccin de datos, normalmente denominada
base de datos, puede contener informacin
acerca de un producto o servicio en particular
El primer objetivo de un SGBD es proporcionar un
entorno que sea tanto prctico como eficiente de
usar en la recuperacin y el almacenamiento de la
informacin de la base de datos

Para poder entender la importancia de las bases de


datos en la actualidad es necesario mencionar
algunas caractersticas de los sistemas previos a la
aparicin de las bases de datos
Los primeros sistemas de informacin almacenaban
grupos de registros en archivos separados
Dichos sistemas eran conocidos como sistemas de
procesamiento de archivos los cuales representaron
el primer intento para automatizar procesos que se
venan haciendo de forma manual

La figura muestra dos sistemas de procesamiento


de archivos
Programa para
procesar ingresos

Archivo de
ingresos

Programa para
procesar egresos

Archivo de
egresos

Algunos de los problemas o inconvenientes que


presentaba este tipo de sistemas se encuentra

Redundancia e inconsistencia de datos


Los datos estn separados y aislados
Dificultad en el acceso de datos
Anomalas en el acceso concurrente
Problemas de seguridad

Estas y otras desventajas dieron comienzo al


desarrollo de SGDBs

Poca eficiencia en el manejo de listas (Ejemplo:


Excel)
Actualizar el telfono de un cliente con varios registros
En caso de borrar un registro, se pierden otros datos

Los programas de aplicacin dependen de los


formatos de los archivos
Manejo de versiones al compartir la lista

El objetivo de un sistema de base de datos es


simplificar y facilitar el acceso a una gran cantidad
de datos
La gestin de los datos implica tanto la definicin
de estructuras para almacenar la informacin
como la provisin de mecanismos para la
manipulacin de la informacin
Un sistema de base de datos proporciona a los
usuarios una visin abstracta de los datos

La figura muestra un sistema de informacin con


base de datos (SGBD)
Programas de
Aplicacin

DBMS
Programas de
Aplicacin
ASP
JSP
C++
PHP
PL/SQL
Visual Basic

Base de
datos

Los componentes principales de un sistema de


informacin con base de datos
1. Usuarios
2. Aplicaciones
3. Sistema de administracin de base de datos
(DBMS)
4. Base de datos

a.
b.
c.
d.

Datos de usuario
ndices
Metadatos
Stored Procedures, Triggers, etc.

Administrador de la base de datos


Responsable de mantener el control tanto de los datos
como de los programas que acceden a esos datos
Crea el esquema original de la base de datos
Define estructuras de almacenamiento

Programadores de aplicaciones
Usuarios especializados
Usuarios normales

Bases de datos relacionales

IBM DB2
Oracle Oracle
Microsoft SQLServer
Cdigo abierto MySQL

Sistemas distribuidos emergentes con capacidad


de almacenamiento
Amazon
Google

El trmino base de datos por si solo tiene varias


interpretaciones y elementos
Una base de datos es un modelo del modelo
referente a las actividades de un negocio
realizadas por un grupo de usuarios
Una base de datos es autodescriptiva, es decir,
adems de los datos fuente del usuario tambin
contiene una descripcin de su propia estructura

Dicha descripcin se le conoce como diccionario


de datos (directorio de datos o metadatos)
Debido a que la mayora de los sistemas de base
de datos estn diseados para almacenar y
manejar tablas, los metadatos son a su vez
almacenados en forma de tablas
Dichas tablas se le conoce como tablas del
sistema

Al ser autodescriptiva, una base de datos hace


posible que exista la llamada independencia de
datos y programas
Una base de datos tambin incluye ndices los
cuales se utilizan principalmente para
1. Representar las relaciones entre los datos
2. Mejorar el desarrollo de las aplicaciones de la
base de datos

Existen varios niveles de abstraccin para


recuperar y representar datos de una manera
eficiente
Nivel fsico

Nivel mas bajo de abstraccin que describe


como se almacenan realmente los datos

Nivel lgico

Siguiente nivel de abstraccin que describe


qu datos se almacenan en la base de datos
y que relaciones existen entre esos datos

Nivel de vistas Nivel mas alto de abstraccin que solo


describe una parte de la base de datos. Se
definen varias vistas de una base de datos.

Las bases de datos van cambiando a lo largo del


tiempo conforme la informacin se inserta y borra
La coleccin de informacin almacenada en la
base de datos en un momento particular se llama
una instancia de la base de datos
El diseo completo de la base de datos se le
conoce como el esquema de la base de datos

La modelacin de datos es la parte fundamental


de cualquier estructura de base de datos
La modelacin de datos se define como una
coleccin de herramientas conceptuales para
describir

Los datos
Las relaciones entre los datos
La semntica de los datos
Las ligaduras de consistencia (constraints)

Los datos se modelan de acuerdo su tipo y uso en


diferentes aplicaciones
Operacionales/transaccionales
Datos que son parte de transacciones para consultar o
actualizar cierta informacin en la base de datos

Business Intelligence
Datos que son utilizados para realizar estudios o anlisis
dentro de cierto contexto o aplicacin de los mismos

Metadatos
Datos que son empleados para representar y administrar
datos

Algunos de los beneficios que se obtienen de una


eficiente modelacin de datos se encuentra
1. Mayor consistencia en los datos
2. Establece una estructura bsica (esquema de la
base de datos) sobre la cual se pueden
desarrollar nuevas estructuras, elementos y
programas de apoyo de forma ms gil
3. Beneficia al desempeo de la base de datos en
condiciones normales de operacin

Los diferentes modelos de datos que se han


propuesto se clasifican en tres grupos diferentes:
1. Modelos lgicos basados en objetos
2. Modelos lgicos basados en registros
3. Modelos fsicos

Los modelos lgicos basados en objetos se usan


para describir datos en los niveles lgico y de
vistas
Algunos ejemplos de este tipo de modelos son

Modelo entidad-relacin
Modelo orientado a objetos
Modelo de datos semntico
Modelo de datos funcional

Esta basado en una percepcin del mundo real


que consta de una coleccin de objetos bsicos
llamados entidades y de relaciones entre estos
objetos
Una entidad es un objeto en el mundo real que es
distinguible de otros objetos
Las entidades se describen en una base de datos
mediante un conjunto de atributos

Una relacin es una asociacin entre varias


entidades
El conjunto de todas las entidades del mismo tipo
y el conjunto de todas las relaciones del mismo
tipo se denominan conjunto de entidades y
conjunto de relaciones, respectivamente
La correspondencia de cardinalidades expresa el
nmero de entidades con las que otra entidad se
puede asociar a travs de un conjunto de
relaciones

La totalidad de estructuras lgicas de una base de


datos se puede representar por medio de un
diagrama E-R que consta de los siguientes
componentes:
Rectngulos representan entidades
Elipses representan atributos
Rombos representan relaciones entre conjuntos de
entidades
Lneas que unen los atributos con entidades y entidades
con relaciones

Al igual que el modelo E-R, el modelo orientado a


objetos esta basado en una coleccin de objetos
Un objeto contiene variables de instancia y
mtodos
Los objetos que contienen los mismos tipos de
variables y los mismos mtodos se agrupan juntos
en clases
Una clase se puede ver como una definicin de
tipo para los objetos

La base de datos se estructura en registros de


formato fijo de diferentes tipos
En cada tipo de registro se define un nmero fijo
de campos o atributos, y cada campo tiene
normalmente una longitud fija
Los 3 modelos basados en registros mayormente
utilizados son
Modelo relacional
Modelo de red
Modelo jerrquico

Emplea una coleccin de tablas para representar


tanto los datos como las relaciones entre esos
datos
Cada tabla tiene varias columnas y cada columna
tiene un nombre nico

Tabla clientes

Tabla saldos

numero_cuenta

nombre

domicilio

telefono

101
102
103
104
105

Gonzlez
Garza
Cant
Rodrguez
Prez

Avenida 1
Avenida 2
Avenida 3
Avenida 4
Avenida 5

83000001
83000002
83000003
83000004
83000005

numero_cuenta

saldo

101
102
103
104
105

110.0
120.0
130.0
140.0
150.0

Un sistema de bases de datos utiliza 2 tipos de


lenguajes para realizar las siguientes funciones:
Lenguaje de definicin de datos (Data Definition
Language DDL) para especificar el esquema de la
base de datos
Lenguaje de manipulacin de datos (Data
Manipulation Language DML) para expresar las
consultas y actualizaciones de la base de datos

Un esquema de base de datos se especifica


mediante un conjunto de definiciones expresadas
en el lenguaje de definicin de datos (LDD)
El resultado de la compilacin de las instrucciones
del LDD es un conjunto de tablas que se
almacenan en un archivo especial llamado
diccionario de datos o directorio de datos

Un diccionario de datos es un archivo que


contiene metadatos (datos acerca de los datos)
los cuales incluyen:
El esquema de la base de datos
Ligaduras de consistencia (integrity constraints), por
ejemplo, el campo numero_cuenta identifica de manera
nica cada cliente (Primary Key)
create table clientes (
numero_cuenta char(5),
nombre
varchar(50),
domicilio
varchar(50),
telefono
varchar(10))

Es un lenguaje que permite a los usuarios


acceder o manipular los datos organizados
mediante el modelo de datos implementado
La manipulacin de datos comprende las
siguientes funciones en la base de datos:

La recuperacin de informacin almacenada


La insercin de informacin nueva
El borrado de informacin
La modificacin de informacin almacenada

Existen 2 tipos de lenguajes de manipulacin de


datos (LMD)
LMD procedimentales los cuales requieren que el
usuario especifique que datos se necesitan y
como obtenerlos
LMD no procedimentales los cuales requieren que
el usuario especifique que datos se necesitan sin
especificar como obtenerlos

Los LMD no procedimentales son mas fciles de


aprender y usar
Una consulta es una instruccin de solicitud para
recuperar informacin
La parte de un LMD que implica recuperacin de
informacin se llama lenguaje de consultas
En ocasiones es comn usar como sinnimos
LMD y lenguaje de consultas
SQL es el lenguaje (no procedimental) de
consultas mas utilizado

Una transaccin es una coleccin de operaciones


que se lleva a cabo como una funcin lgica
simple en una aplicacin de bases de datos
Cada transaccin es una unidad de atomicidad y
consistencia
Por ejemplo, suponer que una transaccin implica
transferir fondos de una cuenta A a una cuenta B
Por atomicidad se entiende que la transaccin
debe ocurrir por completo o no ocurrir en absoluto
manteniendo as su consistencia de valores

Es responsabilidad del programador definir las


diferentes transacciones apropiadamente, de tal forma
que cada una preserve la consistencia de la base de
datos
Es decir, si la base de datos era consistente cuando
una transaccin comenz, entonces la base de datos
debe ser consistente cuando la transaccin termine
con xito
Cuando varias transacciones actualizan la base de
datos concurrentemente, es responsabilidad del
gestor de control de concurrencia controlar la
interaccin entre las transacciones concurrentes para
asegurar la consistencia

Un gestor de almacenamiento se define como un


programa que proporciona la interfaz entre los
datos de bajo nivel en la base de datos y los
programas de aplicacin y consultas
La gestin de almacenamiento transforma las
diferentes instrucciones LMD a rdenes de un
sistema de archivos de bajo nivel
As, el gestor de almacenamiento es responsable
del almacenamiento, recuperacin y actualizacin
de los datos en la base de datos

Algunos ejemplos de software utilizado en la


modelacin de datos son
1. MySQL Workbench
2. ERWIN
3. Visio
4. Designer/2000
5. Rational Rose

Entre otras cosas, MySQL Workbench es una


herramienta de apoyo que permite
1. Disear un modelo de datos para una aplicacin
nueva o bien poder visualizar el modelo que
corresponde a una base de datos ya existente
2. Monitorear el desempeo de la implementacin
del modelo
3. Llevar un control de versiones

El diseo de una aplicacin con base de datos


implica definir varios aspectos o detalles
Diseo lgico es aquel en donde se define el
esquema de la base de datos
Lo anterior requiere, entre otras cosas, que se
obtenga una representacin adecuada de la
informacin por medio de una coleccin de
entidades y relaciones dentro de cierto dominio de
aplicacin

Fase

Base de datos

Aplicacin

Requerimientos

1. Crear el modelo
2. Especificar elementos
y sus tipos de datos
3. Definir reglas y
validaciones

Determinar
requerimientos

Diseo

1. Tablas
2. Claves primarias y
forneas
3. ndices
4. Constraints, stored
procedures, triggers

Formas, reportes,
disear aplicacin

Implementacin

1. Crear tablas y
relacionarlas
2. Validar relaciones
usando constraints
3. Escribir stored
procedures
4. Capturar informacin
5. Probar

1.
2.
3.
4.

Crear formas
Crear reportes
Crear consultas
Escribir cdigo de la
aplicacin
5. Probar

También podría gustarte