epelpad

Aprende a crear una base de datos y SQL [Practica2]


En este post haremos una base de datos un poco mas compleja con mas tablas y esta vez si les dejare actividades para que practiquen con sus respuestas si tiene una duda manden un MP que no tengo problema en contestarles.


Abrimos el Panel de Control...

Presionen Start en Apache y MySQL... 
aprende


Les aparecera en Verde eso significa que esta activo... 
sql


Ahora vamos a presionar ADMIN en MySQL... 
MySQL


Se les abrirá el navegador y les aparecerá esto... 

otra manera para ingresar a este lugar es... 

http://localhost/phpmyadmin/ 
practica


Bueno en teoría si están en la practica 2 ya tienen que saber como ingresar si hago una practica 3 no les mostrare como ingresar iremos directamente a como crear las siguientes tablas...


PERSONAS(pk_persona,fk_barrio, fk_ciudad, nombre, apellido, dni, )

BARRIOS (pk_barrio, barrio)

CIUDADES(pk_ciudad, ciudad)

PRODUCTOS(pk_producto,nombre,stock,precio)

VENTAS(pk_venta, fk_persona, fecha)

VENTAS_DETALLE(pk_vxd, fk_venta, fk_producto, cantidad, importe)


Pero antes de comenzar me gustaría explicarles como crear ya que no es igual que la tabla anterior.

Acá hay mas de una tabla y están conectadas por las claves foráneas o secundaria.



Si yo creo la tabla PERSONAS y luego creo la tabla BARRIOS en la tabla PERSONAS no me va a reconocer la clave foránea de BARRIOS...



Si desean créenlo en el orden que deseen pero cuando lleguemos a un paso importante para conectar las tablas no podremos hacerlo.



Ahora bien el orden que yo propongo es el siguiente.


BARRIOS (pk_barrio, barrio)

CIUDADES(pk_ciudad, ciudad)

PRODUCTOS(pk_producto,nombre,stock,precio)

PERSONAS(pk_persona,fk_barrio, fk_ciudad, nombre, apellido, dni, )

VENTAS(pk_venta, fk_persona, fecha)

VENTAS_DETALLE(pk_vxd, fk_venta, fk_producto, cantidad, importe)


Como ven primero creo las tablas que tengan solo las claves primarias y luego voy por las que tengan clave foránea pero que la tabla de la clave foránea ya este creada.



(Para los que sepan otra manera de crear la tabla por favor comenten)



Bueno creo que no se necesita mucha explicación para crear las primeras tablas que no tengan clave foránea pero les mostrare como deben quedar.



BARRIOS
Base de Datos

crear base de datos

Aprende a crear una base de datos y SQL [Practica2]


CIUDADES
aprende

sql

MySQL



PRODUCTOS

practica

Base de Datos

crear base de datos


Ahora bien a partir de acá explicare algo diferente para las siguientes 3 tablas.

PERSONAS...VENTAS...VENTAS_DETALLE



PERSONAS

Creamos la tabla...
Aprende a crear una base de datos y SQL [Practica2]



Ahora en los FK ponemos INDEX nos permite relacionas las PK con las FK.

aprende


Les va aparecer esta ventana y donde dice Nombre del Indice ponemos el nombre de la PK que seria en mi caso pk_barrio presionamos continuar y nos quedara relacionado.
sql


En fk_ciudad es lo mismo... Ponemos INDEX... les aparecerá esto...
MySQL


Seleccionen Crear indice de una sola columna... y les aparecerá la misma ventana que en fk_barrio.

En el primer casillero ponemos el nombre de la PK que en mi caso seria pk_ciudad.
practica


Cuando completamos todos los campos nos quedara algo así... Como ven en las flechas aparece el PK de la otra tabla... Si nosotros creamos primero esta tabla no podremos hacer esta relación.
Base de Datos


Como se ve en la imagen la llave amarilla es la PK y las llaves grises son las FK. Si no les aparece es porque algo se equivocaron y no se preocupen se vuelve hacer.
crear base de datos


Ahora vamos con las otras 2 tablas que nos quedan.

