SlideShare una empresa de Scribd logo
1 de 13
Descargar para leer sin conexión
Sistemas de Bases de Datos
Sergio Santos Gil
2013
Sistemas de Bases de Datos
2
Sistemas de Bases de Datos
Índice
Base de Datos................................................................................................
Arquitectura de Sistemas de Bases de Datos .................................................
Independencia de Datos ..............................................................................................
Modelos de Datos..........................................................................................
Modelo Entidad-Relación ...........................................................................................
Representación Entidad-Relación ..............................................................................
Sistemas Gestores de Bases de Datos............................................................
Funciones....................................................................................................................
Lenguaje de Datos ......................................................................................................
Usuarios......................................................................................................................
Tipos...........................................................................................................................
Bases de Datos Centralizadas y Distribuidas.................................................
Bases de Datos Relacionales .........................................................................
Relación......................................................................................................................
Dominio y Atributo.....................................................................................................
Restriciones en el Modelo...........................................................................................
Vistas..........................................................................................................................
Grafo Relacional.........................................................................................................
Sistemas de Bases de Datos
3
Base de Datos
Una base de datos es un conjunto de datos almacenados entre los que existen relaciones
lógicas y ha sido diseñada para satisfacer los requerimientos de información de una empresa
u organización.
La base de datos es un conjunto de datos organizados en estructuras que se definen una
sola vez y que se utilizan al mismo tiempo por muchos equipos y usuarios.
La base de datos se comparte por toda la organización.
También almacena una descripción de los datos, denominados metadatos que se almacenan
en el diccionario de datos que se organiza en otra base de datos.
Arquitectura de Sistemas de Bases de Datos
El objetivo de la arquitectura de tres niveles es el separar en niveles de abstracción el
esquema de una base de datos.
Son tres formas distintas de representar una misma
base de datos:
Nivel interno. Se describe la estructura
física de la base de datos mediante un
esquema interno.
Nivel global o conceptual. Se describe la
estructura de toda la base de datos para
una comunidad de usuarios mediante un esquema conceptual.
Nivel externo. Se describen varios esquemas externos o vistas de usuarios. Cada
esquema externo describe la parte de la base de datos que interesa a un grupo de
usuarios y oculta a ese grupo el resto de la base de datos.
La independencia de datos es la capacidad para modificar el esquema en un nivel del
sistema sin tener que modificar el esquema del nivel inmediato superior.
Existen dos tipos de independencia de datos:
o La independencia lógica: es la capacidad de modificar el esquema conceptual sin
tener que alterar los esquemas externos ni los programas de aplicación.
o La independencia física: es la capacidad de modificar el esquema interno sin tener
que alterar el esquema conceptual.
Sistemas de Bases de Datos
4
Modelos de Datos
Un modelo de datos es una colección de herramientas conceptuales para describir los datos,
las relaciones que existen entre ellos y sus restricciones.
Tipos de modelos:
 Modelos conceptuales. Se usan para describir datos en el nivel global.
Representa los datos de forma parecida a como nosotros los captamos en el mundo
real.
Existen diferentes modelos de este tipo, pero el más utilizado por su sencillez y
eficiencia es el modelo Entidad-Relación.
El modelo Entidad-Relación representa la realidad a través de entidades, que son
objetos que existen y que se distinguen de otros por sus características, denominadas
atributos.
A su vez, una entidad se puede asociar o relacionar con más entidades a través de
relaciones.
 Modelos lógicos tradicionales. Se utilizan para describir datos en el nivel global,
pero de un modo más lógico.
Utilizan tablas de registros para representar los objetos modelados y sus relaciones.
Se usan para especificar la estructura lógica global de las bases de datos y para
proporcionar una descripción más estructurada y cercana a la implementación.
Existen tres modelos de datos más ampliamente aceptados:
o Modelo relacional. En este modelo se representan los datos y las relaciones
entre estos, a través de una colección de tablas, en las cuales las filas (tuplas)
equivalen a cada uno de los registros que contendrá la base de datos y las
columnas corresponden a las características (atributos) de cada registro
localizado en la tupla.
o Modelo de red.
o Modelo jerárquico.
 Modelos lógicos avanzados. Son modelos de datos relativamente recientes y cada vez
más utilizados, sobre todo en aplicaciones específicas que manejan nuevos y más
complejos tipos de datos.
o Modelos de datos orientados a objetos. Son utilizados en aplicaciones
programadas bajo el paradigma de la orientación a objetos.
Tratan de almacenar en la base de datos no solo los datos sino también la
funcionalidad asociada.
o Modelos de datos declarativos.
Sistemas de Bases de Datos
5
Representación del Modelo Entidad-Relación
Toda entidad se transforma en una relación o tabla, representada en un rectángulo:
Todo atributo de una entidad se transforma en una columna, representados por círculos
asociados a la entidad:
Los atributos se asocian a la entidad mediante una línea y estos pueden contener valores
nulos o siempre tienen que tener un valor obligatoriamente .
Las claves primarias de las tablas se diferencian del resto porque se pinta el círculo:
Las claves secundarias se identifican con un semicírculo:
Una relación es una asociación sin existencia propia de varáis entidades, gráficamente
representada por un rombo etiquetado con el nombre de la relación:
El grado de una relación representa la participación en la relación de cada una de las
entidades afectadas y corresponde al número máximo de ocurrencias de una entidad que
puede intervenir por cada ocurrencia de la otra entidad asociada en la relación.
El grado puede ser de tres tipos:
1:1. A cada ocurrencia de las entidades le corresponde no más de una ocurrencia de la
otra entidad.
1:N. A cada ocurrencia de la primera entidad pueden corresponderle varias
ocurrencias de la segunda entidad, y a cada ocurrencia de la segunda entidad le
corresponde no más de una ocurrencia de la primera entidad.
N:N o N:M. A cada ocurrencia las entidades les corresponde más de una ocurrencia
de la otra entidad.
Ejemplo: (N:N)
(1:N) (1:N)
id_alumno cod_asignatura
dni nota nombre
nombre horario
e-mail
ALUMNO MATRI-
CULA
ASIGNATURA
Sistemas de Bases de Datos
6
Sistemas Gestores de Bases de Datos
El sistema de gestor de bases de datos (SGBD) es una aplicación que permite a los usuarios
definir, crear y mantener la base de datos y proporciona acceso controlado a la misma. Es una
herramienta que sirve de interfaz entre el usuario y las bases de datos.
Los objetivos de un SGBD son:
 Asegurar los tres niveles de abstracción: físico, lógico y
