You are on page 1of 44

Bases de Datos

Cap. 1: Conceptos de SBD

Wilson Andrs Castillo Rojas


Magster en Ciencias de la Ingeniera,
Mencin Computacin
Pontificia Universidad Catlica de Chile

Objetivos
l

Proporcionar al alumno los conceptos bsicos de bases de


datos y dar a conocer las principales funcionalidades de los
sistemas administradores de bases de datos (SABD
DBMS).

Aprender el uso del Modelo Entidad Relacin (MER) como


herramienta de diseo conceptual de un modelo de datos.

Profundizar en el estudio del modelo relacional, su


fundamento terico y lenguajes de consulta. Efectuar
prcticas con el lenguaje en un motor de BD.
2

Contenido
1. Conceptos de Sistemas de Base de Datos (BD).
2. Diseo Conceptual de BD utilizando Modelo Entidad
Relacin (MER).
3. El modelo relacional
4. Clculo y lgebra relacional
5. Integridad y Seguridad
6. Lenguajes para bases de datos
7. Manejo de Transacciones
8. Procedimientos almacenados
3

Bibliografa
[EN 2002] Elmasri, R.; Navathe, S.B. Fundamentos de Sistemas de Bases de Datos. 3 ed. AddisonWesley,
[MPM 1999] De Miguel, A.; Piattini, M.; Marcos, E. Diseo de bases de datos relacionales. Ra-Ma.
[U 1998] Ullman, J. Principles of Database and Knowledge-base systems. Computer Science Press,
Volumen I, 1998.
[U 1996] Urman S. Oracle PL/SQL Programming. McGraw Hill Inc, 1996.
[K 1995] Koch G. Oracle, The complete reference. McGraw Hill Inc, 1995.
[KS 1993] Korth H. F., Silberschatz A. Fundamentos de Bases de Datos. McGraw Hill, 2 edicin, 1993.
[D 1993] Date C.J. Introduccin a los Sistemas de Bases de Datos. Addison Wesley Iberoamericana,
Volumen I, 5 edicin, 1993.
[BN 1992] Batini C., Ceri S., Navathe, S. Conceptual Database Design: An Entity Relationship
Approach. Addison Wesley. 1992.
[T 1990] Teorey, T.J. Database Modeling and Design: The Entity-Relationship Approach. Morgan
Kaufmann, 1990.
[TL 1982] Tsichritzis D., Lochovsky, F. Data Models. Prentice Hall Inc, 1982
4

1. Conceptos de SBD
Qu es una Base de Datos?
Sistemas de Informacin y Bases de Datos
Sistemas Administradores de Bases de Datos
El campo de las bases de datos
Comparacin de BD con el manejo de archivos
Paradigma de base de datos
Niveles de automatizacin
Aplicaciones
5

Sobre los datos de la empresa


En la medida de lo posible los datos en la BD
deben cumplir con ser o estar:
Independientes entre s
Distribuidos
No redundantes
Reales
Compartidos

Definicin
Base de Datos o BD
Coleccin de todos los datos operativos de una Empresa
de acuerdo a un modelo especfico que son accesibles
desde cualquier lugar fsico y nivel de la empresa
(Estratgico, Tctico, Operativo)

Una BD debe cumplir con las caractersticas de:


Unicidad
Consistencia
Seguridad
Privaca
Disponibilidad
Integridad
7

El campo de las BD
Eficiencia
Acceso y modificacin de grandes volmenes de datos
Adaptabilidad
Supervivencia de datos bajo errores, reduciendo inconsistencias
Control del acceso
Simultaneidad de uso mltiple dentro de una congruencia con
control de concurrencia y seguridad
Persistencia
Existencia y mantenimiento de datos por largos perodos de tiempo,
independientemente del modo de acceso
8

Propiedades de una BD
l

Es integrada: Los distintos archivos de datos que


la componen han sido organizados lgicamente,
para eliminar (o reducir) la redundancia y para
facilitar el acceso a los datos.

Es compartida: Todos los usuarios calificados en


la organizacin tienen acceso a los mismos datos,
para su uso en variadas actividades.

Componentes de una BD
l

Esquema: Es la descripcin de la base de datos


(metadatos), Figura 1.1.

Instancia de la BD: Son los datos almacenados


en la base de datos, en un instante particular en
el tiempo, Figura 1.2.

10

Fig 1.1 Ejemplo de un esquema de una base de datos

11

Fig. 1.2 Ejemplo de instancia de una BD

12

Sistemas de Administracin de
Bases de Datos (SABD)
l

Es un ambiente de programacin orientado al


manejo de grandes volmenes de datos con
propiedad de persistencia.

Es un conjunto de programas que permiten a


