Logo Passei Direto
Buscar

tema 3 1 - Projeto de BD - criando BD

User badge image
Érika

em

Ferramentas de estudo

Passei Direto Aniversário

Quer receber 70% de desconto para assinar o PasseIA?

Questões resolvidas

Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Questões resolvidas

Prévia do material em texto

Projeto de BD: criando BD
Apresentação
Os projetos de bancos de dados contribuem para a organização da construção do banco de dados, 
visto que resultam em uma documentação do que será desenvolvido. Esse projeto visa a alcançar 
um resultado satisfatório para todos os envolvidos no processo, desde os usuários até os 
administradores dos bancos de dados. Cada projeto é construído dor diferentes partes, que se 
relacionam — desde o modelo conceitual, o modelo lógico e, por último, o modelo físico de um 
banco de dados relacional. Para que isso seja possível, é necessário conhecer ferramentas que 
estão disponíveis no mercado para a estruturação desses projetos. Além de conhecer os conceitos 
de cada modelo relacional, é importante compreender que eles podem e devem ser aplicados de 
forma prática no dia a dia dos desenvolvedores de sistemas e administradores de bancos de dados.
Nesta Unidade de Aprendizagem, você vai estudar algumas das particularidades dos modelos lógico 
e físico, assim como conhecerá o MySQL Workbench, ferramenta utilizada para desenvolvimento 
de projetos lógicos, e funcionalidades do MySQL, utilizado no projeto físico de bancos de dados.
Bons estudos.
Ao final desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados:
Construir bancos de dados nos modelos lógico e físico.•
Desenvolver um projeto lógico de banco de dados com Workbench.•
Praticar a modelagem física de banco de dados com MySQL.•
Laiane
Laiane
Laiane
Laiane
Desafio
De acordo com Elmasri e Navathe (2011), o modelo lógico é uma fase do projeto de BD que 
apresenta duas partes distintas: o mapeamento do modelo de dados independente do SGBD e, 
posteriormente, o início dos ajustes desse modelo para um SGBD específico. Esses ajustes serão 
completados durante a construção do modelo físico, momento no qual se consideram os recursos 
de modelagem e restrições próprias. A partir daí, é possível criar o esquema relacional utilizado no 
processo físico.
Veja o caso de uma empresa de engenharia que precisa criar um banco de dados relacional.
Nesse contexto:
a) Construa um modelo lógico em uma ferramenta para criação de modelo relacional, como o 
Workbench, referente ao esquema relacional apresentado, exporte ele em forma de imagem e 
inclua a imagem na sua resposta.
b) Exporte o modelo físico da questão anterior em linguagem SQL utilizado para criação de tabelas.
Laiane
RESPOSTA ESTÁ EM UMA IMAGEM SALVA NO PC
Infográfico
O processo de desenvolvimento de um projeto de banco de dados relacional envolve um conjunto 
de etapas: levantamento de requisitos, projeto conceitual, projeto lógico e projeto físico. 
No vídeo a seguir, você verá os principais pontos que devem ser considerados e o que deve ser 
realizado em cada uma destas etapas. 
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.
 
O projeto de um banco de dados relacional é desenvolvido seguindo uma metodologia de projeto, 
que trata de executar uma sequência de fases para atingir metas predeterminadas. Entre essas 
metas, estão atender às especificidades e às necessidades de requisitos de informações de usuários 
e construir uma estrutura de fácil compreensão das informações armazenadas, tudo aliado à 
garantia de bom desempenho dos programas de aplicação, que levam em conta tempo de resposta, 
espaço de armazenamento e tempo de processamento.
No Infográfico, você vai ver uma representação gráfica e descrições das etapas que fazem parte da 
construção de um projeto de banco de dados relacional, passando pelos modelos conceitual, lógico 
e físico.
https://fast.player.liquidplatform.com/pApiv2/embed/cee29914fad5b594d8f5918df1e801fd/f19ab35a5c1b39b934946423c4cd7de7
Laiane
Laiane
Aponte a câmera para o 
código e acesse o link do 
conteúdo ou clique no 
código para acessar.
https://statics-marketplace.plataforma.grupoa.education/sagah/9942f532-c9b9-43fb-b949-4b48a17f29ed/2a4b54eb-a53a-41df-b987-a456fc402ff5.png
Conteúdo do livro
Os bancos de dados relacionais são criados por meio dos modelos conceitual, lógico e físico. Esses 
modelos fazem parte da documentação de banco de dados, muito importante para fins de 
planejamento e organização do banco de dados sendo construído. Esses modelos auxiliam também 
a realização de possíveis manutenções no banco de dados, visto que podem ser observadas todas 
as relações entre as entidades criadas e uma possível falha na análise de requisitos que possa 
influenciar o desempenho do sistema ou aplicação que utilize o banco de dados.
No capítulo Projeto de BD: criando BD, da obra Banco de dados, base teórica desta Unidade de 
Aprendizagem, você vai conhecer especificamente as ferramentas MySQL Workbench para 
desenho e criação da modelagem lógica e MySQL para a definição da modelagem física, assim 
como conceitos sobre a transformação do modelo lógico em físico.
Boa leitura.
Laiane
BANCO DE 
DADOS
Roni Francisco Pichetti
Projeto de BD: criando BD
Objetivos de aprendizagem
Ao final deste texto, você deve apresentar os seguintes aprendizados:
 � Construir bancos de dados nos modelos lógico e físico.
 � Desenvolver um projeto lógico de banco de dados com Workbench.
 � Praticar a modelagem física de banco de dados com MySQL.
