42
Base de Datos I M.C. Enrique Ruiz Díaz Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 1 de 42 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.

Bases de datos i m.c. enrique ruiz díaz

Embed Size (px)

DESCRIPTION

Bases de Datos 1, M.C. Enrique Ruiz Díaz.

Citation preview

Page 1: Bases de datos i   m.c. enrique ruiz díaz

Base de Datos I M.C. Enrique Ruiz Díaz

Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 1 de 42

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.

Page 2: Bases de datos i   m.c. enrique ruiz díaz

Base de Datos I M.C. Enrique Ruiz Díaz

Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 2 de 42

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.

Page 3: Bases de datos i   m.c. enrique ruiz díaz

Base de Datos I M.C. Enrique Ruiz Díaz

Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 3 de 42

Mi Diploma por mi Ponencia en el Instituto Politécnico

Nacional, México, D.F. 2007, durante mis estudios de

Maestría.

Page 4: Bases de datos i   m.c. enrique ruiz díaz

Base de Datos I M.C. Enrique Ruiz Díaz

Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 4 de 42

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 Nombre Especialidad Fecha_ingreso Etc.

5825458 Thalia Informática 29 sept. 2000 ...

... ... ... ... ...

... ... ... ... ...

Page 5: Bases de datos i   m.c. enrique ruiz díaz

Base de Datos I M.C. Enrique Ruiz Díaz

Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 5 de 42

2. Esquema de una Base de datos para una compañía.

SUCURSAL (Clave_suc, Nombre_suc, Localidad, Dir )

DEPTOS (Clave_depto, Nombre_depto, Etc )

JEFES (Clave_jefe, Nombre_jef, Fecha_ingr)

EMPLEADOS (Clave_emplea, Nombre_empl, Edad, Antigüedad)

CONTR_SUEL (Ctr_sdo, Sdo, Clave_emplead)

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 //

Page 6: Bases de datos i   m.c. enrique ruiz díaz

Base de Datos I M.C. Enrique Ruiz Díaz

Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 6 de 42

NIVEL EXTERNO O DE VISIÓN

NIVEL CONCEPTUAL

NIVEL INTERNO O FÍSICO

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. Modelo de Representación o Visión.

2. Modelo de Alto nivel o Conceptuales

3. Modelo de Bajo nivel o Físico

Vista

Usuario 1

Vista

Usuario 2

Vista

Usuario 3

Descripcion de

La BD para el

ABD

Existencia física de

La BD. Para

Programadores

Page 7: Bases de datos i   m.c. enrique ruiz díaz

Base de Datos I M.C. Enrique Ruiz Díaz

Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 7 de 42

// 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. El nivel externo o vistas contiene o emplea al Modelo de Representación o Visión.

2. El nivel Conceptual contiene o emplea al Modelo de Alto nivel o conceptual.

3. 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. Administrador de la BD.

2. Diseñador de la BD

3. Diversos usuarios:

- Esporádicos

- Parametricos

- Finales avanzados

- Autónomos

4. 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.

Page 8: Bases de datos i   m.c. enrique ruiz díaz

Base de Datos I M.C. Enrique Ruiz Díaz

Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 8 de 42

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.

Page 9: Bases de datos i   m.c. enrique ruiz díaz

Base de Datos I M.C. Enrique Ruiz Díaz

Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 9 de 42

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.

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” Campo: “No_Ctrol” etc.

Tipo carácter Tipo numerico

Longitud 35 caracteres

Elizabeth 98021547

ITT

B.D: Alumnos

RECURSOS FIN.

SERVICIOS

ESCOLARES

B.D: Alumnos

CONTROL

ESCOLAR

B.D: Alumnos

Page 10: Bases de datos i   m.c. enrique ruiz díaz

Base de Datos I M.C. Enrique Ruiz Díaz

Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 10 de 42

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.

Figura 2: En un Sistema Manejador de Base de Datos – SMBD – hay una sóla BD que evita la

