Sistemas de Informação

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

Download "Sistemas de Informação"

Transcrição

1 UNIESP Sistemas de Informação Banco de Dados II Resumo 1º bimestre 2011/01 Prof. Carlos Alberto Seixas seixas.alberto@gmail.com

2 Agenda da Aula Apresentação da Professor, Alunos e Disciplina Normas do curso horários,lista de presença, faltas, provas e trabalhos Organização dos conteúdos aulas teóricas, práticas e exercícios Organização dos grupos de estudo/trabalho Entrega de trabalhos e comunicações

3 Banco de Dados II Temas Abordados : Álgebra Relacional. Linguagem de Consulta SQL. Mapeamento das operações relacionais para uma linguagem de consulta. SGBDs: mecanismos de indexação e otimização de consultas. Metodologias de desenvolvimento de sistemas de banco de dados na empresa. Aplicações utilizando um SGBD relacional.

4 Normas do Curso Horário: Terça-feira das 19:00 as 22:30. 25% de faltas no máximo ( 4 faltas= 4 aulas) As faltas não são compensadas Responder chamada para presença ao final da aula

5 Avaliação Provas : P = 70% Trabalho e participação : T = 30% Média : ((P)* 0,7) + (T*0,3) Nota mínima para aprovação = 7,0 Data da 1ª prova: 12/04/2011 Trabalho a definir

6 Organização dos conteúdos Aulas teóricas - realizadas em sala de aula com apresentações do professor, práticas de planejamento das atividades em laboratório dos alunos Aulas práticas realizadas no laboratório Exercícios práticos e teóricos realizados em sala de aula e laboratório.

7 Grupos de Estudo/Trabalho Grupos de no máximo 5 pessoas Para entrega do trabalho Até o dia da apresentação. Apresentação a ser agendada. Para realização das atividades em aula

8 Conceitos Inicias Banco de Dados Sistema de Banco de Dados

9 Exercício Coloque com suas palavras o significado dos termos: Dados: Informação: Conhecimento: Banco de Dados: SBD: SGBD:

10 Conceitos Banco de dados (ou base de dados), é um conjunto de registros dispostos em estrutura regular que possibilita a reorganização dos mesmos e produção de informação. Um banco de dados normalmente agrupa registros utilizáveis para um mesmo fim. Um Sistema Gerenciamento de Banco de Dados (SGBD) é o conjunto de softwares responsáveis pelo gerenciamento de uma base de dados. O principal objetivo é retirar da aplicação cliente a responsabilidade de gerenciar o acesso, manipulação e organização dos dados. O SGBD disponibiliza uma interface para que os seus clientes possam incluir, alterar ou consultar dados. Sistema de Banco de Dados é o ambiente formado pelas de aplicações, banco de dados, SGBDs, usuários e administradores que integram a solução construída para atender uma determinada finalidade.

11 Conceitos Dados referem-se a um conjunto de informações organizadas, normalmente o resultado da experiência ou observação de outras informações dentro de um sistema de computador, ou um conjunto de instalações. Os dados podem consistir em números, palavras ou imagens, as medições e observações de um conjunto de variáveis;

12 Informação Informação é o resultado do processamento, manipulação e organização de dados, de tal forma que represente uma modificação (quantitativa ou qualitativa) no conhecimento do sistema (pessoa, animal ou máquina) que a recebe. Informação enquanto conceito, carrega uma diversidade de significados, do uso cotidiano ao técnico.

13 Conhecimento Conhecimento é aquilo que se admite a partir da captação sensitiva sendo assim acumulável a mente humana. Ou seja, é aquilo que o homem absorve de alguma maneira, através de informações que de alguma forma lhe são apresentadas, para um determinado fim ou não. O conhecimento distingue-se da mera informação porque está associado a uma intencionalidade. Tanto o conhecimento como a informação consistem de declarações verdadeiras, mas o conhecimento pode ser considerado informação com um propósito ou uma utilidade

14 TemaS para Discussão Porque e com qual finalidade os complexos sistemas de gerenciamento de dados e todas as ferramentas disponíveis hoje foram desenvolvidas? Como isso tudo começou? Quem foram os primeiros pesquisadores? Qual SGBD você adotaria hoje? Quais argumentos usaria para defender sua escolha?

15 Histórico Antes da computação? Bancos de dados em arquivos, fichários, bibliotecas, listas de nomes

16 Historico por Decadas Bancos de Dados por SGBDs Decada de 60 As empresas investem na informatização Modelo em rede (CODASYL - Comitee for Data Systems Language) Modelo hierarquico (IMS > Information Management System).

17 Decada de 60 Modelo de dados em rede: Os primeiros trabalhos foram realizados em 1964 por Charles Bachman; Dados são representados por uma colecão de registros e os relacionamentos por meio de links representado por um diagrama constitudo por caixas e linhas; São usados apenas relacionamentos muitos-paramuitos.

18 Charles Willian Bachman Charles Willian Bachman (Manhattan, 11 de dezembro de 1924) Especialista Recebeu o Prêmio Turing de 1973, por "sua contribuição fundamental à tecnologia de banco de dados".

19 Prêmio Turing O Prêmio Turing é concedido anualmente pela Associação para Maquinaria da Computação (em inglês: Association for Computing Machinery, ou ACM) para uma pessoa selecionada por contribuições à computação. As contribuições devem ser duradouras e fundamentais no campo computacional. A denominação do prêmio é homenagem a Alan Mathison Turing, um matemático britânico considerado um dos pais da ciência da computação moderna. O prêmio é conhecido como o "Prêmio Nobel da computação". É patrocinado pela Intel Corporation e acompanhado atualmente por um prêmio monetário no valor de ,00 USD (duzentos e cinquenta mil dolares americanos).

20 Modelo de dados hierárquico: Tambem se utilizava de registros para representar os dados e links para os relacionamentos; São organizados na forma de uma arvore com raiz; Como Exemplo: Clipper, Dbase 2, Fox Pro, COBOL.

21 Decada de 70 Edgar Frank Codd propõe o modelo de dados relacional, entre 1970 e 1972, que se tornou um marco em como pensar em banco de dados. Ele desconectou a estrutura lógica do banco de dados do metodo de armazenamento físico. Este sistema se tornou padrão desde então. Edgar Frank Codd ( ) foi um matemático britânico. Desenvolveu o modelo de banco de dados relacional, quando era pesquisador no laboratório da IBM em San José.

22 C. J. Date 1941 (idade 68 69) Watford, England University of Cambridge Estudioso da Teoria banco de Dados Relacional

23 Decada de 80 No início dos anos 80, a comercialização de sistemas relacionais começa a virar uma febre entre as organizações. A Linguagem Estruturada de Consulta SQL (Structured Query Language) se torna um padrão mundial. A IBM transforma o DB2 como carro chefe da empresa em produtos para BD. Os modelos em rede e hierárquico passam a ficar em segundo plano. Exemplos de SGBDs da época: RIM, RBASE 5000, PARADOX,OS/2 Database Manager, Dbase III e IV (mais tarde transformado em FoxBase e mais tarde ainda como Visual FoxPro), Watcom SQL, entre outros.

24 Década de 90 Crise econômica nas industrias e empresas Produtos a custos muito elevados. Explosão da Internet/WWW e uma louca corrida para prover acesso remoto a sistemas de computadores com dados legados. Percebe-se um crescimento exponencial na tecnologia Web/BD. Novas ferramentas de desenvolvimento. Ferramentas de destaque: Power-Builder (Sybase), Oracle Developer, Visual Basic (Microsoft), entre outros.

