Você está na página 1de 7

PITÁGORAS AMPLI

Engenharia de Software

Disciplina Programação e Desenvolvimento de Banco de Dados

Relatório de Aula Prática

Brasília – DF
2024
SUMÁRIO

Relatório de Aula Prática .........................................................................................................


1 INTRODUÇÂO .................................................................................................................. 3
2 MÉTODOS UTILIZADOS ................................................................................................... 4
3 RESULTADOS ................................................................................................................... 7
4 CONCLUSÃO .................................................................................................................... 7
Relatório de Aula Prática

1 INTRODUÇÃO

Esta aula prática teve por objetivo exercitar o que foi ensinado na disciplina de
Programação e Desenvolvimento de Banco de Dados, utilizando-se o programa
MySQL Workbench. Foi criado um banco de dados chamado "Loja" contendo as
seguintes tabelas:

 Cliente
 Conta a Receber
 Estado
 Município

A prática teve como foco aplicar os conhecimentos adquiridos em programação


e desenvolvimento de banco de dados, incluindo:

 Criação de banco de dados e tabelas


 Definição de tipos de dados e restrições
 Estabelecimento de relacionamentos entre tabelas
 Inserção de dados
 Consulta de dados

3
2 MÉTODOS UTILIZADOS

A aula prática foi realizada em ambiente computacional utilizando o software


MySQL Workbench, que é uma ferramenta visual de design de banco de dados que
integra desenvolvimento, administração, design, criação e manutenção de SQL em
um único ambiente de desenvolvimento integrado para o sistema de banco de dados
MySQL. As etapas seguidas foram:

1. Criação do banco de dados "loja";


2. Criação das tabelas "cliente", "conta a receber", "estado" e "município" com
suas respectivas colunas e tipos de dados;
3. Definição de chaves primárias e estrangeiras para as tabelas;
4. Inserção de dados nas tabelas;
5. Realização de consultas para verificar a integridade dos dados e o
funcionamento do banco de dados.

A realização das etapas obedeceu a um roteiro proposto. Para as etapas de 1


a 3, foi solicitada a criação das estruturas de dados no banco loja, utilizando os
comandos de definição de dados (DDL) da linguagem SQL, e respeitando o modelo
definido no DER da Figura a seguir:

4
Assim, foi criado o banco de dados “loja” no MySQL Workbench e foram
executados os comandos abaixo, a fim de criar as tabelas conforme o modelo definido.
Optou-se por criar as tabelas na ordem estado, município, cliente e contareceber,
devido aos relacionamentos entre as tabelas, pelas chaves estrangeiras. Também, a
fim de evitar-se a criação de registros duplicados, definiu-se uma chave única para as
tabelas estado, município e cliente, por meio da cláusula “unique key”:
CREATE TABLE Estado (
`ID` int NOT NULL AUTO_INCREMENT,
`Nome` varchar(50) NOT NULL,
`UF` varchar(2) NOT NULL,
PRIMARY KEY (`ID`),
UNIQUE KEY `UF_UNIQUE` (`UF`)
);

CREATE TABLE municipio (


`ID` int NOT NULL AUTO_INCREMENT,
`Estado_ID` int NOT NULL,
`Nome` varchar(80) NOT NULL,
`CodIBGE` int NOT NULL,
PRIMARY KEY (`ID`),
UNIQUE KEY `CodIBGE_UNIQUE` (`CodIBGE`),
KEY `fk_Municipio_Estado1_idx_idx` (`Estado_ID`),
CONSTRAINT `fk_Municipio_Estado1_idx` FOREIGN KEY (`Estado_ID`) REFERENCES `estado`
(`ID`));

CREATE TABLE `cliente` (


`ID` int NOT NULL AUTO_INCREMENT,
`Nome` varchar(80) NOT NULL,
`CPF` char(11) NOT NULL,
`Celular` char(11) DEFAULT NULL,
`EndLogradouro` varchar(100) NOT NULL,
`EndNumero` varchar(10) NOT NULL,
`EndMunicipio` int NOT NULL,
`EndCEP` char(8) DEFAULT NULL,
`Municipio_ID` int NOT NULL,
PRIMARY KEY (`ID`),
UNIQUE KEY `CPF_UNIQUE` (`CPF`),
KEY `ID_idx` (`Municipio_ID`),
CONSTRAINT `fk_Cliente_Municipio1_idx` FOREIGN KEY (`Municipio_ID`) REFERENCES `municipio`
(`ID`));

