¡El poder de los datos!

1

¡El poder de los datos!

Introducción a las bases de datos relacionales

2

Buenas prácticas de bases de datos con SQL

3

Tipos de datos en SQL

4

¿Cómo crear una base de datos en SQL?

5

Práctica: Tu primera consulta en bases de datos

6

Historia y Evolución de SQL

7

Práctica: Creación de Tablas en SQL (CREATE TABLE)

Manipulación de Datos

8

Insertando Datos con SQL (INSERT)

9

Consultas y Selecciones en SQL (SELECT)

10

Práctica: SELECT en SQL

11

Actualización de Datos con SQL (UPDATE)

12

Eliminación de Datos con SQL (DELETE)

13

Práctica: CRUD con SQL

Manipulación Avanzada de Datos

14

Instalación de MySQL Server y MySQL Workbench

15

¿Qué es la cláusula WHERE de SQL?

16

Filtrar y Ordenar Datos en SQL (LIKE)

17

Práctica: Filtrar Datos con WHERE en SQL

18

Cláusulas de Comparación Textual en SQL (AND, NULL, IN, NOT)

19

Funciones de Aritmética Básica en SQL (COUNT, SUM, AVG)

20

Funciones de Aritmética Básica en SQL (MIN, MAX)

Agrupación de Datos

21

Agrupación de Datos en SQL: GROUP BY, HAVING y CASE para Análisis Avanzado

22

Práctica: Agrupamiento y Ordenamiento de Datos

23

Tipos de JOIN en SQL

24

¿Cómo funciona INNER JOIN, LEFT JOIN, RIGHT JOIN y FULL JOIN?

25

Práctica: LEFT JOIN en SQL

Transformación de Datos

26

Vistas Materializadas en SQL: Como optimizar tus consultas y reportes.

27

Práctica: Crear Vistas Materializadas en SQL

28

Optimización de Bases de Datos con SQL: CREATE INDEX y TRIGGER

29

Vistas Materializadas y Temporales en SQL

30

Expresiones de Tablas Comunes (CTE) en SQL

Procedimientos Almacenados

31

Procedimientos Almacenados en SQL

32

Procedimientos Almacenados en SQL: Gestión de Variables y Manejo de Excepciones

Administración de Base de Datos

33

Respaldos y Restauración de Bases de Datos

34

Seguridad en Bases de Datos SQL

Análisis de Datos Avanzados

35

Potenciando los Datos en la Nube: Data Science, Big Data, ML e AI

36

SQL para Análisis de Datos: Primeros pasos con Power BI

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

No se trata de lo que quieres comprar, sino de quién quieres ser. Aprovecha el precio especial.

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

13 Días
20 Hrs
55 Min
19 Seg

Insertando Datos con SQL (INSERT)

8/36
Recursos

¿Cómo se hace la inserción de datos en SQL?

Para insertar datos, utilizamos INSERT INTO, especificando el nombre de la tabla y los atributos. Por ejemplo, al insertar en las tablas de estudiantes y cursos, no necesitamos incluir valores por defecto como fechas de carga y actualización. Aquí un ejemplo práctico:

INSERT INTO estudiantes (nombre, apellido, correo)
VALUES ('Carolina', 'Pérez', '[email protected]');

¿Cómo insertamos datos en tablas con claves foráneas?

Cuando trabajamos con claves foráneas, primero identificamos los IDs relevantes. Supongamos que queremos matricular a Carolina en el curso de francés. Carolina tiene el ID 1 y el curso de francés es el curso 1. El insert sería:

INSERT INTO relacion_estudiante_curso (estudiante_id, curso_id)
VALUES (1, 1);

¿Cómo validar los datos insertados?

Para validar que los datos se han insertado correctamente, utilizamos SELECT * FROM seguido del nombre de la tabla. Así verificamos que los registros están en su lugar.

Aportes 47

Preguntas 10

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

