Clave primaria de MySQL: sentencias CREATE y ALTER TABLE

La implementación de las mejores prácticas de RDBMS implica el uso constante de claves primarias en el desarrollo de bases de datos para crear y mantener la integridad referencial, que es un requisito básico para la calidad de los datos y el diseño adecuado de bases de datos relacionales. En este tutorial, brindamos información básica sobre las claves principales y sus funciones, y proporcionamos ejemplos de código para ilustrar la teoría.

Índice

    ¿Cuál es la clave principal en MySQL?

    Clave principal (PK) contiene una columna o combinación de columnas cuya función es proporcionar un identificador único para cada registro de la tabla. Los puntos principales detrás de las claves primarias son los siguientes:
    - Una tabla solo puede tener una clave primaria, pero puede ser una clave compuesta formado por varias columnas.
    - Debido a que identifica de forma única cada fila de la tabla, la columna de clave principal no puede tener valores NULL.
    - La columna de clave principal debe contener valores únicos. Si la clave principal es compleja, la combinación de valores en las columnas de la clave principal debe ser única.
    - El tipo de datos entero es la mejor opción para las columnas de clave principal porque MySQL funciona más rápido con números enteros.

    ¿Por qué necesita una clave principal?

    Claves primarias son la piedra angular de la normalización de bases de datos. La razón principal por la que necesitamos claves primarias es para garantizar la integridad de los datos y evitar la redundancia de datos en la base de datos. El objetivo principal del p. Clave primaria es implementar la relación entre las dos tablas en la base de datos. Las bases de datos relacionales deben tener un PK para vincular la tabla principal a la tabla secundaria, porque la clave principal de la tabla principal se transfiere a la tabla secundaria como su Clave foránea (FK). Si la tabla en su base de datos no está vinculada a otra tabla, no necesita la clave principal.

    La falta de claves primarias en la base de datos MySQL o MariaDB indica un diseño de base de datos muy pobre, ya que esto conduce a:
    - bajo rendimiento
    - Cambiar el nombre de las columnas con datos afecta a otras tablas
    - fallas de replicación, etc.

    La diferencia entre una clave principal y una clave única

    Ambos Único y Claves primarias garantizan la unicidad de la columna o conjunto de columnas sobre las que se definen. Hay un determinado automáticamente Una clave única restricción dentro de un Clave primaria restricción. Sin embargo, puede haber varios en la tabla. Único restricciones, pero sólo una Clave primaria restricción. a diferencia de Claves primarias, Claves únicas tomar valores NULL (uno por tabla).

    Claves únicas asegúrese de que el valor de la columna sea único en toda la tabla. En caso de que intente agregar un registro duplicado, obtendrá un error. En la captura de pantalla a continuación, puede ver el mensaje de error que recibimos en dbForge Studio para MySQL después de que intentamos agregar un registro duplicado a la tabla.

    La diferencia entre una clave primaria y una clave externa

    A Clave externa contiene una columna o conjunto de columnas en una tabla de base de datos que se utiliza para vincular las dos tablas. Muy a menudo el p. Clave externa columna en la tabla secundaria Clave primaria en la tabla principal. a diferencia de Primario y Claves únicas, Claves foráneas de MySQL puede tomar múltiples valores NULL. Puedes tener más de uno Clave externa en la mesa. Otra diferencia importante a tener en cuenta es que Llaves extranjeras no cree automáticamente un índice, agrupado o no agrupado. Debe crear manualmente un índice para las claves externas.

    La captura de pantalla a continuación es la tabla. actor tiene una columna de clave principal actor_idmesa la película a su vez tiene una columna de clave principal identificación de la película. columnas actor_id y identificación de la película formas de claves foráneas para Actor de películas mesa.

    La captura de pantalla muestra la funcionalidad de diseño de base de datos de dbForge Studio para MySQL, que ayuda a realizar sin problemas una variedad de tareas de base de datos, desde la visualización de la estructura de la base de datos hasta la configuración de clave principal y externa.

    Cómo crear una tabla en MySQL con la clave principal

    La mayoría de las veces, la clave principal de la tabla se define en la instrucción CREATE TABLE. La sintaxis para que MySQL cree una tabla con una clave principal es la siguiente:

    CREATE TABLE table_name
    (
      column1 column_definition,
      column2 column_definition,
      ...
    
      CONSTRAINT [constraint_name] 
       PRIMARY KEY [ USING BTREE | HASH ] (column1, column2, ... column_n)
    );

    La siguiente captura de pantalla muestra un ejemplo funcional de la creación de una tabla de clave principal en MySQL utilizando dbForge Studio para MySQL. Entre otras características útiles, el IDE le permite obtener información rápida sobre objetos y comprobación de sintaxis inmediatamente.

    Cómo agregar una clave principal a una tabla existente en MySQL

    Puede agregar la clave principal a la tabla mediante la instrucción ALTER TABLE. La sintaxis para que MySQL agregue una clave principal a una tabla existente es la siguiente:

    ALTER TABLE table_name
      ADD CONSTRAINT [ constraint_name ]
        PRIMARY KEY [ USING BTREE | HASH ] (column1, column2, ... column_n)

    La siguiente captura de pantalla muestra un ejemplo práctico de agregar una clave principal a una tabla existente en MySQL utilizando dbForge Studio para MySQL. Su función de finalización de código elimina errores y le permite escribir código SQL de forma rápida y eficiente.

    Cómo eliminar la clave principal en MySQL

    Para eliminar la clave principal de la tabla, puede usar la instrucción ALTER TABLE. La sintaxis para eliminar la clave principal de la tabla es la siguiente:

    ALTER TABLE table_name
      DROP PRIMARY KEY;

    Vea la captura de pantalla para ver el ejemplo procesado de la eliminación de la clave principal de la tabla MySQL usando dbForge Studio para MySQL. Su finalización inteligente de palabras y frases ayuda a codificar más rápido y con mayor precisión.

    Administre claves primarias utilizando un gráfico de base de datos visual

    dbForge Studio para MySQL le permite manipular claves primarias de MySQL y MariaDB, así como claves externas en una interfaz fácil de usar sin escribir una sola línea de código. Para agregar, eliminar o cambiar una clave principal de MySQL en una tabla:

    1. Haga clic con el botón derecho en la tabla del gráfico al que desea agregar la clave principal o externa.
    2. En el menú contextual que aparece, seleccione la operación que desea realizar.

    3. En la ventana de configuración que se abre, puede agregar, eliminar o cambiar la configuración de las claves primarias o externas.

    Conclusión

    Quizás ¿Está creando una tabla de base de datos sin una clave principal? Sí, MySQL no requiere que cada tabla tenga una clave principal.
    Deber ¿Está creando una tabla de base de datos sin una clave principal? No, definitivamente no.

    dbForge Studio para MySQL, al ser una herramienta GUI universal para desarrollar, gestionar y administrar bases de datos MySQL y MariaDB, hace que sea mucho más fácil abordar las restricciones de clave principal.

    Artículos de interés

    Subir