Fundamentos de Bases de datos

1

Cómo diseñar bases de datos y hacer queries efectivos

2

Cómo identificar y organizar datos en bases de datos

3

Introducción práctica a SQL y bases de datos relacionales

4

Trabajo Directo con MySQL: Cliente, Servidor y Manejo de Errores

5

Instalación de MySQL en varios sistemas operativos

Quiz: Fundamentos de Bases de datos

Introducción a Bases de Datos Relacionales

6

Conceptos básicos de bases de datos: columnas, tuplas y relaciones

7

Creación de Tablas en MySQL con Tipos de Datos Esenciales

8

Creación de tablas en MySQL con Primary Key y Timestamp

9

Normalización y relaciones en bases de datos relacionales

10

Creación y visualización de bases de datos con DBML y DBDiagram

Quiz: Introducción a Bases de Datos Relacionales

Manipulación de Datos

11

Cómo crear tablas y utilizar 'Foreign Keys' en MySQL

12

Crear tablas y establecer llaves foráneas en SQL

13

Tipos de tablas en una base de datos relacional

14

Cómo Modificar Tablas en SQL con ALTER TABLE

15

Cómo Insertar Datos y Manejar Errores en MySQL

16

Creación Avanzada de una Tabla Products en MySQL

17

Uso práctico del WHERE en SQL para filtrar datos con precisión

18

Guía práctica para modificar datos usando UPDATE en SQL

19

Cómo eliminar datos en SQL: métodos lógicos y físicos

20

Uso Avanzado del Comando SELECT en SQL

Quiz: Manipulación de Datos

Agrupación de Datos

21

Funciones agregadoras en MySQL para análisis eficiente de datos

22

Insertar datos desde otra tabla en MySQL con Insert Into Select

23

Cómo utilizar Left Join en bases de datos relacionales

24

Cómo consultar y relacionar tablas en MySQL

You don't have access to this class

Keep learning! Join and start boosting your career

Aprovecha el precio especial y haz tu profesión a prueba de IA

Antes: $249

Currency
$209
Suscríbete

Termina en:

0 Días
6 Hrs
1 Min
55 Seg

Cómo crear tablas y utilizar 'Foreign Keys' en MySQL

11/24
Resources

SQL offers a natural and clear way to manage databases, especially when it comes to creating tables and defining relationships between them. Understanding how the basic commands work to create tables, assign data types, set unique columns and handle relationships withforeign keys is fundamental to build an efficient and organized structure.

How to create tables correctly in MySQL?

The basic command to create a table in MySQL starts with:

CREATE  TABLE IF NOT EXISTS table_name  (  column DataType Constraints,  ...);

When creating a table, it is advisable to clearly name the columns according to what they contain, using specific nouns:

  • Use descriptive names such as ProductID rather than simply ID.
  • Clearly consider the appropriate data types (VARCHAR, FLOAT, INTEGER, etc.).

What is the importance of the slug field and why make it unique?

The slug field is especially relevant for improving URL accessibility. It should be kept unique because:

  • It facilitates SEO optimization on web pages.
  • It provides self-descriptive links, easy to identify.

Practical example of creating a slug field:

slug  VARCHAR(200) NOT  NULL UNIQUE

How to handle Text fields and length restrictions in MySQL?

When you expect to store long or unknown length texts, use the TEXT data type:

  • Ideal for descriptions, multilingual content or extended characters.
description  TEXT  NULL

What are 'Foreign Keys' and how to configure them?

A foreign key creates a strict relationship between tables, allowing to maintain referential integrity:

  • Clearly defines which records depend on others.
  • Avoids inconsistencies when modifying or deleting related data.

Simple example:

FOREIGN  KEY (ClientID) REFERENCES Clients(ClientID)

How to act when we need dynamic modifications using ENUM?

The ENUM data type allows you to define specific states for a column:

  • Clearly defined limited options.
  • A default value is automatically assigned if necessary(OPEN).
status ENUM('OPEN', 'PAID', 'LOST') NOT  NULL DEFAULT 'OPEN'

Note that modifying an ENUM at a later time may require direct adjustments to the database, as well as previous updates to existing data.

What is the value of using 'cascade' on foreign keys?

Using ON UPDATE CASCADE and ON DELETE CASCADE on foreign keys makes it possible to:

  • Automatically update related fields when the primary key is changed.
  • Automatically delete related records when deleting the main record.

However, it must be done cautiously, as the example shows:

FOREIGN  KEY (ClientID) REFERENCES Clients(ClientID)ON UPDATE CASCADEON DELETE CASCADE

How to check existing structures in created tables?

To check the current creation and structure of a table, use:

SHOW CREATE  TABLE table_name;

This instruction clearly exposes the keys and constraints applied.

We invite you to put this knowledge into practice by creating your own tables and relationships. Have you encountered any particular challenge implementing these commands? Share your experience and any questions in the comments.

Contributions 4

Questions 0

Sort by:

Want to see more contributions, questions and answers from the community?

En la clase se abordaron varios comandos importantes de SQL relacionados con la creación de tablas. Aquí algunos de los más relevantes: 1. **CREATE TABLE**: Este comando se utiliza para crear una nueva tabla en la base de datos. ```sql CREATE TABLE products ( product_id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100) NOT NULL, slug VARCHAR(200) UNIQUE NOT NULL, description TEXT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); ``` 2. **IF NOT EXISTS**: Permite evitar errores si la tabla ya existe. ```sql CREATE TABLE IF NOT EXISTS bills ( bill_id INT AUTO_INCREMENT PRIMARY KEY, client_id INT NOT NULL, total FLOAT, status ENUM('open', 'paid', 'lost') DEFAULT 'open' ); ``` 3. **FOREIGN KEY**: Se utiliza para establecer una relación entre tablas. ```sql CREATE TABLE bill_items ( item_id INT AUTO_INCREMENT PRIMARY KEY, bill_id INT, product_id INT, quantity INT, FOREIGN KEY (bill_id) REFERENCES bills(bill_id) ); ``` Estos comandos son fundamentales para estructurar y relacionar datos en bases de datos SQL.
Durante la clase se presentaron errores relacionados con la integridad referencial en SQL. Por ejemplo, al intentar insertar una fila en la tabla `bills` con un `client ID` que no existía en la tabla `clients`, se generó un error de restricción de clave foránea. Este tipo de error ocurre porque el diseño de la base de datos exige que cada `bill` tenga un `client ID` que ya esté registrado. Otro error fue al intentar actualizar un `client ID` que ya estaba referenciado en `bills`, lo cual también es violado por la restricción de la clave foránea. Esto resalta la importancia de mantener la integridad entre las tablas relacionadas.
Recordemos que: Un **trigger** (o *disparador*) es un **objeto que se ejecuta automáticamente** cuando ocurre un evento específico en una tabla o vista, como una inserción, actualización o eliminación de datos.
Dato curioso jóvenes, la razón por la que en bill\_id aparece dos a pesar de que la primera query falló, es un comportamiento normal en las columnas AUTO\_INCREMENT en sql, ya que aunque haya fallado la query el contador interno cuenta la query fracasada.