los usuarios crear y mantener una base de
datos. Por ejemplo: ORACLE, POSTGRES,
Microsoft SQL Server.
13

Sistemas de base de datos


(SBD)
l

Conforman el SBD, la BD y el Sistema Administrador de


BD (Fig. 1.3). En la figura 1.4 se muestra un ambiente
simplificado de un SBD.
SBD = BD + SABD
SBD

B.D.

S.A.B.D.
Ej. Oracle

Fig 1.3 Sistema de BD


14

Usuarios/Programadores
SBD
Programas de Aplicaciones /
Consultas
Software
DBMS
Software para procesar
Consultas/Programas

Software para accesar


los datos almacenados

Definicin de los
datos
almacenados

Datos
Almacenados
en la BD

Fig 1.4 Un ambiente de SBD simplificado


15

Comparacin entre
Archivos y Base de Datos
l
l
l
l
l
l

l
l
l

Dependencias externas a los datos.


Datos sin compartir en toda la empresa.
Redundancia incontrolada de los datos.
Inconsistencias de los datos
Archivos no relacionados entre s
Acceso limitado y con poca flexibilidad, eficiencia
y seguridad.
No hay tendencia a estndares.
Baja productividad de los programadores.
Alto costo en mantencin de programas.

l
l
l
l
l
l
l
l
l

l
l

Independencias externas a los datos.


Datos compartidos y compatibles en la empresa.
Redundancia mnima y controlada.
Control de la consistencia en la informacin.
Estndares en el manejo de datos.
Mejora la accesibilidad a los datos (query languajes).
Datos relacionados de acuerdo a un modelo de datos.
Flexibilidad, Integridad, Eficiencia y seguridad.
Economa de escala (producto de la asignacin
centralizada de los recursos).
Mejor control de acceso concurrente a los datos.
Se dispone de procedimientos de respaldo (Backup) y
recuperacin, por lo tanto, existe una menor
posibilidad de corrupcin de la informacin, frente a:
cadas del sistema, fallas de hardware, etc.
16

Ambiente de Archivo
Para cada nueva
aplicacin un
programador o analista
debe crear un nuevo
archivo. Una instalacin
grande tiene cientos o
miles de tales archivos,
lo que genera mucha
redundancia de datos.

Un archivo puede ser usado


por muchas aplicaciones.
Cuando cambia una
aplicacin (programa de
aplicacin 3) y su archivo
tiene que ser reestructurado,
todos los programas que
usan este archivo tienen que
ser cambiados.
Aparentemente un cambio
trivial en un ambiente de
archivos, provoca una
reaccin en cadena de otros
cambios que deberan
hacerse.
Fig. 1.5 Sistemas basados en archivos

17

Con los SABD, los usuarios desconocen la


estructura real de los datos almacenados.

Los lenguajes de alto nivel de BD agilizan el proceso de


desarrollo de aplicaciones y alivian las tareas de
mantenimiento.

Fig. 1.6 SABD.

18

Fig. 1.7 Arquitectura de ORACLE

19

Versiones estndares de SQL:


SQL1 ANSI 1986.
SQL2 (SQL-92) ANSI 1992.
SQL3 Incluye conceptos de Orientacin al
Objeto.

Fig. 1.8 SQL: Lenguaje para la construccin de aplicaciones en ORACLE.


20

Funciones Crticas en un
SABD
l

l
l
l

Soporte para atender mltiples usuarios en


forma concurrente (compartir los datos).
Seguridad de los datos almacenados en la
base de datos: Autorizacin (Control de
accesos).
Recuperacin de cadas del sistema.
Eficiencia en el acceso a los datos.
Integridad de los datos.
21

Arquitectura de 3 esquemas para


un SABD (niveles de abstraccin)
l

Tambin se conoce como arquitectura ANSI/


SPARC, en recuerdo al Comit que la
propuso en 1978.

Permite describir los datos. Tiene como


objetivo separar al usuario de las
aplicaciones, de la BD fsica. (Fig. 1.9)

22

Cules son los datos?

Cmo se almacenan?

Fig. 1.9 Arquitectura de 3 esquemas


23

Modelo Conceptual (Vista


Conceptual)
l
l

Define el mundo real en un nivel abstracto.


Esta vista incluye todas las entidades representadas
en la BD, las relaciones entre estas entidades y
otras caractersticas tales como restricciones de
seguridad, controles de auditora y procedimientos
de validacin.
El modelo conceptual NO contiene detalles de
implementacin, tales como organizaciones de
archivo, mtodos de acceso o descripciones de los
dispositivos de hardware.
24

Modelo Conceptual
l
l
l