externo.
 Permitir la independencia física y lógica de los datos.
 Garantizar la consistencia de los datos.
 Ofrecer seguridad de acceso a los datos.
 Garantizar la ejecución de un conjunto de operaciones
críticas como una sola operación.
 Permitir la concurrencia de usuarios sobre los mismos datos mediante bloqueos que
mantienen la integridad de los mismos.
Funciones de un sistema de gestor de base de datos:
Un catálogo donde se almacenan las descripciones de los datos y sea accesible por los
usuarios, denominado diccionario de datos que contiene información que describe
los datos de la base de datos. Un diccionario de datos describe:
 Nombre, tipo y tamaño de los datos.
 Relaciones entre los datos.
 Restricciones de integridad sobre los datos.
 Usuarios autorizados a acceder a los objetos de la base de datos.
 Estadísticas de utilización.
Garantizar la integridad. Disponer de un mecanismo que garantice que todas las
actualizaciones correspondientes a una determinada transacción se realicen o no se
realice ninguna. Una transacción es un conjunto de acciones que cambian el
contenido de la base de datos.
Permitir actualizaciones. Asegurar que la base de datos se actualice correctamente
cuando varios usuarios la están actualizando concurrentemente.
Recuperación de datos. Permitir recuperar las bases de datos en caso de que ocurra
algún suceso imprevisto que afecte o destruya la base de datos.
Integración. Ser capaz de integrarse con algún software de comunicación.
Cumplir restricciones. Garantizar que, tanto los datos de la base de datos como los
cambios que se realizan sobre ellos, sigan ciertas reglas.
Herramientas de administración. Proporcionar herramientas que permitan
administrar la base de datos de modo efectivo
Sistemas de Bases de Datos
7
Lenguaje de datos. Son lenguajes para la manipulación de datos, tanto desde el punto de
vista de su acceso y modificación, como del control y seguridad de los mismos. Existen
tres tipos según su funcionalidad:
o Lenguaje de definición de datos(DDL): lenguaje artificial para definir y
describir los objetos de la base de datos, su estructura, relaciones y
restricciones.
Permite la creación (CREATE), eliminación (DROP) y modificación
(ALTER) de las estructuras de la base de datos.
o Lenguaje de control de datos (DCL): encargado del control y seguridad de
datos (privilegios, modo de acceso,…).
Permite especificar los permisos sobre los objetos, así como otorgar
(GRANT) y eliminación (REVOKE) de privilegios y cuentas.
o Lenguaje de manipulación de datos (DML): lenguaje encargado de la
manipulación del contenido de la base de datos.
Permite la inserción (INSERT), modificación (UPDATE), eliminación
(DELETE) y consulta (SELECT) de datos de las tablas de la base de datos.
Para todos estos lenguajes se usa principalmente el lenguaje SQL que se ha convertido en el
lenguaje estándar de los SGBD relacionales.
Existen varios usuarios de los sistemas gestores de base de datos:
 Administradores. Se encargan del diseño físico de la base de datos, implementación
y mantenimiento de esta.
 Diseñadores de la base de datos. Realizan el diseño lógico de la base de datos,
debiendo identificar los datos, las relaciones entre datos y las restricciones sobre los
datos como de objetos.
 Programadores. Interactúan con las bases de datos y crean rutinas almacenadas o
disparadores.
 Usuarios finales. Trabajan en el nivel externo mediante vistas o porciones de la base
de datos. Son clientes de las bases de datos que hacen uso de ellas sin conocer en
absoluto su funcionamiento y organización interna.
Sistemas de Bases de Datos
8
Tipos de sistemas gestores de bases de datos según los siguientes criterios:
 Modelo lógico en el que se basan:
- Jerárquico
- En red
- Relacional
- Objeto-Relacional
- Orientado a objetos
 Número de usuarios:
- Monousuarios: solo permiten un usuario.
- Multiusuario: permiten la conexión de varios usuarios.
 Número de sitios:
- Centralizados: en un solo servidor o equipo.
- Distribuidos: en varios equipos que pueden ser homogéneos o heterogéneos.
 Ámbito de aplicación:
- Propósito General: orientados a toda clase de aplicaciones.
- Propósito Específico: entradas en un tipo específico de aplicaciones.
 Tipos de datos:
- Sistemas relacionales estándar: manejan tipos básicos (char, int,…).
- XML: bases de datos que trabajan con documentos xml.
- Objetos-relacionales: para bases relacionales que incorporan tipos complejos
de datos.
- De objetos: bases de datos que soportan tipos de objetos con datos y métodos
asociados
 Lenguajes soportados:
- SQL estándar
- NoSQL o nuevo lenguaje de consulta: útil para manejar consultas de grandes
cantidades de datos distribuidos en clúster de servidores.
Sistemas de Bases de Datos
9
Bases de Datos Centralizadas y Distribuidas
En un sistema de bases de datos centralizado todos
los componentes (software, datos y soportes físicos)
residen en un único lugar físico. Los clientes acceden
al sistema a través de distintas interfaces que se
conectan al servidor.
Una base de datos distribuida es una colección de
datos que pertenece lógicamente al mismo sistema pero
que se encuentra físicamente almacenada en
distintas máquinas conectadas por una red.
Ventajas de una base de datos distribuida:
Mejora de rendimiento. Los sitios se dispersan
entre varios sistemas, de forma que una
transmisión se reduce el tiempo de respuesta.
Fiabilidad. Probabilidad de que un sistema esté activo en un tiempo dado.
Disponibilidad. Probabilidad de que un sistema este activo de manera continuada
durante un tiempo.
Tipos de aplicaciones.
Por el contrario, distribuir implica una mayor complejidad en el diseño, implementación y
gestión de los datos, para lo cual un buen SGBD distribuido debe incorporar:
 Tener acceso a sitios remotos e intercambiar información con los mismos.
 Disponer de un catálogo con información sobre cómo están distribuidos y replicados