redundancia e inconsistencia

RECURSOS FIN.

SERVICIOS

ESCOLARES

CONTROL

ESCOLAR

B.D :

Alumnos

ITT

Page 11: Bases de datos i   m.c. enrique ruiz díaz

Base de Datos I M.C. Enrique Ruiz Díaz

Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 11 de 42

CAUSAS QUE PROVOCAN FALTA DE INTEGRIDAD EN LAS BASES DE DATOS

1. Políticas de seguridad de acceso a la BD no adecuadas.

2. Errores humanos

3. Errores del sistema

4. Errores de hardware

5. Fallas de energía

6. 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.

Page 12: Bases de datos i   m.c. enrique ruiz díaz

Base de Datos I M.C. Enrique Ruiz Díaz

Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 12 de 42

UNIDAD II 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:

Nombre, matricula, edad, sexo}

N:M

Nom_Mat, clave_Mat}

ALUMNOS

MATERIAS

Page 13: Bases de datos i   m.c. enrique ruiz díaz

Base de Datos I M.C. Enrique Ruiz Díaz

Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 13 de 42

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

Elipses

Rombos

Líneas

RELACIONES POR NÚMERO DE REGISTRO (con respecto a las entidades)

1 a 1 De uno a uno

1 a N débil

1 a N

1 a N fuerte

N a M De muchos a muchos

Representa ENTIDADES

Representa ATRIBUTOS

Representa RELACIONES

Conecta elementos

Page 14: Bases de datos i   m.c. enrique ruiz díaz

Base de Datos I M.C. Enrique Ruiz Díaz

Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 14 de 42

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.

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

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

Entidad: “EMPLEADOS”

Perla

Hipólito

Concepción

Enrique

“INGREDIENTES”

Leche

Mantequilla

Cholate

“RECETAS

Pastel

Flans

Helados

Gelatina

Page 15: Bases de datos i   m.c. enrique ruiz díaz

Base de Datos I M.C. Enrique Ruiz Díaz

Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 15 de 42

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. Simples o compuestos

2. Monovaluados o multivaluados

3. Almacenados o derivados

1. 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 Nombre Colores

Tupla 1 F025 Rosa Roja,

Blanco,

Amarillo

Tupla 2 F038 Gladiola Blanco,

Amarillo

Page 16: Bases de datos i   m.c. enrique ruiz díaz

Base de Datos I M.C. Enrique Ruiz Díaz

Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 16 de 42

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. Que no tome valores nulos.

2. 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.

Page 17: Bases de datos i   m.c. enrique ruiz díaz

Base de Datos I M.C. Enrique Ruiz Díaz

Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 17 de 42

Ejemplo de Relaciones Implícitas

{clave_suc, Nom_suc, localidad, dir}

