Capítulo 1 INTRODUÇÃO A BANCO DE DADOS

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

Download "Capítulo 1 INTRODUÇÃO A BANCO DE DADOS"

Transcrição

1 Capítulo 1 INTRODUÇÃO A BANCO DE DADOS BANCO DE DADOS - INTRODUÇÃO Dados Hardware Software Usuários SISTEMAS DE ARQUIVOS CONVENCIONAIS VISÃO ABSTRATA DOS DADOS EM BD Nível físico Nível lógico Nível de usuário OUTROS CONCEITOS EM BD MODELO DE DADOS Modelos Lógicos Baseados em Objetos Modelos Lógicos Baseados em Registros MODELO RELACIONAL Conceito de Relação Álgebra Relacional Operadores da Álgebra Relacional Operadores Derivados SQL - LINGUAGEM DE CONSULTA ,1 - Definição de Esquema de Dados Sintaxe da linguagem SQL PASSOS NA MODELAGEM DE UM BANCO DE DADOS Projeto Lógico de Banco de Dados REFERENCIAS BIBLIOGRÁFICAS...24

2 1.1 - Banco de Dados - Introdução Um Sistema de Banco de Dados consiste de uma coleção de dados interrelacionados e procedimentos para se acessar estes dados. Esta coleção de dados pode corresponder ao banco de informações de uma determinada empresa ou instituição. As principais operações que um Banco de Dados (BD) deve permitir são:! A adição de novo (vazios) arquivos ao banco de dados;! A inserção de novos dados nos arquivos existentes;! A recuperação de dados dos arquivos existentes;! A atualização de dados nos arquivos existentes;! A eliminação de dados nos arquivos existentes;! A remoção permanente de arquivos existentes no Banco de Dados (BD). Um exemplo bastante simples de um BD, composto de um único arquivo, no caso, funcionários de uma empresa, é apresentado a seguir: Nome Função Salário Admissão Carga_horária Paulo César Instrutor /04/ Maria Aparecida Mecânico /05/ Carlos Alberto Motorista /03/ Como veremos mais adiante, arquivos computadorizados, como apresentado acima, serão chamados de tabelas. As linhas de tais tabelas são consideradas registros da tabela. As colunas são consideradas campos destes registros, as quais descrevem um atributos (no exemplo, a função dos funcionários da empresa) qualquer da tabela. O principal objetivo de um banco de dados é manter os dados armazenados e torná-los disponíveis quando solicitados. Portanto, para atender este objetivo quatro (4) componentes são necessários: dados, hardware, software e os usuários Dados Os dados de um sistema de banco de dados estão disponíveis em pequenos ou grandes computadores, os quais podem ser manipulados por usuário único ou usuários múltiplos respectivamente. Um dos objetivos da maioria dos sistemas de múltiplos usuários é precisamente possibilitar a cada usuário individual comportar-se como se estivesse trabalhando com um sistema de usuário único. Os problemas especiais dos sistemas de usuários múltiplos são essencialmente internos do sistema, não visíveis ao usuário. Veremos mais a frente que os dados, mesmo num sistema pequeno, há boas razões para que os mesmos sejam divididos em diversos bancos distintos, o que leva a necessidade dos grandes sistema de bancos de dados serem não só integrados como compartilhados, representando a maior vantagem destes sistemas. 2 BANCO DE DADOS GEOGRÁFICO

3 " Por "integrado" queremos dizer que o BD pode ser imaginado como a unificação de diversos arquivos de dados, eliminando-se total ou parcialmente qualquer redundância entre os mesmos. Por exemplo, um BD com registros de FUNCIONÁRIOS (nome, endereço, depto, salário, etc.) e INSCRIÇÃO (em um curso de treinamento), onde deseja-se saber qual o departamento de um determinado funcionário, sem que esta informação esteja nos registros das inscrições. " Por "compartilhamento" queremos dizer que parcelas isoladas de dados podem ser compartilhadas por diversos usuários num BD, no sentido de que todos os usuários podem ter acesso à mesma parcela de dados (e com finalidades diferentes). Po exemplo, os mesmos registros de FUNCIONÁRIOS poderiam estar sendo utilizados por departamentos diferentes. Uma conseqüência do fato de um banco de dados ser integrado é que qualquer usuário, em geral, só estará interessado em um subconjunto do banco de dados total; ademais, os subconjuntos de diferentes usuários irão sobrepor-se de muitas maneiras diferentes. Em outras palavras, um determinada banco de dados será percebido por usuários diferentes de várias formas distintas. De fato, mesmo quando dois usuários compartilham o mesmo subconjunto do banco de dados, as visões do mesmo podem diferir consideravelmente a nível dos detalhes Hardware O hardware compõe-se dos volumes de memória secundária - discos rígido - nos quais reside o banco de dados, juntamente com os dispositivos associados de entrada/saída (E/S), dispositivos de controle, canais de entrada/saída, etc. O maior objetivo quanto ao desempenho de sistemas de banco de dados é minimizar o número de acessos a disco (entradas/saídas de disco), isto é, usar técnicas de ordenamento dos dados armazenados, de maneira que determinada parte de dados, digamos um registro armazenado, possa ser localizado em um mínimo possível de E/S. O ordenamento dos dados no disco é chamado de estrutura de armazenamento. Pode-se projetar muitas estruturas de armazenamento diferentes e, certamente, estruturas diferentes terão características de desempenho diferentes; cada uma será satisfatória em determinadas aplicações. Não existe nenhuma estrutura ótima para todas as aplicações. Um bom sistema, portanto, deve suportar uma variedade de estruturas, de modo que partes diferentes dos dados possam ser armazenadas de maneiras diferentes, e que a estrutura de armazenamento de uma determinada parte possa ser modificada conforme as necessidades de desempenho mudem ou devam ser compreendidas melhor Software Entre o banco de dados físico, isto é, os dados armazenados, e os usuários do sistema encontra-se o software, o gerenciador do banco de dados (o gerenciador BD) ou, mais comumente, Sistema Gerenciador de Banco de Dados (SGBD). Todas as solicitações dos usuários de acesso ao banco de dados são manipulados pelo SGBD, tais como a criação de arquivos (tabelas), inserção de dados, recuperação de dados, etc. Outra função do SGBD é isolar os usuários do banco de dados dos detalhes a nível de hardware, fazendo com que eles tenham uma visão do banco acima do nível do hardware, e suporta as operações do usuário (uma consulta em SQL, por exemplo), que são expressas em termos daquela visão a nível mais elevado. INPE - 3