25 Dias Atuais Data Ware House Aplicações que interagem com PDAs (Personal Digital Assistant), transacões em PDVs. Fusão de grandes companhias: Sun, IBM (que comprou a Informix), Microsoft e Oracle. Amadurecimento de soluções baseadas em código aberto;

26 Revisão Conceitos de BD estudados

27 Exercício Coloque com suas palavras o significado dos termos: Dados: Informação: Conhecimento: Banco de Dados: SBD: SGBD:

28 Conceitos Inicias Banco de Dados Sistema de Banco de Dados

29 Conceitos Banco de dados (ou base de dados), é um conjunto de registros dispostos em estrutura regular que possibilita a reorganização dos mesmos e produção de informação. Um banco de dados normalmente agrupa registros utilizáveis para um mesmo fim. Banco de Dados

30 Sistema Gerenciamento de Banco de Dados (SGBD) Um Sistema Gerenciamento de Banco de Dados (SGBD) é o conjunto de softwares responsáveis pelo gerenciamento de uma base de dados.

31 Sistema Gerenciamento de Banco de Dados (SGBD) O principal objetivo é retirar da aplicação cliente a responsabilidade de gerenciar o acesso, manipulação e organização dos dados. O SGBD disponibiliza uma interface para que os seus clientes possam incluir, alterar ou consultar dados.

32 As funções do SGBD Definição de Dados: o SGBD deve ser capaz de aceitar definições de dados em formato fonte e convertê-los para o formato objeto adequado. Manipulação de Dados: O SGBD deve ser capaz de lidar com as requisições do usuário para buscar atualizar ou excluir dados existentes no banco de dados, ou para acrescentar novos dados ao banco de dados.

33 As funções do SGBD Otimização e Execução: O SGBD deve ser capaz de determinar um modo eficiente de implementar a requisição. Segurança e Integridade de Dados: O SGBD, ou algum subsistema chamado, pelo SGBD, deve monitorar requisições de usuários e rejeitar toda a tentativa de violar as restrições de segurança e integridade definidas pelo DBA.

34 As funções do SGBD Recuperação de Dados e Concorrência: O SGBD deve impor certos controles de recuperação e concorrência. Dicionário de Dados: Pode ser considerado um banco de dados isolado (mas um banco de dados do sistema, não um banco de dados do usuário); ele contém dados sobre os dados ou seja, definições de outros objetos do sistema, em vez de somente dados crus. Desempenho: O SGBD deve realizar todas as funções identificadas anteriormente de forma tão eficiente quanto possível.

35 Sistema de Banco de Dados Sistema de Banco de Dados é o ambiente formado pelas de aplicações, banco de dados, SGBDs, usuários e administradores que integram a solução construída para atender uma determinada finalidade.

36 Conceitos Dados referem-se a um conjunto de informações organizadas, normalmente o resultado da experiência ou observação de outras informações dentro de um sistema de computador, ou um conjunto de instalações. Os dados podem consistir em números, palavras ou imagens, as medições e observações de um conjunto de variáveis;

37 Informação Informação é o resultado do processamento, manipulação e organização de dados, de tal forma que represente uma modificação (quantitativa ou qualitativa) no conhecimento do sistema (pessoa, animal ou máquina) que a recebe. Informação enquanto conceito, carrega uma diversidade de significados, do uso cotidiano ao técnico.

38 Conhecimento Conhecimento é aquilo que se admite a partir da captação sensitiva sendo assim acumulável a mente humana. Ou seja, é aquilo que o homem absorve de alguma maneira, através de informações que de alguma forma lhe são apresentadas, para um determinado fim ou não. O conhecimento distingue-se da mera informação porque está associado a uma intencionalidade. Tanto o conhecimento como a informação consistem de declarações verdadeiras, mas o conhecimento pode ser considerado informação com um propósito ou uma utilidade

39 AGENDA Discussão /Revisão Conceitos AR

40 Álgebra Relacional Surgimento Álgebra relacional recebeu pouca atenção até a publicação do modelo relacional de E.F. Codd, um matemático especializado, em Codd propôs uma álgebra, tal como um banco de dados para linguagens de consulta. Álgebra relacional é essencialmente equivalente em poder expressivo de cálculos relacionais. Edgar Frank Codd ( ) foi um matemático britânico. Desenvolveu o modelo de banco de dados relacional, quando era pesquisador no laboratório da IBM em San José.

41 Definição A álgebra relacional é uma coleção de operações canônicas que são utilizadas para manipular as relações. Estas operações são utilizadas para selecionar tuplas de relações individuais e para combinar tuplas relacionadas de relações diferentes para especificar uma consulta em um determinado banco de dados. O resultado de cada operação é uma nova operação, a qual também pode ser manipulada pela álgebra relacional.

42 Histórico Primeiro Modelo Matématico (Lógico) Teoria de desenvolvimento Simplicidade Independência Conceitual/Físico

43 Conceitos -Relação e Atributos Relação (Tabelas) -> Objeto e Associação Atributo -> Propriedade

44 Conceitos Relação Subconjunto de um produto cartesiano de uma lista de domínios Conjunto: onde cada linha é um elemento (único) Tabela = Relação Linha= Tupla

45 Relação nome; (único) Lista de atributos (nome : tipo)

46 Atributos Atômicos; (indivisível) Monovalorados; Em geral numérico ou alfanumérico (char)

47 Exemplo de relação Nome RG CIC Ricardo Renato Silvio

48 Algebra Relacional Base teórica para as LMD relacionais Completa com relação ao modelo Fechada em seus operadores 5 operadores de base: 2 unários 3 binários

49 Operadores Operadores Unários Projeção Seleção Operadores Binários União (relações compatíveis) Diferença (relações compatíveis) Produto cartesiano (qualquer dupla de relações)

50 A Operação Select A operação select é utilizada para selecionar um subconjunto de tuplas de uma relação, sendo que estas tuplas devem satisfazer uma condição de seleção. A forma geral de uma operação select é: σ <condição de seleção> ( <nome da relação> )

51 Exemplos consulta1 = σ salário < 2.500,00 (EMPREGADO) gera a seguinte tabela como resultado: Tabela consulta1 Nome RG CIC Ricardo Renato Depto. RG Salário Superviso r , ,00

52 Exemplo: consulta2 = σ(relação = Filho ).and. (sexo = Feminino ) (DEPENDENTES) gera a seguinte tabela como resultado: Tabela consulta2 RG Responsável Nome Dependente Adreia Dt. Nascimento Relação Sexo 01/05/90 Filho Feminino

53 Operações com select As operações relacionais que podem ser aplicadas na operação select são: <, >,,, =, além dos operadores booleanos: and, or, not. A operação select é unária, ou seja, só pode ser aplicada a uma única relação. Não é possível aplicar a operação sobre tuplas de relações distintas.

54 Project Operação Project A operação project seleciona um conjunto determinado de colunas de uma relação. A forma geral de uma operação project é: π <lista de atributos> (<nome da relação>)

55 Project A letra grega π representa a operação project, <lista de atributos> representa a lista de atributos que o usuário deseja selecionar e <nome da relação> representa a relação sobre a qual a operação project será aplicada.

56 Exemplo: consulta3 = π Nome, Dt. Nascimento (DEPENDENTES) gera a seguinte tabela como resultado: Tabela consulta3 Nome Dt. Dependente Nascimento Jorge 27/12/86 Luiz 18/11/79 Fernanda 14/02/69 Angelo 10/02/95 Adreia 01/05/90