{ 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.

{ 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.

{ clave_empl, nom, antiguedad }

SUC

DEPTOS

JEFES

EMPLEADOS

CONTRATO_SDO

JEFES

EMPLEADOS

EMPLEADOS

Page 18: Bases de datos i   m.c. enrique ruiz díaz

Base de Datos I M.C. Enrique Ruiz Díaz

Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 18 de 42

Obtener una lista de empleados que laboran en la sucursal Tuxtepec, Oax.

{clave_suc, localidad}

{ 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.

SUC

DEPTOS

JEFES

EMPLEADOS

Page 19: Bases de datos i   m.c. enrique ruiz díaz

Base de Datos I M.C. Enrique Ruiz Díaz

Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 19 de 42

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 semi-

automatizado. 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 No_llave1, No_llave2, No_llave3, etc.

Por ejemplo:

clave_empl, nom_empl, edad, sex, antiguedad

c) Establecer los nombres de las Entidades para cada para cada una de las

dependencias funcionales establecidas.

{Atributo_Llave, No_llave1, No_llave2, etc.}

Por ejemplo:

{ clave_empl, nom_empl, edad, sex, antiguedad }

2. 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.

Nom_ENTIDAD

EMPLEADOS

Page 20: Bases de datos i   m.c. enrique ruiz díaz

Base de Datos I M.C. Enrique Ruiz Díaz

Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 20 de 42

Por ejemplo: Consideremos que en la Primera Forma Normal obtuvimos la siguiente

Entidad.

{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”.

{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) 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.

b) 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:

{clave_prov, RFC_prov, nom_prov}

1:N fuerte

{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.

PROVEEDORES

PROVEEDORES

FLETES

PROVEEDORES

FLETES

Page 21: Bases de datos i   m.c. enrique ruiz díaz

Base de Datos I M.C. Enrique Ruiz Díaz

Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 21 de 42

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 Nom_alum, edad, sexo, semestre, especialidad

clave_mat Nom_mat, credit_mat

c) Se asignan nombres a las Entidades.

{ No_ctrol, Nom_alum, edad, sexo, semestre, especialidad}

{ 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) Se analiza si es posible volver a derivar aquellas entidades que resultaron

precisamente de una derivación. Por ahora no es el caso.

b) Se establecen las relaciones entre las Entidades.

{ No_ctrol, Nom_alum, edad, sexo, semestre, especialidad}

N:M

{ clave_mat, Nom_mat, credit_mat }

MATERIAS

ALUMNOS

MATERIAS

ALUMNOS

Page 22: Bases de datos i   m.c. enrique ruiz díaz

Base de Datos I M.C. Enrique Ruiz Díaz

Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 22 de 42

Ejercicio: Aplicar el proceso de Normalización a los siguientes datos:

costo_flete nom_prov nom_prod descrip clave_prod

domicilio_prov localidad_prov precio_c clave_prov RFC_prov

1ª forma Normal

a) Se identifican atributos llaves:

costo_flete nom_prov nom_prod descrip clave_prod

domicilio_prov localidad_prov precio_c clave_prov

RFC_prov

b) Se establecen dependencias funcionales

clave_prod nom_prod, descrip, precio_c

clave_prov 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, nom_prov,

domicilio_prov, localidad_prov}

2ª Forma

De las Entidades ya obtenidas se derivan nuevas entidades sólo si es necesario

{clave_prov, RFC_prov, nom_prov}

{clave_prov, localidad_prov, domicilio_prov, costo_flete}

PROVEEDORES

FLETES

Page 23: Bases de datos i   m.c. enrique ruiz díaz

Base de Datos I M.C. Enrique Ruiz Díaz

Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 23 de 42

3ª Forma

a) De la Entidad derivada “FLETES” ahora no se requiere derivar nada más.

b) Establecemos relaciones entre todas las Entidades.

{ clave_prod, nom_prod, descrip, precio_c}

N:M

{clave_prov, RFC_prov, nom_prov}

1:N fuerte

{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.

PRODUCTOS

PROVEEDOR

PRODUCTOS

PROVEEDORES

FLETES

Page 24: Bases de datos i   m.c. enrique ruiz díaz

Base de Datos I M.C. Enrique Ruiz Díaz

Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 24 de 42

UNIDAD III BASES DE DATOS RELACIONALES

_________________________________________________________________________________

ELEMENTOS QUE CONFORMAN EL MODELO RELACIONAL A TRAVÉS DE

TABLAS

Ejemplo de Tabla:

EMPLEADOS RFC Nom_empl Sdo Ant ND

Tupla 1 GUBM 730422 Mercedes Gutiérrez

Bermúdez

4,800 10 1

Tupla 2 HEAC 731125 Catalino M. Hernandez

Andrade

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).

Page 25: Bases de datos i   m.c. enrique ruiz díaz

Base de Datos I M.C. Enrique Ruiz Díaz

Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 25 de 42

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

Atributo

Referido

... ... ... Tabla 2

2 4

4 2

1 1

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:

Llave

Externa

