No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Curso de SQL y MySQL

Curso de SQL y MySQL

Alberto Alcocer

Alberto Alcocer

Comando CREATE

7/24
Recursos

Aportes 85

Preguntas 16

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Reg铆strate o inicia sesi贸n para participar.

Hola a todos! Me gustar铆a compartir con ustedes un tutorial que elabor茅 para entender mejor el tema de InnoDB y MyISAM, sus ventajas y como podemos implementarlo en nuestras propias bases de datos 馃挭馃徏

InnoDB y MyISAM: El ying yang de MySQL 鈽煇

Dos tipos de tablas por defecto en MySQL:
MyISAM: directa, sencilla, m谩s r谩pida y las transacciones son completamente uno a uno:
InnoDB: nueva, recuperable en caso de falla de disco duro pero es un poco m谩s lenta.

En la vida real usamos las tablas con dos prop贸sitos:
Catalogo: crecer谩 en un orden lento, seg煤n las necesidades de la propia BD. (Listado de Usuarios, InnoDB)
Operaci贸n: se enfocan a lectura, mayor acceso a disco duro. (Prestamos de libros, MyISAM).

https://www.webreunidos.es/blog/myisam-vs-innodb/

Sin menospreciar, creo que el profesor tiene mucha experiencia pero en t茅rminos pedag贸gicos esta tomando los temas muy r谩pidos y la experiencia de aprendizaje deja mucho que desear. Espero puedan rehacer el curso.

RESUMEN:


En esta clase empezaremos creando las diferentes tablas que requerimos para las operaciones. La cantidad de tipos de datos en MySQL es enorme, en el sistema de archivos est谩 la lista de de tipos y subtipos de datos.
Dos principales tipos de tablas por defecto:
innoDB y Myisam
InnoDb es un tipo de tabla robusta, segura en caso de fallas en disco duro y es lenta.
Myisam es una tabla directa, sencilla, y las operaciones y transaccional 1 a 1. La lectura y escrituro es mayor.

Estas condiciones afectan la estrategia en el momento de crear la base de datos.

***Tablas que crecen lento: Hacerlas en innoDB para realizarlas robustas.
***Tablas que crecen r谩pido, utilizamos mucho y tienen acceso a disco duro: Hacerlas en Myisam para darles agilidad al sistema

Tipos de tablas de Bases de datos

**MyISAM **

  • Muy directa
  • Muy rapida
    -Las operaciones son 1:1
    - La velocidad de Lectura y escritura es mayor

** InnoDB**

  • Es m谩s nueva
    -Es mas robusta
  • Mas recuperable(En caso de falla en el Disco Duro)
    ** - Es mas lenta**

2 Tipos de Tablas en MySQL :

  • InnoDB .- Es una tabla de BD, mas nueva, mas robusta, mas recuperable en caso de que haya alguna falla en el disco duro pero es un poco mas lenta.

  • MyISAM .- Es una tabla de BD muy directa, muy sencilla, muy r谩pida y las operaciones y transacciones son completamente uno a uno. La velocidad de lectura y escritura es mayor.

La clase se deber铆a llamar motores de almacenamiento

Considero que este curso, aunque toca temas muy b谩sicos, como en la explicaci贸n del comando CREATE; S铆 requiere que ya se tenga algo de conocimiento respecto a las bases de datos para poder entender a la perfecci贸n los statements y referencias que el profesor realiza. As铆 que recomiendo leer bastante sobre bases de datos, DDL, DML y tipos de bases de datos para poder comprender mejor estas clases.

INDICES