57 Seqüencialidade de Operações As operações project e select podem ser utilizadas de forma combinada, permitindo que apenas determinadas colunas de determinadas tuplas possam ser selecionadas. A forma geral de uma operação sequencializada é: π<lista de atributos> (σ<condição de seleção> (<nome da relação>) )

58 Exemplo: consulta4 = πnome, depto., salario (σsalario < 2.500,00 (EMPREGADO)) produz a tabela a seguir como resultado: Tabela consulta4 Nome Depto. Ricardo 2 Renato 3 Salário 2.300, ,00

59 Operações Matemáticas Levando em consideração que as relações podem ser tratadas como conjuntos, podemos então aplicar um conjunto de operações matemáticas sobre as mesmas. Estas operações são: união ( ), intersecção ( ) e diferença ( ). Este conjunto de operações não é unário, ou seja, podem ser aplicadas sobre mais de uma tabela, porém, existe a necessidade das tabelas possuirem tuplas exatamente do mesmo tipo.

60 Operações Matemáticas Estas operações podem ser definidas da seguinte forma: união - o resultado desta operação representada por R S é uma relação T que inclui todas as tuplas que se encontram em R e todas as tuplas que se encontram em S;

61 Operações Matemáticas intersecção - o resultado desta operação representada por R S é uma relação T que inclui as tuplas que se encontram em R e em S ao mesmo tempo;

62 Operações Matemáticas diferença - o resultado desta operação representada por R S é uma relação T que inclui todas as tuplas que estão em R mas não estão em S.

63 Exemplo passo 1 Selecione todos os empregados que trabalham no departamento número 2 ou que supervisionam empregados que trabalham no departamento número 2. Vamos primeiro selecionar todos os funcionários que trabalham no departamento número 2. consulta7 = σdepto = 2 (EMPREGADOS)

64 Exemplo passo 2 consulta7 = σdepto = 2 (EMPREGADOS) Tabela consulta7 Nome RG CIC Depto. Fernando RG Salário Supervisor ,00 Ricardo ,00 Jorge ,00

65 Exemplo - Passo 3 Vamos agora selecionar os supervisores dos empregados que trabalham no departamento número 2. consulta8 = πrg_supervisor (CONSULTA7) Tabela consulta8 RG Supervisor

66 Exemplo passo 4 Vamos projetar apenas o rg dos empregados selecionados: consulta9 = πrg(consulta7) Tabela consulta9 RG

67 Exemplo passo 5 E por fim, vamos unir as duas tabelas, obtendo o resultado final. consulta10 = CONSULTA8 CONSULTA9 Tabela consulta9 Tabela consulta8 RG Supervisor Tabela consulta10 RG RG

68 Exemplo - Intersecção Leve em consideração a próxima consulta: selecione todos os empregados que desenvolvem algum projeto e que trabalham no departamento número 2;

69 Interseção Passo 1 Vamos primeiro selecionar todos os empregados que trabalham em um projeto. consulta11 = πrg_empregado(empregado/projeto) Tabela consulta11 RG_Empregado

70 Passo 2 Vamos agora selecionar todos os empregados que trabalham no departamento 2. consulta12 = πrg (σdepto = 2 (EMPREGADOS)) Tabela consulta12 RG

71 Passo 3 Obtemos então todos os empregados que trabalham no departamento 2 e que desenvolvem algum projeto. consulta13 = CONSULTA11 CONSULTA12 Tabela consulta11 RG_Empregado Tabela consulta12 RG Tabela consulta13 RG

