Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Pero en este curso nos vamos a enfocar en quizás la más exitosa de todas y la más
popular que es MySQL, desde 1996 que fue creada hasta el día de hoy es la base de
datos que sin dudas ha tenido más usuarios en la comunidad de desarrolladores.
Nosotros vamos a ver en este curso, no solo sobre MySQL sino que también vamos a
aprender todo el lenguaje completo de bases de datos y vamos a aprender buenas
prácticas, a normalizar nuestras bases de datos y a generar bases de datos
profesionales y versátiles en cuestión de minutos.
Les quiero hablar brevemente acerca de mi carrera, de lo que son mis credenciales
para estar hoy en día frente a ustedes enseñándoles, hace 30 años que trabajo para
empresas grandes, para grandes cadenas de sucursales y actualmente me encuentro
trabajando en una de las empresas de software más importantes de Argentina.
Me refiero a la firma AXOFT, los creadores de El famoso software TANGO (Tango
Gestión) es el equipo en el que estoy trabajando y estamos haciendo un trabajo muy
profesional así que bueno los invito a este curso completo, No los voy a defraudar y se
van a sentir muy a gusto con todo lo que vamos a aprender a lo largo de estas 60 clases.
Sin más, Los invito a que sigamos y a que comencemos de una vez el curso.
Sección 2, Clase 2
¿Que son las Bases de Datos?
Hola bienvenidos al capítulo número 2 de este curso completo de base de datos.
En este capítulo responderemos la pregunta, qué es una Base de Datos, una base de
datos no es más que una gran colección de datos ordenados y organizados de tal
manera que nos permita luego acceder rápidamente y fácilmente a ellos, El ejemplo
más común y previo a las computadoras que hemos conocido de base de datos es la
guía telefónica, en ella están ordenados y organizados los datos siguiendo una
estructura prefijada y clara que nos permite acceder en sólo segundos a la información
que estamos necesitando por sobre miles o millones de resultados
En el desarrollo de software, Los programadores se dieron cuenta que con solo grabar
datos en archivos no bastaba porque luego cuando querían acceder a la información
precisa de una manera rápida se les dificultaba.
Es ahí donde nacieron las bases de datos y se fueron perfeccionando de tal manera
que hoy es imposible imaginar un desarrollo de software sin interactuar con alguna de
ellas, A lo largo de este curso vamos a profundizar al máximo cada concepto y
conocimiento acerca de ellas.
Te invito a continuar con el curso y seguir nuestro capítulo número 3, estaremos
hablando de los motores de base de datos.
Sección 2, Clase 3
Conceptos de Motores de Bases de Datos
Bienvenidos al capítulo número 3 de este curso completo de base de datos.
En este capítulo responderemos la pregunta. Qué son los motores de Bases de Datos,
sabemos que las bases de datos son grandes colecciones de datos ordenadas y
organizadas de una manera inteligente.
Los motores de bases de datos son herramientas de software o sistemas que nos
ayudarán en la búsqueda, la organización y la creación de esos datos.
Cada motor organiza los datos de una manera diferente y transparente al usuario.
Cada motor nos regala un set de utilitarios adicionales que para realizar todo tipo de
operaciones tanto de mantenimiento de nuestros datos como de Backup y los motores
más grandes y potentes nos permiten generar reportes y también tienen su propio
lenguaje de programación. Le dan al desarrollador profesional un inmenso set de
opciones.
Los motores más conocidos en el mercado son MySQL, Microsoft SQL Server,
Microsoft Access, Oracle, DB2 de IBM. PostgreSQL, MaríaDB y los nuevos MongoDB,
hay otros.
En esta oportunidad nos vamos a enfocar en el más popular e imbatible MySQL. Te
invito a nuestro siguiente capítulo, luego de estos conceptos teóricos que hemos tenido
donde ya comenzaremos a trabajar puntualmente todo sobre bases de datos.
Sección 2, Clase 4
Conceptos de Tablas
Hola bienvenidos a este nuevo capítulo del curso completo de base de datos.
Ahora nos vamos a meter de lleno con los ejemplos, con las ejercitación es más que
con las teorías.
En esta oportunidad vamos a saber todo sobre tablas, Las tablas son colecciones de
datos unidos para un fin común, Son parte de las bases de datos.
Si tuviéramos que desglosar una base de datos diríamos que el primer elemento por
el cual podemos desglosarlas son las tablas, para que se den un ejemplo.
Si pensamos en una tabla llamada clientes encontraremos campos o columnas
relacionados a esa ficha de clientes.
Vamos a ver un ejemplo si aquí tengo un ejemplo vamos a hacer de cuenta que
tenemos una base de datos llamada El veloz S.R.L que es nuestra empresa, nuestro
negocio y que está dividida en tablas.
Vamos a ver por ejemplo una tabla, clientes que sería como la sección dedicada a los
clientes, Las tablas son precisamente colecciones de datos que le vamos a poner un
nombre sin datos específicos, los datos que vamos a recoger para clientes no van a
ser los mismos que los datos que vamos a recoger para productos,por ejemplo les
ponemos un nombre en la tabla clientes y luego tenemos otro desglose, Las tablas
pueden desglozarse y separarse en campos.
Vamos a hablar sobre los campos en el capítulo 5 o sea en el siguiente capítulo,
Ahora vamos simplemente enfocarnos en lo que tienen que ver las tablas y los
campos de esta tabla.
Los campos de esta tabla dijimos por ejemplo son diferentes a los datos que vamos a
guardar en la Tabla Productos, podríamos tener una tabla proveedores una tabla
facturas y así conformar nuestra base de datos.
Estos campos que serían como las columnas de una planilla Excel pueden ser el ID
del cliente, El nombre del cliente el domicilio el teléfono y cada uno de estos datos
vamos a saber en profundidad en el capítulo que habla de los campos, El tipo de
datos y qué posibilidades tenemos de acuerdo al motor que vamos a estudiar en este
curso, a cada uno de estos datos se le llama campos o columna todos ellos juntos
conforman un registro.
Si ustedes abren un Excel en una fila, esa fila sería un registro en una base de datos
Ocurre lo mismo una sucesión de campos y datos provenientes de un solo cliente o
de un solo producto conforma un registro.
Entonces los datos de un cliente se alojarán en un registro conformado por todos sus
datos, Si miramos esto en un formato de grilla Excel diríamos que la tabla es toda la
hoja cuyo nombre figura en la solapa inferior.
Cada fila es un registro, cada columna corresponde a un campo diferente entonces
cada tabla constituye una entidad determinada con sus características y se Teos
independientes de otros estados.
Nuestra base de datos entonces es una colección de tabla, Cuando pensemos en una
base de datos tenemos que pensar que es una colección de distintas tablas.
Las tablas son colecciones de registros definidos por campos índices y Seteos
independientes.
Todo esto lo vamos a ver con mayor profundidad a lo largo de este curso.
No deben preocuparse, ahora por los registros son formados por campos o columnas
determinadas y en cada campo finalmente se alojará un valor propio de ese registro.
Por ejemplo para el registro cliente número dos en el campo nombre se alojará el dato
de Marcos Medina
y en su campo teléfono se alojará el dato correspondiente al teléfono de Marcos
Medina para registro
número tres del cliente.
Vamos a grabar el campo nombre y se va a alojar el dato de otro cliente y así
sucesivamente.
Es responsabilidad luego de los programadores el generar las herramientas u
opciones necesarias para
adicionar actualizar borrar o consultar los datos de estos registros en el próximo
vídeo.
Te voy a explicar todo sobre los campos y sus características.
Clientes Productos
ID ID
Nombre Descripción
Domicilio Color
Teléfono Medida
Email Stock
Dijimos que los datos de clientes iban a ser diferente a los datos que íbamos a guardar
en la tabla productos, podríamos tener otras tabla como proveedores, una tabla facturas
y así conformar nuestra Base de Datos.
A cada uno de estos datos se les llama campos o columna y todos ellos juntos
conforman un registro, si abrimos Excel y vemos una fila, esa fila sería un registro en
bases de datos ocurre lo mismo.
Si miramos esto en un formato de grilla de Excel diríamos que la tabla es toda la hoja,
cuyo nombre figura en la solapa inferior; cada fila es un registro y cada columna
corresponde a un campo diferente.
Cada tabla entonces constituye una entidad determinada con sus características se
theos independientes de otras tablas.
Cuando pensemos en una base de datos tenemos que pensar que es una colección de
distintas tablas.
Las tablas son colecciones de registros, definidos por campos, índices y se theos
independientes.
Los registros son formados por campos o columnas determinadas y en cada campo
finalmente se alojara un valor propio de este registro. (Ejemplo en el campo nombre se
alojara el nombre del cliente, y en el campo teléfono, se alojara el teléfono respectivo
de ese cliente).
Sección 2, Clase 5
Concepto de Campos.
Las bases de datos se desglosan en tablas y las tablas se desglosan en
campos.
Los campos conforman nuestro registro de datos y como vimos en el ejemplo
anterior en nuestra agenda telefónica o nuestra planilla Excel que mostraba cada
columna un dato diferente, podemos decir que los campos son esas columnas de
la planilla Excel.
Como ya sabemos, las tablas son colecciones de registros.
En un principio podríamos tener tablas vacías, es decir sin datos aun grabados en
ellas, pero lo que si ya tienen nuestra tablas es la definición de como estarán
conformados esos registros, es decir, cuando creamos nuestras tablas, el segundo
paso es diseñar su registro o colecciones de campos; estos campos son datos
individuales donde en su interior solo puede haber un valor alojado.
En comparación con una planilla Excel, podríamos asemejar a un campo a una
columna determinada.
En la siguiente imagen podemos ver una definición de los campos de una tabla en
Mysql.
Veremos en secciones siguientes sobre la importancia de prestar cuidado y detalle
a la creación de nuestros campos, para que nuestros datos se encuentren
optimizados o como se dice en base de datos NORMALIZADOS.
Pero siguiendo con el ejemplo de nuestra tabla llamada clientes, podríamos listar
los campos que vemos en la imagen como indispensables.
Si prestamos atención, ya se están aplicando algunas reglas de Normalización que
veremos más adelante y refiere que debemos en lo posible nombrar nuestros
campos de manera organizada, legible y siguiendo alguna norma, en este caso y
teniendo en cuenta que una base de datos poseerá seguramente numerosas tablas
y miles de campos, es conveniente que el mismo nombre del campo nos dé una
idea de que se trata.
Si en lugar de Cli_nombre, lo llamáramos simplemente nombre deberíamos ver a
que tabla se refiere el campo para darnos cuenta de que es el nombre del cliente y
no un proveedor.
De esta forma el nombre podría darnos rápidamente noción de su origen,
seguramente con solo leer el nombre de estos campos se dará una idea de que
valor contienen y a que se refiere dicho valor.
El nombre que les demos a nuestros campos es fundamental para una correcta
interpretación de nuestras tablas, campos y valores almacenados.
Debe ser costumbre que el campo comience con 4 caracteres o quizás algunos más
que denoten de que tabla proviene dicho campo.
Los prefijos:
Cli_ Provienen de clientes.
Pro_ provienen de proveedores.
Art_ provienen de artículos o productos.
Venta_ proviene de la tabla maestra ventas.
Son algunos ejemplos de posibles tablas de nuestra base de datos pero que nos
dan una idea acerca de que tabla provienen y se una Guion Bajo ( _ ) para separar
el prefijo del nombre.
Un campo fecha, un campo numérico cada uno debe ser configurado de forma
correcta y teniendo en cuenta que para cada valor mínimo y máximo encontraremos
el tipo de dato correcto.
No usaremos para ese campo un dato de tipo entero (INT) que ocupa 4 bytes y cuyo
valor máximo es 4294967295 millones de valore posibles, sería un derroche de
espacio en la tablas, sino que usaremos un campo TINYINT que es el dato entero
más pequeño posible que ocupa solo 1 bytes y cuyo valor máximo es de 255.
Es indispensable saber que ante la posibilidad de que algún día nuestro campo se
quede corto, es decir que algún valor alojado exceda el máximo permitido para el
tipo de dato, podremos sin perjuicio de la información grabada hasta ese momento
ampliar o cambiar el tipo de datos, no nos debemos preocupar en este momento de
lo que va a pasar dentro de años porque siempre vamos a podemos modificar el
tipo de datos y vamos a seguir manteniendo los datos en nuestra base de datos.
Ejemplo:
Hemos usado para un campo de número de sucursal el campo TINYINT cuyo valor
máximo es 255 y por una expansión global, mundial de nuestra compañía, adquiere
300 sucursales de golpe, nos ha quedado chico, hay mismo podemos cambiar el
campo por un tipo de dato SMALLINT que ocupa 2 bytes en lugar de 1, y tiene un
valor máximo de 65535, y solucionamos el inconveniente, nuestro campo columna
ahora soporta números más grandes.
Sería mejor sestearlo de 60 caracteres, cada campo puede ser inicializado con un
valor por default, es decir que si uno no le mueve explícitamente un valor, el campo
será inicializado con un valor en concreto.
Puedo crear un campo Estado, que tiene el estado 0 o 1, y puede indicar que ante
nuevos registros todos los nuevos registros le fuercen un 0 al campo estado, en los
del campo numéricos ese valor Default generalmente 0 o espacios cuando es de
tipos carácter o string y vamos a ver mucho más sobre los campos conforme
vayamos avanzando en este curso, no deben preocuparse ahora.
Sección 2, Clase 6
Conceptos de índices
Cuando pensamos en la palabra índice, se nos viene a la mente los índices de los
libros que no son más que un listado de temas apuntados a un número de páginas
determinado, esto fue creado y pensado para que los para que los lectores que
deseen solo abordar rápidamente el tema no tengan que leerse todo el libro
completo para encontrarlo; entonces, si tengo en mis manos un libro completo sobre
programación Java pero quiero ver solamente el tema que habla de tipos de datos
en java voy ir al índice y en pocos segundos encontrar el tema que necesito.
En una base de datos, los índices funcionan de manera muy similar y nos permiten
determinar qué campo serán índices, también solemos llamarlos clave.
Por ejemplo: la clave principal de la tabla clientes debe ser si o si el ID cliente, como
vemos en el siguiente ejemplo, al definirlo como índice.
Cuando le pidamos a la base de datos que nos ubique el cliente N. 2, que creen que
hará el motor de bases de datos, recorrer toda la tabla clientes, hasta encontrarlo o
ir a la ubicación del disco rígido donde se encuentra el registro correspondiente al
cliente N. 2.
Lo bueno es que podemos tener tantos índices en cada tabla como deseemos,
aunque luego veamos en la sección de Normalización de bases de datos aspectos
importantes a tener en cuenta a la hora de determinar un índice.
Hay principalmente 3 tipos de índices importantes:
1. El Primary Key o Clave Principal
2. Unique Key o Clave Única sin repetición.
3. Key solamente que es la clave, una clave cualquiera que puede estar
duplicada.
Vamos a ver cómo funcionan estos 3 amigos de la optimización:
En estos casos, no tenemos que mover ningún valor a ese campo, cuando creemos
nuevos registros.
El motor asignara a la Primary Key el próximo valor automáticamente, entonces
podemos crear el cliente Juan y el motor e pondrá el número 1, luego creamos el
cliente pedro y el motor le asignara el número 2.
Esta funcionalidad no viene por default (Defecto), uno tiene que tildar la casilla que
diga auto-increment, en la Primary Key para que tenga este comportamiento.
2. Unique Key o Clave Única sin repetición: Comparte al igual que las Primary
Key el hecho de que no pueden haber valores duplicados en el campo o en
el conjunto de datos señalados.
Cabe destacar que una clave no necesariamente debe estar formada por un solo
campo, quizás queremos crear una clave única uniendo para ello los campos de por
ejemplo Numero de factura más código de producto y evitar que un mismo producto
se duplique en una factura.
A diferencia de las Primary Key, las Unique Key no tiene la propiedad Auto-
incremento habilitada.
El Consejo es que si en total hay campos que son referencias a otros maestros, los
conviertas en índices sí o sí.
Ejemplo: durante una venta tenemos que alimentar 2 tablas, la tabla de cabecera,
de facturas y la tabla de detalle de facturas.
Este modelo lo vamos a ver bien cuando veamos sobre las tres formas normales de
optimización de bases de datos.
En la tabla de cabecera seguramente tengamos algunos de estos datos que vemos
ahora en pantalla:
FacM_Id
FacM_Fecha
FacM_Prefijo
FacM_NroFac
Terminando con FacM_CliID
Que son estos campos:
FacM_Id Primary Key y Auto-Incremental.
FacM_Fecha Fecha de la Factura.
FacM_Prefijo es el prefijo de la factura, son 4 o 5 dígitos dependiendo del país
que representan al punto de venta de la factura.
FacM_NroFac Numero de factura, son 8 dígitos del número de factura.
FacM_CliID ID de cliente, aquí no voy a grabar el nombre del cliente, sería una
práctica horrible muy poco profesional grabar en una cabecera de factura el nombre
del cliente y ocupar todo el espacio que ocupa un nombre, cuando puedo tener el
ID que es un número que me va a llevar a la tabla maestra de clientes y hay voy a
tener todos los datos que necesite como Nombre. Email, dirección, y eso tiene que
ver con las buenas prácticas y con las optimizaciones de tablas; es bueno aprender
las optimizaciones que necesitan las tablas
En la tabla detalles de facturas que vemos a continuación, tenemos solamente 3
campos porque esto es un ejemplo:
FacD_Id ID tabla de detalles, Primary Key y Auto-Incremental
FacD_FacMID ID que me lleva hacia mi tabla maestra.
Esto es fundamental, a que llamamos detalle de una factura, a cada uno de los
ítems, a cada uno de los productos que vendí.
Entonces en mi tabla detalle tengo que tener un ID que me apunte a mi tabla
maestra.
Este producto que se vendió en la tabla de ventas se factura, a que factura
corresponde, aquí no voy a repetir en la tabla de detalles, no voy a repetir la fecha,
el número de clientes, el número de factura, no puedo repetir los datos, no puedo
duplicar la información, es una práctica totalmente condenable y propia de amateur
de bases de datos repetir información.
Y por último tenemos:
FacD_ArtID ID de mi tabla de productos.
Nuevamente en la tabla de detalles de facturas, no voy a poner la descripción del
producto con el código, con la descripción, color, la medida, no voy a duplicar
información.
Si yo quiero saber que producto es, en base al ID que fue grabado aquí, me voy a
la tabla de productos y traigo toda la información.
Esto es básicamente un ejemplo de cómo usar ID y como optimizar bases de datos
con un breve ejemplo.
Es importante entender que aparte de la Primary Key, la fecha del campo cabecera
también conviene asignarle propiedades de índice, de clave porque es común
buscar las facturas que van de tal fecha a tal fecha, en un rango de fecha.
El Prefijo no sería importante, el número de factura habría que estudiarlo y si el ID
de cliente va a tener que ser claro, yo quiero todas las facturas del cliente número
2 y me va a ir exclusivamente a esos registros.
Imaginemos que el campo cliente no es clave, quiero todas las facturas del cliente2
del año pasado, al motor no le va a quedar otra que recorrer cada una de las facturas
del año pasado sean del cliente 2 o no, esto va a causar muchos segundos de
demora, a veces hasta minutos.
Para eso se crearon los índice, para bajar consultas que nos tomaría minutos sin
obtener una respuesta en solo milisegundos.
Estas consultas van a demorar milisegundos aun si la tabla tuviera millones de
registros, así que es muy importante el tema.
Ahora nos vamos a enfocar a partir de esta clase en lo que es optimización de
tablas.
Sección 3, Clase 7
¿Qué es MySQL?
Es un gestor de bases de datos y fue creado en el año de 1995 para ser más
exactos en el mes de mayo y a partir de ahí fue creciendo y creciendo en la
comunidad de Web máster, siendo utilizados en servidores Web y prácticamente se
hizo el más importante y famoso de los Gestores, porque tiene una versatilidad que
no tienen otros gestores gratuitos.
El hecho de que los motores gestores de contenido más importantes como
Worpress, Sunga y tantos otros lo hayan adoptado como la base principal, ha hecho
que los Web masters y luego las empresas adopten este motor de base de datos
que es increíble, puede soportar millones y millones de registros y aun así trabaja
con una versatilidad y con un tiempo de respuesta y fiabilidad enormes.
Oracle compro en el año 2010 a MySQL, hay una versión gratuita y una versión de
pago, con la versión gratuita van a poder trabajar tranquilamente incluso desarrollar
software sin ningún tipo de limitante.
Vamos a la página de Oracle y descargamos MySQL e instalamos en nuestro
equipo para empezar a trabajar.
Sección 3, Clase 8
Instalación MySQL en mi PC.
Lo que vamos a hacer en este momento es instalar MySQL., es muy simple, vamos
a abrir el navegador, abrimos la página www.mysql.com y nos va a llevar a la página
de Oracle, lo que tenemos que hacer es ir a la opción Dowloads (Descargas)
hacemos click y vamos a ver que las primeras versiones son las comerciales,
obviamente van a querer vender primero antes que regalar, así que vamos a
desplazarnos hacia abajo con el Mouse y vamos a ir al último Link Community (GPL)
Downloads », le hacemos click, vamos a ir nuevamente para abajo y vamos a ir hasta
MySQL on Windows (Installer & Tools) , si ustedes tienen repositorios de Linux, vana a
elegir la opción que ustedes necesitan inclusive en algún lugar que no hayan visto
por aquí pero se ha visto por otro lado, está el instalador de Mac, pero nosotros nos
estamos apoyando en la versión de Windows, hacemos click y vamos a hacer
nuevamente click en MySQL Installer.
Cuando quieren regalar algo la hacer difícil, por eso yo quiero mostrarles el paso a
paso. Porque si no pueden ser que terminen mareándose.
Bajamos un poquito, nos detecta que tenemos Windows, a pesar de que si tenemos
un y procesador de 64 bits, solo nos permite descargar la versión de 32 bits,
hacemos click en Downloads, nos oculta, fíjense que interesante, parece que si uno
no se loguea y no se registra no lo puede descargar, nos desplazamos un poquito
y le decimos
No thanks, just start my download. (Que no gracias, que solo queremos descargar
el MySQL), en breve segundos se descarga, estamos descargando la versión
completa de 200 Mb, si no el instalador simplemente de 16 Mb.
Abrimos nuestra descarga, confirmamos, les aclaro que durante la instalación les
pueden aparecer mensajes de error, vuelvan a intentarlo hasta que le permita la
instalación sin ningún problemas, tenemos que darle los permisos de administrador,
y el instalador va a aparecer
Sección 3, Clase 10
Instalando Heidi SQL en mi PC
Lo que vamos hacer ahora es descargar nuestro gestor de bases de datos, el
software que nos va a permitir manejar la base de datos, crear tablas, crear campos
hacer nuestras consultas SQL. Y vamos a aprender todo el lenguaje SQL utilizando
esta herramienta (Heidi SQL).
Sección 3, Clase 11
Conectando al servidor de Bases de Datos con Heidi SQL
Como quedamos en el capítulo anterior, vamos a ya a ponernos a trabajar, se acabó
tanta teoría en el aire, vamos a empezar a volcar todos los conocimientos y vamos
a aprender muchísimo a partir de ahora, como les dije vamos a ir de menor a mayor
Lo primero que vamos a hacer con nuestro Heidi SQL abierto, es conectarnos a
nuestra base de datos, la que hemos instalado, vamos a ir a donde dice nueva,
vamos a llamarlo local, ustedes pueden ponerle el nombre que quieran.
De por sí, pode default el Heidi SQL me traen esta dirección IP de Local Host, esto
significa que cuando ustedes vean esta dirección, esta está apuntando hasta
nuestra propia PC, colocar esta IP es lo mismo que colocar la palabra Local Host y
el usuario por default que trae mi base de datos siempre es root, este usuario es el
que crea automáticamente cuando ustedes instalan el MySQL, y si recuerdan en el
instalador le ha pedido la contraseña para que ustedes definan una contraseña,
ustedes van a colocar la contraseña que ya han definido y vamos a darle el botón
abrir, previamente ustedes pueden guardarlo para que ya quede guardado, ya se
ha quitad la marca de conexión nueva, esta conexión queda guardada en nuestro
software para que nosotros podamos conectarnos en todo momento, ya tiene
guardado nuestras credenciales para no volver a pedirla,
Si por un tema de seguridad, ustedes tuvieran que compartir la maquina con otras
personas y no quieren y no quieren que estas personas ingresen en su Base de
datos, pueden dar donde dice pedir credenciales y esto haría que ante cada nuevo
intento de conexión a la base de datos les va a pedir por pantalla el nombre de
usuario y contraseña, es una medida de seguridad, por supuesto si ustedes están
en una PC, en donde ustedes no comparten con nadie las conexiones y demás lo
más fácil, lo más fácil y lo más cómodo es que no pidan las credenciales y estén
grabadas, así entran directamente a la bases de Datos.
Vamos a dar abrir, y vamos a ver que nos aparece ya nuestra conexión local y todo
esto que ven ustedes con este icono son bases de Datos, hay bases de datos que
son del sistema, que son propias del motor como information_schema, son propias
del sistema y tienen toda la información de la Base de Datos que ustedes crean.
Information_schema.. Esta base de datos es muy usada en programación, cuando
desde programación queremos sondear cuantas tablas hay creadas, como son los
campos, que nombres de campos, es para lo único que se usa esta base de datos.
Luego tiene una base de datos (MySQL) por default creada, que tiene una serie de
seteos propios de MySQL.
Perfomance_schema- después tiene otra tabla también perfomance que más
tiene que ver con una serie de tablas que nos sirven para reportes del uso de la
base de datos, generalmente todo esto que se está mencionando no van a tener
que usarse, si simplemente lo que quieren hacer es crear una base de datos, grabar
información y luego recuperarla, esto es algo ya más avanzado para gente de
sistemas que quieren hacer un desarrollo especial que tenga que ver con
desconocerla base de datos en a que me estoy conectando y poder desde
programación capturar la información de las tablas, los campos y demás. No vamos
a hacer uso de esto día a día.
Sys- Luego hay una base también adicional que es sys de sistemas y tampoco la
vamos a usar.
Y últimamente en las nuevas instalación tanto de Heidi sql como de MySQL, están
viniendo 2 bases de datos de ejemplo esto es algo muy nuevo, les diría que hasta
hace unos meses atrás no estaba, es una base de datos llamada:
Shakila - es una base de datos que tiene que ver con entretenimiento y mucha
información, son base de datos de muestra que vienen para que ustedes las
recorran.
Las base de datos llamada:
World que es una base de datos con nombres de países y ciudades y cierta
información, son base de datos que les van a servir para hacer prácticas, para
insertar registros, para realizar consultas SQL, pero nosotros en el curso vamos a
tener nuestra propia base de datos.
Ya nos hemos conectado a nuestra base de datos local, ustedes lo deben estar
viendo por sus propios medios también, me gustaría que a medida que yo vaya
haciendo cosas, ustedes las puedan replicar en sus PC.
Sección 3, Clase 12
Creando nuestra primera Base de Datos
Sección 3, Clase 13
Sección 3, Clase 14
Sección 3, Clase 15
Sección 3, Clase 16
Sección 3, Clase 17
Sección 4
NORMALIZACION DE BASE DE DATOS
Sección 4, Clase 20
Empezaremos a ver el tema de:
OPTIMIZACION DE BASES DE DATOS
Vamos a hablar de:
Como deberíamos crear nuestras tablas.
Nuestros campos.
Que reglas respetar para ganar en optimización y en performance.
Cuáles son las malas prácticas y errores.
Cuáles son las buenas prácticas, han creadas luego de décadas de trabajo
con bases de datos por miles de expertos.
Existe algo llamado las 3 formas normales, es como el ABC, lo primero que tendría
que aprender todo estudiante de bases de datos para no cometer errores.
Y da cuenta de una serie de reglas extremadamente importantes que se debe
cumplir al diseñar nuestras bases de datos y nuestras tablas y sus campos.
La primera forma Normal
Primer Forma Normal: Dice “No se deben repetir datos en una tabla”,
Nos referimos al famoso Maestro y detalle (Tabla Maestra, tabla de detalle)
Ejemplo, vamos a empezar con una tabla que está muy mal hecha, fijémonos en
esta tabla, se le ha puesto el nombre de ventas mal para que nos demos cuenta.
Tenemos una tabla de ventas, esta tabla de ventas me está mezclando cabecera
con detalle, tiene muchos errores, y si hablamos de la primera forma normal vemos
que estamos repitiendo información para una misma venta:
1. El número de factura lo estoy repitiendo Muchas veces.
2. El nombre del cliente lo estoy repitiendo muchas veces.
3. Y como lo verán está muy mal incluir en una tabla de ventas el nombre del
cliente ya habíamos hablado esto, el nombre del producto.
4. Y estamos repitiendo datos, la fecha de la factura va a ser la misma para
todos sus ítems, si tengo una factura donde vendí 10 productos diferentes,
no puedo repetir 10 veces la fecha.
Para eso se ha separado de acuerdo a la primera forma normal la factura de la
cabecera y el detalle de factura, así que vamos a ver por ejemplo como se puede
mejorar esta tabla, vamos a hacer una mejora pero no quiero extenderme mucho
porque estaría pisando la segunda forma normal, lo vamos a ver y lo vamos a
continuar la siguiente clase.
Vemos que tenemos menos campos, porque son los campos que se van a repetir y
yo no tengo que repetir, aquí en definitiva tengo 2 facturas: la factura 150 y la factura
152, como son 2 facturas diferentes puede ser que la fecha coincida, no hay ningún
problema, puede ser que la fecha se repita y puede ser que yo tenga una factura
hecha como al cliente número 15 y que tenga una próxima factura con el cliente
número 15, no hay nada de malo que aquí la información se repita porque está
apuntando a 2 operaciones diferentes.
Ahora vamos a ver nuestra tabla de ventasdet (De detalle):
Y a su vez en cabecera:
Tenemos la fecha como índice, no porque apunte a ninguna tabla, sino porque lo
quiero poner como índice porque cuando quiera atraerme en una consulta todas las
facturas que el mes de enero me va a dejar el índice hacerlo rápidamente sin tener
en cuenta millones de registros que no tienen que ver con el mes de enero, por eso
fueron creados los índices.
Y también tengo el ID de mi cliente para que vaya a la tabla maestra de cliente, para
unir la cabecera de factura con la tabla clientes, el día que yo quiera hacer una
consulta de mi venta pero que quiero que me traiga el nombre del cliente, voy a unir
ambas tablas y voy a decirle, bueno, vamos a unir la tabla cabecera con la tabla
clientes y el punto de unión es el campo CliID, las va a unir perfectamente, las va a
machar y me va a traer todas las columnas y los campos que yo necesite tanto de
la tabla de cabecera como de la tabla cliente.
Esto es la primera forma Normal
Sección 4, Clase 21
La segunda forma Normal
Segunda Forma Normal: Dice “Cada campo, cada columna de la tabla debe
depender de la clave principal”.
Esto significa que nuestra tabla cabecera debe tener campos que solamente tengan
que ver con la cabecera, esos campos tienen que depender de la clave principal,
del ID autoincremental de la cabecera, no tenemos que poner ahí cantidades de
productos, no tenemos que poner productos, porque estamos hablando de la
cabecera de una factura.
Del mismo modo y esto está más orientado al Detalle que a la cabecera o al
maestro, del mismo modo en el detalle no tengo que repetir, ni incluir ningún dato,
ningún campo, ninguna columna que tenga que ver con otra cosa que no sea el
detalle de producto.
Del mismo modo no vamos a incluir en la tabla clientes registros o campos que
tengan que ver con otra tabla, solamente vamos a incluir campos específicos,
optimizados en cuanto a su tipo de dato que tengan que ver con el ID de la tabla
principal.
Esto es muy importante, este es el famoso fecha de factura en el detalle, el famoso
número de factura, eso es lo que estaba mal, eso fue lo que se le cambio en el
ejemplo y esos es lo que se ve a continuación en la tabla de cabecera.
Así que lo que se ha hecho en el ejemplo anterior es optimizar la tabla de acuerdo
a la primera y a la segunda forma Normal de bases de satos
Sección 4, Clase 22
La tercera forma Normal
Tercera Forma Normal: Dice “No puede haber datos derivados”.
¿Que son los datos derivados?
Cuando nosotros tenemos en una tabla un campo identity, un campo ID, que apunta
hacia otra tabla,
Sección 4, Clase 23
Buenas practicas – más tablas – menos columnas
Sección 4, Clase 24
Buenas practicas – más registros – menos columnas
Sección 4, Clase 25
Buenas practicas – usar valores Default
Sección 4, Clase 26
Usar campos de estado
Sección 4, Clase 27
Buenas Prácticas - Use Índices para cada campo Significativo
Sección 4, Clase 28
Buenas prácticas - Tablas Resumen
Sección: 5
Lenguaje SQL
Sección 5, Clase 29
Introducción al Lenguaje de Bases de Datos
Hola qué tal, bienvenidos a esta nueva sección del curso completo de base de
datos, y llegamos finalmente a la sección del lenguaje SQL, el lenguaje de base de
datos, un lenguaje que va a permitir que ustedes logren cualquier tipo de consulta,
cualquier tipo de operación sobre su base de datos y fue creado precisamente para
poder interactuar con las bases de datos de manera ágil, versátil, y muy muy
velozmente.
Sección 5, Clase 30
Consultar nuestras tablas (Sentencia SELECT)
Hola, bienvenidos a este nuevo capítulo del curso completo de base de datos y
vamos a comenzar a partir de ahora a conocer el lenguaje SQL.
Vamos a comenzar con la instrucción madre del lenguaje SQL, la más importante
quizás, la que hace que tenga sentido el lenguaje SQL qué es nuestra instrucción
SELECT.
La instrucción SELECT es la instrucción que se usa para consultar la base de
datos y si nos guiamos por el inglés, ya que todo el mundo dice que el lenguaje SQL
es como hablar en inglés, el lenguaje nos dice que esta instrucción lo que hace es
seleccionar los datos que vamos a obtener en pantalla o en archivos o en lo que
nosotros necesitemos.
Vamos a ver un poquito de su sintaxis:
Vamos a tomar nuestra primer tabla que es la tabla clientes que es la más sencilla,
tenemos un ID de cliente, y un nombre:
Y lo voy a ejecutar recuerden que para ejecutar o dar F 9 o hacen clic en el botoncito
de reproducir, automáticamente me trae todos los registros de la tabla clientes.
SELECT qué campos quiero tomar, Luego viene la cláusula FROM de donde los
quiero tomar y luego vamos a ver la clase que viene como empieza a tomar forma
nuestra sentencia SELECT para hacer cosas más complejas porque es muy
probable que ustedes no quieran obtener todos los campos o todos los registros de
nuestra tabla.
Con respecto a los campos, es una mala práctica, es algo no aconsejable el uso del
asterisco (*) porque si ustedes tuvieran una tabla con 30 campos y solamente lo
que quieren consultar es el número de CUIT, o el número de teléfono, o el email de
un cliente no tiene sentido forzar al motor para que nos traiga todos los campos,
todas las columnas porque están digamos, generando un un Izu de performance le
dice así en sistemas porque están haciendo que el procesador trabaje más de lo
que debe trabajar, están generando más tráfico en la red, Imaginen que pueden
tener un servidor en un servidor web, en un recurso compartido en la web y en la
web Todo lo que tiene que ver con transferencia de archivos o de datos tiene su
costo en tiempo y en procesador, entonces no tiene sentido pedirle que me traiga
todos los campos; es lo más fácil es lo más cómodo sí, pero no es lo que debe hacer
un profesional.
Entonces si yo solamente quiero la razón social coloco, que me traiga solamente la
razón social:
SELECT Cli_RazonSocial FROM Clientes
Sección 5, Clase 31
Clausula WHERE
Hola bienvenidos a este nuevo capítulo del curso completo de base de datos y
seguimos con el lenguaje SQL, seguimos con nuestra instrucción SELECT y vamos
a ver a la madre de todas las cláusulas, una cláusula de la sentencia SELECT, que
si no existiera no tendría sentido nada del lenguaje de base de datos, nos referimos
a la cláusula WHERE, la cláusula WHERE es la que nos va a permitir filtrar
nuestros datos de consulta.
Vamos a ver cómo funciona:
SELECT Cli_Id FROM Clientes
CLI aided sea mayor a 20 a 10 perdón fíjense cómo ahora sólo me ha traído los
Eiriz mayores
a 10.
No es condición necesaria que la cláusula Wear haga mención a un campo que
nosotros tenemos en la lista
de valores podríamos vamos a verlo en otra tabla o en esta misma.
Vamos a ver cómo nosotros podemos usar aquí un campo en nuestra cláusula
Wear que no ha sido incluido
en nuestra lista de campos por ejemplo que razón social sea mayor a la letra no
tiene mucho sentido
esto pero es para mostrar nos trae todos porque porque todos tienen al menos un
texto más complejo que
una simple letra.
Esto es para simplemente no tiene sentido la consulta pero es para que ustedes
vean como yo tengo independencia
en mi cláusula wear con respecto a mi lista de campos a mostrar no hace falta
incluirlo yo puedo aquí
vamos a tomar otra tabla la tabla productos por ejemplo vamos a borrar nuestra
consulta y vamos a decirle
que traiga
la columna descripción creo que se llamaba así.
Vamos a ver si Prot descripción que me traiga todas las descripciones de
productos de la Tabla Productos
donde por ejemplo nuestro precio sea mayor a cero y me trae todos los productos.
Todas las descripciones de los productos vamos a ver los datos.
Fíjense que hay una columna de.
No todos tienen precio.
Solo algunos tienen precio.
Por ejemplo este Energizer a 27.
Vamos a buscarlo para ver que es cierto
vamos a ordenarme permite hacer esto el G10 se huele.
Hago click en la columna y me ordenan los datos.
Vamos rápidamente a buscar Energizer a 27.
Se dan cuenta.
Esto es muy potente y vamos a ver que no queda ahí la cosa porque qué pasa si
vamos a agregar un par
de campos más pero Deivid
precio vamos a ejecutarlo.
Aquí tenemos para que ustedes puedan ver que el precio no he mentido.
Solamente me trae los productos que tienen precio mayor a cero.
Ahora supongamos que nosotros queremos hacer una consulta compuesta no
solo por una condición si no
que tenemos varias condiciones.
Entonces nosotros queremos vamos a la vez sólo para este caso voy a poner un
asterisco.
Vamos a ver todos los campos
ok.
Vamos a hacer así el G10 se cuela me permite no hace falta que esté todo en una
sola línea en el Jaydy
ese vuelo lo va a interpretar bien y lo va a ejecutar sin problemas.
Ahora yo quiero algo más complejo quiero que me traiga todos los productos cuyo
precio sea mayor a cero
que tengan estátus cero
y cómo uno de esos dos.
Esas dos condiciones.
Nosotros vamos a usar los operadores lógicos and y or si nosotros tenemos que la
condición es que tiene
que ser mayor a cero y además tiene que tener un estatus de cero.
Vamos a tener que usare Landa
esto sería traeme todos los campos de quién.
De productos Werdum donde donde el precio sea mayor a cero y el campo
produce Status
Estatus sea igual a cero.
Lo ejecutamos y fíjense en milisegundos como me trajo sin que sean estamos ojo
que estamos haciendo
consultas de dos campos que no tienen nada que ver con los índices no son
índices y me los ha traído
sin ningún problema y no es que tenemos dos registros tenemos 7200 registros.
Fíjense lo veloz que opera este motor de base de datos.
Bueno aquí tenemos ya nuestros productos filtrados con estátus cero y el precio
pero vamos a hacerlo
más complejo todavía y para eso vamos a tener que usar los paréntesis porque
recuérdense en las ecuaciones
matemáticas cuando nosotros creemos que primero evalué una condición la
metemos entre paréntesis y le
va a dar prioridad.
Yo quiero que me traiga los productos que tengan precio mayor a cero y que me
traigan los productos
cuyo estatus sea igual a cero o los productos cuyo estatus sea igual a uno y el
proveedor
sea igual.
Me la voy a jugar diciendo No sé si esto va a qué es lo que va a hacer esto eso la
consulta quiere que
traigamos sí o sí los precios que sean mayor a cero eso no se negocia y además
que lo filtre por los
productos cuyo estatus sea igual a cero o que no sea igual a cero que sea igual a
uno pero que pertenezcan
al proveedor 97 una cosa o la otra.
Vamos a ejecutar nos perdones Prov hoy día no es Prov tiene razón me
equivoqué.
Ahí está bueno.
Fíjense cumplió las dos condiciones solamente cuando encontró que el estatus
era uno se aseguró que
el proveedor sea 97.
No me trajo el estatus el estatus uno de otro proveedor no me trajo el estatus uno
del proveedor 41
o del 110 solamente incluyo los productos de estratos 1 cuando el proveedor era
97 para el resto solamente
me trajo de cualquier proveedor pero el estatus tiene que ser cero.
Se entiende esto.
Esto no tiene límites.
Podrían escribir una cláusula Wer del tamaño de un libro agregándole condiciones
parentesis y que cuál
es la idea.
Cuál es la idea del lenguaje se cuelen si la idea del lenguaje se cuele es que
ustedes con una sola
escritura de una sentencia sea simple o compleja puedan obtener el cien por cien
de la información que
necesitan.
No tengan que sobre esa información volver a filtrar nuevamente.
La idea es que con un solo disparo ya tengan todo lo que necesiten les envían
todo esto al motor el
motor lo resuelve a un muy bajo nivel.
Estamos hablando de código máquina y les devuelven los registros que ustedes
necesitan sea cual sea
la unión de tablas las condiciones lo quiero ordenado los quiero agrupados vamos
todo eso lo vamos a
ir aprendiendo a lo largo de estas clases.
Pero fíjense qué potente que es la cláusula Wear no sólo funciona con datos
numéricos.
Vamos a ver luego todos los todos los chiches que nos da el lenguaje SQL para
trabajar con descripciones
con nombres con fechas y a ver si tenemos alguna con fecha.
Quiero que ustedes vean bueno aquí tenemos vamos a colocar todas las
columnas tenemos una tabla que
nuestra tabla ventas donde manejamos fechas.
Vamos a hacer un pequeño ejercicio vamos a vamos a traer de nuestra tabla
ventas por ejemplo nos interesa
la fecha no sé si está así escrito sin ventas y bajo fecha ventas el número de
cliente y vamos a colocar
un campo más que es el total
from Verduga vamos a probar que esto funciona funciona perfecto me traen mis
tres campos.
Todavía no tengo claúsula Wear y ahora vamos a colocar una cláusula Wear
donde yo quiero
los registros de venta de la fecha que sea superior.
Vamos a ver qué fechas tenemos al 3 de enero ok y vamos a poner ventas fecha
cuando sea mayor las fechas
van con comilla simple siempre en mi ciclo las fechas van con comilla simple y van
con el año Hyon el
mes y en el día siempre Este es el formato de fecha de mi ciclo lo tienen que
aprender porque no va
ni él ni el día barra al mes barre el año no se los va a rebotar.
Este es el único formato posible de fecha cuando el ejecuto fijense me filtró a partir
del 4 en adelante
y yo podría hacerlo más compuesta yo puedo decirle que la fecha sea mayor a
tres y la ventas fecha.
Vuelvo a repetir el campo no hay problema sea menor a pero al día 10
fíjense día 4 5 6 8 9 y se terminó la historia.
Y a esto que me trae le podría agregar otras cosas.
Por ejemplo y además de eso que el cliente
sea distinto de uno el mayor y el menor es lo que usamos para indicar que un
valor sea diferente.
Nuestro cliente 1 es consumidor final ya lo conocemos no necesitamos las ventas
de los consumidores
finales queremos las ventas de los clientes que tienen un Eiriz registrado y una
ficha de cliente para
poder cobrarles para poder llamarlos para poder hacer lo que nosotros queramos
lo ejecutamos y fíjense
que mi campo ventas Clea y Dib ya no es uno me ha filtrado y me sigue filtrando y
yo ahora quiero además
de esto y le doy Enter.
Que me traiga no solo las ventas entre el día 4 y 9 de enero y de mis clientes que
no sean consumidor
final sino que también quiero saber solamente las ventas que superen los 1000
pesos o mil dólares o
en qué esté expresado la moneda de acuerdo a cómo Uds. la han interpretado
simplemente mayor a mil
fijense es un pestañear es algo que no es algo buenísimo es algo con lo que van a
trabajar y se van
a encantar y tengo 54 registros Fíjense aquí me dice tres columnas 54 registros y
yo lo podría ir todavía
complejizando más pero esto jueguen ustedes.
Les pido que empiecen a usar CL fueron Wer con los con los operadores aun y
con las tablas que tienen
empiecen a practicar porque esto se va a ir a complejizando y tenemos que ir
afianzando conocimientos.
Por supuesto también pueden preguntarme sin ningún problema fíjense estos 54
registros ahora y cuántos
registros tenemos una ventas Thaçi 7200 registros de ventas 7200 registros de
venta.
Vamos a limpiar nuestro filtro.
Fíjense la rapidez de esto con la rapidez con la que ha hecho esto 7200 registros
de ventas y es un
pestañear y ya la consulta cuando lo hago por segunda vez como ya lo había
hecho me demora nada.
Vamos a ver cuánto demoró la anterior.
Vamos a agrandará un poquito esto.
La anterior de 54 registros me tardó 15 milisegundos pero no tardó 15
milisegundos en mostrarme 54 registros
tardó 15 milisegundos en recorrer 7200 registros y filtrar solamente por los que yo
necesitaba.
Fíjense lo potente que es esto así que vamos a continuar en la clase que viene
mucho más metiéndonos
en el mundo de la sentencia C.L y vamos a ver cómo se va enriqueciendo con
operadores con cláusulas
y con condiciones que vamos a ir metiendo en nuestra gran estrella sentencia del
lenguaje se cuele nos
vemos en la clase que viene.
Sección 5, Clase 32
Unión de Tablas con la cláusula WHERE
Sección 5, Clase 33
Clausula Order By
Sección 5, Clase 34
Funciones Sum() Count() Max() AVG() min()
Sección 5, Clase 35
Clausula Group By
Me permite segmentar la información y en base a cada segmento voy a poder sumar
Sección 5, Clase 36
Clausula IN / NOT IN
Para que una consulta Select, se convierta en Subconsultas deben pasar 3 cosas:
Sección 5, Clase 37
Clausula BETWEEN
Nos va a dar valores entre un rango de fechas, de valores, de números de string de lo
que ustedes quieran.
SELECT Ventas_Fecha, Ventas_CliId, Ventas_total
FROM ventas
WHERE Ventas_CliId BETWEEN 2 AND 100
Sección 5, Clase 38
Clausula LIKE
Sección 5, Clase 39
Clausula INNER JOIN (Unión de Tablas)
Sección 5, Clase 41
Funciones básicas en MySQL
Sección 5, Clase 42
Instrucción INSERT (adicionando datos a nuestras tablas)
Nos espera tres comandos, tres instrucciones que tienen una misión muy definida
cada uno.
Vamos a achicar esto un poquito el único dato que vamos a ingresar es nombre por
qué.
Nosotros no tenemos que moverle ningún valor así que vamos a empezar de lo más
sencillo a lo más complejo:
y lo que va después del paréntesis es la lista de los campos en los que vamos a
insertar valores.
Por qué.
Si tuviera más campos para insertar los separo por comas dentro del paréntesis.
Pero ya lo vamos a ver en otro ejemplo luego va una cláusula llamada VALUES
inmediatamente abro otro paréntesis para indicar los valores ok.
Un ejemplo ejecutamos perfecto no nos dio ningún error aquí abajo no nos dice que
hay una fila afectada y que duró.
Fíjense que las inserciones duran más tardan más en hacerse que los.
La sentencia C.L.
Esto es porque al haber índices tiene que armar la tabla de índices y tiene que armar
la tabla de datos.
Vamos a nuestros datos y tenemos ya nuestro quinto registro que es Pedro Narvaja.
Fíjense qué fácil.
Ustedes sólo tienen que aprenderse esta estructura INSERT INTO la tabla.
Los campos encerrados entre paréntesis valioso y los datos vamos a ver ahora algo
más complejo pero no complejo porque cambie sino porque va a hacer más campos
porque van a ver que es muy fácil.
Tenemos la Tabla Productos ahora todos mis todos mis campos de la tabla
productos tienen un valor predeterminado.
Esto significa que yo podría obviar todos y hacer simplemente un insert de la Tabla
Productos pero le vamos a colocar al menos una descripción para que vean el
registro si no no van a ver nada.
Vamos a cambiar aquí y aquí le vamos a poner una descripción no sé mesa y cuatro
sillas insertamos.
Yo tenía solo un campo para ingresar valores en productos tengo muchos campos
pero sin embargo aproveché los logos los datos predeterminados y lo que hice fue
alivianar mi sentencia y solamente ingresar la descripción.
Fíjense que ya me dio un número de producto una idea de producto una descripción
en color tiene un valor por defecto de nada de un espacio me puso un estatus 1
porque es mi valor por defecto.
Aquí lo tenemos.
Vamos a darle ejecutar aquí nuevamente fíjense que ahora tardó unas décimas
unas centésimas de segundo o más.
Si tuviéramos que ingresar algún algún dato de tipo numérico el orden en que yo
ponga los campos no importa no interfiere.
No importa que si en la tabla la descripción está antes del color yo puedo cambiar
aquí y poner el orden que a mí me guste y le voy a poner un precio de 100 komas
7.50.
Lo voy a ejecutar vamos a ir a nuestra tabla voy a recargar y voy a tener otra mesa
de color blanco por 100 con 50 y aquí me lo muestra con comas.
Pero no importa no importa con qué me lo muestra me lo muestra con Koma porque
para mi Windows el separador decimales la coma pero para cuando ustedes tengan
que grabar instrucciones o hacer una actualización de tablas van a tener que usar
el punto decimal.
Bueno esto es esto es todo el misterio de la sentencia.
Como verán tiene mucho más complejidad la sentencia Cele porque es mucho más
completa tiene muchas cláusulas tiene mucha mucha vuelta y recuerden que con
una sola sentencia INSERT ustedes podrían traer un conjunto de datos y con
funciones en el medio bastante grande.
Pero la sentencia INSERT es tan simple como esto ustedes van a ver quizás en
algunos ejemplos en Internet van a ver cosas así sin los campos en este caso si yo
ejecutara esto ahora daría un error porque para obviar la lista de campos es
necesario que los valores sí estén ordenados y no me salté ningún campo si estén
ordenados de acuerdo a cómo fueron creados en la tabla en este caso yo voy a
tener que incluye primero la descripción después el color después el estatus.
Aquí no cuenta y esto es muy importante aquí no cuenta los valores por defecto si
yo no coloco la lista de campos estoy obligado a insertar la totalidad de los campos
de la tabla.
Realmente no sé ni por qué ponen el ejemplo en internet quizás para tablas que
tengan dos campos para no tener que mencionarlos y yo ya sé que en un campo va
un dato numérico y en el otro una string y se hace mucho más rápido pero en tablas
maestras de cierta importancia.
Es necesario que ustedes coloquen antes del valioso la lista de los campos así que
bueno esto ha sido todo honesta en este capítulo en la clase insert hagan prácticas
practiquen insertar registros en cada una de las tablas en cada una de las tablas
que tienen en el curso vayan a la solapa de datos refresquen y vean qué fue lo que
hizo.
Sección 5, Clase 44
Instrucción DELETE (Borrando registros en la Base de Datos)
Sección 6, Clase 45
Ejercicios SELECT para una sola Tabla