VENTAS
Aprende a crear una base de datos y SQL [Practica2]

aprende

sql


VENTAS_DETALLE
MySQL

practica

Base de Datos


Bueno ahora tenemos todas las tablas creadas...
crear base de datos


Dentro de la base de datos... NO dentro de la tabla... vamos a MAS... y seleccionamos DISEÑADOR...
Aprende a crear una base de datos y SQL [Practica2]


Nos aparecerá esto...
aprende


Como ven ahí están las tablas pero todavía no están conectadas o mejor dicho relacionados si tienen las claves pero hace falta relacionarlas.

A la derecha deslizamos el cursor por encima y nos aparecerán las herramientas y seleccionamos CREAR RELACIÓN...
sql


Primero nos pide que seleccionemos la clave PK y luego nos pedirá la clave FK.

Seleccionare la pk_ciudad y luego la fk_ciudad...
MySQL

practica


Al seleccionar la fk_ciudad nos aparecerá una ventana preguntando si desean crear relación presionen OK.
Base de Datos


Como ven les aparece una linea desde pk_ciudad hasta fk_ciudad...
crear base de datos


Haremos lo mismo con las demás claves recuerden primero la PK y luego la FK...

ahí cree la relación entre pk_barrio y fk_barrio...
Aprende a crear una base de datos y SQL [Practica2]


Ahi aparece pk_persona y fk_persona...
aprende


pk_producto y fk_producto...
sql


y por ultimo pk_venta y fk_venta... bien creo que no me falto ninguna...
MySQL


Como ven ahora las tablas están relacionadas. 

Lo hago así para que vean aparte es bastante visual.
practica


Aunque ahora falta realizar las relaciones internas...

En la pestaña Estructura nos vamos a Vista de relaciones...

y nos encontramos con esta pantalla. En relaciones internas es necesario que seleccione la tabla y la PK...
Base de Datos

crear base de datos


Al seleccionar la tabla de donde viene la clave foránea.

Nos aparece automáticamente la PK de la clave foránea.
Aprende a crear una base de datos y SQL [Practica2]


y presionamos guardar tendremos guardada esa relación.

Ahora hace falta hacer lo mismo con las otras tablas que contengan FK.
aprende

sql


También les recomiendo en la parte de abajo dice Restricciones de clave foránea siempre colocar CASCADE... Esto nos permite por ejemplo editar un valor y afectara a todos los demás.

Esto háganlo en todas las tablas que tengan clave foranea afectaría a...

PERSONAS...VENTAS...VENTAS_DETALLE...
MySQL


Les quedaría así entonces...

PERSONAS...
practica
VENTAS...
Base de Datos
VENTAS_DETALLE
crear base de datos


Ahora bien les pido que ingresen 5 registros para cada tabla.

Como ya mostré en mi anterior post lo podes ingresar desde la pestaña insertar...
Aprende a crear una base de datos y SQL [Practica2]

aprende


o desde SQL
sql

MySQL

practica



Base de Datos



crear base de datos



Aprende a crear una base de datos y SQL [Practica2]



aprende



sql



MySQL


Bueno ahora que están cargados los registros podremos realizar consultas.
practica


Les dejo las actividades para esta base de datos...
Base de Datos


TEORIA
crear base de datos



Aprende a crear una base de datos y SQL [Practica2]



aprende



sqlMySQLpractica


Exportar e Importar en MySQL
Base de Datos



crear base de datos


Les dejo mas actividades para que puedan practicar...


Aprende a crear una base de datos y SQL [Practica2]



aprende



sql


Les dejo mas teoría para que puedan aprender mas sobre SQL.



MySQL


Espero que les haya gustado cualquier cosa un MP o comentario.



practica

@22matutex22
Si les gusto comenten y seguime

Aprende a Programar 



SlimeFlight
Base de Datos

crear base de datos

46 comentarios - Aprende a crear una base de datos y SQL [Practica2]