4 Usuários Aqui podemos considerar três grandes classes de usuários: Programador de Aplicações - responsável pela definição dos programas de aplicação que utilizam o banco de dados. Estes programas operam com os dados de todas as formas usuais: recuperação de informações, criação de novas informações, anulação ou alteração de informações existentes. Os programas em si podem ser de aplicações convencionais em lotes ou aplicações on-line, cuja função é suportar um usuário final. Usuário final - interage com o sistema a partir de um terminal on-line. Tem acesso ao banco da dados por meio de uma das aplicações on-line, definidas para o mesmo pelo programador de aplicações, ou usar a interface fornecida como parte integrante do SGBD. A maioria dos sistemas fornecem pelo menos uma aplicação embutida, a saber, um processador de linguagem de consulta interativo, pelo qual o usuário é capaz de emitir comandos ou instruções de alto nível (como SELECT, INSERT, etc.) ao SGBD. Alguns sistemas proporcionam interfaces embutidas adicionais, nas quais os usuários não precisam emitir expressamente os comandos, e sim escolhendo itens do menu ou preenchendos formulários. Administrador do Banco de Dados - a função de um DBA requer alto grau de capacitação técnica e capacidade de entender e interpretar as necessidades da empresa a nível de gerência executiva. Pode ser exercido por uma ou várias pessoas, as quais garantem um controle centralizado das informação no banco, e assim permitem: # reduzir a redundância dos dados; # evitar a inconsistência até certo ponto; # compartilhar os dados; # reforçar os padrões; # aplicar restrições de segurança; # manter a integridade; # equilibrar as necessidades conflitantes; # garantir a independência dos dados. Resumindo os tópicos acima, os sistemas de banco de dados são projetados para gerenciar uma grande quantidade de informações, e o objetivo principal é o uso eficiente para o armazenamento e a recuperação destes dados. Em termos de armazenamento, estruturas de dados devem ser definidas, e para a recuperação das informações mecanismos de consulta devem existir. Além dos mecanismos de definição e consulta dos dados, este sistemas de bancos de dados devem garantir a segurança e consistência da informação, evitando perdas em caso de caídas dos sistema e inconsistências em caso de acessos múltiplos à mesma informação. Exemplos de SGBD são; Access, Oracle, Informix, CodeBase, entre outros. 4 BANCO DE DADOS GEOGRÁFICO

5 1.2 - Sistemas de Arquivos Convencionais Os sistemas de banco de dados trabalham com arquivos, assim como os sistemas de arquivos convencionais. Um sistema de arquivos convencionais é caracterizado por diferentes formas de arquivos, e diferentes programas para se acessar as informações. A variedade de formatos de arquivos, exige o desenvolvimento de aplicativos específicos para se acessar as informações. Muitas vezes a mesma informação pode estar repetida em arquivos de diferentes formatos, o que dificulta o processo de garantia de consistência das informações, assim como o gerenciamento de acesso múltiplos aos dados. As principais desvantagens sistemas são: redundância e possível inconsistência de dados; dificuldade para se acessar informação (programa pode não estar disponível); inconsistência devido a acesso de multi-usuários; problemas de segurança Visão Abstrata dos Dados em BD Um dos objetivos dos SGBDs é prover aos usuários visões abstratas dos dados, ou seja o sistema deve ser capaz de esconder informações que não sejam necessárias ao usuário comum. Diferentes níveis de abstração são definidos de forma esconder a complexidade do sistema em termos de armazenamento e manutenção das informações. Desta forma o usuário comum tem acesso à criação e consulta dos dados, sem saber a forma como os mesmos são gerenciados pelo sistema. Três níveis de abstração são definidos (veja Figura 1.1 a seguir). Figura Níveis de Abstração de Banco de Dados INPE - 5

6 Nível físico Refere-se ao nível mais baixo de abstração dos dados, isto é, está mais próximo ao armazenamento físico ou a forma como são armazenados os dados. O nível físico é descrito por meio de um esquema interno, que não só define os vários tipos de registros armazenados como também especifica os índices que existem, como os campos armazenados são representados, a sequência física dos registros e assim por diante Nível lógico Descreve dados e relacionamentos entre os mesmos, isto é, a representação de todo o conteúdo de informações do banco de dados, porém um tanto abstrata quando comparada à forma como os dados são fisicamente armazenados, que também pode ser diferente da maneira como os dados são vistos por qualquer usuário em particular. Podemos dizer que é a visão conceitual dos dados, isto é, como realmente são, e não como os usuários são forçados a vê-los devido às restrições da linguagem ou do hardware utilizados pelos mesmos Nível de usuário O nível de usuário ou nível externo tem diferentes visões dos dados, muitas vezes não tendo acesso a todos os atributos armazenados. Neste nível estão os usuários finais ou programadores de aplicações Outros conceitos em BD Outros conceitos são fundamentais para manipulação com BD: Instância de BD: Coleção de informações armazenadas em um determinado momento. Esquema de BD: Projeto geral do banco de dados (esquemas físico, lógico e sub-esquemas). Independência de dados: física: modificações no esquema físico não acarretam alterações nos programas de aplicação. lógica: modificações no esquema lógico não acarretam alterações nos programas de aplicação. Independência de dados lógica é mais difícil de se obter do que a independência física dos dados, uma vez que os programas geralmente são desenvolvidos baseados na concepção lógica do sistema. 6 BANCO DE DADOS GEOGRÁFICO

7 1.5 - Modelo de Dados O modelo de dados de um sistema corresponde à coleção de ferramentas conceituais para descrever dados, relacionamentos, semântica, e restrições de consistência. Existem duas categorias de modelos de dados: modelos lógicos baseados em objetos e modelos lógicos baseados em registros Modelos Lógicos Baseados em Objetos Os modelos lógicos baseados em objetos são utilizados para descrever as informações nos níveis lógico e de usuário. E-R - entidade-relacionamentos: coleção de entidades e relacionamentos As entidades correspondem a elementos do mundo real tipo pessoas, municípios, e outras. Os relacionamentos descrevem como estas entidades estão associadas. Atributos podem ser associados às entidades. Um exemplo de diagrama E-R está mostrado a seguir. As entidades pessoa e contacorrente estão ligadas pelo relacionamento agência. (retângulo=entidade, losango=relacionamento, elipse=atributo) Modelos orientado a objetos coleção de objetos (elemento do mundo real, ex.: hospital, municício); objetos contém atributos e métodos para acessar suas informações; objetos do mesmo tipo são agrupado em classes. No exemplo abaixo o a classe de objeto empregado possui como atributos os campos nome e endereço, e existem métodos para recuperar e definir estes atributos. Classe empregado atributos: nome, endereço métodos: define_nome, recupera_nome define_endereço, recupera_endereço INPE - 7

