Introdução a Banco de Dados

Tamanho: px
Começar a partir da página:

Download "Introdução a Banco de Dados"

Transcrição

1 Disciplina: MODELAGEM DE BANCO DE DADOS Introdução a Banco de Dados 1. Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído por um conjunto de dados associados a um conjunto de programas para acesso a esses dados. O principal objetivo de um SGBD é proporcionar um ambiente tanto conveniente quanto a eficiente para a recuperação e armazenamento das informações do banco de dados. Sistemas de banco de dados são projetados para gerir grandes volumes de informações. O gerenciamento de informações implica a definição das estruturas de armazenamento das informações e da definição dos mecanismos para a manipulação dessas informações. Também um sistema de banco de dados deve garantir a segurança das informações armazenadas contra eventuais problemas com o sistema, além de impedir tentativas de acesso não autorizadas. Também se os dados são compartilhados por diversos usuários o sistema deve evitar a ocorrência de resultados anômalos. 2. Por que Sistemas de Banco de Dados

2 Um Sistema de processamento de arquivos convencional onde, registros permanentes são armazenados em vários arquivos e diversos programas de aplicação são escritos para extrair e gravar registros nos arquivos apropriados, podem ser apropriadamente gerenciados pelos sistemas operacionais existentes. Mas, estes sistemas apresentam numerosas desvantagens: Inconsistência e Redundância de Dados: Como arquivos e programas normalmente são criados e mantidos por diferentes programadores, em geral é comum que os arquivos possuam formatos diferentes e os programas estejam escritos em diferentes linguagens de programação. Além disso, a mesma informação pode estar repetida em mais de um arquivo. Dificuldade de Acesso aos Dados: Normalmente em um sistema de processamento de arquivos comum, quando existe uma necessidade de uma relação de empregados, por exemplo, segundo uma determinada condição, se esta situação não tiver sido prevista inicialmente no sistema, é necessário que um novo programa seja desenvolvido e que gere esta lista solicitada. O fato é que este ambiente não está preparado para atender as necessidades de recuperação de informações de modo eficiente. Isolamento dos Dados: Como os dados estão dispersos em vários arquivos, e estes arquivos podem apresentar diferentes formatos, é difícil escrever novas aplicações para a recuperação apropriada destes dados. Problemas com Integridade: Os valores dos dados atribuídos e armazenados em um banco de dados devem

3 satisfazer certas restrições para manutenção da consistência. O problema aumenta quando as restrições atingem diversos itens de dados em diferentes arquivos. Problemas de atomicidade: Um sistema computacional está sujeito a falhas. E imprescindível garantir que, uma vez detectada uma falha, os dados sejam salvos em seu último estado consistente, anterior a ela. Por exemplo, uma operação de transferência bancária entre contas correntes, deve ser uma operação atômica, ou seja, deve ocorrer por completo, ou não ocorrer. Anomalias no acesso concorrente: Muitos sistemas permitem atualizações simultâneas dos dados para aumento do desempenho do sistema como um todo e para melhores tempos de resposta. Este tipo de interação pode resultar em inconsistência de dados. Por exemplo, dois saques simultâneos a uma mesma conta corrente. Problemas de Segurança: Nem todos os usuários de banco de dados estão autorizados ao acesso a todos os dados. Em um sistema bancário, por exemplo, os funcionários do departamento de pessoal não deveriam ter acesso a informações dos clientes do banco, só apenas ao conjunto de pessoas ao qual o seu departamento lhe diz respeito. Estas e outras dificuldades provocaram o desenvolvimentos dos SGBDs. Iniciaremos o estudo dos sistemas de bancos de dados, mostrando, para isso, conceitos e algoritmos que foram desenvolvidos para a efetiva manipulação dos mesmos.

4 Linguagens de Banco de Dados e Tipos de Usuários 1. Linguagens de Banco de Dados Um sistema de banco de dados proporciona dois tipos de linguagens: uma específica para os esquemas do banco de dados e outra para expressar consultas e atualizações. 1.2 Linguagens de Definição de Dados Um esquema de banco de dados é especificado por um conjunto de definições expressas por uma linguagem especial chamada linguagem de definição de dados (data-definition language - DDL). O resultado da compilação dos parâmetros DDLs é armazenado em um conjunto de tabelas que constituem um arquivo especial chamado dicionário de dados ou diretório de dados. Um dicionário de dados é um arquivo de metadados, isto é, dados a respeito de dados. A estrutura de memória e o método de acesso usados pelo banco de dados são especificados por um conjunto de definições em um tipo especial de DDL chamado de linguagem de definição e armazenamento de dados (data storage and definition language). 1.3 Linguagens Manipulação de Dados

5 Os níveis de abstração que foram discutidos anteriormente não se aplicam apenas à definição ou a èstrutura dos dados, mas também à sua manipulação. Por manipulação de dados, entendese: A recuperação das informações armazenadas no banco de dados. Inserção de novas informações no banco de dados. A remoção de informações do banco de dados. A modificação das informações do banco de dados. A linguagem de manipulação de dados (DML) é a linguagem que viabiliza o acesso ou a manipulação dos dados de forma compatível ao modelo de dados apropriado. São basicamente dois tipos: DMLs procedurais exigem que o usuário especifique quais dados são necessários, e como obtê-los. DMLs não-procedurais exige que o usuário especifique quais dados são necessários sem especificar como obtê-los. Uma consulta é uma solicitação para a recuperação de informações. A parte de uma DML que é responsável pela recuperação de informações é chamada linguagem de consultas (query language). 1.4 Gerenciamento de Transações Muitas vezes diversas operações em um banco de dados constituem de uma única unidade lógica de trabalho. Como o caso da transferência de créditos entre duas contas-correntes. A transferência deve acontecer como um todo ou nada deve ser

6 feito. Essa característica de tudo ou nada, é chamado de atomicidade. Além disso, é necessário que a transferência de fundos preserve a consistência do banco de dados. Essa exigência é chamada de consistência. Depois da execução com sucesso da operação de transferência, os novos valores devem persistir, a despeito da possibilidade de falhas no sistema. Essa persistência é chamada de durabilidade. Uma transação é uma coleção de operações que desempenha uma função lógica única dentro de uma aplicação do sistema de banco de dados. Cada transação é uma unidade de atomicidade e consistência. Assim, exige-se que as transações não violem nenhuma regra de consistência do banco de dados. É de responsabilidade do programador definir as diversas transações tais que cada uma preserve a consistência do banco de dados. É de responsabilidade do sistema de banco de dados assegurar as propriedades de atomicidade e durabilidade no gerenciamento das transações. É de sua responsabilidade também detectar falhas e recuperar o banco de dados garantindo o retorno de seu último estado consistente. Outra responsabilidade importante diz respeito ao controle de concorrência, que consiste de controlar a interação entre transações concorrentes de modo a garantir a consistência do banco de dados. 1.5 Administração de Memória

7 Os bancos de dados, normalmente, ocupam um grande volume de memória. Este tamanho muitas vezes pode chegar não só a gigabytes, mas também a terabytes. Um gerenciador de memória é um módulo de programas para interface entre o armazenamento de dados em um nível baixo e consultas e programas submetidos ao sistema. O gerenciador de memória é responsável pelo armazenamento, recuperação e atualização de dados no banco de dados. 1.6 Administrador de Banco de Dados Uma das grandes motivações de uso de SGBDs é o controle centralizado tanto de dados quanto dos programas de acesso a esses dados. A pessoa que centraliza esse controle do sistema é chamada de administrador de banco de dados (DBA). Dentre as suas funções, destacam-se: Definição do esquema. O DBA cria o esquema do banco de dados original escrevendo um conjunto de definições que são transformadas pelo compilador DDL em um conjunto de tabelas armazenadas de modo permanente no dicionário de dados. Definição da estrutura de dados e métodos de acesso. O DBA cria estruturas de dados e métodos de acesso apropriados escrevendo um conjunto e definições, as quais são traduzidas pelo compilador de armazenamento de dados e pelo compilador de linguagem de definição de dados. Esquema e modificações na organização física. Os programadores realizam relativamente poucas alterações no esquema do banco de dados ou na descrição da organização física de armazenamento.

8 Fornecer autorização de acesso ao sistema. O fornecimento de diferentes tipos de autorização no acesso aos dados permite que o administrador de dados regule o acesso dos diversos usuários às diferentes partes do sistema. Especificação de regras de integridade. Os valores dos dados armazenados no banco de dados devem satisfazer certas restrições para manutenção de sua integridade. 1.7 Usuários de Banco de Dados Há quatro tipos básicos de usuários de sistemas de banco de dados, cuja diferença refere-se a suas expectativas de interação com o sistema. Programadores de aplicações. São profissionais em computação que interagem com o sistema por meio das chamadas DML, as quais são envolvidas por programas escritos na linguagem hospedeira. Estes programas são comumente referidos como programas de aplicação. Usuários sofisticados. Interagem com o sistema sem escrever programas. Formulam suas solicitações ao banco de dados por meio de linguagens de consultas. Cada uma dessas solicitações é submetida ao processador de consultas. Usuários especialistas. São usuários sofisticados que escrevem aplicações especializadas de bancos de dados que não podem ser classificadas como aplicações tradicionais em processamento de dados.

9 Usuários navegantes. São os usuários comuns que interagem com o sistema chamando um dos programas aplicativos permanentes já escritos, como por exemplo, um usuário que pede a transferência de uma conta para outra.

10 Considerações Básicas, Abstração e Modelos de Dados Bancos de Dados e Sistemas de Banco de Dados têm se tornado um componente essencial todos os dias da vida moderna. Aplicações de banco de dados tradicionais dizem respeito a sistemas bancários, sistemas de reservas aéreas, sistemas de controle de estoque. Com o avanço da tecnologia, novos tipos de bancos de dados foram desenvolvidos, com aplicações e uso específicos. Bancos de Dados Multimídia podem, por exemplo, armazenar figuras, vídeoclips e mensagens de sons. Bancos de Dados Geográficos podem armazenar e analisar mapas, dados climáticos e imagens de satélite. DataWarehouses e Processamentos Analítico On-line (OLAP) são sistemas usados em muitas empresas para extrair e analisar informações úteis de sistemas de banco de dados muito grandes para a tomada de decisões. Tecnologias de Tempo Real e de Banco de Dados Ativos são usados no controle industrial e em processo de manufatura. Técnicas de busca em bancos de dados, com aplicações na Web, têm melhorado a eficiência dos mesmos. No entanto, temos que entender o básico das aplicações de banco de dados tradicionais. Um banco de dados pode ser considerado como uma coleção de dados relacionados. Por dado entendem-se fatos conhecidos que podem ser armazenados e que possuem um significado implícito. Um banco de dados possui as seguintes propriedades implícitas:

11 Representa alguns aspectos do mundo real, muitas vezes chamado de mini-mundo ou universo do discurso. É uma coleção de dados logicamente coerente com alguns significados inerentes aos mesmos. É projetado, construído e povoado com dados para um propósito específico. Um banco de dados pode ser de qualquer tamanho e de complexidade variada. Pode ser gerado e mantido manualmente ou pode ser computadorizado. Um Sistema de Gerenciamento de Banco de Dados é uma coleção de programas que permitem que usuários criem e mantenham um banco de dados. Um SGBD é também um sistema de software de propósito geral que facilita o processo de definição, construção e manipulação de banco de dados para várias aplicações. A definição de um banco de dados envolve especificação de tipos de dados, estruturas e restrições para que os dados possam ser armazenados no banco de dados. A construção do banco de dados é o processo de armazenamento de dados em algum armazenamento médio que é controlado pelo SGBD. A manipulação do banco de dados inclui tais funções como consulta a banco de dados para recuperar dados específicos e a atualização destes dados. Chamaremos de Sistema de Banco de Dados, o banco de dados e o SGBD, juntos. A Figura 1 mostra a estrutura de um Sistema de Banco de Dados.

12 Figura 1 Um Ambiente de Sistema de Banco de Dados 3. Abstração de Dados Um SGBD, como já dissemos, é uma coleção arquivos e programas inter-relacionados que permitem ao usuário o acesso para consultas e alterações a esses dados. Um dos grandes benefícios de um sistema de banco de dados é permitir aos usuários, uma visão abstrata dos dados.

13 Um sistema precisa ser eficiente na recuperação de informações. Esta eficiência muitas vezes está relacionada com a complexidade internas das estruturas de representação destes dados. Esta complexidade precisa ser transparente para os usuários, ou seja, através dos níveis de abstração, os SGBDs omitem a complexidade de armazenamento e manutenção dos dados que estão sendo manipulados, de modo a facilitar a interação dos usuários com o sistema. Nível Físico: é o nível de abstração mais baixo e descreve como os dados estão de fato armazenados. Nível Lógico: este é o nível de abstração médio, que descreve quais dados estão armazenados no banco de dados e quais são os inter-relacionamentos entre eles. O nível lógico é normalmente usado pelos administradores que precisam decidir quais as informações que precisam estar no banco de dados. Nível de Visão: Este nível de abstração mais alto que descreve apenas parte do banco de dados. Muitos usuários dos bancos de dados nem precisam conhecer todas as informações armazenadas. Para isso, níveis de visão são definidos de modo que as interações sejam simplificadas. A figura abaixo mostra o inter-relacionamento entre estes três níveis de abstração:

14 Figura 2 Três níveis de Abstração de dados Podemos fazer uma analogia dos níveis de abstração com tipos de dados em linguagens de programação. Por exemplo, dada a estrutura abaixo: Type cliente = record Nome_cliente : string; Seguro_social : string; Rua_cliente : string; Cidade_cliente : string; end; No nível físico, um registro de cliente pode ser escrito como um bloco consecutivo de memória. No nível lógico, cada registro é descrito por um tipo definido, como ilustrado no segmento de

15 código acima. Normalmente os programadores e administradores do banco de dados trabalham neste nível de abstração. No nível de visão, os usuários vêem apenas um conjunto de programas de aplicação que escondem os detalhes dos tipos de dados. 3.1 Instâncias e Esquemas Um banco de dados muda ao longo do tempo por meio das informações que nele são inseridas ou excluídas. O conjunto de informações contidas em determinado banco de dados em um dado momento é chamado instância do banco de dados. O projeto geral do banco de dados é chamado de esquema. Fazendo uma análise comparativa com o exemplo dado de clientes, acima, uma variável poderia ser declarada como: Var cliente1 : cliente; A definição de tipo em uma linguagem de programação corresponde ao esquema do banco de dados. O valor em um dado instante de uma variável de um determinado tipo, corresponde a uma instância do esquema do banco de dados. Os sistemas de banco de dados apresentam diversos esquemas, referentes aos níveis de abstração que foram discutidos. Em geral os sistemas de banco de dados são suporte a um esquema físico, um esquema lógico e vários subesquemas.

16 A capacidade de modificar a definição dos esquemas em determinado nível, sem afetar o esquema do nível superior, é chamado independência de dados. Existem dois níveis de independência de dados: a. Independência física de dados b. Independência lógica de dados 4. Modelos de Dados Um modelo de dados é um conjunto de ferramentas conceituais utilizadas para a descrição de dados, relacionamento entre esses dados, semântica de dados e regras de consistência. Os modelos são classificados em três diferentes grupos: modelos lógicos com base em objetos, modelos lógicos com base em registros e modelos físicos. 4.1 Modelos Lógicos com base em Objetos Os modelos lógicos com base em objetos são usados na descrição de dados no nível lógico e de visões. Existem vários modelos desta categoria, tais como: Modelo Entidade-Relacionamento Modelo Orientado a Objetos Modelo Semântico de Dados Modelo Funcional de Dados

17 4.1.1 Modelo Entidade-Relacionamento O modelo de dados entidade-relacionamento (E-R) tem como base a percepção do mundo real como um conjunto de objetos básicos, chamados de entidades, e do relacionamento entre eles. Uma entidade é uma coisa ou um objeto do mundo real, que pode ser identificado por outros objetos. As entidades são descritas no banco de dados por meio de seus atributos. Um relacionamento é uma associação entre entidades. Além das entidades e dos relacionamentos, o modelo E-R representa certas regras as quais o conteúdo do banco de dados precisa respeitar Modelo Orientado a Objetos O modelo orientado a objetos, assim como o E-R, tem por base um conjunto de objetos. Um objeto contém valores armazenados em variáveis instâncias dentro do objeto. Um objeto também contém conjuntos de códigos que operam este objeto. Estes conjuntos de códigos são chamados de métodos. Os objetos que contém os mesmos tipos de valores e os mesmos métodos são agrupados em classes. Onde uma classe pode ser vista como uma definição de tipo para objetos. 4.2 Modelos Lógicos Baseados em Registros Modelos lógicos baseados em registros são usados para descrever os dados no nível lógico e de visão. É usado tanto para especificar a estrutura lógica do banco de dados quanto para

18 implementar uma descrição de alto nível. Dos três modelos apresentados, o modelo relacional é o que mais tem se destacado nos últimos anos. O modelo hierárquico e de rede é ainda usado em um grande número de banco de dados antigos Modelo Relacional O modelo relacional usa um conjunto de tabelas para representar tanto os dados como a relação entre eles. Cada tabela possui múltiplas colunas e cada uma possui um único nome Modelo de Rede O modelo de rede representa os dados por um conjunto de registros e as relações entre esses registros são representadas por links, as quais podem ser vistas pelos ponteiros. Os registros são organizados no banco de dados por um conjunto arbitrário de gráficos Modelo Hierárquico O modelo hierárquico é similar ao modelo de rede pois os dados e suas relações são representados também por registros e links. A diferença é que no modelo hierárquico os registros estão organizados em árvores ao invés de gráficos arbitrários. 4.3 Modelos Físicos de Dados

19 Os modelos físicos de dados são usados para descrevê-los no nível mais baixo. Há poucos modelos físicos de dados em uso. Dois deles são conhecidos: o modelo unificado, e o modelo de partição de memória.

20 Modelo Entidade-Relacionamento 1. Conceitos básicos O modelo Entidade-Relacionamento (E-R) tem por base a percepção de que o mundo real é formado por um conjunto de objetos chamados de entidades e pelo conjunto de relacionamentos entre esses objetos. Foi desenvolvido para facilitar o projeto do banco de dados, permitindo a especificação do esquema da empresa que representa toda a estrutura lógica. O modelo E-R é um dos modelos com maior capacidade semântica; que se referem a tenativa de representar o significado dos dados. Existem três noções básicas empregadas pelo modelo E-R: conjunto de entidades, conjunto de relacionamentos, e os atributos Conjunto de Entidades Uma entidade é uma coisa ou um objeto do mundo real que pode ser identificada de forma unívoca em relação a todos os outros objetos. Por exemplo, cada pessoa na empresa é uma entidade. Uma entidade tem um conjunto de propriedades, e os valores para alguns conjuntos dessas propriedades devem ser únicos. Uma entidade pode ser concreta como uma pessoa ou um livro, ou pode ser abstrata como um empréstimo, uma viagem de férias ou um conceito.

21 Um conjunto de entidades é um conjunto de abrange entidades de um mesmo tipo que compartilham as mesmas propriedades: os atributos. As entidades individuais que constituem um conjunto são chamadas de extensões do conjunto de entidades. Uma entidade é representada por um conjunto de atributos. Atributos são propriedades descritivas de cada membro de um conjunto de entidades. Formalmente um atributo de um conjunto de entidades é uma função que relaciona o conjunto de entidades a seu domínio. Um atributo, como é usado no modelo E-R, pode ser caracterizado pelos seguintes tipos: Atributos Simples ou compostos. Os atributos simples são aqueles que não são divididos em partes. Os compostos podem ser divididos em partes, por exemplo, nome_cliente, pode ser estruturado em prenome, nome_intermediário, e sobrenome. Os atributos compostos ajudam-nos a agrupar atributos correlacionados tornando o modelo mais claro. Atributos monovalorados ou multivalorados. Um exemplo de um atributo monovalorado poderia ser o atributo número_empréstimo, o qual teria associado apenas um número de empréstimo. Pode acontecer, no entanto, que uma determinada instância possua um conjunto de valores para uma única entidade. Por exemplo, o atributo nome_dependente, da entidade empregado, pode ter um, nenhum ou vários dependentes cadastrados. Atributos nulos. Um atributo é nulo quando uma entidade não apresenta valor para o mesmo. Por exemplo, se um empregado não possui dependentes o valor do atributo

