Está en la página 1de 25

Introducción a Base de Datos

Definición BD:

Es un repositorio de datos almacenados que contiene


información relevante para una organización y en
general es tanto integrada como compartida.
Por integrada se entiende que la base de datos puede
considerarse como una unificación de varios archivos
independientes, donde se elimina parcial o totalmente
cualquier redundancia entre los mismo.
Por compartida se entiende que partes individuales de
la BD pueden compartirse entre varios usuarios
distintos, en el sentido de que cada uno de ellos puede
tener acceso a la misma parte de la BD (incluso en
forma concurrente) y utilizarla con propósitos distintos.

Realizado por Prof. 1


Josué Ramírez
Introducción a Base de Datos

Lista Transacciones
Definición SGBD (DBMS):
Un Sistema Gestor de Base de Datos (SGBD)
consiste en una colección de datos
interrelacionados (BD) y un conjunto de
programas para acceder a dichos datos.
El objetivo principal de un SGBD es proporcionar
una forma de almacenar y recuperar la
información de una BD de manera que sea tanto
práctica como eficiente.

Aplicaciones de los SGBD


•Banca
•Líneas Aéreas
•Universidades
•Transacciones de tarjeta de crédito
•Telecomunicaciones
•Finanzas
•Ventas
•Producción
•Recursos Humanos

Realizado por Prof. 2


Josué Ramírez
Introducción a Base de Datos

SGBD frente a Sistemas de Archivos


En los sistemas de procesamiento de archivos se mantienen mediante
un SO convencional. Los registros permanentes son almacenados en
varios archivos y se escriben diferentes programas de aplicación para
extraer y/o añadir registros a los archivos adecuados.

Entre los incovenientes de mantener la organización de la información


en estos sistemas están:
•Redundancia e inconsistencia de datos
•Dificultad en el acceso de datos
•Aislamiento de datos
•Problemas de integridad
•Problemas de atomicidad
•Anomalías en el acceso concurrente
•Problemas de seguridad

Visión de los Datos


1. Abstracción de datos
Uno de los propósitos principales de un sistema de BD es proporcionar
a los usuarios una visión abstracta de los datos. Es decir, el sistema
esconde ciertos detalles de cómo se almacenan y mantienen los datos.
Nivel físico: es el nivel más bajo de abstracción y describe cómo se
almacenan realmente los datos.
Nivel lógico: describe qué datos se almacenan en la BD y qué
relaciones existen entre esos datos (este nivel suelen usarlo los
administradores de BD)
Nivel de vistas: es el nivel más alto de abstracción y describe sólo
parte de la BD completa. Pueden existir muchas vistas para una misma
BD

Realizado por Prof. 3


Josué Ramírez
Introducción a Base de Datos

Visión de los Datos


2. Instancias y Esquemas
Instancia: las BD van cambiando a lo largo del tiempo conforme la
información se inserta y borra. La colección de información almacenada
en la BD en un momento particular se le conoce como instancia o
ejemplar.
Esquema: es el diseño completo de la BD, el cual es raramente
modificado.
•Esquema físico: describe el diseño físico en el nivel físico.
•Esquema lógico: describe el diseño de la BD en el nivel lógico. Es
utilizado por los programadores.
•Subesquemas: los distintos esquemas ser varios esquemas que
describen diferentes vistas de la BD.

Modelo de los Datos


Se encuentra bajo la estructura de la BD y es una colección de
herramientas conceptuales para describir los datos, las relaciones, la
semántica y las restricciones de consistencia. Ej: el Modelo Entidad
Relación y el Modelo Relacional.

Lenguaje de Bases de Datos


1. Lenguaje de Definición de Datos (LDD): permite especificar
el esquema de la BD.
2. Lenguaje de Manipulación de Datos (LMD): para expresar
las consultas, las modificaciones, inserciones, eliminaciones de la BD
En la práctica los dos lenguajes anteriores no están separados
Ej: SQL
3. Acceso a la BD desde programas de aplicación: los
programas de aplicación usualmente se escriben en un lenguaje
anfitrión (C, C++, Java, etc.). Ej: programas que emiten cheques de
nómina, las cuentas de débito, etc. Para acceder a la BD, las
instrucciones LMD necesitan ser ejecutadas desde el lenguaje anfitrión.
(Ej: ODBC, Open Data Base Connectivity, JDBC, Java Data Base
Connectivity) Realizado por Prof. 4
Josué Ramírez
Introducción a Base de Datos

