You are on page 1of 42

Bases de Datos

Que es una BASE DE DATOS?


"Colección o depósito de datos integrados,
almacenados en soporte secundario (no volatil) y
con redundancia controlada. Los datos, que han de
ser compartidos por diferentes usuarios y
aplicaciones, deben mantenerse independientes de
ellos, y su definición (estructura de la base de
datos) única y almacenada junto con los datos, se
ha de apoyar en un modelo de datos, el cual ha de
permitir captar las interrelaciones y restricciones
existentes en el mundo real. Los procedimientos de
actualización y recuperación, comunes y bien
determinados, facilitarán la seguridad del conjunto
de los datos".
Que es un Sistema de Gestión de Base de Datos
(SGBD)?
Conjunto de programas que permiten la
implantación, acceso y mantenimiento de la base de
datos. El SGBD, junto con la base de datos y con los
usuarios, constituyen el Sistema de Base de Datos.
Que es un Modelo de datos?
Conjunto de conceptos que
permiten describir, a distintos
niveles de abstracción, la
estructura de una base de datos, a
la cual denominamos esquema.
Que es un Sistema de
Información?
Colección de personas,
procedimientos y equipos
diseñados, construidos, operados y
mantenidos para recoger, registrar,
procesar, almacenar y recuperar
esa información.
Qué es un Esquema de una Base
de Datos?
Es la Estructura de la Base de Datos.
Que es la Ocurrencia del
esquema?
Conjunto de datos que se encuentran
almacenados en el esquema en un
momento determinado. El esquema no
varía mientras no varíe el mundo real
que éste describe, mientras que una
ocurrencia del esquema es distinta en
el transcurso del tiempo.
Cuales son algunas de las ventajas
que ofrece utilizar un Sistema de
Bases?
Independencia entre datos y tratamientos. El
cambio en los programas no influye en la disponibilidad
de los datos, así como la modificación de éstos no afecta
a la reprogramación de las aplicaciones que los usan.

Coherencia de resultados: Debido a que los datos son


almacenados una sola vez, se evitan los problemas que
puede ocasionar la redundancia. Más adelante veremos
cómo se permite una cierta duplicidad de datos, con el
fin de conseguir una mayor eficiencia, controlada por el
sistema y que no afecta a la redundancia lógica.

Mejor disponibilidad de datos para los usuarios:


Los datos son compartidos por un conjunto de usuarios,
que accede a ellos de forma concurrente, siempre que
esten autorizados a ello.
Mayor valor informativo: El conjunto de los datos
almacenados en la BD ofrece un mayor valor
informativo, que la suma de ellos
independientemente.

Mayor eficiencia en la recogida, validadación e


introducción de los datos en el sistema: Al no
existir redundancia, los datos se recogen y validan una
sola vez, aumentando así la eficiencia.

Reducción del espacio de almacenamiento: La


desaparición (o disminución) de redundancias, unido
a las técnicas de compactación, implica una menor
ocupación de almacenamiento secundario.
Cuales son algunos inconvenientes
o desventajas de una base de
datos?
 Instalación costosa: La implantación de un sistema de base de datos
puede implicar un coste elevado, tanto en el equipo físico (adquisición
de nuevas instalaciones, o ampliaciones de las existentes) como en el
lógico (sistemas operativos, programas, compiladores, etc.), así como el
coste de adquisición o mantenimiento del SGBD.

 Implantación larga y difícil: Debido a las causas mencionadas


anteriormente, la implantación de un sistema de base de datos puede
convertirse en una tarea larga y complicada.
 Falta de rentabilidad a corto plazo: Los amplios costes que conlleva
la implantación, implica una rentabilidad no a corto, sino a medio, o
incluso largo plazo.
 Escasa estandarización: Esto supone una dificultad añadida a los
usuarios de la base de datos.
 Desfase entre teoría y práctica: Los constantes avances teóricos en al
ámbito de las bases de datos, que muchas veces no se ven traducidos en
la práctica, hacen llevarse a engaño a muchos usuarios, creyendo que
constituyen ya una realidad, cuando no han sido todavía plasmados.
Cual es la ARQUITECTURA de una
Base de Datos?
Basada en tres niveles de
abstracción:
 Nivel Externo: Es el nivel más cercano a los usuarios, y en el se definen los
datos tal y como los va a ver este. En este nivel, también deberán definirse las
restricciones de uso, como por ejemplo el derecho a insertar o borrar
determinados datos, o poder acceder a ellos.
 Nivel Conceptual: Proporciona una descripción global del esquema
independiente de la estructura física de la base de datos, es decir, cúales son
los datos, como están organizados, las relaciones entre ellos y las restricciones
de integridad y confidencialidad.  El modelo conceptual, que es único,
establece el modelo teórico sobre el que están asentados los modelos externos.
 Nivel Interno: Nivel más bajo en la abstracción. Describe la estructura