22 nome_dependente será nulo, significando que este atributo não é aplicável a esta instância em particular. Atributo derivado. O valor deste atributo pode ser derivado de outros atributos ou entidades a ele relacionados. Por exemplo, a idade de um funcionário pode ser calculada pela data de seu aniversário. 2. Conjunto de Relacionamentos Um relacionamento é uma associação entre uma ou várias entidades. Um conjunto de relacionamentos é um conjunto formado por relacionamentos de um mesmo tipo. Considere dois relacionamentos de entidades cliente e empréstimo. O conjunto de relacionamentos devedor denota a associação entre clientes e empréstimos bancários contraídos pelo cliente. A associação entre os conjuntos de entidades é referida como uma participação, isto é, o conjunto de entidades E 1, E 2,..., E n participa do conjunto de relacionamentos R. A função que uma entidade desempenha em um relacionamento é chamada papel. Uma vez que os conjuntos de entidades participantes em um conjunto de relacionamentos são geralmente distintos, papéis são implícitos, e não são em geral, especificados. Mas, são úteis quando o relacionamento precisa ser esclarecido. Em conjuntos de relacionamentos recursivos, nomes explícitos de papéis muitas vezes são necessários. Por exemplo, o conjunto de entidades empregado, e o conjunto de

23 relacionamentos trabalha_para, que é modelado para ordenar os pares da entidade empregado. O primeiro empregado tem papel de gerente, enquanto que o outro tem o papel de empregado. Um relacionamento pode ter atributos descritivos. O conjunto de relacionamentos depositante, com o conjunto de entidades cliente e conta, por exemplo, apresenta o atributo data_acesso. Relacionamento binário é um relacionamento que envolve dois conjuntos de entidades. A maior parte dos conjuntos de relacionamentos modelados em um sistema de banco de dados é do tipo binário. Algumas vezes, no entanto, aparecem relacionamentos que envolvem mais de dois conjuntos de entidades. Como exemplo, podemos combinar os conjuntos de relacionamentos devedor e agência_empréstimo formando o conjunto de relacionamentos CEA, entre as entidades Cliente, Empréstimo e Agência. O número de entidades que participam de um relacionamento define o grau deste relacionamento. Um conjunto de relacionamento binário tem grau 2, e um ternário, grau 3. Conjunto de Entidades ou Atributos? Muitas vezes aparecem dificuldades no reconhecimento do que seja uma entidade ou um atributo. Por exemplo, uma entidade empregado com dois atributos: nome_empregado, e telefone. O atributo telefone pode ser modelado como uma entidade. Se definirmos como atributo, isto implica dizer que cada empregado tem precisamente um número de telefone a ele associado. Caso seja modelado como entidade, reflete que um

24 empregado pode ter vários (ou nenhum) números de telefones a ele associado. Já o atributo nome_empregado não poderia nunca ser modelado como entidade. Infelizmente não existe uma resposta simples para sabermos do que constitui um atributo e o que constitui uma entidade. As distinções vão depender da estrutura geral que está sendo modelada. Conjuntos de Entidades ou de Relacionamentos? Nem sempre fica claro se devemos modelar um objeto como um conjunto de entidades ou de relacionamentos. Por exemplo, considere o problema do empréstimo bancário representado como um relacionamento entre clientes e agências, com número_empréstimo e conta como atributos. Cada empréstimo é representado como um relacionamento entre um cliente e uma agência. Se todo empréstimo é tomado por exatamente um cliente e está associado à exatamente uma agência, podemos resolver o projeto de modo satisfatório, representando empréstimo como relacionamento. Mas, considere que vários clientes tomem um mesmo empréstimo em conjunto. Então, nesse caso, é necessário definir um relacionamento em separado para cada componente do empréstimo conjunto. Desta forma, os atributos descritivos numero_empréstimo e conta precisarão ser replicados para cada um dos relacionamentos. Os problemas que surgem devido a esta replicação são: (1) os dados são armazenados diversas vezes, desperdiçando espaço em

25 memória, e (2) as atualizações deixam potencialmente os dados em estado inconsistente. Ao descrever empréstimo como uma entidade, este problema de replicação desaparece. Relacionamentos n-ésimos. Uma outra característica importante que diz respeito a relacionamentos, é que sempre é possível recompor um conjunto de relacionamentos não-binário, por um número de relacionamentos binários distintos. Mas, pode ser necessária a criação de um atributo de identificação para o conjunto de entidades criado para substituir o conjunto de relacionamentos. Além disso, um conjunto de relacionamentos n-ésimo mostra claramente todos os conjuntos de entidades que participam de uma determinada relação. O projeto correspondente usando somente relacionamentos binários torna mais difícil estabelecer as restrições desta participação. 3. Mapeamento de Restrições 3.1 Cardinalidade O esquema E-R de uma empresa pode definir certas restrições as quais o conteúdo do banco de dados deve respeitar. Exemplos de restrições são: o mapeamento de cardinalidades e a existência de dependências. O mapeamento de cardinalidades expressa o número de entidades às quais outras entidades podem estar associadas através de um conjunto de relacionamentos. Para um conjunto de relacionamentos binário, o mapeamento de cardinalidades segue as instruções abaixo:

26 Um para um. Uma entidade em A está associada no máximo a uma entidade em B, e uma entidade em B está associada no máximo a uma entidade em A. Um para muitos. Uma entidade em A está associada a várias entidades em B. Uma entidade em B deve estar associada a uma única entidade em A. Um para um. Muitos para um. Uma entidade em A está associada a no máximo uma entidade em B. Uma entidade em B, entretanto, pode estar associada a um número qualquer de entidades em A. Muitos para muitos. Uma entidade em A está associada a qualquer número de entidades em B e uma entidade em B está associada a um número qualquer de entidades em A.

27 Figura 2 Mpeamento de Cardinalidade. Muitos para Muitos. O mapeamento de cardinalidade para um conjunto de relacionamentos em particular é obviamente dependente das situações reais que estão sendo modeladas. O rateio de cardinalidades de um relacionamento pode afetar a colocação dos atributos nos relacionamentos. Conjuntos de relacionamentos um para um, ou um para muitos devem associar os atributos a uma das entidades participantes. Considere o caso das entidades cliente e conta, e o relacionamento depositante. O atributo dataacesso deverá estar associado à entidade conta. 3.2 Dependência de Existência

28 existência. Se a existência da entidade x depende da existência de y. E se y for excluído, o mesmo deve acontecer com x. A entidade y é chamada de entidade dominante e a x é chamada entidade subordinada. Como exemplo, considere o conjunto de entidades empréstimo e o conjunto de entidades pagamento. Toda entidade pagamento está associada a uma entidade empréstimo. Se uma entidade empréstimo é excluída, todas as entidades pagamento a ela associada devem ser excluídas também. Se por outro lado, uma entidade pagamento for excluída, a entidade empréstimo não será afetada. Portanto, a entidade empréstimo é dominante e a entidade pagamento subordinada. A participação de um conjunto de entidades E no conjunto de relacionamento R é dita total se todas as entidades em E participam de pelo menos um relacionamento em R. Se somente algumas entidades em E participam do relacionamento R a participação do conjunto de entidades é dito parcial. A participação total está relacionada à existência de dependência. 4. Chaves Precisamos especificar como as entidades dentro de um dado conjunto de entidades e os relacionamentos dentro de um conjunto de relacionamentos podem ser identificados. O conceito de chave nos ajuda a fazer esta distinção. 4.1 Conjunto de Entidades

29 Uma superchave é um conjunto de um ou mais atributos que, tomados coletivamente, nos permitem identificar de maneira unívoca, uma entidade em um conjunto de entidades. Ex. seguro_social, e a combinação de seguro_social com nome_cliente. Se K é uma superchave, então qualquer superconjunto de K é também uma superchave. Mas, queremos supoerchaves para as quais nenhuma subconjunto possa ser uma superchave. Essas superchaves são chamadas de chaves candidatas. O termo chave primária é o termon usado para caracterizar a chave candidata escolhida pelo projetista do banco como sendo de significado especial para a identificação das entidades. A especificação de uma chave representa uma restrição ao mundo real da empresa que está sendo modelada. 4.2 Conjunto de Relacionamentos A chave primária de um conjunto de entidades permite-nos distinguir as várias entidades de um conjunto. Precisamos definir um mecanimo para a indetificação dos vários relacionamentos em um conjunto de relacionamentos. Seja R um conjunto de relacionamentos envolvendo os conjuntos de entidades E1, E2,..., Em. Seja uma chave_primária (Ei) denotando o conjunto de atributos que formam a chave primária do conjunto de entidades Ei. Se o relacionamento R não possui atributos, então o conjunto de atributos abaixo descreve um relacionamento individual do conjunto R: Chave_primária (E1) U Chave_primária (E2) U... U Chave_primária (En)

30 A estrutura da chave primária para o conjunto de relacionamentos depende do mapeamento da cardinalidade do mesmo. Se o relacionamento é muitos para muitos, a chave primária do relacionamento constitui a união das chaves primárias das duas entidades. Se o relacionamento é muitos para um, então a chave primária da entidade de menor cardinalidade pode identificar o relacionamento. Se o relacionamento é um para um, qualquer uma das chaves pode ser usada.