EMPLEADOS RFC Nom_empl Sdo Ant ND

Tupla 1 GUBM 730422 Mercedes Gutiérrez

Bermúdez

4,800 10 1

Tupla 2 HEAC 731125 Catalino M. Hernandez

Andrade

3,500 5 2

DEPTOS Num_D Nom_Dep Num_Empl CJ

1 Mercadotecnia 5 JD1

2 Ventas 50 JD2

3 Contabilidad 10 JD3

Page 26: Bases de datos i   m.c. enrique ruiz díaz

Base de Datos I M.C. Enrique Ruiz Díaz

Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 26 de 42

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 B A B

X Y X Y X Y

X1 Y2 X2 Y4 X1 Y2

X2 Y4 X3 Y5 X2 Y4

X3 Y6 X1 Y3 X3 Y6

X4 Y8 X4 Y8

X3 Y5

X1 Y3

Page 27: Bases de datos i   m.c. enrique ruiz díaz

Base de Datos I M.C. Enrique Ruiz Díaz

Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 27 de 42

1. INTERSECCIÓN A B

Se forma con todos los valores que están en A y que están en B. Ejemplo:

A B A B

X Y X Y X Y

X2 Y1 X4 Y2 X4 Y2

X4 Y2 X1 Y3 X6 Y3

X6 Y3 X6 Y3

3. DIFERENCIA A – B

Se forma con todos los valores que están en el primer conjunto y que no se encuentran en el

segundo. Ejemplo:

A B A - B

X Y X Y X Y

X1 Y2 X2 Y4 X1 Y2

X2 Y4 X4 Y8 X3 Y6

X3 Y6 X6 Y10

X4 Y8 X8 Y12

B - A

X Y

X6 Y10

X8 Y12

Page 28: Bases de datos i   m.c. enrique ruiz díaz

Base de Datos I M.C. Enrique Ruiz Díaz

Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 28 de 42

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 Sdo Ant ND

Tupla 1 GUBM 730422 Mercedes Gutiérrez

Bermúdez

10 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 Sdo Ant ND

Tupla 1 GUBM 730422 Mercedes Gutiérrez

Bermúdez

4,800 10 1

Tupla 2 GUBM 730422 Mercedes Gutiérrez

Bermúdez

4,800 10 1

Page 29: Bases de datos i   m.c. enrique ruiz díaz

Base de Datos I M.C. Enrique Ruiz Díaz

Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 29 de 42

3. 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 Sdo Ant ND

Tupla 1 NULL Jazmín Olmedo Rojas 2,500 5 3

Tupla 2 GUBM 730422 Carmen Martínez

Sánchez

2,800 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.

*Relación Referencial:

EMPLEADOS RFC Nom_empl Sdo Ant ND

Tupla 1 GUBM 730422 Carmen Martínez

Sánchez

2,800 3 1

* Relación Referida:

DEPTOS Num_D Nom_Dep Num_Empl CJ

1 Mercadotecnia 5 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.

Llave

externa

Page 30: Bases de datos i   m.c. enrique ruiz díaz

Base de Datos I M.C. Enrique Ruiz Díaz

Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 30 de 42

OPERACIONES SOBRE LAS TABLAS

1. OPERACIÓN DE INSERTAR. Anexión de registros.

EMPLEADOS RFC Nom_empl Edad Sex Ant Sdo ND

T 1 GUBM 730422 Mercedes Gutiérrez

Bermúdez

26 F 10 5,800 1

T 2 MASC 730422 Carmen Martínez

Sánchez

32 F 13 4,800 2

T 3 HERG Gonzalo Hernandez

Rodríguez

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 Nom_Dep Num_Empl CJ

1 Mercadotecnia 5 JD1

2 Ventas 50 JD2

3 Contabilidad 10 JD3

5 Producción 25 JD5

Llave

externa

Page 31: Bases de datos i   m.c. enrique ruiz díaz

