PROPUESTA PROYECTO Y CREACION BD.
Link de la BD : www.dropbox.com/sh/rhvw7uxx3e19tl4/AADb4rldKr9YqsO9z35KSgWZa?dl=0
Modelo relacional.

Modelo entidad relacion.
.png)
DICCIONARIO DE DATOS.



- > El trabajo final que llevare a cabo, será un proyecto de una empresa de música, la cual tendrá las tablas (sucursales, artículos, instrumentos) y dos tablas que llevaran el inventario de las sucursales (inventario_inst_suc y inventario_arti_suc), en total manejaremos 5 tablas, las cuales nos ayudaran a tener un proyecto de inventario de una empresa de música, comencemos.
Primero hay que recordar que hay que crear la base de datos y para esto necesitamos xampp, que es con el que hemos venido trabajando y entrar a cmd y de ahí entrar al xampp;
Ahora bien, creemos la base de datos la cual se llamara shockmusicCF, y se crea con el siguiente comando:
mysql> create database shockmusicCF;
Query OK, 1 row affected (0.00 sec)
Luego la usaremos :
mysql> use shockmusicCF
Database changed
ya estando dentro de nuestra base de datos, podremos crear las tablas del mismo, primero crearemos las principales que son (sucursal,articulo e instrumento y luego las otras dos:
SUCURSAL:
para crear la tabla se hace de la siguiente manera:
mysql> create table sucursal
-> (IdSucursal varchar(12) not null primary key,
-> Nombre varchar(35) not null,
-> Direccion varchar(35) not null,
-> Telefono varchar(12) not null,
-> Horario varchar(20) not null,
-> Estado varchar(12) not null);
Query OK, 0 rows affected (0.33 sec)
y para ver como quedo compuesta o su estructura le damos: mysql> describe sucursal;
ARTICULO:
para crear la tabla se hace de la siguiente manera:
mysql> create table articulo
-> (IdArticulo varchar(12) not null primary key,
-> Nombre varchar(35) not null,
-> Descripcion varchar(20) not null,
-> Precio varchar(15) not null,
-> Estado varchar(12) not null);
Query OK, 0 rows affected (0.45 sec)
y para ver como quedo compuesta o su estructura le damos: mysql> describe articulo;
INSTRUMENTO:
para crear la tabla se hace de la siguiente manera:
mysql> create table instrumento
-> (IdInstrumento varchar(12) not null primary key,
-> Nombre varchar(35) not null,
-> Categoria varchar(20) not null,
-> Precio varchar(15) not null,
-> Estado varchar(12) not null);
Query OK, 0 rows affected (0.27 sec)
y para ver como quedo compuesta o su estructura le damos: mysql> describe instrumento;
INVENTARIO_INST_SUC:
para crear la tabla se hace de la siguiente manera:
mysql> create table inventario_inst_suc
-> (IdInvis varchar(12) not null primary key,
-> IdSucursal varchar(12) not null,
-> IdInstrumento varchar(12) not null,
-> Cantidad varchar(15) not null,
-> Stock varchar(15) not null,
-> foreign key(IdSucursal) references sucursal(IdSucursal) on delete cascade on update cascade,
-> foreign key(IdInstrumento) references instrumento(IdInstrumento) on delete cascade on update cascade) engine=innodb;
Query OK, 0 rows affected (0.45 sec)
foreign -> para relacionar tablas(en este caso instrumento y sucursal con inventario_inst_suc).
y para ver como quedo compuesta o su estructura le damos: mysql> describe inventario_inst_suc;
INVENTARIO_ARTI_SUC:
para crear la tabla se hace de la siguiente manera:
mysql> create table inventario_arti_suc
-> (IdInvas varchar(12) not null primary key,
-> IdSucursal varchar(12) not null,
-> IdArticulo varchar(12) not null,
-> Cantidad varchar(15) not null,
-> Stock varchar(15) not null,
-> foreign key(IdSucursal) references sucursal(IdSucursal) on delete cascade on update cascade,
-> foreign key(IdArticulo) references articulo(IdArticulo) on delete cascade on update cascade) engine=innodb;
Query OK, 0 rows affected (0.36 sec)
foreign -> para relacionar tablas(en este caso articulo y sucursal con inventario_arti_suc).
y para ver como quedo compuesta o su estructura le damos: mysql> describe inventario_arti_suc;
-> Ya llegados a este punto, hemos creado la base de datos y las tablas que necesitaremos, pero debemos crear también los procedimientos almacenados principales para cada una de las tablas las cuales son (insertar, modificar, consultar y listar), comencemos entonces:
PROCEDIMIENTOS ALMACENADOS DE SUCURSAL:
Insertar :
mysql> delimiter //
mysql> create procedure insertarsucursa(in idsuc varchar(12), nomsuc varchar(35), dirsuc varchar(35), telsuc varchar(12), horsuc varchar(20), estsuc varchar(12))
-> begin
-> insert into sucursal (IdSucursal,Nombre,Direccion,Telefono,Horario,Estado) values (idsuc,nomsuc,dirsuc,telsuc,horsuc,estsuc);
-> end
-> //
Query OK, 0 rows affected (0.13 sec)
Modificar :
mysql> delimiter //
mysql> create procedure modificarsucursa(in idsuc varchar(12), nomsuc varchar(35), dirsuc varchar(35), telsuc varchar(12), horsuc varchar (20), estsuc varchar(12))
-> begin
-> update sucursal set Nombre=nomsuc, Direccion=dirsuc, Telefono=teluc, Horario=horsuc, Estado=estsuc where IdSucursal=idsuc;
-> end
-> //
Query OK, 0 rows affected (0.00 sec)
Consultar:
mysql> delimiter //
mysql> create procedure consultarsucursa(in idsuc varchar(12))
-> begin
-> select * from sucursal where IdSucursal=idsuc;
-> end
-> //
Query OK, 0 rows affected (0.00 sec)
Listar:
mysql> delimiter //
mysql> create procedure listarsucursa()
-> begin
-> select * from sucursal;
-> end
-> //
Query OK, 0 rows affected (0.00 sec)
PROCEDIMIENTOS ALMACENADOS DE ARTICULO:
Insertar :
mysql> delimiter //
mysql> create procedure insertararticulo(in idart varchar(12), nomart varchar(35), desart varchar(20), preart varchar(15), estart varchar(12))
-> begin
-> insert into articulo (IdArticulo,Nombre,Descripcion,Precio,Estado) values (idart,nomart,desart,preart,estart);
-> end
-> //
Query OK, 0 rows affected (0.00 sec)
Modificar :
mysql> delimiter //
mysql> create procedure modificararticulo(in idart varchar(12), nomart varchar(35), desart varchar(20), preart varchar(15), estart varchar(12))
-> begin
-> update articulo set Nombre=nomart, Descripcion=desart, Precio=preart, Estado=estart where IdArticulo=idart;
-> end
-> //
Query OK, 0 rows affected (0.00 sec)
Consultar:
mysql> delimiter //
mysql> create procedure consultararticulo(in idart varchar(12))
-> begin
-> select * from articulo where IdArticulo=idart;
-> end
-> //
Query OK, 0 rows affected (0.00 sec)
Listar:
mysql> delimiter //
mysql> create procedure listararticulo()
-> begin
-> select * from articulo;
-> end
-> //
Query OK, 0 rows affected (0.00 sec)
PROCEDIMIENTOS ALMACENADOS DE INSTRUMENTO:
Insertar :
mysql> delimiter //
mysql> create procedure insertarinstrumento(in idins varchar(12), nomins varchar(35), catins varchar(20), preins varchar(15), estins varc
har(12))
-> begin
-> insert into instrumento (IdInstrumento,Nombre,Categoria,Precio,Estado) values (idins,nomins,catins,preins,estins);
-> end
-> //
Query OK, 0 rows affected (0.00 sec)
Modificar :
mysql> delimiter //
mysql> create procedure modificarinstrumento(in idins varchar(12), nomins varchar(35), catins varchar(20), preins varchar(15), estins var
char(12))
-> begin
-> update instrumento set Nombre=nomins, Categoria=catins, Precio=preins, Estado=estins where IdInstrumento=idins;
-> end
-> //
Query OK, 0 rows affected (0.00 sec)
Consultar:
mysql> delimiter //
mysql> create procedure consultarinstrumento(in idins varchar(12))
-> begin
-> select * from instrumento where IdInstrumento=idins;
-> end
-> //
Query OK, 0 rows affected (0.00 sec)
Listar:
mysql> delimiter //
mysql> create procedure listarinstrumento()
-> begin
-> select * from instrumento;
-> end
-> //
Query OK, 0 rows affected (0.00 sec)
PROCEDIMIENTOS ALMACENADOS DE INVENTARIO_INST_SUC:
Insertar :
mysql> delimiter //
mysql> create procedure insertarinstsuc(in idis varchar(12), idsuc varchar(12), idins varchar(12), canis varchar(15), stois varchar(15))
-> begin
-> insert into inventario_inst_suc (IdInvis,IdSucursal,IdInstrumento,Cantidad,Stock) values (idis,idsuc,idins,canis,stois);
-> end
-> //
Query OK, 0 rows affected (0.00 sec)
Modificar :
mysql> delimiter //
mysql> create procedure modificarinstsuc(in idis varchar(12), idsuc varchar(12), idins varchar(12), canis varchar(15), stois varchar(15))
-> begin
-> update inventario_inst_suc set IdSucursal=idsuc, IdInstrumento=idins, Cantidad=canis, Stock=stois where IdInvis=idis;
-> end
-> //
Query OK, 0 rows affected (0.00 sec)
Consultar:
mysql> create procedure consultarinstsuc(in idis varchar(12))
-> begin
-> select i.IdInvis, i.IdSucursal, s.NombreSuc, i.IdInstrumento, n.NombreIns, i.Cantidad, i.Stock from inventario_inst_suc i inner join sucursal s on i.IdSucursal=s.IdSucursal
inner join instrumento n on i.IdInstrumento=n.IdInstrumento where i.IdInvis=idis;
-> end
-> //
Query OK, 0 rows affected (0.00 sec)
Listar:
mysql> delimiter //
mysql> create procedure listarinstsuc()
-> begin
-> select i.IdInvis, i.IdSucursal, s.NombreSuc, i.IdInstrumento, n.NombreIns, i.Cantidad, i.Stock from inventario_inst_suc i inner join sucursal s on i.IdSucursal=s.IdSucursal
inner join instrumento n on i.IdInstrumento=n.IdInstrumento;
-> end
-> //
Query OK, 0 rows affected (0.00 sec)
PROCEDIMIENTOS ALMACENADOS DE INVENTARIO_ARTI_SUC:
Insertar :
mysql> delimiter //
mysql> create procedure insertarartisuc(in idas varchar(12), idsuc varchar(12), idart varchar(12), canas varchar(15), stoas varchar(15))
-> begin
-> insert into inventario_arti_suc (IdInvas,IdSucursal,IdInstrumento,Cantidad,Stock) values (idas,idsuc,idart,canas,stoas);
-> end
-> //
Query OK, 0 rows affected (0.00 sec)
Modificar :
mysql> delimiter //
mysql> create procedure modificarartisuc(in idas varchar(12), idsuc varchar(12), idart varchar(12), canas varchar(15), stoas varchar(15))
-> begin
-> update inventario_arti_suc set IdSucursal=idsuc, IdArticulo=idart, Cantidad=canas, Stock=stoas where IdInvas=idas;
-> end
-> //
Query OK, 0 rows affected (0.00 sec)
Consultar:
mysql> create procedure consultarartisuc(in idas varchar(12))
-> begin
-> select i.idInvas, i.IdSucursal, s.Nombre, i.IdArticulo, a.Nombre, i.Cantidad, i.Stock from inventario_arti_suc i inner join sucursal s on i.IdSucursal=s.IdSucursal inner jo
in articulo a on i.IdArticulo=a.IdArticulo where i.IdInvas=idas;
-> end
-> //
Query OK, 0 rows affected (0.00 sec)
Listar:
mysql> delimiter //
mysql> create procedure istarartisuc()
-> begin
-> select i.idInvas, i.IdSucursal, s.Nombre, i.IdArticulo, a.Nombre, i.Cantidad, i.Stock from inventario_arti_suc i inner join sucursal s on i.IdSucursal=s.IdSucursal inner jo
in articulo a on i.IdArticulo=a.IdArticulo;
-> end
-> //
Query OK, 0 rows affected (0.00 sec)
-> ya con esto concluimos lo que es la creacion de nuestra BD para el proyecto a realizar, lo que sigue es programar con lo aprendido en programacion web 1 que es (CSS, java script Y PHP).