Prévia do material em texto
BANCO DE DADOS SEMANA 2 Olá! Nessa semana vamos dar continuidade aos nossos estudos sobre banco de dados! Para começarmos, vamos abordar o conceito de modelos de banco de dados... Banco de dados relacional Como já vimos no material da semana 1, um banco de dados relacional apresenta informações em tabelas, com linhas e colunas. Cada coluna representa uma informação específica, que também é conhecida como campo, e cada linha é chamada de registro. Nesse modelo de banco de dados, as tabelas estão interligadas uma com a outra por meio de um campo comum. Lembra que também já comentamos a respeito? A chave primária e a chave estrangeira. Lembrando, a chave primária é encarregada de garantir a unicidade desse registro na tabela. Vantagens de um Banco de Dados Relacional (de Várias Tabelas) Esse modelo de banco de dados, ao trabalhar com o conceito de chave primária, garante a possibilidade de zerar a possibilidade de redundâncias no banco. Garante que as informações estejam planejadas e projetadas para serem exclusivas. Da mesma forma, esse modelo de banco de dados dá a possibilidade de evitar inconsistência de dados. Afinal, as tabelas estão interligadas pela chave primária e chave estrangeira. Assim, com os dados armazenados corretamente, terá um banco de dados eficiente no retorno de uma pesquisa realizada no banco. Assim como, a eficiência na execução de tarefas. Outro aspecto importante é, garantir a integridade dos dados. Ou seja, o banco de dados deve ser confiável. O usuário deve poder contar com as informações geradas no banco para tomada de decisões. A confidencialidade é outro aspecto que o banco relacional proporciona. Confidencialidade é a garantia do resguardo das informações dadas. A segurança das informações armazenadas e geradas no banco. Tabelas Relacionais Uma tabela é uma estrutura simples na qual os dados são armazenados e organizados, de forma que possibilitem a geração de informações para auxiliar os usuários. Para que um banco esteja no modelo relacional, é importante que siga algumas regras: • Cada tabela tem um nome distinto. Não podem existir entidades, ou tabelas, com o mesmo nome. • Cada tabela pode conter várias linhas, ou também chamado de registro. • Cada tabela tem um valor para identificar as linhas de forma exclusiva. • Cada coluna de uma tabela, ou também conhecido como campo, tem um nome exclusivo. • As entradas das colunas são valores únicos. • As entradas das colunas são do mesmo tipo. O Que é um Modelo Conceitual? É um conjunto de suposições baseadas no mundo real que indicarão as regras de negócio de um sistema. Ele captura as necessidades funcionais do software a ser desenvolvido, abrangendo as informações de uma empresa - os processos identificados de uma empresa. Esse modelo, geralmente se baseia nas necessidades atuais, mas também pode refletir necessidades futuras do cenário em que o software a ser criado se encontra. Ele atende às necessidades de uma empresa (o que é conceitualmente ideal), mas não trata da implementação (o que é fisicamente possível). Por isso, não é uma documentação utilizada sozinha…geralmente, vem acompanhada de uma outra documentação para complementar informações. Esse modelo se encarrega de Identificar entidades (tablas) importantes os relacionamentos entre essas entidades. Mas, nesse modelo não é possível especificar os atributos que se tornam colunas ou campos no banco de dados, nem os identificadores exclusivos (atributo que se torna a chave primária na entidade de banco de dados. O Que é um Modelo Lógico? Esse modelo inclui todas as entidades (tabelas) e seus respectivos relacionamentos. Ele é conhecido como MER (modelo entidade-relacionamento). Ele especifica todos os atributos e seus identificadores únicos - chaves primárias, de cada entidade. Uma outra observação importante, é que determina a cardinalidade dos relacionamentos. A cardinalidade interpreta o relacionamento entre entidades, onde as chaves primária e estrangeira estão conectadas. Por exemplo, na semana 1, utilizamos o exemplo a seguir, na Figura 1. Figura 1: Entidades Aluno e Dependente, relacionadas. Fonte: acervo do autor Nesse caso temos um relacionamento de um para muitos, ou seja, na tabela Aluno, o campo Id_aluno é único, até porque, trata-se de uma chave primária. Então, na tabela Alunos, cada Id_aluno é único! Mas, na tabela Dependente, o Id_aluno, pode aparecer mais de uma vez. Afinal, cada aluno pode ter um ou mais de um dependente. Calma, vamos abordar esse assunto com mais detalhes mais a frente! O Que é um Modelo Físico? O modelo físico, trata-se de uma extensão de um modelo de dados lógico. Ele define, com precisão, tipos de dados e definições de tabelas a serem criadas. Identifica views, índices e outros objetos de banco de dados. Ele descreve como os objetos devem ser implementados em um banco de dados específico, e mostra todas as estruturas de tabelas, incluindo colunas, chaves primárias e chaves estrangeiras. Etapas para Criar um Modelo de Dados Físico Modelos Físicos e Conceituais É importante especificar que a arte de planejar, desenvolver e comunicar produz um resultado desejado. Por isso, a modelagem de dados é um processo de capturar os conceitos e as regras que são importantes para formar uma empresa e mostrá-los visualmente em um diagrama. Isso pode ajudar, e muito, na hora de fazer um check list dos processos levantados relacionados às necessidades do usuário. Esse diagrama se torna a base para criar algo físico. E, então, realizar o desejo do cliente (modelo conceitual) que pode torna-se uma realidade física (modelo físico). Modelo Lógico/Conceitual Cenário de Caso Veremos a seguir um exemplo é solicitado um banco de dados de acordo com algumas regras de negócio... Modelar entidades como tabelas Modelar relacionamentos como chavess estrangeiras Modelar atributos como colunas Modificar o modelo de dados físico com base nas restrições e nos requisitos físicos Cenário de Caso: Criando um Modelo Conceitual, é gerado um modelo de dados conceitual que documenta as entidades importantes e como elas se relacionam umas com as outras. Veja a seguir na Figura 2: Figura 2: Modelo de dados conceitual de controle de publicações de um determinado autor Fonte: Oracle Academy Cenário de Caso: Criando um Modelo Lógico Um modelo de dados lógico documenta os requisitos de informação da empresa, ou seja, documenta todas as necessidades da empresa. Figura 2: modelo lógico representativo das publicações de um autor Fonte: Oracle Academy Modelo Físico: Cenário de Caso No modelo físico, todas as entidades e atributos são convertidos em tabelas e campos que as compõem. Assim, temos um cenário de caso, criando um modelo físico, que é muito utilizado no dia a dia dos desenvolvedores. Dessa forma, as tabelas, colunas e relacionamentos são especificados para dar condições de discussões em relação a melhor forma representada rem relação a situação do cenário atual. Figura 3: modelagem física de controle de publicações de autor. Fonte: Oracle Academy Entidade As entidades são informações que devem ser rastreadas, ou seja, observadas. Trata-se do nome que é dado para coisas que você pode listar (geralmente no substantivo). Um dos casos que já colocamos como exemplo, seria Aluno. No exemplo a seguir, é apresentada uma entidade de um banco de dados modelo da Oracle. A Entidade Employee (funcionário). (Figura 4) Figura 4: Entidade Employee. Fonte: Oracle Academy Tipos de Entidade Uma entidade pode ser classificada como um dos seguintes tipos: Figura 5: Tipos de entidade. Fonte: Oracle AcademyEntidades e Instâncias As entidades contêm instâncias. E uma instância de entidade é uma ocorrência única de uma entidade. Assim como as entidades representam um conjunto de instâncias que são de interesse para uma empresa específica. Veja na figura 6. Figura 6: Especificação de uma entidade. Fonte: Oracle Academy Atributos Os atributos descrevem entidades e são as informações específicas que precisam ser conhecidas. Trata-se de um detalhe de uma propriedade de valor único de uma entidade. Observe a figura 7. Figura 7: Atributos de uma entidade. Fonte: Oracle Academy Características dos Atributos Os atributos são mostrados na caixa de entidade no Diagrama de Entidade Relacionamento. Os nomes dos atributos são expressos, geralmente, no singular, com uma mistura de letras maiúsculas e minúsculas ou somente em letras minúsculas. A regra de nomenclatura, geralmente, é decidida pela empresa em que estiver trabalhando. Na maioria dos casos, o nome do atributo não deve incluir o nome da entidade porque os atributos são qualificados com o nome da entidade. Os atributos recebem uma das seguintes classificações: ⎯ Obrigatórios (nulos não são permitidos), indicados por * ⎯ Opcionais (nulos são permitidos), indicados por um o minúsculo Atributos Voláteis e não Voláteis ⎯ Os atributos voláteis são instáveis. – Exemplo: Age (idade) ⎯ Os atributos não voláteis são estáveis. – Exemplo: Birth Date (data de nascimento) Figura 8: Exemplo de um atributo não volátil Fonte: Oracle Academy Atributos Obrigatórios e Opcionais ⎯ Os atributos obrigatórios devem ter um valor. ⎯ Os atributos opcionais podem não ter um valor e podem ficar em branco (nulo) Figura 9: Exemplos de atributos obrigatórios e opcionais Fonte: Oracle Academy Atributos Únicos e Compostos ⎯ Os atributos únicos ou atômicos são aqueles que não podem ser divididos em subpartes. ⎯ Os atributos compostos são aqueles que podem ser divididos em subpartes menores que representam atributos básicos com seus próprios significados independentes. Observe o exemplo a seguir, na Figura 10. Na tabela Employee, tem o campo Name que é composto, pois se subdivide em FirsstName, MiddleName e LastName. E o atributo ID não se divide, então é Único. Figura 10: Exemplos de atributos único e composto Fonte: Oracle Academy Atributos de Valor Único e de Vários Valores Os atributos de valor único podem ter apenas um valor em uma instância específica de tempo. Por exemplo, o campo StudentLastName, ele tem apenas um valor, portanto é atributo de valor único. Já os atributos de vários valores podem ter mais de um valor por vez. Por exemplo, o campo Address. Pode ter vários valores atribuídos. Veja na Figura 11. Figura 11: Exemplos de atributos único e composto Fonte: Oracle Academy Notação de Barker: Regras para Desenhar Entidades Uma entidade é representada como um retângulo de cantos arredondados. E deve ser nomeada, e o nome deve ser colocado dentro do símbolo da entidade no canto superior esquerdo. O nome da entidade deve ser composto de letras maiúsculas, e deve ser expresso no singular. Notação de Barker: Regras para Desenhar Atributos Os atributos devem ser escritos de forma que todos, não apenas os desenvolvedores, possam entendê-los. Devem ter nome significativo. Os atributos devem ser escritos com a primeira letra de cada palavra em maiúscula e o restante em letras minúsculas. Ao lado de cada atributo deve ser colocado um símbolo,representando o tipo de atributo, obrigatoriamente. Notação de Barker: Regras para Desenhar Relacionamentos Um relacionamento pode existir entre duas entidades, no máximo. Ele pode existir na mesma entidade (recursivo). Um relacionamento tem duas perspectivas, sendo que as duas perspectivas de um relacionamento devem ser identificadas. Notação de Bachman A Entidade é representada por uma caixa, contendo os atributos e as Linhas de relacionamento. Notação de Engenharia de Informações - relacionamentos Notações de Modelo de Dados Notações de Modelo de Dados: Exemplos Identificadores Exclusivos Um identificador exclusivo é um atributo de uma entidade que cumpre as seguintes regras: é exclusivo em todas as instâncias da entidade; tem um valor não NULL para cada instância da entidade durante a vida útil da instância; tem um valor que nunca muda durante a vida útil da instância. Um UID é um atributo especial ou um grupo de atributos que identifica, de modo exclusivo, uma instância específica de uma entidade. Veja alguns exemplos: • Cada instância deve ter um identificador exclusivo. • Caso contrário, não é uma entidade. UIDs Simples vs UIDs Compostos Um UID que é um atributo único é um UID simples. No entanto, às vezes, um único atributo não é suficiente para identificar uma instância de uma entidade de modo exclusivo. Então, se o UID for uma combinação de atributos, ele será denominado UID composto. Identificador Exclusivo Artificial Um UID artificial é formado por dados atribuídos ou gerados pelo sistema. Os UIDs artificiais não ocorrem no mundo natural, mas são criados para fins de identificação em um sistema. Identificadores Exclusivos Candidatos Uma entidade pode ter mais de um UID. • UIDs candidatos: – Badge number – Payroll number Somente um dos UIDs candidatos pode ser escolhido como o UID primário. Os demais candidatos são denominados UIDs secundários. Chave Primária Um UID torna-se uma chave primária quando o modelo lógico é transformado em um banco de dados físico. Uma chave primária (PK) é uma coluna ou um conjunto de colunas que identifica de forma exclusiva cada linha de uma tabela. E ela não pode conter valores nulos. Uma PK é uma coluna de uma tabela existente ou uma coluna gerada especificamente pelo banco de dados de acordo com uma sequência definida. Ela deve conter um valor exclusivo para cada linha de dados.