CREATE TABLE `contareceber` (


`ID` int NOT NULL AUTO_INCREMENT,
`Cliente_ID` int NOT NULL,
`FaturaVendaID` int DEFAULT NULL,
`DataConta` date NOT NULL,
`DataVencimento` date NOT NULL,
`Valor` decimal(18,2) NOT NULL,
`Situacao` enum('1','2','3') NOT NULL,
PRIMARY KEY (`ID`),
KEY `ID_idx` (`Cliente_ID`),
CONSTRAINT `fk_ContaReceber_Cliente_idx` FOREIGN KEY (`Cliente_ID`) REFERENCES `cliente`
(`ID`));

5
Para a realização da etapa 4, o roteiro proposto solicitou a criação de um script
chamado “inserir.sql” contento os comandos de manipulação (DML), com o objetivo
de popular todas as tabelas existentes na base de dados, inserindo pelo menos três
registros por tabela. Isso foi executado por meio dos comandos abaixo. Também,
devido às referências de chave estrangeira, a inserção dos registros foi realizada na
ordem das tabelas de estado, município, cliente e contareceber:
INSERT INTO loja.Estado (Nome, UF)
VALUES
('Distrito Federal', 'DF'), ('Amazonas', 'AM'), ('São Paulo', 'SP'), ('Rio de Janeiro', 'RJ');

INSERT INTO loja.municipio (Estado_ID, Nome, CodIBGE)


VALUES
(1, 'Brasília', 5300108), (3, 'Manaus', 1302603), (4, 'São Paulo', 3550308), (5, 'Rio de Janeiro',3304557);

INSERT INTO loja.cliente (Nome, CPF, Celular, EndLogradouro, EndNumero, EndMunicipio, EndCEP,
Municipio_ID)
VALUES
('Nome Cliente 1 da loja', '11111111111', '22111111111', 'Endereço residencial cliente 1', '001', 1,
'111-1111', 1),
('Nome Cliente 2 da loja', '22222222222', '44222222222', 'Endereço residencial cliente 2', '002', 3,
'222-2222', 3),
('Nome Cliente 3 da loja', '33333333333', '66333333333', 'Endereço residencial cliente 3', '003', 4,
'333-3333', 4);

INSERT INTO contareceber (`Cliente_ID`, `FaturaVendaID`, `DataConta`, `DataVencimento`, `Valor`, `Situacao`)


VALUES
(1, 1, '2024-01-01', '2024-01-30', 1000.51, 1),
(2, 2, '2024-01-05', '2024-02-10', 500.32, 1),
(3, 3, '2024-02-15', '2024-02-28', 172.30, 1);
(3, 4, '2024-02-16', '2024-02-28', 333.33, 2);

Por fim, para a realização da etapa 5, o roteiro proposto solicitou a elaboração


de um script chamado “consulta.sql”, utilizando comandos de consulta (DQL) da
linguagem SQL, o qual deverá conter uma visão (VIEW) que retornará todas as contas
que ainda não foram pagas (Situação = 1), devendo conter as informações do Id da
conta a receber, nome e cpf do cliente, vencimento e valor da conta. Assim, foi
executado o comando abaixo:
SELECT contareceber.ID, contareceber.Cliente_ID, cliente.Nome, cliente.CPF, contareceber.DataVencimento,
contareceber.Valor
FROM contareceber
LEFT JOIN cliente on cliente.ID = contareceber.Cliente_ID
where situacao = 1;

6
3 RESULTADOS:

Ao final da aula prática, o banco de dados "loja" foi criado com sucesso,
contendo as tabelas "cliente", "conta a receber", "estado" e "município". As tabelas
foram devidamente relacionadas e os dados foram inseridos com sucesso. A consulta
realizada retornou os resultados esperados, confirmando a integridade dos dados e o
funcionamento do banco de dados.

4 CONCLUSÃO:

A aula prática foi um exercício valioso para o aprendizado de programação e


desenvolvimento de banco de dados. Foi possível aplicar os conhecimentos teóricos
em um contexto prático, criando um banco de dados completo e funcional. A
experiência contribuiu para a compreensão dos conceitos básicos de banco de dados
e para o desenvolvimento de habilidades importantes para a área de desenvolvimento
de software.
Ademais, a aula prática também proporcionou a experiência de trabalhar com
uma ferramenta profissional de desenvolvimento de banco de dados, o MySQL
Workbench.

Você também pode gostar