Un 铆ndice es un puntero, que es b谩sicamente un espacio en memoria, que en MySQL hace referencia a a los datos de cierta cantidad de filas o tuplas de una serie de columnas.
Ahora en MySQL existen diferentes formas de representar un 铆ndice:

  1. INDEX (NON-UNIQUE): Este es un 铆ndice normal. Como es no-煤nico, entonces varios registros o filas pueden tener el mismo 铆ndice. Las ventajas de esto es que puede acelerar el tiempo de ejecuci贸n a la hora de hacer consultas. A partir de este tipo de 铆ndice viene un tema interesante que se llama indexacion en MySQL鈥 Por ejemplo, en el caso de un cat谩logo de libros se crear铆a un INDEX que contenga los indices A,B,C,D,E,鈥 .
  2. UNIQUE: Este tipo de 铆ndice lo que permite hacer es que que las celdas de una columna no tengan el mismo valor. Por ejemplo ,en caso de los correo electr贸nico no puede haber dos personas que est茅n usando el mismo correo electr贸nico.
  3. PRIMARY: Este tipo de 铆ndice , por defecto, tambi茅n es de tipo 煤nico (UNIQUE). La llave primaria (PRIMARY KEY) nos permite que cada fila o tupla tenga algo que lo identifique como en el caso de nosotros es nuestro DNI.
  4. FOREIGN: La llave for谩nea es aquella llave primaria de otra tabla que lo que nos permite realizar es relacionar ambas tablas. Con la relaci贸n de tablas, nos permite hacer consultas(QUERYS).
  5. FULLTEXT: Este tipo de 铆ndice se emplea para realizar b煤squedas sobre texto (CHAR, VARCHAR y TEXT). Estos 铆ndices se componen por todas las palabras que est谩n contenidas en la columna (o columnas) que contienen el 铆ndice. Se emplea simplemente para mejorar el tiempo de ejecuci贸n de las consultas. Este tipo de 铆ndices s贸lo est谩n soportados por InnoDB y MyISAM en MySQL 5.7.
  6. SPATIAL: Este tipo de 铆ndice se emplea para realizar b煤squedas sobre datos que componen formas geom茅tricas representadas en el espacio. Este tipo de 铆ndices s贸lo est谩n soportados por InnoDB y MyISAM en MySQL 5.7.

5- Tipos de Tablas de MySQL y Estrategias. Tipos de datos

Dos tipos de tablas por defecto en MySQL:

-. InnoDB

Es una tabla de bases de datos m谩s nueva y robusta, recuperable en caso de falla de disco duro pero es un poco m谩s lenta.

-. MyISAM

Es un tipo de tabla directa, sencilla, m谩s r谩pida y las transacciones son completamente uno a uno

  • En la vida real usamos las tablas con dos prop贸sitos:

-. Cat谩logo

crecer谩 en un orden lento, seg煤n las necesidades de la propia BD. (Listado de Usuarios, InnoDB)

-. Operaci贸n

se enfocan a lectura, mayor acceso a disco duro. (Pr茅stamos de libros, MyISAM)
https://www.webreunidos.es/blog/myisam-vs-innodb/

Creo que el t铆tulo de esta clase est谩 mal

Hola, consulta los tipos de tablas m谩s comunes desde el punto de vista del dise帽o son:
TABLAS DE CAT脕LOGO (MyISAM)
TABLAS DE OPERACI脫N (InnoDB)
esto es asi? porque en una pregunta que me hicieron en el examen me da error鈥or favor verificar las respuesta鈥

Una buena pr谩ctica pedag贸gica es mostrar lo que se est谩 explicando, lo m铆nimo que podr铆a hacer Alberto es mostrar los nombre InnoDB y MyISAM.

Caracter铆sticas de MyISAM:
Se establece por defecto cuando se crea una tabla, salvo que se indique lo contrario.
Soporta transacciones.
Realizar bloqueo de registros.
Soporta un gran n煤mero de consultas SQL, lo que se refleja en una velocidad de carga muy r谩pida para nuestra web.
Como desventaja, se帽alamos que no realiza bloqueo de tablas, esto puede ser un problema si como se ha mencionado anteriormente hay un acceso simult谩neo al mantenimiento de registros por parte de varios usuarios.

Caracter铆sticas de InnoDB
Bloqueo de registros. Importante para accesos m煤ltiples al mantenimiento de tablas, es decir, ejecuciones de sentencias tipo INSERT o UPTATE, 茅stas ejecuciones tienen una velocidad optimizada.
Capacidad para soportar transacciones e integridad de datos, es decir previene el alta de datos no adecuados.
Aplica las caracter铆sticas propias de ACID (Atomicity, Consistency, Isolation and Durability), consistentes en garantizar la integridad de las tablas.

Hay dos tipo de tablas en nuestra arquitectura que obedecer谩n a nuestra estrategia: 1.Cat谩logo esta usar谩 InnoDB porque es lento su crecimiento y operaci贸n, por ejemplo: tabla client , 2.Operaci贸n est谩 usar谩 MyISAM esta ser谩 porque su operaci贸n es constante, ejemplo: operations

####Motores de base de datos
Los motores de base datos m谩s conocidos son Innodb y Myissam, entre ambos existen ciertas diferencia notables que vale la pena mencionar para saber cual eligir.

Innodb considerado como un motor de base de datos transaccional conforme ACID con la capacidad de commit, rollback, recuperaci贸n de fallos.

