













Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Resumo sobre algebra relacional SQL
Tipologia: Notas de estudo
1 / 21
Esta página não é visível na pré-visualização
Não perca as partes importantes!














● Coleção de dados inter-relacionados
● Conjunto de programas para acessar e manipular esses dados ● Gerencia a interação entre o usuário e o BD (MySql, postgreSQL…)
● Necessário realizar abstração do mundo real ● Fase imprescindível ● Identificar detalhes que podem ser eliminados ● Importante para determinar o escopo ● Decisões tomadas nesta fase podem afetar o desempenho do BD a ser projeto ● Tipos de Modelos de Dados: → Modelo Relacional → Usa coleção de tabelas para representar os dados
(Linguagem de Consulta Estruturada) ● Linguagem de banco de dados relacionais, composta de comandos que permitem aos usuários: → a criação de bancos de dados e estruturas de tabela, → a manipulação dos dados para extrair informações, e → a administração de dados. ● Linguagem padrão de BDs relacionais Tomada de decisão: Conhecimento implica familiaridade, consciência e compreensão das informações. Uso inteligente da informação possibilita boa tomada de decisões Informações são o resultado do processamento de dados para revelar seu significado. Dados são fatos brutos, dos quais podemos extrair informações Devem ser formatados adequadamente para o armazenamento, processamento e apresentação.
Definição do esquema → instruções DDL. Modificação do esquema e de organização física → eventuais alterações que reflitam os interesses da empresa. Concessão de autorização para acesso a dados → controlar as partes do BD que os usuários podem acessar. Manutenção de rotina → Backups periódicos → Garantir que haja suficiente espaço livre → Assegurar que o desempenho não seja comprometido
● Determina a estrutura do BD utilizada para armazenar e gerenciar os dados ● Bem projetado, facilita o gerenciamento dos dados e gera informações precisas e valiosas. ● Mal projetado, pode levar a uma tomada de decisão equivocada
● Técnica de modelagem conceitual de dados. ● Permite a realização da descrição abstrata dos dados a serem armazenados no BD ● Independente do SGBD ● Notação chen
● Conjunto de representações gráficas que implementam/suportam os conceitos do MER
● Empregada na construção de modelos de dados
● A representação de um modelo de dados recebe a denominação de Esquema de BD
Atributos Propriedades descritivas das entidades. Exemplo: um professor possui uma identificação exclusiva, além de nome, endereços e telefones. Tipos: → Simples : não pode ser subdividido. exemplo chen (brModelo) pé de galinha (workbench) → Composto : pode ser subdividido de modo a obter mais atributos exemplo chen (brModelo) pé de galinha (workbench) → Valor único (monovalorado): tem valor único para uma entidade em particular. → Multivalorado: pode conter mais de um valor para um mesmo registro. → Derivados: seu valor é calculado a partir de outro(s) atributo(s), não sendo necessário defini-lo como propriedade da entidade. Exemplo: idade, a partir da data_nascimento. Relacionamentos
Associações entre entidades. Nomenclatura: verbos na voz ativa/passiva Exemplos: um ALUNO frequenta uma TURMA um PROFESSOR ensina uma TURMA A cardinalidade (0,1) faz referência a PROFESSOR A cardinalidade (1,1) faz referência a DEPARTAMENTO Chen Pé de galinha Atenção : para ler o modelo, partimos de uma determinada entidade, sendo que a cardinalidade correspondente a essa entidade é representada no lado oposto do relacionamento. → Tipos de cardinalidades O máximo fica do lado direito E o mínimo do lado esquerdo
● Abstração de um objeto ou evento da realidade. ● Descrição formal (gráfica) da estrutura que armazenará os dados do usuário final. ● Permite a representação das estruturas de dados e suas características, relações e restrições ● Características gerais: ○ Processo iterativo e progressivo; ○ Tem as instruções para a criação (física) de um banco de dados que atenda as necessidades do usuário final ○ Facilita a interação e a comunicação entre o projetista, o programador de aplicação e o usuário final
● Coleção de tabelas, com nome exclusivo. ● Redundâncias são resolvidas via Normalização, ainda que as custas de perda de desempenho. ● Dispõe de uma poderosa linguagem de consulta. ● Componentes/elementos: entidades, atributos, relacionamento e restrições.
→ Tabela: composta por linhas e colunas. → Linha: composta por um conjunto de campos. → Coluna: representa um atributo, nome. → Cada interseção linha X coluna mostra um valor único. → Todos os valores de uma coluna devem se adequar a um mesmo formato. → A ordem das linhas/colunas é insignificante para o SGBD. → Cada tabela deve apresentar um atributo ou combinação de atributos que identifique cada linha exclusivamente.
● No modelo relacional elas são importantes porque garantem que cada linha (tupla) da tabela seja exclusiva. Ou seja, nenhum par de tuplas em uma tabela pode ter o mesmo valor para todos os atributos que compõe a chave.
● Permitem manipular informações em bancos de dados relacionais. ● Exemplos: SQL - lá em cima explica essa linguagem Álgebra Relacional: Permite ao usuário instruir o sistema a realizar uma sequência de operações algébricas que operam sobre as tabelas do banco de dados para obter o resultado desejado.
● Conjunto de regras que garantem a consistência dos dados. Implementadas por meio do SGBD ● O programador não precisa implementá-las. ● Restrições de integridade básicas: Integridade de Domínio → Define os valores que podem ser assumidos pelos campos de uma coluna; → Faz referência ao tipo do dado. Podem ser agrupados em três grandes grupos: -Strings -Dados numéricos -Dados relacionados com o tempo e/ou datas → É o “Datatype” Integridade de Vazio → Especifica se os campos de uma coluna podem ou não serem vazios (NN - not null) Integridade de Chave
● É um processo para avaliar e corrigir estruturas e tabelas de modo a minimizar as redundâncias de dados, reduzindo , assim, a probabilidade de ocorrência de anomalias ● Atua por uma série de etapas chamadas Formas Normais ● Necessidade: ○ Possibilidade de dados inconsistentes (projetista de BD x Projetista de banco de dados) ○ Relatórios podem apresentar resultados incorretos ○ Entradas de dados repetidas desnecessariamente
Inserção → Quando dados não podem ser inseridos, a não ser que outros também sejam Atualização → Modificar o valor de campo de um atributo em um registro pode nos obrigar a fazer a mesma modificação em um mesmo atributo, no entanto em outro registro (para não causar inconsistência)
Exclusão → Dados não podem ser excluídos, a não ser que outros dados também sejam
● Deve garantir que: ○ Cada tabela represente algo particular do mundo real; ○ Nenhum item de dados seja armazenado desnecessariamente; ○ Todas as tabelas estejam livres de anomalias de inserção, atualização e exclusão. ● Progressiva separação da relação (tabela) em um conjunto de novas relações (tabelas), baseado nas anomalias e/ou dependências identificadas. Trabalha em uma relação por vez
“A determina B” indica que conhecer o valor do atributo A possibilita determinar/conhecer o valor de B.
Diz-se que o atributo B é funcionalmente dependente do atributo A se cada valor da coluna A determina um e somente um valor da coluna B Mesmo que os valores do campo nome coincidam, o fato de existir dependência funcional em relação à ra, indica que é uma pessoa diferente (homônimo) D. Parcial: ocorre quando um atributo é dependente apenas de parte de uma chave primária composta. D. Transitiva: Ocorre quando um atributo não depende da chave primária e sim, de um outro atributo não-chave da tabela.
● Uma relação encontra-se na 2FN se, e somente se, estiver na 1FN e não possuir dependência funcional parcial ● Características a serem observadas antes de iniciar a conversão para a 2FN ○ Se as tabelas resultantes da conversão para a 1FN tiverem chave primária simples, as mesmas já estarão automaticamente na 2FN ○ A conversão para a 2FN é realizada apenas quando alguma tabela, resultante da conversão para a 1FN, possuir chave primária composta e, algum atributo não primário depender de apenas parte dessa chave ○ Como identificar os atributos não primários que dependem de apenas parte da chave primária composta? ■ Requer análise das características da aplicação (regras de negócio) ■ Traçar diagrama de dependências ■ Descrever as dependências ● Etapas ○ Etapa 1: Copiar para a 2FN a(s) tabela(s) que tiver(em) chave primária simples e/ou que, em relação as quais, não tenha sido identificada dependência parcial (no caso de tabela que tenha chave primária composta)
Resultado
● Uma relação está em 3FN se, e somente se, estiver na 2FN e não possuir dependência funcional transitiva ● Para estar na 3FN, a relação não deve ter um atributo não-chave funcionalmente dependente de outro atributo não-chave ● Análise das características da aplicação ○ Se mantido o cenário abaixo, caso a tarifa por hora for alterada para um cargo mantido por muitos funcionários, essa alteração deverá ser realizada para cada um desses funcionários. Caso esqueça de atualizar alguma tarifa, funcionários diferentes com a mesma descrição de cargo gerarão tarifas horárias diferentes ● Etapas ○ Etapa 1: Copiar para a 3FN a(s) tabela(s) que tiver(em) menos que dois atributos não-chave
○ Etapa 2: Para todas as dependências transitivas identificadas, apresente o atributo determinante como chave primária de uma nova tabela a ser criada. O atributo determinante, em relação ao qual a dependência esteja ocorrendo, deve permanecer também na tabela original ○ Etapa 3: Remover da tabela original todos os atributos dependentes (transitivos) que foram identificados, criando-os na nova tabela Resultado