8 Modelos Lógicos Baseados em Registros Os modelos baseados em registros são assim chamados porque o banco de dados é estruturado em registro com formato fixo de vários tipos. Cada tipo de registro define um número fixo de campos ou atributos, e cada atributo é normalmente de tamanho fixo, o que simplifica o processo de implementação do banco de dados. Os modelos de dados baseados em registros mais comuns são: modelo relacional, modelo de redes, e modelo hierárquico. Modelo Relacional coleção de tabelas ou relações representando dados e relacionamento entre estes dados. Cada tabela pode possuir múltiplas colunas representando atributos com um nome único. As duas tabelas abaixo mostram as relações FUNCIONÁRIO e DEPARTAMENTO, que estão relacionadas pelo atributo depto. Este relacionamento nos permite identificar os departamentos onde cada funcionário trabalha. FUNCIONÁRIO Registro Nome Idade Salário Depto João da Silva Henrique Cardoso José de Souza DEPARTAMENTO Depto Nome Cidade Estado 1 DPI SJCampos SP 2 DSR Natal RN 3 DME Cuiabá MT Modelo de Redes dados representados por uma coleção de registros; relacionamento entre os dados representados por ponteiros. João INPE José INPE Maria CTA A- 700 A-II 500 Ana CTA 8 BANCO DE DADOS GEOGRÁFICO

9 Modelo Hierárquico similar ao modelo de redes (registro e ponteiros); dados organizados como uma estrutura de árvore. Terreno industrial comercial público Embraer GM LA escola parque Diferença entre os modelos baseados em registros: O modelo relacional se diferencia dos modelos de redes e hierárquico por não possuir ponteiros ou ligações. O modelo relacional acessa os seus registros pelos valores que os atributos possuem Modelo Relacional O modelo relacional se estabeleceu como o modelo usualmente utilizado em aplicações de banco de dados. As características principais são: Coleção de tabelas ou relações com nome único; Colunas da tabela representam atributos; Linhas da tabela contém valores para os atributos; Domínio do atributo: conjunto de possíveis valores. X = { x ε R x -5 e x 5 } valores reais entre 5 e 5. Y = { y ε R y 0 } valores reais maiores ou igual a Conceito de Relação Relação: define uma tabela no banco de dados. Dado os domínios D 1, D 2,..., D n não necessáriamente distintos, uma relação é definida da seguinte forma: R = { (d 1, d 2,..., d n ) d 1 D 1, d 2 D 2,..., d n D n } INPE - 9

10 O conjunto de valores ordenados (d 1, d 2,..., d n ) define um tupla (linha ou registro da relação). Uma relação é o conjunto de n-tuplas ordenadas, onde n define o grau da relação. A tabela abaixo mostra um exemplo de uma relação que possuiu 5 atributos, cujos domínios estão descritos. FUNCIONÁRIO Registro Nome Idade Salário Depto João da Silva Henrique Cardoso José de Souza Atributo Domínio registro inteiro positivo nome conjunto de caracteres idade inteiro positivo salário real positivo depto inteiro positivo Chaves de uma Relação Dado uma relação, é importante termos condições de identificar elementos e relacionamentos únicos. Isto é normalmente obtido através da chave de uma relação. O conceito de chave corresponde a um ou mais atributos de uma tupla que não se repetem na tabela. Por exemplo, uma relação de pessoas pode ter como chave o atributo CPF, que é um valor que não se repete. Super-chave: conjunto de um ou mais atributos que não se repete em uma relação. Chave candidata: super-chave mínima (não pode ser gerado um subconjunto). Chave primária: chave candidata escolhida. chave: CPF Nome Endereço CPF chave: Rua + Bairro + Cidade Rua Bairro Cidade 10 BANCO DE DADOS GEOGRÁFICO

11 Conversão do Modelo E-R para o Modelo Relacional Entidades com atributos chaves geram uma relação; Relacionamentos geram uma relação adicionando-se os atributos chaves das entidades relacionadas; Pode-se também não gerar uma tabela para o relacionamento, e neste caso deve-se associar um atributo referente a estes relacionamento em uma das outras tabelas. Exemplo: Pessoa (cpf, endereço) Acesso (cpf, número, data) Conta (número, saldo) Álgebra Relacional A álgebra relacional é uma linguagem de consulta procedural, onde o usuário define o que deseja e a forma para recuperar estes dados. Existem uma série de operadores básicos ou fundamentais, e outros derivados dos operadores básicos. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída operação (REL1) REL2 operação (REL1,REL2) REL3 Operações básicas: Seleção, projeção, união, diferença, produto cartesiano INPE

12 Operadores da Álgebra Relacional Seleção: seleciona tuplas que satisfazem a um certo predicado ou condição. PESSOA Nome Registro João 1 Maria 2 José 3 a) selecionar tuplas cujo nome = João (σ Nome= João (Pessoa)) Nome Registro João 1 b) selecionar as tuplas de Pessoas cujo registro > 1 (σ Registro>1 (Pessoa)) Nome Registro Maria 2 José 3 c) selecionar as tuplas de Pessoas com registro > 1 e registro <= 3 (σ Registro>1 Registro < 3 (Pessoa)) Nome Registro Maria 2 José 3 12 BANCO DE DADOS GEOGRÁFICO

13 Projeção: Gera novas relações excluindo alguns atributos. exemplo: projete o atributo Nome sobre a relação Pessoa PESSOA π Nome (Pessoa) Nome Registro Nome João 1 João Maria 2 Maria José 3 José União: Gera uma relação com a união de atributos do mesmo domínio que estão em relações diferentes. As relações devem possuir o mesmo número de atributos. exemplo: encontre todos os clientes da agência que possuem conta corrente ou empréstimo. CONTACORRENTE Nome Conta João 1 Maria 2 José 3 EMPRESTIMO Nome Empréstimo Paulo 100 Maria 200 Carlos 300 = UNIÃO Nome João Maria José Paulo Carlos Diferença: Gera uma relação com as tuplas que se encontram em uma relação, mas não em outra. As relações devem possuir o mesmo número de atributos. INPE

14 exemplo: encontre todos os clientes que não tenha feito empréstimo. CONTACORRENTE Nome Conta João 1 Maria 2 José 3 EMPRESTIMO Nome Empréstimo Paulo 100 Maria 200 Carlos 300 = DIFERENÇA Nome João José Produto Cartesiano Combina operações entre duas relações, onde a união de atributos forma a nova relação. exemplo: todos clientes com conta corrente X empréstimo de Maria. Nome cc Conta Nome emp Emprestimo João 1 Maria 200 Maria 2 Maria 200 José 3 Maria Operadores Derivados Intersecção Gera uma relação com tudo que está em ambas relações. 14 BANCO DE DADOS GEOGRÁFICO

15 exemplo: todos os clientes que possuem empréstimo. CONTACORRENTE Nome Conta João 1 Maria 2 José 3 EMPRESTIMO Nome Empréstimo Paulo 100 Maria 200 Carlos 300 = INTERSECÇÃO Nome Maria Junção A operação de junção combina duas relações através de um atributo comum, gerando uma nova relação. Inclui um produto cartesiano, seguido de uma seleção (pode ter projeção ao final). exemplo: nomes dos clientes com conta corrente e número de empréstimo. prod. cartesiano: CONTACORRENTE X EMPRÉSTIMO seleção: Nome contacorrente = Nome empréstimo projeção: Nome contacorrente, Empréstimo empréstimo Junção natural: Neste caso os nomes dos atributos utilizados para combinar as tabelas são iguai. Junção externa: É uma extensão da junção natural que evita a perda de informação. Vamos considerar as duas relações abaixo: ( nome, endereço, cidade ) ( nome, banco, salário ) { Coyote, Toon, Hollywood } { Coyote, Mesa, 1500 } { Coelho, Túnel, Cenoura } { Coelho, Mesa, 1300 } { Smith, Revolver, Vale Morte} { Gates, Msm, 5300 } INPE

