📘 CodingMarble Learn

Bases de datos: SGBD, relaciones y claves

Guardar los datos en archivos separados provoca duplicados, incoherencias y poca seguridad. Una base de datos guarda datos relacionados en un solo lugar ordenado, y un SGBD (en inglés DBMS, como MySQL) es el programa que la gestiona. En el modelo relacional los datos van en tablas (relaciones) formadas por columnas (atributos) y filas (tuplas); el dominio es el conjunto de valores permitidos de una columna. Una clave candidata identifica cada fila de forma única; se elige una como clave primaria y las demás son claves alternativas.

🎬 Historia paso a paso

  1. Los archivos separados repiten datos y dejan de coincidir. Una base de datos guarda una sola copia.
  2. Un SGBD se coloca entre los usuarios y los datos y se encarga de gestionarlo todo.
  3. Una tabla es una relación: las columnas son atributos y las filas son tuplas.
  4. El dominio es el conjunto de valores que una columna puede tomar.
  5. Las claves candidatas identifican cada fila. Una pasa a ser la clave primaria; las demás son claves alternativas.
  6. Tu turno: prueba cada columna para ver si puede ser una clave.

Consejo: arrastra la escena 3D para girarla. Usa dos dedos para hacer zoom.

🤔 Dudas comunes, resueltas

¿Una hoja de cálculo no es ya una base de datos?

Una hoja de cálculo puede contener una tabla, pero un SGBD añade el uso simultáneo por muchos usuarios, reglas (claves, dominios), seguridad y consultas potentes.

¿Por qué las filas se llaman tuplas?

En matemáticas, un conjunto ordenado de valores es una tupla. Cada fila es un conjunto ordenado de valores, uno por cada atributo.

¿Quién decide el dominio?

El diseñador de la base de datos, según reglas reales (curso de 9 a 12, notas de 0 a 100). Después el SGBD rechaza los valores que quedan fuera.

Si NumMat y Correo son únicos, ¿por qué elegir NumMat?

Es corto, nunca cambia y todos los alumnos tienen uno. Los correos pueden cambiar o faltar.

¿Puede una clave estar formada por dos columnas?

Sí. Cuando ninguna columna sola es única, un conjunto como (Curso, NumLista) puede ser la clave. Es una clave compuesta.

¿Por qué necesitamos una base de datos?

En un sistema de archivos, cada departamento guarda sus propios archivos. Esto causa problemas:

Una base de datos es un conjunto organizado de datos relacionados guardados en un solo lugar, para poder compartirlos, mantenerlos coherentes y protegerlos.

Sistema gestor de bases de datos (SGBD)

Un SGBD (en inglés DBMS) es un programa para crear, guardar, actualizar, buscar y gestionar una base de datos, y para controlar quién puede usarla. Ejemplos: MySQL, Oracle, PostgreSQL, SQLite, Microsoft Access.

Ventajas: menos redundancia, coherencia, uso compartido por muchos usuarios, seguridad con contraseñas y permisos, copias de seguridad y recuperación, y búsquedas fáciles con un lenguaje de consultas (SQL).

Usos de cada día: bancos, reservas de trenes, expedientes escolares, compras en línea, hospitales.

Modelo relacional: relación, atributo, tupla, dominio

En el modelo de datos relacional, los datos se guardan en tablas.

Reglas: cada columna tiene un nombre único; el orden de las filas o columnas no importa; no hay dos filas exactamente iguales; cada celda guarda un solo valor (o NULL, que significa desconocido).

Claves: candidata, primaria y alternativa

Ejemplo: ESTUDIANTE(NumMat, Nombre, Curso, Correo). El nombre se repite y el curso se repite, así que no son claves. NumMat y (si siempre está lleno y es distinto) Correo son claves candidatas. Elegimos NumMat como clave primaria; Correo pasa a ser la clave alternativa.

También es útil saber que una clave compuesta usa dos o más columnas juntas (como Curso + NumLista); y una clave foránea es una columna de una tabla que hace referencia a la clave primaria de otra tabla y así las une.

