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