Tabla pedidos poblada
Consultas simples SQL con las tablas pobladas De la tabla libros seleccionar los que tienen un precio superior a 50000
Determinar el promedio del precio de todos los libros
Ordenar alfabéticamente por el título de los libros
Determinar la cantidad de libros que hay actualmente
Determinar cuántos pedidos se han hecho con tarjeta
Determinar los libros escritos por el autor Homero
Determinar los libros que se han pagado con tarjeta
Determinar los libros que ha pedido el cliente Marizol Orjuela
Fin DIEGO ARMANDO TORRES C
JORGE MANRIQUE CHAVARRO
Primero se realiza la etapa de análisis, teniendo en cuenta los siguientes requerimientos: -
Definición y descripción de tablas
-
Clientes: En esta tabla se almacenarán los clientes. Libros: Se almacenarán los libros que se venden en el negocio. Pedidos: en esta tabla se verán reflejados los pedidos que se realicen.
Descripción de las columnas CLIENTES
Atributo
Tipo
Tamaño
CodClientes
Integer
12
Identificación Nombre
Int Varchar
15 70
Direccion
Varchar
100
Descripción
Auto Numérico, Llave Primaria Único Nombre del cliente
LIBROS Atributo
Tipo
Tamaño
CodLibros
Integer
12
Isbn Titulo Autor Stock Precio AnoPublicacion
Varchar Varchar Varchar Int Double Date
20 30 60 12
-
Descripción
Auto Numérico, Llave Primaria Unico
Definición de las relaciones requeridas y pertinentes en la matriz de relaciones PEDIDOS Atributo
Tipo
Tamaño
CodPedidos
Integer
12
Cantidad FechaPedido FechaEnvio
Integer Date Date
12
Descripción
Auto Numérico, Llave Primaria
Tarjeta Varchar Clientes_CodClientes Integer Libros_CodLibros Integer
-
12 12 12
Clave Foranea Claver Foranea
Descripción de cada una de las relaciones teniendo en cuenta las opcionalidades, cardinalidades, grado, transferibilidad y si ayuda o no resolver debilidades en las entidades participantes y las restricciones propias de cada relación.
En el caso de la relación entre la tabla pedidos y la tabla clientes: Un cliente puede realizar muchos pedidos de libros. En el caso de la tabla pedidos y la tabla libros: Un libro puede ser pedido por muchos clientes.
La siguiente etapa consiste en realizar el diseño de la base de datos relacional, acorde a las características del caso de estudio , para ello, se debe efectuar la entrega del Modelo Relacional, el cual se logra adelantando las siguientes tareas: -
Llaves primarias (UID) de cada tabla. Transforme las Relaciones 1:1 o 1:M en Llaves Foráneas, implementando el concepto de la Integridad Referencial Aplicar técnicas de normalización
En la etapa final se efectúa el desarrollo de la base de datos relacional atendiendo el caso de estudio propuesto , por tanto, se debe entregar:
Ingresar al gestor de Bases de Datos MySql
-
Programación con el lenguaje SQL del Script DDL
Corremos el script para crear la base de datos. CREATE DATABASE BD_FS1
Creamos la tabla clientes
Creamos la tabla libros mediante la siguiente sentencia
Creamos la tabla Pedidos
Una vez tenemos creadas las tablas establecemos las llaves foráneas
-
Programación con el lenguaje SQL del script DML para poblar las tablas de la base de datos (especialmente las tablas maestras o de referencia o tablas de códigos)
INSERTAMOS 5 REGISTROS EN LA TABLA CLIENTES
ELIMINAR TODOS LOS REGISTROS DE LA TABLA CLIENTES
INSERTAMO 5 REGISTROS EN LA TABLA LIBROS
INSERTAMOS 10 REGISTROS EN LA TABLA PEDIDOS
-
Programación con el lenguaje SQL el Scripts DCL para otorgar los permisos sobre los objetos de la base de datos a otros usuarios/Esquemas de la base de datos.
Creamos el Usuario Jorge
Concedemos todos los privilegios al usuario Jorge
-
Diligencie cinco registros en la base de datos y con esta información realice cinco consultas simples sobre las tablas de la base de datos que evidencie las características de libros que existen en la librería y cuales han sido más pedidos.
Realizamos La consulta de los libros mas pedidos.
Fin JORGE MANRIQUE CHAVARRO
ROBINSON JULIAN MEDINA ESPINOSA ACTIVIDAD INDIVIDUAL
Primero se realiza la etapa de análisis, teniendo en cuenta los siguientes requerimientos: Definición y descripción de tablas Me gustaría que los Clientes pudieran examinar el catalogo de los libros y realizar pedidos por internet, actualmente acepto pedidos por teléfono , tengo , sobre todo clientes corporativos que me llaman y me dan el código ISBN del libro y la cantidad que desean comprar , a menudo pagan con tarjeta de crédito , luego preparo el envió , que contiene los libros pedidos , si no dispongo de suficientes copias en el almacén , encargo copias adicionales y retraso el envío hasta que llegan , prefiero enviar todo el pedido de cada cliente de una sola vez, mi catalogo incluye todos los libros que vendo, para cada libro el catálogo incluye su código ISBN , titulo, Autor, precio de adquisición, Precio de Venta, año de publicación, la mayor parte de mis clientes son habituales, y dispongo de un registro con su nombre y dirección los clientes nuevos tienen que llamarme primero y abrir una cuenta antes de p oder usar la WEB. En la nueva web los clientes deberán identificar antes de nada por su número de identificación de cliente, que debe ser único, luego podrían poder examinar el catálogo, y formular pedidos en línea Los consultores de TiposBD están un poco sorprendidos por la rapidez con la que se ha completado la fase de requisitos -suelen hacer falta semanas de discusiones (y muchas comidas y muchas cenas) llevarla a buen puerto – pero vuelven a su oficina para analizar esta información
-
Descripción de las columnas
Para el caso en Asunto Para la entidad: Libro Nombre
Id código ISBN Titulo Autor Precio de adquisición Precio de Venta Año de publicación
Tipo
Largo Null Extra auto Autonumerico 10 NO incrementable Texto
50 NO
Texto
100 NO
Texto
100 NO
Decimal
64 NO
Decimal
64 NO
Year
4 NO
unico
Primaria SI
Entero
Estado
2 NO
Para la entidad: Clientes
Nombre
Tipo
Largo Null Extra auto Autonumerico 10 NO incrementable
Id Nombre Direccion Estado Contraseña
Texto
50 NO
Texto
100 NO
Entero
Primaria SI
unico
2 NO
Texto
50 SI
- Pedido Nombre
Tipo
Id Cantidad Fechapedido Fechaenvio Tarjeta Id_detalle_Pedido Id_cliente
Largo Null Extra auto Autonumerico 10 NO incrementable Texto
50 NO
Fecha
100 NO
Fecha
2 NO
Texto
Primaria SI
50 SI
Detalle_Pedido Nombre
Id Cantidad Id_Libro id_pedido
-
Tipo
Largo Null Extra auto Autonumerico 10 NO incrementable
Primaria SI
Texto
50 NO
Numerico
11 NO
Index
Numerico
11 NO
Index
Definición de las relaciones requeridas y pertinentes en la matriz de relaciones
Libro
Matriz de relaciones Cliente Pedidos
Detalle_Pedido
Libro Cliente Pedidos Detalle_Pedido R1
-
R1 R2 R2
R3 R3
Descripción de cada una de las relaciones teniendo en cuenta las opcionalidades, cardinalidades, grado, transferibilidad y si ayuda o no resolver debilidades en las entidades participantes y las restricciones propias de cada relación.
R1= Cada Pedido tiene uno o mas libros, y cada libro, pu ede ser pedido una o varias veces Debido a esta relación mucho a muchos, se ve la necesidad de crear la entidad Detalle_pedido Cada Detalle_Pedido Puede tener uno o varios libros y cada libro solamente puede aparecer en un Detalle_Pedido
R2= Un cliente puede pedir realizar uno o mas pedidos y un pedido solamente puede tener un cliente
R3= Cada Pedido tiene uno o más libros, y cada libro, puede ser pedido una o varias veces Debido a esta relación mucho a muchos, se ve la necesidad de crear la entidad Detalle_pedido Cada Detalle_Pedido Puede tener un Pedido y cada Pedido puede tener uno o más detalles_pedidos
La siguiente etapa consiste en realizar el diseño de la base de datos relacional, acorde a las características del caso de estudio, para ello, se debe efectuar la entrega del Modelo Relacional, el cual se logra adelantando las siguientes tareas:
-
Llaves primarias (UID) de cada tabla. Transforme las Relaciones 1:1 o 1:M en Llaves Foráneas, implementando el concepto de la Integridad Referencial
Aplicar técnicas de normalización
En la etapa final se efectúa el desarrollo de la base de datos relacional atendiendo el caso de estudio propuesto , por tanto, se debe entregar: -
Programación con el lenguaje SQL del Script DDL CREATE TABLE `cliente` ( `id` int(11) NOT NULL, `nombre` varchar(50) NOT NULL, `direccion` varchar(100) NOT NULL, `estado` int(10) NOT NULL, `pass` varchar(50) NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; CREATE TABLE `detalle_pedido` ( `id` int(11) NOT NULL, `cantidad` int(11) NOT NULL, `id_libro` int(11) NOT NULL, `id_pedido` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `libro` ( `id` int(11) NOT NULL, `isbn` varchar(50) NOT NULL, `titulo` varchar(100) NOT NULL, `autor` varchar(100) NOT NULL, `precio_adquisicion` int(64) NOT NULL, `precio_venta` int(64) NOT NULL, `año_publicacion` year(4) NOT NULL, `estado` int(2) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; CREATE TABLE `pedido` ( `id` int(11) NOT NULL, `cantidad` varchar(50) NOT NULL, `fecha_pedido` date NOT NULL, `fecha_envio` date NOT NULL, `tarjeta` varchar(50) NOT NULL, `id_cliente` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; ALTER TABLE `cliente` ADD PRIMARY KEY (`id`); ALTER TABLE `detalle_pedido` ADD PRIMARY KEY (`id`), ADD KEY `id_libro` (`id_libro`), ADD KEY `id_pedido` (`id_pedido`); ALTER TABLE `libro` ADD PRIMARY KEY (`id`), ADD UNIQUE KEY `isbn` (`isbn`); ALTER TABLE `pedido` ADD PRIMARY KEY (`id`), ADD KEY `id_cliente` (`id_cliente`);
ALTER TABLE `cliente` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; ALTER TABLE `detalle_pedido` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; ALTER TABLE `libro` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; ALTER TABLE `pedido` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; ALTER TABLE `detalle_pedido` ADD CONSTRAINT `detalle_pedido_ibfk_1` FOREIGN KEY (`id_libro`) REFERENCES `libro` (`id`), ADD CONSTRAINT `detalle_pedido_ibfk_2` FOREIGN KEY (`id_pedido`) REFERENCES `pedido` (`id`);
ALTER TABLE `pedido` ADD CONSTRAINT `pedido_ibfk_1` FOREIGN KEY (`id_cliente`) REFERENCES `cliente` (`id`); COMMIT; -
Programación con el lenguaje SQL del script DML para poblar las tablas de la base de datos (especialmente las tablas maestras o de referencia o tablas de códigos)
INSERT INTO `libro` (`id`, `isbn`, `titulo`, `autor`, `precio_adquisicion`, `precio_venta`, `año_publicacion`, `estado`) VALUES (NULL, '0-385-504209', 'El código Da Vinci', 'Dan Brown', '50000', '60000', '2003', '1'); INSERT INTO `cliente` (`id`, `nombre`, `direccion`, `estado`, `pass`) VALUES (NULL, 'Robinson Julian Medina', 'Cra 12 # 18 - 18, Tunja', '1', NULL);
-
Programación con el lenguaje SQL el Scripts DCL para otorgar los permisos sobre los objetos de la base de datos a otros usuarios/Esquemas de la base de datos.
CREATE USER 'robinson'@'localhost' IDENTIFIED BY 'robinson' ; GRANT SELECT, INSERT ON *.* TO 'robinson'@'localhost' REQUIRE NONE WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0; GRANT ALL PRIVILEGES ON `libreria`.* TO 'robinson'@'localhost'; - Diligencie cinco registros en la base de datos y con esta información realice cinco consultas simples sobre las tablas de la base de datos que evidencie las características de libros que existen en la librería y cuales han sido más pedidos
1. El estudiante comparte su avance en el foro Desarrollo Fase 1 - Unidad 1 y realiza comentarios significativos a los aportes de los demás compañeros del grupo.
Fin ROBINSON JULIAN MEDINA ESPINOSA
Análisis
JOHN EDINSON CASTRO VELASQUEZ
Definición y descripción de tablas: Para la solución dada por TiposBD
se emplea un modelo entidad relación que consta a nivel de sistema de 3 entidades relacionadas entre ellas: Libros: Guardara un catálogo de existencias a los clientes. Clientes: Alojara el registro de clientes. Pedidos: Aquí se guardarán los pedidos realizados a través del tiempo
Descripción de las columnas:
Entidad Libros:
Entidad Clientes:
Entidad Pedidos:
Matriz de relaciones: libros libros
pedidos
clientes
R1
pedidos clientes
Relación
R1
R2
R2
Descripción de cada una de las relaciones: Tabla 1
libros
clientes
grado
Tabla 2
opcionalidad
1:M
libros entrega pedidos información a pedidos?
1:M
clientes entrega pedidos información a pedidos?
valor Cardinalidad respuesta transferibilidad
si
si
cuantos libros pueden comprarse cuantos clientes pueden comprar
muchos
en un solo sentido
cuando la existencia en valor stock es 0 los datos no se transfieren.
muchos
en un solo sentido
ninguna a menos que no hallan clientes
Modelo Relacional:
Programación con el lenguaje SQL del Script DDL: Drop:
Create:
restricciones
Alter:
Programación con el lenguaje SQL del script DML Select:
Delete:
Insert
Insertando clientes:
Insertando Libros:
Insertando Pedidos:
Update
Actualizando la cantidad de libros en stock
Llenado de tablas
Libros:
Clientes:
Pedidos:
consultas simples: 1.Suma del total de las ventas:
2.Muestra el título de los libros vendidos:
3.Cantidad de pedidos realizados:
4.Valor del inventario
5. Pedidos realizados por el cliente john castro
Fin JOHN EDINSON CASTRO VELASQUEZ
CONCLUSIONES
Con este ejercicio es posible reconocer la amplitud y plenitud del lenguaje en gestión de bases de datos Se repasan muchas de las sentencias necesarias pa ra la gestión de los datos