El documento presenta una introducción al modelo entidad-relacional de bases de datos. Explica los conceptos clave de entidad, atributos y relaciones, y describe los tres niveles de abstracción de una base de datos - el nivel externo, conceptual e interno - así como los modelos de datos, esquemas y usuarios involucrados en cada nivel. También identifica problemas comunes como inconsistencia, redundancia e integridad de datos en sistemas de archivos convencionales y cómo los sistemas de bases de datos ayudan a resolverlos.
Bases de Datos I - Introducción y Conceptos Básicos
1. Base de Datos I
M.C. Enrique Ruiz Díaz
Bases de Datos I,
por M.C. Enrique Ruiz Díaz.
(Correspondientes a mis Estudios de Licenciatura en Informática en el
Instituto Tecnológico de Tuxtepec, Oax., México).
All Rights Reserved.
Con título y cédula profesional 5632071
en la Maestría en Ciencias de la Computación.
Egresado del Instituto Tecnológico de Orizaba, Ver. México.
Go to: https://sites.google.com/site/mccenriqueruizdiaz/
Página 1 de 42
2. Base de Datos I
M.C. Enrique Ruiz Díaz
Acerca de mi.
Titulado en la Maestría en Ciencias en Ciencias de la Computación, Cédula
profesional 5632071. Egresado del Instituto Tecnológico de Orizaba, Ver.,
México.
Antes, me Titulé en la Licenciatura en Informática, Cédula
profesional 4046033. Egresado del Instituto Tecnológico de Tuxtepec, Oax.,
México, distinguiéndome además, por ser el mejor promedio de mi
generación con 98%.
Bien, regresando al tema de mi Título de Maestría en Ciencias de la
Computación, para subrayar que ésta, requirió el desarrollo de una TESIS.
Otro aspecto muy importante, fue que durante el desarrollo de mi Maestría
escribí un ARTICULO, mismo que fue aceptado para publicación y con mi
ponencia en el evento 'Primer Encuentro de Estudiantes en Ciencia de la
Computación - E2C2' ISBN-10:970-36-0404-8 e ISBN-13:978-970-36-0404-3
celebrado en el Instituto Politécnico Nacional, México, D.F. 2007.
Go to: https://sites.google.com/site/mccenriqueruizdiaz/
Página 2 de 42
3. Base de Datos I
M.C. Enrique Ruiz Díaz
Mi Diploma por mi Ponencia en el Instituto Politécnico
Nacional, México, D.F. 2007, durante mis estudios de
Maestría.
Go to: https://sites.google.com/site/mccenriqueruizdiaz/
Página 3 de 42
4. Base de Datos I
M.C. Enrique Ruiz Díaz
UNIDAD I.
INTRODUCCIÓN A LAS BASES DE DATOS
__________________________________________________________________________
CONCEPTOS
Base de Datos – BD -.
Es un conjunto de datos relacionados entre sí para cumplir con un
propósito específico o general.
Entidad.
Es un objeto, cosa, persona, animal, etc. Que va a ser distinguible de otra entidad a
través de ciertas características o propiedades. También se llama Entidades a los archivos y registros.
Atributos.
Son las características que permiten distinguir a una identidad de otra. También se
llama atributos a los campos de los registros.
Sistema manejador de Base de Datos – SMBD -.
Es un software de aplicación que permite
crear la Base de Datos, y una vez creada me permite efectuar altas, bajas, cambios a la información
ILUSTRACIÓN DE ESQUEMAS DE BASES DE DATOS
1.
“ALUMNOS”
No_Control
5825458
...
...
Nombre
Thalia
...
...
Especialidad
Informática
...
...
Fecha_ingreso
29 sept. 2000
...
...
Go to: https://sites.google.com/site/mccenriqueruizdiaz/
Etc.
...
...
...
Página 4 de 42
5. Base de Datos I
2.
M.C. Enrique Ruiz Díaz
Esquema de una Base de datos para una compañía.
SUCURSAL
(Clave_suc,
Nombre_suc,
Localidad,
DEPTOS
(Clave_depto,
Nombre_depto,
Etc )
JEFES
(Clave_jefe,
Nombre_jef,
Fecha_ingr)
EMPLEADOS
(Clave_emplea,
Nombre_empl,
Edad,
CONTR_SUEL
(Ctr_sdo,
Sdo,
Dir )
Clave_emplead)
Antigüedad)
NIVELES DE ABSTRACCIÓN DE UNA BASE DE DATOS
1.
El nivel externo de vistas
Incluye 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
información de la base de datos.
// Cada usuario final solo procesa una determinada parte de la información de la B.D. lo demás le
está oculto //
2.
El nivel conceptual
Tiene un esquema conceptual que describe la estructura de toda la B.D. para una comunidad
de usuarios. El esquema conceptual oculta los detalles de las estructuras físicas de almacenamiento y
se concentra en describir entidades, tipos de datos, vínculos o relaciones, operaciones de los usuarios
y restricciones a los mismos.
// El nivel conceptual está a cargo del Administrador de la B.D. el cual tiene conocimiento del nivel
externo o de vista y Administrador de la BD establece políticas de acceso para los usuarios finales. //
3.
El nivel interno o físico
Tiene un esquema interno, que describe la estructura física de almacenamiento de la BD. El
esquema interno emplea un modelo físico de los datos y describe todos los detalles para su
almacenamiento así como los caminos de acceso para la BD.
// El Nivel interno o físico está a cargo de los Programadores a los cuales les presenta como está
físicamente almacenada la información. Este nivel tiene conocimiento de todos los otros niveles //
Go to: https://sites.google.com/site/mccenriqueruizdiaz/
Página 5 de 42
6. Base de Datos I
M.C. Enrique Ruiz Díaz
NIVEL EXTERNO O DE VISIÓN
Vista
Usuario 1
NIVEL CONCEPTUAL
NIVEL INTERNO O FÍSICO
Vista
Usuario 2
Vista
Usuario 3
Descripcion de
La BD para el
ABD
Existencia física de
La BD. Para
Programadores
MODELOS DE DATOS Y ESQUEMAS
Los Modelos de datos son el principal instrumento para ofrecer una abstracción de mis bases
de datos. Un modelo de datos es un conjunto de conceptos que pueden servir para describir la
estructura o esquema de una BD.
Con el concepto de Estructuras de Datos o Esquema nos referimos a la descripción de los
tipos de datos, entidades, atributos, los vínculos o relaciones y las restricciones que deben cumplirse
para los datos que se contendrán en la BD.
//
1.
Un Modelo de datos es una visión de la BD.
2. Los Modelos de Datos son prototipos o diseños que proporcionan determinadas visiones de
la BD.
3.
La Estructura de Datos describe atributos, entidades, vínculos //
Categorías o tipos de Modelos de Datos
1.
2.
3.
Modelo de Representación o Visión.
Modelo de Alto nivel o Conceptuales
Modelo de Bajo nivel o Físico
Go to: https://sites.google.com/site/mccenriqueruizdiaz/
Página 6 de 42
7. Base de Datos I
M.C. Enrique Ruiz Díaz
//
Los Modelos de datos (visión) son una parte de sus respectivos niveles de abstracción, la
diferencia entre Nivel de abstracción y Modelos de visión radica en que cuando se habla de nivel de
abstracción no sólo implica la capacidad de una visión hacia la BD sino la capacidad de modificarla,
según las facultades de los usuarios. Así:
1.
2.
3.
El nivel externo o vistas contiene o emplea al Modelo de Representación o Visión.
El nivel Conceptual contiene o emplea al Modelo de Alto nivel o conceptual.
El nivel interno o físico contiene o emplea al Modelo de bajo nivel.
//
1.
El Modelo de Representación o Visión es para el usuario final, son las diversas pantallas
que se presentan a los usuarios. Por ejemplo: ambiente de ventanas, formatos de impresión, etc.
2.
Los Modelos de Alto nivel o Conceptuales son utilizados por el Administrador de la BD. el
cual visualiza a la BD en una forma descriptiva general. Con una visualización de entidades,
atributos, tipos de datos.
3.
Los Modelos de Bajo nivel o Físico proporcionan al Programador conceptos que describen
los detalles de cómo se almacenan realmente los datos en la computadora.
PERSONAJES QUE HACEN USO DE LA BASE DE DATOS
1.
2.
3.
4.
Administrador de la BD.
Diseñador de la BD
Diversos usuarios:
Esporádicos
Parametricos
Finales avanzados
Autónomos
Analistas y diseñadores de la BD
1.
ADMINISTRADOR DE LA BASE DE DATOS (ABD).
En cualquier organización en
la que muchas personas utilizan los mismos recursos se requiere de un administrador en jefe que
supervise y administre los recursos para tener el mejor control de los mismos. En un entorno de BD
el recurso primario seria la misma BD y el secundario el sistema generador de BD. La administración
de estos recursos es responsabilidad del Administrador de la BD. (ABD).
El ABD se encarga de administrar y actualizar el acceso a la BD de coordinar y vigilar su
empleo y de adquirir los recursos necesarios de software y hardware. El ABD también es responsable
cuando surjan problemas como violaciones a la seguridad o una respuesta lenta de sistemas.
Go to: https://sites.google.com/site/mccenriqueruizdiaz/
Página 7 de 42
8. Base de Datos I
M.C. Enrique Ruiz Díaz
2.
DISEÑADOR DE LA BASE DE DATOS.
Los diseñadores de BD se encargan de
identificar los datos que se almacenaran en la BD, así como de elegir las estructuras más apropiadas
para representar y almacenar dichos datos.
3.
DIVERSOS USUARIOS FINALES. Usuarios finales son las personas que necesitan tener
acceso a la BD para consultarla, actualizarla y generar reportes. Hay varias categorías de usuarios
finales.
1).
Usuarios finales esporádicos.
Son aquellos que tiene acceso de vez en
cuando a la BD pero es posible que requieran información diferente en cada ocasión
(gerentes, directivos).
2).
Usuarios finales simples o parametricos.
Son aquellos que constituyen una
porción apreciable de los usuarios finales, la función principal de su trabajo gira en torno a
consultas y actualizaciones constantes de la BD (almacenistas, usuarios de los bancos).
3).
Usuarios finales autónomos. Son aquellos que emplean BD personalizadas gracias
a los paquetes de programas comerciales que cuentan con interfaces de fácil uso (paquetes
para contadores).
4).
Usuarios finales avanzados. Son aquellos tales como ingenieros, científicos,
analistas de negocios y otros quienes conocen cabalmente los recursos del sistema generador
de BD para satisfacer sus complejos requerimientos.
4.
ANALISTAS DE SISTEMAS Y PROGRAMADORES DE APLICACIONES.
Los
Analistas de Sistemas son las personas que van a determinar los requerimientos de los usuarios
finales, sobre todo de los usuarios simples o parametricos y desarrollan especificaciones para
transacciones programadas que satisfagan dichos requerimientos.
Los Programadores de Aplicaciones implementan dichas especificaciones en programas y
luego prueban, depuran, documentan y mantienen estas transacciones programadas.
Go to: https://sites.google.com/site/mccenriqueruizdiaz/
Página 8 de 42
9. Base de Datos I
M.C. Enrique Ruiz Díaz
PROBLEMAS DE INCONSISTENCIA, REDUNDANCIA E INTEGRIDAD DE LOS
DATOS
Recuerde que anteriormente se creaban y manejaban archivos de datos creados con un
lenguaje convencional como por ejemplo C. Los cuales debido a sus limitaciones crean problemas de
inconsistencia, redundancia e integridad en los datos, ya que se tenia que crear un archivo de datos
para el depto 1, otro archivo de datos para el depto. 2, otro para el depto. 3, etc. Vea la ilustración.
B.D: Alumnos
RECURSOS FIN.
SERVICIOS
ESCOLARES
B.D: Alumnos
ITT
CONTROL
ESCOLAR
B.D: Alumnos
Figura 1: Varios archivos de datos en un Sistema creado con un Lenguaje convencional
TIPOS DE PROBLEMAS DE UN SISTEMA CONVENCIONAL DE ARCHIVOS DE DATOS
INCONSISTENCIA Significa la probabilidad de que los archivos de datos no tengan el mismo
formato, es decir, que los datos, no tienen las mismas características: como si es de tipo carácter o
numérico, y su longitud deben ser idénticas para cada archivo de datos.
Por inconsistencia también se entiende al error que se produce cuando se actualiza (modifica)
un archivo de datos y en los otros no.
Campo: “Nombre”
Tipo carácter
Longitud 35 caracteres
Elizabeth
Campo: “No_Ctrol”
Tipo numerico
etc.
98021547
Go to: https://sites.google.com/site/mccenriqueruizdiaz/
Página 9 de 42
10. Base de Datos I
M.C. Enrique Ruiz Díaz
REDUNDANCIA.
Es el hecho de tener información repetida. Problema clásico de archivos
convencionales según se ilustra en la figura 1.
INTEGRIDAD DE LAS BASES DE DATOS
Los Sistemas manejadores de Bases de Datos posibilitan la creación de BD integras porque
tienen consistencia de la información.
La Consistencia implica que los datos tengan el mismo formato, que la actualización sea
integral. También que la información respete ciertas restricciones en su caso. Por ejemplo, que un
alumno no registre más de “x” cantidad de reprobadas, que el saldo de una cuenta no baje de “y”
cantidad, etc. Consistencia es solidez o firmeza de la información. En la figura siguiente se ilustra
como se maneja la BD por un Sistema manejador de la misma.
RECURSOS FIN.
B.D :
Alumnos
ITT
SERVICIOS
ESCOLARES
CONTROL
ESCOLAR
Figura 2: En un Sistema Manejador de Base de Datos – SMBD – hay una sóla BD que evita la
redundancia e inconsistencia
Go to: https://sites.google.com/site/mccenriqueruizdiaz/
Página 10 de 42
11. Base de Datos I
M.C. Enrique Ruiz Díaz
CAUSAS QUE PROVOCAN FALTA DE INTEGRIDAD EN LAS BASES DE DATOS
1.
2.
3.
4.
5.
6.
Políticas de seguridad de acceso a la BD no adecuadas.
Errores humanos
Errores del sistema
Errores de hardware
Fallas de energía
Catástrofes
INDEPENDENCIA DE DATOS
Es la capacidad de modificar un nivel de abstracción de datos sin necesidad de modificar el
nivel inmediato superior. Se divide en:
a)
Independencia Física.
Capacidad de modificar el nivel de abstracción físico sin
tener la necesidad de modificar el nivel conceptual.
b)
Independencia Lógica.
Capacidad de modificar el nivel de abstracción conceptual
sin tener la necesidad de modificar el nivel externo.
LENGUAJE DE DEFINICIÓN DE DATOS – DDL –
Es un conjunto de tablas las cuales se almacenan en un archivo especial llamado diccionario
de datos o diccionario.
LENGUAJE DE MANIPULACION DE DATOS – DML –
Es un lenguaje que capacita a los usuarios a acceder a manipular datos según estén
organizados por el modelo de datos adecuado.
Go to: https://sites.google.com/site/mccenriqueruizdiaz/
Página 11 de 42
12. Base de Datos I
UNIDAD II
M.C. Enrique Ruiz Díaz
MODELO ENTIDAD - RELACIONAL
_________________________________________________________________________________
El Modelo Entidad - Relacional representa los datos como: entidades, atributos y vinculos
o relaciones.
Entidad:
Es un objeto, persona o cosa distinguible de otra Entidad a través de ciertas
características o propiedades (atributos).
Entendamos que las Entidades no son otra cosa más que las diversas
TABLAS de datos. Así por ejemplo una tabla (o Entidad) “VENTAS” contiene datos
como “no_fact”, “vendedor”, “importe”, etc. y por supuesto que la tabla almacena
todo un conjunto de diversas ventas. Por otra parte, una Entidad o tabla de nombre
“CLIENTES” guardará el nombre, domicilio, tel. y otros datos de los clientes, que
por supuesto, será mucho más de un cliente (varios registros o tuplas).
Atributos:
Las características que permiten distinguir a una Entidad de otra, o sea, los diversos
campos. Tales como “no_clave”, “nombre”, “dirección”, etc.
Relación:
Comportamiento entre Entidades, es decir, como están relacionadas unas Entidades
con otras. Por ejemplo, entre “VENTAS” y “CLIENTES” hay una relación necesaria,
porque no tendría sentido una sin la otra.
El acceder a datos de ambas tablas a través de un vínculo de unión es posible
gracias a la relación que se establece entre ellas.
Ejemplo:
ALUMNOS
Nombre, matricula, edad, sexo}
N:M
MATERIAS
Nom_Mat, clave_Mat}
Go to: https://sites.google.com/site/mccenriqueruizdiaz/
Página 12 de 42
13. Base de Datos I
M.C. Enrique Ruiz Díaz
ENTIDADES: ALUMNOS, MATERIAS
ATRIBUTOS: Nombre, matricula, edad, sexo, Nom_Mat, clave_Mat
RELACION: N:M
(muchos a muchos), es decir, un alumno tiene muchas materias y una materia
tiene muchos alumnos.
REPRESENTACIÓN SIMBOLICA DEL MODELO ENTIDAD RELACION – ER –
Rectángulos
Representa ENTIDADES
Elipses
Representa ATRIBUTOS
Rombos
Representa RELACIONES
Conecta elementos
Líneas
RELACIONES POR NÚMERO DE REGISTRO (con respecto a las entidades)
1a1
De uno a uno
1 a N débil
1aN
1 a N fuerte
NaM
De muchos a muchos
Go to: https://sites.google.com/site/mccenriqueruizdiaz/
Página 13 de 42
14. Base de Datos I
M.C. Enrique Ruiz Díaz
RELACIÓN UNO A UNO (1:1).
Más que una relación, es una correspondencia unívoca en la que un objeto de una tabla se
corresponde de forma exclusiva con otro. Por ejemplo, en una empresa, cada empleado tiene
asociado un número de empleado y ese número no se da a nadie cuando el trabajador es despedido,
se jubila, etc. Por lo tanto, entre las tablas con los nombres “Empleados” y “Números de empleados”
existe una relación uno a uno.
RELACIÓN DE MUCHOS A MUCHOS (N:M)
Es una relación bastante común en la que varios elementos de una de las tablas están
relacionados con varios de las otras. Por ejemplo, la relación que puede existir entre las tablas
“Ingredientes” y “Recetas”: un ingrediente puede utilizarse en varias recetas, y una receta incluye
más de un ingrediente.
“RECETAS
“INGREDIENTES”
Pastel
Flans
Helados
Gelatina
Leche
Mantequilla
Cholate
RELACIÓN DE UNO A VARIOS (1:N)
En esta relación, cada uno de los elementos de una tabla se corresponde con varios de las otra
que, a su vez, sólo recibe esta correspondencia. Por ejemplo, a un departamento pertenece un número
determinado de empleados, pero estos empleados sólo pertenecen a este departamento.
Entidad (o tabla): “DEPTOS”
Finanzas
Contabilidad
“Ventas”
Mercadotecnia
Producción
Entidad: “EMPLEADOS”
Perla
Hipólito
Concepción
Enrique
Esta relación de 1 a varios puede clasificarse a la vez (según algunos autores) en:
1 a N débil
1 a N fuerte
Go to: https://sites.google.com/site/mccenriqueruizdiaz/
Página 14 de 42
15. Base de Datos I
M.C. Enrique Ruiz Díaz
1 a N débil
Cuando N puede tomar un valor de 0. Es decir, puede haber o no haber ocurrencia de A a B.
Por ejemplo, entre la tabla “EMPLEADOS” y “DEPENDIENTES” la cual tiene la relación de 1 a N
débil porque puede ocurrir que un empleado no tenga dependientes, y por supuesto un determinado
empleado puede tener 1 o más de 1 dependientes.
1 a N fuerte
Cuando N debe tomar cuando menos un valor de 1. Es decir, debe haber cuando menos una
relación entre A y B. Por ejemplo, entre las tablas “ALUMNOS” y “MATERIAS” donde cada
alumno debe tener obligatoriamente un mínimo de una materia.
TIPOS DE ATRIBUTOS PARA EL MODELO ENTIDAD / RELACION – ER –
1.
2.
3.
1.
Simples o compuestos
Monovaluados o multivaluados
Almacenados o derivados
Atributos simples y compuestos.
Los atributos simples son aquellos que no son divisibles. Por ejemplo, clave_empleado,
RFC, sexo, etc.
Por otra parte, los atributos compuestos son aquellos que si son divisibles. Por ejemplo,
Nombre, Domicilio, etc. Porque el “Nombre” puede dividirse en apellido paterno, materno y el
nombre especificamente. Así mismo, el “domicilio” puede dividirse en dirección, colonia, estado,
ciudad, número de calle. Esta clasificación es para identificaciones que uno mismo hace, y no una
especificación a la BD misma.
2.
Monovaluados o multivaluados
Los monovaluados son aquellos que solamente tienen un único valor. Por ejemplo, la clave, el
nombre, sexo, etc. Por el contrario, los multivaluados son aquellos atributos que contienen varios
valores. Por ejemplo, dentro de la tabla “FLORES” el atributo “colores” puede contener “rojo”,
“blanco”, “amarillo” para una misma tupla (registro).
FLORES
Clave
Tupla 1 F025
Tupla 2 F038
Nombre
Rosa
Gladiola
Colores
Roja,
Blanco,
Amarillo
Blanco,
Amarillo
Go to: https://sites.google.com/site/mccenriqueruizdiaz/
Página 15 de 42
16. Base de Datos I
M.C. Enrique Ruiz Díaz
Otro ejemplo lo podemos encontrar en una tabla de nombre “ALUMNOS” en donde un
atributo de nombre “materias” contiene varios valores para cada determinado alumno.
3.
Atributos Almacenados o derivados
Los atributos almacenados ya contienen un determinado valor. Por ejemplo, el número
“98035254” que pertenece al atributo “No_control”, el nombre “Esmeralda” que pertenece al atributo
“Nombre”, el dato “24/09/1973” que pertenece al atributo “Fecha_Nacimiento” todo ello para una
determinada tupla.
Los atributos derivados se tienen derivándolos de los ya existentes. Por ejemplo, el atributo
“edad” se obtendrá considerando la fecha actual y restándole el valor del atributo
“Fecha_Nacimiento”. Otro ejemplo, en una factura, para el atributo “IVA” obtendremos su valor
aplicando un determinado porcentaje a la suma que resulte de los conceptos de una determinada
factura.
RELACIONES IMPLICITAS
TRIBUTO LLAVE
Es una puerta de entrada a toda la información de una Entidad (registro), generalmente es un
número clave. El atributo llave debe cumplir con los siguientes requisitos.
1.
2.
Que no tome valores nulos.
Que no tenga valores repetidos (unicidad).
RELACIONES IMPLICITAS
La Relación Implícita implica hacer la inclusión del atributo llave de una primera entidad en
una segunda con la cual tiene relación.
Go to: https://sites.google.com/site/mccenriqueruizdiaz/
Página 16 de 42
17. Base de Datos I
M.C. Enrique Ruiz Díaz
Ejemplo de Relaciones Implícitas
SUC
{clave_suc, Nom_suc, localidad, dir}
DEPTOS
JEFES
EMPLEADOS
CONTRATO_SDO
{ clave_suc clave_depto, Nom_depto, }
{ clave_depto clave_jefe, fech_ingr, }
{ clave_jefe ,clave_empl, nom, edad, sex, antiguedad }
{ clave_jef, clave_empl, }
EL SUBESQUEMA
Es una parte de un Esquema general de una Base de Datos, el subesquema sólo considera a
aquella o aquellas Entidades son necesarias para dar respuesta a un determinado problema.
Por ejemplo: obtener el subesquema para conseguir una lista de empleados que dependan el
jefe Gonzalo. Desplegar clave y nombre del empleado.
JEFES
EMPLEADOS
{ clave_depto clave_jefe, fech_ingr, }
{ clave_jefe ,clave_empl, nom}
Obtener una lista de empleados que tengan una antigüedad mayor de 15 años.
EMPLEADOS
{ clave_empl, nom, antiguedad }
Go to: https://sites.google.com/site/mccenriqueruizdiaz/
Página 17 de 42
18. Base de Datos I
M.C. Enrique Ruiz Díaz
Obtener una lista de empleados que laboran en la sucursal Tuxtepec, Oax.
SUC
{clave_suc, localidad}
DEPTOS
JEFES
EMPLEADOS
{ clave_suc, clave_depto}
{ clave_depto, clave_jefe}
{ clave_jefe, clave_empl, nom}
ENTIDADES PUENTES
Son Entidades de las cuales sólo se toma el Atributo Llave para establecer Entidades que
entre sí no tienen una relación directa. (Vea que no hay relación directa de SUC a EMPLEADOS).
Entonces las Entidades Puentes son DEPTOS y JEFES.
Go to: https://sites.google.com/site/mccenriqueruizdiaz/
Página 18 de 42
19. Base de Datos I
M.C. Enrique Ruiz Díaz
PROCESO DE NORMALIZACION
El Proceso de Normalización consiste en elaborar un Modelo de Esquema general de una
Base de datos, partiendo de los datos que nos proporciona un sistema de información manual o semiautomatizado. Consiste en tres pasos.
1.
PRIMERA FORMA NORMAL:
a)
Una vez reunidad la totalidad de atributos (campos) se identifican los
atributos Llave. Recordar que los atributos Llave no tienen valores
repetidos ni valores nulos, y deben servirnos para identificar a cada tupla
individualmente.
b)
Establecer la dependencia funcional de los atributos no llave con el
atributo llave. Es decir, la forma:
Atributo_Llave
Por ejemplo:
clave_empl,
c)
No_llave1, No_llave2, No_llave3, etc.
nom_empl, edad, sex, antiguedad
Establecer los nombres de las Entidades para cada para cada una de las
dependencias funcionales establecidas.
Nom_ENTIDAD
{Atributo_Llave, No_llave1, No_llave2, etc.}
Por ejemplo:
EMPLEADOS
2.
{ clave_empl, nom_empl, edad, sex, antiguedad }
SEGUNDA FORMA NORMAL:
De las Entidades ya obtenidas se derivan nuevas entidades sólo si es necesario. Es
decir, en aquellos casos en que una Entidad presente un exceso de atributos
asignados y donde una parte de estos atributos puedan formar parte de una nueva
Entidad. Esta nueva Entidad representa información que no pertenecía estrictamente
a la entidad original, por ello procedería la derivación.
Go to: https://sites.google.com/site/mccenriqueruizdiaz/
Página 19 de 42
20. Base de Datos I
M.C. Enrique Ruiz Díaz
Por ejemplo: Consideremos que en la Primera Forma Normal obtuvimos la siguiente
Entidad.
PROVEEDORES
{clave_prov, RFC_prov, nom_prov, localidad_prov,
domicilio_prov, costo_flete}
Observe que el atributo “costo_flete” representa un dato que no corresponde
directamente a la Entidad Proveedores, y que resultaría conveniente tener ese dato en
una Entidad derivada, a la cual podemos llamar “FLETES”.
PROVEEDORES
FLETES
{clave_prov, RFC_prov, nom_prov}
{clave_prov, localidad_prov, domicilio_prov, costo_flete}
Vea como puede ser necesario incluir un atributo de la entidad original. En este caso,
el Atributo “clave_prov” se repite para la entidad “FLETES” porque permite
identificar al Proveedor al que se paga.
3.
TERCERA FORMA NORMAL:
a)
b)
Se analizan las Entidades derivadas para establecer si todos los atributos
dependen de su respectivo atributo llave, si no es así, se vuelve a derivar.
Por ejemplo, en la segunda forma se derivo la Entidad “FLETES” se analiza,
y si hubiera necesidad de esta entidad se obtendría otra mas, aunque por
ahora no es el caso.
Se establecen las relaciones entre Entidades. Es decir, las conectamos a
traves de líneas, y establecemos relaciones por Número de Registro (1:1,
1:N, N:M, etc.) Por ejemplo:
PROVEEDORES
{clave_prov, RFC_prov, nom_prov}
1:N fuerte
FLETES
{clave_prov, localidad_prov, domicilio_prov, costo_flete}
Nota: en este ejemplo nada más consideramos dos entidades, pero queda entendido
que el proceso se aplica a todas las entidades, ya que todas ellas forman nuestro
esquema único de la base de Datos.
Go to: https://sites.google.com/site/mccenriqueruizdiaz/
Página 20 de 42
21. Base de Datos I
M.C. Enrique Ruiz Díaz
Ejercicio: Dado los siguientes datos, aplicar el proceso de Normalización.
Nom_alum clave_mat semestre sexo edad
credit_mat especialidad No_ctrol Nom_mat
Primera Forma:
a) Se identifican atributos llaves.
Nom_alum clave_mat semestre sexo edad
credit_mat especialidad No_ctrol Nom_mat
b) Se establecen las dependencias funcionales.
No_ctrol
clave_mat
Nom_alum, edad, sexo, semestre, especialidad
Nom_mat, credit_mat
c) Se asignan nombres a las Entidades.
ALUMNOS
{ No_ctrol, Nom_alum, edad, sexo, semestre, especialidad}
MATERIAS
{ clave_mat, Nom_mat, credit_mat }
Segunda forma:
De las Entidades ya obtenidas se derivarían otras más. Por ahora no es el caso.
Tercera forma:
a)
b)
Se analiza si es posible volver a derivar aquellas entidades que resultaron
precisamente de una derivación. Por ahora no es el caso.
Se establecen las relaciones entre las Entidades.
ALUMNOS
{ No_ctrol, Nom_alum, edad, sexo, semestre, especialidad}
N:M
MATERIAS
{ clave_mat, Nom_mat, credit_mat }
Go to: https://sites.google.com/site/mccenriqueruizdiaz/
Página 21 de 42
22. Base de Datos I
Ejercicio:
M.C. Enrique Ruiz Díaz
Aplicar el proceso de Normalización a los siguientes datos:
costo_flete
domicilio_prov
nom_prov
localidad_prov
nom_prod
precio_c
descrip
clave_prov
clave_prod
RFC_prov
1ª forma Normal
a)
Se identifican atributos llaves:
costo_flete
domicilio_prov
RFC_prov
b)
nom_prov
localidad_prov
nom_prod
precio_c
descrip
clave_prod
clave_prov
Se establecen dependencias funcionales
clave_prod
clave_prov
nom_prod, descrip, precio_c
RFC_prov, costo_flete, nom_prov, domicilio_prov, localidad_prov,
Nota: Vea que esta última dependencia presenta dos atributos llaves “clave_prov” y
“RFC_prov” lo cual puede servir a veces, para tener acceso por “llaves compuestas”.
c)
Se asignan nombres a las Entidades.
{ clave_prod, nom_prod, descrip, precio_c}
{clave_prov,
RFC_prov,
costo_flete,
domicilio_prov, localidad_prov}
nom_prov,
2ª Forma
De las Entidades ya obtenidas se derivan nuevas entidades sólo si es necesario
PROVEEDORES
FLETES
{clave_prov, RFC_prov, nom_prov}
{clave_prov, localidad_prov, domicilio_prov, costo_flete}
Go to: https://sites.google.com/site/mccenriqueruizdiaz/
Página 22 de 42
23. Base de Datos I
M.C. Enrique Ruiz Díaz
3ª Forma
a)
b)
De la Entidad derivada “FLETES” ahora no se requiere derivar nada más.
Establecemos relaciones entre todas las Entidades.
PRODUCTOS
{ clave_prod, nom_prod, descrip, precio_c}
N:M
PROVEEDORES
{clave_prov, RFC_prov, nom_prov}
1:N fuerte
FLETES
{clave_prov, localidad_prov, domicilio_prov, costo_flete}
Terminando de aplicar el Proceso de Normalización obtuvimos nuestro Modelo completo de
la Base de datos.
Go to: https://sites.google.com/site/mccenriqueruizdiaz/
Página 23 de 42
24. Base de Datos I
UNIDAD III
M.C. Enrique Ruiz Díaz
BASES DE DATOS RELACIONALES
_________________________________________________________________________________
ELEMENTOS QUE CONFORMAN EL MODELO RELACIONAL A TRAVÉS DE
TABLAS
Ejemplo de Tabla:
EMPLEADOS
RFC
Nom_empl
Tupla 1 GUBM 730422 Mercedes Gutiérrez
Bermúdez
Tupla 2 HEAC 731125 Catalino M. Hernandez
Andrade
Sdo
4,800
Ant
10
1
ND
3,500
5
2
1. EL NOMBRE
Toda tabla debe contener un nombre que haga referencia a su contenido y que sea diferente al
nombre de otras tablas. Así, en nuestro ejemplo anterior dado que la tabla se refiere a información de
empleados toma ese nombre.
2. DOMINIO
Es el conjunto de valores que pertenece a un atributo. Ejemplo, un atributo de nombre
“Dias_semana” su Dominio es: lunes, martes, miércoles, jueves, etc. El Dominio de un atributo como
“Estaciones_año” es: primavera, verano, otoño, invierno. Etc.
3. TUPLA:
Es un conjunto de valores de los atributos que se encuentran en una misma línea de datos, es
decir, una tupla es lo mismo es una fila en una tabla . Por ejemplo: la Tabla “Empleados” de arriba
sólo tiene 2 tuplas (es decir, 2 registros).
Go to: https://sites.google.com/site/mccenriqueruizdiaz/
Página 24 de 42
25. Base de Datos I
M.C. Enrique Ruiz Díaz
4. GRADO DE TABLA:
Es igual al número de atributos de la tabla. En la tabla del ejemplo es de grado 5.
5. ATRIBUTO LLAVE
Como ya sabemos el atributo Llave o llave primaria es aquel atributo que permite identificar a
una determinada tupla. Para ello, este atributo no debe contener valores repetidos ni valores nulos.
Por ejemplo: No_control, RFC, etc.
6. LLAVE EXTERNA
Es el atributo que permite vincular (relacionar) dos tablas. Esto quiere decir que en una tabla 1
encontramos al atributo llave externa el cual contendrá valores que coinciden con los valores de otro
atributo en una tabla 2. Por ejemplo:
Tabla 1
...
...
...
Llave
Externa
2
4
1
Atributo
Referido
4
2
1
...
...
...
Tabla 2
El nombre del atributo Llave Externa no necesariamente será el mismo que el atributo
referido de la otra tabla, pero sí debe ser del mismo tipo y contener los mismos valores.
Por ejemplo:
EMPLEADOS
RFC
Nom_empl
Tupla 1 GUBM 730422 Mercedes Gutiérrez
Bermúdez
Tupla 2 HEAC 731125 Catalino M. Hernandez
Andrade
DEPTOS
Num_D
1
2
3
Nom_Dep
Mercadotecnia
Ventas
Contabilidad
Sdo
4,800
Ant
10
3,500
Llave
Externa
ND
5
Num_Empl
5
50
10
Go to: https://sites.google.com/site/mccenriqueruizdiaz/
1
2
CJ
JD1
JD2
JD3
Página 25 de 42
26. Base de Datos I
M.C. Enrique Ruiz Díaz
Donde:
“ND” y “Num_D” significan “Número de departamento”. Ambos atributos en este caso no se
llaman igual pero si contienen el mismo tipo de valor que es numérico, y el atributo llave externa
“ND” debe de encontrar cada uno de sus valores en el atributo referido “Num_D”.
Tipos de relaciones que se dan con el uso de la Llave externa:
a)
Relación referencial. La que contiene al Atributo Llave Externa que hace
referencia a otra tabla. En otras palabras, se puede decir que la relación referencial se
da en aquella tabla que por alguna razón necesita de los datos contenidos en otra
tabla. En el ejemplo anterior esta tabla se llama “Empleados”.
b)
Relación referida.
Contiene el atributo llave primaria la cual es referida por otra
tabla. En otros palabras, la relación referida se da en aquella tabla que contiene una
información que es requerida por otra tabla. En el ejemplo anterior, esta tabla se
llama “Deptos”.
Por otra parte, dado que en la tabla “Deptos” el atributo “CJ” significa “Claves de jefes” esto
quiere decir que esta tabla puede requerir de información de otra tabla diferente a la que llamemos
“JEFES” así, en relación con esa nueva tabla de jefes, la tabla “Deptos” toma una Relación
Referencial, y el atributo “CJ” se convierte en un atributo de “Llave externa”.
OPERACIONES SOBRE TABLAS QUE TENGAN ATRIBUTOS EN COMÚN
1. UNION
A
B
Se forma con todos los valores de A más todos los valores de B, sin repetirlos. Ejemplo:
A
X
X1
X2
X3
X4
Y
Y2
Y4
Y6
Y8
B
X
X2
X3
X1
Y
Y4
Y5
Y3
A
X
X1
X2
X3
X4
X3
X1
B
Y
Y2
Y4
Y6
Y8
Y5
Y3
Go to: https://sites.google.com/site/mccenriqueruizdiaz/
Página 26 de 42
27. Base de Datos I
1.
M.C. Enrique Ruiz Díaz
INTERSECCIÓN
A
B
Se forma con todos los valores que están en A y que están en B. Ejemplo:
A
X
X2
X4
X6
B
Y
Y1
Y2
Y3
3.
X
X4
X1
X6
Y
Y2
Y3
Y3
A B
X
Y
X4
Y2
X6
Y3
A–B
DIFERENCIA
Se forma con todos los valores que están en el primer conjunto y que no se encuentran en el
segundo. Ejemplo:
A
X
X1
X2
X3
X4
Y
Y2
Y4
Y6
Y8
B
X
X2
X4
X6
X8
Y
Y4
Y8
Y10
Y12
A - B
X
Y
X1
Y2
X3
Y6
B-A
X
Y
X6
Y10
X8
Y12
Go to: https://sites.google.com/site/mccenriqueruizdiaz/
Página 27 de 42
28. Base de Datos I
M.C. Enrique Ruiz Díaz
RESTRICCIONES DEL MODELO RELACIONAL
1.
RESTRICCIÓNES DE DOMINIO
El dominio de un atributo debe ser un valor atómico. En otras palabras, en un atributo debe
existir cuando menos el valor de NULL. Por ejemplo:
EMPLEADOS
RFC
Nom_empl
Tupla 1 GUBM 730422 Mercedes Gutiérrez
Bermúdez
Sdo
Ant
10
ND
1
En esta tupla se viola la Restricción de Dominio porque el atributo “Sdo” debe contener su
dato respectivo, o al menos el valor de NULL.
2.
RESTRICCIONES DE CLAVE
Las tuplas (registros) no deben contener valores repetidos. En el siguiente ejemplo
ilustraremos este tipo de violación:
EMPLEADOS
RFC
Nom_empl
Tupla 1 GUBM 730422 Mercedes Gutiérrez
Bermúdez
Tupla 2 GUBM 730422 Mercedes Gutiérrez
Bermúdez
Sdo
4,800
Ant
10
1
4,800
10
1
Go to: https://sites.google.com/site/mccenriqueruizdiaz/
ND
Página 28 de 42
29. Base de Datos I
3.
M.C. Enrique Ruiz Díaz
RESTRICCIONES DE INTEGRIDAD
Esta restricción estable que ningún valor del atributo Llave o clave Primaria puede ser nulo
(NULL). Esto es porque el valor de la clave Primaria o atributo Llave sirve para identificar las tuplas
de manera individual en una relación o tabla. El hecho de que un atributo llave tenga valores nulos
implica que no podremos identificar algunas tuplas. Por ejemplo:
EMPLEADOS
RFC
Nom_empl
Tupla 1
Jazmín Olmedo Rojas
NULL
Tupla 2 GUBM 730422 Carmen Martínez
Sánchez
Sdo
2,500
2,800
Ant
5
3
ND
3
2
El error se produce en la primera tupla porque como ya sabemos el atributo llave no puede
tomar un valor de NULL (ni tampoco un valor repetido).
4.
RESTRICCIONES DE INTEGRIDAD REFERENCIAL
Esta restricción se especifica entre dos relaciones y sirve para mantener la consistencia entre
tuplas de las dos relaciones. En términos informales la restricción de integridad referencial establece
que una tupla en una relación a tabla que haga referencia a otra tabla debe referirse a una tupla
existente en esa relación.
Llave
externa
*Relación Referencial:
EMPLEADOS
RFC
Nom_empl
Tupla 1 GUBM 730422 Carmen Martínez
Sánchez
* Relación Referida:
DEPTOS
Num_D
1
Nom_Dep
Mercadotecnia
Sdo
2,800
Ant
ND
3
Num_Empl
5
1
CJ
JD1
* Véase los términos de relación referencial y relación referida en el subtema de “Llave externa”.
En este ejemplo la Relación “EMPLEADOS” contiene al atributo llave externa “ND” porque
en algún momento necesitará de la información contenida en la Relación “DEPTOS”
específicamente de un departamento número 1, así que este departamento debe de existir.
Go to: https://sites.google.com/site/mccenriqueruizdiaz/
Página 29 de 42
30. Base de Datos I
M.C. Enrique Ruiz Díaz
OPERACIONES SOBRE LAS TABLAS
1.
OPERACIÓN DE INSERTAR.
Anexión de registros.
Llave
externa
EMPLEADOS
RFC
Nom_empl
T 1 GUBM 730422 Mercedes Gutiérrez
Bermúdez
T 2 MASC 730422 Carmen Martínez
Sánchez
T 3 HERG
Gonzalo Hernandez
Rodríguez
Edad
26
Sex
F
Ant
10
Sdo
5,800
ND
1
32
F
13
4,800
2
25
M
5
3,500
1
1.
INSERTAR
<MAHE700321, Eduardo, 28,
M,
NULL, 3800, 1>
R= Es correcto, porque no hay problema en que el atributo “Ant” tome un valor de NULL
dado que dicho atributo no es llave.
2.
INSERTAR
<NULL,
David, 28,
M,
NULL, 2500, 1>
R= No es correcto, porque existe violación a la Restricción de Integridad ya que el atributo
llave no puede tomar un valor de NULL:
Para la siguiente operación de insertar consideramos a una entidad más...
DEPTOS
Num_D
1
2
3
5
Nom_Dep
Mercadotecnia
Ventas
Contabilidad
Producción
Num_Empl
5
50
10
25
Go to: https://sites.google.com/site/mccenriqueruizdiaz/
CJ
JD1
JD2
JD3
JD5
Página 30 de 42
31. Base de Datos I
M.C. Enrique Ruiz Díaz
3.
INSERTAR
<FEHN 680415,
Norma,
32,
F,
5,
3500, 4>
R= No es correcto, porque en la llave externa “ND” de la entidad “EMPLEADOS” debemos
insertar una tupla donde el atributo “ND” (Número de departamento) toma un valor de 4 y para la
entidad referenciada “DEPTOS” no existe dado de alta un departamento con ese número. Se viola la
Restricción de Integridad Referencial
4.
INSERTAR
<MAHE700321, Eduardo, 28,
M,
NULL, 3800, 1>
R= No es correcto, porque se viola la Restricción de Clave, dado que ya existe una tupla con
esa información.
5.
INSERTAR
<________,
Andrea,
21,
F,
4,
2400, 5>
R= No es correcto, se viola la Restricción de Dominio que establece que debe existir cuando
menos un valor de NULL en el atributo. Y de haber existido dicho valor de NULL también seria
incorrecto porque se violaría la restricción de Integridad porque el atributo RFC es atributo llave.
2.
OPERACIÓN DE MODIFICAR.
Cambiar algún(os) datos de una tupla ya
existente.
MODIFICAR a la tupla no. 1 donde RFC= MAHE700321 en el atributo “Ant” a un valor de 11
Tupla 1 original:
<MAHE700321, Eduardo, 28,
M,
NULL, 3800, 1>
Tupla 1 modificada:
<MAHE700321, Eduardo, 28,
M,
11,
3800, 1>
3.
OPERACIÓN DE ELIMINACIÓN.
Borrar alguna tupla ya existente.
En la operación de eliminación se debe evitar que se viole la Restricción de Integridad
Referencial. Por ejemplo, si tenemos:
DEPTOS
Num_D
1
2
3
5
Nom_Dep
Mercadotecnia
Ventas
Contabilidad
Producción
Num_Empl
5
50
10
25
Go to: https://sites.google.com/site/mccenriqueruizdiaz/
CJ
JD1
JD2
JD3
JD5
Página 31 de 42
32. Base de Datos I
EMPLEADOS
RFC
Nom_empl
T 1 GUBM 730422 Mercedes Gutiérrez
Bermúdez
T 2 MASC 730422 Carmen Martínez
Sánchez
T 3 HERG
Gonzalo Hernandez
Rodríguez
M.C. Enrique Ruiz Díaz
Edad
26
Sex
F
Ant
10
Sdo
5,800
ND
1
32
F
13
4,800
2
25
M
5
3,500
2
ELIMINAR: La tupla donde Num_D = 2
R= No es correcto, porque provoca una violación a la Restricción de Integridad Referencial,
ya que la tupla que contiene a Num_D =2 sirve a dos tuplas de la relación “EMPLEADOS”
Go to: https://sites.google.com/site/mccenriqueruizdiaz/
Página 32 de 42
33. Base de Datos I
M.C. Enrique Ruiz Díaz
DEFINICION DE RELACIONES
Tomando las dos últimas relaciones de “EMPLEADOS” y “DEPTOS” definiremos sus
relaciones.
1.
DECLARACIÓN DE ESQUEMA
DECLARE SHEMA COMPAÑIA
DECLARE DOMAIN CLAVE DEL EMPLEADO
DECLARE DOMAIN NOMBRE DEL EMPLEADO
DECLARE DOMAIN EDAD DEL EMPLEADO
DECLARE DOMAIN SEXO DEL EMPLEADO
DECLARE DOMAIN ANTIGÜEDAD
DECLARE DOMAIN SUELDO
DECLARE DOMAIN NUMERO DE DEPARTAMENTO
TYPE A(13)
TYPE C(30)
TYPE N(2)
TYPE C
TYPE N(2)
TYPE N(5)
TYPE N(2)
DECLARE DOMAIN NOMBRE DE DEPARTAMENTO
DECLARE DOMAIN NUMERO DE EMPLEADOS
DECLARE DOMAIN CLAVE DEL JEFE
TYPE C(15)
TYPE N(2)
TYPE A(3)
Donde:
DOMAIN significa “Dominio”
TYPE significa “tipo” y el cual puede ser a su vez:
A( ): Dato alfanumérico (que almacena letras y números) como el RFC
C( ): Dato de cadena de caracteres como el NOMBRE
C:
Dato de un solo carácter como SEXO
N( ): Dato numérico.
A excepción del dato de un solo carácter (C), en todos los
demás se debe especificar la longitud del mismo.
Vea que en esta primera parte de la Definición de relaciones sólo listamos una breve
descripción de los atributos de las tablas, y en el caso del atributo que guarda el “número de
departamento” se encuentra en las 2 tablas no es necesario repetirlo.
Go to: https://sites.google.com/site/mccenriqueruizdiaz/
Página 33 de 42
34. Base de Datos I
2.
M.C. Enrique Ruiz Díaz
DECLARACIÓN DE RELACIONES
DECLARE RELATION EMPLEADOS
FOR SHEMA COMPAÑIA
ATTRIBUTES
RFC
Nom_E mpl
Edad
Sex
Ant
Sdo
ND
DOMAIN
DOMAIN
DOMAIN
DOMAIN
DOMAIN
DOMAIN
DOMAIN
CLAVE DEL EMPLEADO
NOMBRE DEL EMPLEADO
EDAD DEL EMPLEADO
SEXO DEL EMPLEADO
ANTIGUEDAD
SUELDO DEL EMPLEADO
NUMERO DE DEPARTAMENTO
DOMAIN
DOMAIN
DOMAIN
DOMAIN
NUMERO DE DEPARTAMENTO
NOMBRE DEL DEPARTAMENTO
NUMERO DE EMPLEADOS
CLAVE DEL JEFE
DECLARE RELATION DEPTOS
FOR SHEMA COMPAÑIA
ATTRIBUTES
CONSTRAINTS
Num_D
Nom_Dep
Num_Empl
CJ
PRIMARY_KEY
FOREIGN_KEY
RFC
ND
REFERENCES DEPTO
Nota:
PRIMARY_KEY
RFC
Nos dice que RFC es una llave primaria.
FOREIGN_KEY
ND
REFERENCES DEPTO
Nos dice que ND es una llave externa y que hace referencia a otra tabla que
se llama DEPTO.
Go to: https://sites.google.com/site/mccenriqueruizdiaz/
Página 34 de 42
35. Base de Datos I
M.C. Enrique Ruiz Díaz
ALGEBRA RELACIONAL
En este tema estudiaremos la operación de SELECCIONAR y la operación de
PROYECTAR, ambas operaciones nos sirven para tomar solo los datos que nos interesan de una o
más tablas.
Cómo veremos a continuación la operación de SELECCIONAR selecciona unas tuplas y
desecha otras, ahora, de ese conjunto de tuplas (o filas) seleccionadas con la operación
PROYECTAR tomaremos solo los datos de algunos atributos.
1.
OPERACIÓN SELECCIONAR - -
La operación Seleccionar nos sirve para seleccionar un conjunto de las tuplas (filas) de una
Relación (tabla) que satisfacen una condición.
Sintaxis:
< condicion> (Nombre de la relación)
Denotación:
Operación de Seleccionar
<condicion> Establecida por los elementos =, >, <, >=, <=,
y por los operadores AND y OR
Go to: https://sites.google.com/site/mccenriqueruizdiaz/
Página 35 de 42
36. Base de Datos I
Ejemplo:
M.C. Enrique Ruiz Díaz
Consideremos la siguiente tabla:
EMPLEADOS
RFC
Nom_empl
T 1 GUBM 730422 Mercedes Gutiérrez
Bermúdez
T 2 MASC 730422 Carmen Martínez
Sánchez
T 3 HERG
Gonzalo Hernandez
Rodríguez
Edad
26
Sex
F
Ant
10
Sdo
5,800
ND
1
32
F
13
7,800
2
25
M
5
3,500
2
< ND = 2 > (EMPLEADOS)
< SDO > 5,000> (EMPLEADOS)
2.
Operación Selección: de la tabla “EMPLEADOS” Se
seleccionan aquellas tuplas (filas) donde el atributo
“ND” = 2. Resultado: seleccionadas las tuplas 2 y 3.
Resultado: Seleccionada la tupla 1 y 2.
OPERACIÓN PROYECTAR -
-
Es la operación que sigue a la Operación de Seleccionar, es decir, no podemos Proyectar si
previamente no hemos Seleccionado. Si la Selección nos permite tomar solo unas filas o tuplas, la
operación Proyección nos permite tomar de esas tuplas sólo unas determinadas columnas. Dichas
columnas son los atributos que nos interesan.
La Selección y la Proyección nos permiten conseguir una Tabla Derivada, a esta tabla la
podemos llamar “RESULTADOS” y como cualquier otra tabla estará compuesta por algunas tuplas
con los atributos que cumplan tanto con las condiciones de Selección como de Proyección.
Sintaxis:
< Lista de atributos > (Nombre de la Relación)
Ejemplo:
< ND = 2 > AND < sueldo>5,000 > (EMPLEADOS)
< RFC, Nom_empl, Ant > (EMPLEADOS)
RESULTADO
RFC
Nom_empl
T1 MASC 730422 Carmen Martínez
Sánchez
Go to: https://sites.google.com/site/mccenriqueruizdiaz/
Ant
13
Página 36 de 42
37. Base de Datos I
M.C. Enrique Ruiz Díaz
Problema: Obtener una lista de empleados que laboran en el departamento no. 2 y desplegar clave
del empleado, nombre del empleado y nombre del departamento donde labora.
Analisis:
Observe que se nos pide la clave, el nombre del empleado, datos que encontramos en
la misma tabla de “EMPLEADOS” y en ella misma también encontramos el número de
departamento donde cada empleado labora. El problema radica en que se nos pide el nombre del
departamento, y este dato sólo lo encontramos en la tabla “DEPTOS” así, que necesariamente
debemos hacer referencia a esta tabla.
Asi que tengamos a la vista ambas tablas:
DEPTOS
Num_D
1
2
3
5
Nom_Dep
Mercadotecnia
Ventas
Contabilidad
Producción
Num_Empl
5
50
10
25
EMPLEADOS
RFC
Nom_empl
T 1 GUBM 730422 Mercedes Gutiérrez
Bermúdez
T 2 MASC 730422 Carmen Martínez
Sánchez
T 3 HERG 680913 Gonzalo Hernandez
Rodríguez
CJ
JD1
JD2
JD3
JD5
Edad
26
Sex
F
Ant
10
Sdo
5,800
ND
1
32
F
13
7,800
2
25
M
5
3,500
2
Solucion:
< ND = 2 > (EMPLEADOS) AND < Num_D = 2 > (DEPTOS)
< RFC, Nom_empl > (EMPLEADOS), < Nom_dep > (DEPTOS)
RESULTADO
RFC
Nom_empl
T1 MASC 730422 Carmen Martínez
Sánchez
T 2 HERG 680913 Gonzalo Hernandez
Rodríguez
Go to: https://sites.google.com/site/mccenriqueruizdiaz/
Nom_dep
Ventas
Ventas
Página 37 de 42
38. Base de Datos I
M.C. Enrique Ruiz Díaz
SENTENCIAS EN SQL - Lenguaje Estructurado de Consulta –
Básicamente es lo mismo que ya se hizo con las operaciones de Selección y Proyección, pero
ahora aplicamos algunas sentencias elementales del lenguaje SQL. SELECT, FROM Y WHERE
consiguen el resultado que se lograba con Selección más Proyección.
Sintaxis:
SELECT (lista de atributos)
FROM (lista de tablas)
WHERE (condicion)
Ejemplo:
Obtener una lista de empleados (clave, nombre y sueldo) de aquellos que tengan una
antigüedad mayor a 10 años.
Vea que “WHERE” y “FROM” hacen la
SELECT (RFC, Nom_empl, Sdo)
función de la operación Selección, y
FROM (EMPLEADOS)
“SELECT” hace la función de la
WHERE (Ant > 10)
operación Proyección.
ejercicio:
ventas.
a)
Obtener la clave y nombre del empleado de aquellos que estén en el departamento de
Recordemos el Proceso de Selección y Proyección
< Nom_dep = “Ventas” AND ND = Num_D > (EMPLEADOS, DEPTOS)
< RFC, Nom_empl > (EMPLEADOS, DEPTOS)
RESULTADO
RFC
Nom_empl
T1 MASC 730422 Carmen Martínez
Sánchez
T 2 HERG 680913 Gonzalo Hernandez
Rodríguez
Go to: https://sites.google.com/site/mccenriqueruizdiaz/
Página 38 de 42
39. Base de Datos I
b)
M.C. Enrique Ruiz Díaz
Sentencias SQL
SELECT (RFC, Nom_empl)
FROM (EMPLEADOS, DEPTOS)
WHERE (Nom_dep = “Ventas” AND ND = Num_D)
Go to: https://sites.google.com/site/mccenriqueruizdiaz/
Página 39 de 42
40. Base de Datos I
M.C. Enrique Ruiz Díaz
ÍNDICE
UNIDAD I.
INTRODUCCIÓN A LAS BASES DE DATOS .............................. 1
Conceptos ........................................................................................................................................
1. Base de Datos – BD - ............................................................................................................
2. Entidad ..................................................................................................................................
3. Atributos ................................................................................................................................
4. Sistema manejador de Base de Datos – SMBD - ..................................................................
Niveles de abstracción de una base de datos ...................................................................................
1. El nivel externo de vistas ...................................................................................................
2. El nivel conceptual .............................................................................................................
3. El nivel interno o físico ......................................................................................................
Modelos de datos y esquemas .........................................................................................................
Categorías o tipos de Modelos de Datos .........................................................................................
1. El Modelo de Representación o Visión ..............................................................................
2. Los Modelos de Alto nivel o Conceptuales .......................................................................
3. Los Modelos de Bajo nivel o Físico ...................................................................................
Personajes que hacen uso de la base de datos .................................................................................
1. Administrador de la base de datos (ABD) ............................................................................
2. Diseñador de la base de datos ...............................................................................................
3. Diversos usuarios finales ......................................................................................................
a). Usuarios finales esporádicos ......................................................................................
b). Usuarios finales simples o paramétricos .....................................................................
c). Usuarios finales autónomos ........................................................................................
d). Usuarios finales avanzados .........................................................................................
4. Analistas de sistemas y programadores de aplicaciones .......................................................
Problemas de inconsistencia, redundancia e integridad de los datos ..............................................
Causas que provocan falta de integridad en las bases de datos ......................................................
Independencia de datos ...................................................................................................................
a) Independencia Física ..........................................................................................................
b) Independencia Lógica ........................................................................................................
Lenguaje de definición de datos – DDL – ......................................................................................
Lenguaje de manipulación de datos – DML – ................................................................................
UNIDAD II.
1
1
1
1
1
2
2
2
2
3
3
3
3
3
4
4
4
4
4
4
4
4
5
5
6
7
7
7
7
7
MODELO ENTIDAD – RELACIONAL ........................................ 8
Entidad ............................................................................................................................................
Atributos ..........................................................................................................................................
Relación ..........................................................................................................................................
Representación simbólica del modelo entidad relación – ER – ......................................................
Relaciones por número de registro (con respecto a las entidades) .................................................
1. Relación uno a uno (1:1) .......................................................................................................
2. Relación de muchos a muchos (N:M) ...................................................................................
3. Relación de uno a varios (1:N) .............................................................................................
a). 1 a N débil ...................................................................................................................
Go to: https://sites.google.com/site/mccenriqueruizdiaz/
8
8
8
9
9
10
10
10
11
Página 40 de 42
41. Base de Datos I
b).
M.C. Enrique Ruiz Díaz
1 a N fuerte ................................................................................................................. 11
Tipos de atributos para el modelo entidad / relación – ER – ..........................................................
1. Atributos simples y compuestos ...........................................................................................
2. Monovaluados o multivaluados ............................................................................................
3. Atributos Almacenados o derivados .....................................................................................
Relaciones implícitas ......................................................................................................................
Tributo llave ....................................................................................................................................
El subesquema .................................................................................................................................
Entidades Puentes ...........................................................................................................................
Proceso de Normalización ..............................................................................................................
1. Primera Forma Normal .........................................................................................................
2. Segunda Forma Normal ........................................................................................................
3. Tercera Forma Normal .........................................................................................................
UNIDAD III.
11
11
11
12
12
12
13
14
15
15
15
16
BASES DE DATOS RELACIONALES ........................................ 20
Elementos que conforman el modelo relacional a través de tablas .................................................
1. El nombre ..............................................................................................................................
2. Dominio ................................................................................................................................
3. Tupla .....................................................................................................................................
4. Grado de tabla .......................................................................................................................
5. Atributo llave ........................................................................................................................
6. Llave externa .........................................................................................................................
Tipos de relaciones que se dan con el uso de la Llave externa .......................................................
1. Relación referencial ..............................................................................................................
2. Relación referida ...................................................................................................................
Operaciones sobre tablas que tengan atributos en común ...............................................................
1. Unión A B ........................................................................................................................
2. Intersección A B ..............................................................................................................
3. Diferencia A – B ..................................................................................................................
Restricciones del Modelo Relacional ..............................................................................................
1. Restricciones de Dominio .....................................................................................................
2. Restricciones de Clave ..........................................................................................................
3. Restricciones de Integridad ...................................................................................................
4. Restricciones de Integridad Referencial ...............................................................................
Operaciones sobre las Tablas ..........................................................................................................
1. Operación de insertar ............................................................................................................
2. Operación de modificar .........................................................................................................
3. Operación de eliminación .....................................................................................................
Definición de Relaciones ................................................................................................................
Declaración de Esquema .................................................................................................................
Declaración de Relaciones ..............................................................................................................
Algebra Relacional ..........................................................................................................................
1. Operación Seleccionar - - ..................................................................................................
2. Operación Proyectar - - ...................................................................................................
Sentencias en SQL - Lenguaje Estructurado de Consulta – ............................................................
Go to: https://sites.google.com/site/mccenriqueruizdiaz/
20
20
20
20
20
20
21
21
21
21
22
22
22
23
23
23
23
24
24
25
25
26
26
27
27
27
29
29
30
31
Página 41 de 42
42. Base de Datos I
M.C. Enrique Ruiz Díaz
Invitation.
Visit: https://sites.google.com/site/mcenriqueruizdiaz/
Also: http://sites.google.com/site/enriqueruizdiaz/
Get Instruments for your Training.
Go to: https://sites.google.com/site/mccenriqueruizdiaz/
Página 42 de 42