los datos del sistema distribuido.
 Poder optimizar consultas y transacciones sobre datos que estén más de un sitio.
 Mantener al integridad en los permisos sobre datos replicados.
 Mantener consistencia de las copias de un elemento replicado.
 Garantizar la recuperación del sistema en una caída.
Sistemas de Bases de Datos
10
Bases de Datos Relacionales
El modelo de datos relacional es el más utilizado para modelar sistemas reales que trabajan
con información.
Se basa en el uso de relaciones o tablas que agrupan conjuntos de datos en forma de filas o
tuplas. Además, incorpora restricciones que son condiciones que deben cumplir los datos
según las políticas de la empresa u organización, cuyo sistema de información que está
modelando.
Relación
El elemento básico del modelo relacional es la relación representada en forma de tabla.
Es una estructura de datos que se representa con un nombre y un conjunto de atributos o
columnas junto con el tipo de dato de cada una.
En una relación podemos distinguir un conjunto de columnas, denominadas atributos, que
representan propiedades de la misma. Así, una relación queda caracterizada por un nombre y
un conjunto de atributos. Cada conjunto de valores para los atributos se denomina fila o
tuplas, que son las llamadas ocurrencias de la relación.
El número de ocurrencias de una relación se llama cardinalidad, mientras que el número
de columnas es el grado.
Dominio y Atributo
Un dominio es un conjunto finito de valores homogéneos, porque son todos del mismo tipo,
y atómicos, porque son indivisibles en lo que al modelo se refiere, que están caracterizados
por un nombre.
Un atributo es una característica de la relación representada y toma valores en un
determinado dominio. Los dominios son independientes de las relaciones, sin embargo, los
atributos se asocian siempre a una relación.
En ocasiones, puede ocurrir que el valor de un atributo para una fila sea desconocido, es
decir, un valor nulo.
Sistemas de Bases de Datos
11
Restricciones en el Modelo
Se llaman restricciones a las condiciones que se imponen al modelo, ya sea por las
características del mismo o por los requerimientos del diseñador.
Hay dos grupos principales de restricciones:
Inherentes: se derivan de la misma estructura del modelo así que no tienen que ser
definidas por el diseñador:
o No puede haber dos tuplas iguales.
o El orden de las tuplas y los atributos no son significativos.
o Cada atributo solo puede tomar un único valor del dominio.
o Se debe cumplir la regla de entidad: Ningún atributo de la clave primaria
puede tomar un valor nulo y tienes que ser único en la tupla.
De usuario: restricciones impuestas por las características del sistema que se está
modelando y, por tanto, dependen del mismo:
o Clave candidata: es un conjunto mínimo de atributos que identifican unívoca y
mínimamente cada tupla en una relación. Una relación puede tener varias
claves candidatas.
o Clave primaria: de entre las claves candidatas es la que el diseñador escoge por
motivos ajenos al modelo. Los atributos no pueden tomar valores nulos.
o Clave alternativa: claves candidatas que no han sido escogidas como clave
primaria.
o Clave ajena: conjunto de atributos de una relación cuyos valores han de
coincidir con los valores de la clave primaria de otra relación.
o Integridad referencial: Si una relación (relación que referencia) tiene un
conjunto de atributos que son clave primaria de otra relación (relación
referenciada), todos los valores de dichos atributos deben coincidir con otro
grupo de valores de la clave primaria de la relación referenciada o ser nulos.
Sistemas de Bases de Datos
12
Hay que tener presente que la base de datos es dinámica y que los valores se van
modificando, eliminando a lo largo del tiempo de modo que si creamos restricciones de
integridad referencial debemos determinar las acciones que deben tomarse como
consecuencia de operaciones de modificación y borrado realizadas sobre filas de las tablas
referenciadas.
Para ello distinguimos tres posibilidades:
 Operación restringida (B:R): si una tabla tiene tabla hijas, no se podrá borrar.
 Operación con transmisión en cascada (B:C): la tabla padre es borrada o
modificada, también se eliminan o se modifican las tablas hijas.
 Operación con puesta a nulos (B:NULL): al borrar la tabla padre, las tablas hijos se
modifican a nulos.
Existen otro grupo de restricciones definidas mediante el uso de SQL:
 Restricciones de verificación: llamados CHECKS que permiten imponer condiciones
a elementos o atributos de una relación.
 Restricciones de aserción: parecidas a las anteriores, pero las condiciones pueden ser
sobre atributos de más de una tabla.
 Disparadores: determina una acción determinada ante cierta condición. Son objetos
programados por el usuario.
Vistas
Una vista de bases de datos es el resultado de una consulta SQL sobre una o varias tablas.
Las vistas tienen la misma estructura que una tabla en el modelo relacional, pero se
diferencia en que solo se almacena de las tablas o tuplas la definición, no los datos.
Se pueden insertar, actualizar, borrar y seleccionar
datos en una vista.
Una vista se especifica a través de una expresión de
consulta de datos (SELECT) sobre una o más tablas.
Las vistas cumplen tres funciones:
 Proporcionan un mecanismo de seguridad potente y flexible al ocultar partes de la
base de datos a distintos usuarios y aplicaciones.
 Permiten a los usuarios y aplicaciones acceder a los datos de forma personalizada