DEFINITIVAMENTE debería al menos hacer un ejercicio completo, donde muestre resultados, siempre queda a medias.
deberia de existir la manera de cerrar (ocultar) los comentarios, ya que desde el teléfono no se puede poner la pantalla en horizontal, porque solo se ve la sección de comentarios y no hay visualización de video
![](https://static.platzi.com/media/user_upload/code%20%283%29%20%281%29-6468919a-8b71-496b-9d44-a8d361a82de8.jpg)
SI ESTÁS USANDO [SQL OnLine IDE (sqliteonline.com) ](https://sqliteonline.com/) ESTE ES EL CODIGO: `-- CREATE TABLE FOR STUDENTS` `CREATE TABLE STUDENTS (` ` STUDENTID INT PRIMARY KEY,` ` FIRSTNAME VARCHAR(50),` ` LASTNAME VARCHAR(50),` ` AGE INT,` ` EMAIL VARCHAR(100)` `);` `-- CREATE TABLE FOR INSTRUCTORS` `CREATE TABLE INSTRUCTORS (` ` INSTRUCTORID INT PRIMARY KEY ,` ` FIRSTNAME VARCHAR(50),` ` LASTNAME VARCHAR(50),` ` EMAIL VARCHAR(100),` ` SALARY DECIMAL(10, 2)` `);` `-- CREATE TABLE FOR COURSES` `CREATE TABLE COURSES (` ` COURSEID INT PRIMARY KEY ,` ` COURSENAME VARCHAR(100),` ` DESCRIPTION TEXT,` ` INSTRUCTORID INT,` ` DURATIONHOURS INT,` ` FOREIGN KEY (INSTRUCTORID) REFERENCES INSTRUCTORS(INSTRUCTORID)` `);` `CREATE TABLE STUDENT_COURSE (` ` STUDENT_COURSE_ID INT PRIMARY KEY ,` ` STUDENTID INT,` ` COURSEID INT,` ` FOREIGN KEY (STUDENTID) REFERENCES STUDENTS(STUDENTID),` ` FOREIGN KEY (COURSEID) REFERENCES COURSES(COURSEID)` `);`
Definitivamente no es un curso básico como se menciona, hay muchas cosas que ya se deben de saber, por ejemplo no me quedo claro cómo insertar un dato, no termina bien con un ejemplo cuando ya empieza otro, debería por lo menos terminar uno completo para tener mejor referencia. 😬
Hola, profesora no se entiende absolutamente nada el salto que se realiza aquí, en la clase anterior eran solo dos tablas, y ahora como que ya deberíamos tener más tablas creadas, y otra cosa, las tablas que creo no se guardan o ya no me aparecen en el sitio web que utilizamos, si se puede aclarar ese tema estaría genial, ya que nos estamos retrasando
De dónde salieron los nombres, la edad y el correo por ejemplo? ya que dicen "dejamos", en ninguna clase se escrbió eso
este curso lo dejare, se salta muchas cosas y me deja perdido
Comparto mi código aprendido 👩‍💻 `INSERT INTO STUDENT_COURSE (STUDENTID, COURSEID)` `VALUES (1, 1);`
🙄 Por alguna razón yo insertaba los valores de texto con comillas dobles "" y pues no me funcionaba y no sabia porque, en desarrollo suelo usar "" para declarar string pero veo que no es lo mismo, asi que tuve que cambiarlo por comillas simples y me funciono, nose si sea por el editor o viene por default como regla para SQL 🥺 INSERT INTO STUDENTS (FIRSTNAME, LASTNAME, AGE, EMAIL) VALUES("Alexander", "Flores", 25, "lexand\[email protected]"); 😎 INSERT INTO STUDENTS (FIRSTNAME, LASTNAME, AGE, EMAIL) VALUES('Alexander', 'Flores', 25, 'lexand\[email protected]');
En que clases enseñaron relacionamiento de tablas?, no veo relacion entre las clases anteriores y esta, siento que hay muchos temas que se saltaron y tocara buscar por afuera. :/
no me aparecen las tablas creadas y desconozco el porqué
para que no les salga null en el ID de la primary key, coloquen STUDENT\_COURSE\_ID INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL al crear la primary kei de cada tabla
* Importancia de los Inserts: \- Aprender a insertar datos es crucial para la manipulación de datos en bases de datos. * Sintaxis para Inserciones: \- Usar `INSERT INTO` seguido del nombre de la tabla y los atributos a los que se les va a ingresar información. \- Atributos con valores por defecto, como fecha de carga y actualización, no necesitan ser especificados en el `INSERT INTO`. \- \*\*Ejemplo de Inserción\*\*: \- Insertar información en la tabla de relacionamiento usando los ID de los estudiantes y cursos. \- Ejemplo: Si la estudiante Carolina tiene el ID 1 y se quiere matricular en el curso de francés con el ID 1. INSERT INTO STUDENT\_COURSE (STUDENTID, COURSEID) VALUES (1, 1); * Validación de Inserciones: \- Usar `SELECT \* FROM` seguido del nombre de la tabla para validar la información insertada. * Práctica Adicional: \- Insertar información en el resto de las tablas. \- Crear una base de datos con muchos registros para práctica adicional. \- Insertar información errónea para ver cómo maneja los errores el motor de base de datos.
Comparto lo mío, tuve que investigar más cosas y vi varios errores que da según la extensión que uno use, yo estoy usando VSCode con SQLITE ![](https://static.platzi.com/media/user_upload/image-63aa2743-19b0-4312-ad6f-965f7a35df78.jpg)![](https://static.platzi.com/media/user_upload/image-d83385b9-165a-4ebf-b8b6-2811eeb06a47.jpg)![](https://static.platzi.com/media/user_upload/image-e94b8428-618f-4f29-9790-a771f2af62f5.jpg)![](https://static.platzi.com/media/user_upload/image-f04112f5-0fd4-4ec3-aa13-e50a20338e69.jpg)![](https://static.platzi.com/media/user_upload/image-0b6f6ee6-bab6-404d-a890-748467edf9c9.jpg)![](https://static.platzi.com/media/user_upload/image-7ef678f2-a233-4255-9c97-6b0d991a4f7f.jpg)![](https://static.platzi.com/media/user_upload/image-e460713e-d026-4b96-b7ae-96f6223f4759.jpg)Son 30 alumnos, 10 profesores y 6 cursos, por espacio no coloque todo el código pero esta ahí para que se hagan una idea, por si a alguien se le esta dificultando un poco
gente de platzi, tomen en cuenta que habemos personas que estamos en cero y falta la explicacion de como manejar el programa. he visto 8 videos y no entiendo las versiones sql, como adquirirlo, mucho menos como interactuar con la vercion que estamos trabajando, practicamente solo imito lo que hacen la instructora.
Holas, yo me perdi, en la clase anterior era el ejercicio de crear una tabla llamada people, pero aca me dicen que debo tener ya otras tablas creadas :/
Buenas noches, este ejercicio esta por partes, deberian realizar este paso mas completo, aun no se como realizo la base de datos
![](https://static.platzi.com/media/user_upload/image-73d9ce93-3add-484b-a35c-9683f1bd35bd.jpg) Insertando varios registros ![](https://static.platzi.com/media/user_upload/image-85a88cae-7b0d-4a52-9b23-7678d0ced13f.jpg) Aqui tienen la sintaxis y registros por si los quieren usar: INSERT INTO STUDENTS (FIRSTNAME, LASTNAME, AGE, EMAIL) VALUES ('John', 'Doe', 25, '[email protected]'), ('Scarcamo', 'Carcamo', 35, '[email protected]'), ('Danny', 'Espinoza', 30, '[email protected]'), ('Melisa', 'Doe', 25, '[email protected]'), ('Maria', 'Dane', 30, '[email protected]'), ('Karla', 'Sanchez', 24, '[email protected]'), ('Sergio', 'Perez', 35, '[email protected]'), ('Carlos', 'Moncada', 35, '[email protected]');
Le pedi ayuda a chatgpt 3.5 para que me ayudara a llenar las tablas, le pedi: * 400 estudiantes * 20 instructores * 30 cursos * que cada curso tuviera 15 estudiantes me respondio con el siguiente script en python....... Genial !!!! ```js import random from faker import Faker fake = Faker() # Generate data for STUDENTS students = [] for _ in range(400): first_name = fake.first_name() last_name = fake.last_name() age = random.randint(18, 25) email = fake.email() students.append((first_name, last_name, age, email)) # Generate data for INSTRUCTORS instructors = [] for _ in range(20): first_name = fake.first_name() last_name = fake.last_name() email = fake.email() salary = round(random.uniform(50000, 120000), 2) instructors.append((first_name, last_name, email, salary)) # Generate data for COURSES courses = [] for i in range(1, 31): course_name = f"Course {i}" description = fake.text() instructor_id = random.randint(1, 20) duration_hours = random.randint(20, 100) courses.append((course_name, description, instructor_id, duration_hours)) # Generate data for STUDENT_COURSE student_course = [] for course_id in range(1, 31): student_ids = random.sample(range(1, 401), 15) for student_id in student_ids: student_course.append((student_id, course_id)) # Generate SQL insert statements # STUDENTS students_sql = "INSERT INTO STUDENTS (FIRSTNAME, LASTNAME, AGE, EMAIL) VALUES\n" students_values = ",\n".join([f"('{first_name}', '{last_name}', {age}, '{email}')" for first_name, last_name, age, email in students]) students_sql += students_values + ";" # INSTRUCTORS instructors_sql = "INSERT INTO INSTRUCTORS (FIRSTNAME, LASTNAME, EMAIL, SALARY) VALUES\n" instructors_values = ",\n".join([f"('{first_name}', '{last_name}', '{email}', {salary})" for first_name, last_name, email, salary in instructors]) instructors_sql += instructors_values + ";" # COURSES courses_sql = "INSERT INTO COURSES (COURSENAME, DESCRIPTION, INSTRUCTORID, DURATIONHOURS) VALUES\n" courses_values = ",\n".join([f"('{course_name}', '{description}', {instructor_id}, {duration_hours})" for course_name, description, instructor_id, duration_hours in courses]) courses_sql += courses_values + ";" # STUDENT_COURSE student_course_sql = "INSERT INTO STUDENT_COURSE (STUDENTID, COURSEID) VALUES\n" student_course_values = ",\n".join([f"({student_id}, {course_id})" for student_id, course_id in student_course]) student_course_sql += student_course_values + ";" # Output the SQL statements print(students_sql) print(instructors_sql) print(courses_sql) print(student_course_sql) ```
se ve que la instructora sabe del tema, pero da la impresión de que no planifico el plan de estudio y que todas las clases son improvisadas. para ser un nuevo curso dentro de la plataforma esperaba más que esto.
Siento que este curso tiene una buena puntuación porque los que abandonamos el curso, no podemos darle 1 estrelllas jaja. Por lo menos espero que le saquen el "BÁSICO" y lo cambien a "intermedio" y que es para gente que repase conceptos, no para principiantes. Esto estaba en mi ruta de **Full Stack Developer con JavaScript** para iniciar con bases de datos. Tendré que buscar otro curso antiguo
Le doy a run y no se carga en el editor online. El video no tiene la información suficiente. Siento que por hacer un video de menos de 5minutos se pierde un montón de información. Prefiero un video de 10 minutos y viendo que la profesora lo haga. Atrasa mucho y no dan ganas de seguir el curso asi. ![](https://static.platzi.com/media/user_upload/Screenshot_139-1e076816-4a86-4298-895c-288f95dda672.jpg) ![]()
Para realizar un `SELECT` siguiendo los mejores estándares en SQL, considera lo siguiente: 1. **Especifica las columnas**: En lugar de usar `SELECT *`, indica las columnas específicas que necesitas. Esto mejora la legibilidad y el rendimiento. ```sql SELECT nombre, apellido FROM instructores; ``` 2. **Usa alias**: Emplea alias para mejorar la claridad en los resultados. ```sql SELECT nombre AS "Nombre del Instructor" FROM instructores; ``` 3. **Filtra resultados**: Aplica condiciones con `WHERE` para obtener solo los datos relevantes. ```sql SELECT nombre FROM instructores WHERE fecha_de_carga > '2023-01-01'; ``` 4. **Ordena los resultados**: Usa `ORDER BY` para organizar los datos. ```sql SELECT nombre FROM instructores ORDER BY apellido ASC; ``` 5. **Evita el uso de funciones en columnas de condición**: Esto puede afectar el rendimiento. Siguiendo estos pasos, asegurarás consultas más eficientes y legibles.
Es correcto que en los recursos del curso vienen los ejercicios, sin embargo considero al dejar los ejericicos de tarea deberian ser mas especificos respecto a que es lo que esperan, tal y como se hace en las pruebas de practica.
Por qué si es un curso de Bases de Datos no muestran como seria la estructura, por lo mneos en cada uno de los sistemas de gestion de bases de datos mas conocido o mas ttrabajados. Por favor !
Profesora, en el caso de que una tabla requiera, ademas de fecha de creación y edición, qu usuario realizo las acciones, y ademas saber cual fue exactamente la modificación, como se podría o mas bien, como se debería solucionar eso, debo añadir mas campos, y en el caso de saber que fue lo que se edito, como se podría resolver? tomando en cuenta las buenas practicas
Profe, para el caso de la tabla CURSOS, el relacionamiento sería entre la Foreign\_key "INSTRUCTORID" y COURSEID? No entiendo el relacionamiento hacia el mismo PRIMARY KEY de la tabla.
No me carga nada , que pude haber hecho mal ? ![](https://static.platzi.com/media/user_upload/image-3acb3150-b135-4c35-8768-395f2f815dda.jpg)![](https://static.platzi.com/media/user_upload/image-496395a2-33af-4d95-bceb-9717fd00d359.jpg)
¿Aquí como se pone el salario? ![](https://static.platzi.com/media/user_upload/2024-06-21_18h37_59-4c221766-40a2-42ae-a8f3-e723d6d8e41b.jpg)
![]()Es más fácil visualizar la DB y hacer consultas desde VScode con una extension SQLite ![](https://static.platzi.com/media/user_upload/Screenshot%202024-09-16%20at%2012.26.23PM-df1b75e3-958b-4044-a03d-711009c7448c.jpg) ![](https://static.platzi.com/media/user_upload/Screenshot%202024-09-16%20at%2012.26.38PM-02f466cf-0f56-4d30-a1b1-3ad320457022.jpg)
![](https://static.platzi.com/media/user_upload/InsertData2-001666de-729d-4b43-ae15-cd57ab4af9d3.jpg) * Insertando datos de los cursos * Tabla de datos * Datos de ejecución (filas devueltas, tiempo de procesamiento, líneas)
![]()![]()![]()Insertando datos: ![](https://static.platzi.com/media/user_upload/InsertData-179edf27-740c-46fe-80d6-ddadf6cb2e8f.jpg) * DB Browser for SQLite
Hola en mi caso yo plantee un poquito diferente el reto, yo le adiciona una tabla de mas que se llama courses\_enabled, donde se tiene los atributos de course\_id, instructor\_id, tanto la fecha de inicio y final del curso ademas de un status (pending, process, finished, cancelled). `create table students (student_id serial primary key, fist_name varchar(100), phone_number varchar(15), address varchar(50));` `create table instructors (instructor_id serial primary key, fist_name varchar(100), phone_number varchar(15), address varchar(50));` `create table courses (course_id serial primary key, description varchar(255));` `alter table courses add column name varchar(100);` `create type status_course as enum ('pending', 'process', 'finished', 'cancelled');` `create table courses_enabled (` ` ``id serial primary key, ` ` ``start_date date not null, ` ` ``finish_date date not null, ` ` ``current_status status_course not null, ` ` ``comment_course varchar(255) null,` ` ``instructor_id serial not null,` ` ``CONSTRAINT fk_course_enable_instructor` ` FOREIGN KEY(instructor_id) ` ` REFERENCES instructors(instructor_id)` `);` `create table courses_enrolled (` ` ``course_enrolled serial primary key,` ` ``course_enabled_id serial, ` ` ``student_id serial,` ` ``CONSTRAINT fk_course_enrolled_course_enabled` ` FOREIGN KEY(course_enabled_id) ` ` REFERENCES courses_enabled(id),`` ` ` ``CONSTRAINT fk_course_enrolled_student` ` FOREIGN KEY(student_id) ` ` REFERENCES students(student_id)` `)`
Para practicar, deben adaptar el nombre las tablas y sus variantes a como ustedes las organizaron : -- Insertando instructores (6 registros) insert into instructors (first\_name, last\_name, age, email, speciality, experience) values ('Juan', 'Pérez', 45, '[email protected]', 'Matemáticas', 20), ('Ana', 'Gómez', 38, '[email protected]', 'Estadística', 15), ('Ricardo', 'López', 29, '[email protected]', 'Programación en Python', 7), ('María', 'Martínez', 50, '[email protected]', 'Análisis de Datos', 25), ('Miguel', 'Fernández', 60, 'miguel.fernandez@example', 'Bases de Datos', 35), -- Error en email ('Patricia', 'Rodríguez', 47, '[email protected]', 'Visualización de Datos', 22); \-- Insertando cursos (3 registros) insert into courses (course\_name, description, duration\_hours, instructors\_id) values ('Introducción a la Ciencia de Datos', 'Un curso básico sobre ciencia de datos', 120, 1), ('Estadística Avanzada para Ciencia de Datos', 'Exploración profunda de técnicas estadísticas en ciencia de datos', 200, 2), ('Programación en Python para Ciencia de Datos', 'Fundamentos de programación en Python enfocados en ciencia de datos', 150, 3); insert into students (first\_name, last\_name, age, email) values ('Lionel', 'Messi', 19, '[email protected]'), ('Diego', 'Maradona', 21, '[email protected]'), ('Carlos', 'Gardel', 22, '[email protected]'), ('Jorge', 'Borges', 20, '[email protected]'), ('Gustavo', 'Cerati', 23, '[email protected]'), ('Roberto', 'Fontanarrosa', 24, '[email protected]'), ('Charly', 'Garcia', 21, '[email protected]'), ('Luis', 'Alberto', 22, '[email protected]'), ('Julio', 'Cortázar', 23, '[email protected]'), ('Martín', 'Fierro', 20, '[email protected]'), ('Ricardo', 'Arjona', 19, '[email protected]'), ('Alfredo', 'Di Stefano', 24, '[email protected]'), ('Mafalda', 'Quino', 23, '[email protected]'), ('Roberto', 'Gómez', 22, '[email protected]'), ('Mercedes', 'Sosa', 21, '[email protected]'), ('Juan Roman', 'Riquelme', 20, '[email protected]'), ('Atahualpa', 'Yupanqui', 23, '[email protected]'), ('Javier', 'Mascherano', 22, '[email protected]'), ('Fito', 'Páez', 21, '[email protected]'), ('Norberto', 'Fontana', 19, '[email protected]'), ('Gaby', 'Sabatini', 24, '[email protected]'), ('León', 'Gieco', 23, '[email protected]'), ('Gustavo', 'Santaolalla', 22, '[email protected]'), ('Ramón', 'Díaz', 21, '[email protected]'), ('Ástor', 'Piazzolla', 23, '[email protected]'), ('José', 'San Martín', 20, '[email protected]'), ('Daniel', 'Passarella', 19, '[email protected]'), ('Vicente', 'López', 24, '[email protected]'), ('Juan', 'Gelman', 22, '[email protected]'), ('Horacio', 'Quiroga', 21, '[email protected]'), ('Enrique', 'Santos', 23, '[email protected]'), ('Gabriel', 'Batistuta', 22, '[email protected]'), ('Isabel', 'Perón', 20, '[email protected]'), ('Mario', 'Kempes', 24, '[email protected]'), ('César', 'Menotti', 23, '[email protected]'), ('Enzo', 'Francescoli', 22, '[email protected]'), ('Marcos', 'Mundstock', 21, '[email protected]'), ('Susana', 'Giménez', 19, '[email protected]'), ('Manuel', 'Belgrano', 24, 'manuel.belgrano@examplecom'), ('Nicolás', 'Cabré', 22, '[email protected]'), ('Osvaldo', 'Pugliese', 23, '[email protected]'), ('Pedro', 'Aznar', 21, '[email protected]'), ('Quique', 'Saco', 20, '[email protected]'), ('Ramona', 'Galarza', 19, '[email protected]'), ('Sandro', 'de América', 24, '[email protected]'), ('Tita', 'Merello', 22, '[email protected]'), ('Ulises', 'Bueno', 23, '[email protected]'), ('Victoria', 'Ocampo', 21, '[email protected]');
Hola Caro y compañero. Quisiera saber como se haría en el aplicativo de SQL Server. Me presenta error por la creación de la bade de datos.
Amo este nuevo curso y todas las cosas que le han ido implementando a Platzi, gracias por amar la educación.
Hola compañeros, les dejo mi código para insertar valores a las tablas de `STUDENTS`, `INSTRUCTORS`, `COURSES` y `STUDENT_COURSE` `(Crédito a Carcamo)` ```js -- Insertar datos en la tabla de estudiantes INSERT INTO STUDENTS (FIRSTNAME, LASTNAME, AGE, EMAIL) VALUES ('John', 'Doe', 25, '[email protected]'), ('Scarcamo', 'Carcamo', 35, '[email protected]'), ('Danny', 'Espinoza', 30, '[email protected]'), ('Melisa', 'Doe', 25, '[email protected]'), ('Maria', 'Dane', 30, '[email protected]'), ('Karla', 'Sanchez', 24, '[email protected]'), ('Sergio', 'Perez', 35, '[email protected]'), ('Carlos', 'Moncada', 35, '[email protected]'); -- Insertar datos en la tabla de instructores INSERT INTO INSTRUCTORS (FIRSTNAME, LASTNAME, EMAIL) INSERT INTO INSTRUCTORS (FIRSTNAME, LASTNAME, EMAIL) VALUES ('John', 'Smith', '[email protected]'), ('Alice', 'Johnson', '[email protected]'), ('Michael', 'Williams', '[email protected]'), ('Emily', 'Brown', '[email protected]'), ('Daniel', 'Miller', '[email protected]'), ('Jessica', 'Davis', '[email protected]'), ('Matthew', 'Garcia', '[email protected]'), ('Sarah', 'Martinez', '[email protected]'), ('Andrew', 'Hernandez', '[email protected]'), ('Lauren', 'Lopez', '[email protected]'); -- Insertar datos en la tabla de cursos INSERT INTO COURSES (COURSENAME, DESCRIPTION, INSTRUCTORID, DURATIONHOURS) VALUES ('Introduction to Programming', 'Fundamentals of programming using Python.', 1, 40), ('Database Management', 'Introduction to relational databases and SQL.', 2, 30), ('Web Development', 'Building dynamic websites using HTML, CSS, and JavaScript.', 3, 50), ('Data Analysis with Python', 'Analyzing data using Python libraries like Pandas and NumPy.', 1, 35), ('Machine Learning Fundamentals', 'Introduction to machine learning concepts and algorithms.', 2, 45), ('Software Engineering Principles', 'Best practices in software development and design patterns.', 3, 60), ('Cybersecurity Basics', 'Fundamentals of cybersecurity and network security.', 1, 25), ('Mobile App Development', 'Building mobile applications for iOS and Android.', 2, 55), ('Cloud Computing Essentials', 'Introduction to cloud computing and AWS services.', 3, 40), ('Artificial Intelligence Applications', 'Real-world applications of artificial intelligence.', 1, 50); -- Insertar datos en la tabla de relaciones entre estudiantes y cursos INSERT INTO STUDENT_COURSE (STUDENTID, COURSEID) VALUES (1, 1), (1, 2), (1, 3), (2, 3), (2, 4), (2, 5), (3, 5), (3, 6), (3, 7), (4, 7), (4, 8), (4, 9), (5, 9), (5, 10), (5, 1), (6, 1), (6, 2), (6, 3), (7, 3), (7, 4), (7, 5), (8, 5), (8, 6), (8, 7), (9, 7), (9, 8), (9, 9), (10, 9), (10, 10), (10, 1), (10, 2), (11, 2), (11, 3), (11, 4), (12, 4), (12, 5), (12, 6), (13, 6), (13, 7), (13, 8), (14, 8), (14, 9), (14, 10), (15, 10), (15, 1), (15, 2), (16, 2), (16, 3), (16, 4); ```-- Insertar datos en la tabla de estudiantes INSERT INTO STUDENTS (FIRSTNAME, LASTNAME, AGE, EMAIL) VALUES ('John', 'Doe', 25, '[email protected]'), ('Scarcamo', 'Carcamo', 35, '[email protected]'), ('Danny', 'Espinoza', 30, '[email protected]'), ('Melisa', 'Doe', 25, '[email protected]'), ('Maria', 'Dane', 30, '[email protected]'), ('Karla', 'Sanchez', 24, '[email protected]'), ('Sergio', 'Perez', 35, '[email protected]'), ('Carlos', 'Moncada', 35, '[email protected]'); \-- Insertar datos en la tabla de instructores INSERT INTO INSTRUCTORS (FIRSTNAME, LASTNAME, EMAIL) INSERT INTO INSTRUCTORS (FIRSTNAME, LASTNAME, EMAIL) VALUES ('John', 'Smith', '[email protected]'), ('Alice', 'Johnson', '[email protected]'), ('Michael', 'Williams', '[email protected]'), ('Emily', 'Brown', '[email protected]'), ('Daniel', 'Miller', '[email protected]'), ('Jessica', 'Davis', '[email protected]'), ('Matthew', 'Garcia', '[email protected]'), ('Sarah', 'Martinez', '[email protected]'), ('Andrew', 'Hernandez', '[email protected]'), ('Lauren', 'Lopez', '[email protected]'); \-- Insertar datos en la tabla de cursos INSERT INTO COURSES (COURSENAME, DESCRIPTION, INSTRUCTORID, DURATIONHOURS) VALUES ('Introduction to Programming', 'Fundamentals of programming using Python.', 1, 40), ('Database Management', 'Introduction to relational databases and SQL.', 2, 30), ('Web Development', 'Building dynamic websites using HTML, CSS, and JavaScript.', 3, 50), ('Data Analysis with Python', 'Analyzing data using Python libraries like Pandas and NumPy.', 1, 35), ('Machine Learning Fundamentals', 'Introduction to machine learning concepts and algorithms.', 2, 45), ('Software Engineering Principles', 'Best practices in software development and design patterns.', 3, 60), ('Cybersecurity Basics', 'Fundamentals of cybersecurity and network security.', 1, 25), ('Mobile App Development', 'Building mobile applications for iOS and Android.', 2, 55), ('Cloud Computing Essentials', 'Introduction to cloud computing and AWS services.', 3, 40), ('Artificial Intelligence Applications', 'Real-world applications of artificial intelligence.', 1, 50); \-- Insertar datos en la tabla de relaciones entre estudiantes y cursos INSERT INTO STUDENT\_COURSE (STUDENTID, COURSEID) VALUES (1, 1), (1, 2), (1, 3), (2, 3), (2, 4), (2, 5), (3, 5), (3, 6), (3, 7), (4, 7), (4, 8), (4, 9), (5, 9), (5, 10), (5, 1), (6, 1), (6, 2), (6, 3), (7, 3), (7, 4), (7, 5), (8, 5), (8, 6), (8, 7), (9, 7), (9, 8), (9, 9), (10, 9), (10, 10), (10, 1), (10, 2), (11, 2), (11, 3), (11, 4), (12, 4), (12, 5), (12, 6), (13, 6), (13, 7), (13, 8), (14, 8), (14, 9), (14, 10), (15, 10), (15, 1), (15, 2), (16, 2), (16, 3), (16, 4);
![](https://static.platzi.com/media/user_upload/image-365d614b-3354-4963-acdd-6aaa0bf540e0.jpg)
![](https://static.platzi.com/media/user_upload/image-4ccde6ce-6641-4f78-b91e-826a8b1b7c5c.jpg)
¿No hay forma de que en lugar de 1 y 2 aparezcan los nombres de los instructores? ![](https://static.platzi.com/media/user_upload/2024-06-21_18h52_27-f3e009f5-8809-4dcf-b0a1-2aec3441b756.jpg)
¿Esto tal vez sea un poco avanzado, pero me surge la duda de como hago para evitar que un mismo estudiante se registre nuevamente al mismo curso, es decir, que no exista duplicidad de registros, sin embargo, no detenga que varios estudiantes se registren en el mismo curso? Gracias :)
yo por mi parte prefiero crear una tabla PERSONA, una tabla TIPO DE CONTRATO y una tabla relacional para PERSONAvsTIPODECONTRATO así pues, una misma persona podrá tener ser estudiante y profesor al mismo tiempo, (y una PERSONA podría no tener ningun contrato por lo cual no podria tomar los cursos, pero si explorar el pensum), y el contrato definiría los límites de las habilidades de las PERSONAS
Hola en la tabla intermedia courseid no se hace clave fornea ? porque no inserto dato
No hay algún curso mas básico de sql? No explicó ni el software que esta usando
me ayudan con este error por favor![]()![](https://static.platzi.com/media/user_upload/Captura%20de%20pantalla%20%282%29-a5c4b4db-bf0d-4dd1-86cc-2227e1eae367.jpg)
siento que el curso va muy acelerado para ser fundamentos desde cero de SQL , en ningun momento nos enseño a utilizar la herramienta o cuales existian para desarrolar sql.