Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Unidad Objetivo
Introducción a los Conocerá los conceptos básicos de Bases de Datos,
Sistemas de Identificará la arquitectura de los sistemas de base de datos,
Base de Datos Comprenderá la estructura de niveles de una base de datos,
Aprenderá las tareas o responsabilidades de un DBA
Modelo Conocerá los elementos que conforman el modelo de base de
Relacional datos relacional, Comprenderá su significado
Modelación de Identificará las diferentes metodologías de modelación de
Bases de Datos bases de datos con que puede trabajar, Conocerá de manera
profunda la modelación E-R, Complementará los conocimientos
obtenidos en la unidad anterior y llevará a la práctica la
modelación de una base de datos real.
Normalización Aprenderá los conceptos relativos a la normalización de una
base de datos, Será capaz de aplicar estos conceptos en
normalización práctica
Programa
Unidad Objetivo
Algebra y Cálculo Aprenderá los conceptos relacionados con el lenguaje de
Relacional consulta formal conocido como álgebra relacional y cálculo
relacional, Aplicará los mismos para realizar consultas
prácticas a una base de datos
Lenguajes de Aprenderá Las características generales de los lenguajes de
Manipulación de bases de datos, Aprenderá los comandos de los lenguajes de
Bases de Datos consulta comerciales SQL, Será capaz de manipular una base
Relacionales de datos utilizando SQL en la práctica para resolver consultas
reales, Aprenderá los comandos de los lenguajes de consulta
comerciales QBE, Será capaz de manipular una base de datos
utilizando QBE en la práctica para resolver consultas reales
Bibliografía
BÁSICAS:
Introducción a los sistemas de Bases de Datos, C. J. Date, Editorial Addison-Wesley,
Quinta edición
Fundamentos de Bases de Datos, Henry F. Korth, Abraham Silberschatz, Mc. Graw-
Hill, 2a. Edición
Fundamentals of Data Normalization, Alan F. Dutka, Howard H. Hanson, Addison
Wesley Publishing Company, 1989
Database Modeling and Design The Entity-Relationship Approach, Toby J. Teorey,
Morgan Kaufmann Publishers, Inc., Quinta Edición
Diapositivas del Profesor
COMPLEMENTARIAS:
Procesamiento de Bases de Datos, Fundamentos, Diseño e Instrumentación, David
M. Kroenke,Prentice-Hall
Diseño de Bases de Datos, Gio Wiederhold, Mc. Graw-Hill, 2a. Edición
Introducción a las Bases de Datos, Gyo., Editorial Prentice-Hall.
Diseño de Bases de Datos Relacionales, Adoración de Miguel Castaño, Mario Piattini
Velthuis, Esperanza Marcos Martínez, Edit. Alfaomega. RA-M
Políticas del Curso
Copia:
En exámenes parciales:
1ra. vez: Cero en ese examen.
2da. vez: Anular curso por fraude.
Evaluación:
Modo
Presencia
Primer Parcial 20%
Segundo Parcial 20%
Examen Final 25%
Proyecto Final 25%
Tareas y Actividades 10%
Fechas de Exámenes:
OBJETIVOS:
1 . E N T E N D E R E L C O N C E P T O D E D AT O E
INFORMACIÓN.
2. CONOCERÁ LOS CONCEPTOS BÁSICOS DE BASES
D E D AT O S .
3. IDENTIFICARÁ LA ARQUITECTURA DE LOS
S I S T E M A S D E B A S E D E D AT O S
4. COMPRENDERÁ LA ESTRUCTURA DE NIVELES DE
U N A B A S E D E D AT O S .
5 . A P R E N D E R Á L A S TA R E A S O
RESPONSABILIDADES DE UN DBA
Introducción a los Sistemas de
Base de Datos
1 . C O N C EP T O S G EN ER A L ES D E U N S I S T EM A
DE BASE DE DATOS
1.1 Concepto de Dato e Información
1.2 Dato vs Información
1.3 Características que debe cumplir la Información.
1.4 ¿Qué es un Sistema de Base de Datos?
1.5 Diferencias entre sistemas de Archivos y Bases de Datos.
1.7 Objetivos de los Sistemas de Base de Datos.
1.8 Niveles de un Sistema de Base de Datos.
Concepto de Dato e Información
Dato:
Son símbolos de lenguajes, matemáticos u otros que se usan
para representar personas, objetos, eventos o conceptos.
Reflejan hechos recogidos en la organización y que están
todavía sin procesar.
Es un elemento que por si solo no significa algo o no aporta
información.
Definición de Dato
Dato:
Son realidades concretas en su estado primario, por ejemplo:
nombre de una persona: Ana, Luis
número telefónico: 449-123-45-89
puesto en el organigrama: Director TI
Color: Blanco
etc.
Ejemplos de Datos:
Director, 449-134-1111, Tecnologías de Información, Ana Laura
Macías.
10, 3er, blanco, automóvil, mesa, banco, silla, teléfono, etc.
Definición de Información
Información:
Es el resultado de la modelación, formateo, organización o
conversión de datos, en un modo que incremente el nivel de
conocimiento para el receptor.
Conjunto de datos organizados que tienen un significado para
el interesado.
Datos organizados de tal modo que adquieren un valor
adicional más allá del propio.
Datos:
Gerente, 449-134-1111, Tecnologías de Información, Ana Laura
Macías.
10, 3er, blanco, automóvil, mesa, banco, silla, teléfono.
30%, Bimestre, Ventas.
Base de Datos, Jorge Eduardo Macías Luévano, ISC
Información
En el 3er piso del edificio blanco trabajan 10 personas.
Las ventas incrementaron en un 30% con respecto al bimestre
anterior.
Ana Laura Macías es la Gerente de Tecnologías de Información y
su teléfono celular es 449-134-1111.
Jorge Eduardo Macías Luévano es el Profesor de la materia de
Base de Datos para ISC.
Dato Vs. Información
Información:
Juan Durán es
alumno de la
Proceso de Transformación: materia de Base
Datos:
Políticas de calificación de la de Datos y sus
Base de
materia de Base de datos: 2 calificaciones
Datos
Exámenes Parciales, 1 son: ExP1=8,
Juan Durán,
Examen Fina, Tareas, 1 ExP2= 7, ExFin=
8, 7, 9, 7, 8, Proyecto Final, condicionado 9, Tareas=7,
90% al % de asistencia a clases. ProyFin=8; y
tuvo una
asistencia a
clases del 90%
Proceso para convertir Datos en Información
Datos:
Juan Durán Proceso de Transformación:
Promedio=(ExP1*0.15)+(ExP Información:
ExP1=8
2*0.15)+(ExFin*0.3)+(ProyFin Calificación Final
ExP2=7
*0.3)+(Tareas*0.1) de Juan Durán de
ExFin=9 Si Asist >= 80 Entonces la materia Base
Tareas=7 Califin=Promedio de Datos es 8.05
ProyFin=8 SiNo Califin=0
Asist=90%
Características que debe cumplir la Información
Exacta:
Debe ser precisa y libre de errores.
Puede generarse información inexacta porque se insertan datos
inexactos en el proceso de transformación.
Ejemplo:
Información Inexacta: La calificación de Juan Díaz esta entre 5 y 7.
Información Exacta: La calificación de Juan Díaz es de 6.67
Completa:
Debe contener todos los datos o hechos importantes.
Ejemplo:
Información Incompleta: La calificación es 6.
Información Completa: La calificación de Juan Díaz es de 6
Características que debe cumplir la Información
Económica:
Los costos de producción de la información deben ser menor que
los beneficios proporcionados a la organización.
Ejemplo:
Sistema esiima:
Costos:
• Inversión inicial de desarrollo e implementación
• Mantener en Operación y Mantenimiento.
Beneficios:
• Mucho menor uso de papel
• Ahorro en sueldos y disminuir personal.
• Servicio de 24/7
• Disminuir tiempos y costos de traslados
• Tener información en línea.
• Contar con información necesaria y en tiempo para toma de
decisiones.
Características que debe cumplir la Información
Confiable:
Se debe garantizar la calidad de los datos utilizados, así como de las
fuentes de información.
Ejemplo:
No confiable: rumores, radio pasillo, publicaciones de algún evento y que no
muestran las fuentes.
Confiable: publicaciones de eventos que muestran claramente las
fuentes de donde se obtuvo esa información, información obtenida de un
sistema de información bien alimentado y operado, datos estadísticos o
históricos.
Flexible:
La información debe ser flexible; la misma información, mostrada de
diferente manera, debe servir a diferentes usuarios.
Ejemplo:
Reporte de Inventarios por Almacén y Reporte de inventarios Global, ambos
reportes muestran la existencia de cada producto, solo que el por Almacén
muestra la existencia de cada producto en cada almacén, y el Global
muestra la existencia total en la organización de cada producto.
Características que debe cumplir la Información
Pertinente:
Debe ser adecuada y oportuna para el tomador de decisiones o para el sujeto
objetivo.
La información debe ser la que la persona necesita para tomar la decisión o
aumentar su conocimiento, ni más ni menos.
Ejemplo:
Información Pertinente para el director de ventas: El total de ventas del día,
solo necesita el monto total de ventas.
No pertinente: el reporte de todas las notas de venta del día.
Simple:
Debe ser simple, no debe ser compleja; orientada al usuario objetivo; el exceso
de información puede crear sobrecarga de información.
Ejemplo:
Información Simple: Para un vendedor: el precio de venta de un producto y
existencia.
Información No Simple: Para un vendedor: toda la información de costo, gastos
de compra, formula para obtener el precio de venta; y toda la información de
compras, ventas, devoluciones a proveedores y devoluciones de clientes para
obtener la existencia actual del producto.
Características que debe cumplir la Información
Oportuna:
Debe tener acceso a ella la persona que la necesita, justo cuando la
requiere o necesite.
Ejemplo:
Oportuna: Para un vendedor acceder al precio de venta y existencia de un
producto, cuando el cliente se lo pide.
No Oportuna: Para un vendedor acceder al precio de venta y existencia de
un producto después de que el cliente se fue.
Verificable:
Debe ser verificable, saber que es correcta.
Se debe poder verificar en base a los datos que originan esa
información.
Ejemplo:
Verificable: Juan Díaz tiene un promedio general de 8.7, y muestra el
documento oficial del Kardex de calificaciones de la universidad.
No Verificable: Andrés López dice que tiene promedio de 10, pero no existe
ningún documento oficial que lo pruebe.
Características que debe cumplir la Información
Accesible:
Debe ser de fácil acceso para los interesados.
Ejemplo:
Accesible: Alumno acceda a Información de su Kardex mediante
istema esiima.
No Accesible: Alumno debe realizar un proceso muy largo y
complicado para tener acceso a la información del Kardex.
Segura:
Debe estar protegida contra el acceso de usuarios no autorizados.
Ejemplo:
Segura: Alumno tenga acceso a información del esiima, se debe
tener un usuario y contraseña, lo cual le da acceso solo a la
información correspondiente al alumno con ese usuario y
contraseña.
No Segura: Alumno tenga acceso a toda la información de todos los
alumnos en el esiima.
Características que debe cumplir la Información
Nivel de Detalle:
Debe presentar el nivel de detalle que requiere el usuario objetivo,
y la presentación y formato adecuado, para que resulte sencilla y
fácil de manejar.
Libre de Influencia:
No debe tener influencia de ningún tipo.
La información se debe de generar a partir de los datos de entrada
al proceso de generación de información, y la información no se
debe de alterar de acuerdo a conveniencia de alguien.
Cuantificable:
Se debe poder cuantificar que tanto sirve.
Finalidad:
Para que se va a utilizar.
Características que debe cumplir la Información
Informal:
No esta basada en datos formales.
Son las opiniones, juicios, intuición, experiencias personales,
corazonadas, rumores, sexto sentido, etc.
Es necesaria para complementar la información formal.
Se excluye del dominio de los sistemas de información
organizacionales.
Ejemplo:
Creo que va a llover porque le duele la rodilla a mi abuelo.
La gasolina ya va a costar $10 el litro, porque se inauguró la nueva
refinería.
Van a cambiar al Director de Finanzas, lo escuche en la cafetería.
Según el estudio de mercadotecnia y de simulación la mejor opción
para poner la nueva tienda es en el sitio A, pero el propietario dice que
le late más el sitio B.
Tipos de Información
Formal:
Es el principal producto que produce un Sistema de Información.
Incluye:
Reportes o Consultas
Reporte de Ventas
Reporte del Incidencias del personal
Políticas de la Organización
Reporte de Ventas por debajo de la utilidad deseada.
Manual de Reglamentos y Políticas de la organización.
Procedimientos de la Organización
Manual de procesos
Avances de Orden de producción.
Estado de cuenta de Clientes
Requerimientos de planeación
Estadísticas de Ventas o Ordenes de producción por fechas.
Plan estratégico
Presupuesto anual.
Etc.
Ciclo de Vida de los Datos
¿Que es un Sistema de Base de Datos?
Base de Datos
Dato:
Son símbolos de lenguajes, matemáticos u otros que se usan
para representar personas, objetos, eventos o conceptos.
449-123-54-45
Registro:
Es un conjunto de datos, asociados a una persona, objeto,
evento o concepto de interés.
Ejemplo: Registro de datos contacto proveedor:
Archivo:
Colección de todas las ocurrencias de un tipo de registro
(lógico) determinado.
Estos archivos son del sistema operativo.
Ejemplo: Archivo Datos contacto proveedor
Tipos de Archivos:
Texto o Secuenciales
Binario o Aleatorios
Indexado
Luis PEDL Nieto 123, 449916 lperez@gm 101 15/06/21 1 Consulta 500.00 500.00 80.00 580.00
Pérez 70112 Centro, 7898 ail.com Médica
8TR5 Ags, Ags
Luis PEDL Nieto 123, 449916 lperez@gm 101 28/07/22 1 Consulta 800.00 800.00 128.00 928.00
Pérez 70112 Centro, 7898 ail.com Médica
8TR5 Ags, Ags
Sistema de Archivos
Luis PEDL Nieto 123, 449916 lperez@gm 101 15/06/21 1 Consulta 500.00 500.00 80.00 580.00
Pérez 70112 Centro, 7898 ail.com Médica
8TR5 Ags, Ags
Luis PEDL Nieto 123, 449916 lperez@gm 101 28/07/22 1 Consulta 800.00 800.00 128.00 928.00
Pérez 70112 Centro, 7898 ail.com Médica
8TR5 Ags, Ags
Sistema de Archivos
Tabla Agenda de la
BD SisMed Tabla ExpMed de la BD SisMed
Redundancia mínima.
La redundancia de datos debe ser controlada, de forma
que no exista duplicidad de datos innecesarias.
Que la redundancia física, convenientes muchas veces a
fin de responder a objetivos de eficiencia, sean tratadas
por el mismo sistema, de modo que no puedan
producirse inconsistencias.
Se trata de usar la base de datos como repositorio común
de datos para distintas aplicaciones.
Un dato se actualizará lógicamente por el usuario en
forma única, y el sistema se preocupará de cambiar
físicamente todos aquellos campos en los que el dato
estuviese repetido en caso de existir redundancia física
(redundancia controlada).
Objetivos de los Sistemas de BD
Datos:
Los datos almacenados en la base de datos; y la estructura que tienen.
Hardware:
Son los los servidores (computadora) y dispositivos de almacenamiento
secundario, donde esta físicamente la base de datos: discos duros,
unidades de cinta, etc.;.
Software:
Es el software que permite la comunicación entre el usuario y la base de
datos, como se encuentra físicamente.
A este software se le conoce como Sistema Manejador de Base de Datos
(SMBD) y los sistemas de software.
Usuarios:
Son quienes acceden a la base de datos y son de 3 tipos:
1. Programadores de Aplicaciones.
2. Usuarios Finales.
3. Administrador de la Base de datos (DBA)
Componentes de un Sistema de BD
Sistema de Administración de
Base de Datos (DBMS)
Base de Datos
Usuario
Nivel Conceptual Empleado Departamento
2. ARQUITECTURA DE UN SISTEMA DE
BASE DE DATOS
Arquitectura ANSI-SPARC
Id_Alum Id_Carr
1 LITC
2 ISC
11 ISC Tabla o Relación:
Alumno_Carrera
13 IEC
Introducción a los Sistemas de
BD
3. ADMINISTRADOR DE BASE DE
DATOS
(DBA)
DBA
OBJETIVOS:
1. CONOCERÁ LOS ELEMENTOS QUE CONFORMAN EL
MODELO DE BASE DE DATOS RELACIONAL
2. COMPRENDERÁ SU SIGNIFICADO
Modelo Relacional
2 . 1 . R E PA S O D E T EO R Í A D E
CONJUNTOS
Teoría de Conjuntos
Tipos de Conjuntos:
Conjunto Universal: Todo lo que tiene que ver con el
problema.
Alumnos de la UAA
Conjunto Finito: Tiene un número determinado de
miembros.
Alumnos de la carrera de ISC de la UAA
Conjunto Infinito: Tiene un número indeterminado de
miembros.
Números Reales
Conjunto Vacío: No contiene elementos.
Alumnos que están inscritos al mismo tiempo en las carreras de
ISC, LITC e ICI.
Teoría de Conjuntos
Llave Primaria
Atributo
Relación
Tuplas
Base de Datos Relacional
Dominios simples:
Son los que sus valores son totalmente atómicos.
ID, Sexo, Teléfono, Edad, Código Postal
Dominios compuestos:
Son aquellos cuyos valores son resultado de producto
cartesiano de dos o más Dominios Simples.
Fecha_Nacimiento: es el resultado del producto cartesiano de los
dominios “Días_del_Mes” y “Mes” y “Año”
Domicilio: resultado del producto cartesiano de los dominios;
Calle, Número exterior, Número interior, Colonia, Municipio y
Estado.
Tuplas
Cuerpo o Conjunto de
Tuplas; compuestas de
pares Atributo-Valor
(ID_Alum, 1),
(Nom_Alum, Juan),
(Estatus, A)
Llaves
Superllaves:
SubConjuntos de atributos que identifican de forma única a una
tupla, dentro de una relación.
Ejemplo: (ID_Alum+Nom_Alum+Estatus),
(ID_Alum+Nom_Alum), (Id_Alum)
SuperLLaves
Llave Primaria:
Es un conjunto mínimo de atributos de una relación que
identifican de manera única a una tupla.
Es una superllave mínima, sin redundancia.
Ejemplo: En la Relación/Tabla Alumno la Llave Primaria es
ID_Alum
Llave candidata:
Combinación de uno o más atributos que pueden actuar como
llave primaria.
Ejemplo: En la Relación/Tabla Alumno las Llaves Candidatos
son ID_Alum, (ID_Alum, Nombre_Alum)
Llaves
Llaves foráneas:
Es el conjunto de atributos en una Tabla/Relación, que es el resultado de
la asociación dos o más Tablas/Relaciones; donde este conjunto de
atributos representa a la llave primaria de las tablas asociadas.
Ejemplo: La asociación entre las tablas Alumno y Carrera
Llave Foránea
Alumno Carrera
Id_Al Nom_Al Estat Carre Id_Carr Nom_Carr Sem
um um us ra LITC Lic. En Inf. y T. C. 9
1 Juan A LITC ISC Ing. en SC 9
2 Sandra A ISC IEC Ing. en Electrónica 10
11 Martha B LITC ICI Ing. en Comp. Inteligente 10
13 Luis A ISC
14 Pedro B ICI
Restricciones del Modelo Relacional
Restricciones de Dominio
Restricciones de Llave
Restricciones de Integridad
De Entidades
De integridad referencial
Restricciones del Modelo Relacional
Restricciones de Dominio
Las restricciones de dominio especifican que el valor de cada
atributo Ai debe ser un valor atómico del dominio Di, para ese
atributo.
Por ejemplo: Los valores del atributo ID_Alum deben estar
dentro del dominio de valore numéricos enteros mayores a
cero.
Restricciones de Llave.
No puede haber dos tuplas, en una misma Relación, iguales.
Debe haber un conjunto de atributos que permita diferenciar
una tupla de todas las demás.
Por ejemplo: en la Relación Alumno el ID_Alum es un atributo
que funge como llave, ya que permite diferenciar a cada tupla.
Restricciones del Modelo Relacional
Restricción de Integridad:
La restricción de Integridad de entidades establece que ningún
valor de una llave primaria puede ser nulo.
Por ejemplo: En la Relación Alumno los valores de atributo
ID_Alum no pueden ser nulos, por se este atributo la llave
primaria.
La restricción de Integridad Referencial indica que: “una
tupla, en una relación A, que haga referencia a otra relación
B, deberá referirse a una tupla existente en la relación B”.
Restricciones del Integridad Referencial
Alumno Carrera
Id_A Nom_Alum Esta Carrera Id_Carr Nom_Carr Se
lum tus m
1 Juan A LITC LITC Lic. En Inf. y T. C. 9
2 Sandra A IEC ISC Ing. en SC 10
11 Martha B ISC IEC Ing. en Electrónica 10
13 Luis A ISC ICI Ing. en Comp. 10
14 Pedro B LITC Inteligente
19 Laura A MITC Maestría en Info y TC 4
Restricción de Integridad Referencial
Ejemplo: Sistema Control de Llantas
31
Unidad
Llanta
Medición
Cambio de Llanta
Vulcanizado
Ejemplo
36
OBJETIVOS:
1APRENDERÁ LOS CONCEPTOS RELATIVOS A LA
NORMALIZACIÓN DE UNA BASE DE DATOS
SERÁ CAPAZ DE APLICAR ESTOS CONCEPTOS EN
NORMALIZACIÓN PRÁCTICA
Normalización
Anomalía de Baja:
÷ Una base de datos que no este normalizada, y por ende bien
diseñada, puede ocasionar problemas de perdida de información
al momento de borrar una tupla/registro.
÷ Por ejemplo al borrar la factura con folio 102 perdemos los datos
del cliente Luis Díaz.
No RFC Direccio Tel email Fol Fecha FolFi Sell Sell C Concept Precio Subto Imp Total
mbr n io sc o oP a o t
e AC nt
Luis PED Nieto 44991 lperez@ 101 15/06/ 1234 32 25 1 Asesoría 50,000 50,000 8,000 58,000.
Pére L70 123, 67898 gmail.co 18 5678 procesos .00 .00 .00 00
z 112 Centro, m 9
8TR Ags, Ags
5
Luis DID Rincón 44991 ldiaz@g 102 10/08/ 1234 32 25 1 Consultor 800,00 800,00 128,0 928,00
Díaz L70 123, San 67757 mail.co 19 5678 ía 0.00 0.00 00.00 0.00
112 Marcos, m 9
8TR Ags, Ags
5
Anomalías de Altas, Bajas y Cambios
PROFESOR-MATERIA1 MATERIA
12
En un consultorio médico nos están pidiendo un sistema
que lleve el registro y control de los datos e información
generada en cada una de las consultas médicas; la
información que se genera de cada consulta médica son:
¡ Fecha de la consulta
¡ Paciente
¡ Temperatura del paciente
¡ Peso
¡ Talla
¡ Síntomas o Padecimiento
¡ Estudios químicos y/o de imagenología
¡ Diagnóstico
¡ Tratamiento
Un paciente puede ir a consulta varias veces en
diferentes días.
Normalización
18
Tercera forma normal
PROFESOR
PROFESOR OFICINA
#Prof Nombre #Oficina #Oficina Teléfono
• Se crea la tabla OFICINA con los atributos #Oficina y Teléfono, que son los atributos
con la dependencia transitiva, se quita el atributo Teléfono de la tabla Profesor, y el
atributo #Oficina se convierte en la llave de la tabla “Oficina”
• El atributo #Oficina se queda en la tabla Profesor, para mantener la relación con la
tabla oficina. Este atributo #Oficina se queda como una “llave-foránea” 19
Normalización
Y Factura queda:
Factura(Folio, Fecha, RFC_cte, Subtotal, Impuesto, Total,
FolioFiscal)
Normalización
SAG900215 SER AV. 1234 PANOR AGUASCA AGS MÉXICO 4499964 4491237 compras
UC4 VAL CONSTITU AMA LIENTES 512 896 @serval.
CION com
SAG900215 SER 1er. Anillo 325 OLIVAR AGUASCA AGS MÉXICO 4499966 4491237 compras
UC4 VAL Nte ES LIENTES 958 896 @serval.
com
SAG900215 SER BLV. 452 BORRE LORETO ZAC MÉXICO 4969625 4491237 compras
UC4 VAL LORETO GO 487 896 @serval.
com
Cuarta Forma Norma (4NF)
Esto se resuelve creando una nueva Tabla Direccion_Cte con los campos
multivaluados y la llave primaria de Cliente:
Cliente(RFC_cte, Nom_cte, Celular, email)
Dirección_Cte(RFC_cte, Calle_cte, NoExt_cte, Col_cte, Mpio_cte,
Edo_cte, Pais_cte, Tel_cte)
Cliente
RFC_cte Nom_cte Celular email
SAG900215UC4 1er. Anillo Nte 325 OLIVARES AGUASCALI AGS MÉXICO 4499966
ENTES 958
SAG900215UC4 BLV. LORETO 452 BORREGO LORETO ZAC MÉXICO 4969625
487
Normalización
V3 E3 Corbatero
Quinta Forma Normal (5NF)
Restricción de Dominio:
¡ Especifica los valores permitidos para un determinado atributo.
¡ La restricción de dominio se debería de tener para todos los atributos de
una tabla, en la práctica esto no es posible al 100%, pero en los atributos
que si se pueda se debe especificar.
¡ Estas restricciones de dominio se deben poder especificar en la
definición de la tabla, de preferencia, o por medio de programación.
Restricción de Llave:
¡ Especifica cual es el conjunto mínimo de atributos que identifican
únicamente a una fila de la tabla (Llave primaria)
¡ Este conjunto de atributos debe identificar de forma única a cada fila o
registro de la tabla, y estos atributos deberán tener restricción de
dominio.
Forma Normal de Dominio/Llave (DKNF)
Ejemplo:
¡ Paciente(CURP, Nombre, Edad, FechaIngreso, Sexo, Calle, NoExt,
NoInt, Colonia, CP, Municipio, Estado, Tel, Cel, Email)
¡ Restricciones de Dominio:
÷ CURP: Valores de AAAA010101AAAAAA00 a ZZZZ991231ZZZZZZ99
÷ Sexo: Valores: M o F
÷ Fecha Ingreso: 01/01/1900 a 31/12/2999
÷ Edad: 1 a 120
÷ Nombre: valores alfabéticos.
÷ CP: Valores numéricos enteros de 00000 a 99999
÷ Tel y Cel: valor numérico entero de 10 dígitos
÷ Municipio: Todos los nombres de los municipios de México.
÷ Estado: Todos los nombre de los estados de México: Aguascalientes a
Zacatecas.
÷ En el caso de Estado y Municipio es complicado manejar esas
restricciones de dominio y lo que se hace se crea una tabla para Estado y
otra para Municipio.
Ejemplo:
¡ Estado(ID_Edo, Nombre_Edo)
¡ Municipio(ID_Mpio, Nombre_Mpio, ID_Edo)
¡ Paciente(CURP, Nombre, Edad, FechaIngreso, Sexo, Calle,
NoExt, NoInt, Colonia, CP, ID_Mpio, ID_Edo, Tel, Cel, Email)
Formas normales
41
Unidad 4: Modelación de Bases
de Datos
OBJETIVOS:
1. IDENTIFICARÁ LAS DIFERENTES METODOLOGÍAS DE
MODELACIÓN DE BASES DE DATOS CON QUE PUEDE
TRABAJAR
2. CONOCERÁ DE MANERA PROFUNDA LA MODELACIÓN E-R
3. COMPLEMENTARÁ LOS CONOCIMIENTOS OBTENIDOS EN
LA UNIDAD ANTERIOR Y LLEVARÁ A LA PRÁCTICA LA
MODELACIÓN DE UNA BASE DE DATOS REAL
MODELO Y MODELACIÓN
Modelo
Enfoque sistémico:
¡ Relaciones y estructura
¡ Posibilita revelar las cualidades resultantes del objeto de
investigación, mediante las relaciones que se tienen que dar
entre los componentes del modelo.
Simplicidad y Asequibilidad:
¡ Sin perder el valor y el carácter científico, el modelo debe ser
comprensible, funcional y operativo.
MODELO DE DATOS
Modelado de Datos
Conjunto de Entidades:
¡ Grupo de entidades del mismo tipo que comparten las mismas
propiedades o atributos.
¡ Ejemplo:
Entidad Conjunto de Entidades
Alumno Juan Pérez Alumnos de la UAA
Carrera ISC Carreras de la UAA
Base de Datos Materias impartidas en la UAA
Práctica profesional de Juan Pérez Prácticas profesionales de la UAA
Atributos:
¡ Describe propiedades o características que posee cada miembro de
un conjunto de entidades
¡ Ejemplo:
÷ Atributos para Conjunto de Entidades Alumno:
¢ Nombre del Alumno
¢ Edad
¢ Fecha Nacimiento
¢ Domicilio
¢ Teléfono
¢ Correo electrónico
¢ Sexo
¢ CURP
¢ ID
Modelo Entidad-Relación (E-R)
Relación:
¡ Es la asociación entre dos o más entidades.
¡ Ejemplo:
Relación:
¡ Tipos de Relaciones:
÷ Binarias:
¢ Cuando dos conjuntos de entidades se relacionan entre si, son las
más comunes.
¢ Ejemplo: Alumno – Esta inscrito en – Carrera
÷ Unaria:
¢ Cuando existe una relación entre entidades del mismo conjunto de
entidades
¢ Ejemplo: Empleado – Es jefe de – Empleado
÷ N-aria:
¢ Cuando tres o más conjuntos de entidades están relacionadas entre
si.
¢ Ejemplo: Proveedor – Suministra – Proyecto
¢ Proveedor – Suministra – Producto
¢ Producto - Suministra - Proyecto
Modelado Entidad-Relación
CARDINALIDAD DE LAS
RELACIONES
Cardinalidad de las Relaciones
Correspondencia de Cardinalidad:
¡ Expresa el número de entidades, de un conjunto de
entidades A, que pueden estar asociadas con entidades de
otros conjuntos de entidades, vía un conjunto de relaciones.
¡ Tipos:
÷ Relación Uno a Uno 1:1
÷ Relación Uno a Muchos 1:N
÷ Relación Muchos a Muchos M:N
Cardinalidad de las Relaciones
A1 B1
A2 B2
A3 B3
A4 B4
Cardinalidad de las Relaciones
A B
A1 B1
A2 B2
A3 B3
A4 B4
B5
Cardinalidad de las Relaciones
A B
A1 B1
A2 B2
A3 B3
A4 B4
B5
Cardinalidad de las Relaciones
SIMBOLOGÍA DE
REPRESENTACIÓN Y
NOTACIONES
Simbología de Chen
Entidades:
¡ Entidad Fuerte: Se puede definir por sus propios atributos,
tiene llave primaria
Nombre_Entidad
Nombre_Entidad
Simbología de Chen
Atributos:
Atributo2
Atributo1
Nombre_Entidad
Simbología de Chen
Relación:
¡ El nombre de la relación debe mostrar la acción de la relación,
generalmente es un verbo.
Nombre
de
Relación
Ejemplo
N Perte 1
Alumno Carrera
nece
Diagrama E-R
RELACIONES 1 : 1
• Para cada entidad del conjunto de entidades E1 existe a lo más una entidad en
el conjunto de entidades E2 que está asociada a ella, y viceversa.
Administra
1 1
Gerente División
RELACIONES 1: muchos
• Para cada entidad del conjunto de entidades E1 puede haber una o mas
entidades asociadas en el conjunto de entidades E2.
1 N
Cliente Tiene Factura
Suministra
M N
Proveedor Producto
Trabaja en
N
M
Empleado Proyecto
1 N
Administra
Diagrama E-R
Atributos de la relación
EJEMPLO: CALIFICACION de un estudiante en un CURSO
Calificación
# matrícula
Nombre
# curso
Dirección
Nombre
Estudiante M N Curso
Registra
Para simplificar la nomenclatura.
• Lo que para un analista es una entidad, para otro podría ser una
relación. Esto es particularmente cierto para entidades que pueden ser
EVENTOS, tales como VENTAS.
¿Qué es una entidad? ¿Qué es una relación?
Realiza Tiene
Realiza
Venta
Ejemplo de un diagrama E - R
Conjunto de entidades
Matricula
Nombre
Estudiante Carrera
N Dirección Atributos
Toma Teléfono
Ciudad
M
Curso Número
N
Materia
Dominio
Ofrecido
en (1..7)
Edificio
1
Lugar Salón
Ejercicio de lectura de un diagrama E - R
Edita
1
Editorial Librería
1
Publica n
Subscrito n
n n Compra
Cliente Revista
m m
1 Libro
Tiene
n m
Números
1
Consta
n
m n Escrito por
Editor Artículos
Revisa n
Escrito por
m
Autor
n
Entidad Fuerte
Ejemplo:
Revista ISBN
Entidad Débil
Débil: Una entidad es débil con respecto a una cierta relación 1:n, si su
llave la identifica en forma única entre sus hermanas únicamente.
Ejemplo: Entidad Número, la cual continen los diferentes números de
cada una de las revistas.
¡ Revista “Software Guru” ° Número 1,2,3,..............
¡ Revista “Hola” ° Número 1,2,3,4,............
Número
ISBN 1 N
Revista Número
No. Páginas
Ejercicio
EMPLEADO Y PROYECTO
Mientras que un proyecto puede estar autorizado, pero no tener aún empleados asignados.
asignado
N M
Empleado Proyecto
Ejemplo
EDITOR Y REVISTAS
* Cero
1 N
Editorial Revista
Ejemplo
Relaciones Unaria:
¡ Un empleado es jefe de uno o más empleados.
¡ Un empleado solo tiene un Jefe
Es Jefe
Empleado
1
Ejemplo
Relaciones N-aria:
¡ Un profesor imparte uno o más cursos.
¡ Un curso es impartido por un profesor y se le imparte a varios alumnos.
¡ Un curso lo imparten diferentes profesores a grupos diferentes de
alumnos.
¡ A un alumno se le imparten varios cursos por un profesor para cada
curso
Alumno
N
N N
Profesor Curso
Imparte
Simbología de Martin
Entidades:
Entidad
Entidad
Atributo1
Atributo2
Atributo3
Relaciones:
¡ 1a1
¡ 1aN
¡ MaN
¡ Opcionalidad
Adminstra
Gerente División
Trabaja
Empleado División
Escribe
Libro Autor
Realiza
Proyecto Empleado
Ejercicio
Edita
1 N
Editorial Libro
Tabla Editorial
ID_Ed Nombre_Ed
Tabla Libro
ISBN Titulo Tema Edición Costo Precio ID_Ed
Transformar Modelo E-R a Tablas
Administra
1 1
Gerente División
Tabla División
ID_Div Nombre_Div ID_Gerente
Escribe
M N
Autor Libro
Tabla Autor
ID_Aut Nombre_Aut
Tabla Libro
ISBN Titulo Tema Edición Costo Precio ID_Ed
Tabla Autor-Libro
ID_Aut ISBN
Diagrama E-R
Atributos de la relación
EJEMPLO: CALIFICACION de un estudiante en un CURSO
Calificación
# matrícula
Nombre
# curso
Dirección
Nombre
Estudiante M N Curso
Registra
Tabla Estudiante
Matricula Nombre Direccion
Tabla Curso
#Curso Nombre
Tabla EstudianteCurso
Restricciones de Integridad:
¡ Proporciona un medio de asegurar que los cambios que se
hacen en la base de datos, por usuarios autorizados, no
resulten en una perdida de la consistencia de datos.
Condiciones de Integridad
Integridad:
¡ Se refiere a que los datos contenidos en la base de datos estén
correctos.
¡ La verificación de la integridad se realiza:
÷ Generalmente por medio de programación
÷ O el sistema de información se encarga de la validación, al
recolectar los datos
÷ O en algunos casos se pueden validar desde la base de datos.
Condiciones de Integridad
En este caso la llave externa, en la tabla libro, no puede ser nulo, ya que no puede
haber libros sin editorial; y la relación es fuerte del lado de la Editorial.
Instalada
1 N
Unidad Llanta
En este caso la llave externa, en la tabla Llanta, si puede ser nulo, ya que puede
haber llantas sin asignar a una unidad; y la relación es débil del lado de la Unidad.
Restricciones de Integridad
Cardinalidad de la Relación
¡ Los tipos de relación deben ser:
÷1a1
÷1aN
÷MaN
Participación Mínima/Máxima
¡ La cantidad mínima y máxima de entidades del conjunto A que
deben estar relacionadas con entidades del conjunto B esta
dada por la Cardinalidad de la Relación, y si es obligatoria u
opcional la relación.
Instalada
1 4..20
Unidad Llanta
Restricciones de Integridad
Restricciones de Dominio
¡ Las restricciones de dominio especifican que el valor de cada
atributo Ai debe ser un valor atómico del dominio Di, para ese
atributo.
¡ Las restricciones de dominio es una de las formas más
comunes de restricciones de integridad.
¡ Se pueden restringir los valores que puede tener el dominio de
un atributo, y por lo tanto restringir los posibles valores del
atributo correspondiente.
÷ Ejemplo:
¢ Atributo Sexo solo puede tener los valores “F” y “M”
¢ Atributo Calificación solo puede tomar valores numéricos
enteros entre 0 y 10.
Restricciones de Integridad
Integridad Referencial:
¡ A menudo se desea asegurar que un valor que aparece en
una relación/tabla para un conjunto de atributos
determinado, aparezca también en otra relación/tablas para
un cierto conjunto de atributos. Esta condición se
denomina integridad referencial.
¡ Sean r1 (R1 ) y r2 (R2 ) dos relaciones/tablas con las claves
1 1 2 2
Integridad Referencial:
¡ Esta condición de integridad busca, en lo posible, que no
existan tuplas colgantes.
÷ Tupla Colgante: Cuando en una relación 1 a N entre dos conjuntos
de entidades A y B; donde A es el conjunto dominante(1) y B el
subordinado(N), y por lo tanto la llave primaria de A es llave
foránea de B; existen tuplas/registros en B que no están
relacionadas con ninguna tupla/registro en A o que tienen un
valor en la llave foránea que no coincide con algún valor de la llave
primaria de las tuplas/registros de A.
÷ Ejemplo: Relación de Editorial y Libro, no puede haber libros sin
editorial.
Edita
1 N
Editorial Libro
Restricciones de Integridad
Especialización:
¡ Es el proceso de designación de subgrupos de entidades
dentro de un conjunto de entidades.
¡ En un conjunto de entidades puede existir un subconjunto
de entidades que tenga algunos atributos diferentes a los de
todo el grupo.
¡ En el modelo entidad relación, la especialización se
representa con un símbolo de triangulo en la relación; y
etiquetado como “ES”, y es una relación de superclase-
subclase.
Ejemplo: El personal de una línea aérea, donde hay pilotos
y sobrecargos, primero se identifica la Entidad Personal y
después se realiza la especialización
Generalización:
¡ Es cuando a partir de un grupo de conjunto de entidades,
donde comparten atributos en común, se obtiene un grupo de
entidades que contenga estos grupos de entidades en común.
¡ En otras palabras a partir de varias clases se obtiene una
superclase.
¡ Es el diseño ascendente.
Ejemplo: El personal de una línea aérea, donde hay pilotos
y sobrecargos, primero se identifican las Entidades Piloto y
Personal_Vuelo, y después se realiza la generalización
Tips
Es
Empleado
jefe
N
Cardinalidades Máximas y Mínimas
1 Ti 2..18
Automovil en Llantas
e
3. Revisar:
1. Cada Atributo este asociado a la Entidad que mejor describe.
2. Si existen atributos cuyos valores se repiten mucho, ver la
posibilidad de convertirlos en Entidades.
3. No hay relaciones redundantes.
4. Ningún atributo de una entidad coincide con la Llave
Primaria de otra Entidad, esto esconde una relación.
4. Verificar que el modelo satisface los
requerimientos.
Ejercicio
Algebra Relacional:
¡ Es un lenguaje de consulta procedimental.
¡ Consta de un conjunto de operaciones que toman como
entrada una o dos relaciones y producen como resultado una
nueva relación. (Relación=Tabla o Entidad)
¡ Consta de dos tipos de operaciones:
÷ Operaciones Tradicionales de Conjuntos.
÷ Operaciones Relacionales Especiales o Fundamentales.
Operaciones Tradicionales de
Conjuntos
Operaciones Tradicionales de Conjuntos
A B A ∪ B
Nom_cte Nom_cte Nom_cte
Juan Pérez
Juan Pérez Juan Pérez
Luis Díaz
Luis Díaz Ricardo López
Pedro Muñoz
Pedro Muñoz Pedro Muñoz
Ricardo López
Operaciones Tradicionales de Conjuntos
Operación Intersección ∩ :
¡ La Intersección de dos relaciones A y B, A ∩ B, es el conjunto
de todas las tuplas t que pertenecen tanto a la relación A como
a la relación B.
¡ Ejemplo: A ∩ B
A B A∩ B
Nom_cte Nom_cte Nom_cte
Juan Pérez Juan Pérez Juan Pérez
Luis Díaz Ricardo López Pedro Muñoz
Pedro Muñoz Pedro Muñoz
Operaciones Tradicionales de Conjuntos
Operación Diferencia:
¡ La diferencia entre dos relaciones A y B, A - B, es el conjunto
de todas las tuplas t que pertenecen a A pero no pertenecen a
B.
¡ Ejemplo: Siguiendo con el mismo ejemplo de los clientes:
A B A - B
Nom_cte Nom_cte Nom_cte
Juan Pérez Juan Pérez Luis Díaz
Luis Díaz Ricardo López
Pedro Muñoz Pedro Muñoz
Operaciones Tradicionales de Conjuntos
¡ Ejemplo:
A Times B
Nom_cte Nom_prod
A B
Juan Pérez MacBook Air
Nom_cte Nom_prod
Juan Pérez iPhone5SE
Juan Pérez MacBook Air
Luis Díaz MacBook Air
Luis Díaz iPhone 5SE Luis Díaz iPhone 5SE
Pedro Muñoz Pedro Muñoz MacBook Air
Pedro Muñoz iPhone 5SE
Operaciones Relacionales
Especiales o Fundamentales
Operaciones Relacionales Especiales o Fundamentales
Factura
Folio Fecha RFC_cte Subtotal Impuesto Total
1 01/10/2018 SAC170724P4J 10,000.00 1,600.00 11,600.00
2 01/10/2018 MALL701128A25 5,000.00 800.00 5,800.00
3 10/10/2018 XAXX010101000 1,000.00 160.00 1,160.00
4 10/10/2018 MALL701128A25 2,000.00 320.00 2,320.00
5 10/10/2018 XAXX010101000 500.00 80.00 580.00
6 13/10/2018 MALL701128A25 10,000.00 1,600.00 11,600.00
σ RFC_cte=“MALL701128A25” (Factura)
Folio Fecha RFC_cte Subtotal Impuesto Total
2 01/10/2018 MALL701128A25 5,000.00 800.00 5,800.00
4 10/10/2018 MALL701128A25 2,000.00 320.00 2,320.00
6 13/10/2018 MALL701128A25 10,000.00 1,600.00 11,600.00
Operaciones Relacionales Especiales o Fundamentales
Ejemplo:
¡ Se tienen las tablas o relaciones Cliente y Factura, y se desea
obtener una tabla o relación nueva con todos los datos del
cliente y todos los datos de las facturas que corresponden a
cada uno de esos clientes:
Cliente(RFC_cte, Nom_cte, CalleNoExt_cte, Col_cte,
Mpio_cte, Edo_cte, CP_cte, Pais_cte)
Factura(Folio, Fecha, RFC_cte, Subtotal, Impuesto, Total)
MALL701128A25 LUIS 1er. Anillo Nte 325 OLIVARES AGUASCALIENTES AGS MÉXICO
MARTINEZ
XAXX010101000 PÚBLICO MADERO 452 CENTRO AGUASCALIENTES AGS MÉXICO
GENERAL
FACTURA
Folio Fecha RFC_cte Subtotal Impuesto Total
Antecedentes
Consultas en SQL
¡ SELECT
Instrucciones de actualización
¡ INSERT
¡ DELETE
¡ UPDATE
Vistas en SQL
Definición de datos
¡ CREATE
¡ DROP
¡ ALTER TABLE
Antecedentes de SQL
6
Antecedentes
Consultas en SQL
¡ SELECT
÷ Consultas SQL básicas.
÷ Omisión de WHERE
÷ Uso de *
÷ Uso de DISTINCT (relaciones como conjuntos)
÷ Consultas anidadas
÷ Funciones EXISTS y UNIQUE
÷ Conjuntos explícitos y valores NULOS en SQL
÷ Cambios de nombre en los atributos y tablas reunidas
(JOIN)
÷ Funciones agregadas y agrupación (GROUP BY,
HAVING)
Consultas en SQL
9
SAC170724P4J Servicios AC Julio Díaz Torre 255 Cd. Industrial Ags. Ags. 20245 México
Tabla: Factura
Folio Fecha RFC_cte Subtotal Impuesto Total
1 01/10/2018 SAC170724P4J 10,000.00 1,600.00 11,600.00
2 01/10/2018 MALL701128A25 5,000.00 800.00 5,800.00
3 10/10/2018 XAXX010101000 1,000.00 160.00 1,160.00
4 10/10/2018 MALL701128A25 2,000.00 320.00 2,320.00
5 10/10/2018 XAXX010101000 500.00 80.00 580.00
6 13/10/2018 MALL701128A25 10,000.00 1,600.00 11,600.00
Empleo de ‘*’
12
SELECT *
FROM EMPLEADO
WHERE IDEmp_Jefe=105
SELECT: usando * y sin Where
13
Consulta 2:
¡ Obtener todos los clientes
SELECT *
FROM Cliente
Consulta 3:
¡ Obtener todas las facturas
SELECT *
FROM Factura
SELECT: Usando Where
14
Consulta 4:
¡ Obtener las factura del RFC = MALL701128A25
SELECT *
FROM Factura
WHERE RFC_Cte=‘MALL701128A25’
Esta consulta es similar a la expresión de
álgebra relacional:
σ (RFC_Cte=‘MALL701128A25’) (Factura)
Empleo de ‘*’
15
Consulta 5
¡ Obtener todos los atributos de los clientes y los atributos de sus
facturas
¡
SELECT *
FROM Cliente, Factura
WHERE Cliente.RFC_Cte=Factura.RFC_Cte
Consulta 6
¡ Especificar el producto cruzado de las relaciones empleado y
productos
SELECT *
FROM EMPLEADO, Producto
SELECT delimitando atributos
16
Consulta 7:
¡ Obtener la dirección del cliente cuyo nombre es ‘Luis
Martínez’
SELECT CalleNoExt_Cte, Col_Cte, Mpio_Cte, Edo_Cte
FROM Cliente
WHERE Nom_Cte=‘Luis Martínez’
Esta consulta es similar a la expresión de
álgebra relacional:
π (CalleNoExt_Cte, Col_Cte, Mpio_Cte, Edo_Cte) σ
(Nom_Cte=‘Luis Martínez’)
(Cliente)
Tablas como conjuntos en SQL
17
SELECT salario
FROM EMPLEADO
Si solo nos interesan los valores de salarios distintos, querríamos que dichos
valores aparezcan una sola vez. Usando la palabra reservada DISTINCT, se
logra este objetivo:
Consulta 9:
¡ Obtener todos los RFC de la tabla Factura sin
duplicarlos
SELECT DISTINCT RFC_Cte
FROM Factura
Esta consulta es similar a la expresión de
álgebra relacional:
π (CalleNoExt_Cte, Col_Cte, Mpio_Cte, Edo_Cte) σ
(Nom_Cte=‘Luis Martínez’)
(Cliente)
Instrucción SELECT: atributos ambiguos y
seudónimos
20
Consulta 10
¡ Mostrar el nombre del cliente, folio de factura, fecha, producto y
cantidad vendida.
Consulta 11
¡ Obtener el nombre y la dirección de todos los clientes que tienen
facturas:
Consulta 12
¡ Mostrar el nombre del cliente, folio de factura, fecha, producto y
cantidad vendida.
Consulta 13
¡ También puede haber ambigüedad en consultas que hacen referencia
dos veces a la misma relación, como en el siguiente ejemplo:
SAC170724P4J Servicios AC Julio Díaz Torre 255 Cd. Industrial Ags. Ags. 20245 México
Tabla: Factura
Folio Fecha RFC_cte Subtotal Impuesto Total
1 01/10/2018 SAC170724P4J 10,000.00 1,600.00 11,600.00
2 01/10/2018 MALL701128A25 5,000.00 800.00 5,800.00
3 10/10/2018 XAXX010101000 1,000.00 160.00 1,160.00
4 10/10/2018 MALL701128A25 2,000.00 320.00 2,320.00
5 10/10/2018 XAXX010101000 500.00 80.00 580.00
6 13/10/2018 MALL701128A25 10,000.00 1,600.00 11,600.00
Cláusulas WHERE no especificadas
28
Consulta 13
¡ Seleccionar todos los RFC de Cliente
SELECT RFC
FROM Cliente
Consulta 14
¡ Seleccionar todas las combinaciones de Folio de Factura y
Nombre del cliente
Consulta 16
¡ Consultar las diferentes marcas, de productos, que se han vendido en el
rango de fechas 01/10/2022 al 31/10/2022
SELECT NOMBRE
FROM EMPLEADO
WHERE SALARIO > ALL (SELECT SALARIO FROM EMPLEADO
WHERE Puesto = “Vendedor”)
Ambigüedad en consultas anidadas
36
Consulta 19
Empleado(ID_Emp, Nombre, ApellidoP, ApellidoM, , Sexo, Dirección,
Telefono, Correo, IDEmp_Jefe, Puesto, NSS, Salario)
Dependiente(NSS, Nombre, AppellidoP, ApellidoM, , Sexo, Direccion,
Telefono, Correo, ID_Emp)
¡Obtener el nombre de todos los empleados que tienen un
dependiente con el mismo nombre de pila y sexo que el del empleado
SELECT E.NOMBRE, E.APELLIDOP
FROM EMPLEADO E
WHERE E.ID_Emp IN (SELECT ID_Emp
FROM DEPENDIENTE D
WHERE ID_Emp=E.ID_Emp AND
E.NOMBRE=NOMBRE AND SEXO=E.SEXO)
Más sobre consultas anidadas
38
Para cada tupla EMPLEADO, la consulta anidada selecciona todas las tuplas
DEPENDIENTE cuyos valores de ID_Emp coincidan con el valor ID_Emp de
EMPLEADO; si el resultado de la consulta está vacío, significa que no hay
dependientes relacionados con el empleado, así que se selecciona esa
tupla empleado y devolvemos su nombre y apellido.
Combinaciones de consultas anidadas
42
Consulta 22. Listar los nombres de los directores que tienen por lo
menos un dependiente.
La cláusula FROM contiene una sola tabla reunida. Los atributos de dicha
tabla son todos los atributos de la primera tabla Cliente, seguidos de
todos los atributos de la segunda, Factura.
52
Ejercicio: Realizar las siguientes Consultas
53
Operador BETWEEN:
¡ Se utiliza en la clausual WHERE del SELECT, INSERT,
DELETE y UPDATE.
¡ Sintaxis: <expresión> BETWEEN Valor1 AND Valor2
÷ Donde:
¢ <expresión> es el valor a comparar.
SELECT *
FROM Factura
WHERE Total_F BETWEEN 30000 AND 50000
Operador LIKE:
¡ Se utiliza en la clausual WHERE del SELECT, INSERT, DELETE y
UPDATE.
¡ Sintaxis: <expresión> LIKE <patrón>
÷ Donde:
¢ <expresión>: es una expresión string, que se va a comparar.
¢ <patrón>: es una expresión string que contiene patrones de coincidencia con
caracteres comodín, los cuales pueden ser:
• % Permite hacer coincidencia con cualquier string de cualquier longitud
• _ Permite hacer coincidencia con un carácter en la posicion donde se pone.
• [lista de caracteres] permite hacer coincidencia con los caracteres que están
dentro de los corchetes.
• [^lista de caracteres] permite hacer coincidencia con cualquier caracter que
no están dentro de los corchetes.
SQL Operadores de Comparación Adicionales
60
Sintaxis:
¡ COUNT(expresión)
÷ Donde: expresión puede ser un *, el nombre de un atributo o una expresión
como tal.
Ejemplo: Obtener el total de clientes de la compañía; y la cantidad de
facturas realizadas por el vendedor Jonathan Alba
Aquí el asterisco (*) se refiere a las tuplas, así que COUNT devuelve el número
de filas en el resultado de la consulta.
SQL Función COUNT
66
Consulta 27. Por ejemplo suponer que se desea contar el número TOTAL
de facturas de cada cliente que cuenten con mas de dos facturas, cuyo
monto es mayor o igual a $50,000.00. Opción 1
Instrucciones de actualización
¡ INSERT
¡ DELETE
¡ UPDATE
Vistas en SQL
Definición de datos
¡ CREATE
¡ DROP
¡ ALTER TABLE
La instrucción INSERT
86
Por ejemplo, las instrucciones DELETE siguientes eliminarán cero, una, cuatro
y todas las tuplas, respectivamente de la relación EMPLEADO.
UPDATE PROYECTO
SET LUGARP='Belén', NÚMD=5
WHERE NÚMEROP=10
La instrucción UPDATE
95
EJERCICIOS DE SQL
Esquema de una base de datos relacional
EMPLEADO
NOMBREP INIC APELLIDO NSS FECHAN DIRECCION SEXO SALARIO NSSSUPER ND
DEPARTAMENTO
NOMBRED NÚMEROD NSSGTE FECHAINICGTE
LUGARES_DEPTOS
NUMEROD LUGARD
Esquema de la base de datos
PROYECTO relacional COMPAÑÍA; las
NOMBREP NÚMEROP LUGARP NÚMEROD claves primarias están
subrayadas
TRABAJA_EN
NSSE NÚMP HORAS
DEPENDIENTE
NSSE NOMBRE DEPENDIENTE SEXO FECHAN PARENTESCO
113
Ejercicios SQL
114
a. Obtenga los nombres de todos los empleados del departamento 5 que trabajan
más de 10 horas por semana en el proyecto “ProductoX”
b. Cite los nombres de todos los empleados que tienen un dependiente con el
mismo nombre de pila que ellos
c. Encuentre los nombres de todos los empleados supervisados directamente por
‘Federico Vizcarra’
d. Para cada proyecto, cite el nombre del proyecto y el total de horas que trabajan
todos los empleados en ese proyecto
e. Obtenga los nombres de todos los empleados que trabajan en cada uno de los
proyectos
f. Obtenga los nombres de todos los empleados que no trabajan en ningún proyecto
g. Para cada departamento, obtenga el nombre del departamento y el salario medio
de todos los empleados que trabajan en él
h. Obtenga el salario medio de todos los empleados de sexo femenino.
i. Encuentre los nombres y direcciones de todos los empleados que trabajan en, por
lo menos, un proyecto situado en higueras, pero cuyo departamento no está
ubicado ahí.
j. Prepare una lista con los apellidos de todos los gerentes de departamento que no
tienen dependientes.