GoNxII +1
Buen aporte matu
22matutex22
ea ea gracias :3
bryxxz +3
Lo divertido es que donde estudio me están pasando esto mismo
Buen post van +10
22matutex22 +1
@bryxxz jajajajaja te leo la mente el próximo post sera subconsultas
muchas gracias
Saludos :3
DuendeFenix +3
buen post, para los craperos que ahora quieren hacer inteligencia colectiva...
22matutex22
@DuendeFenix jajajaja vos buscas bardo lo olfateo
Gracias por pasarte :3 :*
muycontento +1
fascinante , unico , DISTINTOOOOO PIBEEEE
muycontento +1
@22matutex22 obvio , leo todos estos post . justo hoy mi jefe me dice q le baje un paquete de caños de 7/8 de hierro galvanizado , a lo q le respondo " alt 6 4 " y puede resolverlo todo

ha
22matutex22 +1
@muycontento jajajajaja te vas al carajo
muycontento +1
@22matutex22

_ el sambuche vegatariano , son 35 pesos amigo
_alt f4
_gracias
_no , a vos , besos
Lincelin +1
gracias por la info
22matutex22
@Lincelin ea ea muchas gracias lincelin me encanto tu nombre :3
Saludos
deadtuff97 +1
Muy buen aporte capo
22matutex22 +1
@deadtuff97 Muchísimas gracias te mando un abrazo :3
inmichin +1
Que buena info, siempre quise aprender base de datos capo totaL!, van puntines! vbasura!
22matutex22
@inmichin muchas gracias y si le metes sale sólito
Saludos
gerrr0 +1
Muy bueno che
22matutex22
@gerrr0 Ea mucha gracias por pasarte
Saludos
robert_rosita666 +2
select * from pedazos where largo >= 20 AND ancho >= 10;
22matutex22 +1
@robert_rosita666 que clase de base de datos tenes hecha en tu hermosa y retorcida mente

Gracias por pasarte
Carl1to5 +2
baia baia un 100tifiko
22matutex22 +1
@Carl1to5 pensé que no escucharía mas esa monstruosidad D:

gracias por pasarte
Marshall011 +1
lo guardo en favoritos despues veo si me sirve algo, generalmente uso SQLyog
22matutex22 +1
@Marshall011 Ea muchas gracias por pasarte a lo mejor te sirve las actividades y la teoría
Saludos
Santiagoparini +1
Podés subir un post de configuración de apache? Serías el más groso
22matutex22
@Santiagoparini mmmm no lo tenia pensado pero no esta mal la idea
Gracias por pasarte
paola2000 +2
y eso para que cirve?
22matutex22 +1
@paola2000 La verdad que esto sirve de practica para diseñar la base de datos, crearla y poder realizar consultas.

La mayor parte de los software donde manejan datos están hechos en una base de datos.
Para el desarrollo de un software donde quieres cargar datos del cliente, chofer y otra información se utiliza las base de datos .
paola2000 +1
22matutex22 +1
@paola2000 Muchas gracias y por pasarte
un saludo
Prophet- +2
No tengo ni idea que es pero comparto por si a alguno le interesa
22matutex22
@Prophet- Muchas gracias antes yo tampoco no tenia ni idea
cervezeroquilmes +2
esto tiene algo que ver con un data warehouse?
22matutex22 +1
@tatianampuero interesante esto comúnmente lo tendría una empresa muy grande no? por ejemplo mmmm coca cola?
tatianampuero +1
@22matutex22 exacto o sin ir mas lejos las preferencias que te salen a un costado de facebook (aunque ocupen otro tipo de base de datos orientada mas a objetos y a guardar videos,imagenes ,link,etc)
22matutex22 +1
@tatianampuero Genial muchas gracias ahora tengo una idea
mmmmm lo del costado de facebook lo tengo bloqueado siempre me publican cada boludes xD
ten_agnirat +1
weeeena compañero, gracias
22matutex22 +1
@ten_agnirat gracias a vos loco por pasarte y por la buena onda :3
cllvll4lf +1
Gracias hace no mucho aprendi algo
22matutex22 +1
@cllvll4lf para algo sirve siempre