16 A junção natural é feita pelos atributos nome das duas tabelas, gerando o resultado com 2 registros uma vez que os nomes Coyote e Coelho aparecem nas duas relações: ( nome, endereço, cidade, banco, salário) { Coyote, Toon, Hollywood, Mesa, 1500 } { Coelho, Túnel, Cenoura, Mesa, 1300 } O resultado da junção natural mostra que as informações referentes a Smith foram perdidas. Para evitar este tipo de perda de informação deve se usar o operador de junção externa, que repete as informações do registro que não existe na outra tabela, e acrescenta valores nulos nos outros campos. Neste caso o registro referente a Smith faria parte do resultado final. ( nome, endereço, cidade, banco, salário) { Coyote, Toon, Hollywood, Mesa, 1500 } { Coelho, Túnel, Cenoura, Mesa, 1300 } { Smith, Revolver, Vale Morte, NULL, NULL} Funções de Agregação São funções que retornam um valor único a partir de uma coleção de valores. Sum: soma dos valores { sum salário (inpe) } Avg: média dos valores Count: total de ítens na coleção Min, max: mínimo e máximo valores de uma coleção Count-distinct: elimina repetições primeiro e conta o total SQL - Linguagem de Consulta A Álgebra Relacional é uma maneira formal de expressar consultas. Entretanto os sistemas de banco de dados comerciais, necessitam de uma linguagem mais simples e acessível para os usuários. A linguagem SQL (Structured Query Language) é a linguagem padrão em banco de dados relacionais. A linguagem SQL possui várias partes, entre elas: Linguagem de definição de dados (DDL Data Definition Language): comandos para definir relações, remover relações, criar índices, e modificar relações. 16 BANCO DE DADOS GEOGRÁFICO

17 Linguagem de manipulação de dados interativa (DML Data Manipulation Language): inclui uma linguagem de consulta baseada na álgebra relacional que permite inserir novos registros ou tuplas, remover registros, e modificar registros. Definição de vistas: vistas são tabelas relacionais, onde apenas parte do conteúdo de uma relação está disponível. Controle de acesso: a DDL inclui comandos para definir direito de acesso aos dados. Controle de integridade: a DDL inclui comandos para garantir a consistência dos dados. Controle de transação: comandos para definir início e término de uma operação. As informações só são atualizadas se todo o processo for executado corretamente. 1.7,1 - Definição de Esquema de Dados Criação de tabelas: comando create table create table r (A 1 D 1, A 2 D 2,..., A n D n, <restrição de integridade 1 >,..., <restrição de integridade k >) Restrições de integridade que podem estar definidas na criação de uma tabela: primary key (A j1, A j2,..., A jm ) - define atributo(s) chave check (P) - verifica predicado create table cliente (nome char(20) not null, endereço char(30), cidadechar(30), primary key (nome)) create table contacorrente (número char(10) not null, banco char(30), saldo integer, primary key (número), check (saldo >= 0)) INPE

18 Eliminar tabela do banco: comando drop table drop table cliente Eliminar todos os registros de uma tabela: comando delete from delete from cliente Alterar tabela do banco: comando alter table alter table cliente add A D : adiciona atributo A com domínio D alter table cliente drop A : elimina atributo A Sintaxe da linguagem SQL SELECT <atributos> FROM <relações> WHERE <expressão> SELECT: corresponde ao operador projeção da álgebra relacional FROM: corresponde ao operador produto cartesiano da álgebra relacional WHERE: corresponde ao operador seleção da álgebra relacional Exemplos de consultas SQL: ALUNO CADEIRA Nome Id Aluno Tipo João 1 1 escolar Maria 2 2 normal José 3 3 poltrona SELECT nome FROM aluno WHERE Id = 1 Etapas de execução da consulta acima: FROM: todas as tuplas da relação aluno WHERE: selecione as tuplas cujo id = 1 SELECT: projete o atributo nome 18 BANCO DE DADOS GEOGRÁFICO

19 SELECT Nome, Id, Tipo FROM aluno, cadeira WHERE Id = Aluno Etapas da execução da consulta acima: FROM: produto cartesiano ALUNO X CADEIRA WHERE: selecione registros onde Id = Aluno SELECT: projete os atributos Nome, Id, e Tipo Nome Id Tipo João 1 escolar Maria 2 normal Operações em conjunto de caracteres ( strings ) O caracter % representa qualquer sub-string. O caracter _ (em alguns bancos *) representa qualquer caracter. O termo like é utilizado para comparar padrões. Carl% : qualquer nome que comece com Carl %ulo% : qualquer nome que possui ulo _ : qualquer nome com 3 caracteres Exemplo: selecione todos os nomes de clientes cujo endereço de rua tem Ademar. select nome from cliente where endereco like %Ademar% Funções de agregação Média: avg Selecione a média dos saldo das conta correntes do Banco do Brasil. select avg (saldo) from conta_corrente where banco_nome = Brasil Cláusula group by : junta as tuplas com atributos de mesmo valor select banco_nome, avg (saldo) from conta_corrente group by banco_nome INPE

20 Contador : count recupere o número de tuplas ou registros na relação cliente select count (*) from cliente Mínimo : min Máximo : max Soma : sum Junção natural : ( inner join ) Considere as duas relações abaixo empréstimo e cliente. Deseja-se unir as duas tabelas através dos atributos número da tabela empréstimo e emp_número da tabela cliente. Observe que o resultado empréstimo (banco,numero,saldo) cliente (nome,emp_numero) { Centro, L-170, 3000 } { João, L-170 } { Satelite, L-230, 4000 } { Sandra, L-230 } { Inpe, L-260, 300 } { Paulo, L-155 } select * from emprestimo inner join cliente on emprestimo.numero = cliente.emp_numero { Centro, L-170, 3000, João, L-170} { Satelite, L-230, 4000, Sandra, L-230 } Observa-se que o resultado da junção natural perde as informações referentes ao Inpe. Junção Externa: (outer join) Evita perda de informações. O termos right e left podem ser usados na sintaxe da operação de junção, e definem qual a tabela que terá os seus atributos na tabela resultado. 20 BANCO DE DADOS GEOGRÁFICO

