TALLER 2

1. Ejercicio de modelo Entidad - Relación

  • Un almacén de textiles desea realizar una base de datos (SISTEMA DE CREDITO) que permita almacenar la información básica de sus clientes, la información básica de las referencias personales del cliente (tenga presente que un cliente puede tener varias referencias personales), la información del tipo de crédito que se le otorga al cliente, el cual puede ser club o cuenta corriente, tenga presente que un cliente al momento de asentar su crédito en el almacén tiene derecho a elegir un solo tipo de crédito( si el crédito es club tendrá un número de 12 cuotas, si es cuenta corriente tendrá un número de 6 cuotas) , por último se desea almacenar el producto que acredita el cliente. Tenga presente que un cliente puede fiar varios productos.

2. Explicación de comandos SQL:

Select: Comando para realizar consultas de selección, se usa específicamente para consultar información de una o varias tablas.

Ejemplo: Select * from libro; 

From: Indica la tabla o tablas, permite invocar la tabla o tablas de la cual se van a consultar o eliminar datos.

Ejemplo: 

Select * from libro;

Where: Comando utilizado para determinar condiciones en las consultas, también determinar las relaciones cuando se ejecuta una consulta que involucra varias tablas.

Ejemplo:

Select * from libro where idlibro = 'L02'; 

Like: Es un tipo de operador lógico que se usa para poder determinar si una cadena de caracteres específica coincide con un patrón específico, se apoya con el símbolo % a manera de comodín, se puede usar al inicio, entre, o al final de la cadena de caracteres.

Ejemplo:

Select * from Libro where descripcion like '%datos';

Drop: comando para realizar borrado de una base de datos, una tabla, campo de una tabla, una clave primaria.

Ejemplo:

Drop table "nombre_tabla" 

AVG: devuelve el promedio de los valores en una columna especificada, funciona solo en tipos de datos numéricos.

Ejemplo:

Select avg(cupocredito) 'Promedio de cupos' from cliente; 

Count: devuelve el número total de valores en el campo especificado. Funciona tanto en tipos de datos numéricos como no numéricos.

Ejemplo:

Select count(cupocredito) 'numero de cupos' from cliente; 

Show: Muestra información de bases de datos, tablas, columnas.

Ejemplo: Show databases;

Mysql: Comando para establecer conexión con el servidor de mysql por linea de comandos, también se usa para ejecutar copia de seguridad de la base de datos por consola.

Ejemplo: 

Varchar: Almacena una cadena de longitud variable. La cadena podrá contener desde 0 a 255 caracteres.

Ejemplo:

alter table libro add area varchar(30) not null after titulo;

Integer: Número entero con o sin signo. Con signo el rango de valores va desde -2147483648 a 2147483647. Sin signo el rango va desde 0 a 429.4967.295.

Ejemplo:

Create table libro (idlibro varchar(10) not null primary key, descripcion varchar(50) not null, nropaginas int(10) not null);

Float: Número pequeño en coma flotante de precisión simple. Los valores válidos van desde -3.402823466E+38 a -1.175494351E-38, 0 y desde 1.175494351E-38 a 3.402823466E+38.

Ejemplo:

Create table vendedor (idvendedor varchar(10) not null primary key, nombre varchar(50) not null, porcentaje_comision Float not null); 

Decimal: Número en coma flotante desempaquetado. El número se almacena como una cadena. Se usa para mostrar números decimales.

Ejemplo: 

Create table producto( idproducto varchar(10) not null primary key, valor int not null, iva DEC(5,2) not null); 

Date: Campo tipo fecha, almacena una fecha. El rango de valores va desde el 1 de enero del 1001 al 31 de diciembre de 9999. El formato de almacenamiento es de año-mes-dia.

Ejemplo:

Create table cliente (idcliente varchar(10) not null primary key, nombre varchar(10) not null,  fecha_nacimiento DATE not null);

Char: Almacena una cadena de longitud fija. La cadena podrá contener desde 0 a 255 caracteres.

Ejemplo:

Create table vendedor (idvenddor varchar(10) not null primary key, nombre varchar(50) not null, zona char(20) not null, porcentaje_comision Float not null);  

Alter: Comando para cambiar tipos de datos, nombres de tablas y campos, también para agregar campos.