Myissam es un motor de base de datos que trata tablas no transaccioneles lo cual lo hace m谩s rapido en la lectura y escritura de datos.

#####Algunas ventajas y desventajas
Innodb

  • Soporte de transacciones.
  • Bloqueo de registros.

Myissam

  • Mayor velocidad en la recuperaci贸n de datos.
  • Recomendable para aplicaiones donde predominan la sentencia select que los inserts/updates.

si la velocidad de lectura y escritura es lo que importa 驴 por que las tablas del tutorial fueron creadas como INNODB? Quien me puede aclarar esa duda

En que caso usamos tablas de tipo MyISAM o InnoDB?

Otra alternativa de soluci贸n para acceder a la consola de MySQL es instalando WAMPSERVER 2.5, una vez instalado seleccionar la carpeta MySQL y listo les dejo el enlace:

https://wamp-server-wamp5.uptodown.com/windows

2 Tipos de Tablas en MySQL :

- InnoDB .- Es una tabla de BD, mas nueva, mas robusta, mas recuperable en caso de que haya alguna falla en el disco duro pero es un poco mas lenta.

- MyISAM .- Es una tabla de BD muy directa, muy sencilla, muy r谩pida y las operaciones y transacciones son completamente uno a uno. La velocidad de lectura y escritura es mayor.

La siguiente es una instruci贸n para crear una tabla especificando que se usar谩 el motor de almacenamiento InnoDB:

CREATE TABLE customers (a INT, b CHAR (20), INDEX (a)) ENGINE=InnoDB;

A partir de esto (que en la instrucci贸n CREATE TABLE se permita elegir el motor) entiendo que en una base de datos determinada es posible usar ambos motores.

Dos tipos bases de datos de tablas:
InnoDB: es una base de datos tipo tabla , m谩s robusta, m谩s recuperables en caso de que existe una falla en el disco duro, pero es un poco m谩s lenta.

  • Tabla de Cat谩logo. Esta tabla crece a una orden lenta. Ejemplo, el n煤mero de usuarios no crecer谩 a una velocidad que el n煤mero e pr茅stamos del n煤mero de libros que hay en la biblioteca.

MyISAM: Es una tabla muy directa y sencilla muy r谩pida y las operaciones y transacciones es completamente una a una, la velocidad de lectura y escritura es mayor, esto afecta la estrategia.

  • Tabla de Operaci贸n: Esta tabla crece mucho, para darle m谩s agilidad a nuestro sistema.

queries copia a la consola

  • InnoDB
    • Tabla de catalogo
    • Escribe lento
  • MyISAM
    • Escribe r谩pido
    • Es mas dif铆cil de recuperar
    • Se usa cuando necesitas consultar y escribir mayor numero de veces o a una raz贸n mas grande.

INNODB ES UNA TABLA MAS SEGURA, PERO MAS LENTA
MyISAM ES MAS RAPIDA PERO MENOS SEGURA

InnoDB
El bloqueo se hace por registro. Cuando se realiza una inserci贸n o actualizaci贸n del registro de una tabla de este tipo, 煤nicamente se bloquea ese registro y no la tabla, como suced铆a en MyISAM. Por lo que otros usuarios podr谩n hacer uso de manera simult谩nea de la base de datos.

No se, eso de que mis tablas transaccionales como la tabla PRESTAMO este en MyISAM no me convence, considerando que quien garantiza la integridad de la informaci贸n cuando se hace varios UPDATE,INSERT y DELETE es el INNODB.