31 Modelo Relacional 1. Conceitos básicos Um banco de dados relacional é composto por um conjunto de tabelas ou relações, cada uma das quais com um nome único. A terminologia tabela é mais comum nos produtos comerciais e na prática. Já a terminologia relação foi utilizada na literatura original sobre a abordagem relacional e é mais comum na área acadêmica. 1.1 Tabelas Uma tabela é um conjunto não-ordenado de linhas (tuplas, na terminologia acadêmica), onde cada linha é composta por uma série de campos, ou atributos. Cada linha de uma tabela representa um relacionamento entre um conjunto de valores. Cada campo é identificado por nome do campo (ou atributo), e o conjunto de campos das linhas de uma tabela que possuem o mesmo nome formam uma coluna. Comparando-se a tabela de banco de dados com um arquivo convencional do sistema de arquivos de um computador, identificam-se as seguintes diferenças: As linhas de uma tabela não estão ordenadas. A ordem de recuperação pelo SGBD é arbitrária, a menos que a instrução de consulta tenha especificado uma ordenação. Não é possível referenciar linhas de uma tabela por posição. Os valores de campo de uma tabela são atômicos e monovalorados. Em arquivos convencionais campos podem

32 ser compostos por outros campos, e podem ser multivalorados. As linguagens de consulta a bases de dados relacionais permitem o acesso por quaisquer critérios envolvendo os campos de uma ou mais linhas. Em arquivos convencionais, para buscar registros com base em valores de seus campos é necessário que exista um caminho de acesso determinado, que é uma estrutura auxiliar como o índice ou uma cadeia de ponteiros. 1.2 Chaves O conceito básico para estabelecer relações entre linhas de tabelas de um banco de dados relacional é o da chave. Em um banco de dados relacional há pelo menos três tipos de chaves a considerar: a chave primária, a chave alternativa e a chave estrangeira Chave primária Uma chave primária é uma coluna ou uma combinação de colunas que identificam uma linha das demais dentro de uma tabela. Na tabela de Empregados abaixo, a chave primária é a coluna CódigoEmp. CódigoEmp Nome CódigoDepto CategFuncional E5 Souza D1 C5 E3 Santos D2 C5 E2 Silva D1 C2 E1 Soares D1 - Tabela 1 - Empregados

33 A tabela abaixo mostra uma tabela de Dependentes que possui uma chave primária composta: CódigoEmp e NoDep. CódigoEmp NoDep Nome Tipo DataNasc E1 01 João Filho 12/12/91 E1 02 Maria Esposa 01/01/50 E2 01 Ana Esposa 05/11/55 E6 01 Paula Esposa 04/07/60 E6 02 José Filho 03/02/85 Tabela 2 - Dependentes Nas definições formais de chave primária, exige-se que a mesma seja mínima, ou seja, todas as suas colunas são efetivamente necessárias para garantir o requisito de unicidade de valores da chave. Na abordagem relacional, ao se definir uma chave primária, não está se definindo um caminho de acesso. Está se definindo uma restrição de integridade que precisa ser obedecida para todos os estados válidos do BD. Neste caso, a regra é a da unicidade dos valores nas colunas que compõem a chave Chave estrangeira Uma chave estrangeira é uma coluna ou uma combinação de colunas cujos valores aparecem necessariamente como chave primária de uma tabela. A chave estrangeira é o mecanismo pelo qual implementam-se os relacionamentos em um banco de dados relacional. Seja a seguinte tabela de departamentos abaixo:

34 CódigoDepto D1 D2 D3 NomeDepto Compras Engenharia Vendas Tabela 3 Departamentos Na tabela de Empregados, identificada neste exemplo como Tabela 1, a coluna CódigoDepto é uma chave estrangeira em relação a chave primária da tabela Departamentos, ou tabela 3. Isso significa que, na tabela Empregados, não podem aparecer linhas que contenham um valor do campo CódigoDepto que não exista na coluna do mesmo nome da tabela Departamentos. Interpretando esta restrição, dizemos que todo empregado deve estar associado a um departamento. A inclusão de uma chave estrangeira impõe restrições que devem ser garantidas em diversas situações de alteração do banco de dados: Quando da inclusão de uma linha na tabela que contém a chave estrangeira. Quando da alteração do valor da chave estrangeira. Quando da exclusão de uma linha na tabela que contém a chave primária referenciada como chave estrangeira. A palavra estrangeira pode denotar a idéia enganosa de que a mesma sempre referencia uma chave primária de uma outra tabela. Entretanto esta restrição não existe, A chave

35 estrangeira pode referenciar a chave primária da própria tabela. Por exemplo, na tabela Empregados mostrada na Tabela, pode existir um campo denotado CodigoEmpGerente que é o código de um outro empregado que é gerente do empregado da linha em questão. CódigoE mp Nome CódigoDep to CategFuncio nal CódigoEmpGere nte E5 Souza D1 C5 - E3 Santo D2 C5 E5 s E2 Silva D1 C2 E5 E1 Soare s D1 - E Chave alternativa Em alguns casos, mais de uma coluna ou combinações de colunas podem servir para distinguir uma linha das demais. Uma das colunas é escolhida como chave primária. As demais colunas são denominadas chaves alternativas. Na tabela de Empregados abaixo, tanto a coluna CodigoEmp quanto a coluna CIC podem ser usadas para distinguir uma linha das demais. Como o CodigoEmp foi o escolhido para ser

36 chave primária, dizemos que a coluna CIC é uma chave alternativa. CódigoEmp Nome CódigoDepto CategFuncional CIC E5 Souza D1 C E3 Santos D2 C E2 Silva D1 C E1 Soares D Domínios Quando uma tabela de banco de dados é definida, para cada coluna da tabela deve ser especificado um conjunto de valores que os campos da respectiva coluna podem assumir. Este conjunto de valores é chamado de domínio da coluna, ou domínio do campo. Além disso, deve ser especificado se os campos da coluna podem estar vazios ou não (null em inglês). Estar vazio indica que o campo não recebeu nenhum valor de seu domínio. As colunas na quais não são admitidos valores vazios são chamadas de colunas obrigatórias. As colunas nas quais podem aparecer campos vazios são chamadas de colunas opcionais. 1.4 Restrições de Integridade Um dos principais objetivos de Banco de Dados é manter a integridade dos dados. Dizer que os dados de um BD estão íntegros significa dizer que eles refletem corretamente a realidade representada pelo banco de dados e que são consistentes entre si. Para garantir a integridade dos dados o

37 SGBD oferece o mecanismo de restrições de integridade. Uma restrição de integridade é uma regra de consistência de dados que é garantida pelo próprio SGBD. Em SGBD Relacionais, existem as seguintes restrições de integridade conhecidas: Integridade de domínio: especificam que o valor de um campo deve obedecera definição de valores admitidos para a coluna ( o domínio da coluna). Integridade de vazio: é especificado se os campos de uma coluna podem ou não ser vazios. Campos que compõem a chave primária são sempre obrigatórios. Integridade de chave: trata-se da restrição que define que os valores da chave primária e alternativa devem ser únicos. Integridade referencial: define que os valores dos campos que aparecem em uma chave estrangeira devem aparecer na chave primária da tabela referenciada. Existem outros tipos de restrições de integridade que não se encaixam em nenhuma das categorias acima mencionadas e que normalmente não são garantidas pelo SGBD. Estas restrições são chamadas de restrições semânticas. Exemplos: Um empregado do departamento denominado Finanças não pode ter a categoria funcional Engenheiro.

38 Um empregado não pode ter um salário maior do que seu superior imediato.

39 Álgebra Relacional A álgebra relacional é uma linguagem de consultas procedural. Consiste em um conjunto de operações tendo como entrada uma ou duas relações e produzindo como resultado, uma nova relação. As operações fundamentais na álgebra relacional são: select, project, union, set difference, cartesian product e rename. Operações Fundamentais 1. Operação Select 2. Operação Project Suponha que desejamos listar todos os números de empréstimos e todos os totais correspondentes, sendo que o nome das agências envolvidas não interessa. A operação project permite-nos produzir esta relação. A operação project é primária, e retorna o argumento da relação deixando de lado certos atributos. Já que a relação é um conjunto, quaisquer linhas em duplicidade são eliminadas. A projeção é denotada pela letra grega pi. Listamos, subscritos em, os atributos que desejamos no resultado. O argumento da relação vem entre parênteses, a seguir. Uma consulta para relacionar todos os números de empréstimos e totais desses empréstimos pode ser escrita da seguinte forma: número_empréstimo, total (empréstimo) Relação resultante: Número_empréstimo Total

40 L-17 L-23 L-15 L-14 L-93 L-11 L Operação Relacional de Comparação Consideremos uma consulta mais complexa como encontre todos os clientes que moram em Olinda. A consulta seria: nome_cliente ( cidade_clliente= Olinda ) (Cliente)) Ao invés de dar o nome da relação como argumento da projeção, criamos uma expressão que evolui para uma relação. 4. Operação Union Considere a consulta para encontrar os nomes de todos os clientes do banco que tenham uma conta, um empréstimo, ou ambos. Note que a relação cliente não possui esta informação. Para responder esta pergunta, o banco precisa de informações da relação depositante, e da relaçãodevedor. Para encontrar todos os clientes com um empréstimo no banco: nome_cliente (devedor)

41 Para encontrar todos os clientes que possuem conta no banco: nome_cliente (depositante) Para responder a consulta precisamos da união desses dois conjuntos. Encontramos esses dados na relação binária união, denotada por. Logo, a expressão lógica completa da consulta é: nome_cliente (devedor) nome-cliente (depositante) Em geral precisamos que uniões sejam feitas entre relações compatíveis entre si. Por exemplo, não faria sentido tomar a união da relação empréstimo e da relação devedor. Para uma operação de união r s válida, são necessárias duas condições: 1. As relações r e s devem possuir o mesmo numero de atributos. 2. Os domínios do I-ésimo atributo de r e o I-ésimo atributo de s devem ser os mesmos para todo i. 5. Operação Diferença entre Conjuntos A operação diferença entre conjuntos denotada por -, permitenos encontrar as tuplas que estão numa relação, mas não em outra. A expressão r s resulta na relação que contém tuplas que estão em r mas não em s. Podemos encontrar todo os clientes que possuem conta no banco mas não contraíram empréstimos escrevendo: nome_cliente (depositante) - nome_cliente (devedor)