Usuarios y Administradores de la BD
1. Los usuarios se clasifican en:
•Usuarios normales: interactúan con el sistema mediante la invocación de
algún programa de aplicación
•Programadores de aplicaciones
•Usuarios sofisticados: interactúan con el sistema sin programas
escritos. En su lugar, ellos forman sus consultas en un lenguaje de consulta de BD
•Usuarios especializados: usuarios sofisticados que escriben
aplicaciones de BD especializadas. Ej: sistemas de diseño asistido por
computador, sistemas de bases de conocimiento y sistemas expertos,
etc.

2. Administradores:
Una de las principales razones de usar SGBDs es tener un control centralizado
tanto de los datos como de los programas que acceden a esos datos. La persona
que tiene este control central sobre el sistema se llama Administrador de la base de
datos (ABD). Las funciones del ABD incluyen las siguientes:
•Definición del esquema: para esto escribe un conjunto de instrucciones usando el
LDD
•Definición de la estructura y del método de acceso
•Modificación del esquema y de la organización física: los ABD realizan
cambios en el esquema y en la organización física para reflejar las necesidades
cambiantes de la organización, o para alterar la organización física para mejorar el
rendimiento.
•Concesión de autorización para el acceso a los datos: esto permite determinar
al ABD determinar a qué partes de la BD puede acceder cada usuario.
•Mantenimiento rutinario

Realizado por Prof. 5


Josué Ramírez
Introducción a Base de Datos

Transacción
Es una colección de operaciones que se lleva a cabo como una única
función lógica en una aplicación de BD.

Las transacciones deben cumplir con:


Atomicidad: la transacción debe ocurrir por completo o de lo
contrario no debe ocurrir en absoluto
Consistencia: estado correcto de la BD. Por ej. si un campo está
duplicado en la BD una transacción que implique una modificación de
dicho campo debe dejar actualizadas las dos entradas para dicho
campo en la BD
Durabilidad: A pesar de un fallo en el sistema los cambios que
realice una transacción deben persistir en el tiempo

Realizado por Prof. 6


Josué Ramírez
Estructura de un Sistema de BD
Usuarios Programad Usuarios Administ.
Normales aplicaciones sofisticados BD

Interfaces de programas de Herramientas Herramientas de


aplicaciones aplicaciones administración
de consulta

Compilador Consultas LMD Intérprete del


y enlazador LDD

Código Objeto
Compilad del LMD y
Program aplic
organizador

Motor Evaluac
Procesador de consultas
Consultas

Gestor Mem Gestor de Gestor de


Gestor de autorizac e
Archivos transacciones
Intermedia integridad

Gestor almacenamiento

Índices Diccionario de Datos

Datos Realizado por Prof.


Datos estadísticos 7
Josué Ramírez
Estructura de un Sistema de BD
Gestor de almacenamiento:
Es un módulo de programa que proporciona la interfaz entre los
datos de bajo nivel en la BD y los programas de aplicación y
consultas emitidas por el sistema.
Es responsable de la interacción con el gestor de archivos. Los
datos en bruto se almacenan en disco usando un sistema de
archivos. El gestor de almacenamiento traduce las diferentes
instrucciones LMD a órdenes de un sistema de archivos de bajo
nivel. Así el gestor de almacenamiento es responsable del
almacenamiento, recuperación y actualización de la BD

Los componentes del gestor de almacenamiento incluyen:


Gestor de autorización e integridad:
Comprueba que se satisfagan las restricciones de integridad y la
autorización de los usuarios para acceder a los datos.

Gestor de transacciones:
Asegura que la BD quede en un estado consistente (correcto) a
pesar de los fallos del sistema, y que las ejecuciones de
transacciones concurrentes ocurran sin conflictos.

Gestor de archivos:
Gestiona la reserva de espacio de almacenamiento de disco y las
estructuras de datos usadas para representar la información
almacenada en el disco.

Gestor de memoria intermedia:


Es responsable de traer los datos del disco de almacenamiento a
memoria principal y decidir qué datos tratar en memoria cache
Realizado por Prof. 8
Josué Ramírez
Estructura de un Sistema de BD
Gestor de almacenamiento:
Implementa varias estructuras de datos como parte de la
implementación física del sistema:
•Archivos de datos: almacenan la BD en sí.
•Diccionario de datos: almacena metadatos acerca de la
estructura de la BD, en particular, el esquema de la BD
•Índices: proporcionan acceso rápido a elementos de datos
que tienen valores particulares

Procesador de Consultas:
Los componentes del procesador de consultas incluyen:
•Intérprete del LDD: interpreta las instrucciones del LDD y
registra las definiciones en el diccionario de datos.
•Compilador del LMD: traduce las instrucciones del LMD
en un lenguaje de consultas a un plan de evaluación que
consiste en instrucciones de bajo nivel que entiende el motor de
evaluación de consultas.
Una consulta se puede traducir en varios planes de ejecución
alternativos que proporcionan el mismo resultado. El compilador
del LMD también realiza optimización de consultas, es decir,
elige el plan de evaluación de menor costo.
•Motor de evaluación de consultas: ejecuta las
instrucciones de bajo nivel generadas por el compilador del LMD

Realizado por Prof. 9


Josué Ramírez
Diseño de una Base de Datos
•Modelo Entidad-Relación
•Es un modelo de datos de alto nivel y está basado en
una percepción del mundo real que consta de una
colección de objetos básicos, llamados entidades, y de
relaciones entre estos objetos.

•Entidad: es una cosa u objeto en el mundo real que


es distinguible de otros objetos. Ej: una persona, las
cuentas bancarias, etc.

•Las entidades se describen en una BD mediante un


conjunto de atributos: los atributos describen
propiedades que posee cada miembro de un
conjunto de entidades. Ej: los atributos número
cuenta y saldo, describen una cuenta particular de un
banco y pueden ser atributos del conjunto de entidades
cuenta.
•Relación: es una asociación entre varias entidades.

•Conjunto de Entidades: conjunto de todas las


entidades del mismo tipo.
•Conjunto de Relaciones: conjunto de todas las
relaciones del mismo tipo.
Realizado por Prof. 10
Josué Ramírez
Diseño de una Base de Datos
Modelo Entidad-Relación (MER)
Dominio o conjunto de valores de un atributo:
conjunto de valores permitidos para ese atributo. Ej: el
dominio del atributo nombre-cliente sería el conjunto de
todas las cadenas de texto de una cierta longitud
Tipos de atributos:
•Simples y compuestos (están formados por dos ó
más atributos)
•Monovalorados y multivalorados (monovaluados y
multivaluados): atributos que tienen un solo valor para
una entidad específica y atributos que tienen más de un
valor para una entidad específica respectivamente. Ej:
el atributo monovalorado nro-préstamo que para una
entidad préstamo específica, referencia a un único
número de préstamo. El atributo multivalorado nro-tlf
del conjunto de entidades empleado, donde cualquier
empleado particular puede tener 0,1 ó más números de
teléfono.
•Derivados: el valor de estos atributos se puede
derivar de los valores de otros atributos o entidades
relacionados. Ej: el conjunto de entidades préstamo

Realizado por Prof. 11


Josué Ramírez
Diseño de una Base de Datos
MER – Notación y Conceptos

calle ciudad

nombre-cliente Código-postal importe

dirección nro-préstamo
id-cliente

cliente prestatario préstamo

Cliente, Préstamo: conjuntos de


entidades (representadas por rectángulos)
nro-tlf edad
Prestatario: conjunto de relaciones
(representadas por un rombo)
fecha_nacim
Id_cliente: atributo clave (atributo
subrayado)
dirección: atributo compuesto
nro_tlf: atributo multivalorado
(representados por elipses
dobles)
edad: atributo derivado (elipses
discontinuas) Realizado por Prof. 12
Josué Ramírez
Diseño de una Base de Datos
MER – Notación y Conceptos
Correspondencia de Cardinalidades (o razón de
cardinalidad): expresa el número de entidades a las que otra
entidad puede estar asociada vía un conjunto de relaciones.

Tipos de Relaciones:
•Binarias: son las que involucran dos conjuntos de entidades
•N-áreas: son las que involucran más de dos conjuntos de
entidades (Ej: relaciones ternarias (grado 3), cuaternarias (grado
4), etc.)

Para un conjunto de relaciones binarias R entre los