según sus necesidades.
 Permiten simplificar operaciones complejas, tales como consulta, modificación o
borrado.
Sistemas de Bases de Datos
13
Grafo Relacional
El grafo relacional es la representación de un sistema mediante un conjunto de relaciones
vinculadas entre sí por una o varias claves ajenas.
Claves principales: serán el atributo/s que formen la clave con doble subrayado “ “.
Claves secundarias o candidatas: los atributos con subrayado discontinuo “ ”.
Claves ajenas: los atributos que referencian a la clave de otra relación subrayado “ “.
Atributos opcionales: los atributos que permitan nulos van con asterisco “ * “.
Ejemplos prácticos:
a) Base de datos de un torneo de póker:
partida(cod_partida, num_partida, num_jugadores, ganador*, fecha, hora)
carta(número, palo, valor)
b) Base de datos de apuestas:
apuesta(apostante, fecha, hora, cantidad)
c) Base de datos de música:
cantante(dni, nif, móvil, nombre, num_discos)
d) Base de datos de una inmobiliaria:
alquiler(cod_alquiler, cliente, fecha, hora, num_dias)
e) Base de datos de una biblioteca:
usuario(dni, edad, cuota)
libro(isbn, titulo, autor, editorial)
préstamo(isbn, dni_usuario, fecha, periodo) isbn y dni_usuario también son ajenas
f) Base de datos de una compañía de vuelos:
avion(matrícula, capacidad, num_alas, combustible)
vuelo(avión, fecha_ida, fecha_vuelta, num_pasajeros) avión también es ajena
g) Base de datos de una empresa:
empleado(código, puesto, salario, cod_jefe)
h) Base de datos de una empresa de autobuses:
trayecto(fecha, origen, destino, incidencias*)
ruta(id_ruta, origen, destino, distancia)

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Modelos de datos
Modelos de datosModelos de datos
Modelos de datos
 
Modelo de datos
Modelo de datosModelo de datos
Modelo de datos
 
f
ff
f
 
Base de datos
Base de datosBase de datos
Base de datos
 
Bases de Datos Relacionales
Bases de Datos RelacionalesBases de Datos Relacionales
Bases de Datos Relacionales
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Gestores de bases de datos
Gestores de bases de datosGestores de bases de datos
Gestores de bases de datos
 
Modelos de datos
Modelos de datosModelos de datos
Modelos de datos
 
Modelo de Datos E-R
Modelo de Datos E-RModelo de Datos E-R
Modelo de Datos E-R
 
Modelos de bases_de_datos
Modelos de bases_de_datosModelos de bases_de_datos
Modelos de bases_de_datos
 
Introducción a los modelos de datos
Introducción a los modelos de datosIntroducción a los modelos de datos
Introducción a los modelos de datos
 
Guía Teórica Unidad II. Programación digital
Guía Teórica Unidad II. Programación  digitalGuía Teórica Unidad II. Programación  digital
Guía Teórica Unidad II. Programación digital
 
modelo de datos
modelo de datos modelo de datos
modelo de datos
 
Base datos presentacion 4
Base datos presentacion 4Base datos presentacion 4
Base datos presentacion 4
 
2 glosario
2 glosario2 glosario
2 glosario
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Clase 2 -
Clase 2 -Clase 2 -
Clase 2 -
 
Modelo de datos
Modelo de datosModelo de datos
Modelo de datos
 
Tarea 2 Modelo Entidad-Relación
Tarea 2 Modelo Entidad-RelaciónTarea 2 Modelo Entidad-Relación
Tarea 2 Modelo Entidad-Relación
 
Base datos presentacion 3
Base datos presentacion 3Base datos presentacion 3
Base datos presentacion 3
 

Similar a Sistemas de Bases de Datos

Modelos de datos
Modelos de datosModelos de datos
Modelos de datosJeff Jesús
 
Diseño de interacciones_de_bases_de_datos
Diseño de interacciones_de_bases_de_datosDiseño de interacciones_de_bases_de_datos
Diseño de interacciones_de_bases_de_datosangela margarita
 
Modelo tipos de datos-sgbd-vison-lenguaje-schema
Modelo tipos de datos-sgbd-vison-lenguaje-schemaModelo tipos de datos-sgbd-vison-lenguaje-schema
Modelo tipos de datos-sgbd-vison-lenguaje-schemaMaria Garcia
 
Modelos de BDD y modelos de datos
Modelos de BDD y modelos de datosModelos de BDD y modelos de datos
Modelos de BDD y modelos de datosValmore Medina
 
Diseño Conceptual de Base de Datos - Guia de Aprendizaje
Diseño Conceptual de Base de Datos - Guia de AprendizajeDiseño Conceptual de Base de Datos - Guia de Aprendizaje
Diseño Conceptual de Base de Datos - Guia de AprendizajeRobert Rodriguez
 
Diseño.conceptual.de.bases.de.datos. .jorge.sanchez
Diseño.conceptual.de.bases.de.datos. .jorge.sanchezDiseño.conceptual.de.bases.de.datos. .jorge.sanchez
Diseño.conceptual.de.bases.de.datos. .jorge.sanchezJuan Timoteo Cori
 
Diseño.conceptual.de.bases.de.datos. .jorge.sanchez
Diseño.conceptual.de.bases.de.datos. .jorge.sanchezDiseño.conceptual.de.bases.de.datos. .jorge.sanchez
Diseño.conceptual.de.bases.de.datos. .jorge.sanchezErwin Siney
 
Base de datos
Base de datosBase de datos
Base de datosVictor
 
Diccionario de datos
Diccionario de datosDiccionario de datos
Diccionario de datosFlv Martín
 
Modelos de bases de datos
Modelos de bases de datosModelos de bases de datos
Modelos de bases de datosJperez98
 

Similar a Sistemas de Bases de Datos (20)

deberes
deberesdeberes
deberes
 