Base de Datos I M.C. Enrique Ruiz Díaz

Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 31 de 42

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 Nom_Dep Num_Empl CJ

1 Mercadotecnia 5 JD1

2 Ventas 50 JD2

3 Contabilidad 10 JD3

5 Producción 25 JD5

Page 32: Bases de datos i   m.c. enrique ruiz díaz

Base de Datos I M.C. Enrique Ruiz Díaz

Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 32 de 42

EMPLEADOS RFC Nom_empl Edad Sex Ant Sdo ND

T 1 GUBM 730422 Mercedes Gutiérrez

Bermúdez

26 F 10 5,800 1

T 2 MASC 730422 Carmen Martínez

Sánchez

32 F 13 4,800 2

T 3 HERG Gonzalo Hernandez

Rodríguez

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”

Page 33: Bases de datos i   m.c. enrique ruiz díaz

Base de Datos I M.C. Enrique Ruiz Díaz

Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 33 de 42

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 TYPE A(13)

DECLARE DOMAIN NOMBRE DEL EMPLEADO TYPE C(30)

DECLARE DOMAIN EDAD DEL EMPLEADO TYPE N(2)

DECLARE DOMAIN SEXO DEL EMPLEADO TYPE C

DECLARE DOMAIN ANTIGÜEDAD TYPE N(2)

DECLARE DOMAIN SUELDO TYPE N(5)

DECLARE DOMAIN NUMERO DE DEPARTAMENTO TYPE N(2)

DECLARE DOMAIN NOMBRE DE DEPARTAMENTO TYPE C(15)

DECLARE DOMAIN NUMERO DE EMPLEADOS TYPE N(2)

DECLARE DOMAIN CLAVE DEL JEFE 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.

Page 34: Bases de datos i   m.c. enrique ruiz díaz

Base de Datos I M.C. Enrique Ruiz Díaz

Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 34 de 42

2. DECLARACIÓN DE RELACIONES

DECLARE RELATION EMPLEADOS

FOR SHEMA COMPAÑIA

ATTRIBUTES RFC DOMAIN CLAVE DEL EMPLEADO

Nom_E mpl DOMAIN NOMBRE DEL EMPLEADO

Edad DOMAIN EDAD DEL EMPLEADO

Sex DOMAIN SEXO DEL EMPLEADO

Ant DOMAIN ANTIGUEDAD

Sdo DOMAIN SUELDO DEL EMPLEADO

ND DOMAIN NUMERO DE DEPARTAMENTO

DECLARE RELATION DEPTOS

FOR SHEMA COMPAÑIA

ATTRIBUTES Num_D DOMAIN NUMERO DE DEPARTAMENTO

Nom_Dep DOMAIN NOMBRE DEL DEPARTAMENTO

Num_Empl DOMAIN NUMERO DE EMPLEADOS

CJ DOMAIN CLAVE DEL JEFE

CONSTRAINTS PRIMARY_KEY RFC

FOREIGN_KEY 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.

Page 35: Bases de datos i   m.c. enrique ruiz díaz

Base de Datos I M.C. Enrique Ruiz Díaz

Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 35 de 42

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

Page 36: Bases de datos i   m.c. enrique ruiz díaz

Base de Datos I M.C. Enrique Ruiz Díaz

Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 36 de 42

Ejemplo: Consideremos la siguiente tabla:

EMPLEADOS RFC Nom_empl Edad Sex Ant Sdo ND

T 1 GUBM 730422 Mercedes Gutiérrez

Bermúdez

26 F 10 5,800 1

T 2 MASC 730422 Carmen Martínez

Sánchez

32 F 13 7,800 2

T 3 HERG Gonzalo Hernandez

Rodríguez

25 M 5 3,500 2

< ND = 2 > (EMPLEADOS)

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.

< SDO > 5,000> (EMPLEADOS)

Resultado: Seleccionada la tupla 1 y 2.

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 Ant

T1 MASC 730422 Carmen Martínez