Ejemplo:

Alter table libro add cantidad int(3) not null;

Use: indica a MySQL que use la base de datos "nombre_bd"  como la base de datos por defecto.

Ejemplo:

Use libreria;

Add: Comando para adicionar una columnas a una tabla, también para agregar una primary key, foreign key,  indices.

Ejemplo:

alter table libro add area varchar(30) not null after titulo; 

Not Null: Es un atributo de un campo que se utiliza para indicar que una columna no puede tener valores NULL (vacío).

Ejemplo:

alter table libro add area varchar(30) not null after titulo;  

Primary Key: Atributo de un campo que define cual será clave primaria de un grupo de campos de una tabla.

Create table vendedor (idvendedor varchar(10) not null primary key, nombre varchar(50) not null );

Modify: comando para modificar el tipo de datos de columna, también permite modificar restricciones de una columna.

Ejemplo: 

alter table libro modify titulo varchar(100) not null primary key; 

References: Comando para definir una clave foránea en una tabla intermedia, que a su vez este campo debe existir en la tabla referencial como una clave primaria.

Ejemplo: 

create table libro_autor

(idlibro varchar(10) not null,

idautor varchar(10) not null,

foreign key(idlibro) references libro(idlibro) on delete cascade on update cascade,

foreign key(idautor) references autor(idautor) on delete cascade on update cascade);


Change: Comando que se usa para modificar es el nombre de la columna. 

Ejemplo: alter table libro change titulo nombre varchar(100) not null; 

Insert into: Comando que se usa para insertar datos en las tablas de la base de datos.

Ejemplo:

insert into libro (idlibro, titulo, valor) values ('L02', 'Filosofia', 50000); 

Foreign Key: indica clave externa, es una columna o varias columnas, que sirven para señalar cual es la clave primaria de otra tabla. La columna o columnas señaladas como Foreing Key, solo podrán tener valores que ya existan en la clave primaria PRIMARY KEY de la otra tabla.

Ejemplo: 

create table libro_autor (idlibro varchar(10) not null, idautor varchar(10) not null, 

foreign key(idlibro) references libro(idlibro) on delete cascade on update cascade,

foreign key(idautor) references autor(idautor) on delete cascade on update cascade);


Delete: Comando para eliminar registros de las tablas de la base de datos.

Ejemplo: 

Delete from libro where idlibro="L08";

Sum: Devuelve la suma de todos los valores en la columna especificada . SUM funciona solo en campos numéricos.

Ejemplo: 

Select sum(valor) from libro;

Max: devuelve el valor más grande desde el campo de la tabla especificada.

Ejemplo:

Select max(nropaginas) from libro; 

Min: Devuelve el valor más pequeño en el campo de tabla especificado.

Ejemplo:

Select min(nropaginas) from libro; 

Update:  comando que se utiliza para modificar valores en una tabla.

Ejemplo: 

Update libro set descripcion="Nacho Lee" where idlibro= "L25";

Cascade:  Borra los registros de la tabla dependiente cuando se borra el registro de la tabla principal (en una sentencia DELETE), o actualiza el valor de la clave secundaria cuando se actualiza el valor de la clave referenciada (en una sentencia UPDATE). 

Las relaciones existentes entre distintas tablas de una base de datos MySQL que utilizan el motor de almacenamiento InnoDB pueden estar especificadas en forma de restricciones de clave externa ("Foreign Key Constraints"), de manera que la propia base de datos impida que se realicen operaciones que provocarían inconsistencias

Ejemplo:



3.  Ejercicios prácticos de consultas SQL Taller2

Cree la base de datos llamada taller 2 e Ingrese las siguientes tablas a Mysql.



a. Elaborar una consulta que permita mostrar todos los vendedores de la zona norte.

Análisis:

Información solicitada: mostrar la información de vendedores.

Tablas: Tabla vendedor

Condición: la zona = Norte

Sintaxis= select * from vendedor where zona='Norte';

b. Elaborar una consulta que muestre todos los vendedores de la zona centro que tengan una comisión de 0.3

Análisis:

Información solicitada: mostrar la información de vendedores.

Tablas: Tabla vendedor

Condición: zona = Centro y comisión = 0.3