72 Exemplo - Diferença Leve em consideração a seguinte consulta: selecione todos os usuários que não desenvolvem projetos; consulta14 = πrg_empregado (EMPREGADO/PROJETO Tabela consulta14 RG Empregado

73 Passo 1 consulta15 = πrg (EMPREGADOS) Tabela consulta15 RG

74 Passo 2 consulta16 = CONSULTA15 CONSULTA14 RG Empregado Tabela consulta15 RG Tabela consulta Tabela consulta16 RG

75 Produto Cartesiano O produto cartesiano é uma operação binária que combina todas as tuplas de duas tabelas. Diferente da operação união, o produto cartesiano não exige que as tuplas das tabelas possuam exatamente o mesmo tipo. O produto cartesiano permite então a consulta entre tabelas relacionadas utilizando uma condição de seleção apropriada. O resultado de um produto cartesiano é uma nova tabela formada pela combinação das tuplas das tabelas sobre as quais aplicou-se a operação.

76 Notação O formato geral do produto cartesiano entre duas tabelas R e S é: RΧS

77 Exemplo: Leve em consideração a seguinte consulta: encontre todos os funcionários que desenvolvem projetos em Campinas; consulta16 = EMPREGADO/PROJETO Χ PROJETO

78 Exemplo consulta16 = EMPREGADO/PROJETO Χ PROJETO Tabela consulta16 RG Empregado Número Projeto Nome Financeiro 1 Motor 3 Prédio Central Financeiro 1 Motor 3 Prédio Central Financeiro 1 Motor 3 Prédio Central Financeiro 1 Motor 3 Prédio Central Financeiro 1 Motor 3 Prédio Central Número Localização São Paulo Rio Claro Campinas São Paulo Rio Claro Campinas São Paulo Rio Claro Campinas São Paulo Rio Claro Campinas São Paulo Rio Claro Campinas

79 Exemplo Passo 2 Vamos agora selecionar as tuplas resultantes que estão devidamente relacionadas que são as que possuem o mesmo valor em número do projeto e número e cuja localização seja Campinas. consulta17 = πrg_empregado, número (σ(número_projeto = número).and. (localização = (CONSULTA16) ) Campinas ) Tabela consulta17 RG Número A operação produto cartesiano não é muito utilizada por não oferecer um resultado otimizado.

80 Operação Junção A operação junção atua de forma similar á operação produto cartesiano, porém, a tabela resultante conterá apenas as combinações das tuplas que se relacionam de acordo com uma determinada condição de junção. A forma geral da operação junção entre duas tabelas R e S é a seguinte: R <condição de junção> S

81 Exemplo: Leve em consideração a consulta a seguir: encontre todos os funcionários que desenvolvem projetos em Campinas; consulta18 = EMPREGADOS/PROJETOS número_projeto = número PROJETOS Tabela consulta18 RG_Empregado Número_Projeto Nome Número Localização Financeiro 1 5 São Paulo Motor 3 10 Rio Claro Financeiro 1 5 São Paulo Prédio Central 20 Campinas Prédio Central 20 Campinas

82 Passo 2 consulta19 = σlocalização = Campinas (CONSULTA18) Tabela consulta19 RG_Empregado Número_Projet Nome o Prédio Central 20 Prédio Central Número Localização Campinas Campinas

83 AGENDA Vídeo/Comentários Resumo/Revisão sobre Conceitos AR Lista de exercícios

84 Conceito Álgebra Relacional A álgebra relacional representa uma coleção de operações usadas para manipular relações. Estas operações são usadas para selecionar tuplas e para combinar n-tuplas pertencentes a várias relações, para formular consultas à base de dados. O resultado de cada operação é uma nova relação que pode ser posteriormente manipulada pelas operações da álgebra relacional.

85 Resumo Dadas duas relações R1 e R2 Operações Básicas Selection (σ) Seleciona em sub-conjunto de fileiras da relação Projection (π) Mostra as colunas desejadas da relação Cross-product (X) Permite combinar R1 e R2 Set-difference ( -) Tuplas em R1, mas não em R2 Union ( ) Tuplas em R1 e em R2 Operações Adicionais: Intersecção, junção, divisão, renomear

86 Operações específicas para relações:

87 Operações oriundas da Teoria dos Conjuntos As relações r e s devem ter o mesmo grau Os atributos devem ser compatíveis

88 Exemplos

89 Seleção

90 Projeção

91 Produto Cartesiano

92 Junção

93 Junção Natural

94 Renomear

95 Divisão

96 Exercícios: Lista de exercícios Trabalho 1 Bimestre Data de entrega: 15/03/2011

97 Agenda Comentários/Correção Lista Álgebra Revisão de Conceitos sobre Linguagens para BD Expressões em SQL Implementação em SQLite Prática

98 SQL Definição 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 originais do SQL foram inspiradas na álgebra relacional. A linguagem SQL é um padrão de linguagem de consulta comercial que usa uma combinação de construtores em Álgebra e Cálculo Relacional.

99 SQL Breve Histórico O SQL foi desenvolvido originalmente no início dos anos 70 nos laboratórios da IBM em San Jose, dentro do projeto System R, que tinha por objetivo demonstrar a viabilidade da implementação do modelo relacional proposto por E. F. Codd. O nome original da linguagem era SEQUEL, acrônimo para "Structured English Query Language" (Linguagem de Consulta Estruturada). Edgar Frank Codd

100 SQL - Componentes Linguagem de definição de dados (DDL) Linguagem interativa de manipulação de dados (DML) Incorporação DML (Embedded SQL) Definição de Visões Autorização Integridade Controle de Transações

101 A linguagem SQL É um grande padrão de banco de dados. Simplicidade e facilidade de uso. Especifica a forma do resultado e não o caminho para chegar a ele. Ela é uma linguagem declarativa em oposição a outras linguagens procedurais. Curva de aprendizado reduzida.

102 Dialetos SQL SQL originalmente criado pela IBM Surgiram vários "dialetos" desenvolvidos por outros produtores. Necessidade de um padrão para a linguagem. Esta tarefa foi realizada pela American National Standards Institute (ANSI) em 1986 e ISO em O SQL foi revisto em 1992 e a esta versão foi dado o nome de SQL-92. Foi revisto novamente em 1999 e 2003 para se tornar SQL:1999 (SQL3) e SQL:2003, respectivamente.

103 Revisões na SQL O SQL:1999 usa expressões regulares de emparelhamento, queries recursivas e gatilhos (triggers). Também foi feita uma adição controversa de tipos não-escalados e algumas características de orientação a objeto. O SQL:2003 introduz características relacionadas ao XML, seqüências padronizadas e colunas com valores de auto-generalização (inclusive colunas-identidade).

104 Padrões nos SGBDs O SQL, embora padronizado pela ANSI e ISO, possui muitas variações e extensões produzidos pelos diferentes fabricantes de sistemas gerenciadores de bases de dados. Teoricamente a linguagem pode ser migrada de plataforma para plataforma sem mudanças estruturais principais.

105 Exemplos em SGBDs Permite que o código em linguagem procedural possa ser embutido e interagir com o banco de dados. Por exemplo, o Oracle e outros incluem Java na base de dados, enquanto o PostgreSQL permite que funções sejam escritas em Perl, Tcl, ou C, entre outras linguagens.

106 DDL - Linguagem de Definição de Dados Uma DDL permite ao utilizador definir tabelas novas e elementos associados. A maioria dos bancos de dados de SQL comerciais tem extensões proprietárias no DDL.

107 Os comandos DDL CREATE cria um objeto (uma Tabela, por exemplo) dentro da base de dados. DROP apaga um objeto do banco de dados. Alguns sistemas de banco de dados usam o comando ALTER, que permite ao usuário alterar um objeto, por exemplo, adicionando uma coluna a uma tabela existente. outros comandos DDL: ALTER TABLE CREATE INDEX ALTER INDEX DROP INDEX CREATE VIEW DROP VIEW

108 DML - Linguagem de Manipulação de Dados A DML é um subconjunto da linguagem usada para inserir, atualizar e apagar dados. INSERT é usada para inserir um registro (formalmente uma tupla) a uma tabela existente. UPDATE para mudar os valores de dados em uma ou mais linhas da tabela existente. DELETE permite remover linhas existentes de uma tabela.

109 DCL - Linguagem de Controle de Dados DCL controla os aspectos de autorização de dados e licenças de usuários para controlar quem tem acesso para ver ou manipular dados dentro do banco de dados. Duas palavras-chaves da DCL: GRANT - autoriza ao usuário executar ou setar operações. REVOKE - remove ou restringe a capacidade de um usuário de executar operações. outros comandos DCL: ALTER PASSWORD CREATE SYNONYM

110 DTL - Linguagem de Transação de Dados BEGIN WORK (ou START TRANSACTION, dependendo do dialeto SQL) pode ser usado para marcar o começo de uma transação de banco de dados que pode ser completada ou não. COMMIT envia todos os dados das mudanças permanentemente. ROLLBACK faz com que as mudanças nos dados existentes desde que o último COMMIT ou ROLLBACK sejam descartadas. COMMIT e ROLLBACK interagem com áreas de controle como transação e locação. Ambos terminam qualquer transação aberta e liberam qualquer cadeado ligado a dados. Na ausência de um BEGIN WORK ou uma declaração semelhante, a semântica de SQL é dependente da implementação.

111 DQL - Linguagem de Consulta de Dados Embora tenha apenas um comando, a DQL é a parte da SQL mais utilizada. O comando SELECT permite ao usuário especificar uma consulta ("query") como uma descrição do resultado desejado. Esse comando é composto de várias cláusulas e opções, possibilitando elaborar consultas das mais simples às mais elaboradas.

112 Cláusulas As cláusulas são condições de modificação utilizadas para definir os dados que deseja selecionar ou modificar em uma consulta. FROM - Utilizada para especificar a tabela que se vai selecionar os registros. WHERE Utilizada para especificar as condições que devem reunir os registros que serão selecionados. GROUP BY Utilizada para separar os registros selecionados em grupos específicos. HAVING Utilizada para expressar a condição que deve satisfazer cada grupo. ORDER BY Utilizada para ordenar os registros selecionados com uma ordem especifica. DISTINCT Utilizada para selecionar dados sem repetição.

113 Operadores Lógicos AND E lógico. Avalia as condições e devolve um valor verdadeiro caso ambos sejam corretos. OR OU lógico. Avalia as condições e devolve um valor verdadeiro se algum for correto. NOT Negação lógica. Devolve o valor contrário da expressão.

114 Operadores Relacionais < Menor que > Maior que <> Diferente de <= Menor ou Igual que >= Maior ou Igual que = Igual a BETWEEN Utilizado para especificar um intervalo de valores. LIKE Utilizado na comparação de um modelo e para especificar registros de um banco de dados."like" + extensão % vai significar buscar todos resultados com o mesmo início da extensão.

115 Funções de Agregação As funções de soma se usam dentro de uma cláusula SELECT em grupos de registros para devolver um único valor que se aplica a um grupo de registros. AVG Utilizada para calcular a media dos valores de um campo determinado. COUNT Utilizada para devolver o número de registros da seleção. SUM Utilizada para devolver a soma de todos os valores de um campo determinado. MAX Utilizada para devolver o valor mais alto de um campo especificado. MIN Utilizada para devolver o valor mais baixo de um campo especificado.

116 Sistemas de G Banco de Dados que usam SQL Apache Derby Microsoft SQL Server Caché MySQL DB2 Oracle Firebird HSQLDB, banco de dados implementado em Java PointBase PointBase, banco de dados relacional implementado em Java PostgreSQL Informix SQLite Ingres InterBase LiteBase Mobile Dedicado a plataformas móveis tais como: Palm OS, Pocket PC, WinCE, Symbian Sybase Adaptive Server Enterprise

117 Exercícios 1. Quais os operadores utilizados na algebra relacional? 2. Qual a relação existente entre Algebra relacional e SQL? 3. Como podem ser categorizados os comandos da SQL? Explique resumidamente cada uma das categorias. 4. Quais as cláusulas possíveis para o comando SELECT? 5. Para criar e popular uma determinada tabela, quais os comandos usados respectivamente?

118 Agenda Revisão dos Conceitos Bancos de Dados e SGBD Comandos SQL - Implementação Práticas

119 Independência dos Dados A independência dos dados pode ser definida como a imunidade das aplicações à estrutura de armazenamento e à estratégia de acesso às informações;

120 Exemplo Num SGBD é possível incluir novos campos em uma tabela, dividir uma tabela em duas outras ou ainda unir duas tabelas em uma, criar e destruir índices sem que as aplicações sejam afetadas a não ser em alguns casos específicos;

121 Abstração de Informação Habilidade mental que permite aos seres humanos visualizarem os problemas do mundo real com vários graus de detalhe, dependendo do contexto do problema.

122 Abstração dos Dados O grande objetivo dos SGBDs é fornecer ao usuário uma visão simplificada dos dados, escondendo toda a complexidade do armazenamento de dados em níveis de abstração que simplificam o acesso às informações;

123 Níveis de abstração A arquitetura de um banco de dados divide-se em três níveis de abstração: Físico (ou interno), Conceitual Visões (ou externo).

124 Nível Físico ou interno Este é o nível mais baixo de abstração e descreve como os dados estão realmente armazenados; Neste nível, complexas estruturas de dados e programas trabalham para fornecer informações aos dois outros níveis de forma transparente.

125 Nível Conceitual Descreve quais dados estão de fato armazenados no banco de dados e as relações que existem entre eles; Os usuários deste nível não precisam se preocupar quanto à forma com que os dados são armazenados no nível físico; O nível conceitual é usado por administradores de bancos de dados que especificam quais informações devem fazer parte do banco de dados e usuários avançados.

126 Nível de Visões ou Externo É a forma como geralmente os usuários finais vêem as informações contidas no banco de dados; O nível mais alto de abstração é composto de inúmeras visões do mesmo banco de dados; Isto se deve ao fato de que muitos usuários não estão interessados em todas as informações contidas no banco de dados; Em vez disso, precisam apenas de uma parte destas informações; O nível de visões é definido para simplificar a interação entre o usuário final e o banco de dados.

127 Níveis de Abstração Nível de Visão 1 Nível de Visão 2 Nível Conceitual Nível Físico Nível de Visão 3

128 As Três Abordagens Clássicas O usuário vê o banco de dados segundo um modelo de visões; O modelo de visões e o modelo conceitual são bastante semelhantes, as vezes idênticos; Portanto os conceitos aplicados aqui servem tanto para o nível conceitual quanto para o de visões; Abordagem Relacional; Abordagem Hierárquica; Abordagem em Rede

129 A Abordagem Hierárquica Esta seção e as seguintes são baseadas em um banco de dados contendo as entidades: Filial, Departamento e Funcionário. Na abordagem hierárquica, como o próprio nome já diz, os dados são organizados de acordo com níveis hierárquicos preestabelecidos; Os primeiros bancos de dados estão baseados nesta abordagem. Segundo Date, um banco de dados hierárquico, compõe-se de um conjunto ordenado de árvores mais precisamente, de um conjunto ordenado de ocorrências múltiplas de um tipo único de árvore.

130 A Abordagem Hierárquica Na abordagem hierárquica, podemos ver o banco de dados como um único arquivo organizado em níveis. O nível superior que contém a filial é chamado de raiz. Qualquer acesso ao banco de dados deve ser feito a partir dele; Em geral, a raiz pode ter qualquer quantidade de dependentes, e estes, qualquer quantidade de dependentes de nível mais baixo

131 001 - Curitiba 001- Comercial 001- João 002- Administrativo 002- Antonio

132 A Abordagem em Rede No modelo em rede as informações são representadas por uma coleção de registros e o relacionamento entre elas é formado através de ligações (link); Extensão do modelo hierárquico; É uma relação membro-proprietário, na qual um membro pode ter muitos proprietários. Em um bd estruturado como um modelo em rede há freqüentemente mais de um caminho para acessar um determinado elemento de dado. A principal diferença entre a abordagem hierárquica e a em rede é que um registro-filho tem exatamente um pai na abordagem hierárquica, enquanto na estrutura de rede um registro-filho pode ter qualquer número de pais.

133 001- Londrina 001- Comercial João 002- Curitiba Administrativo 002- Antonio 003- Industrial 003- Pedro 004- Maria

134 A Abordagem Relacional Um banco de dados relacional consiste em uma coleção de tabelas, cada uma designada por um nome único. Tabelas Uma tabela é uma representação bidimensional de dados composta de linhas e colunas; Uma tabela de alunos de uma escola é apresentada a seguir.

135 Aluno Num-Matricula Nome-Aluno Sexo-Aluno 1 Maria F 2 João M 3 Pedro M 4 Carla F 5 Sandra F Regras: 1) Nomes de tabelas devem ser únicos no banco de dados; 2) De preferência a nomes curtos.