Sánchez

13

Page 37: Bases de datos i   m.c. enrique ruiz díaz

Base de Datos I M.C. Enrique Ruiz Díaz

Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 37 de 42

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 Nom_Dep Num_Empl CJ

1 Mercadotecnia 5 JD1

2 Ventas 50 JD2

3 Contabilidad 10 JD3

5 Producción 25 JD5

EMPLEADOS RFC Nom_empl Edad Sex Ant Sdo ND

T 1 GUBM 730422 Mercedes Gutiérrez

Bermúdez

26 F 10 5,800 1

T 2 MASC 730422 Carmen Martínez

Sánchez

32 F 13 7,800 2

T 3 HERG 680913 Gonzalo Hernandez

Rodríguez

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 Nom_dep

T1 MASC 730422 Carmen Martínez

Sánchez

Ventas

T 2 HERG 680913 Gonzalo Hernandez

Rodríguez

Ventas

Page 38: Bases de datos i   m.c. enrique ruiz díaz

Base de Datos I M.C. Enrique Ruiz Díaz

Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 38 de 42

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.

SELECT (RFC, Nom_empl, Sdo)

FROM (EMPLEADOS)

WHERE (Ant > 10)

ejercicio: Obtener la clave y nombre del empleado de aquellos que estén en el departamento de

ventas.

a) 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

Vea que “WHERE” y “FROM” hacen la

función de la operación Selección, y

“SELECT” hace la función de la

operación Proyección.

Page 39: Bases de datos i   m.c. enrique ruiz díaz

Base de Datos I M.C. Enrique Ruiz Díaz

Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 39 de 42

b) Sentencias SQL

SELECT (RFC, Nom_empl)

FROM (EMPLEADOS, DEPTOS)

WHERE (Nom_dep = “Ventas” AND ND = Num_D)

Page 40: Bases de datos i   m.c. enrique ruiz díaz

Base de Datos I M.C. Enrique Ruiz Díaz

Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 40 de 42

Í N D I C E

UNIDAD I. INTRODUCCIÓN A LAS BASES DE DATOS .............................. 1 Conceptos ........................................................................................................................................ 1

1. Base de Datos – BD - ............................................................................................................ 1

2. Entidad .................................................................................................................................. 1

3. Atributos ................................................................................................................................ 1

4. Sistema manejador de Base de Datos – SMBD - .................................................................. 1

Niveles de abstracción de una base de datos ................................................................................... 2

1. El nivel externo de vistas ................................................................................................... 2

2. El nivel conceptual ............................................................................................................. 2

3. El nivel interno o físico ...................................................................................................... 2

Modelos de datos y esquemas ......................................................................................................... 3

Categorías o tipos de Modelos de Datos ......................................................................................... 3

1. El Modelo de Representación o Visión .............................................................................. 3

2. Los Modelos de Alto nivel o Conceptuales ....................................................................... 3

3. Los Modelos de Bajo nivel o Físico ................................................................................... 3

Personajes que hacen uso de la base de datos ................................................................................. 4

1. Administrador de la base de datos (ABD) ............................................................................ 4

2. Diseñador de la base de datos ............................................................................................... 4

3. Diversos usuarios finales ...................................................................................................... 4

a). Usuarios finales esporádicos ...................................................................................... 4

b). Usuarios finales simples o paramétricos ..................................................................... 4

c). Usuarios finales autónomos ........................................................................................ 4

d). Usuarios finales avanzados ......................................................................................... 4

4. Analistas de sistemas y programadores de aplicaciones ....................................................... 5

Problemas de inconsistencia, redundancia e integridad de los datos .............................................. 5

Causas que provocan falta de integridad en las bases de datos ...................................................... 6

Independencia de datos ................................................................................................................... 7

a) Independencia Física .......................................................................................................... 7

b) Independencia Lógica ........................................................................................................ 7

