Está en la página 1de 59

BASE DE DATOS

Base de datos

 Es un conjunto de datos relacionados entre sí, almacenados en conjunto sin


redundancias innecesarias e independientes de los programas que los usan.
 Son persistentes en el tiempo. Usan un lenguaje para incluir, modificar o
extraer los datos.
 Es un conjunto de datos operativos, accesibles desde algún nivel de la
empresa (Estratégico, Táctico, Operativo).

 Una BD debe cumplir con las características de:


Unicidad Consistencia
Seguridad Privacidad
Disponibilidad Integridad
Archivos Vs BD
Archivos Base de Datos
Dependencia de relaciones externas a Independencia a relaciones externas a
los datos los datos
Datos sin compartir en toda la empresa Datos compartidos y compatibles en la
empresa
Redundancia de los datos Redundancia mínima y controlada

Archivos no relacionados entre si Datos relacionados de acuerdo a un


modelo
Acceso limitado y con poca flexibilidad, Flexibilidad, Integridad, Eficiencia y
eficiencia y seguridad seguridad
Sistema de Gestión de Bases de Datos
 Conjunto de programas que permite definir, construir y manipular bases de datos
para diversas aplicaciones.
 Definir una BD es especificar...
 estructura de datos,
 tipos de datos y
 restricciones de los datos
 Construir una BD es...
 almacenar datos en algún medio de almacenamiento controlado
por el SGBD
 Manipular la BD es...
 consultar datos
 introducir/modificar/eliminar datos, para reflejar cambios.
 generar informes a partir de los datos almacenados
SGBD (DataBase Management System
SGBD = DBMS)
Sistema de Base de Datos

 Tiene por objetivo proporcionar un entorno práctico y eficiente para


almacenar y recuperar la información de la base de datos.
 No es necesarios un SGBD de propósito general para implementar una base de
datos.
 Se puede construir un conjunto de programas propios para crear y mantener
la base de datos.

Sistema de Base de Datos


SBD = BD + DBMS + Software de Aplicación/Consultas
Lenguajes
DSL = DDL + DML

 DDL. (Lenguaje de definición de datos).- Define o declara objetos y


restricciones de la BD. Estático e Invariante.
 DML. (Lenguaje de manipulación de datos).- Manipula o procesa
objetos de la BD. Dinámico. Operaciones.

 DSL. (Lenguaje de dominio específico - declarativo)


 Representa un nexo entre el SBD y algún lenguaje anfitrión. Ejem: SQL,
HTML
 Provee herramientas a los lenguajes tradicionales para que se integren al
Sistema de Base de Datos. Puede haber distintos tipos de DSL para un
mismo sistema .
DDL y DML
DDL DML
 Detalla la implementación del  Accesa o manipula los datos de la
esquema de la BD BD
 El compilador DDL genera la tablas  Es un lenguaje de consultas
que se almacena en el diccionario
de datos  Procedimental
– Qué y
 El diccionario de datos contiene la
cómo obtener datos
metadata (datos acerca de los  Noprocedimental – Qué
datos)
datos se necesitan, sin
decir cómo obtenerlos.

create table customer (


select customer-nam
customer-id char(10),
from customer
customer-name char(59))
where customer-id = ‘192’
Niveles de Abstracción
 Nivel de Vista: Describe una parte de la BD. Puede esconder VISTA
información por seguridad

 Nivel Lógico: Qué datos se almacenan en la BD y qué


relaciones existen entre esos datos.
LÓGICO

 Nivel Físico: Cómo se almacenan los datos.


FÍSICO
ARQUITECTURA DE TRES NIVELES
 Nivel Externo (Lenguaje de Programación “tipo Pascal”)
tipo empleado = registro (no acceso al salario)
n_empleado: cadena(6);
n_depto: cadena(4);
fin;

 Nivel Conceptual (Lenguaje de definición de datos, DDL)


EMPLEADO (
NUMERO_EMPLEADO CARACTER(6) CLAVE PRINCIPAL,
NUMERO_DEPARTAMENTO CARACTER(4) NO NULO,
SALARIO NUMERICO(5) NO NULO )

 Nivel Interno EMP_ALMACENADO LONGITUD=20


PREFIJO TIPO=BYTE(6), DESPLAZAMIENTO=0
EMP# TIPO=BYTE(6), DESPLAZAMIENTO=6, INDICE=IEMP
DEPTO# TIPO=BYTE(4), DESPLAZAMIENTO=12
PAGA TIPO=PALABRA, DESPLAZAMIENTO=16
Modelos de BD
Modelo Primer modelo de BD, semejantes a un árbol, dificil de eliminar la
Jerárquico redundania (IMS)
Modelo de Redes Usa nodos, un nodo puede tener varios padres. Definido por C.
Bachman, (IDMS)
Modelo Entidad - Creado por Chen (76). Representa el mundo en un conjunto
Relación entidades (objetos) y relaciones entre objetos
Modelo Creado por Frank Codd (70). Basado en la lógica de predicado y
Relacional en la teoría de conjuntos. (Oracle, Sybase, Informix)
Modelo Creado por Quillian usado solo en investigación
Semántico
Modelo Binario Creado por Stonebraker basado en el modelo de Codd (Ingres)