Gracias a vos por pasarte un saludo
Luka-01 +1
Sale denuncia, no hay drama no?
22matutex22 +1
@Luka-01 para nada papu agradezco por la denuncia y por pasarte
Schweitzer_ +1
muy bueno ¿das certificado? gracias
22matutex22 +1
@Schweitzer_ Fíjate bien y pensalo antes de pagar por un certificado aparte para conseguir un laburo a veces tienen en cuenta que seas estudiante porque estas en aprendizaje la verdad que hay muchos factores que afectan en conseguir un empleo pero un certificado es una decoración en tu CV xD hay gente que lo hace otras que no tanto pero si te gusta y quieres tener algo para demostrarlo hacelo
Schweitzer_ +1
@22matutex22 gracias por la buena onda y la repuesta!!!
22matutex22 +1
@Schweitzer_ de nada
Espero_que_este_nick_no_este_en_uso +1
Muy bueno, toda mi vida odie Sql y aun lo odio, pero nunca se sabe cuando se utilizara, +10, a favoritos. Gracias campeon......
22matutex22
@Espero_que_este_nick_no_este_en_uso Creo que yo también me iría a la mierda -_-

jajajajaj q carajos esa imagen
Espero_que_este_nick_no_este_en_uso +1
@22matutex22 No se, pero debiese una estatua a los administradores de servidores, que nadie saben que existe hasta que algo falla, ahi si, todos se acuerdan de que existe "alguien a cargo" de sistema. Sobre todo esos putos administradores web, que avisan a las 6 de la tarde que van a hacer implementacion y te tienes que quedar como pelotudo a sacar imagen por si acaso o modificar algo.
Administradores web, como los odio!!!!!!
Aprende a crear una base de datos y SQL [Practica2]
22matutex22
@Espero_que_este_nick_no_este_en_uso que bronca loco -.- son las 6 q no jodan xD
daxnix +1
muy bueno!
22matutex22 +1
@daxnix Muchas gracias mod :3 sigo pensando seriamente en lo de ser mod :3
algún día
Saludos :3
mocho8 +1
como sufrí BDD en la facu lpm, la curse 3 veces, estudiaba y me iba mal, lejos la que mas me costo, mas que Sistemas Operativos y probabilidad y estadistica
22matutex22
@mocho8 yo no entiendo un carajo de probabilidad y estadistica lo odio con todo mi ser
xD
mocho8 +1
@22matutex22 la metí de una, pero la estudiaba de la mañana la noche, una vez que te hace click la cabeza te resulta fácil
22matutex22
@mocho8 el lunes parcial a recuperatorio de una el martes parcial de programacion y miercoles analisis matematico alguna tengo que sacrificar xD
AuditionAudition +1
interesante y yo que amo la programación lo tendré en favoritos.
22matutex22
@AuditionAudition Me alegro que te guste te mando un saludo y gracias por pasarte
GoyanoNoTeIntere +1
yo me acuerdo cuando empecé a verlo cuando no sabía programar, me quería cortarme las pelotas cada vez que lo tocaba porque no entendía una mierda. Ahora que se, le daré una oportunidad.
22matutex22 +1
@GoyanoNoTeIntere jajaajaj ea ea ea dale una oportunidad
gordon_yongueych +2
ni empedo me aprendo todo eso mejor hago la gran herni y le compro el sitio web a un programador por 2 galletitas de agua y despues les doy rango de moderador a un par de boludos sin vida mientras yo cuento los billetes en casa!!


aprende
22matutex22 +1
@gordon_yongueych te fuistes al carajo xD jajajaja

gracias por pasarte :3
xiscoblog +1
Buen aporte. +10
Una linda aplicación para diseñar y modelar bases de datos es Navicat Data Modeler. Probalo y contame
Un abrazo.
22matutex22
@xiscoblog muchas gracias mmmmmmm lo voy a probar y te digo :o
Cavenaghi-9- +1
Genio gracias por el post! Una pregunta, porque en la FK pones el index? Siempre se pone en la FK ??
22matutex22 +1
@Cavenaghi-9- Es recomendado que si ya que si editas una tabla afecta a la otra.