21 empréstimo (banco, numero, saldo) cliente (nome, emp_numero) { Centro, L-170, 3000 } { João, L-170 } { Satelite, L-230, 4000 } { Sandra, L-230 } { Inpe, L-260, 300 } { Paulo, L-155 } select * from emprestimo left outer join cliente on emprestimo.numero = cliente.emp_numero { Centro, L-170, 3000, João, L-170} { Satelite, L-230, 4000, Sandra, L-230 } { Inpe, L-260, 1700, null, null, } No exemplo acima o termo left identifica que a junção será feita utilizando como base os registros da tabela empréstimo Passos na Modelagem de um Banco de Dados No processo de modelagem de um banco de dados podemos identificar quatro etapas (veja esquema abaixo). Requisitos: corresponde à identificação e documentação dos dados necessários para a implantação do banco de dados, assim como identificação dos recursos operacionais necessários à implantação do sistema; Modelagem conceitual: mapear visão do usuário em um conjunto de dados, e descrever entidades, atributos e relacionamentos; Implementação: definição do esquema do banco de dados que pode ser implementado em um gerenciador de banco de dados; Projeto físico: definir estruturas de dados, métodos de acesso, e segurança das informações. INPE

22 Projeto Lógico de Banco de Dados O problema básico no processo do projeto lógico de um banco de dados, é como representar os dados e seus atributos obtido na fase de identificação de requisitos de uma forma completa e eficiente. Ou seja, como estes dados devem ser combinados em tabelas e relacionamentos? Para este tipo de problema técnicas de normalização são utilizadas. Normalização corresponde a análise das dependências funcionais entre os atributos dos dados, e tem como objetivo principal reduzir complexidade da visão do usuário. Os passos na normalização são: Identificar a visão do usuário; Definir relações não normalizadas; Gerar tabelas na 1 a forma normal (remove grupos repetidos); Gerar tabelas na 2 a forma normal (remove dependências parciais); Gerar tabelas na 3 a forma normal (remove dependências transitivas). Relação não normalizada: Relação que contém um ou mais grupos repetidos; Atributo simples não serve como chave candidata. RELATÓRIO_NOTAS Est# Nome Área Curso Aula Professor Prof Loc Nota 1 João CA CA10 Banco de Dados K BD300 A 1 João CA MA5 Matemática C M250 B 1 a Forma Normal Objetivo: remover grupos repetidos. Problemas: redundância de dados; anomalias de inserção; anomalias de atualização; anomalias de remoção. A relação não normalizada pode ser dividida nas duas relações a seguir, uma na 1 a FN e outra na 3 a FN: 1 a FN ESTUDANTE_CURSO Est# Curso Aula Professor Prof Loc Nota 3 a FN - ESTUDANTE Est# Nome Área 22 BANCO DE DADOS GEOGRÁFICO