42 Assim como no caso da operação de união, precisamos assegurar que o conjunto diferença seja feito entre relações compatíveis. Portanto, para que as operações de diferença entre conjuntos r e s seja válida, precisamos que as relações r e s possuam o mesmo número de atributos e que o domínio do I-ésimo atributo de r e do I-ésimo atributo de s sejam os mesmos. 6. Operação Produto Cartesiano A operação Produto-Cartesiano representada por x, permite-nos combinar informações de duas relações quaisquer. Representamos o produto das relações r1 e r2 por r1 x r2. Uma relação é definida como um subconjunto de um produto cartesiano de um conjunto de domínios. Desde que um mesmo nome de atributo pode aparecer tanto em r1 como em r2, precisamos estabelecer um nome de esquema para diferenciar esses dois atributos. Para os atributos que aparecem apenas uma vez nos dois esquemas podemos omitir o nome da relação. O relação resultante do produto cartesiano de r = devedor x empréstimo, possui uma tupla para cada par de tuplas possível: um da relação devedor outro da relação empréstimo. Então, a relação resultante é uma relação grande. Assuma que podemos ter n1 tuplas em devedor, e n2 tuplas em empréstimo. A relação resultante possui n1 * n2 tuplas em r. Se quisermos, por exemplo, encontrar todos os nomes de todos os clientes que tenham um empréstimo na agência casa forte. Podemos precisar para isso, de informações das relações devedor e empréstimo. Então a expressão: nome_agência = casa forte (devedor x empréstimo)

