You are on page 1of 16

BASE DE DATOS

Fundamentos

Qu es una base de datos?


Una base de datos es una coleccin de datos (archivos) interrelacionados en conjunto sin
redundancias (repeticiones) perjudiciales o innecesarias, su finalidad es la de servir a una
aplicacin o ms, de la mejor manera posible, los datos se almacenan de modo que resulten
independientes de los programas que los usan; se emplean mtodos bien determinados para
incluir datos nuevos y para modificar o extraer los datos almacenados.

Ejemplos de bases de datos:

Cajero automtico
Cuaderno
Agenda
Biblioteca
internet

Qu caractersticas tiene una base de datos?


- Independencia de los Datos. Es decir, que los datos no dependen del programa y por tanto
cualquier aplicacin puede hacer uso de los datos.

- Reduccin de la Redundancia. Llamamos redundancia a la existencia de duplicacin de los


datos, al reducir sta al mximo conseguimos un mayor aprovechamiento del espacio y adems
evitamos que existan inconsistencias entre los datos. Las inconsistencias se dan cuando nos
encontramos con datos contradictorios.

- Seguridad. Un SBD debe permitir que tengamos un control sobre la seguridad de los datos.
Fiabilidad (proteccin frente a fallos)
- Se visualiza normalmente como una tabla de una hoja de clculo, en la que los registros son las
filas y las columnas son los campos, o como un formulario.
- Permite realizar un listado de la base de datos.
- Permiten la programacin a usuarios avanzados.

Usuarios de base de datos


Un usuario de base de datos es una persona que manipula los datos del sistema, hay diferentes
tipos de usuarios:

Usuarios finales. Utilizan datos de la base de datos para su trabajo cotidiano que no tiene
por qu tener que ver con la informtica. Normalmente no utilizan la base de datos
directamente, sino que utilizan aplicaciones creadas para ellos a fin de facilitar la
manipulacin de los datos. Estos usuarios solo acceden a ciertos datos.
Desarrolladores. Analistas y programadores encargados de generar aplicaciones para
usuarios finales.
Administradores. Tambin llamados DBA (Data Base Administrator), se encarga de
gestionar la base de datos.

Arquitectura de la base de datos


Niveles de abstraccin de una base de datos
Nivel interno-fsico Nivel ms cercano al almacenamiento fsico de los datos. Permite escribirlos
tal como estn almacenados (informacin, ubicacin configuracin).Forma en que se almacenan
los datos

Nivel Conceptual Datos que se van a utilizar. Una descripcin conceptual de calidad describir
todas y cada una de las entidades o clases de objetos que intervienen en el problema, sus
propiedades y atributos, as como las caractersticas de las relaciones existentes entre las mismas.

Nivel externo- usuario (Cercano al usuario) Describe datos


O nivel de datos que ms interesan al usuario

Componentes de una base de datos

Sistemas Gestores de base de datos


Un sistema gestor de base de datos es una coleccin de programas de aplicacin que
proporcionan al usuario de la base de datos los medios necesarios para realizar las siguientes
tareas:

Definicin de los datos a los distintos niveles de abstraccin(fsico, lgico y externo)


Manipulacin de los datos en la base de datos. Es decir, la insercin, modificacin, borrado
y acceso o consulta de los mismos
Mantenimiento de la integridad de la base de datos. Integridad en cuanto a los datos en s,
sus valores y relaciones entre ellos.
Control de la privacidad y seguridad de los datos de la base de datos
Y, en definitiva, los medios necesarios para el establecimiento de todas aquellas
caractersticas exigibles a una base de datos.

Entre los sistemas gestores de base de datos ms comerciales se encuentran los siguientes:

Microsoft SQL Server


Microsoft SQL server express (gratuito con limitaciones)
Postgresql (libre)
MySQL (libre, uno de los ms usados hoy en da)
Oracle database, entre otros.

Lenguajes de los sistemas gestores de base de datos


Un sistema de base de datos proporciona un lenguaje de definicin de datos para especificar el
esquema de la base de datos y un lenguaje de manipulacin de datos para expresar las consultas
a las bases de datos y las modificaciones.

Lenguaje de definicin de datos LDD - DDL(Data Definition Language)