23 A relação na 1a FN apresenta problemas de inserção, uma vez que um curso só pode ser criado se existir algum aluno. Um outro problema é de atualização, uma vez que o valor do atributo curso pode se repetir em várias linhas, e caso seja alterado, todas as linhas devem ser modficadas. Uma outra anomalia é a perda de informação. Por exemplo, se um curso só tem um aluno, e o professor só ministra este curso, a remoção do aluno causará a perda das informações sobre o professor. A razão para as anomalias nesta forma normal, é que os atributos não chaves são parcialmente dependentes da chave primária (Est#,Curso). Por exemplo, o atributo professor depende apenas do atributo curso e não do atributo Est#. 2 a Forma Normal Objetivo: remover dependências parciais. A passagem da 1a FN para a 2a FN consiste em criar duas novas relações uma com atributos totalmente dependentes da chave primária, e outra com atributos parcialmente dependentes da chave primária. 3 a FN - NOTAS Est# Curso Nota 2 a FN CURSO_INSTRUTOR Curso Aula Professor Prof Loc Tabelas na 2 a FN também apresentam problemas devidos a dependência transitiva entre atributos não chave (Professor/Prof Loc). Assim como na 1 a FN, tabelas na 2 a FN apresentam anomalias de inserção, remoção, e atualização. 3 a Forma Normal Neste caso todos os atributos não chave são totalmente dependentes da chave primária. 3 a FN - ESTUDANTE Est# Nome Área 3 a FN - NOTAS Est# Curso Nota 3 a FN CURSO Curso Aula Professor 3 a FN INSTRUTOR Professor Prof Loc INPE

24 1.9- Referencias Bibliográficas DATE, C.J. Banco de Dados Tópicos Avançados. CAMPUS, 1 ed.- ISBN DATE, C.J. Introdução a Sistemas de Bancos de Dados. Rio de Janeiro, RJ CAMPUS, 4 ed.- ISBN HERNANDEZ, M.J. Aprenda a Projetar seu Próprio Banco de Dados. MAKRON BOOKS, 1999, 1 ed.- ISBN KROENKE, M.D. Banco de Dados Fundamentos, Projeto e Implementação. Rio de Janeiro, RJ, LTC, 1998, 6 ed.. SETZER, V.W. Banco de Dados Conceitos, Modelos, Gerenciadores e Projeto Lógico EDGARD BLUCHER, 1989, 3 ed. - ISBN SILBERSCHATZ, A. KORTH, H. SUDARSHAN, S. Sistema de Banco de Dados. MAKRON BOOKS, 1999, 3 ed.- ISBN BANCO DE DADOS GEOGRÁFICO

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas:

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas: Álgebra Relacional Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída operação (REL 1 ) REL 2 operação (REL 1,REL 2 ) REL 3 Operações básicas: seleção projeção

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

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

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. Marcio de Carvalho Victorino www.dominandoti.eng.br. Exercícios SQL

Banco de Dados. Marcio de Carvalho Victorino www.dominandoti.eng.br. Exercícios SQL Banco de Dados Exercícios SQL 1 TRF (ESAF 2006) 32. Analise as seguintes afirmações relacionadas a Bancos de Dados e à linguagem SQL: I. A cláusula GROUP BY do comando SELECT é utilizada para dividir colunas

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

Banco de Dados. Profª. Ana Leda

Banco de Dados. Profª. Ana Leda Banco de Dados Profª. Ana Leda Introdução 1 DADO PROCESSAMENTO INFORMAÇÃO 2 Dados x Informação DADO = REPRESENTAÇÃO DE UM FATO, OBJETO, EVENTO, PESSOA, ETC. ENTIDADE = FATO, OBJETO, EVENTO, PESSOA, ETC,

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

Introdução a Bancos de Dados

Introdução a Bancos de Dados Introdução a Bancos de Dados - Conceitos - Modelos lógicos e relacional - Álgebra relacional - SQL - Projeto Lógico INPE - Divisão de Processamento de Imagens INPE 1 Sistemas de Banco de Dados Definição:

Leia mais

Uma expressão básica em SQL consiste em três cláusulas: select, from e where.

Uma expressão básica em SQL consiste em três cláusulas: select, from e where. Introdução a Banco de Dados O.K. Takai; I.C.Italiano; J.E. Ferreira. 67 8 A Linguagem SQL A linguagem SQL é um padrão de linguagem de consulta comercial que usa uma combinação de construtores em Álgebra

Leia mais

Dados. Qualquer elemento (aspecto, fato, medida etc.) representativo, disponível e coletável na realidade. fatos no estado bruto, conforme Platão;

Dados. Qualquer elemento (aspecto, fato, medida etc.) representativo, disponível e coletável na realidade. fatos no estado bruto, conforme Platão; Dados Os Dados são os fatos em sua forma primária, como observamos no mundo. Qualquer elemento (aspecto, fato, medida etc.) representativo, disponível e coletável na realidade. fatos no estado bruto, conforme

Leia mais

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

Introdução à Banco de Dados. Nathalia Sautchuk Patrício Introdução à Banco de Dados Nathalia Sautchuk Patrício Histórico Início da computação: dados guardados em arquivos de texto Problemas nesse modelo: redundância não-controlada de dados aplicações devem

Leia mais

Núcleo de Pós Graduação Pitágoras

Núcleo de Pós Graduação Pitágoras Núcleo de Pós Graduação Pitágoras Professor: Fernando Zaidan Disciplina: Modelagem e Projeto de Banco de Dados Especialização em Tecnologia da Informação - Ênfases Março- 2009 1 Material usado na montagem

Leia mais

17/10/2008. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores

17/10/2008. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores Faculdade INED Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan 1 Unidade 2 Imagem: BARBIERI, Carlos. 2

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

Linguagem de Consulta - SQL

Linguagem de Consulta - SQL SQL Structured Query Language Linguagem de Consulta Estruturada; Originou-se da linguagem SEQUEL (1974); Revisada e chamada de SQL em 1976/77; Em 1986, padronizada pelo ANSI/ISO - chamada SQL-86; Em 1987

Leia mais

Banco de Dados. Um momento crucial na organização dos dados é a forma com que cadastramos estes dados, a estrutura de armazenamento que criamos.

Banco de Dados. Um momento crucial na organização dos dados é a forma com que cadastramos estes dados, a estrutura de armazenamento que criamos. Banco de Dados O que é um Banco de Dados? Este assunto é muito vasto, tentaremos resumi-lo para atender as questões encontradas em concursos públicos. Já conhecemos o conceito de dado, ou seja, uma informação

Leia mais

Banco de Dados Conceito de Arquitetura

Banco de Dados Conceito de Arquitetura Banco de Dados Conceito de Arquitetura Wireless-Optical Broadband Acess Network APRESENTAÇÃO Graduado SI Engenharia de Software Gerenciamento de Projetos Mecatrônica Mestrando CONCEITO DE BD MODELO DE

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

LINGUAGEM SQL. DML - Linguagem de Manipulação de Dados

LINGUAGEM SQL. DML - Linguagem de Manipulação de Dados LINGUAGEM SQL Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL, é uma linguagem de pesquisa declarativa para banco de dados relacional (base de dados relacional). Muitas das características

Leia mais

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

Banco de Dados. Maurício Edgar Stivanello

Banco de Dados. Maurício Edgar Stivanello Banco de Dados Maurício Edgar Stivanello Agenda Conceitos Básicos SGBD Projeto de Banco de Dados SQL Ferramentas Exemplo Dado e Informação Dado Fato do mundo real que está registrado e possui um significado

Leia mais

2. Conceitos e Arquitetura de Bancos de Dados

2. Conceitos e Arquitetura de Bancos de Dados Bancos de Dados 2. Conceitos e Arquitetura de Bancos de Dados 1 Arquitetura Moderna de SGBD SGBD antigos eram monolíticos e rígidos, voltados para funcionamento em ambientes centralizados (mainframes e

Leia mais

Introdução à Engenharia da Computação. Banco de Dados Professor Machado

Introdução à Engenharia da Computação. Banco de Dados Professor Machado Introdução à Engenharia da Computação Banco de Dados Professor Machado 1 Sistemas isolados Produção Vendas Compras Banco de Dados Produtos... Banco de Dados Produtos... Banco de Dados Produtos... Desvantagens:

Leia mais

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Definição de Dados Banco de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix

Leia mais

Banco de Dados. Prof. Antonio

Banco de Dados. Prof. Antonio Banco de Dados Prof. Antonio SQL - Structured Query Language O que é SQL? A linguagem SQL (Structure query Language - Linguagem de Consulta Estruturada) é a linguagem padrão ANSI (American National Standards

Leia mais

Structured Query Language (SQL)

Structured Query Language (SQL) SQL Histórico Structured Query Language (SQL) Foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation Language) para suas primeiras tentativas

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

PHP INTEGRAÇÃO COM MYSQL PARTE 1

PHP INTEGRAÇÃO COM MYSQL PARTE 1 INTRODUÇÃO PHP INTEGRAÇÃO COM MYSQL PARTE 1 Leonardo Pereira leonardo@estudandoti.com.br Facebook: leongamerti http://www.estudandoti.com.br Informações que precisam ser manipuladas com mais segurança

Leia mais

Banco de Dados I 2007. Módulo V: Indexação em Banco de Dados. (Aulas 4) Clodis Boscarioli

Banco de Dados I 2007. Módulo V: Indexação em Banco de Dados. (Aulas 4) Clodis Boscarioli Banco de Dados I 2007 Módulo V: Indexação em Banco de Dados (Aulas 4) Clodis Boscarioli Agenda: Indexação em SQL; Vantagens e Custo dos Índices; Indexação no PostgreSQL; Dicas Práticas. Índice em SQL Sintaxe:

Leia mais

PROGRAMA. Aquisição dos conceitos teóricos mais importantes sobre bases de dados contextualizados à luz de exemplos da sua aplicação no mundo real.

PROGRAMA. Aquisição dos conceitos teóricos mais importantes sobre bases de dados contextualizados à luz de exemplos da sua aplicação no mundo real. PROGRAMA ANO LECTIVO: 2005/2006 CURSO: LICENCIATURA BI-ETÁPICA EM INFORMÁTICA ANO: 2.º DISCIPLINA: BASE DE DADOS DOCENTE RESPONSÁVEL PELA REGÊNCIA: Licenciado Lino Oliveira Objectivos Gerais: Aquisição

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

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

Exercícios de Lógica Exercícios de Fixação 08

Exercícios de Lógica Exercícios de Fixação 08 Exercícios Exercícios de Lógica Exercícios de Fixação 08 1. A linguagem SQL apresenta uma série de comandos que permitem a definição dos dados, chamada de DDL (Data Definition Language). Assinale a alternativa

Leia mais

Disciplina de Banco de Dados Parte V

Disciplina de Banco de Dados Parte V Disciplina de Banco de Dados Parte V Prof. Elisa Maria Pivetta CAFW - UFSM Modelo de Dado Relacional O Modelo Relacional O Modelo ER é independente do SGDB portanto, deve ser o primeiro modelo gerado após

Leia mais

T U T O R I A L BANCO DE DADOS GEOGRÁFICOS. ID no va BR INPE. Junho de 2002 INPE

T U T O R I A L BANCO DE DADOS GEOGRÁFICOS. ID no va BR INPE. Junho de 2002 INPE T U T O R I A L BANCO DE DADOS GEOGRÁFICOS ID no va BR INPE Junho de 2002 INPE ii Banco de Dados Geográficos Objetivos do Curso Apresentar conceitos básicos sobre Banco de Dados, com seus diferentes modelos

Leia mais

Introdução a Sistemas de Bancos de Dados

Introdução a Sistemas de Bancos de Dados Introdução a Sistemas de Bancos de Dados Prof. UFES - Universidade Federal do Espírito Santo rapchan@inf.ufes.br http://www.inf.ufes.br/~rapchan Roteiro da Apresentação Introdução Características de um

Leia mais

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível

Leia mais

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível de independência do

Leia mais

Projeto de Banco de Dados

Projeto de Banco de Dados Luiz Vivacqua (lavcm@terra.com.br) http://geocities.yahoo.com.br/lavcm 1 Ementa 1. Introdução (1) 2. Modelo Conceitual Diagrama de classes 3. Modelo Lógico Relacional Características Chaves Restrições

Leia mais

Introdução ao SQL. Aécio Costa

Introdução ao SQL. Aécio Costa Aécio Costa A linguagem SQL é um padrão de linguagem de consulta comercial e possui as seguintes partes: Linguagem de definição de dados (DDL) Linguagem interativa de manipulação de dados (DML) Definição

Leia mais

Modelo de Dados Relacional Restrições de um Banco de Dados Relacional

Modelo de Dados Relacional Restrições de um Banco de Dados Relacional Modelo de Dados Relacional e as Restrições de um Banco de Dados Relacional Modelo de Dados Relacional Conceitos do Modelo Relacional Representa o banco de dados como uma coleção de relações. Comparação

Leia mais

Banco de Dados Orientado a Objetos

Banco de Dados Orientado a Objetos Banco de Dados Orientado a Objetos MODELAGEM, ANÁLISE, PROJETO e CLASSIFICAÇÃO Interação combinando lógica, através de objetos que contém os dados. Estes divididos conforme seus tipos e métodos (classe),

Leia mais

Fundamentos dos Sistemas de Informação Organização de Dados e Informações

Fundamentos dos Sistemas de Informação Organização de Dados e Informações Fundamentos dos Sistemas de Informação Organização de Dados e Informações http://professor.fimes.edu.br/milena milenaresende@fimes.edu.br Sistema de Gerenciamento de Bases de Dados (DBMS) A implementação

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

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

Prof. Ronaldo R. Goldschmidt. ronaldo@de9.ime.eb.br rribeiro@univercidade.br geocities.yahoo.com.br/ronaldo_goldschmidt

Prof. Ronaldo R. Goldschmidt. ronaldo@de9.ime.eb.br rribeiro@univercidade.br geocities.yahoo.com.br/ronaldo_goldschmidt Prof. Ronaldo R. Goldschmidt ronaldo@de9.ime.eb.br rribeiro@univercidade.br geocities.yahoo.com.br/ronaldo_goldschmidt Prof. Ronaldo Ribeiro Goldschmidt REVISÃO DE BD RELACIONAIS E SQL! "" #!$ #%! $& #

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

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

Objetivos Específico

Objetivos Específico Banco de Dados Ementa (DBA) Conceitos Gerais sobre Banco de Dados Instalação e configuração da Ferramenta de Banco de Dados. Elaboração de projeto de Banco de Dados. Implementação do projeto de Banco de

Leia mais

DESENVOLVIMENTO DE SOFTWARE

DESENVOLVIMENTO DE SOFTWARE VARIAÁ VEL Antes de iniciarmos os comandos referentes a Banco de Dados, precisamos de uma breve descrição técnica sobre Variáveis que serão uma constante em programação seja qual for sua forma de leitura.

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

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

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

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL 1. O que é Linguagem SQL 2. Instrução CREATE 3. CONSTRAINT 4. ALTER TABLE 5. RENAME TABLE 6. TRUCANTE TABLE 7. DROP TABLE 8. DROP DATABASE 1 1. O que é Linguagem SQL 2. O SQL (Structured Query Language)

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

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

Programação SQL. Introdução

Programação SQL. Introdução Introdução Principais estruturas duma Base de Dados: Uma BD relacional é constituída por diversas estruturas (ou objectos ) de informação. Podemos destacar: Database: designa a própria BD; Table/Tabela:

Leia mais

Aula 3 SBD Modelo Entidade Relacionamento Parte 1. Profa. Elaine Faria UFU - 2015

Aula 3 SBD Modelo Entidade Relacionamento Parte 1. Profa. Elaine Faria UFU - 2015 Aula 3 SBD Modelo Entidade Relacionamento Parte 1 Profa. Elaine Faria UFU - 2015 Processo do Projeto de um Banco de Dados A criação de uma aplicação de banco de dados envolve várias tarefas Projeto do

Leia mais

ROTEIRO. A Linguagem SQL (I parte) CEFET.PHB - PI Prof. Jefferson Silva. As partes da linguagem SQL. A Linguagem de Definição de Dados (SQL-DDL)

ROTEIRO. A Linguagem SQL (I parte) CEFET.PHB - PI Prof. Jefferson Silva. As partes da linguagem SQL. A Linguagem de Definição de Dados (SQL-DDL) CEFET.PHB - PI Prof. Jefferson Silva SQL (MySql) ROTEIRO I PARTE - INTRODUÇÃO AO SQL COMANDOS E SUAS PARTES DA LINGUAGEM SQL II PARTE ADMINSTRAÇÃO DE BANCO DE DADOS UTILIZANDO MYSQL PRINCIPAIS INSTRUÇÕES

Leia mais

SQL DML. Frederico D. Bortoloti freddb@ltc.ufes.br

SQL DML. Frederico D. Bortoloti freddb@ltc.ufes.br Banco de Dados I SQL DML Frederico D. Bortoloti freddb@ltc.ufes.br SQL - DML Os exemplos da aula serão elaborados para o esquema de dados a seguir: Empregado(matricula, nome, endereco, salario, supervisor,

Leia mais

Chaves. Chaves. O modelo relacional implementa dois conhecidos conceitos de chaves, como veremos a seguir:

Chaves. Chaves. O modelo relacional implementa dois conhecidos conceitos de chaves, como veremos a seguir: Chaves 1 Chaves CONCEITO DE CHAVE: determina o conceito de item de busca, ou seja, um dado que será empregado nas consultas à base de dados. É um conceito lógico da aplicação (chave primária e chave estrangeira).

Leia mais

SISTEMAS DE INFORMAÇÃO GERENCIAIS

SISTEMAS DE INFORMAÇÃO GERENCIAIS SISTEMAS DE INFORMAÇÃO GERENCIAIS Aluno: Luiza Cavalcanti Marques Orientador: Silvio Hamacher Introdução A modelagem e a utilização de bancos de dados em atividades gerenciais têm sofrido um aumento significativo

Leia mais

Simulado Banco de Dados I Bimestre 1 Capítulo 1 Projeto Lógico de Banco de Dados

Simulado Banco de Dados I Bimestre 1 Capítulo 1 Projeto Lógico de Banco de Dados Simulado Banco de Dados I Bimestre 1 Capítulo 1 Projeto Lógico de Banco de Dados 01) Defina com suas próprias palavras: a) Banco de Dados b) Sistema Gerenciador de Banco de Dados c) Sistema de Banco de

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 1 Linguagem SQL Linguagem de definição de dados (DDL) DISCIPLINA: Banco de 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

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