Modelos de datos
Modelos de datosModelos de datos
Modelos de datos
 
Diseño de interacciones_de_bases_de_datos
Diseño de interacciones_de_bases_de_datosDiseño de interacciones_de_bases_de_datos
Diseño de interacciones_de_bases_de_datos
 
Modelo tipos de datos-sgbd-vison-lenguaje-schema
Modelo tipos de datos-sgbd-vison-lenguaje-schemaModelo tipos de datos-sgbd-vison-lenguaje-schema
Modelo tipos de datos-sgbd-vison-lenguaje-schema
 
Diseno bd
Diseno bdDiseno bd
Diseno bd
 
Modelo de datos
Modelo de datosModelo de datos
Modelo de datos
 
Modelos de BDD y modelos de datos
Modelos de BDD y modelos de datosModelos de BDD y modelos de datos
Modelos de BDD y modelos de datos
 
Sistemas bases datos 2013
Sistemas bases datos 2013Sistemas bases datos 2013
Sistemas bases datos 2013
 
Diseño Conceptual de Base de Datos - Guia de Aprendizaje
Diseño Conceptual de Base de Datos - Guia de AprendizajeDiseño Conceptual de Base de Datos - Guia de Aprendizaje
Diseño Conceptual de Base de Datos - Guia de Aprendizaje
 
Diseño.conceptual.de.bases.de.datos. .jorge.sanchez
Diseño.conceptual.de.bases.de.datos. .jorge.sanchezDiseño.conceptual.de.bases.de.datos. .jorge.sanchez
Diseño.conceptual.de.bases.de.datos. .jorge.sanchez
 
Diseño.conceptual.de.bases.de.datos. .jorge.sanchez
Diseño.conceptual.de.bases.de.datos. .jorge.sanchezDiseño.conceptual.de.bases.de.datos. .jorge.sanchez
Diseño.conceptual.de.bases.de.datos. .jorge.sanchez
 
1.diseño conceptual de bd (1)
1.diseño conceptual de bd (1)1.diseño conceptual de bd (1)
1.diseño conceptual de bd (1)
 
Base de datos
Base de datosBase de datos
Base de datos
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Diccionario de datos
Diccionario de datosDiccionario de datos
Diccionario de datos
 
Modelo de datos
Modelo de datosModelo de datos
Modelo de datos
 
Base de datos teoria
Base de datos teoriaBase de datos teoria
Base de datos teoria
 
Modelos de bases de datos
Modelos de bases de datosModelos de bases de datos
Modelos de bases de datos
 
El entorno de la base de datos
El entorno de la base de datosEl entorno de la base de datos
El entorno de la base de datos
 
Base de datos 1
Base de datos 1Base de datos 1
Base de datos 1
 

Más de Sergio Santos

Más de Sergio Santos (17)

PHP
PHPPHP
PHP
 
Modelo Entidad Relación
Modelo Entidad RelaciónModelo Entidad Relación
Modelo Entidad Relación
 
JAVA
JAVAJAVA
JAVA
 
CSS, jQuery y más
CSS, jQuery y másCSS, jQuery y más
CSS, jQuery y más
 
JavaScript
JavaScriptJavaScript
JavaScript
 
SOJI - Documentación
SOJI - DocumentaciónSOJI - Documentación
SOJI - Documentación
 
Manual de usuario SOJI
Manual de usuario SOJIManual de usuario SOJI
Manual de usuario SOJI
 
Servicios de Red e Internet
Servicios de Red e InternetServicios de Red e Internet
Servicios de Red e Internet
 
Correo electrónico
Correo electrónicoCorreo electrónico
Correo electrónico
 
Servicio FTP en Ubuntu
Servicio FTP en UbuntuServicio FTP en Ubuntu
Servicio FTP en Ubuntu
 
Servicio FTP en Windows
Servicio FTP en WindowsServicio FTP en Windows
Servicio FTP en Windows
 
Servicio HTTP en Ubuntu (Apache)
Servicio HTTP en Ubuntu (Apache)Servicio HTTP en Ubuntu (Apache)
Servicio HTTP en Ubuntu (Apache)
 
Servidor HTTP en Windows (IIS)
Servidor HTTP en Windows (IIS)Servidor HTTP en Windows (IIS)
Servidor HTTP en Windows (IIS)
 
Servidor DNS Windows
Servidor DNS WindowsServidor DNS Windows
Servidor DNS Windows
 
Servidor DNS Ubuntu
Servidor DNS UbuntuServidor DNS Ubuntu
Servidor DNS Ubuntu
 
DHCP Webmin (Ubuntu)
DHCP Webmin (Ubuntu)DHCP Webmin (Ubuntu)
DHCP Webmin (Ubuntu)
 
DHCP Ubuntu
DHCP UbuntuDHCP Ubuntu
DHCP Ubuntu
 

Último

POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 

Último (19)

POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 

