Académique Documents
Professionnel Documents
Culture Documents
Taller 1 MySQL
USO DEL DDL
JHON MORENO
TALLER 1 MYSQL
Contenido
Creación de tablas ......................................................................................................................... 2
Alteración de tablas, agregación de llaves primarias .................................................................... 3
Conexión entre tablas ................................................................................................................... 4
Cambio de dominio de columnas, valores por defecto. ............................................................... 6
Valores nulos y no nulos ............................................................................................................... 7
Unique ........................................................................................................................................... 8
Cambiar nombre de la tabla .......................................................................................................... 8
Página 1|8
TALLER 1 MYSQL
Creación de tablas
Se requiere el desarrollo de una página web que permita la venta de productos y el registro de
dichas transacciones, por lo que se tienen estimado la creación de la siguiente base de datos.
Tabla Persona
Documento
Primer nombre
Segundo nombre
Primer apellido
Segundo apellido
Usuario
Clave
Dirección
Email
Celular
Tabla Producto
Serial
Nombre producto
Precio
Descuento
Cantidad
Tabla Cliente
Puntos redimidos
Puntos no redimidos
Tabla factura
Numero factura
Fecha
Medio pago
Id comentario vendedor
Comentario
Id comentario producto
Comentario
Id contacto vendedor
Dirección
Página 2|8
TALLER 1 MYSQL
Teléfono
Email
Tabla Transacción
Id transacción
Cantidad
Tabla Empleado
Id empleado
Nombre empresa
Tabla imágenes
Id imágenes
Link
NOTA: las tablas deben crearse con los dominios VARCHAR(45) en su totalidad
Una vez realizado dicho código usaremos al “Alter table” para hacer las respectivas conexiones
entre tablas y modificar los dominios de las columnas
En primera instancia debemos identificar las llaves primarias de cada tabla y adicionalmente a
ellos cambiar su dominio
Tabla Persona -> el llave primaria de esta tabla es “Documento” por lo que hay que agregar
dicha restricción a la tabla y cambiar su dominio.
Para ello se debe primero cambiar el dominio de la columna a INT y posteriormente se debe
seleccionar dicha columna como PRIMARY KEY
Por consiguiente cambie las columnas a INT y vuélvalas PRIMARY KEY y que sean
AUTO_INCTREMENT a las siguientes
Tabla->Columna:
Empleado->idempleado
transacción->idtransaccion
Ejemplo:
Imágenes->idImagenes
Factura->Numero_factura
contactos_vendedor->idcontactos_vendedor
comentarios_producto->idcomentarios_producto
comentario_vendedor->idcomentario_vendedor
Para la tabla la tabla “contacto_persona” podemos identificar que falta un dato candidato a
llave primaria por lo que debemos alterarla agregando la columna y posteriormente volverla
PRIMARY KEY
Para la tabla producto sólo se debe agregar la columna “serial” como primaria
ALTER TABLE producto
ADD PRIMARY KEY (serial);
Para que la base de datos se encuentre relacionada se deben tener en cuenta 2 factores: 1. La
tabla débil debe tener una columna que almacene el mismo dato de la tabla fuerte y este debe
tener el mismo dominio que la primaria sin importar el nombre de la columna.
Es decir que para conectar las tablas de persona con cliente, cliente debe tener una columna
que permita el almacenamiento del mismo dato y el nombre de la columna puede ser el
mismo o no, eso depende de usted.
Página 4|8
TALLER 1 MYSQL
Para poder hacer la conexión de estas tablas debemos hacer la siguiente sentencia:
ALTER TABLE cliente
ADD CONSTRAINT fk_persona_cliente FOREIGN KEY (documento)
REFERENCES persona (documento)
ON DELETE NO ACTION ON UPDATE CASCADE;
Recuerde que se altera la tabla que contiene la llave foránea en este caso cliente y se agrega
un CONSTRAINT para asignarle nombre a la llave foránea, este debe ser relacionado a la
conexión y se hace referencia a la tabla y columna de la llave primaria.
Al momento de crear las conexiones de las tablas debemos de mejorar el diseño en términos
de consulta y para ello se deben indexar la llaves foráneas, recuerde que si la llave foránea es
primaria se puede saltar este paso, peri sin no lo es hay que agregar el índice en la alteración.
Ejemplo.
Como pueden ver en la figura anterior la tabla factura debe relacionarse con cliente y así
mismo con el empleado, pero en factura no hay columna que permita el almacenamiento de
los datos primarios como foráneos. Para ello debemos hacer la siguiente sentencia.
Página 5|8
TALLER 1 MYSQL
En ocasiones es necesario cambiar los dominios de las columnas y agregar valores por defecto
dependiendo la necesidad del negocio.
Página 6|8
TALLER 1 MYSQL
Ejemplo: en las tablas creadas y manipuladas anteriormente hay una tabla que tienen una
columna que es “fecha” a la cual se le pueden agregar valores que correspondan a la misma y
como verán esta es VARCHAR(45). Por lo que es necesario cambiar dicho dominio y a su vez
agregar un valor por defecto para que este almacene un dato si es que el aplicativo o usuario
no lo hace.
Los not null son restricciones de columnas que permiten obligar al el registro de algún dato
mientras que al null no obliga al registro.
Ejemplo: los datos de registro en la tabla Persona, almacena los datos de identificación de
personas y para ellos se debería obligar el registro de por lo menos el primer nombre y el
primer apellido ya que todas las personas tienen este dato, mientras que algunas no tienen
segundo nombre y hasta segundo apellido. Es por esto que no se les obliga, con un null en
estos últimos se codifica y con un not null en los primeros.
Para ellos se debe alterar la columna cambiando la misma y agregar un not nul a los valores
que son obligatorios.
Ejemplo:
Página 7|8
TALLER 1 MYSQL
Persona
o Usuario
o Clave
Factura
o Medio de pago
Producto
o Nombre
Comentarios producto
o Comentario
Comentario vendedor
o Comentario
Empleado
o Nombre empresa
Contacto vendedor
o Dirección
o Teléfono
o Email
Unique
La restricción unique se usa para que un dato sea único en todo los registros esto sin volverlo
primario.
Ejemplo los datos de usuario que hace que este se logue o se identifique en un aplicativo no se
deben repetir y por ende hay que aplicar la restricción.
Esta restricción hace que la columna usuario sea único en toda la tabla haciendo que al
registrar el dato se busque este en todos los registros en orden de a – z (ASC) y así no se
repetirá este dato.
Contacto persona
o Email
o Celular
Contacto vendedor
o Email
Página 8|8