Modelo Orientado tTata de almacenar en BD objetos completos (estado y


a Objetos comportamiento). (Ilustra, O2 )
Modelo Extensión al relacional con inversión total.
Multirelacional
Modelo Entidad-Relación
Modelo Entidad - Relación
 Modelo E-R del mundo real
 Entidades (objeto o cosas del mundo real distinguible
de otros)
 Relaciones (asociación entre entidades)

 Usado para el diseño de BD


 Eldiseño de una BD en modelo E-R luego es convertido
en un diseño de modelo Relacional, el cual es usado
para almacenamiento y procesamiento.
Modelo Relacional
 El modelo relacional es un modelo de
datos basado en la lógica de predicado y en
la teoría de conjuntos.

 Una base de datos relacional es un


conjunto de dos o mas tablas estructuradas
en registros (líneas) y campos (columnas),
que se vinculan entre sí por un campo en
común.
MODELO ENTIDAD-RELACION
 Modelo de datos conceptual de alto nivel

 Propuesto por Peter P. Chen en 1976

 Describe el “mundo real” como un conjunto de


ENTIDADES y de RELACIONES entre ellas
 Existe una familia de modelo ER

 Soportado por herramientas software de diseño (CASE)


ELEMENTOS

1. Entidad ( entity )

2. Atributo ( attribute )

3. Relación ( relationship )

4. Dominio ( values set )


ENTIDAD
 Cosa u objeto del mundo real con existencia propia y distinguible del resto
 Objeto con existencia...

 física o real (una persona, un libro, un empleado)


 abstracta o conceptual (una asignatura, un viaje)

 Las entidades tienen atributos.

 Ejemplo: las personas tienen nombre, dirección, etc.


 Un conjunto de entidades del mismo tipo que comparten las mismas
propiedades

 Ejemplo: conjunto de todas las personas, empresas,


árboles
cliente- cliente- cliente- cliente- presta monto
id nombre calle ciudad mo-
ATRIBUTO
 Propiedad o característica de una entidad
 Una entidad particular es descrita por los valores de sus atributos:

titulo = El alquimista impaciente


genero = Thriller
p1
nacionalidad = España
añoestreno = 2002
...
dni = 87654321
e1 nss = 1122334455
nombre = Cristina Aliaga Gil
nacionalidad = España
...
Atributos Compuestos
Relación
 Una relación es una asociación entre diferentes entidades.

 Ejemplo:
Ortiz posee A-102
entidad cliente conjunto relaciones entidad
cuenta

 Una relación también puede tener atributos descriptivos


Dominio
 Conjunto de valores permitidos para cada atributo

 Tipos de atributos:

 Simples y compuestos
 Univalorados y multivalorados
 E.j. multivalorado : numero-telefono
 Derivados

 Puede ser derivado de valores de otros atributos o


entidades
 E.j. edad, dada la fecha de nacimiento
INSTANCIAS DE UNA ENTIDAD
 También... PELICULA
 Ocurrencia
 Realización
 Ejemplar titulo = El señor de los anillos
Entidad concreta o individual
genero = Fantasía

p2 nacionalidad = EEUU
añoestreno = 2001
...

titulo = Amores perros titulo = Amelie


genero = Drama genero = Comedia
p3 nacionalidad = Méjico p4 nacionalidad = Francia
añoestreno = 1999 añoestreno = 2001
... ...
Tipo de Entidad (entity set)
 Define un conjunto de entidades que poseen los mismos atributos
 PELICULA: titulo, genero, nacionalidad, añoestreno,
numcopias
 EMPLEADO: dni, nss, nombre, fechanacim, direccion,
telefono, altura, nacionalidad, edad

 Notación

EMPLEADO PELICULA DIRECTOR

LOCAL ACTOR
CLIENTE
VIDEOCLUB
TIPO DE ENTIDAD

 EMPLEADO: dni, nss, nombre, dirección, telefono, altura, fechanacim,


nacionalidad, edad

 Las instancias del tipo de entidad se agrupan en un conjunto de entidades o


extensión

