Prévia do material em texto
<p>Leonardo Alves braz - 474370</p><p>Curso: Engenharia da computação</p><p>Professor: José Maria</p><p>1. Defina banco de dados relacional.</p><p>Um banco de dados que contém e permite acesso a pontos de dados vinculados é</p><p>chamado de banco de dados relacional. É baseado no modelo relacional, que organiza os</p><p>dados em uma tabela agrupando linhas e colunas. Normalmente, os dados são organizados</p><p>em diversas tabelas que podem ser conectadas entre si usando uma chave primária ou</p><p>estrangeira. Esses IDs distintos mostram as diversas ligações entre tabelas, e vários</p><p>modelos de dados são frequentemente usados para representar essas interações.</p><p>Ao combinar diversas fontes de dados e resumir o desempenho dos negócios, os analistas</p><p>utilizam consultas SQL para ajudar as empresas a obter novos insights, agilizar processos e</p><p>identificar oportunidades.</p><p>2. Diferencie relação, esquema de relação e instância de relação.</p><p>De acordo com o modelo relacional, uma relação é uma tabela bidimensional com linhas</p><p>representando registros e tuplas e colunas representando atributos e campos. Cada linha</p><p>representa uma conexão ou objeto específico definido por suas propriedades.</p><p>Os nomes dos campos, o nome do relacionamento e o domínio de cada campo são todos</p><p>especificados em um esquema de relacionamento, que também fornece os títulos da tabela.</p><p>O esquema refere-se ao domínio do atributo por nome, o que limita os valores possíveis</p><p>para este atributo. Os esquemas de relacionamento normalmente são estáticos, pois é um</p><p>desafio alterar a estrutura de um banco de dados depois que ele está instalado e em</p><p>execução.</p><p>Uma tabela ou conjunto de tuplas é uma instância de uma relação (registros, linha). Há uma</p><p>quantidade igual de campos em cada tupla. As instâncias do banco de dados podem variar.</p><p>Em resumo, a relação é a tabela em si, o esquema de relação descreve a estrutura</p><p>da tabela e a instância de relação é o conjunto atual de dados armazenados na</p><p>tabela.</p><p>3. Defina domínio de um atributo.</p><p>A faixa legal de valores permitidos para um atributo específico no código de um programa é</p><p>chamada de domínio de atributo na programação de computadores. Em uma classe de</p><p>recurso ou tabela de atributos não espaciais, especifica os valores que são permitidos em</p><p>um determinado campo. O software travará frequentemente se um valor impróprio – um que</p><p>esteja fora do intervalo permitido – for inserido. Fornecer ao usuário uma mensagem no</p><p>display descrevendo o intervalo de valores permitidos é a melhor maneira de garantir que os</p><p>valores inseridos permaneçam dentro do intervalo válido e diminuir a possibilidade de o</p><p>usuário inserir um valor excessivo acidentalmente.</p><p>4. Qual a diferença entre domínio e tipo de dados.</p><p>Um domínio é um objeto reutilizável que descreve as características técnicas de um</p><p>atributo. Ele define um intervalo de valores, que define os valores de dados permitidos para</p><p>os campos, tipos de dados, rotina de conversão, etc. Um único domínio pode ser usado</p><p>para qualquer número de campos de estrutura idêntica.</p><p>Um tipo de dados é uma classificação de dados que informa ao compilador ou interpretador</p><p>como o programador pretende usar os dados. Ele determina o tipo e o tamanho dos dados</p><p>associados a variáveis e funções. Alguns exemplos comuns de tipos de dados incluem</p><p>inteiros, caracteres, booleanos e ponto flutuante.</p><p>A principal diferença entre domínio e tipo de dados é que o domínio é um objeto reutilizável</p><p>que descreve as características técnicas de um atributo, enquanto o tipo de dados é uma</p><p>classificação que informa ao compilador ou interpretador como o programador pretende</p><p>usar os dados. O domínio define um intervalo de valores permitidos para os campos,</p><p>enquanto o tipo de dados determina o tipo e o tamanho dos dados associados a variáveis e</p><p>funções.</p><p>5. Defina grau de um esquema de relação.</p><p>A quantidade de campos (atributos) em um esquema de relação indica o seu grau. Por</p><p>exemplo, um esquema de relacionamento com quatro campos possui quatro campos em</p><p>seu grau. A aridade ou nível de uma conexão é outro termo para seu grau.</p><p>6. Diferencie esquema de instância de um banco de dados relacional.</p><p>Um esquema de banco de dados é um esboço de um banco de dados planejado. Ele</p><p>descreve a estrutura do banco de dados, incluindo tabelas, colunas, tipos de dados e</p><p>restrições. Na verdade, ele não contém dados.</p><p>Uma instância de banco de dados, por outro lado, é um retrato de um banco de dados da</p><p>forma como existia em um determinado momento. Ela contém os dados reais armazenados</p><p>no banco de dados e pode mudar ao longo do tempo à medida que novos dados são</p><p>adicionados, atualizados ou excluídos.</p><p>Sendo assim, instâncias de banco de dados podem mudar ao longo do tempo, enquanto um</p><p>esquema de banco de dados é geralmente estático, já que é difícil mudar a estrutura de um</p><p>banco de dados a partir do momento que estiver operacional. Esquemas e instâncias de</p><p>banco de dados podem se afetar mutuamente por meio de um sistema de gerenciamento</p><p>de banco de dados (DBMS). O DBMS assegura que cada instância de banco de dados</p><p>esteja em conformidade com as restrições impostas pelos designers do banco de dados no</p><p>esquema de banco de dados.</p><p>7. Defina restrição de integridade.</p><p>Restrições de integridade são usadas para garantir a exatidão e a consistência dos dados</p><p>em um banco de dados relacional. Ou seja, garantir que os dados representem</p><p>assertivamente a realidade modelada. A integridade dos dados é tratada nas bases de</p><p>dados através do conceito de integridade relacional e é garantida pelo próprio SGBD.</p><p>Para que seja possível garantir a integridade dos dados, é necessário conhecer e aplicar</p><p>determinadas restrições de armazenamento, que chamamos de Restrições de Integridade.</p><p>Essas restrições dizem respeito a aspectos como tipos dos dados armazenados,</p><p>relacionamentos entre colunas de chave primária e estrangeira, possibilidade de haver</p><p>valores nulos ou não, e regras de negócio específicas importantes requisitadas pelo cliente,</p><p>por exemplo.</p><p>8. Explique as diferenças entre superchave, chave candidata e chave primária.</p><p>Uma superchave é um conjunto de um ou mais atributos que, tomado coletivamente,</p><p>permite-nos identificar de forma inequívoca (de forma única) uma tupla no meio de uma</p><p>relação. Ou seja, é um conjunto de atributos que identificam apenas uma linha em uma</p><p>tabela.</p><p>Uma chave candidata é uma superchave de tamanho mínimo. São chamadas de chaves</p><p>candidatas por serem candidatas à chave primária da relação. Portanto, uma chave</p><p>candidata é um atributo (ou conjunto de atributos) que identificam uma tupla de forma única.</p><p>A chave candidata não pode ter seu tamanho reduzido sem que se perca a qualidade de</p><p>identificação única.</p><p>A chave primária é um atributo ou conjunto de atributos que são utilizados para identificar</p><p>de forma única uma tupla em meio de uma relação. A chave primária geralmente é a chave</p><p>candidata de menor tamanho.</p><p>Em resumo, todas as chaves candidatas são super chaves, mas o inverso não é verdadeiro.</p><p>O conjunto de super-chaves é verificado para encontrar as chaves candidatas, enquanto o</p><p>conjunto das chaves candidatas é verificado para selecionar uma única chave primária.</p><p>Super chaves são comparativamente mais numerosas que as chaves candidatas.</p><p>9. Defina chave estrangeira.</p><p>Um campo em uma tabela que faz referência à chave primária de outra tabela é chamado</p><p>de chave estrangeira. Ao criar um relacionamento entre duas tabelas, é possível unir dados</p><p>de uma tabela a outra. Considere o seguinte cenário: temos duas tabelas: uma de pessoal e</p><p>outra de departamentos. O ID do funcionário pode servir como chave principal da tabela de</p><p>funcionários, e o ID do departamento, que se refere à chave primária da tabela de</p><p>departamento, pode servir como chave estrangeira.</p><p>Ao permitir apenas valores que deveriam existir no banco de dados2, a chave estrangeira</p><p>serve para garantir a integridade dos dados referenciais. Quando as tabelas dependem</p><p>umas das outras (uma "chave estrangeira"), esse tipo de recurso evita a exclusão, alteração</p><p>ou adição de dados. Isto exige o uso de modificadores</p><p>específicos, como cascata, entre</p><p>outros. O administrador de banco de dados também deve prestar mais atenção a isso em</p><p>termos de manipulação de dados</p><p>10. Discuta as principais restrições de integridade existentes no modelo relacional</p><p>1. Integridade Referencial: assegura que valores de uma coluna em uma tabela são</p><p>válidos baseados nos valores em uma outra tabela relacionada.</p><p>2. Integridade de Domínio: valores inseridos em uma coluna devem sempre obedecer</p><p>à definição dos valores que são permitidos para essa coluna – os valores do</p><p>domínio.</p><p>3. Integridade de Vazio: verifica se um campo pode ou não receber valor NULL.</p><p>4. Integridade de Chave: impede que uma chave primária se repita.</p><p>5. Integridade Definida pelo Usuário: regras de negócio específicas importantes</p><p>requisitadas pelo cliente, por exemplo.</p><p>Essas restrições são usadas para garantir a exatidão e a consistência dos dados em um</p><p>banco de dados relacional, ou seja, garantir que os dados representem assertivamente a</p><p>realidade modelada. A integridade dos dados é tratada nas bases de dados através do</p><p>conceito de integridade relacional e é garantida pelo próprio SGBD.</p><p>11. Quais restrições de integridade podem ser violadas durante uma inclusão?</p><p>Exclusão? Alteração de uma tupla?</p><p>1. Integridade Referencial: pode ser violada durante a exclusão de uma tupla se a</p><p>tupla excluída é referenciada por outra tabela através de uma chave estrangeira.</p><p>Também pode ser violada durante a inclusão ou alteração de uma tupla se o valor da</p><p>chave estrangeira inserido ou alterado não corresponder a nenhum valor da chave</p><p>primária na tabela referenciada.</p><p>2. Integridade de Domínio: pode ser violada durante a inclusão ou alteração de uma</p><p>tupla se o valor inserido ou alterado não estiver dentro do intervalo de valores</p><p>permitidos para o domínio do atributo.</p><p>3. Integridade de Vazio: pode ser violada durante a inclusão ou alteração de uma</p><p>tupla se um valor NULL for inserido em um campo que não permite valores NULL.</p><p>4. Integridade de Chave: pode ser violada durante a inclusão de uma tupla se o valor</p><p>da chave primária inserido já existir na tabela.</p><p>Essas são algumas das restrições de integridade que podem ser violadas durante a</p><p>inclusão, exclusão ou alteração de uma tupla em um banco de dados relacional.</p>