TRABALHO DE BANCO DE DADOS POSTGRES MINI-MUNDO: BD PARA GERENCIAMENTO DE UNIDADES DE CONSERVAÇÃO

TRABALHO DE BANCO DE DADOS POSTGRES MINI-MUNDO: BD PARA GERENCIAMENTO DE UNIDADES DE CONSERVAÇÃO UERJ Universidade do Estado do Rio de Janeiro Mestrado em Engenharia da Computação Geomática Docente: Oscar Luiz Monteiro de Farias Disciplina: Banco de Dados Alunos: Elisa Santos de Oliveira Teixeira

Leia mais

14/08/2008. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

14/08/2008. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan Faculdade INED Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan 1 Unidade 2 Introdução a SQL 2 Leitura Obrigatória ELMASRI,

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

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1 IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1 Banco de Dados Fundamentos de SQL Structured Query Language Aula2 Apresentado por: Robson do Nascimento Fidalgo rdnf@cin.ufpe.br IF685

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

Modelagem de Dados UNIDADE DE REVISÃO E RECUPERAÇÃO

Modelagem de Dados UNIDADE DE REVISÃO E RECUPERAÇÃO Modelagem de Dados UNIDADE DE REVISÃO E RECUPERAÇÃO Organizamos esta unidade para orientá-lo na revisão dos conteúdos trabalhados ao longo da disciplina. Siga as orientações desta apresentação, reveja