MyISAM sera la elecci贸n adecuada si eres nuevo con MySQL y para aplicaciones webs simples o poco definidas, por poner ejemplos de aplicaciones que deber铆an utilizar MyISAM: CMS (content management systems), simples motores de b煤squeda 贸 blogs.
(Ref: http://www.tufuncion.com/mysql-innodb-myisam)

Hola ! Luego de la instalaci贸n, quede con el prompt en MySQL JS >
Como continuo para poder comenzar a manipular una DB?

Mi primera ejecucion
</
mysql> show databases;
卤-------------------+
| Database |
卤-------------------+
| information_schema |
| mysql |
| performance_schema |
| sakila |
| sys |
| world |
卤-------------------+
6 rows in set (0.01 sec)

mysql> use sakila;
Database changed
mysql> show tables;
卤---------------------------+
| Tables_in_sakila |
卤---------------------------+
| actor |
| actor_info |
| address |
| category |
| city |
| country |
| customer |
| customer_list |
| film |
| film_actor |
| film_category |
| film_list |
| film_text |
| inventory |
| language |
| nicer_but_slower_film_list |
| payment |
| rental |
| sales_by_film_category |
| sales_by_store |
| staff |
| staff_list |
| store |
卤---------------------------+
23 rows in set (0.01 sec)

mysql> select database();
卤-----------+
| database() |
卤-----------+
| sakila |
卤-----------+
1 row in set (0.00 sec)``>

Muy interesante la parte de las tablas.
InnoDB y MyISAM: El ying yang de MySQL

Una base de datos no es nada si no la podemos convertir en informaci贸n

Los tipos de tablas m谩s comunes desde el punto de vista del dise帽o son:

TABLAS DE CAT脕LOGO (MyISAM)
TABLAS DE OPERACI脫N (InnoDB)

Al instalar mysql me da un error 1042 y no me deja iniciar el servidor

Estrategia para saber cu谩l tabla ser谩 MyISAM o InnoDB

InnoDB

MyISAM

InnoDB: tipo de tabla de base de datos, m谩s robusta, m谩s recuperable ante fallo, pero m谩s lenta.

Dos tipos de tablas: Tabla de cat谩logo y tabla de operaci贸n.

Les dejo el enlace donde pueden ver los dos tipos de tablas MySQL
https://platzi.com/tutoriales/1272-sql-mysql/4484-innodb-y-myisam-el-ying-yang-de-mysql/

No s茅 si el profe se equivoco, pero si es as铆 pues cualquiera lo puede hacer, dejo un gran post de @facmartoni de platzi, donde podemos ver en que casos usar InnoDB y MyIsam.

Como que todo se me va aclarando D;

Vaya son conceptos que no sab铆a.

Hola a todos,

Les dejo unas Ventajas y Desventajas que encontr茅 de cada MyISAM e InnoDB

Aqu铆 les dejo uin link para que si tienen una duda con los comandos, la vean
https://desarrolloweb.com/articulos/2408.php

Hola, tengo tarea en la Uni 馃槃

Ac谩 les dejo el link de la documentaci贸n de MYSQL si saben ingl茅s pueden pasar a mirarlo. Est谩 buenisimo, explica todo muy claro CON EJEMPLOS!!
(https://dev.mysql.com/doc/refman/8.0/en/tutorial.html)

No se desconcentraron con el libro detras de Alberto, like si eres fan de Game of Thrones

MyISAM orientado a transacciones y ahorro de recursos.
InnoDB orientado a catalogo de datos, es mas robusta pero mas lenta para transacciones.

Gracias !!

Estimado prof. Alcocer. Tengo una duda conceptual en cuanto a las entidades y relaciones en MySQL. Por ejemplo en la tabla books y la tabla authors, veo que coloca dentro de tabla books el authors_id que seria el vinculo o la relacion con authors.** No deberia existir una tabla enlace (relacion), que se llamara por ejemplo writers, entre books y authors que tuviese solamente los campos claves authors_id y books_id en una relacion muchos a muchos??** Gracias

hola, alguien me podr铆a decir como se limpia pantalla?

Tipos principales de tablas: 1) MyISAM 2) InnoDB

buenas clases

EXCELENTE CURSO

驴eres dislexico? oy bientam

Super importante el tipo de almacenamiento de las tablas. Desconoc铆a por completo este tema.

Muy buena clase.

El comando CREATE TABLE se utiliza para crear una tabla llamada nom_sql con los campos especificados al pasar una o m谩s definicion_columna

Buenas, tengo una duda serian tipos de tablas o tipos de motor de almacenamiento cuando hablamos de InnoDB y MyISAM?.

Wow, siempre usaba InnoDB en todas las tablas, ahora entiendo porque va lento en algunas oportunidades

Genial el dato de los motores de bases de datos MyIsam y InnoDB

驴Cu谩les son los tipos de tablas?

Que es un 脥ndice, una llave primaria y una llave for谩nea.

Siempre aprendiendo.

Una cosa importante a la hora de dise帽ar nuestra BD es saber que existen dos principales tipos de tablas propietarias (Existen m谩s):

  • **InnoDB:**Es un tipo de tabla m谩s nueva, robusta y recuperable en caso tal haya fallas en el disco duro; pero es un poco m谩s lenta.
  • Myissam: Es un tabla muy directa, muy sencilla, r谩pida y las transacciones y operaciones son de uno a uno; Entonces la velocidad de Escritura y lectura es mayor.