Un esquema de base de datos se especifica mediante un conjunto de definiciones expresadas
mediante un lenguaje especial llamado lenguaje de definicin de datos(LDD).Por ejemplo, la
siguiente instruccin en el lenguaje SQL define la tabla cuenta (numero_cuenta char(10), saldo
integer).La ejecucin de la instruccin LDD anterior crea la tabla cuenta.
Lenguaje de manipulacin de datos (LMD) -(Data Manipulation language) DML
La manipulacin de datos es, la recuperacin de informacin almacenada en la base, la insercin
de informacin nueva en la base de datos, el borrado de informacin de datos, y la
modificacin de la informacin en nuestra base. Un lenguaje de manipulacin de datos
(LMD) es un lenguaje que permite a los usuarios acceder o manipular los datos
organizados mediante el modelo de datos apropiado. DBA
LMDs procedimentales. Requiere que el usuario especifique que datos se necesitan y como
obtener esos datos.
LMDs declarativos. Tambin conocidos como LMDs no procedimentales. Requieren que el usuario
especifique que datos se necesitan sin especificar como obtener esos datos. Los lenguajes
declarativos son ms fciles de aprender y usar que los LMDs procedimentales, sin embargo como
el usuario no especifica cmo conseguir los datos, el sistema de base de datos tiene que
determinar un medio eficiente de acceder a los datos. El componente LMD del lenguaje SQL es no
procedimental.
Una consulta es una instruccin de solicitud para recuperar informacin. La parte de un LMD que
implica recuperacin de informacin se llama lenguaje de consultas.

Modelo de base de datos


Un modelo de base de datos bsicamente son ideas lgicas utilizadas para representar
estructuras.

Modelo jerrquico En este modelo los datos se organizan en una forma similar a un rbol (visto al
revs), en donde un nodo padre de informacin puede tener varios hijos. El nodo que no tiene
padres es llamado raz, y a los nodos que no tienen hijos se los conoce como hojas.
Las bases de datos jerrquicas son especialmente tiles en el caso de aplicaciones que manejan
un gran volumen de informacin y datos muy compartidos permitiendo crear estructuras estables y
de gran rendimiento.
La principal ventaja que presenta este tipo de base de datos es la rapidez en las consultas de
informacin ya que la propia estructura piramidal de los datos permite un rpido acceso a ella.

Modelo de red
Es un modelo ligeramente distinto del jerrquico; su diferencia fundamental es la modificacin del
concepto de nodo: se permite que un mismo nodo tenga varios padres (posibilidad no permitida en
el modelo jerrquico).
Fue una gran mejora con respecto al modelo jerrquico ya que ofreca una solucin eficiente al
problema de redundancia de datos; pero aun as la dificultad que significa administrar la
informacin en una base de datos de red ha significado que sea un modelo usado ms por
programadores que por usuarios finales.

Un ejemplo de sistema en red es el CODASYL. Tambin existen modelos para realizar el diseo de
datos orientado a bases de datos en red. En red podramos representar lo mismo que la estructura
anterior y adems lo siguiente:

Las bases de datos relacionales. (Vase ms adelante)


Es el modelo ms usado en la actualidad para modelar problemas reales y administrar
datos dinmicamente, su idea fundamental es el uso de relaciones. Estas relaciones
podran considerarse en forma lgica como conjuntos de datos llamados tuplas. Conjunto
de tablas que guardan datos.

Relacin: Pelcula (ttulo, ao, duracin)


Atributos

Tuplas

Titulo

Ao

Duracin

La guerra de las galaxias

1977

123

El seor de los anillos I

2001

178

Mar adentro

2004

125

Dominio=textos

Dominio=enteros

Cardinalidad=3
Grado de la relacin=3 (el grado de una relacin es el nmero de atributos o columnas)