Introdução
Os bancos de dados (BDs) são utilizados para armazenar dados que 
serão úteis para atender às necessidades de seus usuários. O processo 
de construção de um BD envolve conhecer o ambiente para o qual ele 
está sendo criado, para que o projeto contemple a maior quantidade 
possível de informações. As informações necessárias são utilizadas para 
elaborar os modelos que fazem parte da documentação do BD, a qual 
é importante, pois serve como base para futuras implementações, ade-
quações ou manutenções que se mostrarem necessárias para aumentar 
o desempenho de sistemas que utilizem os BDs.
Neste capítulo, você vai estudar a construção dos modelos lógico e 
físico de BDs. Você também vai verificar exemplos de desenvolvimento 
desses modelos em duas ferramentas específicas: Workbench e MySQL.
1 Construção de banco de dados 
utilizando os modelos lógico e físico
A construção de um BD relacional conta com diferentes fases, que contribuem 
para a definição de suas relações de forma efetiva, visando ao bom desempenho 
no armazenamento e na manipulação de dados. Cada fase possui uma função 
específica, e se utilizam modelos para implementar cada etapa. O resultado 
de cada modelo é utilizado para a construção do modelo seguinte.
Laiane
Laiane
Laiane
A primeira fase costuma utilizar o modelo conceitual, que não leva em 
conta o sistema de gerenciamento de BD (SGBD) que será utilizado, pois é 
uma forma mais abstrata da definição dos relacionamentos entre as tabelas ou 
entidades que vão compor o BD. Em seguida, utiliza-se o modelo lógico, que 
se preocupa em representar os dados da forma como serão armazenados no 
SGBD. Esse modelo precisa ser descrito em alguma linguagem, que é o papel 
da terceira fase, quando ocorre a construção do modelo físico. O processo 
inverso também pode ser necessário, ou seja, construir um modelo conceitual 
a partir de um modelo lógico — esse processo é chamado de engenharia 
reversa, conforme leciona Heuser (2009).
A transição entre os modelos conceitual e lógico e a engenharia reversa 
são representadas na Figura 1.
Figura 1. Transformações entre os modelos conceitual e lógico.
Fonte: Adaptada de Heuser (2009).
Projeto de BD: criando BD2
Laiane
Laiane
Laiane
Laiane
A criação de um BD robusto, flexível e preciso em suas possibilidades 
está relacionada ao desenvolvimento adequado de um projeto de BD. Nesse 
sentido, a teoria de projetos é considerada a base científica para os projetos 
de BD, enquanto o modelo relacional é a base científica mais comum para 
ferramentas de BDs. Por isso, todos os profissionais envolvidos com projetos 
de BDs necessitam compreender o modelo relacional, do qual fazem parte os 
modelos conceitual, lógico e físico (DATE, 2015).A engenharia reversa entre modelos é útil quando não se tem modelos 
de um BD ou de um modelo lógico que já existe. Ou, ainda, quando um BD 
tenha passado por modificações por um período de tempo e elas não tenham 
sido documentadas em um modelo. Esse processo contribui para uma maior 
compreensão do relacionamento entre as entidades presentes no BD. O projeto 
lógico de BD relacional faz parte da transformação de um modelo conceitual 
em lógico e de um modelo lógico em físico. Os modelos conceituais podem 
ser implementados por meio de variados modelos lógicos, sendo que cada 
um deles tem influência direta no desempenho do sistema que utilizará o 
BD. Isso porque esses modelos podem provocar maior ou menor facilidade 
de desenvolvimento e manutenção do sistema (HEUSER, 2009).
Para que a construção de um BD tenha sequência, após a definição do modelo 
lógico, é preciso definir o modelo físico, aquele que realizará a comunicação 
do BD com a aplicação utilizada pelo usuário. Todo esse processo de desen-
volvimento de um projeto de BD é ilustrado de forma resumida na Figura 2.
Figura 2. Principais fases de um projeto de banco de dados.
Fonte: Adaptada de Elmasri e Navathe (2011).
3Projeto de BD: criando BD
Laiane
Laiane
Laiane
Laiane
Laiane
Laiane
O primeiro passo é a identificação do minimundo, o qual o BD deverá re-
presentar. No minimundo, é realizado o levantamento e a análise dos requisitos. 
Os requisitos precisam ser especificados da forma mais completa possível, o 
que auxiliará a construção do projeto conceitual por meio de um esquema. 
O esquema conceitual é composto por uma descrição concisa dos requisitos, 
que envolve as entidades, as restrições e os relacionamentos necessários. 
A etapa seguinte, também presente na Figura 2, é o projeto lógico. No modelo 
lógico, deve ser considerado o modelo de dados adotado no projeto de BD 
— nesse caso, trata-se do modelo relacional (ELMASRI; NAVATHE, 2011).
As partes principais dos modelos relacionais são as tabelas ou relações, 
que são compostas por uma ou mais colunas. As colunas que servem para 
identificar as tabelas são chamadas de chaves primárias. Essas chaves pri-
márias podem ser compostas por uma ou mais colunas da tabela.
Pense em uma tabela de alunos de uma faculdade, na qual constam o nome, a matrícula 
e o CPF de cada aluno. Tanto a matrícula quanto o CPF podem ser a chave primária. Essas 
chaves auxiliam na construção dos relacionamentos entre as tabelas (COSTA, 2006).
Geralmente, os relacionamentos são representados pela migração da chave 
primária de uma tabela para outra, e essa coluna será uma chave estrangeira. 
A chave estrangeira possibilita a correlação entre linhas de diferentes tabelas.
Sobre a chave estrangeira, considere duas tabelas em um BD de uma empresa: co-
laborador e departamento. Cada colaborador está alocado em um departamento, e 
na tabela “Departamento” existe a coluna “Código_Departamento”. Para que no BD 
ocorra essa relação entre as duas tabelas, na tabela “Colaborador” existirá também 
uma coluna “Código_Departamento”, a qual será uma chave estrangeira, referenciada 
à sua tabela original.
Projeto de BD: criando BD4
Laiane
Laiane
Laiane
Laiane
Laiane
Laiane
Outra informação importante sobre a criação de tabelas é que elas podem 
representar os atributos de forma especializada ou genérica. A especialização 
se trata de informações ou dados particulares sobre um conjunto de ocorrências 
de uma tabela, enquanto a generalização trata as informações genéricas. Por 
exemplo, em uma tabela de clientes, estes podem possuir dados especializados 
sobre seu cadastro, como CNPJ, para empresas, e CPF, para pessoas físicas. 
Ou, ainda, em um cadastro de funcionários de uma empresa, alguns dados 
são comuns a todos, como nome, endereço, data de nascimento, entre outros. 
Porém, alguns podem possuir particularidades de sua carreira ou formação, 
como administradores possuem o número de registro no Conselho Regional 
de Administração e engenheiros, no Conselho Regional de Engenharia e 
Agronomia (COSTA, 2006).
A fase final é o projeto físico, como pode ser visto na Figura 2, no qual 
são consideradas as características específicas do SGBD que será utilizado 
na implantação do BD. No projeto físico, além dos relacionamentos, das 
tabelas e das colunas, estão descritos os tipos de dados para cada coluna, 
e há a preocupação com a linguagem de criação das tabelas no BD (ELMASRI; 
NAVATHE, 2011). 
O processo de construção do BD, do projeto conceitual ao físico, é uma das responsa-
bilidades do administrador do BD, ou DBA (do inglês database administrator). Cabe a ele 
realizar a interação com os usuários do BD, para entender quais dados necessitam ser 
armazenados no SGBD e como eles serão utilizados. Somente com esse conhecimento 
será possível projetar tanto o esquema conceitual quanto o físico (RAMAKRISHNAN; 
GEHRKE, 2011).
Portanto, todas as etapas de construção de um projeto de BD são interde-
pendentes. Isso quer dizer que uma depende do resultado da outra, mas também 
que uma compreensão incorreta da análise dos requisitos, por exemplo, tem 
influência direta no resultado final e pode comprometer o posterior funcio-
namento do BD como um todo.
5Projeto de BD: criando BD
Laiane
Laiane
Laiane
Laiane
Laiane
2 Projeto lógico de banco de dados 
com Workbench
Conforme citado anteriormente, o projeto lógico é a etapa do projeto de BD em 
que é criado um esquema lógico de acordo com o SGBD que for selecionado, 
para representar os esquemas da modelagem conceitual. Essa fase pode ser 
descrita em duas partes principais:
 � mapeamento do modelo de dados independente do sistema, em que 