Leia mais

Structured Query Language (SQL) Aula Prática

Structured Query Language (SQL) Aula Prática Structured Query Language (SQL) Aula Prática Linguagens de SGBD Durante o desenvolvimento do sistema R, pesquisadores da IBM desenvolveram a linguagem SEQUEL, primeira linguagem de acesso para Sistemas

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

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

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

Introdução a Banco de Dados Aula 03. Prof. Silvestri www.eduardosilvestri.com.br

Introdução a Banco de Dados Aula 03. Prof. Silvestri www.eduardosilvestri.com.br Introdução a Banco de Dados Aula 03 Prof. Silvestri www.eduardosilvestri.com.br Arquiteturas de Banco de Dados Arquiteturas de BD - Introdução Atualmente, devem-se considerar alguns aspectos relevantes

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

Modelo Relacional. 2. Modelo Relacional (Lógico)

Modelo Relacional. 2. Modelo Relacional (Lógico) Modelo Relacional 2. Modelo Relacional (Lógico) Derivado do modelo conceitual; Depende do SGBD escolhido; Independe dos dispositivos de armazenamento; Primitivas: tabelas, linhas e colunas; Transformação

Leia mais

3.1 Definições Uma classe é a descrição de um tipo de objeto.

3.1 Definições Uma classe é a descrição de um tipo de objeto. Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Classes Autoria:Aristófanes Corrêa Silva Adaptação:

Leia mais

Linguagem SQL Sub-linguagem DDL

Linguagem SQL Sub-linguagem DDL Linguagem SQL Sub-linguagem DDL A SQL - Structured Query Language, foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation Language para suas

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

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

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

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

Curso PHP Aula 08. Bruno Falcão brunogfalcao@gmail.com

Curso PHP Aula 08. Bruno Falcão brunogfalcao@gmail.com + Curso PHP Aula 08 Bruno Falcão brunogfalcao@gmail.com + Roteiro Conectividade com BD SQL + SQL Structured Query Language. Padrão para interagir com banco de dados relacionais. + Banco de dados Um banco

Leia mais

Linguagem de Consulta Estruturada SQL- DML

Linguagem de Consulta Estruturada SQL- DML Linguagem de Consulta Estruturada SQL- DML INTRODUÇÃO A SQL - Structured Query Language, foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation

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

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

Introdução ao Banco de Dados. Banco de Dados

Introdução ao Banco de Dados. Banco de Dados Introdução ao Banco de Dados Prof. Tiago Garcia de Senna Carneiro UFOP Prof. Técnicas de Programação II 2006 PARTE 1: Conceitos Básicos Banco de Dados SGDB: Sistema Gerenciador de Banco de Dados Definição:

Leia mais

SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Manipulação de Dados Banco de Dados SQL DML SELECT... FROM... WHERE... lista atributos de uma ou mais tabelas de acordo com alguma condição INSERT INTO... insere dados em uma tabela DELETE

Leia mais

4- PROJETO DE BANCO DE DADOS

4- PROJETO DE BANCO DE DADOS 4- PROJETO DE BANCO DE DADOS OBJETIVOS DE ENSINO: 4 - Empregar a técnica da modelagem de dados no projeto de banco de dados. OBJETIVOS OPERACIONAIS Ao final desta unidade o aluno será capaz de: 4.1 - Definir

Leia mais

4.6. SQL - Structured Query Language

4.6. SQL - Structured Query Language 4.6. SQL - Structured Query Language SQL é um conjunto de declarações que é utilizado para acessar os dados utilizando gerenciadores de banco de dados. Nem todos os gerenciadores utilizam SQL. SQL não

Leia mais

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados 1. Introdução O governo é um dos maiores detentores de recursos da informação. Consequentemente, tem sido o responsável por assegurar que tais recursos estejam agregando valor para os cidadãos, as empresas,

Leia mais

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

Structured Query Language (SQL) Ambiente Simplificado de um SGBD Structured Query Language (SQL) Ambiente Simplificado de um SGBD 2 1 Características dos SGBDs Natureza auto-contida de um sistema de banco de dados: metadados armazenados num catálogo ou dicionário de

Leia mais

Banco de Dados Oracle 10g: Introdução à Linguagem SQL

Banco de Dados Oracle 10g: Introdução à Linguagem SQL Oracle University Entre em contato: 0800 891 6502 Banco de Dados Oracle 10g: Introdução à Linguagem SQL Duração: 5 Dias Objetivos do Curso Esta classe se aplica aos usuários do Banco de Dados Oracle8i,

Leia mais

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

AULA 2 INTERAÇÃO COM O BANCO DE DADOS AULA 2 INTERAÇÃO COM O BANCO DE DADOS BANCO DE DADOS POSTGRESQL O PostgreSQL é um sistema gerenciador de banco de dados dos mais robustos e avançados do mundo. Seu código é aberto e é totalmente gratuito,

Leia mais