e1  (87654321, 1122334455, “Cristina Aliaga Gil”, “Libertad, 2. Yecla.


Murcia. 30510”, 968100200, 1’60, 28/07/1979, España, 23)
e2  (12345678, 6677889900, “Antonio Gil Sánchez”, “Paz, 5. Murcia.
Murcia.30012”, 968111222, 1’76, 14/04/1944, España, 58)
e3  (11223344, 1234567890, “Julia Sauce”, “Justicia, 20. Yecla. Murcia.
30510”, 968000222, 1’59, 23/05/1947, España, 55)
...X
Claves
 Claves (Llaves): Atributos que identifican una entidad dentro de un conjunto
de entidades.
 Superclave: Conjunto de atributos no vacío, que identifica en forma única
una entidad dentro de un conjunto de entidades. Superclave = {superclaves}
 Clave candidata: Es una superclave para la cual ningún subconjunto es
superclave, excepto el mismo.
 Clave primaria. Es la clave candidata escogida por el diseñador. Atributo o
conjunto de atributos que permiten identificar en forma única una tupla en la
tabla y ningún subconjunto de ella posee esta propiedad (subrayado).
 Llave foránea: Es un atributo que es llave primaria en otra entidad con la
cual se relaciona. Relacionar las entidades.
Tipo de Entidad débil
 No tiene atributos clave propios
 Una instancia se identifica por su
relación con una instancia de otro tipo de
entidad

 Clave parcial (o discriminante)


 Atributos de la entidad
débil, que identifican de
forma única cada
instancia.

 Clave = (clave_entidad_regular,
clave_parcial)
Tipos de atributos
simples y

Simples o Compuestos monovalorados

Almacenados o Derivados compuestos

Monovalorados o
multivalorados
Multivalorados

Opcionales derivados
Atributos Simples o Compuestos

 Atributos compuestos
 Pueden dividirse en otros con significado propio
fechanacim direccion
dia mes año calle ciudad provincia codpostal
 Valor compuesto = concatenación de valores de
componentes

 Atributos simples
 No divisibles. Atómicos genero
Atributos Almacenados o Derivados
 Atributos derivados
 Valor calculado a partir de otra información ya existente
(atributos, entidades relacionadas)
 Son información redundante...
edad [de EMPLEADO], cálculo a partir de fechanacim
 atributo derivado del valor de otro atributo
numcopias [de una PELICULA], cuenta del número de
entidades COPIA relacionadas con cada película
concreta
 atributo derivado de entidades relacionadas

 Atributos almacenados
fechanacim [de cada EMPLEADO]
nacionalidad [de una PELICULA]
Monovalorados o Multivalorados
 Atributos monovalorados (monovaluados)
 sólo un valor para cada entidad
fechanacim [de un EMPLEADO particular]
añoestreno [de cada PELICULA concreta]

 Atributos multivalorados (multivaluados)


 más de un valor para la misma entidad
nacionalidad [PELICULA coproducida por varios países ]
telefono [ EMPLEADO con varios teléfonos de contacto]
 pueden tener límites superior e inferior
del número de valores por entidad
nacionalidad (1-2)
telefono (0-3)
Atributos Opcionales (nulos)
 El nulo (null value) es usado cuando...

 Se desconoce el valor de un atributo para cierta


entidad
 El valor existe pero falta
altura [de un EMPLEADO]
 No se sabe si el valor existe o no
telefono [de un EMPLEADO]

 La entidad no tiene ningún valor aplicable para el


atributo:
fechaalquiler [PELICULA sólo en vídeo-venta (no
alquiler)]
Notación para atributos

[EN2002]
ciudad provincia
calle
codpostal
dirección
fechanacim telefono
(0,3)
(0,1)
nombre EMPLEADO altura
(1,2)
nss nacionalidad
dni edad
Atributos Clave
 Atributo con valor distinto para
cada instancia de un tipo de ciudad provincia
entidad calle
codpostal
dirección
dni en EMPLEADO fechanacim telefono
(0,3)
(0,1)
n-f EMPLEADO altura
 Una clave identifica de forma única (1,2)
cada entidad concreta  atributo IP nacionalidad
nombre nss
identificador
dni edad
RELACIÓN (relationship)
 También “interrelación”

 Asociación, vínculo o correspondencia entre instancias de entidades


relacionadas.

 eldirector “Alejandro Amenábar” ha rodado la película


“Mar adentro”

 Abstracción

 un DIRECTOR ha rodado PELICULAS

DIRECTOR HA_RODADO PELICULA


DIRECTOR HA_RODADO PELICULA
Instancia
del tipo de
relación
 Vacas

J. Médem   Tesis

C. Saura   Belle Epoque

F. Trueba   Torrente

S. Segura   Tierra

A. Amenábar   Abre los ojos

 Los otros

Tipo de Entidad:
Tipo de Relación:
conjunto de instancias
conjunto de instancias
Grado de un tipo de relación
Nombres de Rol (papel)
Cardinalidad
 Limitan las posibles combinaciones de entidades que pueden participar en las