conjuntos de entidades A y B, la correspondencias de
cardinalidades debe ser una de las siguientes:
•Uno a uno: Una entidad en A se asocia con a lo sumo una
entidad en B, y una entidad en B se asocia con a lo sumo una
entidad en A . Ej: caso a) un cliente tiene asociado a lo sumo un
préstamo y un préstamo está asociado a lo sumo a un cliente
•Uno a varios: Una entidad en A se asocia con cualquier
número de entidades en B (ninguna o varias). Una entidad en B,
sin embargo, se puede asociar con a lo sumo una entidad en A.
Ej: caso b) un cliente tiene asociado cero o varios préstamos y un
préstamo está asociado a lo sumo a un cliente.
•Varios a uno: Una entidad en A se asocia con a lo sumo una
entidad en B y ésta con cualquier número (ninguna o varias) de
entidades en A. Ej: caso c) un cliente tiene asociado a lo sumo un
préstamo y un préstamo está asociado a cero o más clientes.
Realizado por Prof. 13
Josué Ramírez
Diseño de una Base de Datos
MER – Notación y Conceptos
•Varios a varios: Una entidad en A se asocia con cualquier
número de entidades (ninguna o varias) en B y una entidad en B se
asocia con cualquier número de entidades (ninguna o varias) en A.
Ej: caso d) un cliente tiene asociado cero o más préstamos y un
préstamo está asociado a cero o más clientes.

Participación total:
Se usan líneas dobles para indicar que la participación de un
conjunto de entidades en un conjunto de relaciones es total;
es decir, cada entidad en el conjunto de entidades aparece al
menos en una relación en ese conjunto de relaciones.
Ej: observe la figura anterior en la que cada préstamo debe
tener al menos un cliente asociado, indicándose por una línea
doble entre el conjunto de entidades préstamo y el conjunto
de relaciones prestatario.

cliente prestatario préstamo

Nota: por simplicidad se han omitido los atributos de


cliente y préstamo, los cuales deben ser colocados

Realizado por Prof. 14


Josué Ramírez
Diseño de una Base de Datos
MER – Notación Básica
Tipos de Relaciones: Suponga el diagrama anterior
entre cliente y préstamo (se omiten los atributos sólo por
motivos de espacio y simplicidad) y sus 3 variantes:

cliente prestatario préstamo

a) Relación uno a uno

cliente prestatario préstamo

b) Relación uno a varios

cliente prestatario préstamo

c) Relación varios a uno

cliente prestatario préstamo

d) Relación varios a varios


Realizado por Prof. 15
Josué Ramírez
Diseño de una Base de Datos
MER – Notación usada en el Curso
Tipos de Relaciones (Restricciones de cardinalidad
más complejas) Suponga el diagrama anterior entre
cliente y préstamo (se omiten los atributos sólo por
motivos de espacio y simplicidad) y sus 3 variantes:

0..1 0..1
cliente prestatario préstamo

1..1 1..1
cliente prestatario préstamo

0..1 1..1
cliente prestatario préstamo

1..1 0..1
cliente prestatario préstamo

a) Relación uno a uno


Realizado por Prof. 16
Josué Ramírez
Diseño de una Base de Datos
MER – Notación y Conceptos del Curso
0..*
1..*
2..* 0..1
etc. 1..1
cliente prestatario préstamo

Relación uno a varios

1..*
0..1 2..*
cliente 1..1 prestatario etc. préstamo

Relación varios a uno

b) Relación uno a varios o varios a uno

Ejemplo:
0..* 0..1
cliente prestatario préstamo

El ejemplo de arriba se lee: “Un cliente es prestatario de


cero o más préstamos y un préstamo es otorgado a
cero o un cliente”. En 0...*, el cero es el límite inferior y *
es el límite superior
Realizado por Prof. 17
Josué Ramírez
Diseño de una Base de Datos
MER – Notación y Conceptos del Curso
Suponga el diagrama anterior entre cliente y préstamo (se
omiten los atributos sólo por motivos de espacio y
simplicidad) y sus 3 variantes:
0..* 0..*
1..* 1..*
2..*
etc. 2..*
cliente prestatario préstamo

0..1
cliente 1..1 prestatario etc. préstamo

c) Relación varios a varios

Ejemplo:
0..* 2...*
cliente prestatario préstamo