El modelo Entidad-Relacin
Consiste en un modelo de representacin del mundo real que consiste en entidades y
relaciones
Entidad. Aquel objeto real o abstracto acerca del cual queremos almacenar informacin en la base
de datos. Es como una persona, lugar, cosa o suceso, real o abstracto, de inters para la empresa.
La estructura genrica se denomina tipo de entidad, mientras que las ocurrencias de este tipo son
denominadas entidades.(ejemplos, alumnos, profesores, escuelas)
Entidades dbiles. Son entidades que no pueden existir sin una entidad normal, por ejemplo la
entidad cuenta, que no puede existir sin la entidad cliente.(ejemplo entidad pelcula, entidad
dbil copia)
Relacin. Es lo que asocia a una entidad con otras (n-arias) o consigo misma (reflexiva).Describen
alguna interaccin (verbo) entre 2 o ms entidades.
Atributo. Son las propiedades relevantes que caracterizan una entidad (relevantes para el
problema de informacin que se est considerando). (Ejemplo, consideremos la entidad persona,
sus atributos ser nombre, edad, sexo).
Atributo multivaluado. Es un atributo que para una misma entidad puede tener varios valores
diferentes, es decir, valores del mismo dominio. (Por ejemplo, el atributo Color de un coche puede
estar entre uno y tres valores, si asumimos que un automvil puede tener cuando mucho tres
colores).
Atributo derivado. Reciben su nombre porque obtienen su valor a partir de otros
atributos.(ejemplo: tenemos la entidad persona y uno de sus atributos es su fecha de
nacimiento, su atributo derivado entonces sera el de edad porque por medio de la fecha de su
nacimiento podemos determinar su edad)
Clave principal. El nico atributo que se permite identificar de forma inequvoca a la entidad.
Clave candidata. Un atributo que podra funcionar como campo llave.
Dominio Cada atributo puede tener un conjunto de valores posibles. La descripcin de los posibles
valores de un atributo es lo que denominamos dominio y consiste tanto en una descripcin fsica
como semntica.
Ejemplos de dominio
Nombre: cadena de 10 caracteres
Edad: nmero
Fecha: fecha
Peso: nmero con dos decimales
Ciudad: cadena de 20 caracteres

Simbologa convencional y E-R (extendido)


Rectngulos, que representan conjuntos de entidades.
Elipses, que representan atributos.
Rombos, que representan relaciones.
Lneas, que unen atributos a conjuntos de entidades y conjuntos de entidades a conjuntos de
relaciones.
Elipses dobles, que representan atributos multivariados.
Elipses discontinuas, que denotan atributos derivados.
Lneas dobles, que indican participacin total de una entidad en un conjunto de relaciones.
Rectngulos dobles, que representan conjuntos de entidades dbiles.

Tipos de relacin modelo (E/R)

Relacin ternaria. Son relaciones


en las que intervienen 3 entidades

Relacin reflexiva o recursiva.


Relaciona una entidad consigo
misma

Relacin doble. Son relaciones en


las que intervienen 2 relaciones

Relacin binaria. Implica a 2


conjuntos de entidades

Cardinalidad. Indica el nmero de relaciones en las que una entidad puede aparecer
Representacin

Cardinalidad mnima indica el nmero mnimo de asociaciones en las que aparecer cada
ejemplar de la entidad
Cardinalidad mxima indica el nmero de relaciones en las que puede aparecer cada
ejemplar en la entidad

Nota. Es conveniente acompaar la relacin con las cardinalidades mximas (en maysculas) con
las que intervienen las entidades relacionadas

Dado un conjunto de relaciones binarias y los conjuntos de entidades A y B, la correspondencia de


cardinalidad puede ser:

Metodologas
Uno a uno
Uno a muchos
Muchos a uno
Muchos a muchos

1:1
1:N
N:1
N:M

Cardinalidad uno a uno. Una entidad A se relaciona nicamente con una entidad B
Cardinalidad uno a muchos. Una entidad en A se relaciona con 0 o muchas entidades
en B. Pero una entidad en B se relaciona con una nica entidad en A
Muchos a uno. Una entidad en A se relaciona nicamente con una entidad en B. Pero
una entidad en B se puede relacionar con 0 o muchas entidades en A
Muchos a muchos. Una entidad en A se puede relacionar con 0 muchas entidades en
B y viceversa.
Ejercicio 1. Biblioteca v1
Crear un diseo entidad relacin (estando prohibido utilizar smbolos del modelo extendido) que
permita gestionar los datos de una biblioteca de modo que
Las personas socias de la biblioteca disponen de un cdigo de socio y adems necesitar
almacenar su dni, direccin, telfono, nombre y apellidos
La biblioteca almacena libros que presta a los socios y socias, de ellos se almacena su ttulo, su
editorial, el ao en el que se escribi el libro, el nombre completo del autor (o autores), el ao en
que se edit y en qu editorial fue y el ISBN.
Necesitamos poder indicar si un volumen en la biblioteca est deteriorado o no