relaciones

 Extraídas de la situación real que se modela


“Una película debe haber sido dirigida por uno y sólo un director”
“Un director ha dirigido al menos una película y puede haber dirigido
muchas”

 Número máximo de instancias de tipo de relación en las que puede participar


una misma instancia de tipo de entidad
 lacardinalidad de HA_RODADO es “1 a N”
 HA_RODADO es de tipo “1 a N”
 Números mínimo y máximo de instancias de un tipo de entidad que pueden
estar relacionadas con una instancia del otro tipo de entidad
 Notación
 (min, max) en la línea que une entidad y relación

PERSONA EDIFICIO
POSEE
(0,m) (1,n) p1   e1
PERSONA USA EDIFICIO
 e2
(1,1) (0,n) p2 
POSEE  e3

p3   e4
 Razones de cardinalidad más comunes:

 1:1 (“uno a uno”)


 0:N (“cero o muchos”)
 1:N (“uno a muchos”)
 M:N (“muchos a muchos”)
trabajador ACTOR
EMPLEADO
1 encargado 1 personaje M

TRABAJA_EN SUPERVISA ACTUA_EN

sucursal N N
1 film
LOCAL_VIDEOCLUB PELICULA
lugar trabajo
Cardinalidad recursiva
continuación (0,1)
precuela
PELICULA SECUELA DE 1:1
(0,1)

versión (0,n)
original
PELICULA VERSIONA N:1
(0,1)
Razón de Participación

 Especifica si toda la extensión de un tipo de entidad participa en un tipo de


relación, o sólo parte de la extensión.
 Clases de participación:
 Participación total (dependencia en existencia)
 Participación parcial
trabajador ACTOR
EMPLEADO DIRECTOR personaje M
1 encargado 1 1
ACTUA_EN
TRABAJA_EN SUPERVISA
HA_ RODADO
N
sucursal N film
1 N
PELICULA
lugar trabajo LOCAL_VIDEOCLUB PELICULA
Atributos de tipos de relación

EMPLEADO
1 1

horas TRABAJA_EN SUPERVISA fechainicio

N
1
LOCAL_VIDEOCLUB
Atributos de tipos de relación
 Conceptualmente pertenecen a la relación

 Un atributo de una M:N es propio de la relación


 Un atributo de una 1:1 o 1:N “se puede llevar” a uno de
los tipos de entidad participantes

EMPLEADO horas
1 1

horas TRABAJA_EN SUPERVISA fechainicio

N
1
LOCAL_VIDEOCLUB fechainicio

horas
Tipo de entidad débil
Una entidad débil siempre tiene una restricción de
participación total en la relación que la une a su entidad
propietaria
 Dependencia en existencia (entre entidades)
 Sidesaparece una instancia del tipo de entidad regular
deben desaparecer las instancias de la entidad débil
que dependen de ella
 Etiqueta “E” en el tipo de relación débil

 Dependencia en identificación
 Además de la dependencia en existencia...
 Una instancia del tipo de entidad débil no se puede
identificar por sí misma
 Su clave es (clave_entidad_regular, clave_parcial)
 Etiqueta “ID” en el tipo de relación débil
Dominio (values set)
Valores validos
 Los valores validos para un atributo deben tener asignado información acerca
de:
 Tipo de Datos. Los tipos básicos son entero, decima, carácter fecha-hora.
 Longitud. Es el número de dígitos o caracteres en el valor de un atributo.
 Formato de Fecha. Puede ser dd/mm/yyyy o yyyy/mm/dd.
 Rango. Especifica el intervalo entre los cuales se puede tomar valor un atributo.
 Restricción. Son restricciones particulares sobre un atributo.
 Soporte de NULL. El atributo puede aceptar valores NULL.
 Default. El atributo toma un valor por defecto cuando se instancia.
Ejercicio 1

 Se tiene una empresa desarrollando varios proyectos, a los que son asignados
varios empleados, pero cada empleado solo esta vinculado a un proyecto, en
un momento dado.
 Cada proyecto consume diferentes recursos en cantidades determinadas: los
empleados están a cargo de un supervisor, que es un empleado también.
 Los empleados pueden tener personas beneficiarias (hijos, esposas, padres,
etc.).
 Se desea diseñar una base de datos sobre la información de las reservas de
una empresa dedicada al arriendo de automóviles.
 Los supuestos son:
 Un determinado cliente puede tener en un momento dado varias reservas.
 Una reserva la realiza un único cliente, pero puede involucrar a varios autos.
 Se debe conocer la fecha de comienzo y término de la reserva.
 Todo auto tiene asignado un determinado garaje, que no puede cambiar.
 Cada reserva se realiza en una determinada agencia.
 Pueden existir clientes que no hayan hecho ninguna reserva.

También podría gustarte