El ejemplo de arriba se lee: “Un cliente es prestatario de


cero o más préstamos y un préstamo es otorgado a dos
o más clientes”
Realizado por Prof. 18
Josué Ramírez
Diseño de una Base de Datos
MER – Notación y Conceptos
Restricciones de cardinalidad más complejas:

•Los diagramas E-R también proporcionan una forma de indicar


restricciones más complejas sobre el número de veces en que
cada entidad participa en las relaciones de un conjunto de
relaciones. Una línea entre un conjunto de entidades y un
conjunto de relaciones binarias puede tener una cardinalidad
mínima y una máxima, mostrada de la forma mín..máx. Un
valor mínimo de 1 indica una participación total del conjunto de
entidades en el conjunto de relaciones. Un valor máximo de 1
indica la entidad participa de a lo sumo una relación, mientras que
un valor máximo de * indica que no hay límite de participación.
Nótese que una etiqueta 1..* en una línea es equivalente a una
línea doble.
Por ejemplo, vea la figura de abajo: la línea entre préstamo y
prestatario tiene una restricción de cardinalidad de 1..1,
significando que la cardinalidad mínima y máxima son ambas 1.
Es decir, cada préstamo debe tener exactamente un cliente
asociado. El límite 0..* en la línea de cliente a prestatario indica
que un cliente puede tener ninguno o varios préstamos. Así la
relación prestatario es uno a varios de cliente a préstamo, y
además la participación de préstamo en prestatario es total.

0..* 1..1
cliente prestatario préstamo

Nota: por simplicidad se han


omitido los atributos de
cliente y préstamo, los cuales
deben ser colocados Realizado por Prof. 19
Josué Ramírez
Diseño de una Base de Datos
MER – Notación y Conceptos
Restricciones de cardinalidad más complejas:

•Nota: Es fácil malinterpretar 0..* en la línea entre cliente y


prestatario, y pensar que la relación prestatario es de varios a uno
de cliente de cliente a préstamo (esto es lo contrario a la
interpretación correcta: de uno a varios)
Si ambas líneas de una relación binaria tienen un valor máximo
de 1, la relación es uno a uno. Si se hubiese especificado un
límite de cardinalidad de 1..* en la línea entre cliente y prestatario,
se estaría diciendo que cada cliente debe tener al menos un
préstamo.

Realizado por Prof. 20


Josué Ramírez
Diseño de una Base de Datos
MER – Notación y Conceptos

nombre-empleado

nro_tlfn
id-empleado

director
empleado trabaja-para
trabajador

Rol o papel de una entidad: es la función que desempeña


una entidad en una relación.
Debido a que los conjuntos de entidades que participan en un
conjunto de relaciones son generalmente distintos, los papeles
están implícitos y no se especifican normalmente. Sin embargo,
es útil especificarlos cuando el significado de una relación
necesita aclaración. Tal es el caso cuando los conjuntos de
entidades de una relación no son distintos; es decir, el mismo
conjunto de entidades participa en una relación más de una vez
con diferentes papeles. Ej: un empleado particular del conjunto
de entidades empleado puede participar en una relación trabaja-
para como trabajador y otro empleado particular como su
director.

Realizado por Prof. 21


Josué Ramírez
Diseño de una Base de Datos
MER – Notación y Conceptos

fecha-acceso

cliente cliente- cuenta


cuenta

Nota: por simplicidad se han omitido los atributos de


cliente y de cuenta, los cuales deben ser colocados

Atributos descriptivos de una relación: se usan cuando uno