43 nos dá como resultado uma relação dos devedores ligados a agência casa forte. Como a operação produto cartesiano associa todas as tuplas de empréstimo a todas as tuplas de devedor, sabemos que se um cliente contrai um empréstimo na agência Casa Forte então existe algumas tuplas em devedor X empréstimo que contém o seu nome. Se escrevermos, então: devedor.numero_empréstimo = empréstimo.número_empréstimo ( nome_agencia = casa forte (devedor x empréstimo)) E se quisermos apenas o nome do cliente, podemos fazer uma projeção: nome_cliente ( devedor.número_empréstimo = empréstimo.número_empréstimo ( nome_agência = casa forte (devedor x empréstimo) 7. Operação Rename Ao contrário das relações em um banco de dados, o resultado de uma expressão em álgebra relacional não possui um nome que possa ser usado para referenciá-la. O operador rename representado pela letra grega rho permite-nos dar nomes a elas. Dada a expressão em álgebra relacional E, a expressão x (E) tem como resultado a expressão E sob o nome x. Visões

44 Em todas as operações que fizemos até agora, usamos operadores no nível lógico. Isto é, assumimos que as coleções de relações dadas sejam, na verdade, relações armazenadas no banco de dados. Muitas vezes não é desejável que todos os usuários vejam o modelo lógico como um todo. Considerações sobre segurança podem exigir que determinados dados não estejam disponíveis para alguns usuários. Com base em questões de segurança, podemos criar uma coleção de relações personalizadas de relações que se ajustam mais as necessidades do usuário do que ao modelo lógico. Qualquer relação que não faça parte do modelo lógico, mas é visível para o usuário como uma relação virtual é chamada de visão. É possível dar suporte a um grande número de visões sobre qualquer conjunto de relações reais. Definindo Visões Definimos uma visão usando o comando create view. Para definir uma visão, precisamos dar um nome a ela e definir a consulta que criará essa visão. A forma do comando create view é: Create view v as <expressão_de_consulta> Como exemplo considere uma visão consistindo de clientes devedores. Definimos esta visão de clientes_devedores como: Create view clientes_devedores as nome_cliente ( cliente.seguro_social = devedor.seguro_social (cliente X devedor))

45 Linguagem SQL 1. A linguagem SQL SQL tem representado o padrão para linguagens de banco de dados relacionais. Existem diversas versões de SQL. Essa linguagem, originalmente chamada de SEQUEL, foi implementada como parte do projeto do Sistema R, no início dos anos 70. Inúmeros produtos são suporte atualmente para a linguagem SQL. A linguagem SQL tem diversas partes: linguagem de definição de dados, linguagem interativa de manipulação de dados, incorporação DML, definição de visões, autorização, integridade, controle de transações. 2. Estruturas Básicas A estrutura básica de uma expressão SQL consiste em três cláusulas: select, from e where. A cláusula select corresponde à operação de projeção da álgebra relacional. Ela é usada para relacionar atributos desejados no resultado de uma consulta. A cláusula from corresponde à operação do produto cartesiano da álgebra relacional. Associa ass relações que serão pesquisadas durante a evolução de uma expressão. A cláusula where corresponde à seleção do predicado na álgebra relacional. Ela consiste em um predicado envolvendo atributos da relação que aparece na cláusula from.

46 O fato de o termo select possuir significado diferente em SQL e na álgebra relacional é infelizmente histórico e precisa ser diferenciada. Uma consulta típica em SQL tem a seguinte forma: Select A1, A2,...,An From r1, r2,,rm Where P Onde, cada Ai representa um atributo e cada ri, uma relação. P é um predicado. A consulta equivalente à seguinte expressão em álgebra relacional seria: A1, A2,...,An ( P (r1 x r2 x...x rm)) Se a cláusula where for omitida, o predicado P é verdadeiro. No entanto, diferente das expressões em álgebra relacional, em SQL o resultado de uma consulta pode ter múltiplas cópias de algumas tuplas. 3. A cláusula Select O resultado de uma consulta SQL é naturalmente uma relação. Consideremos uma consulta simples usando nosso exemplo de banco. encontre todos os nomes de todas as agências da relação empréstimo. Select nome_agência from empréstimo

47 O resultado é uma relação consistindo de um atributo simples intitulado nome_agência. Se desejarmos, por exemplo, eliminar a duplicidade de linhas, podemos inserir a palavra-chave distinct depois de select. Poderemos reescrever a consulta anterior da seguinte forma: Select distinct nome_agência from empréstimo Ao contrário se quisermos deixar explícito que a duplicidade não será eliminada, podemos usar a palavra-clave all. Select all nome_agência from empréstimo O asterisco * pode denotar todos os atributos na cláusula select. Também poderá haver expressões aritméticas envolvendo os operadores +, -, *, e /. Por exemplo: Select nome_agência, número_empréstimo, total * 100 from empréstimo 4. A cláusula Where Considere a consulta: encontre todos os números de empréstimos feitos na agência Casa Forte, com totais emprestados acima de dólares. Esta consulta pode ser escrita como:

48 Select nome_empréstimo From empréstimo Where nome_agência= Casa Forte and Total > 1200 A SQL utiliza operadores lógicos and, or e not, na cláusula where. A SQL também possui o operador de comparação between para simplificar a cláusula where que especifica que um valor pode ser menor ou igual a algum valor e maior ou igual a algum outro valor. Se desejarmos encontrar os números de empréstimos cujos montantes estejam entre 90 e 100 mil dólares, podemos usar a comparação between escrevendo: Select nome_empréstimo From empréstimo Where total between and Como também podemos usar a combinação de operadores: not between. 5. A cláusula From A cláusula from por si só define um produto cartesiano das relações da cláusula. Para uma consulta: para todos os clientes que tenham empréstimo em um banco, encontre seus nomes e números de empréstimos, em SQL esta consulta pode ser escrita como: Select distinct nome_cliente, devedor.número_empréstimo From devedor, empréstimo Where devedor.número_empréstimo = empréstimo.número_empréstimo

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído por um conjunto de dados associados a um conjunto de programas para acesso a esses

Leia mais

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1. Universidade Federal de Santa Maria Curso de Arquivologia Disciplina de Banco de Dados Aplicados à Arquivística Prof. Andre Zanki Cordenonsi Versao 1.0 Março de 2008 Tópicos Abordados Conceitos sobre Banco

Leia mais

Banco de Dados I. Introdução. Fabricio Breve

Banco de Dados I. Introdução. Fabricio Breve Banco de Dados I Introdução Fabricio Breve Introdução SGBD (Sistema Gerenciador de Banco de Dados): coleção de dados interrelacionados e um conjunto de programas para acessar esses dados Coleção de dados

Leia mais

ENGENHARIA DA COMPUTAÇÃO BANCO DE DADOS I CONTEÚDO 5 ABORDAGEM RELACIONAL

ENGENHARIA DA COMPUTAÇÃO BANCO DE DADOS I CONTEÚDO 5 ABORDAGEM RELACIONAL ENGENHARIA DA COMPUTAÇÃO BANCO DE DADOS I CONTEÚDO 5 ABORDAGEM RELACIONAL PROF. MS C. RICARDO ANTONELLO WWW.ANTONELLO.COM.B R PORQUE SER RELACIONAL? Hoje, há um claro predomínio dos SGBD relacionais, principalmente

Leia mais

Revisão de Banco de Dados

Revisão de Banco de Dados Revisão de Banco de Dados Fabiano Baldo 1 Sistema de Processamento de Arquivos Antes da concepção dos BDs o registro das informações eram feitos através de arquivos. Desvantagens: Redundância e Inconsistência

Leia mais

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br 04/08/2012. Aula 7. Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br 04/08/2012. Aula 7. Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 7 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Aprender sobre a modelagem lógica dos dados. Conhecer os

Leia mais

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon (edson@esucri.com.

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon (edson@esucri.com. Sistemas da Informação Banco de Dados I Edson Thizon (edson@esucri.com.br) 2008 Apresentação (mini-currículo) Formação Acadêmica Mestrando em Ciência da Computação (UFSC/ ) Créditos Concluídos. Bacharel

Leia mais

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd. Apresentação Este curso tem como objetivo, oferecer uma noção geral sobre a construção de sistemas de banco de dados. Para isto, é necessário estudar modelos para a construção de projetos lógicos de bancos

Leia mais

Introdução Banco de Dados

Introdução Banco de Dados Introdução Banco de Dados Vitor Valerio de Souza Campos Adaptado de Vania Bogorny Por que estudar BD? Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária reserva de hotel matrícula em

Leia mais

Introdução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos

Introdução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos Introdução Banco de Dados Por que usar BD? Vitor Valerio de Souza Campos Adaptado de Vania Bogorny 4 Por que estudar BD? Exemplo de um BD Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária

Leia mais

Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados

Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados 1. Conceitos Básicos No contexto de sistemas de banco de dados as palavras dado e informação possuem o mesmo significado, representando uma

Leia mais

BANCO DE DADOS. Introdução a Banco de Dados. Conceitos BásicosB. Engenharia da Computação UNIVASF. Aula 1. Breve Histórico

BANCO DE DADOS. Introdução a Banco de Dados. Conceitos BásicosB. Engenharia da Computação UNIVASF. Aula 1. Breve Histórico Banco de Dados // 1 Banco de Dados // 2 Conceitos BásicosB Engenharia da Computação UNIVASF BANCO DE DADOS Aula 1 Introdução a Banco de Dados Campo representação informatizada de um dado real / menor unidade

Leia mais

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE]

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE] 1/6 Banco de Dados O que é um Banco de Dados? Uma coleção de dados relacionados [ELMASRI/NAVATHE] Conjunto de dados integrados que tem por objetivo atender a uma comunidade específica [HEUSER] Um conjunto

Leia mais

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Modelos de Dados, Esquemas e Instâncias 2 Modelos de Dados, Esquemas e Instâncias Modelo de dados: Conjunto de conceitos

Leia mais

Roteiro. Modelo de Dados Relacional. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa. Posicionamento.

Roteiro. Modelo de Dados Relacional. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa. Posicionamento. Roteiro Modelo de Dados Relacional Posicionamento Luiz Henrique de Campos Merschmann Departamento de Computação Universidade Federal de Ouro Preto luizhenrique@iceb.ufop.br www.decom.ufop.br/luiz Introdução

Leia mais

Bancos de Dados. Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações

Bancos de Dados. Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações Tópicos Conceitos Básicos Bancos de Dados Sistemas de Bancos de Dados Sistemas de Gerenciamento de Bancos de Dados Abstração

Leia mais

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc.

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc. MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 2 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Revisão sobre Banco de Dados e SGBDs Aprender as principais

Leia mais

INTRODUÇÃO. Diferente de Bando de Dados

INTRODUÇÃO. Diferente de Bando de Dados INTRODUÇÃO Diferente de Bando de Dados 1 INTRODUÇÃO DADOS São fatos conhecidos que podem ser registrados e que possuem significado. Ex: venda de gasolina gera alguns dados: data da compra, preço, qtd.

Leia mais

Evolução. Tópicos. Bancos de Dados - Introdução. Melissa Lemos. Evolução dos Sistemas de Informação Esquemas Modelos. Características de SGBDs

Evolução. Tópicos. Bancos de Dados - Introdução. Melissa Lemos. Evolução dos Sistemas de Informação Esquemas Modelos. Características de SGBDs 1 Bancos de Dados - Introdução Melissa Lemos melissa@inf.puc-rio.br Tópicos Evolução dos Sistemas de Informação Esquemas Modelos Conceitual Lógico Características de SGBDs 2 Evolução tempo Programas e

Leia mais

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Introdução BD desempenha papel crítico em todas as áreas em que computadores são utilizados: Banco: Depositar ou retirar

Leia mais

GBC043 Sistemas de Banco de Dados. Introdução. Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM

GBC043 Sistemas de Banco de Dados. Introdução. Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM GBC043 Sistemas de Banco de Dados Introdução Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM Página 2 Definição BD Def. Banco de Dados é uma coleção de itens de dados

Leia mais

Conceitos de Banco de Dados

Conceitos de Banco de Dados Conceitos de Banco de Dados Autor: Luiz Antonio Junior 1 INTRODUÇÃO Objetivos Introduzir conceitos básicos de Modelo de dados Introduzir conceitos básicos de Banco de dados Capacitar o aluno a construir

Leia mais

Curso de Aprendizado Industrial Desenvolvedor WEB. Disciplina: Banco de Dados Professora: Cheli Mendes Costa Modelo de Dados

Curso de Aprendizado Industrial Desenvolvedor WEB. Disciplina: Banco de Dados Professora: Cheli Mendes Costa Modelo de Dados Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Banco de Dados Professora: Cheli Mendes Costa Modelo de Dados Modelo para organização dos dados de um BD. define um conjunto de conceitos para

Leia mais

Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br

Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Ementa Introdução a Banco de Dados (Conceito, propriedades), Arquivos de dados x Bancos de dados, Profissionais de Banco de dados,

Leia mais

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados: MC536 Introdução Sumário Conceitos preliminares Funcionalidades Características principais Usuários Vantagens do uso de BDs Tendências mais recentes em SGBDs Algumas desvantagens Modelos de dados Classificação

Leia mais

Roteiro. BCC321 - Banco de Dados I. Conceitos Básicos. Conceitos Básicos. O que é um banco de dados (BD)?

Roteiro. BCC321 - Banco de Dados I. Conceitos Básicos. Conceitos Básicos. O que é um banco de dados (BD)? Roteiro BCC321 - Banco de Dados I Luiz Henrique de Campos Merschmann Departamento de Computação Universidade Federal de Ouro Preto luizhenrique@iceb.ufop.br www.decom.ufop.br/luiz Conceitos Básicos Banco

Leia mais

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc. MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 1 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Apresenta a diferença entre dado e informação e a importância

Leia mais

Modelo Entidade-Relacionamento

Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento Banco de Dados I Fases do Projeto jt de BD Enunciado de requisitos entrevista com o usuário do banco de dados para entender e documentar seus requerimentos de dados. Projeto

Leia mais

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Conceitos Básicos Introdução Banco de Dados I Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM Dados

Leia mais

FACULDADE INTEGRADAS DE PARANAÍBA ADMINISTRAÇÃO DE EMPRESAS. Bancos de Dados Conceitos Fundamentais

FACULDADE INTEGRADAS DE PARANAÍBA ADMINISTRAÇÃO DE EMPRESAS. Bancos de Dados Conceitos Fundamentais FACULDADE INTEGRADAS DE PARANAÍBA ADMINISTRAÇÃO DE EMPRESAS Bancos de Dados Conceitos Fundamentais Tópicos Conceitos Básicos Bancos de Dados Sistemas de Bancos de Dados Sistemas de Gerenciamento de Bancos

Leia mais

Banco de Dados 1 Prof. MSc Wagner Siqueira Cavalcante

Banco de Dados 1 Prof. MSc Wagner Siqueira Cavalcante Banco de Dados 1 Programação sucinta do curso:. Conceitos fundamentais de Banco de Dados.. Arquitetura dos Sistemas Gerenciadores de Banco de Dados (SGBD ou DBMS).. Características típicas de um SGBD..

Leia mais

Modelo de Dados. Modelos Conceituais

Modelo de Dados. Modelos Conceituais Modelo de Dados Modelo para organização dos dados de um BD define um conjunto de conceitos para a representação de dados exemplos: entidade, tabela, atributo,... existem modelos para diferentes níveis

Leia mais

Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com

Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Introdução a Banco de Dados Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com 12/06/2013 Sumário Motivação da Disciplina

Leia mais

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011 Banco de Dados Aula 1 - Prof. Bruno Moreno 16/08/2011 Roteiro Apresentação do professor e disciplina Definição de Banco de Dados Sistema de BD vs Tradicional Principais características de BD Natureza autodescritiva

Leia mais

As principais características da abordagem de um banco de dados versus a abordagem de processamento de arquivos são as seguintes:

As principais características da abordagem de um banco de dados versus a abordagem de processamento de arquivos são as seguintes: SGBD Características do Emprego de Bancos de Dados As principais características da abordagem de um banco de dados versus a abordagem de processamento de arquivos são as seguintes: Natureza autodescritiva

Leia mais

Modelo de Dados. Modelo para organização dos dados de um BD

Modelo de Dados. Modelo para organização dos dados de um BD Modelo de Dados Modelo para organização dos dados de um BD define um conjunto de conceitos para a representação de dados exemplos: entidade, tabela, atributo,... existem modelos para diferentes níveis

Leia mais

O Modelo de Entidades e Relacionamentos (MER) é um modelo conceitual usado para projeto de aplicações de banco de dados.

O Modelo de Entidades e Relacionamentos (MER) é um modelo conceitual usado para projeto de aplicações de banco de dados. Fases do Projeto de um Banco de Dados Modelo ER O Modelo de Entidades e Relacionamentos (MER) é um modelo conceitual usado para projeto de aplicações de banco de dados. É um modelo baseado na percepção

Leia mais

Banco de Dados - Senado

Banco de Dados - Senado Banco de Dados - Senado Modelo Relacional Ilka Kawashita Material preparado :Prof. Marcio Vitorino Abordagem Relacional n Abordagem de modelagem de dados utilizada nos sistemas de gerenciamento de bancos

Leia mais

CEFET.PHB - PI. Plano de Ensino. Banco de Dados. Plano de Ensino. Plano de Ensino. Plano de Ensino - Conteúdo. Plano de Ensino - Conteúdo

CEFET.PHB - PI. Plano de Ensino. Banco de Dados. Plano de Ensino. Plano de Ensino. Plano de Ensino - Conteúdo. Plano de Ensino - Conteúdo CEFET.PHB - PI Plano de Ensino Banco de Dados Prof. Jefferson Silva Sistema de Banco de Dados Objetivos Vantagens e Desvantagens Conceitos básicos de BD e de SGBD Abstração de Dados Linguagem de Definição

Leia mais

Ciclo de vida de um banco de dados relacional

Ciclo de vida de um banco de dados relacional Ciclo de vida de um banco de dados relacional 1. Formulação e análise de requisitos: a) Relacionamentos naturais entre os dados (independentes de processo). b) Requisitos de uso (dependentes de processo).

Leia mais

1. CONCEITOS BÁSICOS DE BD, SBD E SGBD

1. CONCEITOS BÁSICOS DE BD, SBD E SGBD Introdução 1. CONCEITOS BÁSICOS DE BD, SBD E SGBD A importância da informação para a tomada de decisões nas organizações tem impulsionado o desenvolvimento dos sistemas de processamento de informações.

Leia mais

Conceitos Básicos de Banco de Dados

Conceitos Básicos de Banco de Dados Conceitos Básicos de Banco de Dados Laboratório de Bases de Dados Sistema de Banco de Dados (SBD) Sistema de armazenamento de dados Objetivos: manter informações torná-las disponível quando necessário