Sintaxis= select * from vendedor where cast(porcentaje_comision as char) = '0.3' and zona = 'Centro';

** Comando Cast = pueden usarse para tomar un valor de un tipo y obtener uno de otro tipo.

tomado de : https://mysql.conclase.net/curso/?sqlfun=CAST 

c. Elaborar una consulta que muestre todos los clientes que el cupo de crédito esté entre 500000 y 1000000.

Análisis:

Información solicitada: mostrar la información de clientes.

Tablas: Tabla cliente

Condición: cupo de crédito esté entre 500000 y 1000000.

Sintaxis: select * from cliente where cupocredito between 500000 and 1000000;

dVisualice todos los clientes que el nombre comienza por A y Terminan en A

Análisis:

Información solicitada: mostrar la información de clientes.

Tablas: cliente

Condición: nombres que empiezan por A y terminan en A

Sintaxis: Select * from cliente where nombre like 'a%a'; 

e. Visualice todos los vendedores que el nombre contengan la letra A

Análisis:

Información solicitada: mostrar la información de vendedores.

Tablas: vendedor

Condición: nombres que contengan la letra A

Sintaxis: Select * from vendedor where nombre like '%a%';

f. Aplicar todas las funciones que se pueden utilizar en Mysql (para realizar cálculos) sobre el campo cupo de crédito de la tabla cliente.

1. COUNT

Análisis:

Información solicitada: contar los cupos de credito.

Tablas: cliente

Condición: usar el comando count en el campo cupocredito

Sintaxis: Select count(cupocredito) 'numero de cupos' from cliente;

2. SUM

Análisis:

Información solicitada: sumar los cupos de credito.

Tablas: cliente

Condición: usar el comando sum en el campo cupocredito

Sintaxis: Select sum(cupocredito) 'Suma de cupos' from cliente;

3. MAX

Análisis:

Información solicitada: buscar el valor máximo de los cupos de crédito.

Tablas: cliente

Condición: usar el comando max en el campo cupocredito

Sintaxis: Select max(cupocredito) 'Valor Maximo' from cliente;

4. MIN

Análisis:

Información solicitada: buscar el valor mínimo de los cupos de crédito.

Tablas: cliente

Condición: usar el comando min en el campo cupocredito

Sintaxis: Select min(cupocredito) 'Valor Mínimo' from cliente;

5. AVG

Análisis:

Información solicitada: mostrar el promedio de los cupos de crédito.

Tablas: cliente

Condición: usar el comando avg en el campo cupocredito

Sintaxis: Select avg(cupocredito) 'Promedio de cupos' from cliente;

g. Ordene la tabla clientes de forma Ascendente por el por el campo cupo crédito.

Análisis:

Información solicitada: mostrar ordenadamente las clientes de forma ascendente.

Tablas: cliente

Condición: Forma ascendente por el campo cupocredito.

Sintaxis: Select * from cliente order by cupocredito asc;

h. Ordene la tabla vendedor de forma descendente por el campo nombre.

Análisis:

Información solicitada: mostrar ordenadamente los vendedores de forma descendente.

Tablas: vendedor

Condición: Forma descendente por el campo nombre.

Sintaxis: Select * from vendedor order by nombre desc;

i. Elimine los clientes que tienen valor de crédito <= a 500000

(Se realiza backup antes de ejecutar el requerimiento.)


Análisis:

Instrucción solicitada: eliminar clientes

Tablas: clientes

Condición: valor de credito <=500000

Sintaxis: Delete from cliente where cupocredito <=500000;

j. El vendedor 001 se le debe actualizar el nombre por el nombre de cada uno de ustedes.

Análisis:

Instrucción solicitada: Cambiar el nombre de un vendedor

Tablas: vendedor

Condición: cambiar el nombre del vendedor idvendedor = 001 por mi nombre.

Sintaxis: Update vendedor set nombre = Ricardo Restrepo where idvendedor= '001';

k. Realizar copia de seguridad de la base de datos.

fin









Ricardo Restrepo - Blog para bases de datos
Todos los derechos reservados 2020
Creado con Webnode
¡Crea tu página web gratis! Esta página web fue creada con Webnode. Crea tu propia web gratis hoy mismo! Comenzar