almacenamiento físico de los datos, las estrategias de acceso a los datos, etc.
Así mismo especifica todos los aspectos relacionados con el hardware, como
por ejemplo dispositivos de memoria a usar (tamaño de páginas, número de
éstas, tamaño de los buffers, etc.), técnicas de compresión de datos,
criptografiado, etc. El modelo interno, que es único, corresponde a la
implementación del modelo conceptual.
Cuales son las fases de diseño de
una BD?
FASES DEL DISEÑO
El diseño de una base de datos suele descomponerse en tres grandes
fases
 diseño conceptual
 diseño lógico
 Diseño físico

 El diseño conceptual parte de la especificación de requerimientos, y


produce como resultado el esquema conceptual (estructura de la BD).

 El diseño lógico parte del esquema conceptual y genera el esquema


lógico. Un esquema lógico es la descripción de la estructura de la base
de datos que puede procesarse por un SGBD.

 El diseño físico toma como punto de partida el esquema lógico y como


resultado produce el esquema físico. Un esquema físico es una
descripción de la implementación de la base de datos en memoria
secundaria; describe las estructuras de almacenamiento y los métodos
de acceso para acceder a los datos de una manera eficiente. Por ello, el
diseño físico se genera para un SGBD y un entorno físico determinado.
 
Cuales son las etapas del diseño
conceptual?
 La fase de diseño conceptual, puede subdividirse a su vez en dos etapas:

Etapa de análisis de requisitos:

 En esta etapa se debe responder a la pregunta "¿Qúe representar?".

 El objetivo es elaborar un esquema descriptivo de la realidad, en el que


se provean detalles de los datos a representar. Dicho esquema se
obtiene mediante el estudio u observación del mundo real (estudio de
las reglas de la empresa, entrevista a los usuarios, etc.). Aunque existen
muchas respuestas sobre el modo de recoger dicha información, la más
utilizada es el lenguaje natural que, aunque carece del formalismo que
pueden infligir otros métodos, permite una mejor y más fácil
comprensión de la información por parte del usuario, y le permite
especificar los requisitos sin la intervención de formalismos. Este primer
esquema percibido bruto (como lo llaman Benci y Rolland), se ira
refinando sucesivamente, hasta llegar al esquema conceptual.
Etapa de conceptualización:

En esta etapa se debe responder a la pregunta "¿Cómo


representar?".

En ella se transforma el esquema obtenido en la primera,


mediante refinaciones sucesivas. Se deberá obtener el esquema
conceptual mediante una representación normalizada, que se
apoye en un modelo de datos que cumpla determinadas
propiedades (según Piattini y De Miguel): coherencia, plenitud,
no redundancia, simplicidad, fidelidad, etc. El modelo que se
estudiará es el Modelo Entidad/Relación (en adelante referido
como ME/R o modelo E/R), que es el más utilizado hoy en día.
Que es el modelo entidad relación
o modelo E-R?
Se basa en la representación de la información por medio
de estructuras tipo tabla, y que almacenan información
para una determinada entidad. Cada una de estas
relaciones representa en sus columnas los valores
significativos, es decir, de los que interesa conocer su
valor, para cada entidad. Dichas columnas se denominan
atributos, y para cada uno de ellos existirá un valor (cabe
la posibilidad de que existan atributos en los que no
aparezca ningún valor). Cada fila representa la
información para cada ocurrencia de una determinada
entidad. La información se descompondrá, como ya se ha
dicho, en dar valores para cada uno de los atributos de la
entidad. A dichas filas también se las denomina tuplas o
registros. Cada atributo o conjunto de atributos que
identifica unívocamente a cada tupla de la relación se
denomina clave. Las claves se representan subrayando
el/los atributo/s que forman parte de ella.
Ejemplo
Que es una entidad?
1- Entidades: Una entidad es "una persona, lugar,
cosa, concepto o suceso, real o abstracto, de interés
para la empresa" (ANSI 1977). En el modelo E/R, se
representa por un rectángulo, con el nombre de dicha
entidad escrito en la parte superior. Por ejemplo, lo
siguiente representa la entidad automóvil:
Que es un atributo?
Un atributo es cualquier característica que describe a
una entidad. Los atributos de una entidad se colocan
dentro del rectángulo que representa dicha entidad,
justo debajo del nombre de ésta. Por ejemplo, se
puede decir que un automovil tiene las siguientes
características: nº de mátricula, marca, modelo y
color, lo cual se muestra en la siguiente figura.
Que es una clave?
La clave de una entidad es un atributo o conjunto de atributos
de dicha entidad, que son capaces de identificar unívocamente
una ocurrencia de una entidad. Esto implica que los valores de
los atributos clave no se pueden repetir para dos ocurrencias de
la misma entidad.

