¿Te resulta más fácil leer con fondo crema, un tono de color, más contraste o un texto más grande? Elige tus colores y tu texto una sola vez, para todas las páginas.

Lección gratuita

Qué son los datos personales

Después de esta lección: Puedo decir qué columnas de una tabla contienen datos personales.

Lección de 55 min6 comandosLaboratorio de MySQL y phpMyAdmin con una base de datos de una tienda para practicar SQL

¿Qué datos de una tabla son personales?

Un dato personal es cualquier información sobre una persona que se puede identificar. Saber cuáles son es el primer paso de la protección de datos, porque solo así sabes qué proteger.

Imagina la tabla de clientes de una tienda en línea. Algunas columnas hablan de personas y otras solo de la tienda. Tienes que aprender a separarlas.

Al terminar esta lección

Nota

Puedo decir qué columnas de una tabla contienen datos personales.

Palabras clave

PalabraQué significaEjemplo
Dato personalcualquier información sobre una persona que se puede identificar
Persona interesadala persona a la que se refieren los datos
Identificador directoun dato que señala a una persona por sí soloemail
Identificador indirectoun dato que señala a una persona solo junto con otroscity
Dato sensibleun dato que puede hacer mucho daño si se sabesalud

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Un dato es personal si lleva hasta alguien

Un dato es personal si permite saber de qué persona se trata. Un nombre, un correo y un teléfono lo son claramente.

Un dato personal no tiene que ser secreto. Tu nombre en el buzón también lo es.

Lo que importa es si se puede llegar hasta la persona. El precio de un producto no habla de nadie, así que no es personal.

Ejecuta primero las dos líneas de preparación. Después mira la tabla de clientes de la tienda del laboratorio.

Aceptar el certificado del servidor

Comando
printf '[client]\nssl-verify-server-cert=0\n' > ~/.my.cnf

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Un nombre corto para la tienda

Comando
alias sql='mariadb -h db -u student -pstudent shop -t -e'

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Mirar las columnas de los clientes

Comando
sql "DESCRIBE customers"

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Cuántas personas hay en la tabla

Comando
sql "SELECT COUNT(*) AS clientes, COUNT(phone) AS con_telefono FROM customers"

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Ejemplo resuelto: clasificar las columnas de customers

ColumnaTipo de datoPor qué
first_name, last_nameIdentificador directoNombran a la persona
emailIdentificador directoEs único y llega a una sola persona
phoneIdentificador directoUn número lleva a su dueño
city, countryIdentificador indirectoMucha gente vive en la misma ciudad
joined_onIdentificador indirectoUna fecha de alta acota, junto a otros datos
idIdentificador indirectoSolo lo entiende quien tiene la tabla

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Varios datos indirectos juntos señalan a una persona

Una ciudad no basta para saber quién es alguien. Una ciudad y una fecha de alta ya acotan mucho.

En la tienda de ejemplo, cuatro clientes viven en Osaka. Solo uno de ellos se dio de alta el 22 de noviembre de 2023. Esa pareja de datos señala a una sola persona.

Por eso la protección de datos mira los datos juntos y no uno a uno.

Los clientes de una ciudad

Comando
sql "SELECT id, first_name FROM customers WHERE city = 'Osaka' ORDER BY id"

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

La ciudad más una fecha

Comando
sql "SELECT id, first_name FROM customers WHERE city = 'Osaka' AND joined_on = '2023-11-22'"

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Un error frecuente

Advertencia

Mucha gente cree que una tabla sin nombres ya no tiene datos personales. No es cierto si lo que queda lleva hasta alguien. Quita el nombre y pregúntate si el resto aún señala a una persona. Si la respuesta es sí, sigue siendo personal.

Un dato sensible necesita más cuidado

Algunos datos pueden hacer mucho daño si salen a la luz. Son los datos sensibles: la salud, las creencias religiosas, la afiliación a un sindicato o la vida íntima.

Un dato sensible necesita más motivos para guardarse y más protección. La tienda de ejemplo no tiene ninguno. Una clínica o un gimnasio sí los tendrán.

Pruébalo: las citas de una clínica

Código: sql
-- Estas son las citas de una clínica dental.
-- Mira qué columnas hablan de una persona.
SELECT id, patient, city, reason FROM appointments
ORDER BY id;
-- Cambia la lista de columnas: deja solo las que no son personales.

Pruébalo: una ciudad con un solo paciente

Código: sql
-- ¿Cuántos pacientes hay en cada ciudad?
SELECT city, COUNT(*) AS pacientes FROM appointments
GROUP BY city
ORDER BY city;
-- Una ciudad con un solo paciente deja ver quién es.
-- Añade WHERE para ver solo las ciudades con un paciente (usa HAVING).

Para ir más allá

Elige una aplicación que uses, como una biblioteca o un club deportivo. Escribe cinco columnas que crees que guarda y clasifica cada una.

Después busca un caso en el que dos datos indirectos juntos señalen a una sola persona de tu clase. No digas quién es: basta con que sepas que ocurre.

Sobre este laboratorio y su código: Laboratorio de MySQL y phpMyAdmin con una base de datos de una tienda para practicar SQL

¿Enseñas a una clase? Asigna este módulo a tus alumnos con guía del profesor, tareas con corrección automática y un laboratorio para cada alumno.