Consultas en Access
Práctica consultas Cursos
Consulta CREATE
Tabla curso:
CREATE TABLE Cursos (
ID_Curso AUTOINCREMENT PRIMARY KEY,
NombreCurso TEXT(50),
Profesor TEXT(50)
);
Taba estudiantes:
CREATE TABLE Estudiantes (
ID_Estudiante AUTOINCREMENT PRIMARY KEY,
Nombre TEXT(50),
Apellido TEXT(50),
Edad BYTE,
CursoID LONG,
CONSTRAINT FK_Estudiantes_Cursos FOREIGN KEY (CursoID)
REFERENCES Cursos (ID_Curso)
);
Consulta INSERT:
Insertar cursos:
INSERT INTO Cursos (NombreCurso, Profesor) VALUES ('Matemática', 'Prof. Vargas');
INSERT INTO Cursos (NombreCurso, Profesor) VALUES ('Español', 'Prof. Ruiz');
INSERT INTO Cursos (NombreCurso, Profesor) VALUES ('Ciencias', 'Prof. Mora');
Insertar estudiantes:
INSERT INTO Estudiantes (Nombre, Apellido, Edad, CursoID) VALUES ('Ana', 'López', 12, 1);
INSERT INTO Estudiantes (Nombre, Apellido, Edad, CursoID) VALUES ('Juan', 'Pérez', 13, 2);
INSERT INTO Estudiantes (Nombre, Apellido, Edad, CursoID) VALUES ('Sofía', 'Rojas', 11, 1);
INSERT INTO Estudiantes (Nombre, Apellido, Edad, CursoID) VALUES ('Carlos', 'Jiménez', 14, 3);
Notas sobre consultas:
AUTOINCREMENT se usa para campos de numeración automática.
TEXT(50) define campos de texto.
BYTE es suficiente para la edad (0–255), pero también puedes usar INTEGER.
En bases de datos, la palabra clave CONSTRAINT se usa para definir una restricción (una regla que los datos deben cumplir).
Práctica de consultas Deportistas
1. Abrir la base de datos
Abre Microsoft Access.
Crea una nueva base de datos vacía llamada Deportistas.accdb.
2. Crear las tablas
Ve a la pestaña Crear → Diseño de tabla.
Crea la tabla Disciplinas con estos campos:
IdDisciplina (Autonumeración, Clave principal).
NombreDisciplina (Texto corto).
Crea la tabla Deportistas con estos campos:
IdDeportista (Autonumeración, Clave principal).
Nombre (Texto corto).
Apellido (Texto corto).
Pais (Texto corto).
IdDisciplina (Número, clave externa que se relaciona con Disciplinas).
Guarda las tablas y relaciónalas:
En Herramientas de base de datos → Relaciones, conecta IdDisciplina de Disciplinas con IdDisciplina de Deportistas.
3. Insertar datos
En la pestaña Crear → Diseño de consulta.
Cambia a vista SQL y pega las sentencias que te compartí antes para insertar los datos.
4. Crear consultas de selección
Listar todos los deportistas
Ve a Crear → Diseño de consulta.
Selecciona la tabla Deportistas.
Arrastra los campos que quieras (Nombre, Apellido, País).
Ejecuta la consulta (botón rojo con “!”).
Mostrar los deportistas de una disciplina específica (ejemplo: Fútbol)
En la consulta, agrega también la tabla Disciplinas.
Selecciona Nombre, Apellido, País, NombreDisciplina.
En la fila Criterios de NombreDisciplina, escribe:
Fútbol
3 Buscar deportistas por país (ejemplo: Costa Rica)
Usa la misma consulta pero en la columna Pais, en la fila Criterios, escribe:
Costa Rica
4 Contar cuántos deportistas hay por disciplina
En la pestaña de diseño, haz clic en Totales (Σ).
En NombreDisciplina selecciona “Agrupar por”.
En IdDeportista selecciona “Contar”.
Ejecuta la consulta → mostrará cada disciplina con la cantidad de deportistas.
· Cuando termines, haz clic en Guardar.
· Nombra las consultas de forma clara, por ejemplo:
o Consulta_Todos
o Consulta_Futbol
o Consulta_CostaRica
o Consulta_ConteoPorDisciplina
Creación de las tablas
CREATE TABLE Disciplinas (
IdDisciplina AUTOINCREMENT PRIMARY KEY,
NombreDisciplina TEXT(50) NOT NULL
);
CREATE TABLE Deportistas (
IdDeportista AUTOINCREMENT PRIMARY KEY,
Nombre TEXT(50) NOT NULL,
Apellido TEXT(50) NOT NULL,
Pais TEXT(50),
IdDisciplina INT,
FOREIGN KEY (IdDisciplina) REFERENCES Disciplinas(IdDisciplina)
);
CREATE TABLE Deportistas (
IdDeportista AUTOINCREMENT PRIMARY KEY,
Nombre TEXT(50) NOT NULL,
Apellido TEXT(50) NOT NULL,
Pais TEXT(50),
IdDisciplina INT,
FOREIGN KEY (IdDisciplina) REFERENCES Disciplinas(IdDisciplina)
);
INSERT INTO Disciplinas (NombreDisciplina) VALUES
('Fútbol'),
('Baloncesto'),
('Atletismo'),
('Natación'),
('Tenis');
INSERT INTO Deportistas (Nombre, Apellido, Pais, IdDisciplina) VALUES
('Keylor', 'Navas', 'Costa Rica', 1),
('Lionel', 'Messi', 'Argentina', 1),
('LeBron', 'James', 'Estados Unidos', 2),
('Shelly-Ann', 'Fraser-Pryce', 'Jamaica', 3),
('Michael', 'Phelps', 'Estados Unidos', 4),
('Rafael', 'Nadal', 'España', 5),
('Andrea', 'Vargas', 'Costa Rica', 3),
('Novak', 'Djokovic', 'Serbia', 5);