136 Atributos ou Colunas Considerando a tabela Aluno; Ela tem três colunas Num_Matrícula, Nome_Aluno e Sexo_Aluno; A cada uma destas colunas damos o nome de atributo; Um nome de atributo deve ser único em uma tabela e dizer exatamente o tipo de informação que ele representa.

137 Atributos ou Colunas 1) 2) 3) Regras: Uma coluna (atributo) não segue um ordenamento especifico; Nome de uma coluna deve expressar exatamente o que armazena; Sempre que possível utilizar prefixos padronizados, Cod-Dept, NomeFuncionário, Qtde-Estoque

138 Linhas, Registros ou Tuplas A tabela Aluno possui cinco registros; Cada registro representa um relacionamento entre um conjunto de valores; A este relacionamento damos o nome de registro, linha ou ainda Tupla; Cada linha da tabela é única e possui um atributo identificador (Num_Matrícula); Este atributo identificador é chamado de chave primária. Regras: 1) Em uma tabela não devem existir linhas duplicadas; 2) As linhas de uma tabela não seguem uma ordem especifica.

139 Domínio A tabela Aluno possui três atributos; Para cada atributo existe um conjunto de valores permitidos chamado domínio daquele atributo; Para o atributo Num_Matrícula o domínio é o conjunto de números naturais; Para o atributo Nome_Aluno o domínio é qualquer nome válido; Enquanto que para Sexo_Aluno o domínio são os mnemônicos M ou F.

140 Chave Primaria Uma chave primária ou chave candidata é uma coluna ou um grupo de colunas que assegura a unicidade das linhas dentro de uma tabela; Uma chave primária que tenha mais de uma coluna é chamada de chave primária composta; Chaves primárias são geralmente indicadas pela sigla PK (primary key) imediatamente abaixo do cabeçalho da coluna apropriada. Veja os exemplos:

141 Empregado Cod-Empregado Nome-Empregado Tel-Empregado PK Cod-Empregado é uma chave simples ou compacta Salário Cod-Empregado Cod-Dept PK PK Salario A combinação das colunas Cod-Empregado e Cod-Dept formam uma chave primaria composta.