Queremos controlar cada prstamo que se realiza almacenando la fecha en la que se realiza, la
fecha tope para devolver (que son 15 das ms que la fecha en la que se realiza el prstamo) y la
fecha real en la que se devuelve el libro.

Ejercicio 2. Academia de clases


Crear un diseo entidad relacin que permita controlar el sistema de informacin de una academia
de cursos siguiendo estas premisas:
Se dan clases a trabajadores y desempleados. Los datos que se almacenan de los alumnos son el
DNI, direccin, nombre, telfono y la edad
Adems de los que trabajan necesitamos saber el CIF, nombre, telfono y direccin de la empresa
en la que trabajan
Los cursos que imparte la academia se identifican con un cdigo de curso. Adems se almacena el
programa del curso, las horas de duracin del mismo, el ttulo y cada vez que se imparte se
anotar las fechas de inicio y fin del curso junto con un nmero concreto de curso (distinto del
cdigo) y los datos del profesor o profesora (slo uno por curso) que son: dni, nombre, apellidos,
direccin y telfono
Se almacena la nota obtenida por cada alumno en cada curso teniendo en cuenta que un mismo
alumno o alumna puede realizar varios cursos y en cada cual obtendr una nota.

Entidad relacin extendido


Clase. Una clase describe un conjunto de objetos con propiedades similares y un
comportamiento comn
Subclase .Grupo de elementos con algo en comn que pertenecen a una ENTIDAD. Por
ejemplo (CIRUJANO PEDIATRA OFTAMOLOGO, GINECOLOGO DERMATOLOGO),
pertenecientes a la entidad medico
Superclase. Entidad de la que procede una subclase. Ejemplo: la superclase o ENTIDAD MDICO,
tenemos las subclases, CIRUJANO PEDIATRA OFTAMOLOGO, GINECLOGO DERMATLOGO etc.
* Una superclase puede tener cualquier nmero de subclases.
* Una subclase puede tener slo una superclase.

Herencia. Debido a que una subclase es a su vez parte se una superclase, la subclase tendr sus
atributos especficos as como los atributos correspondientes a la superclase a la que pertenece.
Esto quiere decir que la ocurrencia de entidad de una subclase hereda los atributos
correspondientes a la superclase a la que pertenece. De la misma manera hereda las relaciones en
las que su correspondiente superclase participa.

Generalizacin. Una entidad E es una generalizacin de un grupo de entidades


E1..E2..,En, si cada ocurrencia de cada una de estas entidades es tambin una
ocurrencia de E.

Todas las propiedades de la entidad genrica E son heredadas por las subentidades.
Adems cada subentidad tendr sus propios atributos independientes de la generalizacin
Las subentidades son especializaciones de la entidad general, se puede decir que las
subentidades o sub clases tienen una relacin del tipo ES_UN con la entidad padre o
superclase.
Dependiendo de si las subclases pueden aparecer en ms de una subclase podemos
observar dos tipos:
Subclases disjuntas
Subclases solapadas
La jerarqua es el proceso de subdividir una entidad en varias subentidades
relacionndolas con la entidad a la que se refieren. Puede haber dos tipos:
Total: que significa que no hay otro subtipo.

Parcial: significa que puede haber otros subtipos.


Y los dos tipos de subentidades que puede haber, se dividen en dos tambin:

Exclusiva: que significa que una subentidad no puede ser otra.


Solapada: significa que una subentidad tambin puede ser otra.

Por ejemplo, en una empresa la entidad EMPLEADO con atributos NOMBRE, DNI,
DIRECCIN, TELFONO, FECHA NACIMIENTO, SALARIO y PUESTO se divide en:
Arquitectos con atributos COMISIONES Y NUMERO DE PROYECTOS.
Administrativos con atributos PULSACIONES Y NIVEL
Ingenieros: con atributos ESPECIALIDAD Y AOS DE EXPERIENCIA
En el esquema Entidad-Relacin quedara de la siguiente forma:

CONSIDERACIONES

Generalizacin Total: todos los elementos de un tipo pertenecen a un subtipo, es decir, que no hay
otro subtipo.

Generalizacin Parcial: significa todo lo contrario, que si hay otros subtipos, muchas veces no
aparecen en la jerarqua pero lo tienes que suponer.

Generalizacin exclusiva: significa que un subtipo no puede ser otro, simplemente puede ser el mismo
sin tener otra segunda opcin.