Pruébalo: busca la clave en tu carné escolar

Mira tu carné del colegio o tu abono de autobús. Anota cada campo (nombre, curso, número de lista, número de matrícula, teléfono). Para cada uno hazte dos preguntas: ¿pueden dos alumnos tener el mismo valor? ¿Puede estar vacío? Escribe cuáles son claves candidatas y cuál elegirías como clave primaria. Después prueba la misma idea en el paso 6 del 3D.

Fórmulas y definiciones clave

Ejemplos resueltos

1. Una tabla tiene 5 columnas y 30 filas. Indica su grado y su cardinalidad.

Grado = 5, cardinalidad = 30.

2. Se añaden 2 filas y 1 columna a una tabla de 4 × 10 (grado 4, cardinalidad 10). ¿Cuáles son los nuevos valores?

Grado = 5, cardinalidad = 12.

3. EMPLEADO(IdEmp, Nombre, Aadhaar, Dpto). Identifica las claves candidatas, primaria y alternativa.

IdEmp y Aadhaar son únicos → claves candidatas. Elegimos IdEmp como clave primaria; Aadhaar es la clave alternativa. Nombre y Dpto pueden repetirse.

4. ¿Por qué Nombre no puede ser la clave primaria en ESTUDIANTE?

Dos estudiantes pueden tener el mismo nombre, así que no identifica una fila de forma única.

5. Da el dominio de un atributo Género guardado como una sola letra.

{"M", "F", "O"} (o los códigos que permita el colegio).

Errores comunes

Test de práctica

1. Una fila de una relación se llama:
2. El número de columnas de una relación es su:
3. Una clave candidata que no se elige como clave primaria es una:
4. ¿Cuál de estos es un SGBD?
5. Tener los mismos datos en muchos archivos se llama:

Práctica: responde tú mismo

Escribe o elige tu respuesta y pulsa Comprobar. Usa la pista si te atascas; la solución completa aparece después de responder.

Preguntas frecuentes

¿Para qué sirve una base de datos?

Para evitar datos duplicados e incoherentes en archivos separados, y para compartir, proteger y buscar los datos con facilidad.

¿Qué diferencia hay entre clave candidata, primaria y alternativa?

Cada clave candidata puede identificar las filas de forma única; la elegida es la clave primaria; las demás son claves alternativas.

¿Qué son el grado y la cardinalidad?

El grado es el número de columnas (atributos); la cardinalidad es el número de filas (tuplas) de una relación.

Dónde se estudia

ItalySecondaria di secondo grado – classe 3ªTools and foundations
ItalySecondaria di secondo grado – classe 4ªTools and foundations
NetherlandsHAVO 5 (eindexamenjaar)Elective theme: Databases
NetherlandsVWO 6 (eindexamenjaar)Elective theme: Databases
PolandLiceum ogólnokształcące, klasa IIProgramming and solving problems with computers
RomaniaClasa a X-aDatabases
RomaniaClasa a XII-aModule 1: Databases (compulsory)
RomaniaClasa a XII-aModule 2: Database management systems (optional)
RomaniaClasa a XII-aModern user skills
RomaniaClasa a XII-aWorking with a database application
Ukraine9 класInformation systems and data management
Ukraine10 класBase module: database systems
CBSE (India)Class 11Database Concepts and SQL
CBSE (India)Class 11RDBMS
England (GCSE, A level)Year 113.7 Relational databases and SQL
Japan高校1年Networks and data
Japan高校(専門学科)1〜3年Using Software
Japan高校(専門学科)1〜3年Computer Systems Technology
Japan高校(専門学科)1〜3年Databases
South Korea고등학교 2학년Understanding data science
South Korea고등학교 3학년Data and information
Germany (Bavaria)Jahrgangsstufe 10Data modelling and relational databases
FranceSecondeThemes
FrancePremièreTabular data
FranceTerminaleSpecific option — management information systems
Russia9 классTheoretical foundations
Russia11 классInformation technologies

Aprende antes

Aprende después