ainda não são levadas em conta as especificações do SGBD; e
 � ajuste para um SGBD específico, momento no qual há a preocupação 
com os recursos de modelagem e restrições próprias.
O resultado da segunda parte são os comandos DDL (Data Definition 
Language, ou Linguagem de Definição de Dados) na linguagem utilizada no 
SGBD escolhido para o projeto físico (ELMASRI; NAVATHE, 2011).
Veja agora um exemplo, para ilustrar a construção de um projeto de BD. 
Trata-se do BD chamado “Escola”. Ele é utilizado para o registro de professo-
res, alunos, turmas e disciplinas — portanto, esse é o seu minimundo, a parte 
da escola observada. Trata-se de uma escola que atende a alunos do ensino 
fundamental. A descrição dos requisitos de dados, obtida no levantamento e 
na análise dos requisitos, é apresentada a seguir.
 � A escola conta com diferentes professores, que, de acordo com sua 
formação, ministram diferentes disciplinas. Eles possuem como exclu-
sivos os dados nome, CPF e um código interno, o código do professor. 
Portanto, um professor pode atender a diferentes disciplinas. 
 � Já as turmas são utilizadas para alocar os alunos, bem como para dividir 
os alunos de acordo com o ano em que estão matriculados. Para os 
alunos, são registrados dados pessoais como nome, endereço, data de 
nascimento e contato.
Para a modelagem lógica deste exemplo, utilizou-se o MySQL Workbench 
e, para sua transformação em projeto físico, o SGBD MySQL Community. 
Essas duas ferramentas são classificadas como open source (código aberto), 
o que permite sua utilização de forma gratuita, desde que não seja para fins 
comerciais. Para fins comerciais, existe uma licença específica, que precisa 
ser paga. Seu download está disponível na página do MySQL.
Projeto de BD: criando BD6
Laiane
Laiane
Laiane
Laiane
Laiane
Laiane
O MySQL Workbench é uma ferramenta visual que possibilita a modelagem 
de dados com modelos relacionais, voltados para a Linguagem de Consulta 
Estruturada (SQL, do inglês Structured Query Language), entre outras funções. 
Ela é compatível com os sistemas operacionais Linux, Mac OS X e Windows 
(MYSQL, 2020).
O desenvolvimento do projeto do BD “Escola” depende da definição de 
diferentes entidades, entre elas: professor, alunos, turmas e disciplinas. Cada 
entidade representa uma parte do minimundoque existe de forma indepen-
dente, que pode ser física, como um aluno, ou apenas conceitual, como um 
departamento da escola. 
O modelo relacional trata um BD como um conjunto de relações. Nesse 
caso, as entidades, representadas no modelo conceitual, são transformadas em 
tabelas, que, na terminologia formal do modelo relacional, são as relações. 
Os atributos das entidades passam a ser tratados por colunas dessas tabelas, 
também chamadas de cabeçalhos. E as linhas das tabelas, que armazenam os 
dados propriamente ditos, são chamadas de tuplas. Veja na Figura 3 a relação 
“Aluno”, na qual são especificadas as tuplas e os atributos.
Figura 3. Atributos e tuplas de uma relação “Aluno”.
Tuplas
Nome da relação
Atributos
Aluno
Ana Silva
Nome Cpf Telefone Endereco Data de nascimento Media
111.222.333-54 (11)1234567 Rua 1, 123 01/02/2010 3,22
5,89
7,86
01/11/2012
14/09/2010
Rua 2, 123
Rua 3, 123
NULL
(48)2345678
222.333.444-55
333.444.555-56
Bruno Soares
José Santos
Entre os atributos, são escolhidos identificadores de cada relação, os quais 
compõem as chaves primárias, quando internos, e as chaves externas ou estran-
geiras, quanto externos às relações. Quando as tabelas armazenarem dados, 
eles serão alocados nas linhas de acordo com as informações respectivas à 
coluna. Além disso, é necessário definir o tipo de dados que pode ser inserido 
em cada tupla; esse tipo é representado por um domínio de possíveis valores.
7Projeto de BD: criando BD
Laiane
Laiane
Laiane
Laiane
Laiane
Laiane
No caso da entidade “Professor”, seus atributos são: CPF, nome, endereço, 
sexo, salário, CPF do coordenador e código da disciplina. Dessa forma, a tabela 
“Professor” possui respectivamente as seguintes colunas: Cpf, NomePro-
fessor, Endereço, Sexo, Salario e CodDisciplina, tendo como 
código identificador e chave primária a coluna Cpf. Já a entidade “Disciplina” 
conta com: nome da disciplina (NomeDisciplina), código da disciplina 
(CodDisc) e CPF do coordenador (CpfCoordenador). Já “Turma” pos-
sui: nome (TurmaNome), código (CodTurma) e sala (TurmaSala). Neste 
exemplo, as chaves primárias são o CPF do professor, o código da disciplina 
e o código da turma.
O esquema relacional das tabelas “Professor”, “Disciplina” e “Turma” pode 
ser descrito da seguinte forma, com a chave primária sublinhada:
Professor (Cpf, NomeProfessor, Endereco, Sexo, Salario, 
CodDisciplina, CodT)
 CodDisciplina referencia Disciplina
 CodT referencia Turma