Hay algunos que dicen que no pero si cambias algo no le afectara a la otra tabla xD y ahí ya andamos en problemas
Cavenaghi-9- +1
@22matutex22 Gracias capo! Igual me parece mas comodo hacer las relaciones mediante sql jaj, me evito el dibujito de las tablas y esa parte.
22matutex22 +1
@Cavenaghi-9- jajajajajaj de una xD siempre es mas cómodo xD acá lo hice asi porque es mas visual

Gracias por pasarte :3
vesalioo +1
??
para que es esto?
22matutex22 +1
@vesalioo La verdad que esto sirve de practica para diseñar la base de datos, crearla y poder realizar consultas.

La mayor parte de los software donde manejan datos están hechos en una base de datos.
Para el desarrollo de un software donde quieres cargar datos del cliente, chofer y otra información se utiliza las base de datos .
vesalioo +1
@22matutex22 gracias `papu
22matutex22 +1
@vesalioo De nada gracias por pasarte :3
jerauma +1
22matutex22 +1
@jerauma muchas gracias por pasarte

Saludos :3
CyborgKill +1
buen post +10
y fav
22matutex22 +1
@CyborgKill Muchas gracias por pasarte

Saludos :*
Santiag0Ri0IV +1
Justo ayer le hice una sqli a una web y le gane acceso a toda la administracion del sitio
22matutex22
@Santiag0Ri0IV Precioso
Gracias por pasarte
el_clone +2
me parece chino... pero va a favoritos y luego intento aprender
oskrchaile63
hice lo mismo XD
22matutex22 +2
@el_clone @oskrchaile63 Empiecen desde el post de teoría luego practica 1 y 2 :3
Gracias por pasarte saludos :3
Drio_O +1
Estoy estudiando ing en sistemas como quisiera estar viendo estas cosas en la facultad ya que van a ser utiles en el futuro en vez de estar peleando con la matematica y la fisica que no me a servir para un joraca , pero bueno que se le va a hacer . Te dejo 10 crack.
Una cosa mas aprendiste por tu cuenta o en un instituto?
22matutex22 +1
@Drio_O instituto me dieron lo básico osea instalate el xampp y mira te muestro esto y arreglatela xD así aprendí no seria raro que algo tenga mal en este post casi siempre me enseñan así.

Gracias por pasarte :3 Saludos :3
Drio_O +1
@22matutex22 Tipico jajaja. Estare esperando el proximo post. Saludos!
22matutex22 +1
@Drio_O ea muchas gracias por la buena onda
Saludos
tingrid +1
exelente papu, solo decir que al exportar la base de datos a otro motor te genera mucho codigo basura
22matutex22
@tingrid posta? no sabia eso :o muchas gracias por el aviso

Gracias por pasarte y Saludos
Stefano-Schaffer +1
Detesto los xamp, wamp, etc. Todos mal configurados.

Prefiero instalar debían en una virtual con gnome, deshabilitar por default la GUI e instalar de los repositorios apache, luego MySQL y samba, luego conectarme a la virtual por ssh. Es más fácil configurar bien y desde cero un apache y MySQL que modificar las cagadas de sobre todo wamp.

Además con samba compartís una carpeta y luego desdr window apuntas u acceso directo a ese folder y editas tu www folder y sus archivos ahí y los cambios se reflejan en el site web al toque
22matutex22
@Stefano-Schaffer si es verdad eso pero bueno xD siempre te enseñan con algo simple donde puedas usar botones esto ya casi ni lo uso pero para comenzar esta bueno

Muchas gracias capo por tu comentario
Saludos
dgm_mixtoon +1
osea que si quiero enganchar mi propio juego online con su server sera realidad gracias a este tutorial!? D:
KenyPau +1
Buen aporte.Dejo puntos
22matutex22
@KenyPau Muchas gracias te mando un saludo
Funky_Dung +1
22matutex22
ea gracias papu :3 como andamos
terranovalibre +1
Rescatando la Inteligencia Colectiva, ahí te dejo unos puntines.
22matutex22
Muchas gracias te mando saludos :3
terranovalibre
@22matutex22 No hay de que, gracias por compartir.