Está en la página 1de 18

BASE DE DATOS AVANZADA

CÓDIGO: 301125

Unidad 1: Fase 1-Modelamiento


Modelar, Diseñar y Desarrollar Bases de Datos Relacionales

Presentado al tutor:
PABLO CESAR VARGAS

Entregado por los estudiantes:

SANDRA MILENA CELIS


Código: 52727691

JUAN CARLOS OSPINA


Código: 14297426

ROLANDO HERMIDA MANJARRÉS


Código: 17657700

Grupo: 301125_5

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD


ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
28-09-2018
BOGOTÁ
TABLA DE CONTENIDO

Contenido
TABLA DE CONTENIDO ......................................................................................................................................2
INTRODUCCIÓN....................................................................................................................................................3
RESULTADO DE LA ACTIVIDAD ......................................................................................................................4
CONCLUSIONES .................................................................................................................................................17
REFERENCIAS BIBLIOGRÁFICAS .................................................................................................................18
INTRODUCCIÓN

En el entorno del mercado actual, la competitividad y la rapidez de maniobra de una


empresa son imprescindibles para su éxito. Para conseguirlo existe cada vez una
mayor demanda de datos y, por tanto, más necesidad de gestionarlos.
Una base de datos es una recopilación de información relativa a un asunto o
propósito particular, como el seguimiento de pedidos de clientes o el mantenimiento
de una colección de música. En términos técnicos una base de datos es una colección
de datos relacionados entre sí y que tienen un significado implícito.
Para diseñar una base de datos debemos establecer un proceso partiendo del mundo
real, de manera que sea posible plasmarlo mediante una serie de datos, luego estos
datos nos permiten realizar el modelo Entidad-Relación que no es más que una
técnica de diseño de base de datos gráfica, que nos muestra información relativa a
los datos y la relación existente entre ellos.
RESULTADO DE LA ACTIVIDAD

Modelo Entidad-Relación

Modelo Relacional – Diseño lógico Base de Datos modelamiento_bn

Creación script a partir de modelo relacional en Mysql-Workbench


Base de datos creada en gestor Mysql-Workbench

Script de creación en gestor Mysql-Workbench


-- MySQL Workbench Forward Engineering

SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;


SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';

-- -----------------------------------------------------
-- Schema Modelamiento_B&N
-- -----------------------------------------------------

-- -----------------------------------------------------
-- Schema Modelamiento_B&N
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `Modelamiento_B&N` DEFAULT CHARACTER SET utf8 ;
USE `Modelamiento_B&N` ;