o más atributos forman parte de la relación más que de las
entidades que ella asocia. Esto se presenta en las relaciones varios
a varios.
Ej: observe que en el diagrama E-R mostrado arriba, si fecha-
acceso fuese un atributo de cuenta no se podría determinar qué
cliente hizo el acceso más reciente, considerando que una cuenta
pertenece a varios clientes. Por otro lado, si fecha-acceso fuese un
atributo de cliente no se podría determinar qué cuenta fue la que
accedió dicho cliente pues un cliente puede poseer varias cuentas.
Por estas razones, el atributo fecha de acceso debe estar asociado
a la relación cliente-cuenta, sabiéndose así que el cliente Pedro
Pérez accedió por última vez la cuenta C-102 el 24 de Mayo de
2002. Realizado por Prof. 22
Josué Ramírez
Diseño de una Base de Datos
MER – Notación y Conceptos
Los valores de los atributos de una entidad deben ser tales que
permitan identificar en forma única a la entidad. En otras
palabras, no se permite que ningún par de entidades tengan
exactamente los mismos valores de sus atributos.
Superclave: es un conjunto de uno o más atributos que,
tomados colectivamente, permiten identificar de forma única
una entidad (o relación) en el conjunto de entidades (o
relaciones).
Por ejemplo, id-cliente del conjunto de entidades cliente es una
superclave pues permite distinguir una entidad cliente de otras.
También nombre-cliente e id-cliente sería una superclave del
conjunto de entidades cliente. El atributo nombre-cliente no es
una superclave, porque varias personas podrían tener el mismo
nombre.
Claves candidatas: es una o más superclaves con un conjunto
mínimo de atributos que es suficiente para identificar una
entidad de otras, es decir, estas superclaves no poseen
atributos innecesarios. Ej: supóngase que un cliente se pueda
distinguir de otro usando su nombre y la calle, entonces los
conjuntos {id-cliente} y {nombre-cliente, calle-cliente} serían dos
claves candidatas del conjunto de entidades cliente. Por su
parte el conjunto {id-cliente, nombre-cliente}, por ejemplo, sería
superclave más no clave candidata pues el nombre-cliente es
innecesario cuando se conoce el id-cliente.
Clave primaria: es la clave candidata que es elegida por el
diseñador de la BD como elemento principal para identificar las
entidades dentro de un conjunto de entidades. Ej: id-cliente
Realizado por Prof. 23
Josué Ramírez
Diseño de una Base de Datos
MER – Notación y Conceptos
fecha-pago
Importe-pago
importe
nro-préstamo nro-pago

préstamo pago-préstamo pago

Conjunto de Entidades Fuertes: es un conjunto de


entidades que tiene una clave primaria
Conjunto de Entidades Débiles: es un conjunto de
entidades que no tiene suficientes atributos para formar una
clave primaria y se indican por un rectángulo doble. Ej: conjunto
de entidades débiles pago (ver figura anterior)
Para que un conjunto de entidades débiles tenga sentido, debe
estar asociada con otro conjunto de entidades, denominado el
conjunto de entidades identificadoras o propietarias. Cada
entidad débil debe estar asociada con una entidad identificadora;
es decir, se dice que el conjunto de entidades débiles depende
existencialmente del conjunto de entidades identificadoras. Se
dice que el conjunto de entidades identificadoras es propietaria
del conjunto de entidades débiles que identifica. La relación que
asocia el conjunto de entidades débiles con el conjunto de
entidades identificadoras se denomina relación identificadora.

Realizado por Prof. 24


Josué Ramírez
Diseño de una Base de Datos
MER – Notación y Conceptos
La relación identificadora es varios a uno del conjunto de
entidades débiles al conjunto de entidades identificadoras y
la participación del conjunto de entidades débiles en la
relación es total. La relación identificadora se indica
gráficamente mediante un rombo doble.
Ej: en la figura anterior el conjunto de entidades identificadoras o
propietarias es préstamo y la relación identificadora es
prestatario
Aunque un conjunto de entidades débiles no tiene clave primaria
propia, no obstante se necesita conocer un medio para distinguir
todas aquellas entidades del conjunto de entidades que
dependen de una entidad fuerte particular. El discriminante (o
clave parcial) de un conjunto de entidades débiles es un conjunto
de atributos que permiten que se distingan las entidades de un
conjunto de entidades débiles (se representa por un atributo
subrayado por una línea punteada)
Ej:en la figura anterior el discriminante es número-pago, ya que,
para cada préstamo específico, un número de pago identifica de
forma única cada pago para ese préstamo (note que dos o más
préstamos distintos pueden tener el mismo número de pago, por
eso se necesita conocer el préstamo específico)
La clave primaria de un conjunto de entidades débiles se
forma con la clave primaria del conjunto de entidades
identificadoras, más el discriminante del conjunto de entidades
débiles. Ej: el conjunto de entidades pago tiene como clave
primaria {nro-préstamo, nro-pago}, siendo nro-préstamo la clave
primaria de préstamo
Realizado por Prof. 25
Josué Ramírez

También podría gustarte