Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1. DEFINICIÓN:
Una base de datos es un “almacén” que nos permite guardar grandes cantidades
de información de forma organizada para que luego podamos encontrar y utilizar
fácilmente.
Se define una base de datos como una serie de datos organizados y relacionados
entre sí, los cuales son recolectados y explotados por los sistemas de información
de una empresa o negocio en particular.
2
Universidad Nacional de Trujillo Tecnología de la Programación II
Facultad de Ingeniería Bases de Datos Relacionales
Ingeniería de Sistemas V Ciclo
2. CARACTERÍSTICAS
Una base de datos proporciona a los usuarios el acceso a datos, que pueden
visualizar, ingresar o actualizar, en concordancia con los derechos de acceso que
se les hayan otorgado. Se convierte más útil a medida que la cantidad de datos
almacenados crece.
Una base de datos puede ser local, es decir que puede utilizarla sólo un usuario
en un equipo, o puede ser distribuida, es decir que la información se almacena en
equipos remotos y se puede acceder a ella a través de una red.
4
Universidad Nacional de Trujillo Tecnología de la Programación II
Facultad de Ingeniería Bases de Datos Relacionales
Ingeniería de Sistemas V Ciclo
5
A las filas de una tabla de una base de datos se les llama registros y a las
columnas, campos.
Universidad Nacional de Trujillo Tecnología de la Programación II
Facultad de Ingeniería Bases de Datos Relacionales
Ingeniería de Sistemas V Ciclo
6
Universidad Nacional de Trujillo Tecnología de la Programación II
Facultad de Ingeniería Bases de Datos Relacionales
Ingeniería de Sistemas V Ciclo
7
Universidad Nacional de Trujillo Tecnología de la Programación II
Facultad de Ingeniería Bases de Datos Relacionales
Ingeniería de Sistemas V Ciclo
Sirven de interfaz entre las bases de datos y las aplicaciones que la utilizan.
Se compone de un lenguaje de definición de datos, de un lenguaje de
manipulación de datos y de un lenguaje de consulta.
Etapas:
Esta etapa con lleva la planificación de cómo se puede llevar acabo las
etapas de ciclo de vida de la manera más eficiente, hay tres componentes
principales:
Diseño de aplicación:
Prototipo:
Implementación:
Prueba:
Mantenimiento:
En esta última etapa todos los usuarios del sistema acceden a la base de
datos y deben asegurarse el correcto funcionamiento de la misma, que sus
derechos son los adecuados, teniendo a su disposición cuanta información
necesiten. También deberán asegurarse que el acceso a los datos es
cómodo, práctico, seguro y que se han eliminado, en la medida de lo
posible, las posibilidades de error.
En la actualidad, los sistemas de bases de datos más populares son las bases de
datos relacionales. Un lenguaje llamado SQL es el lenguaje estándar internacional
que se utiliza casi universalmente con las bases de datos relacionales para
realizar consultas (es decir, para solicitar información que satisfaga ciertos
criterios) y para manipular datos.
1) CARACTERÍSTICAS
2) TERMINOLOGÍA RELACIONAL
- CAMPOS: Son cada una de las columnas de una tabla, cada campo
almacena un dato en concreto.
o Clave única
o Clave primaria
Una clave primaria es una clave única elegida entre todas las
candidatas que define unívocamente a todos los demás atributos de
la tabla, para especificar los datos que serán relacionados con las
demás tablas. La forma de hacer esto es por medio de claves
foráneas.
o Clave foránea
o Clave índice
14
Universidad Nacional de Trujillo Tecnología de la Programación II
Facultad de Ingeniería Bases de Datos Relacionales
Ingeniería de Sistemas V Ciclo
15
Universidad Nacional de Trujillo Tecnología de la Programación II
Facultad de Ingeniería Bases de Datos Relacionales
Ingeniería de Sistemas V Ciclo
16
Universidad Nacional de Trujillo Tecnología de la Programación II
Facultad de Ingeniería Bases de Datos Relacionales
Ingeniería de Sistemas V Ciclo
Aquí vemos las relaciones que hay entre las tablas y podemos identificar las filas y
columnas por cada tabla además de su clave primaria.
Por ejemplo, para la tabla Pacientes se tiene que pensar que campo no se repite.
Podría ser el campo nombre, pero el nombre no es algo único. Los campos
nombre y apellidos juntos también se podrían repetir en algún caso. De modo que
lo más indicado es crear un código único para cada paciente
Restricciones de atributo.
Restricciones de tupla.
Restricciones de tabla.
Restricciones de base de datos.
Restricciones por usuario
Restricciones de atributo
Restricciones de Tupla
Esta dualidad, producida por una restricción mutua entre dos o más
atributos de una misma tupla es lo que da lugar a una restricción de
tupla.
Restricciones de Tabla
Pero aún hay más, las tupla marcadas con una flecha entran en
contradicción, pues nos indican que de 12:00 a 18:00 Juan Yáñez Pi
debe realizar prácticas en dos sitios distintos: el restaurante «La
Plata», y el restaurante «Baco», lo cual es igualmente inadmisible.
Restricciones de usuario
Este tipo de reglas suele ser muy complejo de manejar a través del
S.G.B.D., y suelen sustituirse mediante los llamados permisos de
usuario.
21
Universidad Nacional de Trujillo Tecnología de la Programación II
Facultad de Ingeniería Bases de Datos Relacionales
Ingeniería de Sistemas V Ciclo
4) ESTRUCTURA
5) MANIPULACIÓN DE LA INFORMACIÓN
El lenguaje más común para construir las consultas a bases de datos relacionales
es SQL (Structured Query Language), un estándar implementado por los
principales motores o sistemas de gestión de bases de datos relacionales
integrados.
Ventajas
-Menor redundancia. No hace falta tanta repetición de datos. Aunque, sólo los
buenos diseños de datos tienen poca redundancia.
Desventajas:
En este modelo todos los datos son almacenados en relaciones, y como cada
relación es un conjunto de datos, el orden en el que éstos se almacenen no
tiene relevancia (a diferencia de otros modelos como el jerárquico y el de red).
Dominio Atómico.
El dominio se refiere a todos los valores que se desprenden de un atributo o
que son legales o permitidos en la base de datos, y atómico significa indivisible,
es decir, cada atributo debe contener un único valor del dominio. Además, cada
valor debe tener un nombre único, ya que la creación de tablas implica la
definición de columnas de un tipo concreto y con un nombre único. Tampoco
pueden existir tuplas idénticas. Por ejemplo si un registro es modificado más de
una vez el mismo día, no deberá crearse un registro nuevo cada vez.
Formas Normales
Las formas normales son aplicadas a las tablas de una base de datos. Decir
que una base de datos está en la forma normal N es decir que todas sus tablas 25
están en la forma normal N. En general, las primeras tres formas normales son
suficientes para cubrir las necesidades de las bases de datos. El creador de
estas tres primeras formas normales o reglas de creación de una base de datos
Universidad Nacional de Trujillo Tecnología de la Programación II
Facultad de Ingeniería Bases de Datos Relacionales
Ingeniería de Sistemas V Ciclo
Por tanto, tenemos que: Una tabla está en primera forma normal si:
Como esta relación maneja valores atómicos, es decir un solo valor por
cada uno de los campos que conforman a los atributos de las entidades, ya
se encuentra en primera forma normal, gráficamente así representamos a
las relaciones en 1FN.
DEPENDENCIAS FUNCIONALES.
Una dependencia funcional es una relación entre atributos de una
misma relación (tupla). Es decir, si X e Y son atributos de la relación
R, se dice que Y es funcionalmente dependiente de X (se denota por
XY) si cada valor de X tiene asociado un solo valor de Y (X e Y
pueden constar de uno o varios atributos). Cada dependencia
funcional es una clase especial de regla de integridad y representa
una relación de uno a muchos.
Definición formal: Una relación R está en 2FN si y solo si está en 1FN y los
atributos no primos dependen funcionalmente de la llave primaria.
Una relación se encuentra en segunda forma normal, cuando cumple con
las reglas de la primera forma normal y todos sus atributos que no son
claves (llaves) dependen por completo de la clave. De acuerdo con esta
definición, cada tabla que tiene un atributo único como clave, está en 28
segunda forma normal. La segunda forma normal se representa por
dependencias funcionales como:
Universidad Nacional de Trujillo Tecnología de la Programación II
Facultad de Ingeniería Bases de Datos Relacionales
Ingeniería de Sistemas V Ciclo
Nótese que las llaves primarias están representadas con doble cuadro, las
flechas nos indican que de estos atributos se puede referenciar a los otros
atributos que dependen funcionalmente de la llave primaria.
29
Tenemos la relación alumno-cursa-materia manejada anteriormente, pero
ahora consideramos al elemento maestro, gráficamente lo podemos
representar de la siguiente manera:
Universidad Nacional de Trujillo Tecnología de la Programación II
Facultad de Ingeniería Bases de Datos Relacionales
Ingeniería de Sistemas V Ciclo
Denominada por sus siglas en inglés como BCNF; Una tabla se considera
en esta forma si y sólo sí cada determinante o atributo es una llave
candidato. Continuando con el ejemplo anterior, si consideramos que en la
entidad alumno sus atributos control y nombre nos puede hacer referencia
al atributo esp., entonces decimos que dichos atributos pueden ser llaves
candidato. Gráficamente podemos representar la forma normal de Boyce
Codd de la siguiente forma:
Los SGBD relacionales deben ser capaces de mantener la integridad de los datos
almacenados en una base de datos con respecto a las reglas predefinidas o
restricciones que el administrador y creador de la base de datos determine.
Para cada ejercicio se presenta la solución final que se obtiene tras el diseño
lógico, es decir, el conjunto de relaciones que forman el esquema lógico de la
base de datos, las claves ajenas y sus reglas.
EJEMPLO 1
CLIENTE(dnicli,nombre,dirección)
Esta tabla almacena los datos personales de los clientes.
PROCURADOR(dniproc,nombre,dirección)
Esta tabla almacena los datos personales de los procuradores.
ASUNTO(numexp,dnicli,fechaini,fechafin,estado)
ASUNTO.dnicli es clave ajena a CLIENTE (cliente al que pertenece el
asunto) Esta tabla almacena los datos de los asuntos y el cliente al que
pertenecen.
ASUNTO_PROC(numexp,dniproc)
ASUNTO_PROC.numexp es clave ajena a ASUNTO (asunto que es
llevado por algún procurador)
ASUNTO_PROC.dniproc es clave ajena a PROCURADOR (procurador
que lleva el asunto) En esta tabla se especifica qué procuradores llevan
cada asunto y los asuntos que lleva cada procurador.
EJEMPLO 2
ZOO(nombre,ciudad,país,tamaño,presupuesto)
Esta tabla almacena los datos de los zoos.
ESPECIE(nomcientífico,nomvulgar,familia,peligro)
Esta tabla almacena los datos que caracterizan las especies animales.
ANIMAL(numid,nomzoo,nomespecie,sexo,añonacim,país,continente)
ANIMAL.nomzoo es clave ajena a ZOO (zoo en el que se encuentra el
animal)
ANIMAL.nomespecie es clave ajena a ESPECIE (especie a la que
pertenece el animal) Esta tabla almacena los datos de los animales, la
especie a la que pertenece cada uno y el zoo en el que se encuentran.
EJEMPLO 3
SOCIO(codsocio,nombre,dirección,teléfono)
En esta tabla se almacenan los datos personales de los socios.
DIRECTOR(nomdirector)
En esta tabla se guardan nombres de directores de películas. Cualquier
dato adicional que se desee saber de los directores, se colocará en esta
tabla añadiendo nuevas columnas. El esquema de la base de datos es así
flexible ya que acepta la introducción de nueva información en el esquema
sin introducir por ello redundancias de datos.
ACTOR(nomactor)
En esta tabla se guardan nombres de actores de películas. Cualquier dato 33
adicional sobre los actores se podrá añadir a esta tabla mediante nuevas
columnas. El esquema sigue siendo flexible.
Universidad Nacional de Trujillo Tecnología de la Programación II
Facultad de Ingeniería Bases de Datos Relacionales
Ingeniería de Sistemas V Ciclo
GENERO(nomgénero)
En esta tabla se guardan nombres de géneros de películas.
PELICULA(título,nomdirector,nomgénero)
PELICULA.nomdirector es clave ajena a DIRECTOR (director de la
película)
PELICULA.nomgénero es clave ajena a GENERO (género al que
pertenece la película) En esta tabla se almacena el título de las películas
que hay en el vídeo club, el director y el género de la película.
CINTA(numcinta,título,nomdirector)
(CINTA.título,CINTA.nomdirector) es clave ajena a PELICULA (película
que hay grabada en la cinta) En esta tabla se guarda información sobre
las cintas que posee el vídeo club. Cada cinta tiene grabada una sola
película.
PRESTAMO(numcinta,fecha,codsocio)
PRESTAMO.numcinta es clave ajena a CINTA (cinta que está
actualmente prestada)
PRESTAMO.codsocio es clave ajena a SOCIO (socio que tiene prestada
la cinta) Cuando se presta una cinta a un socio, se registra en esta tabla.
DEVUELTA(numcinta,fecha,codsocio)
Se supone que la fecha contiene información también sobre la hora en
que se realiza el préstamo.
DEVUELTA.numcinta es clave ajena a CINTA (cinta que fue prestada y ya
ha sido devuelta)
DEVUELTA.codsocio es clave ajena a SOCIO (socio que tomó prestada
la cinta y ya la ha devuelto) Cuando un socio devuelve una cinta que
tenía prestada, la tupla correspondiente a dicho préstamo se copia en esta
tabla y se borra de PRESTAMO.
LISTA_ESPERA(codsocio,título,nomdirector,fecha,hora)
LISTA_ESPERA.codsocio es clave ajena a SOCIO (socio que está
esperando ver una película)
(LISTA_ESPERA.título,LISTA_ESPERA.nomdirector) es clave ajena a
PELICULA (película que tiene socios en lista de espera) Los atributos
fecha, hora se han añadido para mantener el orden en la lista de espera.
En esta tabla se especifica la lista de espera de socios para cada película.
Un mismo socio puede estar en la lista de espera de varias películas a la
vez. Cuando el socio consigue la película, se elimina de la lista.
REPARTO(título,nomdirector,nomactor)
(REPARTO.título,REPARTO.nomdirector) es clave ajena a PELICULA
(película que de la que conocemos el reparto de actores)
REPARTO.actor es clave ajena a ACTOR (actor que aparece en el
reparto de la película) 34
En esta tabla se almacena información sobre las películas en las que ha
intervenido cada actor. Un mismo actor puede haber participado en varias
películas.
Universidad Nacional de Trujillo Tecnología de la Programación II
Facultad de Ingeniería Bases de Datos Relacionales
Ingeniería de Sistemas V Ciclo
GUSTA_DIRECTOR(codsocio,nomdirector)
GUSTA_DIRECTOR.codsocio es clave ajena a SOCIO (socio al que le
gustan directores)
GUSTA_DIRECTOR.nomdirector es clave ajena a DIRECTOR (director
que le gusta al socio)
En esta tabla se almacenan los gustos, en cuanto a directores, de cada
socio (a cada socio le pueden gustar varios directores).
GUSTA_ACTOR(codsocio,nomactor)
GUSTA_ACTOR.codsocio es clave ajena a SOCIO (socio al que le gustan
actores)
GUSTA_ACTOR.nomactor es clave ajena a ACTOR (actor que le gusta al
En esta tabla se almacenan los gustos, en cuanto a actores, de cada socio
(a cada socio le pueden gustar varios actores).
GUSTA_GENERO(codsocio,nomgénero)
GUSTA_GENERO.codsocio es clave ajena a SOCIO (socio al que le
gustan géneros de películas)
GUSTA_GENERO.nomgénero es clave ajena a GENERO (género que le
gusta al socio)
En esta tabla se almacenan los gustos, en cuanto a géneros, de cada
socio (a cada socio le pueden gustar varios géneros).
Por motivos de eficiencia puede ser necesario cambiar el diseño, uniendo las
tablas PRESTAMO y DEVUELTA, quedando de este modo:
PRESTAMO(numcinta,fecha,codsocio,pres_dev)
36
Universidad Nacional de Trujillo Tecnología de la Programación II
Facultad de Ingeniería Bases de Datos Relacionales
Ingeniería de Sistemas V Ciclo
Diseño
MySQL Workbench permite a un DBA, desarrollador o arquitecto de datos para
diseñar visualmente, modelo, generar y gestionar bases de datos. Incluye todo lo
que un modelador de datos necesita para crear modelos ER complejas, hacia
adelante y la ingeniería inversa, y también ofrece características clave para
realizar la gestión del cambio difícil y tareas de documentación que normalmente
requieren mucho tiempo y esfuerzo.
37
Universidad Nacional de Trujillo Tecnología de la Programación II
Facultad de Ingeniería Bases de Datos Relacionales
Ingeniería de Sistemas V Ciclo
Desarrollo
MySQL Workbench proporciona herramientas visuales para crear, ejecutar, y
optimizar consultas SQL. El Editor SQL proporciona el color de resaltado de
sintaxis, la reutilización de fragmentos de SQL, y el historial de ejecución de
SQL. El panel de conexiones de base de datos permite a los desarrolladores para
gestionar fácilmente las conexiones de base de datos. El Examinador de objetos
permite el acceso instantáneo a esquemas de bases de datos y objetos.
Administrar
MySQL Workbench proporciona una consola visual para administrar fácilmente
entornos MySQL y obtener una mejor visibilidad en bases de datos. Los
desarrolladores y DBAs pueden utilizar las herramientas visuales para la
configuración de los servidores, la administración de usuarios y la visualización de
la salud de base de datos.
CREACIÓN DE UN MODELO
En esta sección, aprenderás cómo crear un nuevo modelo de base de
datos, crear una tabla, cree un diagrama EER de su modelo, y luego como
ingeniero envíe su modelo en el servidor de base de datos en vivo.
39
Universidad Nacional de Trujillo Tecnología de la Programación II
Facultad de Ingeniería Bases de Datos Relacionales
Ingeniería de Sistemas V Ciclo
40
Nombre de columna Tipo de datos Propiedades de las columnas
MOVIE_TITLE VARCHAR (45) NN
RELEASE_DATE Fecha (AAAA-MM-DD) Ninguno
Universidad Nacional de Trujillo Tecnología de la Programación II
Facultad de Ingeniería Bases de Datos Relacionales
Ingeniería de Sistemas V Ciclo
41
Universidad Nacional de Trujillo Tecnología de la Programación II
Facultad de Ingeniería Bases de Datos Relacionales
Ingeniería de Sistemas V Ciclo
42
Universidad Nacional de Trujillo Tecnología de la Programación II
Facultad de Ingeniería Bases de Datos Relacionales
Ingeniería de Sistemas V Ciclo
45
El estilo de la notación de objeto utilizado en la Figura 7.50, "El sakila Database
Diagram EER " es Workbench (PKs only) . Esta notación sólo muestra las claves
Universidad Nacional de Trujillo Tecnología de la Programación II
Facultad de Ingeniería Bases de Datos Relacionales
Ingeniería de Sistemas V Ciclo
REQUERIMIENTOS FUNCIONALES
-Permitirá consultar el monto de venta y utilidad por línea de los pacientes, por
documento y por los servicios que brinda la empresa.
-Registrar niveles de ingreso al sistema por tipo de usuario.
-Registrar pagos de pacientes.
47
Universidad Nacional de Trujillo Tecnología de la Programación II
Facultad de Ingeniería Bases de Datos Relacionales
Ingeniería de Sistemas V Ciclo
LINKOGRAFÍA
http://www.mysql.com/products/workbench/
http://downloads.mysql.com/docs/workbench-en.pdf
http://es.wikipedia.org/wiki/MySQL_Workbench
http://www.ehowenespanol.com/desventajas-base-datos-relacional-lista_183865/
http://www.monografias.com/trabajos34/base-de-datos/base-de-datos.shtml
http://www.maestrosdelweb.com/editorial/%C2%BFque-son-las-bases-de-datos/
http://es.kioskea.net/contents/66-introduccion-bases-de-datos
http://www.jorgesanchez.net/bd/bdrelacional.pdf
http://www.uazuay.edu.ec/analisis/El%20modelo%20relacional.pdf
http://www.buenastareas.com/ensayos/Principales-Base-De-Datos-Relacionales/4683239.html
http://yulipane.blogspot.com/2010/09/elementos-de-una-base-de-datos.html
http://www.buenastareas.com/ensayos/Elementos-De-Una-Base-De-Datos/1835983.html
http://elies.rediris.es/elies9/4-1-2.htm
http://docs.moodle.org/all/es/Caracter%C3%ADsticas_de_la_base_de_datos_%28m%C3%B3dulo
%29
http://www.ite.educacion.es/formacion/materiales/93/cd/m1_1/componentes_esenciales_de_un
a_base_de_datos.html
http://es.scribd.com/doc/2970454/6/Ejemplo-de-base-de-datos-relacional
48