-- -----------------------------------------------------
-- Table `Modelamiento_B&N`.`usuarios`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Modelamiento_B&N`.`usuarios` (
`Identificacion` INT NOT NULL AUTO_INCREMENT,
`NombreCompleto` VARCHAR(40) NOT NULL,
`Clave` VARCHAR(25) NOT NULL,
PRIMARY KEY (`Identificacion`))
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `Modelamiento_B&N`.`libros`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Modelamiento_B&N`.`libros` (
`IdLibro` INT NOT NULL AUTO_INCREMENT,
`isbn` INT(13) NOT NULL,
`titulo` VARCHAR(80) NOT NULL,
`precio_compra` DOUBLE NOT NULL,
`precio_venta` DOUBLE NULL,
`año_publicacion` DATE NOT NULL,
`inventario` INT NOT NULL,
PRIMARY KEY (`IdLibro`))
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `Modelamiento_B&N`.`pedidos`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Modelamiento_B&N`.`pedidos` (
`idpedidos` INT NOT NULL AUTO_INCREMENT,
`fecha_pedido` DATE NOT NULL,
`fecha_envio` DATE NOT NULL,
PRIMARY KEY (`idpedidos`))
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `Modelamiento_B&N`.`pedidosUsuarios`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Modelamiento_B&N`.`pedidosUsuarios` (
`IdPedidosUsuarios` INT NOT NULL AUTO_INCREMENT,
`IdUsuario` INT NOT NULL,
`IdPedido` INT NOT NULL,
PRIMARY KEY (`IdPedidosUsuarios`),
INDEX `FkUsuariosPedidos_idx` (`IdUsuario` ASC),
INDEX `FkPedidosUsuarios_idx` (`IdPedido` ASC),
CONSTRAINT `FkUsuariosPedidos`
FOREIGN KEY (`IdUsuario`)
REFERENCES `Modelamiento_B&N`.`usuarios` (`Identificacion`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `FkPedidosUsuarios`
FOREIGN KEY (`IdPedido`)
REFERENCES `Modelamiento_B&N`.`pedidos` (`idpedidos`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `Modelamiento_B&N`.`libros_pedidos`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Modelamiento_B&N`.`libros_pedidos` (
`IdLibrosPedidos` INT NOT NULL AUTO_INCREMENT,
`IdLibro` INT NOT NULL,
`IdPedido` INT NOT NULL,
`Cantidad` INT NOT NULL,
PRIMARY KEY (`IdLibrosPedidos`, `IdLibro`, `IdPedido`),
INDEX `FkLibrosPedidos_idx` (`IdLibro` ASC),
INDEX `FkPedidosLibros_idx` (`IdPedido` ASC),
CONSTRAINT `FkLibrosPedidos`
FOREIGN KEY (`IdLibro`)
REFERENCES `Modelamiento_B&N`.`libros` (`IdLibro`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `FkPedidosLibros`
FOREIGN KEY (`IdPedido`)
REFERENCES `Modelamiento_B&N`.`pedidos` (`idpedidos`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `Modelamiento_B&N`.`autores`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Modelamiento_B&N`.`autores` (
`IdAutor` INT NOT NULL AUTO_INCREMENT,
`NombreAutor` VARCHAR(45) NOT NULL,
PRIMARY KEY (`IdAutor`))
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `Modelamiento_B&N`.`autores_libros`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Modelamiento_B&N`.`autores_libros` (
`IdAutores_libros` INT NOT NULL AUTO_INCREMENT,
`Idautor` INT NOT NULL,
`IdLibro` INT NOT NULL,
PRIMARY KEY (`IdAutores_libros`),
INDEX `FkAutores_idx` (`Idautor` ASC),
INDEX `FkLibros_idx` (`IdLibro` ASC),
CONSTRAINT `FkAutores`
FOREIGN KEY (`Idautor`)
REFERENCES `Modelamiento_B&N`.`autores` (`IdAutor`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `FkLibros`
FOREIGN KEY (`IdLibro`)
REFERENCES `Modelamiento_B&N`.`libros` (`IdLibro`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `Modelamiento_B&N`.`clientes`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Modelamiento_B&N`.`clientes` (
`IdCliente` INT NOT NULL,
`Direccion` VARCHAR(100) NOT NULL,
`telefono` INT NOT NULL,
`TarjetaCredito` INT NOT NULL,
PRIMARY KEY (`IdCliente`),
CONSTRAINT `FkClientesUsuarios`
FOREIGN KEY (`IdCliente`)
REFERENCES `Modelamiento_B&N`.`usuarios` (`Identificacion`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `Modelamiento_B&N`.`roles`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Modelamiento_B&N`.`roles` (
`IdRol` INT NOT NULL AUTO_INCREMENT,
`nombreRol` VARCHAR(20) NOT NULL,
`Descripcion` VARCHAR(45) NOT NULL,
PRIMARY KEY (`IdRol`))
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `Modelamiento_B&N`.`roles_usuarios`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Modelamiento_B&N`.`roles_usuarios` (
`IdRolUsuarios` INT NOT NULL AUTO_INCREMENT,
`IdRol` INT NOT NULL,
`IdUsuario` INT NOT NULL,
PRIMARY KEY (`IdRolUsuarios`),
INDEX `FkRolUsuarios_idx` (`IdRol` ASC),
INDEX `FkUsuariosRol_idx` (`IdUsuario` ASC),
CONSTRAINT `FkRolUsuarios`
FOREIGN KEY (`IdRol`)
REFERENCES `Modelamiento_B&N`.`roles` (`IdRol`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `FkUsuariosRol`
FOREIGN KEY (`IdUsuario`)
REFERENCES `Modelamiento_B&N`.`usuarios` (`Identificacion`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

Introducción datos en las tablas de la base de datos.


Creación de usuarios para la gestión en la base de datos.
Realizando consulta sencilla de la tabla libros

Realizando consultas de varias tablas relacionadas en las bases de datos


para identificar el libro más solicitado.
Realizando consultas de varias tablas relacionadas en las bases de datos
para identificar el libro menos solicitado.

Gestor de base de datos Oracle Apex


CONCLUSIONES

Las conclusiones del trabajo realizado son las siguientes:


REFERENCIAS BIBLIOGRÁFICAS

Ramakrishnan, Raghu, and Johannes Gehrke (2007) en el libro Sistemas


de gestión de bases de datos en la página 49 literal 2.8

http://www.frlp.utn.edu.ar/materias/info2/bases_de_datos.htm

https://gestionbasesdatos.readthedocs.io/es/latest/Tema1/Teoria.html

También podría gustarte