Se asume un cierto modelo de datos, por ejemplo:


red, relacional, jerrquico.
Se especifica por medio de un DDL (Data Definition
Language)
NOTA: Lenguaje de base de datos
l DDL: Data Definition Language
l DML: Data Manipulation Language
l DCL: Data Control Language
Schema: Definicin de datos descripcin de
datos.
25

Modelo Externo (Views)


l

Cada vista del usuario es un subconjunto del modelo


conceptual, definido y formateado de acuerdo a las
necesidades del usuario.

Modelo Interno
l

Es una definicin de la implementacin fsica de la BD a


travs del DBMS. Define la BD como una coleccin de
registros lgicos, llamados registros internos o
almacenados. Describe los mtodos por los cuales
estos registros estn interrelacionados, por ejemplo,
punteros o ndices.

Tiene que ver con: Estrategias de buffering, estructura


de archivos, estructura de acceso, codificacin de
atributos, factores de bloqueo, etc.
26

Organizacin Fsica de los


Datos
l

Este nivel, incluye una descripcin de los dispositivos


fsicos que son usados, el agrupamiento de registros en
bloques, tcnicas de direccionamiento y detalles
similares.

Tiene que ver con: Interaccin con el sistema operativo y


el hardware (cpu, discos, memoria principal, terminales,
canales, red, etc.).
El SABD provee los mecanismos para transformar de un
nivel de abstraccin a otro, intentando mantener una
relativa independencia entre un nivel y otro.

27

Resumen del Modelo ANSI/


SPARC
l

El esquema externo representa las visiones


de los usuarios (como la realidad es vista).

El esquema conceptual representa la


abstraccin de como la realidad es.

El esquema interno se refiere a como esa


realidad es representada en un computador.
28

Ejemplo:
l

Modelo Conceptual o Schema


Empleado (nombre, direccin, telfono, depto, sueldo)

Esquema Externo
Subschema1: E1 (nombre, direccin, telfono)
Subschema2: E2 (nombre, depto, sueldo)

Esquema Interno
- Archivo Empleados
nombre : char [20]
direccin: char [40]
telfono : char [10]
depto
: char [15]
sueldo : REAL

- Archivo ndices por nombre


- Archivo ndices por depto

29

Es posible hacer cambios en la BD fsica sin


alterar los programas (por ejemplo, para
mejorar el acceso a registros individuales
cambiar la organizacin de un archivo de
secuencial indexado a directo) =>
independencia fsica.

Es posible modificar la BD conceptual sin


modificar los subschemas, por ejemplo,
aumentar los atributos, tabla se separa en dos
para mejorar el rendimiento de ciertas
consultas, agregar otro tipo de entidades a la
BD => independencia lgica.
30

Independencia fsica
l Permite que el administrador de la BD (DBA)
afine la BD fsica, dejando que los
programas de aplicaciones corran como si
ningn cambio se hubiese efectuado.
Independencia lgica
l Permite que la BD cambie y evolucione sin
afectar las vistas o programas de los
usuarios.
31

Lenguaje de BD en un SABD
Relacional
DML: Data Manipulation Language. Lenguaje en el
cual se especifican las operaciones de consulta o
actualizacin de la base de datos.
Ejemplo de Consulta o query: Listar todos los clientes de
la I regin que hayan comprado ms de $100.000 durante
el ltimo ao.

Usualmente, hay dos formas de accesar la BD:


l Lenguaje

de BD autocontenido.
l Lenguaje de BD inserto en un lenguaje de programacin
de alto nivel.
32

Lenguaje de BD autocontenido (Self-Contained Database


Language): Se usa a menudo como una herramienta para el
usuario, en la forma de un lenguaje de alto nivel, simple y fcil
de aprender.

Lenguaje de BD inserto (Embedded Database Language) en


un lenguaje de programacin de alto nivel, como PHP, C, VB,
Phyton (lenguaje husped): Est orientado a programadores y
profesionales del rea de la computacin. En este caso, el
programador dispone de los comandos DML para manipular la
BD, adems de las amplias potencialidades que ofrece el
lenguaje husped.
Problemas:
l
Se debe aprender tanto el lenguaje husped como el DML.
l
Hay incompatibilidades entre los lenguajes.
l
Se pierden los chequeos de tipo del lenguaje husped.
33

SQL (STRUCTURED QUERY


LANGUAGE)
Es el lenguaje de BD estndar en un SABD relacional.
l

Lenguaje de Definicin de Datos (DDL): Permite definir o eliminar


objetos de la base de datos tales como tablas o vistas.
Ejemplo: Alter, Create, Drop, Grant, Rename, Revoke

Lenguaje de Manipulacin de Datos (DML): Permite consultar y