Leia mais

Aula 02 Modelagem de Dados. Banco de Dados. Aula 02 Modelagem de Dados. Superior /2011 Redes Computadores - Disciplina: Banco de Dados -

Aula 02 Modelagem de Dados. Banco de Dados. Aula 02 Modelagem de Dados. Superior /2011 Redes Computadores - Disciplina: Banco de Dados - Banco de Dados Aula 02 Modelagem de Dados Roteiro Definição Evolução Projeto de BD Abstração Esquema e Instância Definição É uma representação, normalmente gráfica, de estruturas de dados reais. Auxilia

Leia mais

20/05/2013. Sistemas de Arquivos Sistemas de arquivos. Sistemas de Gerenciamento de Banco de Dados (SGBD) Banco de Dados. Estrutura de um BD SGBD

20/05/2013. Sistemas de Arquivos Sistemas de arquivos. Sistemas de Gerenciamento de Banco de Dados (SGBD) Banco de Dados. Estrutura de um BD SGBD Gerenciamento de Dados e Informação Fernando Fonseca Ana Carolina Robson Fidalgo Sistemas de Arquivos Sistemas de arquivos Principal característica é a replicação e isolamento de dados (ilhas de informações)

Leia mais

Faculdade Lourenço Filho - ENADE 2011-1

Faculdade Lourenço Filho - ENADE 2011-1 1. Quando se constrói um banco de dados, define-se o modelo de entidade e relacionamento (MER), que é a representação abstrata das estruturas de dados do banco e seus relacionamentos. Cada entidade pode

Leia mais

Roteiro 2 Conceitos Gerais

Roteiro 2 Conceitos Gerais Roteiro 2 Conceitos Gerais Objetivos: UC Projeto de Banco de Dados Explorar conceitos gerais de bancos de dados; o Arquitetura de bancos de dados: esquemas, categorias de modelos de dados, linguagens e

Leia mais

Banco de Dados I Introdução

Banco de Dados I Introdução Banco de Dados I Introdução Prof. Moser Fagundes Curso Técnico em Informática (Modalidade Integrada) IFSul Campus Charqueadas Sumário da aula Avaliações Visão geral da disciplina Introdução Histórico Porque

Leia mais

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. jef@ime.usp.br DCC-IME-USP

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. jef@ime.usp.br DCC-IME-USP Banco de Dados Introdução João Eduardo Ferreira Osvaldo Kotaro Takai jef@ime.usp.br DCC-IME-USP Importância dos Bancos de Dados A competitividade das empresas depende de dados precisos e atualizados. Conforme

Leia mais

Conceitos básicos. Aplicações de banco de dados. Conceitos básicos (cont.) Dado: Um fato, alguma coisa sobre a qual uma inferência é baseada.

Conceitos básicos. Aplicações de banco de dados. Conceitos básicos (cont.) Dado: Um fato, alguma coisa sobre a qual uma inferência é baseada. Conceitos básicos Angélica Toffano Seidel Calazans E-mail: angelica_toffano@yahoo.com.br Conceitos introdutórios de Modelagem de dados Dado: Um fato, alguma coisa sobre a qual uma inferência é baseada.

Leia mais

Disciplina de Banco de Dados Introdução

Disciplina de Banco de Dados Introdução Disciplina de Banco de Dados Introdução Prof. Elisa Maria Pivetta CAFW - UFSM Banco de Dados: Conceitos A empresa JJ. Gomes tem uma lista com mais ou menos 4.000 nomes de clientes bem como seus dados pessoais.

Leia mais

GBD PROF. ANDREZA S. AREÃO

GBD PROF. ANDREZA S. AREÃO GBD PROF. ANDREZA S. AREÃO Dado, Informação e Conhecimento DADO: Estímulos captados pelos sentidos humanos; Símbolos gráficos ou sonoros; Ocorrências registradas (em memória, papel, etc.); Indica uma situação

Leia mais

Modelos de Dados e Arquitetura de um SGBD. Introdução 1º Bimestre Prof. Patrícia Lucas

Modelos de Dados e Arquitetura de um SGBD. Introdução 1º Bimestre Prof. Patrícia Lucas Modelos de Dados e Arquitetura de um SGBD Introdução 1º Bimestre Prof. Patrícia Lucas Abstração Modelo de Dados Conjunto de conceitos que podem ser utilizados para descrever a estrutura lógica e física

Leia mais

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem

Leia mais

Prof. Alexandre Unterstell Banco de Dados I

Prof. Alexandre Unterstell Banco de Dados I Prof. Alexandre Unterstell Banco de Dados I Etapas para o projeto de um BD Análise de requisitos Analista: Entrevista Necessidade do negócio As etapas não consideram ainda nenhuma característica específica

Leia mais

BANCO DE DADOS E BUSINESS INTELIGENCE. C/H: 20 horas (20/02, 25/02, 27/02, 04/03, 06/03)

BANCO DE DADOS E BUSINESS INTELIGENCE. C/H: 20 horas (20/02, 25/02, 27/02, 04/03, 06/03) MBA em Gestão de TI MÓDULO: BANCO DE DADOS E BUSINESS INTELIGENCE C/H: 20 horas (20/02, 25/02, 27/02, 04/03, 06/03) PROFESSOR: Edison Andrade Martins Morais prof@edison.eti.br http://www.edison.eti.br

Leia mais

BANCO DE DADOS AULA 02 INTRODUÇÃO AOS BANCOS DE DADOS PROF. FELIPE TÚLIO DE CASTRO 2015

BANCO DE DADOS AULA 02 INTRODUÇÃO AOS BANCOS DE DADOS PROF. FELIPE TÚLIO DE CASTRO 2015 BANCO DE DADOS AULA 02 INTRODUÇÃO AOS BANCOS DE DADOS PROF. FELIPE TÚLIO DE CASTRO 2015 NA AULA PASSADA... 1. Apresentamos a proposta de ementa para a disciplina; 2. Discutimos quais as ferramentas computacionais

Leia mais

NOME SEXO CPF NASCIMENTO SALARIO

NOME SEXO CPF NASCIMENTO SALARIO Tutorial SQL Fonte: http://www.devmedia.com.br/articles/viewcomp.asp?comp=2973 Para começar Os Sistemas Gerenciadores de Bancos de Dados Relacionais (SGBDr) são o principal mecanismo de suporte ao armazenamento

Leia mais

Persistência e Banco de Dados em Jogos Digitais

Persistência e Banco de Dados em Jogos Digitais Persistência e Banco de Dados em Jogos Digitais Prof. Marcos Francisco Pereira da Silva Especialista em Engenharia de Software Jogos Digitais - Computação Gráfica 1 Agenda Vantagens de usar a abordagem

Leia mais

Módulo 4: Gerenciamento de Dados

Módulo 4: Gerenciamento de Dados Módulo 4: Gerenciamento de Dados 1 1. CONCEITOS Os dados são um recurso organizacional decisivo que precisa ser administrado como outros importantes ativos das empresas. A maioria das organizações não

Leia mais

LINGUAGEM DE BANCO DE DADOS

LINGUAGEM DE BANCO DE DADOS LINGUAGEM DE BANCO DE DADOS Gabriela Trevisan Bacharel em Sistemas de Informação Universidade Federal do Rio Grande Pós-Graduanda Formação Pedagógica de Professores (FAQI) Conceito de BD Um banco de dados

Leia mais

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior Prof. Antonio Almeida de Barros Jr. Introdução Dados Informações Banco de Dados Conceitos Básicos em Bancos de Dados Definição BD - Banco de Dados SGBD - Sistema de Gerenciamento de BD Programa de Aplicação

Leia mais

Fernando Albuquerque - fernando@cic.unb.br. Bancos de Dados. Fernando Albuquerque. 061-2733589 fernando@cic.unb.br

Fernando Albuquerque - fernando@cic.unb.br. Bancos de Dados. Fernando Albuquerque. 061-2733589 fernando@cic.unb.br Bancos de Dados Fernando Albuquerque 061-2733589 fernando@cic.unb.br Tópicos Introdução O modelo relacional A linguagem SQL Introdução O que é um banco de dados : Coleção de informações que existe por

Leia mais

ENGENHARIA DA COMPUTAÇÃO

ENGENHARIA DA COMPUTAÇÃO ENGENHARIA DA COMPUTAÇÃO BANCO DE DADOS I CONTEÚDO 2 Prof. Msc. Ricardo Antonello ABORDAGEM ER A primeira etapa do projeto de um banco de dados é a construção de um modelo conceitual ou modelagem conceitual.

Leia mais

Banco de Dados I. Projeto de Banco de Dados e o Modelo E-R. Fabricio Breve

Banco de Dados I. Projeto de Banco de Dados e o Modelo E-R. Fabricio Breve Banco de Dados I Projeto de Banco de Dados e o Modelo E-R Fabricio Breve O Modelo E-R Representação do mundo real por meio de Entidades e dos Relacionamentos entre as entidades Desenvolvido originalmente

Leia mais

Modelagem de Dados. Aula 02 Arquitetura e Álgebra Relacional. Maxwell Anderson

Modelagem de Dados. Aula 02 Arquitetura e Álgebra Relacional. Maxwell Anderson Modelagem de Dados Aula 02 Arquitetura e Álgebra Relacional Maxwell Anderson Arquitetura de Sistemas de Banco de Dados São três níveis de arquitetura: Nível físico Nível lógico Nível de view Nível de view

Leia mais

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados. BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br INTRODUÇÃO Hoje é

Leia mais

Banco de Dados I 2007. Módulo II: Modelagem Entidade- Relacionamento versus Relacional. (Aula 3) Clodis Boscarioli

Banco de Dados I 2007. Módulo II: Modelagem Entidade- Relacionamento versus Relacional. (Aula 3) Clodis Boscarioli Banco de Dados I 2007 Módulo II: Modelagem Entidade- Relacionamento versus Relacional (Aula 3) Clodis Boscarioli Agenda: Exercícios de Mapeamento ME-R para MR; Restrições de Domínio; Restrições de Chave