Sistemas de Bases de Datos

  • 1. Sistemas de Bases de Datos Sergio Santos Gil 2013
  • 2. Sistemas de Bases de Datos 2 Sistemas de Bases de Datos Índice Base de Datos................................................................................................ Arquitectura de Sistemas de Bases de Datos ................................................. Independencia de Datos .............................................................................................. Modelos de Datos.......................................................................................... Modelo Entidad-Relación ........................................................................................... Representación Entidad-Relación .............................................................................. Sistemas Gestores de Bases de Datos............................................................ Funciones.................................................................................................................... Lenguaje de Datos ...................................................................................................... Usuarios...................................................................................................................... Tipos........................................................................................................................... Bases de Datos Centralizadas y Distribuidas................................................. Bases de Datos Relacionales ......................................................................... Relación...................................................................................................................... Dominio y Atributo..................................................................................................... Restriciones en el Modelo........................................................................................... Vistas.......................................................................................................................... Grafo Relacional.........................................................................................................
  • 3. Sistemas de Bases de Datos 3 Base de Datos Una base de datos es un conjunto de datos almacenados entre los que existen relaciones lógicas y ha sido diseñada para satisfacer los requerimientos de información de una empresa u organización. La base de datos es un conjunto de datos organizados en estructuras que se definen una sola vez y que se utilizan al mismo tiempo por muchos equipos y usuarios. La base de datos se comparte por toda la organización. También almacena una descripción de los datos, denominados metadatos que se almacenan en el diccionario de datos que se organiza en otra base de datos. Arquitectura de Sistemas de Bases de Datos El objetivo de la arquitectura de tres niveles es el separar en niveles de abstracción el esquema de una base de datos. Son tres formas distintas de representar una misma base de datos: Nivel interno. Se describe la estructura física de la base de datos mediante un esquema interno. Nivel global o conceptual. Se describe la estructura de toda la base de datos para una comunidad de usuarios mediante un esquema conceptual. Nivel externo. Se describen varios esquemas externos o vistas de usuarios. Cada esquema externo describe la parte de la base de datos que interesa a un grupo de usuarios y oculta a ese grupo el resto de la base de datos. La independencia de datos es la capacidad para modificar el esquema en un nivel del sistema sin tener que modificar el esquema del nivel inmediato superior. Existen dos tipos de independencia de datos: o La independencia lógica: es la capacidad de modificar el esquema conceptual sin tener que alterar los esquemas externos ni los programas de aplicación. o La independencia física: es la capacidad de modificar el esquema interno sin tener que alterar el esquema conceptual.
  • 4. Sistemas de Bases de Datos 4 Modelos de Datos Un modelo de datos es una colección de herramientas conceptuales para describir los datos, las relaciones que existen entre ellos y sus restricciones. Tipos de modelos:  Modelos conceptuales. Se usan para describir datos en el nivel global. Representa los datos de forma parecida a como nosotros los captamos en el mundo real. Existen diferentes modelos de este tipo, pero el más utilizado por su sencillez y eficiencia es el modelo Entidad-Relación. El modelo Entidad-Relación representa la realidad a través de entidades, que son objetos que existen y que se distinguen de otros por sus características, denominadas atributos. A su vez, una entidad se puede asociar o relacionar con más entidades a través de relaciones.  Modelos lógicos tradicionales. Se utilizan para describir datos en el nivel global, pero de un modo más lógico. Utilizan tablas de registros para representar los objetos modelados y sus relaciones. Se usan para especificar la estructura lógica global de las bases de datos y para proporcionar una descripción más estructurada y cercana a la implementación. Existen tres modelos de datos más ampliamente aceptados: o Modelo relacional. En este modelo se representan los datos y las relaciones entre estos, a través de una colección de tablas, en las cuales las filas (tuplas) equivalen a cada uno de los registros que contendrá la base de datos y las columnas corresponden a las características (atributos) de cada registro localizado en la tupla. o Modelo de red. o Modelo jerárquico.  Modelos lógicos avanzados. Son modelos de datos relativamente recientes y cada vez más utilizados, sobre todo en aplicaciones específicas que manejan nuevos y más complejos tipos de datos. o Modelos de datos orientados a objetos. Son utilizados en aplicaciones programadas bajo el paradigma de la orientación a objetos. Tratan de almacenar en la base de datos no solo los datos sino también la funcionalidad asociada. o Modelos de datos declarativos.
  • 5. Sistemas de Bases de Datos 5 Representación del Modelo Entidad-Relación Toda entidad se transforma en una relación o tabla, representada en un rectángulo: Todo atributo de una entidad se transforma en una columna, representados por círculos asociados a la entidad: Los atributos se asocian a la entidad mediante una línea y estos pueden contener valores nulos o siempre tienen que tener un valor obligatoriamente . Las claves primarias de las tablas se diferencian del resto porque se pinta el círculo: Las claves secundarias se identifican con un semicírculo: Una relación es una asociación sin existencia propia de varáis entidades, gráficamente representada por un rombo etiquetado con el nombre de la relación: El grado de una relación representa la participación en la relación de cada una de las entidades afectadas y corresponde al número máximo de ocurrencias de una entidad que puede intervenir por cada ocurrencia de la otra entidad asociada en la relación. El grado puede ser de tres tipos: 1:1. A cada ocurrencia de las entidades le corresponde no más de una ocurrencia de la otra entidad. 1:N. A cada ocurrencia de la primera entidad pueden corresponderle varias ocurrencias de la segunda entidad, y a cada ocurrencia de la segunda entidad le corresponde no más de una ocurrencia de la primera entidad. N:N o N:M. A cada ocurrencia las entidades les corresponde más de una ocurrencia de la otra entidad. Ejemplo: (N:N) (1:N) (1:N) id_alumno cod_asignatura dni nota nombre nombre horario e-mail ALUMNO MATRI- CULA ASIGNATURA
  • 6. Sistemas de Bases de Datos 6 Sistemas Gestores de Bases de Datos El sistema de gestor de bases de datos (SGBD) es una aplicación que permite a los usuarios definir, crear y mantener la base de datos y proporciona acceso controlado a la misma. Es una herramienta que sirve de interfaz entre el usuario y las bases de datos. Los objetivos de un SGBD son:  Asegurar los tres niveles de abstracción: físico, lógico y externo.  Permitir la independencia física y lógica de los datos.  Garantizar la consistencia de los datos.  Ofrecer seguridad de acceso a los datos.  Garantizar la ejecución de un conjunto de operaciones críticas como una sola operación.  Permitir la concurrencia de usuarios sobre los mismos datos mediante bloqueos que mantienen la integridad de los mismos. Funciones de un sistema de gestor de base de datos: Un catálogo donde se almacenan las descripciones de los datos y sea accesible por los usuarios, denominado diccionario de datos que contiene información que describe los datos de la base de datos. Un diccionario de datos describe:  Nombre, tipo y tamaño de los datos.  Relaciones entre los datos.  Restricciones de integridad sobre los datos.  Usuarios autorizados a acceder a los objetos de la base de datos.  Estadísticas de utilización. Garantizar la integridad. Disponer de un mecanismo que garantice que todas las actualizaciones correspondientes a una determinada transacción se realicen o no se realice ninguna. Una transacción es un conjunto de acciones que cambian el contenido de la base de datos. Permitir actualizaciones. Asegurar que la base de datos se actualice correctamente cuando varios usuarios la están actualizando concurrentemente. Recuperación de datos. Permitir recuperar las bases de datos en caso de que ocurra algún suceso imprevisto que afecte o destruya la base de datos. Integración. Ser capaz de integrarse con algún software de comunicación. Cumplir restricciones. Garantizar que, tanto los datos de la base de datos como los cambios que se realizan sobre ellos, sigan ciertas reglas. Herramientas de administración. Proporcionar herramientas que permitan administrar la base de datos de modo efectivo
  • 7. Sistemas de Bases de Datos 7 Lenguaje de datos. Son lenguajes para la manipulación de datos, tanto desde el punto de vista de su acceso y modificación, como del control y seguridad de los mismos. Existen tres tipos según su funcionalidad: o Lenguaje de definición de datos(DDL): lenguaje artificial para definir y describir los objetos de la base de datos, su estructura, relaciones y restricciones. Permite la creación (CREATE), eliminación (DROP) y modificación (ALTER) de las estructuras de la base de datos. o Lenguaje de control de datos (DCL): encargado del control y seguridad de datos (privilegios, modo de acceso,…). Permite especificar los permisos sobre los objetos, así como otorgar (GRANT) y eliminación (REVOKE) de privilegios y cuentas. o Lenguaje de manipulación de datos (DML): lenguaje encargado de la manipulación del contenido de la base de datos. Permite la inserción (INSERT), modificación (UPDATE), eliminación (DELETE) y consulta (SELECT) de datos de las tablas de la base de datos. Para todos estos lenguajes se usa principalmente el lenguaje SQL que se ha convertido en el lenguaje estándar de los SGBD relacionales. Existen varios usuarios de los sistemas gestores de base de datos:  Administradores. Se encargan del diseño físico de la base de datos, implementación y mantenimiento de esta.  Diseñadores de la base de datos. Realizan el diseño lógico de la base de datos, debiendo identificar los datos, las relaciones entre datos y las restricciones sobre los datos como de objetos.  Programadores. Interactúan con las bases de datos y crean rutinas almacenadas o disparadores.  Usuarios finales. Trabajan en el nivel externo mediante vistas o porciones de la base de datos. Son clientes de las bases de datos que hacen uso de ellas sin conocer en absoluto su funcionamiento y organización interna.
  • 8. Sistemas de Bases de Datos 8 Tipos de sistemas gestores de bases de datos según los siguientes criterios:  Modelo lógico en el que se basan: - Jerárquico - En red - Relacional - Objeto-Relacional - Orientado a objetos  Número de usuarios: - Monousuarios: solo permiten un usuario. - Multiusuario: permiten la conexión de varios usuarios.  Número de sitios: - Centralizados: en un solo servidor o equipo. - Distribuidos: en varios equipos que pueden ser homogéneos o heterogéneos.  Ámbito de aplicación: - Propósito General: orientados a toda clase de aplicaciones. - Propósito Específico: entradas en un tipo específico de aplicaciones.  Tipos de datos: - Sistemas relacionales estándar: manejan tipos básicos (char, int,…). - XML: bases de datos que trabajan con documentos xml. - Objetos-relacionales: para bases relacionales que incorporan tipos complejos de datos. - De objetos: bases de datos que soportan tipos de objetos con datos y métodos asociados  Lenguajes soportados: - SQL estándar - NoSQL o nuevo lenguaje de consulta: útil para manejar consultas de grandes cantidades de datos distribuidos en clúster de servidores.
  • 9. Sistemas de Bases de Datos 9 Bases de Datos Centralizadas y Distribuidas En un sistema de bases de datos centralizado todos los componentes (software, datos y soportes físicos) residen en un único lugar físico. Los clientes acceden al sistema a través de distintas interfaces que se conectan al servidor. Una base de datos distribuida es una colección de datos que pertenece lógicamente al mismo sistema pero que se encuentra físicamente almacenada en distintas máquinas conectadas por una red. Ventajas de una base de datos distribuida: Mejora de rendimiento. Los sitios se dispersan entre varios sistemas, de forma que una transmisión se reduce el tiempo de respuesta. Fiabilidad. Probabilidad de que un sistema esté activo en un tiempo dado. Disponibilidad. Probabilidad de que un sistema este activo de manera continuada durante un tiempo. Tipos de aplicaciones. Por el contrario, distribuir implica una mayor complejidad en el diseño, implementación y gestión de los datos, para lo cual un buen SGBD distribuido debe incorporar:  Tener acceso a sitios remotos e intercambiar información con los mismos.  Disponer de un catálogo con información sobre cómo están distribuidos y replicados los datos del sistema distribuido.  Poder optimizar consultas y transacciones sobre datos que estén más de un sitio.  Mantener al integridad en los permisos sobre datos replicados.  Mantener consistencia de las copias de un elemento replicado.  Garantizar la recuperación del sistema en una caída.
  • 10. Sistemas de Bases de Datos 10 Bases de Datos Relacionales El modelo de datos relacional es el más utilizado para modelar sistemas reales que trabajan con información. Se basa en el uso de relaciones o tablas que agrupan conjuntos de datos en forma de filas o tuplas. Además, incorpora restricciones que son condiciones que deben cumplir los datos según las políticas de la empresa u organización, cuyo sistema de información que está modelando. Relación El elemento básico del modelo relacional es la relación representada en forma de tabla. Es una estructura de datos que se representa con un nombre y un conjunto de atributos o columnas junto con el tipo de dato de cada una. En una relación podemos distinguir un conjunto de columnas, denominadas atributos, que representan propiedades de la misma. Así, una relación queda caracterizada por un nombre y un conjunto de atributos. Cada conjunto de valores para los atributos se denomina fila o tuplas, que son las llamadas ocurrencias de la relación. El número de ocurrencias de una relación se llama cardinalidad, mientras que el número de columnas es el grado. Dominio y Atributo Un dominio es un conjunto finito de valores homogéneos, porque son todos del mismo tipo, y atómicos, porque son indivisibles en lo que al modelo se refiere, que están caracterizados por un nombre. Un atributo es una característica de la relación representada y toma valores en un determinado dominio. Los dominios son independientes de las relaciones, sin embargo, los atributos se asocian siempre a una relación. En ocasiones, puede ocurrir que el valor de un atributo para una fila sea desconocido, es decir, un valor nulo.
  • 11. Sistemas de Bases de Datos 11 Restricciones en el Modelo Se llaman restricciones a las condiciones que se imponen al modelo, ya sea por las características del mismo o por los requerimientos del diseñador. Hay dos grupos principales de restricciones: Inherentes: se derivan de la misma estructura del modelo así que no tienen que ser definidas por el diseñador: o No puede haber dos tuplas iguales. o El orden de las tuplas y los atributos no son significativos. o Cada atributo solo puede tomar un único valor del dominio. o Se debe cumplir la regla de entidad: Ningún atributo de la clave primaria puede tomar un valor nulo y tienes que ser único en la tupla. De usuario: restricciones impuestas por las características del sistema que se está modelando y, por tanto, dependen del mismo: o Clave candidata: es un conjunto mínimo de atributos que identifican unívoca y mínimamente cada tupla en una relación. Una relación puede tener varias claves candidatas. o Clave primaria: de entre las claves candidatas es la que el diseñador escoge por motivos ajenos al modelo. Los atributos no pueden tomar valores nulos. o Clave alternativa: claves candidatas que no han sido escogidas como clave primaria. o Clave ajena: conjunto de atributos de una relación cuyos valores han de coincidir con los valores de la clave primaria de otra relación. o Integridad referencial: Si una relación (relación que referencia) tiene un conjunto de atributos que son clave primaria de otra relación (relación referenciada), todos los valores de dichos atributos deben coincidir con otro grupo de valores de la clave primaria de la relación referenciada o ser nulos.
  • 12. Sistemas de Bases de Datos 12 Hay que tener presente que la base de datos es dinámica y que los valores se van modificando, eliminando a lo largo del tiempo de modo que si creamos restricciones de integridad referencial debemos determinar las acciones que deben tomarse como consecuencia de operaciones de modificación y borrado realizadas sobre filas de las tablas referenciadas. Para ello distinguimos tres posibilidades:  Operación restringida (B:R): si una tabla tiene tabla hijas, no se podrá borrar.  Operación con transmisión en cascada (B:C): la tabla padre es borrada o modificada, también se eliminan o se modifican las tablas hijas.  Operación con puesta a nulos (B:NULL): al borrar la tabla padre, las tablas hijos se modifican a nulos. Existen otro grupo de restricciones definidas mediante el uso de SQL:  Restricciones de verificación: llamados CHECKS que permiten imponer condiciones a elementos o atributos de una relación.  Restricciones de aserción: parecidas a las anteriores, pero las condiciones pueden ser sobre atributos de más de una tabla.  Disparadores: determina una acción determinada ante cierta condición. Son objetos programados por el usuario. Vistas Una vista de bases de datos es el resultado de una consulta SQL sobre una o varias tablas. Las vistas tienen la misma estructura que una tabla en el modelo relacional, pero se diferencia en que solo se almacena de las tablas o tuplas la definición, no los datos. Se pueden insertar, actualizar, borrar y seleccionar datos en una vista. Una vista se especifica a través de una expresión de consulta de datos (SELECT) sobre una o más tablas. Las vistas cumplen tres funciones:  Proporcionan un mecanismo de seguridad potente y flexible al ocultar partes de la base de datos a distintos usuarios y aplicaciones.  Permiten a los usuarios y aplicaciones acceder a los datos de forma personalizada según sus necesidades.  Permiten simplificar operaciones complejas, tales como consulta, modificación o borrado.
  • 13. Sistemas de Bases de Datos 13 Grafo Relacional El grafo relacional es la representación de un sistema mediante un conjunto de relaciones vinculadas entre sí por una o varias claves ajenas. Claves principales: serán el atributo/s que formen la clave con doble subrayado “ “. Claves secundarias o candidatas: los atributos con subrayado discontinuo “ ”. Claves ajenas: los atributos que referencian a la clave de otra relación subrayado “ “. Atributos opcionales: los atributos que permitan nulos van con asterisco “ * “. Ejemplos prácticos: a) Base de datos de un torneo de póker: partida(cod_partida, num_partida, num_jugadores, ganador*, fecha, hora) carta(número, palo, valor) b) Base de datos de apuestas: apuesta(apostante, fecha, hora, cantidad) c) Base de datos de música: cantante(dni, nif, móvil, nombre, num_discos) d) Base de datos de una inmobiliaria: alquiler(cod_alquiler, cliente, fecha, hora, num_dias) e) Base de datos de una biblioteca: usuario(dni, edad, cuota) libro(isbn, titulo, autor, editorial) préstamo(isbn, dni_usuario, fecha, periodo) isbn y dni_usuario también son ajenas f) Base de datos de una compañía de vuelos: avion(matrícula, capacidad, num_alas, combustible) vuelo(avión, fecha_ida, fecha_vuelta, num_pasajeros) avión también es ajena g) Base de datos de una empresa: empleado(código, puesto, salario, cod_jefe) h) Base de datos de una empresa de autobuses: trayecto(fecha, origen, destino, incidencias*) ruta(id_ruta, origen, destino, distancia)