Prévia do material em texto
<p>1 de 8faculdade.grancursosonline.com.br</p><p>Professor(a): Anderson Nascimento</p><p>Unidade 2 | Aula 1</p><p>Professor(a): anderson nascimento</p><p>Unidade 2 modelo relacional de Banco de dados</p><p>Aula 1 – Modelo Relacional</p><p>objetivo da aula</p><p>Conhecer o modelo relacional de dados, que define conceitos, restrições e mecanismos</p><p>de armazenamento de dados para a construção de bancos de dados do tipo relacional.</p><p>Apresentação</p><p>O modelo relacional de banco de dados é o modelo de implementação para os bancos</p><p>de dados do tipo relacional, lembrando que existem outros tipos como o não-relacional e</p><p>de objetos.</p><p>Nesta aula, você vai conhecer um pouco da história desse tipo de banco de dados, além</p><p>disso, você também vai entender os fundamentos do modelo relacional e as principais</p><p>ferramentas que apoiam o uso e a construção dos bancos de dados.</p><p>Os bancos de dados relacionais são os mais populares atualmente, assim, este conteúdo</p><p>é fundamental para que você inicie os seus estudos na área.</p><p>Vamos nessa?</p><p>1. Histórico</p><p>O modelo relacional de banco de dados foi criado pelo matemático e cientista da</p><p>computação Edgar Frank Codd, a partir do artigo “Relational Model of Data for Large</p><p>Shared Data Banks”, publicado em 1970. Este artigo descrevia as suas teorias, bastante</p><p>focadas na matemática, em particular na teoria dos conjuntos, para o armazenamento e</p><p>manipulação de dados.</p><p>Livro Eletrônico</p><p>https://faculdade.grancursosonline.com.br/</p><p>https://faculdade.grancursosonline.com.br/</p><p>2 de 8faculdade.grancursosonline.com.br</p><p>Unidade 2 | Aula 1</p><p>Professor(a): Anderson Nascimento</p><p>Figura 1: Edgar Frank Codd</p><p>Fonte: Wikipedia. Disponível em: . Acesso em: 12 de abril de 2023.</p><p>De modo simples e prático, podemos dizer que um banco de dados do tipo relacional</p><p>armazena dados em linhas e colunas, sendo as linhas as instâncias de um banco de dados,</p><p>e as colunas as suas características.</p><p>De modo genérico, esse formato se assemelha a uma planilha eletrônica, em que cada</p><p>linha representa uma instância. Por exemplo, em uma tabela aluno, cada linha trará um aluno</p><p>diferente, e cada coluna uma característica, como nome, endereço, gênero, telefone etc.</p><p>A partir do advento dos bancos de dados relacionais, os bancos de dados antigos passaram</p><p>a ser classificados como bancos de dados hierárquicos e bancos de dados em rede. Eles foram</p><p>sendo preteridos por essa nova forma de armazenar dados, porém alguns ainda continuaram</p><p>a ser utilizados, dada a dificuldade de esforço e custo que a substituição demandaria.</p><p>Essa forma de armazenar dados trouxe algumas inovações importantes, sendo a principal</p><p>delas a independência de dados, que significa que os bancos de dados não dependem mais</p><p>do software, podendo ser acessado por diversas aplicações e usuários ao mesmo tempo.</p><p>Com o surgimento dos bancos de dados relacionais, surgiram também os Sistemas de</p><p>Gerenciamento de Bancos de Dados (SGBDs), que são as ferramentas que apoiam o processo</p><p>de criação e manutenção dos bancos de dados, tornando-se uma interface importante</p><p>para que o profissional possa acessar e se comunica com os dados que foram armazenados.</p><p>Mas como podemos definir se um banco de dados é ou não relacional? Em 1985, Codd</p><p>criou treze regras para que um SGBD fosse considerado relacional. Essas regras foram</p><p>chamadas de “As 12 regras de Codd”, que forma numeradas de 0 a 12.</p><p>O conteúdo deste livro eletrônico é licenciado para MATEUS - 21516224795, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição,</p><p>sujeitando-se aos infratores à responsabilização civil e criminal.</p><p>https://faculdade.grancursosonline.com.br/</p><p>https://faculdade.grancursosonline.com.br/</p><p>3 de 8faculdade.grancursosonline.com.br</p><p>Unidade 2 | Aula 1</p><p>Professor(a): Anderson Nascimento</p><p>De acordo com Codd (1985), as 12 Regras são1:</p><p>• Regra 0 – O sistema precisa ser qualificado como relacional, como um banco de dados</p><p>e como um sistema de gerenciamento.</p><p>Para um sistema se qualificar como um sistema de gerenciamento de banco de</p><p>dados relacional (SGBD), este sistema precisa usar suas facilidades de relacionamento</p><p>(exclusivamente) para gerenciar o banco de dados.</p><p>• Regra 1 – A Regra da Informação:</p><p>Todas as informações no banco de dados necessitam estar representadas de apenas</p><p>uma forma, nomeadas por valores em posições de colunas dentro de registros de tabelas.</p><p>• Regra 2 – A Regra de Acesso Garantido:</p><p>Todos os dados necessitam ser acessíveis. Esta regra é essencialmente uma reafirmação</p><p>do requisito fundamental para chaves primárias. Diz que todo valor na base de dados</p><p>necessita ser logicamente endereçável por um nome específico do conteúdo tabela, o nome</p><p>do conteúdo da coluna e o valor da chave primária do conteúdo registro.</p><p>• Regra 3 – Tratamento Sistemático de Valores Nulos:</p><p>O SGBD deve permitir que cada campo possa permanecer nulo (ou vazio). Especificamente,</p><p>ele deve suportar uma representação de “falta de informação e informações inaplicáveis” que é</p><p>sistemática, diferente de todos os valores regulares (por exemplo, “diferente de zero ou qualquer</p><p>outro número”, no caso de valores numéricos), e independente de tipo de dados. É também</p><p>implícito que tais representações devem ser manipuladas pelo SGBD de maneira sistemática.</p><p>• Regra 4 – Catálogo Online Baseado no Modelo Relacional:</p><p>Os metadados devem ser armazenados e gerenciados como dados comuns, ou seja, em</p><p>tabelas no interior do Banco de Dados. Esses dados devem estar disponíveis aos usuários</p><p>autorizados, utilizando a linguagem de consulta padrão do Banco de Dados.</p><p>• Regra 5 – Sub-linguagem Ampla de Dados:</p><p>O sistema necessita suportar ao menos uma linguagem relacional que possua uma</p><p>sintaxe linear; possa ser utilizada interativamente ou por meio de programas; suporte</p><p>operações de definição de dados (incluindo definições de Visualizações); suporte operações</p><p>de manipulação de dados (atualização, bem como recuperação), de segurança e restrições</p><p>de integridade e transação; suporte operações de gerenciamento (begin, commit e rollback).</p><p>1 Adaptado de https://pt.wikipedia.org/wiki/12_regras_de_Codd.</p><p>O conteúdo deste livro eletrônico é licenciado para MATEUS - 21516224795, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição,</p><p>sujeitando-se aos infratores à responsabilização civil e criminal.</p><p>https://faculdade.grancursosonline.com.br/</p><p>https://faculdade.grancursosonline.com.br/</p><p>4 de 8faculdade.grancursosonline.com.br</p><p>Unidade 2 | Aula 1</p><p>Professor(a): Anderson Nascimento</p><p>• Regra 6 – Atualização por Meio de Visualizações:</p><p>Todas as Visualizações que são teoricamente atualizáveis devem ser atualizáveis</p><p>pelo sistema.</p><p>• Regra 7 – Inserção, Atualização, e Exclusão de Alto Nível:</p><p>O sistema necessita fornecer suporte à configuração do nível de operações de insert, update</p><p>e delete. Isso significa que os dados podem ser recuperados a partir de um banco de dados</p><p>relacional em conjuntos de dados construídos a partir de várias linhas e/ou várias tabelas.</p><p>Esta regra afirma que as operações de inserção, atualização e exclusão devem ser apoiadas</p><p>para qualquer conjunto recuperável e não apenas para uma única linha em uma única tabela.</p><p>• Regra 8 – Independência Física de Dados:</p><p>Aplicativos e recursos ad hoc não são afetados logicamente quando os métodos de</p><p>acesso ou as estruturas de armazenamento físico são alterados.</p><p>• Regra 9 – Independência Lógica de Dados:</p><p>Aplicativos e recursos ad-hoc não são afetados logicamente quando de alterações de</p><p>estruturas de tabela que preservem os valores originais da tabela (alteração da ordem ou</p><p>inserção de colunas). Alterações nas relações e nas visualizações causam pouco ou nenhum</p><p>impacto nas aplicações.</p><p>• Regra 10 – Independência de Integridade:</p><p>Todas as restrições de integridade necessitam ser especificadas separadamente dos</p><p>programas de aplicação e armazenadas no catálogo. É necessário que seja possível mudar</p><p>essas restrições</p><p>sem que necessariamente tenha-se que modificar as aplicações.</p><p>• Regra 11 – Independência de Distribuição:</p><p>A Distribuição de partes do SGBD em várias localidades deve ser transparente para os</p><p>usuários. Aplicações existentes necessitam continuar a operar com sucesso: quando uma</p><p>versão distribuída do SGBD é introduzida pela primeira vez e quando dados distribuídos</p><p>existentes são redistribuídos em outras localidades físicas.</p><p>• Regra 12 – A Não-Transposição das Regras:</p><p>Se o SGBD dá suporte ao acesso de baixo nível aos dados, não deve haver um modo de</p><p>negligenciar as regras de integridade dele.</p><p>Essas regras foram definidas justamente para garantir que o seu modelo fosse respeitado</p><p>ao ser utilizado em novos produtos e ferramentas de bancos de dados.</p><p>O conteúdo deste livro eletrônico é licenciado para MATEUS - 21516224795, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição,</p><p>sujeitando-se aos infratores à responsabilização civil e criminal.</p><p>https://faculdade.grancursosonline.com.br/</p><p>https://faculdade.grancursosonline.com.br/</p><p>5 de 8faculdade.grancursosonline.com.br</p><p>Unidade 2 | Aula 1</p><p>Professor(a): Anderson Nascimento</p><p>2. Bancos de dados relacionais</p><p>Uma vez que você entendeu quais são as características que fazem com que um banco</p><p>de dados seja considerado relacional, podemos destacar algumas principais características</p><p>desse tipo de tecnologia.</p><p>Os bancos de dados possuem estrutura de dados tabular, ou seja, armazena os dados</p><p>em tabelas, que são estruturas relativamente fáceis de entender. Esse processo faz com</p><p>que o armazenamento e a recuperação de dados sejam mais eficientes e fáceis de gerenciar.</p><p>Quanto à consistência, o modelo relacional permite definir relações entre tabelas,</p><p>garantindo a integridade dos dados, o que chamamos de Integridade Referencial, ou seja,</p><p>um objeto só é referenciável se ele existir.</p><p>Como abordei anteriormente, a independência dos dados e do software é outra</p><p>característica marcante no modelo relacional, porque os dados são separados do software</p><p>que os acessa. Isso permite que seja possível alterar o programa sem precisar alterar as</p><p>bases de dados, e que diferentes softwares acessem os mesmos dados.</p><p>Os bancos de dados relacionais também se destacam pela sua flexibilidade, pois permitem</p><p>a criação de querys (consultas) complexas, que podem envolver várias tabelas e condições,</p><p>tornando mais simples o processo de manipulação dos dados.</p><p>O fato de os bancos de dados relacionais serem independentes do software também</p><p>favorece o quesito da escalabilidade, ou seja, o crescimento do tamanho do banco de dados</p><p>é algo bastante simples.</p><p>Por fim, cabe destacar que os bancos de dados relacionais possuem outra característica</p><p>marcante e fundamental para o seu sucesso. Trata-se da Linguagem SQL, que é padrão no</p><p>que diz respeito à criação, manipulação, controle e consultas em qualquer SGBD.</p><p>Atualmente, os bancos de dados relacionais continuam sendo os bancos de dados mais</p><p>populares, sendo encontrados em praticamente qualquer aplicação comercial.</p><p>3. Ferramentas</p><p>Existem diversos SGBDs que permitem ao profissional utilizar bancos de dados relacionais.</p><p>Essas ferramentas apoiam o dia a dia do profissional de banco de dados na criação,</p><p>armazenamento, atualização e recuperação eficiente de dados, assim como garantem a</p><p>integridade e a segurança dos dados armazenados.</p><p>Essas ferramentas também oferecem recursos de segurança para proteger os dados</p><p>armazenados contra acesso não autorizado, controle de autenticação de usuário, backup</p><p>e recuperação de dados através de arquivos de log.</p><p>O conteúdo deste livro eletrônico é licenciado para MATEUS - 21516224795, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição,</p><p>sujeitando-se aos infratores à responsabilização civil e criminal.</p><p>https://faculdade.grancursosonline.com.br/</p><p>https://faculdade.grancursosonline.com.br/</p><p>6 de 8faculdade.grancursosonline.com.br</p><p>Unidade 2 | Aula 1</p><p>Professor(a): Anderson Nascimento</p><p>Atualmente, alguns dos principais bancos de dados relacionais são:</p><p>• Oracle Database</p><p>• Microsoft SQL Server</p><p>• MySQL</p><p>• PostgreSQL</p><p>• DB2</p><p>• MariaDB</p><p>Notem que os bancos de dados citados são todos do tipo relacionais, ou seja, armazenam</p><p>dados em relações (tabelas) organizadas em linhas e colunas. Vale a pena chamar a atenção</p><p>para isso, pois existem outros bancos de dados muito populares, como o MongoDB, Cassandra</p><p>e Redis, mas estes não são do tipo Relacional.</p><p>A Figura 2 mostra o ranking dos 10 bancos de dados mais populares em março de 2023.</p><p>Figura 2: Os 10 bancos de dados mais populares em março de 2023</p><p>Fonte: DB Engines. Disponível em: . Acesso em: 12 de abril de 2023.</p><p>Alguns desses bancos de dados são livres, como é o caso do PostgreSQL e do MySQL, ou</p><p>seja, você pode instalar em seu computador para estudar e para criar os bancos de dados</p><p>de suas aplicações.</p><p>O site https://db-engines.com/en/ranking traz não apenas o ranking dos bancos de</p><p>dados, mas também dados detalhados sobre mais de 400 ferramentas diferentes, basta</p><p>clicar em cima do nome da ferramenta que você deseja pesquisar.</p><p>Há também alguns serviços de banco de dados na Web, em que você pode praticar a</p><p>linguagem SQL sem precisar instalar nada em seu computador.</p><p>O conteúdo deste livro eletrônico é licenciado para MATEUS - 21516224795, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição,</p><p>sujeitando-se aos infratores à responsabilização civil e criminal.</p><p>https://faculdade.grancursosonline.com.br/</p><p>https://faculdade.grancursosonline.com.br/</p><p>7 de 8faculdade.grancursosonline.com.br</p><p>Unidade 2 | Aula 1</p><p>Professor(a): Anderson Nascimento</p><p>Um desses ambientes é o SQLite (https://sqliteonline.com/), que é um ambiente</p><p>agradável e fácil de usar, permitindo a criação de códigos para o próprio banco de dados</p><p>SQLite, para o MariaDB, PostgreSQL e MS SQL. A Figura 3 mostra um exemplo de código</p><p>criado na ferramenta.</p><p>Figura 3: O ambiente online do SQLite</p><p>Fonte: Elaboração própria.</p><p>Outra ferramenta livre que destaco fortemente é o PostgreSQL, que é um SGBD</p><p>excepcional, capaz de dar suporte eficaz e eficiente a praticamente qualquer projeto de</p><p>banco de dados, incluindo bancos de dados objeto-relacional e, até, NoSQL.</p><p>considerações finais da aula</p><p>Finalizamos a nossa primeira aula abordando o histórico do modelo relacional, focando</p><p>nas características desse tipo de banco de dados e nas vantagens viabilizadas pelas suas</p><p>principais qualidades.</p><p>Abordamos também as 12 Regras de Date, que apresentam 13 características que um</p><p>SGBD precisa para que uma ferramenta seja considerada um banco de dados relacional.</p><p>Destacamos ainda as características marcantes de um banco de dados relacional, como</p><p>consistência, segurança, independência de dados, flexibilidade e escalabilidade, que apoiam</p><p>o dia a dia do profissional de banco de dados.</p><p>Por fim, apresentamos uma série de ferramentas de banco de dados que podem ser</p><p>utilizadas para os seus estudos e práticas em bancos de dados relacionais.</p><p>O conteúdo deste livro eletrônico é licenciado para MATEUS - 21516224795, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição,</p><p>sujeitando-se aos infratores à responsabilização civil e criminal.</p><p>https://faculdade.grancursosonline.com.br/</p><p>https://faculdade.grancursosonline.com.br/</p><p>8 de 8faculdade.grancursosonline.com.br</p><p>Unidade 2 | Aula 1</p><p>Professor(a): Anderson Nascimento</p><p>materiais complementares</p><p>Ted Codd - O pai dos bancos de dados relacionais</p><p>2021, Aulas de Computação.</p><p>Link para acesso: https://www.youtube.com/watch?v=Bso55VPsLUc (acesso em 22</p><p>mar. 2023).</p><p>Top 10 SGBDs mais usados no mundo</p><p>2022, Hashtag Programação.</p><p>Link para acesso: https://www.youtube.com/watch?v=_f5mDCpfA2Y (acesso em 22</p><p>mar. 2023).</p><p>Referências</p><p>CODD, Edgar Frank. Is Your DBMS Really Relational?. ComputerWorld,</p><p>1985. Disponível:</p><p>em https://www.seas.upenn.edu/~zives/03f/cis550/codd.pdf. Acesso em: 22 mar. 2023.</p><p>DB ENGINES. DB-Engines Ranking. Disponível em: https://db-engines.com/en/ranking.</p><p>Acesso em: 12 abr. 2023.</p><p>ELMASRI, Ramez; NAVATHE, Shamkant B. Sistemas de Banco de Dados. 7. ed. São Paulo:</p><p>Pearson, 2016.</p><p>HEUSER, Carlos Alberto. Projeto de Banco de Dados. 6. ed. Porto Alegre: Bookman, 2015.</p><p>WIKIPEDIA. Edgar F. Codd. Disponível em: https://en.wikipedia.org/wiki/Edgar_F._Codd.</p><p>Acesso em: 12 abr. 2023.</p><p>O conteúdo deste livro eletrônico é licenciado para MATEUS - 21516224795, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição,</p><p>sujeitando-se aos infratores à responsabilização civil e criminal.</p><p>https://faculdade.grancursosonline.com.br/</p><p>https://faculdade.grancursosonline.com.br/</p><p>Aula 1 – Modelo Relacional</p><p>Aula 2 – Esquemas, Relações e Chaves</p><p>Aula 3 – Restrições do Modelo Relacional</p><p>Aula 4 – Mapeamento do Modelo Conceitual para o Lógico</p><p>Aula 5 – Modelo Físico de Dados</p>