142 Regras Valores de chave primária não podem ser nulos (NN Not Null): Um valor nulo é uma lacuna em uma coluna de uma tabela. Valores de chaves primarias não podem ser nulos porque uma linha sem chave primaria não se distingue de outras linhas da mesma tabela; Colunas com chaves primarias não podem ter valores duplicados (ND No Duplicate): Um valor duplicado é um valor exatamente igual a outro de uma ou mais linhas da mesma coluna na mesma tabela; Se a coluna possui valores duplicados esta não pode servir de identificador da linha;

143 Regras Chaves primarias não podem ser alteradas (NC No Change): O conteúdo de uma chave primaria não pode sofrer alterações.

144 Recomendações Selecione chaves primarias absolutamente disciplinadas e que permaneçam únicas; Selecione chaves primarias que não tenham qualquer tendência a alterações; Se possível seleciona chaves primarias simples; De preferência a colunas numéricas para chaves primarias; Selecione chaves primarias que sejam familiares; Se não houver nenhuma coluna com chave primaria candidata, utilize chaves primarias atribuídas pelo sistema.

145 Chave Estrangeira Uma chave estrangeira é uma coluna ou grupo de colunas que pode ou não ser chave primária da tabela em questão, mas, com certeza é chave primária de outra tabela; Uma chave estrangeira formada por mais de uma coluna é chamada de chave estrangeira composta. Chaves estrangeiras são indicadas pela sigla FK (Foreign Key) abaixo do cabeçalho da coluna apropriada.

146 Departamento Cod-Dept Nome-Dept PK Empregado Cod-Empregado PK Nome-Empregado Cod-dept FK

147 Cliente Cod-Cliente Nome-Cliente PK Produto Cod-Produto Nome-Produto Qtde-Estoque PK Venda Cod-Cliente Cod-Produto PK+ PK+ FK FK Qtde-Pedida

148 Restrições de Integridade Um dos principais objetivos de um SGBD é a integridade dos dados. Um banco de dados íntrego é um banco que reflete corretamente a realidade representada pelo banco de dados. Para garantir a integridade de um banco de dados os SGBD oferecem o mecanismo de restrição de integridade.

149 Restrições de Integridade Uma regra que deve ser obedecida em todos estados válidos da base de dados (pode envolver uma ou mais linhas de uma ou mais tabelas).

150 Restrições de Integridade Na abordagem relacional, costuma-se classificar as restrições em quatro categorias: Integridade de domínio: Especificam qual valor um atributo pode admitir; Ex.: numero inteiro, valores alfanuméricos, data... O atributo nome_cliente e nome_empregado podem ter o mesmo domínio: o conjunto de todos os nomes de pessoas, campo alfanumérico tamanho 40.

151 Restrições de Integridade Integridade de vazio: Especificam se os atributos podem ou não serem vazios, isto é, se podem conter valores nulos. Integridade de Chave: Valores da chave primaria (PK) devem ser únicos. Integridade Referencial: Os valores que aparecem nos atributos em uma chave estrangeira devem aparecer na chave primaria da tabela referenciada.

152 Restrições de Integridade Todas essas restrições são garantidas automaticamente pelo SGBD. As restrições que não se encaixam em nenhuma das categorias acima são chamadas de restrições semânticas, isto é, restrições criadas pelo programador. Ex.: Um empregado do departamento Finanças não pode ter a categoria funcional Engenheiro... Um empregado não pode ter salário maior que seu superior imediato.

153 Regras Entidades têm existência própria e não são subordinadas a qualquer outra coisa; Entidades podem ser concretas ou abstratas; Informações sobre entidades, tais como o nome de uma pessoa, não são consideradas entidades, mas sim, atributos de entidades.

154 Atributos Atributos nulos. É usado quando uma entidade não possui valor para um determinado atributo. Ex.: se um empregado não possui dependentes, o valor do atributo nome_dependente para esse dependente será nulo, ou que o valor do atributo é desconhecido. Atributo derivado. O valor de um atributo pode ser derivado do valor de outros atributos. Ex. o valor do atributo tempo_de_casa pode ser derivado do valor do atributo data_contratação e da data_corrente.

155 Agenda Revisão SQL Comandos Práticas

156 Comandos SQL Linguagem de Definição de Dados (Data Definition Language - DDL)

157 CREATE TABLE Criar tabela. O comando create table permite ao usuário criar uma nova tabela (ou relação). Para cada atributo da relação é definido um nome, um tipo, máscara e algumas restrições.

158 CREATE TABLE create table <nome_tabela> (<nome_coluna1> <tipo_coluna1> <NOT NULL>, <nome_coluna2> <tipo_coluna2> <NOT NULL>, <nome_colunan> <tipo_colunan> <NOT NULL> );

159 EXEMPLO create table EMPREGADOS ( nome char (30) rg integer cic integer, depto integer supervisor integer, salario decimal (7,2) NOT NULL, NOT NULL, NOT NULL, NOT NULL);

160 DROP TABLE O comando drop table permite a exclusão de uma tabela (relação) em um banco de dados. A forma geral para o comando drop table é: drop table <nome_tabela>; Por exemplo, para eliminar a tabela EMPREGADOS do apêndice A teríamos o seguinte comando: drop table EMPREGADOS;

161 CUIDADOS Se a chave da tabela EMPREGADOS, (rg) for utilizada como chave estrangeira ou como chave primária composta em outras tabelas, estas devem ser devidamente corrigidas. A exclusão da tabela EMPREGADOS pode implicar na alteração do projeto físico de diversas tabelas. Isto acaba implicando na construção de uma nova base de dados.

162 ALTER TABLE Alterar a estrutura da tabela O comando alter table permite que o usuário faça a inclusão de novos atributos em uma tabela. A forma geral para o comando alter table é a seguinte: alter table <nome_tabela> add <nome_coluna> <tipo_coluna>; No caso do comando alter table, a restrição NOT NULL não é permitida pois assim que se insere um novo atributo na tabela, o valor para o mesmo em todas as tuplas da tabela receberão o valor NULL.

163 Comandos para Manipulação de Dados (Data Manipulation Language - DML)

164 SELECT Selecionar registros O comando select permite a seleção de tuplas e atributos em uma ou mais tabelas. A forma básica para o uso do comando select é: select <lista de atributos> from <lista de tabelas> where <condições>; Por exemplo, para selecionar o nome e o rg dos funcionários que trabalham no departamento número 2 na tabela EMPREGADOS utilizamos o seguinte comando: select nome, rg from EMPREGADOS where depto = 2;

165 SELECT - EXEMPO Obteremos então o seguinte resultado : Nome RG Fernando Ricardo Jorge

166 EM ALGEBRA RELACIONAL A consulta acima é originária da seguinte função em álgebra relacional: πnome, rg (σdepto = 2 (EMPREGADOS));

167 CONSULTAS MÚLTIPLAS Em SQL também é permitido o uso de condições múltiplas. Veja o exemplo a seguir: select nome, rg, salario from EMPREGADOS where depto = 2 AND salario > ;

168 CONSULTAS MÚLTIPLAS A operação select-from-where em SQL pode envolver quantas tabelas forem necessárias. Leve em consideração a seguinte consulta: selecione o número do departamento que controla projetos localizados em Rio Claro; select t1.numero_depto from departamento_projeto t1, projeto t2 where t1.numero_projeto = t2.numero;

