Documentos de Académico
Documentos de Profesional
Documentos de Cultura
BarretoMorales PractLab1 1p
BarretoMorales PractLab1 1p
Laboratorio 1.
Primer Parcial
1
Introduccion
Una consulta en una base de datos es una solicitud o pregunta formulada al sistema de gestión de
bases de datos (DBMS) para obtener información precisa y significativa. Estas consultas actúan como
un puente entre los usuarios y los datos almacenados, permitiendo la extracción de datos relevantes
de una manera eficiente y estructurada.
Las consultas pueden variar desde simples búsquedas que recuperan datos básicos hasta operaciones
complejas que combinan, filtran y calculan datos en función de múltiples criterios. En su forma más
básica, una consulta podría ser tan sencilla como recuperar todos los registros de una tabla específica,
mientras que consultas más avanzadas pueden involucrar múltiples tablas y utilizar operadores lógicos
y matemáticos para obtener información específica.
En este contexto, las bases de datos se convierten en herramientas poderosas para la toma de
decisiones informadas, la generación de informes, la automatización de procesos y el análisis de datos.
Las consultas permiten a los usuarios buscar respuestas a preguntas específicas, como "¿Cuántos
productos se vendieron el mes pasado?" o "¿Cuál es el saldo actual de esta cuenta?".
En este mundo digitalizado y orientado a los datos en el que vivimos, comprender cómo crear y
ejecutar consultas efectivas en bases de datos se ha convertido en una habilidad esencial para
profesionales en una amplia variedad de campos, desde la gestión empresarial hasta la ciencia de
datos y la investigación académica. A medida que las bases de datos continúan evolucionando y
creciendo en complejidad, el dominio de las consultas se vuelve cada vez más relevante para la toma
de decisiones eficientes y el acceso a información valiosa. En resumen, las consultas en bases de datos
son la puerta de entrada al vasto tesoro de datos que impulsa nuestro mundo moderno, y dominar
esta habilidad es fundamental para aprovechar al máximo este recurso invaluable.
2
Metodologia
Para realizar esta practica vamos a realizar la siguiente base de datos:
1.- Para empezar crearemos la base de datos llamandola “Agencia_Auto” de la siguiente manera
2.- Despues empezaremos a crear las tablas para la base de datos poniendo claves primarias y
foraneas para hacer las relaciones entre ellas.
Una clave primaria es uno o más valores de campo que hacen un único registro. Normalmente la clave primaria es llamada
id y es una secuencia. Una clave foránea es utilizada para referirse a un registro único en otra tabla (utilizando la clave
primaria de esa otra tabla).
3
Al realizar esto las tablas estaran relacionadas para poder crear un diagrama de relacion en la cual nos
debe aparecer de la siguiente manera:
4
a) Inserte 5 registros en cada una de las tablas:
Para esto vamos a escribir este comando para agregar registros en esta base de datos
INSERT INTO auto (id_auto, marca, submarca, modelo, precio, num_motor, id_color, id_placa,
id_tipo) VALUES (1, 'Toyota', 'Corolla', 2022, 250000, 'ABCD12345', 1, 'ABC123', 1)
Esta sentencia se utiliza para agregar un nuevo registro de automóvil a la tabla con los siguientes
valores:
• id_auto: El valor 1, que representa la clave primaria única para este registro de automóvil en la
tabla "auto".
• marca: "Toyota", que es la marca del automóvil.
• submarca: "Corolla", que es la submarca o modelo específico del automóvil.
• modelo: 2022, que indica el año del modelo del automóvil.
• precio: 250,000, que representa el precio del automóvil en la moneda local (presumiblemente,
250,000 unidades de la moneda local).
5
• num_motor: "ABCD12345", que es el número de motor del automóvil.
• id_color: 1, que corresponde al identificador del color del automóvil en la tabla "Color". En este
caso, el color asociado al identificador 1 sería "Rojo" según los datos proporcionados
previamente.
• id_placa: "ABC123", que es el identificador de la placa del automóvil.
• id_tipo: 1, que se relaciona con el tipo de automóvil en la tabla "Tipo". En este caso, el tipo
asociado al identificador 1 sería "B" y, según la estructura de la tabla "Tipo", podría tener un
valor adicional de 10.
Esta sentencia INSERT agrega un nuevo registro de automóvil a la base de datos con los valores
especificados en las columnas correspondientes de la tabla "auto". Cada valor se asigna a su respectiva
columna en el orden especificado en la sentencia.
6
e) Elimine dos registros en la tabla color
DELETE FROM Color WHERE id_color IN (6, 7)
Esta sentencia se utiliza para eliminar registros de la tabla "Color" que cumplan con la condición
especificada.
El comando DELETE FROM Color indica que se realizará una eliminación de registros en la tabla
"Color". Luego, WHERE id_color IN (6, 7) establece la condición de eliminación. En este caso, se
eliminarán todos los registros en la tabla "Color" cuyo valor en la columna "id_color" sea igual a 6 o 7.
En resumen, esta sentencia eliminará de la tabla "Color" los registros que tengan un valor de
"id_color" igual a 6 o 7. Después de ejecutar esta sentencia, los colores con "id_color" 6 (Plateado) y 7
(Gris) ya no estarán en la tabla "Color".
Esta consulta está diseñada para recuperar información específica de automóviles, incluyendo la
marca, submarca, color y tipo de cada automóvil.
Explicación:
• SELECT a.marca, a.submarca, c.nombre_color, t.nombre_tipo: Indica que la consulta
seleccionará las columnas "marca" y "submarca" de la tabla "auto", así como las columnas
"nombre_color" y "nombre_tipo" de las tablas "color" y "tipo", respectivamente.
• FROM auto a: Establece la tabla principal de la que se seleccionarán los datos como "auto" y se
le asigna el alias "a" para abreviar su nombre en la consulta.
• JOIN color c ON a.id_color = c.id_color: Realiza una operación de unión (JOIN) con la tabla
"color" utilizando la columna "id_color" de la tabla "auto" y la columna "id_color" de la tabla
"color" como el criterio de unión. Esto permite combinar información de ambas tablas.
• JOIN tipo t ON a.id_tipo = t.id_tipo: Realiza otra operación de unión (JOIN) con la tabla "tipo"
utilizando la columna "id_tipo" de la tabla "auto" y la columna "id_tipo" de la tabla "tipo" como
el criterio de unión.
Esta consulta devuelve una lista de automóviles con detalles sobre su marca, submarca, color y tipo. Al
unir las tablas "auto", "color" y "tipo" en función de las relaciones definidas en la base de datos, se
obtiene una visión completa de la información relacionada con estos vehículos.
7
g) Realice una consulta entre la tabla auto y placa donde la placa inicie con la letra
“M”.
-- Consulta entre la tabla auto y placa con placa que inicie con "M"
SELECT a.marca, a.submarca, p.id_placa
FROM auto a
JOIN placa p ON a.id_placa = p.id_placa
WHERE p.id_placa LIKE 'M%'
Esta consulta está diseñada para recuperar información específica de automóviles y placas de
matrícula.
Explicación:
• SELECT a.marca, a.submarca, p.id_placa: Indica que la consulta seleccionará las columnas
"marca" y "submarca" de la tabla "auto", así como la columna "id_placa" de la tabla "placa".
• FROM auto a: Establece la tabla principal de la que se seleccionarán los datos como "auto" y se
le asigna el alias "a" para abreviar su nombre en la consulta.
• JOIN placa p ON a.id_placa = p.id_placa: Realiza una operación de unión (JOIN) con la tabla
"placa" utilizando la columna "id_placa" de la tabla "auto" y la columna "id_placa" de la tabla
"placa" como el criterio de unión. Esto permite combinar información de ambas tablas.
• WHERE p.id_placa LIKE 'M%': Establece una condición en la que se seleccionarán solo los
registros en los que el valor de la columna "id_placa" de la tabla "placa" comience con la letra
'M'. El operador LIKE se utiliza para buscar patrones de texto y '%' es un comodín que
representa cualquier conjunto de caracteres.
Esta consulta devuelve una lista de automóviles con detalles sobre su marca y submarca, junto con la
información de las placas de matrícula que cumplen con la condición de comenzar con la letra 'M'.
Esto proporciona una lista de automóviles cuyas placas de matrícula tienen un patrón específico.
h) Realice una consulta entre la tabla auto, placa y estado donde los autos hayan
sido registrados en el estado de “Hidalgo”.
-- Consulta entre la tabla auto, placa y estado para autos registrados en Hidalgo
SELECT a.marca, a.submarca, p.id_placa, e.nombre_edo
FROM auto a
JOIN placa p ON a.id_placa = p.id_placa
JOIN estado e ON p.id_estado_reg = e.id_estado_reg
WHERE e.nombre_edo = 'Hidalgo'
Esta consulta está diseñada para recuperar información específica de automóviles, placas de matrícula
y estados de registro para aquellos automóviles registrados en el estado de "Hidalgo".
Explicación:
• SELECT a.marca, a.submarca, p.id_placa, e.nombre_edo: Indica que la consulta seleccionará
las columnas "marca" y "submarca" de la tabla "auto", la columna "id_placa" de la tabla "placa"
y la columna "nombre_edo" de la tabla "estado".
• FROM auto a: Establece la tabla principal de la que se seleccionarán los datos como "auto" y se
le asigna el alias "a" para abreviar su nombre en la consulta.
• JOIN placa p ON a.id_placa = p.id_placa: Realiza una operación de unión (JOIN) con la tabla
"placa" utilizando la columna "id_placa" de la tabla "auto" y la columna "id_placa" de la tabla
"placa" como el criterio de unión. Esto permite combinar información de ambas tablas.
• JOIN estado e ON p.id_estado_reg = e.id_estado_reg: Realiza otra operación de unión (JOIN)
con la tabla "estado" utilizando la columna "id_estado_reg" de la tabla "placa" y la columna
8
"id_estado_reg" de la tabla "estado" como el criterio de unión. Esto permite combinar
información sobre el estado de registro de los automóviles.
• WHERE e.nombre_edo = 'Hidalgo': Establece una condición en la que se seleccionarán solo los
registros en los que el valor de la columna "nombre_edo" de la tabla "estado" sea igual a
'Hidalgo'. Esto filtra los resultados para mostrar solo automóviles registrados en el estado de
Hidalgo.
En resumen, esta consulta devuelve una lista de automóviles con detalles sobre su marca, submarca,
placa de matrícula y el estado de registro, pero solo para aquellos automóviles registrados en el
estado de "Hidalgo". Esto proporciona información específica sobre los automóviles que cumplen con
este criterio
Esta sentencia es un comando de alteración de tabla que se utiliza para agregar una nueva columna
llamada "adicional1" a la tabla "tipo" en la base de datos "Agencia_Auto". La columna "adicional1" se
define como un tipo de datos entero (int).
El ALTER TABLE amplía la estructura de la tabla "tipo" al agregar una nueva columna llamada
"adicional1" que permitirá almacenar valores enteros en la tabla. Esto puede ser útil para agregar
información adicional a los registros de la tabla "tipo" en el futuro sin modificar la estructura principal
de la tabla.
UPDATE tipo
SET adicional1 = 10 WHERE id_tipo = 2
UPDATE tipo
SET adicional1 = 15 WHERE id_tipo = 3
UPDATE tipo
SET adicional1 = 20 WHERE id_tipo = 4
UPDATE tipo
SET adicional1 = 25 WHERE id_tipo = 5
Estas sentencias actualizan la columna "adicional1" en función del valor de la columna "id_tipo".
Cada uno de los comandos UPDATE actúa de la siguiente manera:
• UPDATE tipo SET adicional1 = 5 WHERE id_tipo = 1: Establece el valor de la columna
"adicional1" en 5 para el registro en el que el valor de la columna "id_tipo" sea igual a 1.
• UPDATE tipo SET adicional1 = 10 WHERE id_tipo = 2: Establece el valor de la columna
"adicional1" en 10 para el registro en el que el valor de la columna "id_tipo" sea igual a 2.
• UPDATE tipo SET adicional1 = 15 WHERE id_tipo = 3: Establece el valor de la columna
"adicional1" en 15 para el registro en el que el valor de la columna "id_tipo" sea igual a 3.
• UPDATE tipo SET adicional1 = 20 WHERE id_tipo = 4: Establece el valor de la columna
"adicional1" en 20 para el registro en el que el valor de la columna "id_tipo" sea igual a 4.
9
• UPDATE tipo SET adicional1 = 25 WHERE id_tipo = 5: Establece el valor de la columna
"adicional1" en 25 para el registro en el que el valor de la columna "id_tipo" sea igual a 5.
Estas sentencias actualizan la columna "adicional1" en la tabla "tipo" con valores específicos según el
valor de "id_tipo". Después de ejecutar estas sentencias, los registros de la tabla "tipo" tendrán
valores diferentes en la columna "adicional1" de acuerdo con las condiciones establecidas en cada
comando UPDATE.
j) Realice una consulta en la tabla color y la tabla tipo donde muestre todos los
colores y tipos de autos.
Esta consulta está diseñada para recuperar información sobre los nombres de colores y tipos de
automóviles que tienen una relación específica.
Explicación:
• SELECT c.nombre_color, t.nombre_tipo: Indica que la consulta seleccionará las columnas
"nombre_color" de la tabla "color" y "nombre_tipo" de la tabla "tipo".
• FROM color c: Establece la tabla principal de la que se seleccionarán los datos como "color" y
se le asigna el alias "c" para abreviar su nombre en la consulta.
• JOIN tipo t ON c.id_color = t.id_tipo: Realiza una operación de unión (JOIN) con la tabla "tipo"
utilizando la columna "id_color" de la tabla "color" y la columna "id_tipo" de la tabla "tipo"
como el criterio de unión. Esto permite combinar información de ambas tablas.
k) Realice una consulta que muestre todos los autos, de color amarillo y de tipo
básico.
Esta consulta está diseñada para recuperar información específica sobre automóviles que cumplan con
ciertos criterios, en este caso, automóviles de color "Amarillo" y tipo "B".
Aquí está una explicación de la consulta:
• SELECT a.marca, a.submarca, c.nombre_color, t.nombre_tipo: Indica que la consulta
seleccionará las columnas "marca" y "submarca" de la tabla "auto", así como las columnas
"nombre_color" y "nombre_tipo" de las tablas "color" y "tipo", respectivamente.
• FROM auto a: Establece la tabla principal de la que se seleccionarán los datos como "auto" y se
le asigna el alias "a" para abreviar su nombre en la consulta.
• JOIN color c ON a.id_color = c.id_color: Realiza una operación de unión (JOIN) con la tabla
"color" utilizando la columna "id_color" de la tabla "auto" y la columna "id_color" de la tabla
"color" como el criterio de unión. Esto permite combinar información sobre los colores de los
automóviles.
10
• JOIN tipo t ON a.id_tipo = t.id_tipo: Realiza otra operación de unión (JOIN) con la tabla "tipo"
utilizando la columna "id_tipo" de la tabla "auto" y la columna "id_tipo" de la tabla "tipo" como
el criterio de unión. Esto permite combinar información sobre los tipos de los automóviles.
• WHERE c.nombre_color = 'Amarillo' AND t.nombre_tipo = 'B': Establece una condición en la
que se seleccionarán solo los registros en los que el valor de la columna "nombre_color" de la
tabla "color" sea igual a 'Amarillo' y el valor de la columna "nombre_tipo" de la tabla "tipo" sea
igual a 'B'. Esto filtra los resultados para mostrar solo automóviles que cumplan con estos
criterios.
Esta consulta devuelve una lista de automóviles que son de color "Amarillo" y tienen un tipo "B",
proporcionando detalles como la marca y submarca de dichos automóviles.
Después de realizar los ejercicios vamos a repetir lo mismo con otras dos bases de datos, pero ahora
nos ahorraremos las explicaciones ya que se repetirá lo mismo con la base de datos de
“Agencia_Auto”.
11
CREATE TABLE DetallesPedido (
DetalleID INT PRIMARY KEY,
PedidoID INT,
ProductoID INT,
Cantidad INT,
Precio DECIMAL(10, 2),
FOREIGN KEY (PedidoID) REFERENCES Pedidos(PedidoID),
FOREIGN KEY (ProductoID) REFERENCES Productos(ProductoID)
)
- Diagrama de relación:
INSERT INTO Productos (ProductoID, Nombre, Descripcion, Precio, Stock, CategoriaID) VALUES
(1, 'Smartphone', 'Teléfono inteligente de última generación', 599.99, 100, 1),
(2, 'Camiseta', 'Camiseta de algodón de alta calidad', 19.99, 200, 2),
(3, 'Mesa de centro', 'Mesa de centro para la sala de estar', 149.99, 50, 3),
(4, 'Balón de fútbol', 'Balón de fútbol oficial', 29.99, 30, 4),
(5, 'Rompecabezas', 'Rompecabezas de 1000 piezas', 24.99, 40, 5)
------------------------------------------------------------------------------------------------
DELETE FROM Clientes WHERE ClienteID IN (6, 7)
------------------------------------------------------------------------------------------------
13
- Base de datos de “Escuela”
CREATE DATABASE Escuela
USE Escuela
- Diagrama de relación:
14
- Ingresamos los registros:
INSERT INTO Estudiantes (EstudianteID, Nombre, Apellido, FechaNacimiento) VALUES
(1, 'Carlos', 'Gómez', '2000-01-15'),
(2, 'Sofía', 'López', '2001-03-20'),
(3, 'Andrés', 'Torres', '1999-08-10'),
(4, 'Laura', 'Vargas', '2002-05-05'),
(5, 'Javier', 'Hernández', '1998-11-30')
15
FROM
Cursos AS C
JOIN
Profesores AS P ON C.ProfesorID = P.ProfesorID
Conclusión
En resumen, hemos creado una base de datos llamada "Agencia_Auto" que contiene información
sobre automóviles, colores, tipos, placas y estados de registro. Hemos realizado diversas operaciones
en la base de datos, como la creación de tablas, la inserción de datos, la actualización de registros y la
eliminación de datos. También hemos ejecutado consultas SQL para recuperar información específica
de la base de datos.
En general, esta base de datos está diseñada para gestionar información relacionada con la venta y
registro de automóviles. Las tablas "auto", "color", "tipo", "placa" y "estado" almacenan datos clave
sobre los automóviles, incluyendo su marca, modelo, precio, color y tipo, así como información de
registro y ubicación. Las operaciones de inserción, actualización y eliminación permiten mantener y
modificar la información en la base de datos según sea necesario.
Las consultas SQL nos permiten recuperar datos de manera eficiente, como obtener una lista de
automóviles de color "Amarillo" y tipo "B" o encontrar automóviles registrados en un estado
específico, como "Hidalgo". Además, hemos agregado una columna llamada "adicional1" a la tabla
"tipo" para expandir la información almacenada en la base de datos.
En conclusión, esta base de datos y las operaciones realizadas en ella son un ejemplo de cómo se
puede gestionar y consultar información relacionada con automóviles y su registro. El diseño y las
operaciones pueden adaptarse y ampliarse según las necesidades específicas de una agencia
automotriz o un sistema de gestión de vehículos.
Referencias bibliográficas.
- QGIS. (s.f.). Database Concepts. Recuperado de
https://docs.qgis.org/3.28/es/docs/training_manual/database_concepts/db_intro.ht
ml
- Microsoft. (s.f.). Insert, update, and delete records from a table using Access SQL.
Recuperado de https://learn.microsoft.com/es-
es/office/vba/access/concepts/structured-query-language/insert-update-and-delete-
records-from-a-table-using-access-sql
- Microsoft. (s.f.). Usar una consulta de unión para combinar varias consultas en un
mismo resultado. Recuperado de https://support.microsoft.com/es-es/office/usar-
una-consulta-de-unión-para-combinar-varias-consultas-en-un-mismo-resultado-
1f772ec0-cc73-474d-ab10-ad0a75541c6e
16