TUtorial MySQL
1.1. Modelar físicamente un sistema de a lo menos 10 tablas.
El sistema empleado para la carpeta, es un modelo estándar para todos los sistemas de bases de datos (MySQL, PostgresSQL, SQL Server, OracleDB y DB2) de aquí en adelante.
Este modelo es un sistema de proyectos para una empresa, con sus respectivos involucrados. Sus respectivas tablas y sistemas de modelamiento son lassiguientes:
Existe un cliente, el cual es el contacto para asignar proyectos. El proyecto tiene muchas especialidades, como también las especialidades tienen muchos proyectos. Mismo caso para las revisiones, y solamente para casos especiales, o sea proyectos muy grandes, para asignar varios proyectistas para un solo proyecto. Cada proyecto solo tiene un revisor.
Se crean las tablas y los InsertEl modelado desde MySQL es el siguiente:
1.2. Select, Select Group By, Select Join(rigth, left, outter), Funciones
1.2.1. Select
Se considera un select para las tablas cliente y contacto, en el cual se muestra la empresa a la cual pertenece cada contacto en el sistema.
1.2.2. Select Group By
Se considera un Select, uncount y group by para las tablas proyecto, contacto, cliente, en donde la orden es contar la cantidad de proyectos que tiene cada contacto y su empresa.
1.2.3. Select Join, Join Rigth, Join Left, Join Outer
Para el Select se realizó la misma consulta del primer Select, solo que esta vez se hizo con la herramienta join.
Para el Left Join se usó la misma tabla, y como resultado dio que existeun cliente que no tiene ningún contacto asociado:
Para el right Join ocupamos el mismo Select y dio como resultado un contacto que no tenía ninguna empresa asociada:
Y finalmente el Full Outer Join, que es prácticamente la unión del left y right Join no se puede hacer de una manera directa en MySQL, solamente se puede hacer a través de una combinación entre Join y Union.
1.3. Selectentre múltiples bases de datos.
Se realiza un Select entre la base de datos antes ocupada y una base de datos llamada colegio, comparando los nombres de contacto y de profesores y haciendo coincidir las tablas con un like especificando a Victoria sin importar su apellido.
1.4. Select con alias de campo y alias de tabla
Se realiza un Select para saber los proyectos que tiene cada proyectista, yse cambian los nombres de campos y tablas para una consulta más rápida.
1.5. Select con subconsultas
Se realiza un Select con una subconsulta en el cual se pide primero ordenar los proyectos en forma descendente según la cantidad de proyectistas que estén trabajando en él
para luego sacar solamente el número máximo con su respectivo nombre del proyecto
1.6. Insert, Insert Ignore,Insert Select, Insert on duplicate key
1.6.1. Insert
Se realiza un nuevo Insert para ingresar a un proyectista.
1.6.2. Insert Ignore
Se realiza un Insert Ignore para ingresar esta vez a dos proyectistas. Intencionalmente hice coincidir el primary key número 6, para demostrar la diferencia entre un Insert y un Insert Ignore.
Como se ve, solamente insertó una fila. Esto debido a queignoró los datos repetidos y no los sobrescribió.
1.6.3. Insert Select
Se realiza un Insert Select para ingresar los proyectos entregados el año 2013 en un respaldo con solo el nombre del proyecto:
Se revisa la tabla de respaldo con un Select, para ver si en realidad se ingresaron los datos.
1.6.4. Insert On Duplicate Key
Se realiza un Insert On Duplicate Key para cambiar la posición número7 de los proyectistas. Actualmente se encuentra asi:
Y se realiza el Insert On Duplicate Key
Se realiza un nuevo Select y nos damos cuenta que se actualizaron los datos de la fila nº7.
1.7. Update
Se realiza un Update para cambiar el nombre del cliente Wal-mart a Wal-mart Chile:
1.8. Tipos de índice
1.8.1. Clave primaria
La clave primaria es para generar consultas...
Regístrate para leer el documento completo.