Disciplina (CodDisc, NomeDisciplina, CpfCoordenador)
Turma (CodTurma, TurmaNome, TurmaSala)
O que significa que a tabela “Professor” tem relação com as tabelas “Dis-
ciplina” e “Turma” por meio de suas chaves primárias, que, em cada uma das 
outras tabelas, são descritas de formas diferentes, mas remetem ao mesmo 
valor. É importante perceber essas relações, pois contribuem na construção 
do modelo seguinte, o físico.
Não se aconselha transcrever diretamente os nomes dos atributos para os 
nomes das colunas. É preciso ter em mente que esses nomes serão referenciados 
com frequência em sistemas; por isso, para diminuir o trabalho dos progra-
madores, costuma-se utilizar nomes curtos. Da mesma forma, em SGBDs 
relacionais, os nomes das colunas não podem conter espaços em branco ou 
hifens — para evitá-los, utilizam-se abreviações (HEUSER, 2009).
Na Figura 4, é apresentado o modelo lógico da relação entre as entidades 
do exemplo anterior. Veja que foi necessário definir o tipo dos dados para os 
atributos. Nesse exemplo, foram utilizados os tipos char, em atributos cujos 
dados possuem tamanhos predefinidos, varchar para caracteres variáveis, 
date para datas e int para valores inteiros. Da mesma forma que o esquema 
de dados relacional, nesse modelo lógico, as relações entre as entidades são 
realizadas de acordo com as chaves primárias e estrangeiras.
Projeto de BD: criando BD8
Laiane
Laiane
Laiane
Laiane
Figura 4. Modelo lógico do banco de dados “Escola”.
Nesse caso, a entidade com relação por chave secundária depende da chave 
primária da outra entidade. Isso pode ser identificado no atributo “CodTurma”, 
que é a chave primária da tabela “Turma” e se relaciona como secundária para 
a tabela “Professor”. Na próxima seção, o modelo lógico do BD “Escola” será 
utilizado para a construção do modelo físico. 
3 Modelo físico de banco de dados para MySQL
O projeto e o modelo físico do BD envolvem a escolha de estruturas específicas 
para armazenar os dados de arquivos e como realizar o acesso a esses dados, 
para que as aplicações que utilizem o BD apresentem bom desempenho. Esse 
desempenho depende diretamente do tamanho e do número de registros em 
cada arquivo. Por isso, é necessário estimar a quantidade de parâmetros em 
cada arquivo e o seu padrão de atualização e recuperação em cada transação 
(ELMASRI; NAVATHE, 2011).
Isso quer dizer que cabe ao DBA elaborar os modelos do BD, de acordo 
com o fluxo de utilização das tabelas, a fim de não sobrecarregar com muitos 
atributos uma única tabela, por exemplo. Ainda, cabe ao DBA pensar em 
como os relacionamentos entre as entidades ou tabelas do BD podem seguir 
de forma mais fluida, facilitando o seu tempo de acesso e de processamento.
Outro fator que deve ser levado em conta na modelagem do projeto físico do 
BD é a estimativa de crescimento de determinado arquivo, seja relacionada ao 
tamanho de seus registros, ao número de atributos ou ao número de registros. 
Isso resultará em uma determinação inicial dos caminhos de acesso e do 
armazenamento dos arquivos. É inicial pois, geralmente, é necessário realizar 
alterações no projeto, baseadas no seu desempenho, que pode ser observado 
somente após o BD ser implementado (ELMASRI; NAVATHE, 2011).
9Projeto de BD: criando BD
Laiane
Laiane
Dessa forma, o modelo físico é utilizado para especificar detalhes adicionais 
sobre o armazenamento do BD. Ele resume como as relações descritas nos 
modelos conceituais e lógicos serão armazenadas. Por isso, é utilizado para 
definir de que forma os arquivos serão armazenados e também para criar 
estruturas auxiliares de dados, os índices, que auxiliam na aceleração das 
operações de recuperação de dados (RAMAKRISHNAN; GEHRKE, 2011).
Agora, cabe voltar ao exemplo anterior, de criação de um projeto de BD 
chamado “Escola”. O MySQL Workbench, utilizado para a construção do 
modelo lógico, possibilita exportá-lo para o código MySQL, gerando o código 
necessário para a criação das tabelas, linhas e colunas, que é empregado 
no modelo físico. Posteriormente ele pode ser editado, para inclusão dos 
parâmetros adicionais necessários. Essa transformação acontece de acordo 
com os relacionamentos definidos ainda no modelo conceitual. O exemplo a 
seguir apresenta o código gerado a partir do modelo lógico do BD “Escola”, 
detalhado anteriormente na Figura 4.
CREATE TABLE `Professor̀ (
 `Cpf` int(10) NOT NULL,
 `NomeProfessor̀ varchar(35) NOT NULL,
 `Enderecò varchar(40) NOT NULL,
 S̀exò varchar(10) NOT NULL,
 S̀aláriò int NOT NULL,
 `CodDisciplinà int(10) NOT NULL,
 `CodT` int(10) NOT NULL,
 PRIMARY KEY (̀ Cpf )̀
);
CREATE TABLE `Disciplinà (
 `CodDisc̀ int(10) NOT NULL AUTO _ INCREMENT,
 `NomeDisciplinà varchar(25) NOT NULL,
 `CpfCoordenador̀ int(10) NOT NULL,
 PRIMARY KEY (̀ CodDisc̀ )
);
Projeto de BD: criando BD10
Laiane
CREATE TABLE `Turmà (
 `CodTurmà int(10) NOT NULL AUTO _ INCREMENT,
 `TurmaNomè varchar(25) NOT NULL,
 `TurmaSalà int(5) NOT NULL,
 PRIMARY KEY (̀ CodTurmà )
);
ALTER TABLE ̀ Professor̀ ADD CONSTRAINT ̀ Professor _ fk0̀ FO-
REIGN KEY (̀ CodDisciplinà ) REFERENCES ̀ Disciplinà (̀ CodDisc̀ );
ALTER TABLE `Professor̀ ADD CONSTRAINT `Professor _ fk1̀ 
FOREIGN KEY (̀ CodT )̀ REFERENCES `Turmà (̀ CodTurmà );
No exemplo, é apresentado o código utilizado na DDL do MySQL, que 
conta com diferentes comandos, entre eles CREATE e ALTER TABLE, que são 
utilizados para criar e alterar tabelas, respectivamente. Nesse caso específico, 
o CREATETABLE aparece no começo da expressão para criar cada uma das 
tabelas, com seus respectivos atributos, acompanhados dos tipos de dados e, 
em alguns casos, do tamanho de cada campo, entre parênteses. Já o ALTER 
TABLE está sendo utilizado no código do exemplo para incluir as informações 
sobre as chaves estrangeiras (ELMASRI; NAVATHE, 2011).
Com as tabelas “Professor”, “Disciplina” e “Turma” criadas, cabe destacar 
possíveis consultas que podem ser obtidas com esse projeto de BD. A tabela que 
conta com mais atributos é a que armazenará os dados sobre os professores. 
A partir dela e de suas relações, é possível recuperar os dados pessoais de 
um professor específico, bem como as disciplinas e as turmas nas quais ele 
trabalha. Já quanto à tabela “Turma”, é possível verificar o nome da turma, 
o seu código e o número da sala na qual a turma é alocada, permitindo o 
acompanhamento por um professor ou coordenador, por exemplo. 
Portanto, ao longo deste capítulo, você pode verificar que a construção 
de um projeto de BD é importante tanto para os desenvolvedores de sistemas 
quanto para os seus usuários. Assim, ele precisa ser adequado às necessidades 
dos usuários, mas também depende de um bom planejamento, para que todas 
as etapas se complementem e alcancem o resultado esperado.
11Projeto de BD: criando BD
Laiane
A Secretaria Municipal de Educação (SME) de Duque de Caxias disponibiliza em seu site 
um material completo sobre a ferramenta MySQL. Para consultar o material, digite “SME 
duque de caxias manual MySQL” no seu mecanismo de busca e acesse o documento 
intitulado “MySQL Reference Manual”. No capítulo 2 do documento, são descritas 
as instruções básicas sobre a instalação do MySQL, o que é útil para a utilização de 
modelos físicos de BDs.
COSTA, R. L. de C. SQL: guia prático. 2. ed. Rio de Janeiro: Brasport, 2006.
DATE, C. J. Projeto de banco de dados e teoria relacional: formas normais e tudo o mais. 
São Paulo: Novatec, 2015.
ELMASRI, R.; NAVATHE, S. B. Sistemas de banco de dados. 6. ed. São Paulo: Pearson, 2011.
HEUSER, C. A. Projeto de banco de dados. 6. ed. Porto Alegre: Bookman, 2009. (Série 
Livros Didáticos Informática UFRGS).
MYSQL. MySQL workbench. [S. l.], 2020. Disponível em: https://www.mysql.com/products/
workbench/. Acesso em: 27 maio 2020.
RAMAKRISHNAN, R.; GEHRKE, J. Sistemas de gerenciamento de banco de dados. 3. ed. 
Porto Alegre: AMGH, 2011.
Os links para sites da web fornecidos neste capítulo foram todos testados, e seu fun-
cionamento foi comprovado no momento da publicação do material. No entanto, a 
rede é extremamente dinâmica; suas páginas estão constantemente mudando de 
local e conteúdo. Assim, os editores declaram não ter qualquer responsabilidade 
sobre qualidade, precisão ou integralidade das informações referidas em tais links.
Projeto de BD: criando BD12
Dica do professor
Os modelos lógicos de BD utilizam as entidades e os atributos criados no modelo conceitual para 
construir tabelas e colunas, respectivamente. Isso quer dizer que essas tabelas se referem às 
entidades, e as colunas, aos seus atributos. Dessa forma, cada modelo apresenta utilidades 
específicas, sendo que na modelagem lógica as tabelas passam a contar com chaves primárias ou 
estrangeiras, a fim de representar os relacionamentos definidos ainda na modelagem conceitual. 
Esses relacionamentos são representados por símbolos de flechas ou traços entre uma tabela e 
outra, o que varia de acordo com a ferramenta que for utilizada para desenho do modelo. A 
construção dos modelos lógicos pode ser realizada por meio de diferentes ferramentas, entre elas: 
Microsoft Visio, MySLQ Workbench, Astah Professional, SQL Power Architect e DBDesigner.
Nesta Dica do Professor, você vai ver algumas funcionalidades do DBDesigner, uma ferramenta 
alternativa e gratuita para criar modelos lógicos de BD.
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.
https://fast.player.liquidplatform.com/pApiv2/embed/cee29914fad5b594d8f5918df1e801fd/10600cc1c94854e5178ea5bf62d811b8
Exercícios
1) A modelagem é uma das metodologias utilizadas na construção de projetos de bancos de 
dados. Nesse sentido, uma das possibilidades da modelagem é a engenharia reversa. 
Assinale a alternativa que descreve corretamente uma transformação de engenharia reversa:
A) Transição de modelo lógico para físico. 
B) Transição de modelo conceitual para lógico. 
C) Transição de modelo lógico para conceitual.
D) Transição de modelo físico para tabela.
E) Transição de modelo conceitual para entidade.
2) Um projeto de banco de dados conta com diferentes fases que se complementam. Nesse 
contexto, veja as afirmações a seguir:
I – A primeira etapa é identificar o minimundo, que se trata da parcela da realidade que será 
representada no banco de dados.
II – Em seguida, realizam-se o levantamento e a análise de requisitos, fundamentais para a 
definição dos requisitos de dados, que visam à atender às necessidades dos usuários.
III – Com os requisitos dos dados, é possível construir o primeiro modelo de dados, que se 
trata do projeto conceitual, que é adequado ao SGBD escolhido.
IV – O projeto e o esquema lógico servem de base para a construção do projeto físico do 
banco de dados.
Está correto o que se afirma em:
A) I e III.
B) II e III.
C) I, II e III.
D) II e IV.
Laiane
Laiane
A construção de projetos de banco de dados envolve uma sequência de modelos, que, no caso de sistemas relacionais, é a seguinte: modelo conceitual, modelo lógico e modelo físico. A engenharia reversa envolve utilizar um modelo ou software pronto e tentar entender suas funcionalidades para, assim, construir os modelos anteriores. Portanto, utilizar um modelo lógico para construir um modelo conceitual é uma ação de engenharia reversa relacional. Nesse processo, utiliza-se o modelo ER (entidade e relacionamento), que trata das identidades únicas necessárias que vão se relacionar no banco de dados. Portanto, a engenharia reversa pode acontecer de uma etapa posterior do projeto lógico para uma anterior, ou seja, do modelo lógico para o conceitual, do modelo físico para o lógico, por exemplo. Dessa forma, a engenharia reversa não se aplica para transformar um modelo lógico para físico; um modelo conceitual para lógico; um modelo físico para tabela, pois a tabela é uma forma de representação do próprio modelo lógico; ou um modelo conceitual para entidade, pois as entidades fazem parte do modelo conceitua
Laiane
A primeira etapa de um projeto de banco de dados relacional é a definição do minimundo que será levado em conta e será representado no banco de dados. Em sequência, realizam-se o levantamento e a análise de requisitos, que servirão para a definição dos requisitos de dados, que devem atender às necessidades dos usuários. Com os requisitos dos dados definidos, é possível criar o modelo conceitual e, na sequência, o modelo lógico e o físico. O SGBD somente é escolhido a partir do modelo lógico, sendo aplicado efetivamente a partir do modelo físico.
E) I, II e IV.
3) O modelo lógico de banco de dados preocupa-se com a criação do esquema lógico, baseado 
no esquema conceitual. Nesse sentido, assinale a alternativa que descreve corretamente 
uma das ações realizadas durante o modelo lógico:
A) Identificação das entidades e dos relacionamentos entre elas.
B) Ajuste do modelo lógico para que evolua para um modelo conceitual.
C) Armazenamento dos dados e informações nas tabelas criadas.
D) Transformação das entidades em tabelas e dos atributos em colunas.
E) Transcrição de nomes de atributos para nomes de tabelas.
4) O esquema relacional faz parte do modelo lógico do banco de dados. Nesse sentido, veja o 
seguinte esquema relacional:
Agora, assinale a alternativa que descreve corretamente informações sobre a montagem da(s) 
tabela(s) referente(s) a esse esquema:
A) Serão criadas duas tabelas: uma de clientes, em que a chave primária é o nome do cliente, e 
outra de vendedores, em que achave primária é o número do vendedor.
Laiane
Laiane
Laiane
QUESTÃO 3: No modelo lógico, as entidades são transformadas em tabelas, e seus atributos, em colunas, visto que as entidades, os atributos e os relacionamentos são definidos ainda no modelo conceitual. Dessa forma, a sequência de etapas do projeto de BD segue esta ordem de desenvolvimento e aprimoramento: modelo conceitual, modelo lógico e modelo físico. O armazenamento dos dados nas tabelas acontecerá somente após o banco de dados ser implementado. O processo de transformação de entidades em tabelas e de atributos em colunas envolve a preocupação com seus nomes. No caso das colunas, não se recomenda que os nomes sejam transcritos de forma igual a como está no modelo conceitual, para evitar nomes muito longos, bem como influência na programação e no desempenho do banco de dados.
B) Serão criadas três tabelas: uma de clientes, com chave primária no CPF do cliente, outra de 
vendedor, em que a chave primária é o CPF do vendedor, e outra de referência.
C) Serão criadas duas tabelas: uma de clientes, em que a chave primária é o CPF do cliente, e 
outra de vendedores, em que a chave primária é o número do vendedor.
D) Será criada uma tabela com os atributos dos clientes e vendedores, em que a chave primária é 
o CPF do cliente.
E) Serão criadas duas tabelas: uma de clientes, em que a chave primária é o CPF do vendedor, e 
outra de referência, em que a chave primária é o número do vendedor.
5) O esquema relacional representa as entidades, definidas no modelo conceitual, já como tabelas ou 
relações de um banco de dados. Nesse sentido, observe as tabelas a seguir:
Agora, assinale a alternativa na qual é apresentado de forma correta o esquema relacional 
referente às duas tabelas apresentadas:
 A) 
Laiane
Laiane
QUESTÃO 4: O esquema relacional traz a entidade como a primeira palavra e os atributos (já com os nomes que serão empregados nas tabelas) entre parênteses, na sequência que ficarão as colunas nas tabelas. O atributo que estiver sublinhado corresponde à chave primária da tabela de dados. No exemplo de esquema relacional da questão, são apresentados os atributos de duas entidades, “Cliente” e “Vendedor”, que serão utilizados para criar duas tabelas. O atributo “CCpf”, que corresponde ao CPF do cliente, é a chave primária da tabela “Cliente”; “Vnr”, que corresponde ao número do vendedor, é uma chave estrangeira da tabela “Vendedor” na tabela “Cliente”; e “Vnumero”, que também corresponde ao número do vendedor, é a chave primária da tabela “Vendedor”.
 
B) 
 
Laiane
No esquema relacional, são apresentadas as tabelas, bem como suas colunas e as referências, se existem chaves primárias ou estrangeiras. As chaves primárias são destacadas com sublinhado na tabela em que serão representadas. Por isso, o esquema relacional da questão trata da criação de duas tabelas: uma de “Alunos”, com as colunas Cod_aluno (chave primária), Nome_aluno, Data_nasc, Endereço e Cod_turma, referenciando que o código da turma é uma chave estrangeira vinda da outra tabela, e outra tabela de “Turmas”, com as colunas Cod_turma (chave primária) e Nome_turma.
Laiane
C) 
D) 
E) 
Na prática
Os projetos de bancos de dados têm como objetivo atender às necessidades dos usuários; por isso, 
todas as etapas e modelos desse projeto precisam ser levados em conta. Ou seja, a modelagem de 
dados deve ser vista e compreendida tanto pelos usuários quanto pelos desenvolvedores como 
uma etapa necessária para a construção de um banco de dados. Para isso, é importante conhecer as 
funções de cada modelo e as ferramentas disponíveis para a sua utilização.
Uma das principais atividades para que o banco de dados seja projetado corretamente é a 
entrevista do desenvolvedor com os futuros usuários do sistemas. São eles que podem informar 
detalhadamente a importância de cada fluxo dos dados para atender à sua finalidade, o que, 
consequentemente, fornece subsídios para a criação de modelos que condizem com a realidade e 
que resultem em um banco de dados com bom desempenho.
Nesta Na Prática, você vai conhecer o caso de uma farmácia que precisa de um novo banco de 
dados.
Aponte a câmera para o 
código e acesse o link do 
conteúdo ou clique no 
código para acessar.
https://statics-marketplace.plataforma.grupoa.education/sagah/624ba47a-cad3-401d-ace0-b7047f83fce9/18cfecbe-fa7e-4029-87b6-6547c20b974d.png
 
Saiba +
Para ampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do professor:
Evolução de software na prática: alterando o sistema utilizado 
na Semana Nacional da Ciência e Tecnologia do campus 
Hortolândia
Para conhecer mais exemplos sobre a aplicação da ferramenta Workbench, consulte o artigo de 
Mariana Matias dos Santos, Daniela Marques e Gustavo Bartz Guedes, que trata dos principais 
conceitos de projeto de criação de um banco de dados e os demonstra na prática no 
desenvolvimento de um novo projeto.
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.
Projeto de banco de dados
Para aprender mais sobre os conceitos utilizados para a construção de modelos de dados utilizados 
em SGBDs relacionais, consulte o livro de Carlos Alberto Heuser que está disponível na Biblioteca 
A. Dê atenção especial aos conceitos presentes entre as páginas 119 e 130, que tratam 
especificamente sobre o assunto.
Conteúdo interativo disponível na plataforma de ensino!
Gerenciamento de Banco de Dados: Análise Comparativa de 
SGBD’S
Este artigo tem por objetivo mostrar a relação e utilizações de sistemas de gerenciamento de banco 
de dados (SGBD).
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.
http://hto.ifsp.edu.br/portal/images/thumbnails/images/IFSP/Cursos/Coord_ADS/Arquivos/TCCs/2017/TCC_Mariana_Matias_dos_Santos_HT1320742.pdf
https://www.devmedia.com.br/gerenciamento-de-banco-de-dados-analise-comparativa-de-sgbd-s/30788

Mais conteúdos dessa disciplina