Lenguaje de definición de datos – DDL – ...................................................................................... 7

Lenguaje de manipulación de datos – DML – ................................................................................ 7

UNIDAD II. MODELO ENTIDAD – RELACIONAL ........................................ 8 Entidad ............................................................................................................................................ 8

Atributos .......................................................................................................................................... 8

Relación .......................................................................................................................................... 8

Representación simbólica del modelo entidad relación – ER – ...................................................... 9

Relaciones por número de registro (con respecto a las entidades) ................................................. 9

1. Relación uno a uno (1:1) ....................................................................................................... 10

2. Relación de muchos a muchos (N:M) ................................................................................... 10

3. Relación de uno a varios (1:N) ............................................................................................. 10

a). 1 a N débil ................................................................................................................... 11

Page 41: Bases de datos i   m.c. enrique ruiz díaz

Base de Datos I M.C. Enrique Ruiz Díaz

Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 41 de 42

b). 1 a N fuerte ................................................................................................................. 11

Tipos de atributos para el modelo entidad / relación – ER – .......................................................... 11

1. Atributos simples y compuestos ........................................................................................... 11

2. Monovaluados o multivaluados ............................................................................................ 11

3. Atributos Almacenados o derivados ..................................................................................... 12

Relaciones implícitas ...................................................................................................................... 12

Tributo llave .................................................................................................................................... 12

El subesquema ................................................................................................................................. 13

Entidades Puentes ........................................................................................................................... 14

Proceso de Normalización .............................................................................................................. 15

1. Primera Forma Normal ......................................................................................................... 15

2. Segunda Forma Normal ........................................................................................................ 15

3. Tercera Forma Normal ......................................................................................................... 16

UNIDAD III. BASES DE DATOS RELACIONALES ........................................ 20 Elementos que conforman el modelo relacional a través de tablas ................................................. 20

1. El nombre .............................................................................................................................. 20

2. Dominio ................................................................................................................................ 20

3. Tupla ..................................................................................................................................... 20

4. Grado de tabla ....................................................................................................................... 20

5. Atributo llave ........................................................................................................................ 20

6. Llave externa ......................................................................................................................... 21

Tipos de relaciones que se dan con el uso de la Llave externa ....................................................... 21

1. Relación referencial .............................................................................................................. 21

2. Relación referida ................................................................................................................... 21

Operaciones sobre tablas que tengan atributos en común ............................................................... 22

1. Unión A B ........................................................................................................................ 22

2. Intersección A B .............................................................................................................. 22

3. Diferencia A – B .................................................................................................................. 23

Restricciones del Modelo Relacional .............................................................................................. 23

1. Restricciones de Dominio ..................................................................................................... 23

2. Restricciones de Clave .......................................................................................................... 23

3. Restricciones de Integridad ................................................................................................... 24

4. Restricciones de Integridad Referencial ............................................................................... 24

Operaciones sobre las Tablas .......................................................................................................... 25

1. Operación de insertar ............................................................................................................ 25

2. Operación de modificar ......................................................................................................... 26

3. Operación de eliminación ..................................................................................................... 26

Definición de Relaciones ................................................................................................................ 27

Declaración de Esquema ................................................................................................................. 27

Declaración de Relaciones .............................................................................................................. 27

Algebra Relacional .......................................................................................................................... 29

1. Operación Seleccionar - - .................................................................................................. 29

2. Operación Proyectar - - ................................................................................................... 30

Sentencias en SQL - Lenguaje Estructurado de Consulta – ............................................................ 31

Page 42: Bases de datos i   m.c. enrique ruiz díaz

Base de Datos I M.C. Enrique Ruiz Díaz

Go to: https://sites.google.com/site/mccenriqueruizdiaz/ Página 42 de 42

Invitation.

Visit: https://sites.google.com/site/mcenriqueruizdiaz/

Also: http://sites.google.com/site/enriqueruizdiaz/

Get Instruments for your Training.