actualizar los datos existentes en la BD.
Ejemplo: Select, Insert, Delete, Update

Lenguaje de Control de Datos (DCL): Permite controlar los cambios a los


datos y a la BD.
Ejemplo: Commit, Rollback, Savepoint (Concepto de Transaccin)

Lenguaje inserto (Embedded Language) (Concepto de Cursor)

34

Componentes del Ambiente


operacional de un DBMS
a
c

Usuarios

Usuario 1

d
Base
datos

DBMS

Diccionario
de datos

Usuario
2
f

Administrador B.D.

e
Programador
Aplicaciones
Interface 3

D
B
A

Interface 2

Interface 1
Fig. 1.11 Ambiente operacional de un DBMS

35

Componentes del Ambiente


operacional de un DBMS
l

El ambiente operacional de un DBMS es un sistema integrado de


hardware, software y personas que es diseado para facilitar el
almacenamiento, recuperacin y control del recurso informacin.
Programa o Query
Esquema

Tablas de
Autorizacin

Tablas de
Acceso
frecuente

Procesador de
Consultas

DBA

Compilador
de DDL
Tablas de
descripcin
del Esquema

Administrador de
archivos

BD
Fig. 1.12 Arquitectura de un SABD

36

Base de datos
fsica

Fig. 1.13 BD ORACLE


37

Usuarios del SABD


Usuarios
finales

Usuario
ingenuo

Programadores

DBA

Usuario
casual

SABD

BD

Fig. 1.14 Usuarios del SABD


38

Administrador de Base de Datos


(DBA, DataBase Administrator)
Definicin del esquema.
l Definicin de la estructura de
almacenamiento y del mtodo de acceso.
l Modificacin del esquema y de la
organizacin fsica.
l Concesin de autorizaciones para el acceso
a los datos.
l Especificacin de las limitantes de integridad.
l

39

Desarrollo histrico de los


SABD
Dcada de los 60s
l Predominio de los sistemas basados en modelos jerrquico y de
red.
l No existan lenguajes de consulta declarativos.
l Normalmente, el DML era combinado con un lenguaje husped,
tpicamente COBOL.
Dcada de los 70s
l Predominio de los sistemas relacionales.
l Lenguajes de consulta de tipo declarativo.
l DML con lenguaje husped, pero tambin sistemas
autocontenidos.
l Maduracin de la tecnologa relacional.
40

Desarrollo histrico de los


SABD
Dcada de los 80s
l Contina predominio del modelo relacional.
l Emergen estndares (SQL).
l Aparicin de los OODBMS (Object Oriented).
l Aparecen los KBMS (Knowledge Based).
Dcada de los 90s
l Maduracin de los OODBMS.
l Maduracin de los KBMS.
l Aparecen los ORDBMS.
l Bases de datos universales.
41

Fig. 1.15 Dnde se encuentra el modelo relacional hoy? (GARTNER


GROUP 1991)

En la actualidad, existe un importante surgimiento de las BD


objeto relacional.
Al respecto, una importante referencia bibliogrfica es:
STONEBRAKER, MICHAEL Object relacional DBMS:
The Next Great Wave MORGAN KAUFMANN Publishers,
1996.

42

Desarrollo de las BD en las


Organizaciones

Bsqueda
de
Nuevos Mercados

Data Mining,
SSE, OLAP

Bsqueda de
Calidad/Diferenciacin

ISO, CMM

Orientacin al
Cliente

Portal WEB, CRM, OLAP


DW

Control de Produccin

ERP, SIA

Bsqueda de Eficiencia (Minimizar Costos)

STP, BD

Orientacin al Producto/Servicio (Operacional)

SAO, Hardware Bsico, TC Bsicas (LAN)

SAO: Sistemas de Apoyo a la Oficina.


STP: Sistemas de Procesamiento de Transacciones.
ERP: Sistemas de Planificacin de Recursos Empresariales.
SIA: Sistema de Informacin Administrativos.
DW: Data WareHouse

LAN: Red de rea Local.


OLAP: Proceso de anlisis en Lnea.
CRM: Administracin de Relaciones con el Cliente.
CMM: Modelo de Madurez de Capacidad del SW.
43

SBDR COMERCIALES
l
l
l
l
l
l
l
l
l
l

SQL / DS
DB2
INFORMIX
ORACLE
SYBASE
NONSTOP / SQL
INGRES
RDB
UNIFY
POSTGRES

l
l
l
l

l
l
l
l

RIM
RBASE 5000
PARADOX
OS / 2 DATABASE
MANAGER
DBASE IV
XBD
WATCOM SQL
Microsoft SQL
SERVER
MYSQL

44

You might also like