Generalizacin solapada: un subtipo puede tener la opcin de ser otro subtipo, es decir, que no es
nico.

Por tanto: generalizaciones totales y exclusivas, totales y solapadas, parciales y exclusivas, parciales y
solapadas pueden ser las opciones que podemos tener a la hora de hacer una jerarqua.

Por ejemplo:

Veamos un ltimo ejemplo para aclarar los conceptos


El Ayuntamiento quiere una BD de las personas de la ciudad. Se distinguen los trabajadores, los
estudiantes y los parados. De los trabajadores queremos conocer el nmero de la Seguridad
Social, la empresa y el salario. De los estudiantes, el nmero de matrcula y el centro educativo. De
los parados la fecha desde que est parado.
Una posible solucin sera:

Se trata de una jerarqua total ya que solo se consideran esos tres tipos de personas (estudiantes,
parados y trabajadores) y solapada ya que en principio un estudiante puede estar trabajando o en
paro

Especializacin. Proceso de definir un conjunto de subclases a partir de una entidad de


tipo (superclase).
Especializacin exclusiva. En este caso, cada una de las ocurrencias de la superclase
solo puede materializarse en una de las especializaciones. Por ejemplo, si un empleado
es un directivo, no puede ser un tcnico o un comercial. Para representar esta
especializacin exclusiva, el tringulo de la jerarqua lleva un arco.
Especializacin inclusiva. Se produce cuando las ocurrencias de la superclase pueden
materializarse a la vez en otras ocurrencias de las subclases. En este caso, el empleado
directivo, podra ser tambin el tcnico y comercial. Se representa si el arco, como en la
figura 2.24
Especializacin total. Se produce cuando la entidad superclase tiene que materializarse
obligatoriamente en una de las especializaciones. Se representan aadiendo un pequeo
crculo al tringulo de generalizacin.
Especializacin parcial. La entidad superclase no tiene por qu materializarse en una de
las especializaciones (es opcional).Se representa si el pequeo crculo como en la figura
2.24
Normalizacin
1fn
2fn
3fn

----Glosario---Entidad. Cualquier objeto el cual puede ser tangible o abstracto, cualquier cosa que se
puede tocar o no se puede tocar ni ver pero ah est (casa, computadora, persona, aire).
Relacin. Permite unir un conjunto de identidades
Atributos. Campos de una tabla. Son las propiedades relevantes que caracterizan una
entidad (relevantes para el problema de informacin que se est considerando).
Clave. Conjunto de atributos que identifican de forma nica una ocurrencia de entidad. En
este caso, las claves pueden ser simples (atmicas) o compuestas. Adems, hay varios
tipos de claves.
Superclave. Identifican a una identidad (pueden ser no mnimas).por ejemplo, para un
empleado, las superclaves posibles son el DNI, o el DNI+Nombre, o el
DNI+Nombre+Numero de la Seguridad Social, etc.

Clave candidata. Las claves candidatas son todas aquellas llaves(o claves) que por sus
caractersticas podran ser la llave principal. Es la mnima Superclave (en el caso anterior el
DNI, o el nmero de la Seguridad Social)
Clave primaria: Es la clave candidata elegida por el diseador como clave definitiva (en el ejemplo
anterior se elegira el DNI por ser la ms representativa para un empleado)
Clave fornea. Es un atributo de una entidad, que es la clave en otra entidad. Por ejemplo, la nota
en un mdulo de una asignatura corresponde a un DNI, que es la clave de otra entidad. En este
caso el DNI es una clave fornea en la tabla notas.
Cardinalidad. La cardinalidad es referente a la cantidad de relaciones que puede tener una
entidad con otra. Ejemplos:
1 empresa tiene 'n' empleados. Esto es una cardinalidad de 1-N.
1 matrimonio es formado por 2 personas. Cardinalidad 1-2.

Mapping-mapeo. Distintas formas de relacionarse


Dominio. Rango o conjunto de posibles valores de un atributo. El dominio de la base de
datos es el conjunto de los temas o entidades sobre los que mantiene informacin la base
de datos. EjemploEn un atributo de tipo entero llamado "Dia_del_mes_de_Diciembre" ,
lo posibles valores enteros que pueden ir en ese campo son del 1 al 31.
Atmico. Que no puede dividirse
.

You might also like