En nuestro ejemplo, seremos capaces de identificar de que


automóvil estamos hablando, con sólo conocer el valor del
atributo matrícula, ya que no existe una misma matrícula para
dos automóviles distintos. Los atributos marca, modelo o color
no indentifican unívocamente una ocurrencia de la entidad, ya
que pueden existir dos automóviles distintos de la misma
marca, modelo o color. En el modelo E/R, un atributo clave se
representa subrayando dicho atributo.
Que es una relación?
Una relación representa, como su propio nombre
indica, una correspondencia entre dos entidades. Si
tenemos dos entidades automóvil y persona, podemos
tener una relación entre ellas. Dicha relación se puede
establecer en ambos sentidos:

            - una persona posee un automóvil, y


            - un automóvil pertenece a una persona.
Que es la Cardinalidad de una
relación?
La cardinalidad de una relación representa el número
de ocurrencias que se pueden dar de una relación.

Puede ser de tres tipos:


Cardinalidad 1-1: cada ocurrencia de una entidad se
relaciona con una ocurrencia de otra entidad. Ej: una
persona posee un automóvil. Se representa de la
siguiente forma:
Cardinalidad 1-N: tambien llamada uno a muchos.
Cada ocurrencia de una entidad puede relacionarse
con varias ocurrencias de otra entidad. Ej: una
persona posee varios automóviles. Se representa de la
siguiente forma:
Cardinalidad N-M: tambien llamada muchos a
muchos. Cada ocurrencia de una entidad puede
relacionarse con varias ocurrencias de otra entidad y
viceversa. Ej: una persona posee varios automóviles y
un automóvil puede pertenecer a varias personas. Se
representa.
Ejercicio
 El problema que nos planteamos es el siguiente. Supóngase que se desea
informatizar una tienda de discos. Para ello se desean tener almacenados los
nombres de todos los discos disponibles, además de sus cantantes y canciones.
Así mismo se desean almacenar los clientes que han comprado en dicha tienda.
Pues bien, empezaremos identificando las entidades, entendiendo por entidad
un grupo de características que tienen entidad propia.
Como primera entidad, podemos establecer los discos que se venden, ya que se
desea conocer información de ellos, como puede ser un código que lo
identifique dentro de la estantería. Por otro lado se desea almacenar todos los
artistas que intervienen en los discos de nuestra tienda, y para cada uno de ellos
se desea conocer su nombre y apellidos, por lo tanto ya tenemos identificada
una segunda entidad. Además, se desea conocer todas las canciones que están
disponibles en los discos, identificada cada una de ellas por un código de
canción, y que además tendrán sus propias letras. Pues ya tenemos la tercera
entidad. La cuarta estará formada por los clientes, de los cuales se desea
almacenar su nombre, apellidos, dirección y teléfono, y que podrán estar
identificados internamente por un código de cliente.
Una vez establecidas las entidades, sólo nos queda
relacionarlas. Podemos observar las siguientes
relaciones:

Entre disco y canción: en un disco pueden aparecer


varias canciones, y cada canción puede estar en varios
discos (N-M).
Entre cantante y canción: un cantante puede
componer varias canciones, y una canción puede estar
compuesta por varios cantantes (N-M).
Entre cliente y disco: un cliente puede comprar varios
discos, pero un disco sólo puede ser comprado por un
cliente 1-N.
Cotidiano
 Vamos a plantearnos otros problema. Supongamos que se desea tener
almacenados todos los datos de los profesores de una empresa dedicada a
impartir cursos, asi como una breve descripción de éstos, y los alumnos a los
cuales se les ha impartido. Empezamos identificando entidades. De un
profesor se desea conocer su nombre y apellidos, dirección y despacho, por lo
tanto establece una entidad. Otra entidad podría ser el alumno, del cual se
desea conocer su nombre, apellidos, dirección y teléfono. Ni que decir tiene
que el curso describe otra entidad, de la cual se desea conocer su descripción.
Sin embargo, podemos recurrir a un procedimiento muy usual, denominado
tipificación de estados, muy usado en el diseño conceptual, y que consiste en
tener una entidad que tipifique los posibles estados que puede tomar un
atributo. La principal ventaja de este procedimiento radica en que muchas
veces supone un ahorro de espacio de almacenamiento (por ejemplo al
identificar nombres de ciudades largas con un solo número) además de una
estandarización de los datos almacenados (el estado sólo se almacena una
vez). Por ejemplo podemos tipificar las ciudades, para lo cual creamos una
nueva entidad ciudad, donde se almacenará un código y la descripción de la
ciudad. Cuando almacenemos la ciudad de un alumno, sólo deberemos
especificar el código de la ciudad.

You might also like