Proyecto final BASE DE DATOS II En el presente documento se detalla la elaboración completa de una estructura de base de
Views 217 Downloads 4 File size 2MB
Proyecto final BASE DE DATOS II En el presente documento se detalla la elaboración completa de una estructura de base de datos diagramas de entidad relación y Querys de elaboración y consultas sobre la BD
Proyecto final Base de datos II
Creación del esquema de la base de datos El esquema de una base de datos (en inglés, Database Schema) describe la estructura de una Base de datos, en un lenguaje formal soportado por un Sistema administrador de Base de datos (DBMS). En una Base de datos Relacional, el Esquema define sus tablas, sus campos en cada tabla y las relaciones entre cada campo y cada tabla. Generalmente en la práctica el término esquema de la base de datos se refiere al diseño físico de la base de datos.
fabricante PK
id_fabricante nombre
Articulos PK
id_articulos nombre p_compra p_venta id_fabricante
distribuidor PK
id_distribuidor nombre id_fabricante1 id_fabricante2 id_fabricante3 id_fabricante4 id_fabricante5 telefono direccion
Isaac González López
Oscar Daniel Cabellos Ballesteros
Proyecto final Base de datos II
1. Creamos una nueva base de datos para el proyecto CREATE DATABASE tiendita
2. Creamos la primera tabla llamada artículos CREATE TABLE tiendita.articulos (id_articulos int NOT NULL ,nombre varchar(40) NOT NULL , p_compra float NULL , p_venta float NULL , id_fabricante int NOT NULL ,PRIMARY KEY (id_articulos))
Isaac González López
Oscar Daniel Cabellos Ballesteros
Proyecto final Base de datos II
3. Creamos la segunda tabla la cual llamaremos fabricante CREATE TABLE tiendita.fabricante (id_fabricante int NOT NULL, nombre varchar(15) NOT NULL ,PRIMARY KEY (id_fabricante))
4. Creamos la tercera tabla llamada distribuidor CREATE TABLE tiendita.distribuidor (id_distribuidor int NOT NULL, nombre varchar(15) NOT NULL , id_fab1 int NULL, id_fab2 int NULL, id_fab3 int NULL, id_fab4 int NULL, id_fab5 int NULL, telefono VARCHAR(15) NULL, direccion VARCHAR(30) NULL, PRIMARY KEY (id_distribuidor))
Isaac González López
Oscar Daniel Cabellos Ballesteros
Proyecto final Base de datos II 5. Nuestras tablas ya con datos quedarían de la siguiente manera. Artículos
Distribuidor
Fabricante
Isaac González López
Oscar Daniel Cabellos Ballesteros
Proyecto final Base de datos II Consultas SQL
1. Obtener los nombres de los artículos SELECT nombre, descripcion from articulos
2. Obtener los nombres y los precios de los artículos SELECT nombre, p_compra, p_venta from articulos
Isaac González López
Oscar Daniel Cabellos Ballesteros
Proyecto final Base de datos II
3. Obtener los nombres de los productos cuyo valor sea menor o igual a 200 pesos. SELECT nombre, descripcion, p_venta from articulos WHERE p_venta=60&&p_venta=180
Isaac González López
Oscar Daniel Cabellos Ballesteros
Proyecto final Base de datos II
9. Obtener el nombre y precio de todos los artículos ordenados por precio y luego por nombre. SELECT nombre, descripcion, p_venta FROM articulos ORDER BY p_venta
10 SELECT nombre, descripcion, p_venta FROM articulos ORDER BY nombre
Isaac González López
Oscar Daniel Cabellos Ballesteros
Proyecto final Base de datos II
11. Obtener el listado completo de artículos incluyendo los datos del fabricante con inner join y sin inner join. SELECT art.*, fab.nombre fabricante FROM articulos AS art INNER JOIN fabricante AS fab ON art.id_fabricante=fab.id_fabricante ORDER BY art.nombre
12 SELECT articulos.*, fabricante.nombre fabricante FROM articulos, fabricante WHERE articulos.id_fabricante=fabricante.id_fabricante ORDER BY articulos.nombre
Isaac González López
Oscar Daniel Cabellos Ballesteros
Proyecto final Base de datos II
13. Obtener el nombre y el precio del artículo más barato. SELECT nombre, descripcion, MIN(p_venta) 'el mas barato' FROM articulos
14. Obtener una lista con el nombre y precio de los artículos más caros y por cada vendedor. SELECT art.nombre, art.descripcion, art.p_venta, fab.nombre fabricante, dist.nombre distribuidor FROM articulos AS art INNER JOIN fabricante AS fab INNER JOIN distribuidor AS dist ON art.id_fabricante=fab.id_fabricante && fab.id_fabricante=dist.id_fab1 WHERE art.p_venta>= 1500
Isaac González López
Oscar Daniel Cabellos Ballesteros
Proyecto final Base de datos II
15. Cambiar el nombre del artículo 6 por impresora láser. UPDATE articulos SET nombre='impresora laser tx12' WHERE id_articulos=6
16. Insertar un artículo nuevo INSERT INTO articulos (id_articulos, nombre, descripcion, p_compra, p_venta, id_fabricante)VALUES(51,'bluetoot r4', 'usb win7', 60, 140,10)
17. Eliminar el primer artículo DELETE FROM articulos WHERE id_articulos=1
Isaac González López
Oscar Daniel Cabellos Ballesteros