Buscar

Resolução Portfolio - Banco de dados em nuvem

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 9 páginas

Prévia do material em texto

Portfolio – Banco de Dados em Nuvem
Definição dos objetivos da aula prática:
- Criar um banco de dados, algumas tabelas e descrever como conectar num provedor de nuvem.
Resolução:
O banco de dado em nuvem nada mais é, do que o processo de organizar e armazenar dados estruturados, semiestruturados e não estruturados como banco de dados tradicionais (local databases). Porém, os bancos de dados em nuvem oferecem, velocidade, agilidade, custos reduzidos e escalonabilidade.
Atividade proposta:
- Criação de banco de dados utilizando a ferramenta MySQL Workbench e descrever como conectar este banco em um provedor em nuvem.
.1) Utilizando o MySQL Workbench você criará um banco de dados com o nome de (aula) e
descrever como conectar este banco em um provedor em nuvem.
Banco de dados criado e conectado ao servidor
.2) Suponha que você precise criar tabelas para armazenar informações sobre clientes e seus endereços.
Cada cliente tem apenas um endereço. Nesse caso, você pode usar um relacionamento 1 para 1, utilizando as tabelas cliente e endereco descritas abaixo:
* Nome da tabela: cliente
colunas a serem inseridas:
cliente_id INT PRIMARY KEY,
nome VARCHAR(50)
email VARCHAR(50)
* nome da tabela: endereco
colunas a serem inseridas:
endereco_id INT PRIMARY KEY,
cliente_id INT UNIQUE
rua VARCHAR(100)
cidade VARCHAR(50)
estado VARCHAR(50)
pais VARCHAR(50)
· Diagrama das tabelas ‘cliente’ e ‘endereco’: 
3) Relacionamento 1 para muitos: Vamos supor que você queira criar tabelas para armazenar
informações sobre uma empresa e seus funcionários. Uma empresa pode ter vários funcionários, mas um funcionário pertence a apenas uma empresa. Nesse caso, você pode usar um relacionamento 1 para muitos, utilizando as tabelas empresa e funcionario descritas abaixo:
* Nome da tabela: empresa
colunas a serem inseridas:
empresa_id INT PRIMARY KEY
nome VARCHAR(50)
endereco VARCHAR(100)
* Nome da tabela: funcionario
colunas a serem inseridas:
funcionario_id INT PRIMARY KEY
nome VARCHAR(50)
email VARCHAR(50)
empresa_id INT
** Adicionar uma FOREIGN KEY com a coluna (empresa_id) na tabela empresa
· Diagrama das tabelas ‘empresa’ e ‘funcionario’
4) Relacionamento muitos para muitos: Suponha que você queira criar tabelas para armazenar informações sobre cursos e estudantes. Cada curso pode ter vários estudantes, e cada estudante pode estar matriculado em vários cursos. Nesse caso, você precisa de uma tabela de associação para representar o relacionamento muitos para muitos.
* Nome da tabela: curso
colunas a serem inseridas:
curso_id INT PRIMARY KEY,
nome VARCHAR(50),
descricao VARCHAR(100)
* Nome da tabela: estudante
colunas a serem inseridas:
estudante_id INT PRIMARY KEY,
nome VARCHAR(50),
email VARCHAR(50)
* Nome da tabela: curso_estudante
colunas a serem inseridas:
CREATE TABLE curso_estudante (
curso_id INT,
estudante_id INT,
**Chave Primária Composta (curso_id, estudante_id)
** Adicionar uma FOREIGN KEY com a coluna (curso_id) na tabela curso
** Adicionar uma FOREIGN KEY com a coluna (estudante_id) na tabela estudante
· Diagrama das tabelas ‘curso’, ‘estudante’ e ‘curso_estudante’
Para esta atividade, o servidor utilizado nesta atividade é o Google Drive, que nos oferece um serviço de armazenamento e sincronização de arquivos através do Google. Ele disponibiliza ao usuário 15GB de forma gratuita para o armazenamento, e caso o usuário deseje espaço extra, ele poderá contratar o serviço de variando de 100GB até 2TB com os valores variando de R$1,69 a R$8,69 mensalmente, como demonstrado na tabela de preços abaixo:
Conclusão
Na execução desta atividade, colocamos em prática o conceito da criação e configuração de um banco de dados na nuvem, utilizando a ferramenta MySQL Workbench para criar as tabelas e realizar a modelagem e relacionamentos do banco de dados, para que assim possamos subir um banco de dados em nuvem de maneira otimizada.
Abaixo seguem os comandos em SQL utilizados na criação da base de dados:
-- 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='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
-- -----------------------------------------------------
-- Schema aula
-- -----------------------------------------------------
-- -----------------------------------------------------
-- Table `cliente`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `cliente` (
  `cliente_id` INT NOT NULL AUTO_INCREMENT,
  `nome` VARCHAR(50) NOT NULL,
  `email` VARCHAR(50) NOT NULL,
  PRIMARY KEY (`cliente_id`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `endereco`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `endereco` (
  `endereco_id` INT NOT NULL AUTO_INCREMENT,
  `cliente_id` INT NOT NULL,
  `rua` VARCHAR(100) NOT NULL,
  `cidade` VARCHAR(50) NOT NULL,
  `estado` VARCHAR(50) NOT NULL,
  `pais` VARCHAR(50) NOT NULL,
  PRIMARY KEY (`endereco_id`, `cliente_id`),
  UNIQUE INDEX `cliente_id_UNIQUE` (`cliente_id` ASC) VISIBLE,
  CONSTRAINT `client_id`
    FOREIGN KEY (`cliente_id`)
    REFERENCES `cliente` (`cliente_id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `empresa`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `empresa` (
  `empresa_id` INT NOT NULL AUTO_INCREMENT,
  `nome` VARCHAR(50) NOT NULL,
  `endereco` VARCHAR(100) NOT NULL,
  PRIMARY KEY (`empresa_id`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `funcionario`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `funcionario` (
  `funcionario_id` INT NOT NULL,
  `nome` VARCHAR(50) NOT NULL,
  `email` VARCHAR(50) NOT NULL,
  `empresa_id` INT NOT NULL,
  PRIMARY KEY (`funcionario_id`, `empresa_id`),
  INDEX `empresa_id_idx` (`empresa_id` ASC) VISIBLE,
  CONSTRAINT `empresa_id`
    FOREIGN KEY (`empresa_id`)
    REFERENCES `empresa` (`empresa_id`)
    ON DELETE RESTRICT
    ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `curso`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `curso` (
  `curso_id` INT NOT NULL AUTO_INCREMENT,
  `nome` VARCHAR(50) NOT NULL,
  `descricao` VARCHAR(100) NOT NULL,
  PRIMARY KEY (`curso_id`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `estudante`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `estudante` (
  `estudante_id` INT NOT NULL,
  `nome` VARCHAR(50) NOT NULL,
  `email` VARCHAR(50) NOT NULL,
  PRIMARY KEY (`estudante_id`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `curso_estudante`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `curso_estudante` (
  `curso_id INT` INT NOT NULL,
  `estudante_id` INT NOT NULL,
  PRIMARY KEY (`estudante_id`, `curso_id INT`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `curso_curso_estudante`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `curso_curso_estudante` (
  `curso_curso_id` INT NOT NULL,
  `curso_estudante_estudante_id` INT NOT NULL,
  `curso_estudante_curso_id INT` INT NOT NULL,
  PRIMARY KEY (`curso_curso_id`, `curso_estudante_estudante_id`, `curso_estudante_curso_id INT`),
  INDEX `fk_curso_has_curso_estudante_curso_estudante1_idx` (`curso_estudante_estudante_id` ASC, `curso_estudante_curso_id INT` ASC) VISIBLE,
  INDEX `fk_curso_has_curso_estudante_curso1_idx` (`curso_curso_id` ASC) VISIBLE,
  CONSTRAINT `fk_curso_has_curso_estudante_curso1`
    FOREIGN KEY (`curso_curso_id`)
    REFERENCES`curso` (`curso_id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_curso_has_curso_estudante_curso_estudante1`
    FOREIGN KEY (`curso_estudante_estudante_id` , `curso_estudante_curso_id INT`)
    REFERENCES `curso_estudante` (`estudante_id` , `curso_id INT`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `curso_estudante_has_estudante`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `curso_estudante_has_estudante` (
  `curso_estudante_estudante_id` INT NOT NULL,
  `curso_estudante_curso_id INT` INT NOT NULL,
  `estudante_estudante_id` INT NOT NULL,
  PRIMARY KEY (`curso_estudante_estudante_id`, `curso_estudante_curso_id INT`, `estudante_estudante_id`),
  INDEX `fk_curso_estudante_has_estudante_estudante1_idx` (`estudante_estudante_id` ASC) VISIBLE,
  INDEX `fk_curso_estudante_has_estudante_curso_estudante1_idx` (`curso_estudante_estudante_id` ASC, `curso_estudante_curso_id INT` ASC) VISIBLE,
  CONSTRAINT `fk_curso_estudante_has_estudante_curso_estudante1`
    FOREIGN KEY (`curso_estudante_estudante_id` , `curso_estudante_curso_id INT`)
    REFERENCES `curso_estudante` (`estudante_id` , `curso_id INT`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_curso_estudante_has_estudante_estudante1`
    FOREIGN KEY (`estudante_estudante_id`)
    REFERENCES `estudante` (`estudante_id`)
    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;
image1.png
image2.png
image3.png
image4.png
image5.png

Continue navegando