Leia mais

Abordagem relacional Capítulo 4

Abordagem relacional Capítulo 4 Abordagem relacional Capítulo 4 Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 1 Abordagem Relacional Abordagem de modelagem de

Leia mais

Profa. Daniela Barreiro Claro

Profa. Daniela Barreiro Claro Profa. Daniela Barreiro Claro Modelar é criar representações do mundo real A modelagem relacional pode ser representada via MER (Modelo de Entidade Relacionamento) O MER define estruturas e restrições

Leia mais

Comandos de Manipulação

Comandos de Manipulação SQL - Avançado Inserção de dados; Atualização de dados; Remoção de dados; Projeção; Seleção; Junções; Operadores: aritméticos, de comparação,de agregação e lógicos; Outros comandos relacionados. SQL SQL

Leia mais

BANCO DE DADOS aula 6 álgebra relacional -

BANCO DE DADOS aula 6 álgebra relacional - INSTITUTO DE EXATAS E TECNOLÓGICAS Curso de Ciência da Computação BANCO DE DADOS aula 6 álgebra relacional - professor: Juliano Varella de Carvalho 5.1. Álgebra Relacional relações de exemplo conta agencia

Leia mais

Introdução à Banco de Dados. Definição

Introdução à Banco de Dados. Definição Universidade Federal da Bahia Departamento de Ciência da Computação (DCC) Disciplina: Banco de Dados Profª. Daniela Barreiro Claro Introdução à Banco de Dados Definição Um banco de dados é uma coleção

Leia mais

Banco de Dados. Arquitetura e Terminologia. Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br waltenomartins@yahoo.

Banco de Dados. Arquitetura e Terminologia. Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br waltenomartins@yahoo. Banco de Dados Arquitetura e Terminologia Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br waltenomartins@yahoo.com 2015 Modelo de Dados e Esquemas O modelo de Banco de Dados é como um detalhamento

Leia mais

PROJETO DE BANCO DE DADOS -INTRODUÇÃO. Prof. Angelo Augusto Frozza, M.Sc.

PROJETO DE BANCO DE DADOS -INTRODUÇÃO. Prof. Angelo Augusto Frozza, M.Sc. 1 PROJETO DE BANCO DE DADOS -INTRODUÇÃO Prof. Angelo Augusto Frozza, M.Sc. FUNDAMENTOS Dados Representação de fatos, conceitos ou instruções de maneira formalizada; Informação Significado que pessoas associam

Leia mais

Modelo Relacional. Modelo Relacional. Tabelas

Modelo Relacional. Modelo Relacional. Tabelas MODELO RELACIONAL Banco de Dados Relacional = consiste em uma coleção de tabelas ou relações, cada uma das quais com um nome único. 2 1 Tabelas Conjunto não ordenado de linhas (tuplas); Cada linha é composta

Leia mais

Banco de Dados Lista de Exercícios 01

Banco de Dados Lista de Exercícios 01 Banco de Dados Lista de Exercícios 01 Prof. Anderson Rocha & Prof. André Santanché Campinas, 24 de Setembro de 2012 Nome: RA: 1 Observações Este lista contem 20 exercícios e contempla os seguintes assuntos

Leia mais

Sistemas Gerenciadores de Bancos de Dados

Sistemas Gerenciadores de Bancos de Dados Sistemas Gerenciadores de Bancos de Dados Orivaldo V. Santana Jr A partir de slides elaborados por Ivan G. Costa Filho Fernando Fonseca & Robson Fidalgo 1 Sistemas de Arquivos Sistemas de arquivos Principal

Leia mais

Roteiro. Conceitos e Arquitetura de Sistemas de Banco de Dados. Conceitos e Arquiteturas de Sistemas de Banco de Dados. BCC321 - Banco de Dados I

Roteiro. Conceitos e Arquitetura de Sistemas de Banco de Dados. Conceitos e Arquiteturas de Sistemas de Banco de Dados. BCC321 - Banco de Dados I Roteiro Conceitos e Arquitetura de Sistemas de Banco de Dados Luiz Henrique de Campos Merschmann Departamento de Computação Universidade Federal de Ouro Preto luizhenrique@iceb.ufop.br www.decom.ufop.br/luiz

Leia mais

MODELO RELACIONAL - UFMA

MODELO RELACIONAL - UFMA MODELO RELACIONAL Universidade Federal do Maranhão - UFMA Departamento de Informática Projeto de Banco de Dados Profª.MSc Simara Rocha simararocha@gmail.com/simara@deinf.ufma.br www.deinf.ufma.br/~simara

Leia mais

SISTEMA GERENCIADOR DE BANCO DE DADOS

SISTEMA GERENCIADOR DE BANCO DE DADOS BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br SISTEMA GERENCIADOR

Leia mais

BANCO DE DADOS. Fixação dos conteúdos Integridade Referencial Normalização Exercícios

BANCO DE DADOS. Fixação dos conteúdos Integridade Referencial Normalização Exercícios BANCO DE DADOS Fixação dos conteúdos Integridade Referencial Normalização Exercícios BANCO DE DADOS X SGBD Banco de Dados: Um "banco de dados" pode ser definido como um conjunto de "dados" devidamente

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II BANCO DE DADOS II AULA 3 Linguagem SQL Linguagem de manipulação de dados (DML) DISCIPLINA: Banco de

Leia mais

Básico da Linguagem SQL. Definição de Esquemas em SQL. SQL(Structured Query Language)

Básico da Linguagem SQL. Definição de Esquemas em SQL. SQL(Structured Query Language) Básico da Linguagem SQL Definição de Esquemas em SQL SQL(Structured Query Language) Desenvolvida como a linguagem de consulta do protótipo de SGBD Sistema R (IBM, 1976). Adotada como linguagem padrão de

Leia mais

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

Leia mais

O que são Bancos de Dados?

O que são Bancos de Dados? SQL Básico Liojes de Oliveira Carneiro professor.liojes@gmail.com www.professor-liojes.blogspot.com O que são Bancos de Dados? É o software que armazena, organiza, controla, trata e distribui os dados

Leia mais

Ciclo de Desenvolvimento de Sistemas de BD

Ciclo de Desenvolvimento de Sistemas de BD Gerenciamento de Dados e Informação Fernando Fonseca Ana Carolina Valeria Times Bernadette Loscio Robson Nascimento Ciclo de Desenvolvimento de Sistemas de BD Investigação dos Dados Modelagem dos Dados

Leia mais

O modelo Entidade-Relacionamento. Agenda: -Modelagem de dados utilizando O Modelo Entidade-Relacionamento

O modelo Entidade-Relacionamento. Agenda: -Modelagem de dados utilizando O Modelo Entidade-Relacionamento O modelo Entidade-Relacionamento Agenda: -Modelagem de dados utilizando O Modelo Entidade-Relacionamento 1 Antes de começarmos: A modelagem conceitual é uma fase muito importante no plamejamento de um

Leia mais

Tarefa Orientada 16 Vistas

Tarefa Orientada 16 Vistas Tarefa Orientada 16 Vistas Objectivos: Vistas só de leitura Vistas de manipulação de dados Uma vista consiste numa instrução de SELECT que é armazenada como um objecto na base de dados. Deste modo, um

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão SISTEMAS DE BANCO DE DADOS Prof. Adriano Pereira Maranhão 1 REVISÃO BANCO DE DADOS I O que é banco de dados? Ou seja afinal o que é um SGBD? REVISÃO BD I REVISÃO DE BD I Um Sistema de Gerenciamento de

Leia mais

Modelos. Comunicação com clientes

Modelos. Comunicação com clientes Material baseado nas notas de aula: Maria Luiza M. Campos IME/2005 Carlos Heuser - livro Projeto de Banco de Dados CasaNova / PUC/RJ Prof. MSc. Edilberto Silva edilms@yahoo.com Sistemas de Informação Brasília/DF

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

Banco de Dados. CursoTécnico em Informática Modalidade Integrado. Professora Michelle Nery. Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Banco de Dados. CursoTécnico em Informática Modalidade Integrado. Professora Michelle Nery. Instituto Federal do Sul de Minas, câmpus Pouso Alegre Banco de Dados CursoTécnico em Informática Modalidade Integrado Instituto Federal do Sul de Minas, câmpus PousoAlegre Professora Michelle Nery Conteúdo Programático Introdução O que é Banco de Dados O

Leia mais

Curso Superior de Tecnologia em BD

Curso Superior de Tecnologia em BD Curso Superior de Tecnologia em BD Modelagem de Dados Aula 01 Revisão Modelos de Dados Existem modelos para diferentes níveis de abstração de representação de dados modelos conceituais modelos lógicos

Leia mais

Disciplina: Unidade III: Prof.: E-mail: Período:

Disciplina: Unidade III: Prof.: E-mail: Período: Encontro 08 Disciplina: Sistemas de Banco de Dados Unidade III: Modelagem Lógico de Dados Prof.: Mario Filho E-mail: pro@mariofilho.com.br Período: 5º. SIG - ADM Relembrando... Necessidade de Dados Projeto

Leia mais

OBJETIVOS. Orientações para Projetos de BD; Dependências Funcionais (DFs): Definição de DF; Regras de inferência para DFs.

OBJETIVOS. Orientações para Projetos de BD; Dependências Funcionais (DFs): Definição de DF; Regras de inferência para DFs. BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br OBJETIVOS Orientações

Leia mais

MC536 Bancos de Dados: Teoria e Prática

MC536 Bancos de Dados: Teoria e Prática Universidade Estadual de Campinas - UNICAMP Instituto de Computação - IC MC536 Bancos de Dados: Teoria e Prática Aula #1 Arquitetura de Banco de Dados Profs. Anderson Rocha e André Santanchè Campinas,

Leia mais

MC536 Bancos de Dados: Teoria e Prática

MC536 Bancos de Dados: Teoria e Prática Universidade Estadual de Campinas - UNICAMP Instituto de Computação - IC MC536 Bancos de Dados: Teoria e Prática Aula #3 : MER e MER Estendido Profs. Anderson Rocha e André Santanchè Campinas, 1 de Agosto

Leia mais