169 ALIAS Na expressão SQL mostrada, t1 e t2 são chamados alias (apelidos) e representam a mesma tabela a qual estão referenciando. Um alias é usado quando há redundância nos nomes das colunas de duas ou mais tabelas que estão envolvidas em uma expressão. Ao invés de utilizar o alias, é possível utilizar o nome da tabela, mas isto pode ficar cansativo em consultas muito complexas além do que, impossibilitaria a utilização da mesma tabela mais que uma vez em uma expressão SQL.

170 EXEMPLO Selecione o nome e o rg de todos os funcionários que são supervisores; select e1.nome, e1.rg from empregado e1, empregado e2 where e1.rg = e2.rg_supervisor; Pode gerar o seguinte resultado: Nome RG João Luiz Fernando

171 CONSULTAS ANINHADAS Podemos gerar consultas aninhadas em SQL utilizando o espeficicador in, que faz uma comparação do especificador where da consulta mais externa com o resultado da consulta mais interna.

172 EXEMPLO Selecione o nome de todos os funcionários que trabalham em projetos localizados em Rio Claro; select e1.nome, e1.rg, e1.depto from empregado e1, empregado_projeto e2 where e1.rg = e2.rg_empregado and e2.numero_projeto in (select numero from projeto where localizacao = Rio Claro );

173 INSERT - Inserções e Atualizações Para elaborar inserções em SQL, utilizase o comando insert into. A forma geral para o comando insert into é: insert into <nome da tabela> <(lista de colunas)> values <(lista de valores)>;

174 EXEMPLO Considere a seguinte declaração: insira na tabela empregados, os seguintes dados: nome: Jorge Goncalves rg: cic: departamento: 3 rg_supervisor: salário: R$ 4.000,00

175 Exercício Implemente no SGBD MySQL 5 as seguintes etapas: Instale a ferramenta administrativa MySQL GUI tools ; Através da ferramenta crie a tabela Empregados como consta no exemplo: EMPREGADOS nome 1. char (30) rg integer cic integer, depto integer supervisor integer, salario decimal (7,2) NOT NULL, NOT NULL, NOT NULL, NOT NULL); Em seguida exclua a tabela criada.

176 EXEMPLO insert into empregados values ( Jorge Goncalves, , , 3, , 4000,00);

177 EXEMPLO 2 insira na tabela empregados os seguintes dados: nome: Joao de Campos rg: cic: departamento: 3 salário: R$2.500,00 insert into empregados (nome, rg, cic, depto, salario) values ( Joao de Campos, , , 3, 2500,00);

178 UPDATE Para se efetuar uma alteração em uma tabela, é utilizado o comando update. A forma geral do comando update é: update <tabela> set <coluna> = <expressão> where <condição>

179 EXEMPLO 1 Considere a seguinte declaração: atualize o salário de todos os empregados que trabalham no departamento 2 para R$ 3.000,00; update empregado set salario = 3.000,00 where depto = 2;

180 DELETE Exclusão de registros Para se eliminar uma tupla de uma tabela, utiliza-se o comando delete. A forma geral do comando delete é: delete from <tabela> where <condição>;

181 EXEMPLO: Leve em consideração a seguinte expressão: Elimine os registros nos quais o empregado trabalhe no departamento 2 e possua salário maior que R$ 3.500,00; delete from empregado where salario > 3.500,00 and depto = 2;

182 Agenda Apresentação do SQLite Prática

183 O SQLite SQLite é uma biblioteca em linguagem C que faz o papel de SGBD transacional de pequeno porte, implementando o mecanismo SQL incorporado que contem funções embutidas. Não há necessidade de necessidade de servidor e de configuração no sistema operacional. Diferentemente da maioria dos outros bancos de dados SQL, SQLite não tem um processo servidor separado. De domínio público e, portanto, livre para o uso para qualquer finalidade, comercial ou privada. SQLite é usado em muitas aplicações, incluindo vários projetos de grande visibilidade: softwares de desktop e dispositivos móveis da adobe, google por exemplo.

184 SQLite SQLite lê e escreve diretamente para arquivos do disco. Um banco de dados SQL completo, com várias tabelas, índices, gatilhos e views, faz parte de um arquivo único no disco. O formato do arquivo de banco de dados é multi-plataforma você pode copiar livremente entre um banco de dados de 32 bits e sistemas de 64 bits ou entre arquiteturas. Estas características tornam SQLite uma escolha popular como um arquivo de formato de aplicativos. Pense SQLite não como um substituto para o Oracle, mas como um substituto para fopen () SQLite é uma biblioteca compacta. Com todos os recursos habilitados, o tamanho da biblioteca pode ser inferior a 300KB, dependendo das configurações de otimização do compilador.

185 Exemplos de uso do SQLite : sites com menos de cem mil requisições por dia, dispositivos e sistemas embarcados, aplicações desktop, ferramentas estatísticas e de análise, aprendizado de banco de dados, implementação de novas extensões de SQL, ambiente de desenvolvimento.

186 Não se recomenda o uso do SQLite para sites com: muitos acessos, grande quantidades de dados (talvez maior que algumas duzias de gigabytes), sistemas com grande concorrência, aplicações cliente/servidor.

187 Estrutura do SQLite

188 Características gerais: É Software Livre/domínio público e Multiplataforma É um mecanismo de armazenamento seguro com transações ACID Não necessita de instalação, configuração ou administração Implementa a maioria do SQL92 Suporta o uso de transações (COMMIT / ROLLBACK). Todo o banco de dados é guardado localmente (junto com a aplicação), em um único arquivo que possui a extensão.db. Suporta bases de dados acima de 2 terabytes Sem dependências externas Não oferece integridade referencial (chaves estrangeiras).

189 Implementação em SQLite

190 Formas de implementação Windows Arquivo executável sem necessidade de instalação Ou - Baixar código-fonte em C e compilar Linux Apt-get install - Baixar código-fonte em C e compilar

191 Instalação No Linux (Ubuntu ou Debian) é só: sudo apt-get install sqlite No Windows: Basta copiar o arquivo sqlite3.exe para uma pasta Chame via Prompt utilizando o nome do banco. Ex: >sqlite3 teste.db ( precisa estar na mesma pasta)

192 Criando Base de Dados $ sqlite teste.db SQLite version Enter.help for instructions sqlite>

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. 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

SQL Structured Query Language

SQL Structured Query Language Janai Maciel SQL Structured Query Language (Banco de Dados) Conceitos de Linguagens de Programação 2013.2 Structured Query Language ( Linguagem de Consulta Estruturada ) Conceito: É a linguagem de pesquisa

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

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

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

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 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

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

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

Sistemas de Banco de Dados

Sistemas de Banco de Dados Sistemas de Banco de Dados Everson Santos Araujo everson@por.com.br Conceitos Dado - Um fato que pode ser armazenado Banco de dados (BD) - Coleção de dados interrelacionados Sistema Gerenciador de 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

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

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

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

SQL. Curso Prático. Celso Henrique Poderoso de Oliveira. Novatec

SQL. Curso Prático. Celso Henrique Poderoso de Oliveira. Novatec SQL Curso Prático Celso Henrique Poderoso de Oliveira Novatec 1 Introdução Desde o início da utilização dos computadores, sabemos que um sistema é feito para aceitar entrada de dados, realizar processamentos

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

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

Etapas da evolução rumo a tomada de decisão: Aplicações Isoladas: dados duplicados, dados inconsistentes, processos duplicados.