Aprendiendo nuevas cosas

no he podido abrir sql desde mi terminal en Mac ayuda隆

Tipos de tablas:

Entiendo que el InnoDB superan a las MyISAM, y est谩n siendo m谩s usadas en la actualidad.

Si tienen problemas para iniciar mysql desde la terminal con mac. Les recomiendo mucho este video: https://www.youtube.com/watch?v=TPEnVbMBgsM

Existen dos tipos de tablas innoDB, myisamDB

Existen dos tipos de estrategia, tabla catalogo, y tabla operaci贸n, Catalogo crece orden lento por lo que es innoDB Operaciones crece r谩pido por lo que es myisamDB

Car谩cteristicas InnoDB

MyISAM: Sencilla y rapida.

Car谩cteristicas MyISAM

Resumen

Debemos empezar por crear las tablas que necesitamos.

Principales tipos de tablas:

  1. InnoDB Es m谩s robusta pero m谩s lenta. Por lo tanto, aquella informaci贸n que crece lenta deber谩 ser creadas con estas tablas.
  2. My ISAM Es una tabla m谩s directa y r谩pida. Aquellas que requieran de consultas m谩s agiles deber谩n ser creadas con estas tablas.

As of MySQL Version 3.23. 6, you can choose between three basic table formats ( ISAM , HEAP and MyISAM . Newer MySQL may support additional table type ( BDB , or InnoDB ), depending on how you compile it.

Chicos! quienes tengan dudas de como estar a la par del profe con windows y en consola, pueden usar este video: https://www.youtube.com/watch?v=UIz8sO3yefg&t=327s
a mi me sircio muchisimo, pero tienen que instalar wampp, suerte! Sigamos aprendiendo :3

Tabla de catalogo => crece a un orden lento
Tabla de operaci贸n => crece de manera rapida

Perfecto saber este tipo de informaci贸n ya que uno cuando es jr nos daba igual en que BD montabas las tablas.
Gracias profesor, bien explicado

Tipos de tablas de bases de datos que tiene my sql.
**INNO DB: **
Nueva en cuanto a temporalidad de creaci贸n.
Robusta en cuanto a recuperaci贸n de tablas.
Mas lenta al acceso de datos.
Para tablas que crecen de manera m谩s lenta hay que
ponerla en INNODB.

**MY ISAM: **
	Mas r谩pida en la lectura y escritura de datos.
	Para la tablas de datos de mayor crecimiento m谩s r谩pido.

++ InnoDB++
El bloqueo se hace por registro. Cuando se realiza una inserci贸n o actualizaci贸n del registro de una tabla de este tipo, 煤nicamente se聽bloquea ese registro聽y no la tabla, como suced铆a en MyISAM. Por lo que otros usuarios podr谩n hacer uso de manera simult谩nea de la base de datos.
Tambi茅n hace聽control de transacciones, para entenderlo imaginemos la tabla de clientes de un banco, en el que se transfiere dinero de un cliente a otro, para ello se deben completar dos pasos:
1. La cantidad debe sumarse en la cuenta de destino
2. Restarse en la de origen.
En caso de interrupci贸n de la energ铆a del servidor, no podr铆a quedarse a medias el proceso ya que la transacci贸n (los dos pasos) deben cumplirse. Por lo tanto la transacci贸n o se completa o no.

++ MyISAM++
Es la evoluci贸n de ISAM,聽mejora la velocidad y la optimizaci贸n del espacio.聽Adem谩s, es el tipo predeterminado de tablas que utiliza MySQL. En el caso de que intentes crear otro tipo espec铆fico de tablas (y en caso de que MySQL no pueda crearlas), MySQL crear谩 este tipo de tablas.
Otra caracter铆stica, es que si realizas una inserci贸n o actualizaci贸n de un registro de la tabla, MySQL bloquea la tabla hasta que se complete la tarea. Por lo que nadie m谩s podr谩 hacer actualizaciones o inserciones durante ese tiempo.

Me iba a quedar pegado en muchas cosas solo porque no se explicaron cosas que se utilizan de una forma en mac y de otra en windows

El 煤nico comentario que tengo hasta ahora, es que el curso no parece estar pensado para gente que apenas comienza en SQL, si no que ya deber铆an tener cierto conocimiento previo. Es bueno, porque puedes ir m谩s r谩pido, pero a la vez es contraproducente porque no le da chance a los nuevos.