Etapas da evolução rumo a tomada de decisão: Aplicações Isoladas: dados duplicados, dados inconsistentes, processos duplicados. Histórico Etapas da evolução rumo a tomada de decisão: Aplicações Isoladas: dados duplicados, dados inconsistentes, processos duplicados. Sistemas Integrados: racionalização de processos, manutenção dos

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

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

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 WEB AULA 4. linguagem SQL: subconjuntos DCL, DDL e DML. professor Luciano Roberto Rocha. www.lrocha.com

BANCO DE DADOS WEB AULA 4. linguagem SQL: subconjuntos DCL, DDL e DML. professor Luciano Roberto Rocha. www.lrocha.com BANCO DE DADOS WEB AULA 4 linguagem SQL: subconjuntos DCL, DDL e DML professor Luciano Roberto Rocha www.lrocha.com O que é SQL? Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL,

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

A & F Consultoria em Sistemas e Treinamentos 2014 af.tecnoserv@gmail.com. A linguagem SQL. Autor: Hélio de Almeida Fonte: Wikipédia

A & F Consultoria em Sistemas e Treinamentos 2014 af.tecnoserv@gmail.com. A linguagem SQL. Autor: Hélio de Almeida Fonte: Wikipédia A linguagem SQL Autor: Hélio de Almeida Fonte: Wikipédia 1 Structure Query Language O SQL foi desenvolvido originalmente no início dos anos 70 nos laboratórios da IBM em San Jose, dentro do projeto System

Leia mais

Á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

SQL APOSTILA INTRODUÇÃO A LINGUAGEM SQL

SQL APOSTILA INTRODUÇÃO A LINGUAGEM SQL SQL APOSTILA INTRODUÇÃO Uma linguagem de consulta é a linguagem por meio da qual os usuários obtêm informações do banco de dados. Essas linguagens são, tipicamente, de nível mais alto que as linguagens

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

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. info 3º ano. Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br

BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br BANCO DE DADOS info 3º ano Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br Na última aula estudamos Unidade 4 - Projeto Lógico Normalização; Dicionário de Dados. Arquitetura

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

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

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

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

2008.1 SQL. Autor: Renata Viegas

2008.1 SQL. Autor: Renata Viegas SQL Autor: Renata Viegas A linguagem SQL SQL - Structured Query Language. Foi definida nos laboratórios de pesquisa da IBM em San Jose, California, em 1974. Teve seus fundamentos no modelo relacional Sua

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

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

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

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

2008.1. A linguagem SQL

2008.1. A linguagem SQL SQL 2008.1 A linguagem SQL SQL - Structured Query Language. Foi definida nos laboratórios de pesquisa da IBM em San Jose, California, em 1974. Teve seus fundamentos no modelo relacional Sua primeira versão

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. Aula 12 - Prof. Bruno Moreno 04/10/2011

Banco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011 Banco de Dados I Aula 12 - Prof. Bruno Moreno 04/10/2011 Plano de Aula SQL Definição Histórico SQL e sublinguagens Definição de dados (DDL) CREATE Restrições básicas em SQL ALTER DROP 08:20 Definição de

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

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

Introdução ao SQL. O que é SQL?

Introdução ao SQL. O que é SQL? Introdução ao SQL 1 O que é SQL? Inicialmente chamada de Sequel, SQL (Structured Query Language), é a linguagem padrão utilizada para comunicar-se com um banco de dados relacional. A versão original foi

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

CICLO DE VIDA DE UM BD

CICLO DE VIDA DE UM BD 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 CICLO DE VIDA DE UM

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

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

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

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

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

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

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. 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

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

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

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

Noções de. Microsoft SQL Server. Microsoft SQL Server

Noções de. Microsoft SQL Server. Microsoft SQL Server Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados

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

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

Integridade dos Dados

Integridade dos Dados 1 Integridade dos Dados Integridade dos Dados Melissa Lemos melissa@inf.puc-rio.br A integridade dos dados é feita através de restrições, que são condições obrigatórias impostas pelo modelo. Restrições

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

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

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

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita:

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita: SQL Tópicos Especiais Modelagem de Dados Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional em Ensino de Ciências

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

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

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

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

Disciplina: Unidade V: Prof.: E-mail: Período: Encontro 17 Disciplina: Sistemas de Banco de Dados Unidade V: Introdução à Linguagem SQL Prof.: Mario Filho E-mail: pro@mariofilho.com.br Período: 5º. SIG - ADM 13. Introdução à Linguagem SQL Introdução

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 Agenda Introdução Conceitos do Modelo Relacional Restrições de Integridade Básicas Esquema do BD Relacional Restrições

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

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

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais 1 LINGUAGEM SQL SQL Server 2008 Comandos iniciais SQL - STRUCTURED QUERY LANGUAGE Quando os Bancos de Dados Relacionais estavam sendo desenvolvidos, foram criadas linguagens destinadas à sua manipulação.

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

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

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

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 Agenda Linguagem SQL: Introdução; Construção/Definição de tabelas. 2 Linguagem SQL SQL - Structured Query Language;

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

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

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

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 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

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

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

Administração de Banco de Dados

Administração de Banco de Dados Administração de Banco de Dados Professora conteudista: Cida Atum Sumário Administração de Banco de Dados Unidade I 1 INTRODUÇÃO A BANCO DE DADOS...1 1.1 Histórico...1 1.2 Definições...2 1.3 Importância

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

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

Programação SQL. Manipulação de Dados. DML Data Manipulation Language

Programação SQL. Manipulação de Dados. DML Data Manipulation Language Programação SQL Manipulação de Dados DML Data Manipulation Language Manipulação de Dados (DML) Os comandos INSERT, UPDATE, DELETE, são normalmente classificados como pertencendo a uma sublinguagem da linguagem

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

Banco de dados 1. Linguagem SQL DDL e DML. Professor: Victor Hugo L. Lopes

Banco de dados 1. Linguagem SQL DDL e DML. Professor: Victor Hugo L. Lopes Banco de dados 1 Linguagem SQL DDL e DML Professor: Victor Hugo L. Lopes Agenda: Introdução à linguagem de dados; DDL; DML; CRUD; Introdução à linguagem SQL. 2 Por que precisamos da linguagem SQL? A algebra

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

Principais Comandos SQL Usados no MySql

Principais Comandos SQL Usados no MySql Principais Comandos SQL Usados no MySql O que é um SGBD? Um Sistema Gerenciador de Banco de Dados (como no Brasil) ou Sistema Gestor de Base de Dados (SGBD) é o conjunto de programas de computador (softwares)

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

SQL - Banco de Dados. Disciplina: Banco de Dados. Professor: José Antônio. José Antônio - CEFET-RN 23/09/2015

SQL - Banco de Dados. Disciplina: Banco de Dados. Professor: José Antônio. José Antônio - CEFET-RN 23/09/2015 SQL - Banco de Dados 1 Disciplina: Banco de Dados Professor: José Antônio 2 Tópicos de discussão Criando um banco de dados Incluindo, atualizando e excluindo linhas nas tabelas Pesquisa básica em tabelas

Leia mais

Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos

Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos Objetivos: Criar restrições para atributos, chaves primárias e estrangeiras; Explorar consultas SQL com uso de

Leia mais

EXEMPLOS DE COMANDOS NO SQL SERVER

EXEMPLOS DE COMANDOS NO SQL SERVER EXEMPLOS DE COMANDOS NO SQL SERVER Gerenciando Tabelas: DDL - DATA DEFINITION LANGUAG Criando uma tabela: CREATE TABLE CLIENTES ID VARCHAR4 NOT NULL, NOME VARCHAR30 NOT NULL, PAGAMENTO DECIMAL4,2 NOT NULL;

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