Banco de Dados Prof. Stênio Sã

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

Download "Banco de Dados Prof. Stênio Sã"

Transcrição

1 Colégio Técnico Universitário Departamento de Informática Banco de Dados Prof. Stênio Sã Material obtido a partir dos slides do curso do professor Weyler Lopes CEFET PI

2 Parte I Conceitos básicos em Banco de dados

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26 Parte II Modelagem de dados: Modelo E R

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41 EXTENSÕES DO MODELO E R Possuem o objetivo de aumentar o poder de expressão do modelo provendo novos meios de representações. As principais extensões são: Especialização Generalização Herança de Atributos Agregação No paradigma da Orientação a Objeto, veremos estes conceitos na modelagem de sistema através de Diagramas de Classes.

42 Especialização Definição de uma entidade que é um subconjunto de uma outra entidade Generalização Definição de uma entidade que é um superconjunto de uma outra entidade Na prática, uma especialização ou uma generalização produzem o mesmo conjunto de entidades. O que as diferem é a ordem que as entidades são geradas

43 Agregação Ocorre quando um conjunto de entidades e relacionamentos comportam se como se fosse uma entidade. Podendo desta forma associar com com outras entidades.

44 Outra Representação para Agregação

45 Parte III Modelo Relacional: detalhamento

46 CONCEITOS BÁSICOS O modelo relacional representa os dados num BD como uma coleção de tabelas (relações). Cada tabela terá um nome, que será único, e um conjunto de atributos com seus respectivos nomes e domínios. Todos os valores de uma coluna são do mesmo tipo de dados. Exemplo de uma tabela:

47 CONCEITOS BÁSICOS (continuação) Terminologia do modelo: Tabela é chamada de Relação Linha é chamada de Tupla Coluna é chamada de atributo Associado a um tipo de dados há um domínio. Um domínio D é um conjunto de valores atômicos. Exemplo: IdadeAluno: inteiro entre 16 e 70. Um esquema de relação R é denotado por R(A1,A2,...,An), onde é R representa um conjunto de atributos: R = {A1,A2,...,An}. O grau de uma relação é o número de atributos que seu esquema contém.

48 CONCEITOS BÁSICOS (continuação) Um instante (snapshot) de relação r, do esquema R(A1, A2,...,An), denotado por r(r), é o conjunto de n tuplas r = {t1,t2,...,tn}. Cada tupla t é uma lista ordenada de valores t = <v1,v2,...,vn> Uma instância r(r) é um subconjunto do produto cartesiano dos domínios de R. r(r) C (dom(a1) X dom(a2) X... X dom(an))

49 ASPECTOS IMPORTANTES DAS RELAÇÕES A ordem das tuplas e dos atributos não tem importância. Todo atributo possui valor atômico. Cada atributo numa relação tem um nome que é único dentro da relação. Todas as tuplas devem ser únicas (conjunto). A fundamentação matemática está sempre presente.

50 CONCEITO DE CHAVE Superchave Conjunto de um ou mais atributos que, tomados coletivamente nos permite identificar de maneira unívoca uma tupla em um conjunto de tuplas. Chave candidata É uma superchave para qual nenhum subconjunto possa ser uma superchave. Chave primária é a chave candidata que é escolhida pelo projetista para identificar tuplas dentro de um conjunto de tuplas.

51 CHAVES DE UMA RELAÇÃO Convenciona se sublinhar os atributos que compõem a chave primária. Ex.:Empregado (Matrícula, Nome, Endereço, Função,Salário) Um mesmo atributo pode ter nomes diferentes nas diversas relações em que participa. Ex.: Empregado (Matrícula, Nome, Endereço, Função, Salário, Dep) e Departamento(CodDepart, Nome, Endereço) Atributos que representam diferentes conceitos podem ter o mesmo nome.

52 RESTRIÇÕES DE INTEGRIDADE Integridade de Chave: Toda tupla tem um conjunto de atributos que a identifica de maneira única na relação. Integridade de Entidade: Nenhum valor de chave primária poderá ser NULO. Integridade Referencial: Uma relação pode ter um conjunto de atributos que contém valores com mesmo domínio de um conjunto de atributos que forma a chave primária de uma outra relação. Este conjunto é chamado chave estrangeira. Integridade Semântica: Define aspectos comportamentais do BD. Exemplo: Nenhum aluno que não cursou ICC poderá cursar Ling. de Programação.

53 Parte IV mapeamento E R para o modelo Relacional

54 MAPEAMENTO E R > RELACIONAL Para cada modelo conceitual E R pode existir vários modelos Relacionais. A maioria das ferramentas de modelagem conceitual automatizam o mapeamento. Porém é importante conhecer as etapas deste mapeamento. A definição equivocada do modelo Relacional afeta a estrutura de todo o projeto. Muitas vezes a maneira como implementar as tabelas no modelo relacional dependem de decisões de projeto e não de regras pré estabelecidas.

55 Um simples exemplos de mapeamento

56 ETAPAS DO MAPEAMENTO ETAPA 1 Mapear todos os conjuntos de entidades não fracas. Caso exista atributo composto, inclua todos os atributos elementares Escolha um dos atributos chave de E como chave primária para a relação

57 ETAPAS DO MAPEAMENTO ETAPA 1 Mapear todos os conjuntos de entidades não fracas. Caso exista atributo composto, inclua todos os atributos elementares Escolha um dos atributos chave de E como chave primária para a relação

58 ETAPAS DO MAPEAMENTO Funcionário = {FNúmero, FNome, Endereço, Salário} Departamento = {DNúmero, DNome} Projeto = {PNúmero, PNome}

59 ETAPAS DO MAPEAMENTO Funcionário = {FNúmero, FNome, Endereço, Salário} Departamento = {DNúmero, DNome} Projeto = {PNúmero, PNome}

60 ETAPA 2 Para cada conjunto de entidade fraca F no esquema ER cria se uma relação R formada por todos os atributos do conjunto de entidade fraca, mais os atributos que são chave das entidades regulares com as quais a entidade se relaciona. Dependente = {DependNome, FNúmero, DataNiver, Parentesco}

61 ETAPA 3 Relacionamentos de cardinalidade 1 para 1 devem ser identificados e escolhida a entidade que receberá os atributos do relacionamento, assim como qual a entidade que receberá a chave estrangeira. Funcionário = {FNúmero, FNome, Endereço, Salário} Departamento = {DNúmero, Dnome, FNúmero, DataIni}

62 ETAPA 4 Para cada conjunto relacionamento de cardinalidade 1 para N, a chave primária da entidade que participa com cardinalidade N terá a chave primária da outra entidade como chave estrangeira. Departamento = {DNúmero, Dnome, FNúmero, DataIni} Projeto = {PNúmero, Pnome, DNro}

63 ETAPA 5 Para cada relacionamento binário M:N cria se uma nova relação Participar = {FNum, PNum, horas}

64 ETAPA 6 Um relacionamento ternário produzirá uma relação Oferecer = {OCod, CCod, FNum, Horário}

65 ETAPA 7 Existem duas maneiras de tratar atributos multivalorados no mapeamento: 1) Sabendo uma estimativa do número de ocorrências do atributo. Assim, pode se adicionar à ralação quantos atributos forem necessários. 2) Caso do número de ocorrências do atributo seja indefinido, cria se uma nova relação. LocalDep = {DNúmero, Localização} Departamento = {DNúmero, Dnome, FNúmero, DataIni, local1, local2, local3}

66 EXERCÍCIO Baseado no modelo E R, abordado em sala, para a Fórmula 1. Aplique todos os passos para o mapeamento E R > Relacional.

67 Dúvidas? Página 67

68 EXERCÍCIO (Última aula) Baseado no modelo E R, abordado em sala, para a Fórmula 1. Aplique todos os passos para o mapeamento E R > Relacional. Página 68

69 Comentários sobre Exercício Esquema muito simples de ser gerado; Aplicação da etapa 1, abordada na aula passada, define praticamente todas as tabelas; O fato do modelo E R ter sido representado através de uma ferramenta, facilita consideravelmente o processo de mapeamento; Exemplos de Relações do Modelo PILOTO(COD_PILOTO, NOME, DATA_NASC, COD_EQUIPE, COD_PAIS) EQUIPE(COD_EQUIPE, NOME, NOME, COD_PAIS) PAIS(COD_PAIS, NOME, POPULACAO) CIRCUITO(COD_CIRCUITO, NOME, EXTENSAO, COD_PAIS) Página 69

70 Parte V Linguagem SQL Página 70

71 Características comuns Estilo declarativo, não procedimental; Permite otimizações; Utilizadas por várias classes de usuários Sintaxe simples e bem definida Presente em todos os SGBDs Relacionais É incorporada comumente a uma outra linguagem; Não é uma linguagem completa como C, Java ou Delphi; Portável entre sistema operacionais; Página 71

72 Algumas Funcionalidades Uma série de comandos DDL para definição de dados Uma série de comandos DML para manipulação de dados Uma versão de SQL embutida em linguagens de programação Instruções para definição de visões (tabelas virtuais) Instruções para controle de autorização de acesso Instruções para controle de transações e concorrência Instruções para especificação de restrições de integridade Página 72

73 Instruções SQL/DDL CREATE TABLE Permite a criação de uma tabela CREATE TABLE Emp (EmpNume integer(5) not null, EmpNome char(30) not null, EmpFunc char(20) not null, DepNume integer(4) not null, EmpComi integer(10,2), EmpSala integer(10,2), primary key (EmpNume), foreign key has (DepNume) references Dept on delete restrict on update cascade ); ponto-e-vírgula no final!!!!! Página 73

74 ALTER TABLE Permite a alteração de uma tabela alter table dept ADD (depsala integer(4)); DROP TABLE Permite a exclusão de uma tabela Drop table EMP CREATE INDEX Permite a criação de índice em uma tabela CREATE unique INDEX EmpNum on Emp(EmpNume asc); Página 74

75 A Instrução SELECT Permite a recuperação de dados em uma ou mais tabelas. Forma básica: SELECT <lista de colunas> FROM <lista de tabelas> WHERE <critério de seleção> Exemplos: SELECT EmpNome, EmpSala FROM EMP WHERE DepNume > 10; SELECT * FROM DEPT; SELECT nome, matricula FROM cadastro WHERE nome like %Silva% ; Página 75

76 Alguns operadores usados na cláusula WHERE: BETWEEN.. AND... (Entre dois valores (inclusive)) IN (...) (Lista de valores) LIKE (Com um padrão de caracteres) IS NULL (É um valor nulo) Operadores negativos: <> NOT BETWEEN NOT IN valores) NOT LIKE caracteres) IS NOT NULL (Diferente) (Não entre 2 valores informados) (Não existente numa lista de (Diferente do padrão de (Não é um valor nulo) Página 76

77 Funções de agregação AVG () (Média do valor n, ignorando nulo) COUNT () (Número de registros) MAX () (Maior valor) MIN () (Menor valor) SUM () (Soma dos valores de n, ignorando nulo) Estas funções podem ser usadas em conjunto com as seguintes cláusulas: GROUP BY (Divide tuplas em grupos menores) HAVING (Especifica grupos que são manipulados) Exemplo: SELECT cod_curso, count(*) FROM matricula GROUP BY cod_curso HAVING count(*) > 10 (lista os cursos com mais de 10 alunos) Página 77

78 Produto Cartesiano Segue a mesma fundamentação da álgebra dos conjuntos Exemplo: SELECT nome_curso, nome_aluno FROM matricula, curso Produto Cartesiano com predicado de junção Permite associar tuplas de duas tabelas pela relação entre suas chaves primária e estrangeira; Produz resultado equivalente à cláusula JOIN que será abordada adiante; Exemplo: SELECT nome_curso, nome_aluno FROM matricula, curso WHERE matricula.cod_curso = curso.cod_curso (matricula.cod_curso = curso.cod_curso) é o predicado de junção Página 78

79 Produto Cartesiano Segue a mesma fundamentação da álgebra dos conjuntos Exemplo: SELECT nome_curso, nome_aluno FROM matricula, curso Produto Cartesiano com predicado de junção Permite associar tuplas de duas tabelas pela relação entre suas chaves primária e estrangeira; Produz resultado equivalente à cláusula JOIN que será abordada adiante; Exemplo: SELECT nome_curso, nome_aluno FROM matricula, curso WHERE matricula.cod_curso = curso.cod_curso (matricula.cod_curso = curso.cod_curso) é o predicado de junção Página 79

80 Junções Maneira eficiente de consulta para dados de múltiplas tabelas Tipos de Junção: INNER JOIN OUTER JOIN LEFT OUTER JOIN FULL OUTER JOIN Exemplo: SELECT customer.cust_id_n, customer.cust_name_s, phone.phone_phonenum_s, phone.phone_type_s FROM customer JOIN phone ON customer.cust_id_n = phone.phone_custid_fn Página 80

81 Combinando Resultados de Diferentes Consultas Permite que as operações básicas sobre conjunto possam ser aplicadas a conjuntos de tuplas. As cláusulas que define esta operação são: UNION INTERSECT EXCEPT Exemplo: SELECT status_code_s, status_desc_s FROM status_1 UNION SELECT status_code_s, status_desc_s FROM status_1 Todas as 3 cláusula suprimem tuplas repetidas da relação gerada. Página 81

82 A Instrução INSERT Permite a inserção de dados em uma tabela. Estrutura básica: INSERT INTO <tabela> [<campos>] VALUES <valores>; Estrutura completa: INSERT INTO <table_or_view_name> [(<column_name>,...)] { {VALUES (<literal> <expression> NULL DEFAULT,...)} {<select_statement>} } Exemplo: INSERT INTO DEPT (DepNome, DepOrca, DepLoc, DepNume) VALUES ( Informática, , Prédio A, 100); Página 82

83 A Instrução UPDATE Permite a alteração de dados em uma tabela. Estrutura básica: UPDATE <tabela> SET <campo> = <expressão> WHERE <condição>; Estrutura completa: UPDATE <table_or_view_name> SET {<column_name> = <literal> <expression> (<single_row_select_statement>) NULL DEFAULT,...} [WHERE <predicate>] Exemplo: UPDATE EMP SET EMPSALA = EMPSALA * 1,2 WHERE EMPSALA < 1000; Página 83

84 A Instrução DELETE Permite a exclusão de dados em uma tabela. Estrutura básica: DELETE FROM <tabela> WHERE <condição>; Estrutura completa: DELETE FROM <table_or_view_name> WHERE <predicate> Exemplo: DELETE FROM EMP WHERE EMPSALA > 5000; Página84

85 Outras Instruções MERGE Permite a combinação das instruções INSERT e UPDATE Estrutura : MERGE INTO [<qualifier>.]<table_name1> USING [<qualifier>.]<table_name2> ON (<condition>) WHEN MATCHED THEN UPDATE SET {<column> = {<expression> DEFAULT},...} WHEN NOT MATCHED THEN INSERT [(<column>,...)] VALUES (<expression> DEFAULT,...); Página 85

86 Outras Instruções TRUNCATE equivalente ao DELETE, porém mais rápido. Não pode ser utilizado com a cláusula WHERE. Não permite exclusão em quando a tabela é referenciada por uma chave estrangeira. Estrutura : TRUNCATE TABLE <table_name> Como é mais eficiente que o DELETE, uma dica é excluir as integridades de referência a chave estrangeira para executar o TRUNCATE. Exemplo: ALTER TABLE ORDER_LINE DISABLE CONSTRAINT FK_ORDLINE_PRODUCT; TRUNCATE TABLE PRODUCT Página 86

87 Exercícios Baseado no modelo que representa um campeonato de Fórmula 1, elabore as seguintes consultas em SQL para prover as seguintes informações: Pilotos por Equipe Pilotos por Pais Pilotos por Pais utilizando a cláusula Quantidade de Pilotos por Pais Os 3 países com maior quantidade de pilotos Relação de Pilotos com seus respectivos países Quantidade de pontos por piloto Quantidade de pontos por equipe Vencedor do GP da Malásia Pilotos que mais pontuaram Pilotos que pontuaram Pilotos que ainda não pontuaram Pilotos com maior quantidade de pontos Pais como maior número de pilotos Equipe que nunca corre em casa Pilotos que pontuaram em casa Página 87

88 Resolução dos Exercícios da Aula Anterior Baseado no modelo que representa um campeonato de Fórmula 1, elabore as seguintes consultas em SQL para prover as seguintes inofrmações: Pilotos por Equipe Pilotos por Pais Pilotos por Pais utilizando a cláusula Quantidade de Pilotos por Pais Os 3 países com maior quantidade de pilotos Relação de Pilotos com seus respectivos países Quantidade de pontos por piloto Quantidade de pontos por equipe Vencedor do GP da Malásia Pilotos que mais pontuaram Pilotos que pontuaram Pilotos que ainda não pontuaram Pilotos com maior quantidade de pontos Pais como maior número de pilotos Equipe que nunca corre em casa Pilotos que pontuaram em casa Página 88

89 Resolução dos Exercícios da Aula Anterior Pilotos por Equipe select piloto.nome, equipe.nome from piloto, equipe where equipe.cod_equipe = piloto.cod_equip order by equipe.nome Pilotos por Pais select piloto.nome, pais.nome from piloto, pais where pais.cod_pais = piloto.cod_pais order by pais.nome Página 89

90 Resolução dos Exercícios da Aula Anterior Pilotos por Pais utilizando a cláusula join e a cláusula compute select piloto.nome, pais.nome from piloto inner join pais on pais.cod_pais = piloto.cod_pais order by pais.nome compute count(piloto.nome) by pais.nome compute count(piloto.nome) Quantidade de Pilotos por Pais select pais.nome, count(*) from piloto, pais where pais.cod_pais = piloto.cod_pais group by pais.nome Página 90

91 Resolução dos Exercícios da Aula Anterior Os 3 paises com maior quantidade de pilotos select top 3 pais.nome, count(*) from piloto, pais where pais.cod_pais = piloto.cod_pais group by pais.nome order by count(*) desc Relação de Pilotos com seus respectivos países Diferentes tipo de Join select piloto.nome, pais.nome from piloto inner join pais on pais.cod_pais = piloto.cod_piloto Página 91

92 Resolução dos Exercícios da Aula Anterior Os 3 paises com maior quantidade de pilotos select top 3 pais.nome, count(*) from piloto, pais where pais.cod_pais = piloto.cod_pais group by pais.nome order by count(*) desc Página 92

93 Resolução dos Exercícios da Aula Anterior Relação de Pilotos com seus respectivos países Diferentes tipo de Join select piloto.nome, pais.nome from piloto inner join pais on pais.cod_pais = piloto.cod_piloto select piloto.nome, pais.nome from piloto left outer join pais on pais.cod_pais = piloto.cod_piloto select piloto.nome, pais.nome from piloto Right outer join pais on pais.cod_pais = piloto.cod_piloto select piloto.nome, pais.nome from piloto Full outer join pais on pais.cod_pais = piloto.cod_piloto Página 93

94 Resolução dos Exercícios da Aula Anterior Criado view que converte colocacao em pontos drop view resultado_pontos create view resultado_pontos as select cod_prova, cod_piloto, pontos = case when colocacao_final = 1 then 10 when colocacao_final = 2 then 8 when colocacao_final = 3 then 6 when colocacao_final = 4 then 5 when colocacao_final = 5 then 4 when colocacao_final = 6 then 3 when colocacao_final = 7 then 2 when colocacao_final = 8 then 1 end from resultado Página 94

95 Resolução dos Exercícios da Aula Anterior Quantidade de pontos por piloto select p.nome, sum(pontos) soma from piloto p, resultado_pontos r where p.cod_piloto = r.cod_piloto group by p.nome order by soma desc Quantidade de pontos por equipe select e.nome, sum(pontos) soma from equipe e, piloto p, resultado_pontos r where p.cod_piloto = r.cod_piloto and e.cod_equipe = p.cod_equipe group by e.nome order by soma desc Página 95

96 Resolução dos Exercícios da Aula Anterior Vencedor do GP da Malásia select pil.nome from resultado r, prova p, pais pa, piloto pil, circuito c where c.cod_circuito = p.cod_circuito and p.cod_prova = r.cod_prova and pil.cod_piloto = r.cod_piloto and c.cod_pais = pa.cod_pais and pa.nome = "Malásia" and r.colocacao_final = 1 Pilotos que mais pontuaram select p.nome, count(*) cont from resultado r, piloto p where r.cod_piloto = p.cod_piloto group by p.nome order by c desc Página 96

97 Resolução dos Exercícios da Aula Anterior Pilotos que pontuaram select nome from piloto p where cod_piloto in (select cod_piloto from resultado r where p.cod_piloto = r.cod_piloto) Pilotos que ainda não pontuaram select nome from piloto p where cod_piloto not in (select cod_piloto from resultado r where p.cod_piloto = r.cod_piloto) Página 97

98 SUBCONSULTAS ANINHADAS Mecanismos para aninhamento de consultas são suportados pelo SQL: IN select nome from piloto p where cod_piloto in (select cod_piloto from resultado) (Relação do pilotos que pontuaram) NOT IN select nome from equipe p where cod_equipe not in (select cod_equipe from piloto) (Relação de equipes sem pilotos) Página 98

99 SOME select nome from aluno where cod_turma = 1 and nota > some(select nota from aluno cod_turma = 2) (Relação dos alunos da turma 1 cuja nota é maior que alguma nota da turma 2 ) ALL select nome from aluno where cod_turma = 1 and nota > all(select nota from aluno cod_turma = 2) (Relação dos alunos da turma 1 cuja nota é maior que todas as notas da turma 2 ) Página 99

100 EXISTS select nome from piloto p where exists in (select * from resultado r where p.cod_piloto = r.cod_piloto) (Relação do pilotos que pontuaram) NOT EXISTS select nome from piloto p where exists not in (select * from resultado r where p.cod_piloto=r.cod_piloto and r.colocaca_final= 1) (Relação do pilotos que não venceram corridas) Vale observar que a cláusula EXISTS pode ser facilmente substituída pela cláusula IN. Porém, deve se estar atento para as particularidades de cada uma delas. Página 100

101 CRIANDO PROCEDIMENTOS (PROCEDURES/FUNCTIONS) Um procedimento nada mais é que um bloco de comandos de comandos SQL que é executado quando invocado. Exemplo: (MS SQL Server) CREATE PROCEDURE numeric AS INSERT INTO null) excecutando o procedimento: exec INC_RES (1, 2, 3) Página 101

102 Exemplo: (PostgreSQL) CREATE FUNCTION um() RETURNS integer AS 'SELECT 1 AS RESULTADO;' LANGUAGE SQL; excecutando o procedimento: SELECT um() AS resposta; resposta 1 No PostgreSQL procedimentos são denotados por Function, enquanto no SQL Server, por Procedure. Na verdade, uma Function é um procedimento que retorna valor. Para definir um Function que não retorna valor em PostgreSQL, o tipo de retorno deve ser declarado como opaque Página 102

103 CRIANDO TRIGGERS (GATILHOS) Uma trigger é uma ação que é automaticamente executada mediante a ocorrência de um determinado evento. Esta ação é comumente um bloco de comandos SQL; Este evento pode ser um INSERT, UPDATE, DELETE em alguma tabela do banco. Exemplo: (PostgreSQL) CREATE TRIGGER se_dist_existe BEFORE INSERT OR UPDATE ON filmes FOR EACH ROW EXECUTE PROCEDURE verificar_chave_primaria ('did', 'distribuidores', 'did'); Página 103

104 Exemplo: (MS SQL Server) CREATE TRIGGER Inclui_Pontos ON [Resultado] FOR INSERT AS numeric numeric numeric = inserted.colocacao_final from inserted = case = 1 then 10 = 2 then 8 = 3 then 6 = 4 then 5 = 5 then 4 = 6 then 3 = 7 then 2 = 8 then 1 end = cod_piloto from pontuacao where cod_piloto = (select cod_piloto from inserted) is null insert into pontuacao values else update pontuacao set pontos = pontos where cod_piloto = (select cod_piloto from inserted) Página 104

105 Parte V Normalização Página 105

106 Introdução Conjunto de técnicas baseadas na teoria da decomposição visando eliminar eventuais anomalias de atualização. Anomalias de atualização são anomalias geradas nas bases de dados pelas operações de inserção, exclusão e alteração. Assunto pertinente apenas ao universo dos BD relacionais. Normalizar é decompor relações; Objetivo Definir regras para decompor as relações preservando as dependências funcionais e sem perdas de informações que representam entidades do mundo real. Página 106

107 1a. Forma Normal Uma relação é dita estar na 1a. forma normal quando todos atributos contêm apenas valores atômicos, e também, todos atributos não contenham valores compostos. Exemplo 1: Pessoa(cod, nome, profissoes) Onde profissoes agrupa um conjunto de profissões. Exemplo 2: Pessoa(cod, nome, endereco(log,num,cep,cidade)) Onde endereco é composto de outros atributos. Vale ressaltar, que a 1a. Forma normal é relaxado em alguns SGBDs relacionais. Página 107

108 2a. Forma Normal Uma relação é dita estar na 2a. forma normal quando: 4. Está em 1FN 5. Todo atributo que não pertence à chave não depende apenas de uma parte desta chave, mas de toda chave. Se apenas um subconjunto é suficiente para determinar funcionalmente um atributo não chave, a relação não está na 2FN. Exemplo 1: Fornercedor(cod,nome,endereco,artigo,preco) Página 108

BANCO DE DADOS Parte 4

BANCO DE DADOS Parte 4 BANCO DE DADOS Parte 4 A Linguagem SQL Introdução Desenvolvida pelo depto de pesquisa da IBM na década de 1970 (System R) Linguagem padrão de BD Relacionais; Apresenta várias padrões evolutivos: SQL86,

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

Á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

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

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

Definida pelo American National Standard Institute (ANSI) em 1986

Definida pelo American National Standard Institute (ANSI) em 1986 2.3. Linguagens Relacionais SQL Structured Query Language Linguagem para o modelo relacional: Definida pelo American National Standard Institute (ANSI) em 1986 Adoptada em 1987 como um standard internacional

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

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

SQL. Prof. Márcio Bueno. {bd2tarde,bd2noite}@marciobueno.com

SQL. Prof. Márcio Bueno. {bd2tarde,bd2noite}@marciobueno.com SQL Prof. Márcio Bueno {bd2tarde,bd2noite}@marciobueno.com Material dos professores Ana Carolina Salgado, Fernando Foncesa e Valéria Times (CIn/UFPE) SQL SQL - Structured Query Language Linguagem de Consulta

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

SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável.

SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável. SQL (Structured Query Language) SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável. Além de permitir a realização de consultas, SQL possibilita: 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

Linguagem de Consulta Estruturada (SQL)

Linguagem de Consulta Estruturada (SQL) Linguagem de Consulta Estruturada (SQL) Conceitos sobre a versão ANSI da SQL, a sublinguagem de definição de dados (DDL) e a sublinguagem de manipulação de dados (DML) Prof. Flavio Augusto C. Correia 1

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

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

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

Bases de Dados 2005/2006. Aula 5

Bases de Dados 2005/2006. Aula 5 Bases de Dados 2005/2006 Aula 5 Sumário -1. (T.P.C.) Indique diferenças entre uma tabela e uma relação. 0. A base de dados Projecto 1. SQL Join (variantes) a. Cross Join b. Equi-Join c. Natural Join d.

Leia mais

S Q L 31/03/2010. SQL - Structured Query Language Linguagem de Consulta Estruturada

S Q L 31/03/2010. SQL - Structured Query Language Linguagem de Consulta Estruturada Gerenciamento de Dados e Informação Fernando Fonseca Ana Carolina Robson Fidalgo SQL SQL - Structured Query Language Linguagem de Consulta Estruturada Apesar do QUERY no nome, não é apenas de consulta,

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

S Q L 15/01/2013. Enfoques de SQL. Enfoques de SQL SQL. Usos de SQL. SQL - Origem/Histórico. Gerenciamento de Dados e Informação

S Q L 15/01/2013. Enfoques de SQL. Enfoques de SQL SQL. Usos de SQL. SQL - Origem/Histórico. Gerenciamento de Dados e Informação Enfoques de SQL Gerenciamento de Dados e Informação Fernando Fonseca Ana Carolina Valeria Times Bernadette Loscio Linguagem interativa de consulta (ad-hoc): usuários podem definir consultas independente

Leia mais

Principais Conceitos. Modelo Relacional representa o banco de dados como uma coleção de relações Tupla Atributos Relação Domínio

Principais Conceitos. Modelo Relacional representa o banco de dados como uma coleção de relações Tupla Atributos Relação Domínio MODELO RELACIONAL Principais Conceitos Modelo Relacional representa o banco de dados como uma coleção de relações Tupla Atributos Relação Domínio Conceitos Básicos - Relações A Álgebra Relacional fundamenta-se

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

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

Projeto de Banco de Dados

Projeto de Banco de Dados Projeto de Banco de Dados SQL-Consultas Comando SELECT Prof. Luiz Antônio Vivacqua C. Meyer (la.vivacqua@gmail.com) Sintaxe Geral SELECT [ALL/DISTINCT] coluna1, coluna2,..., colunan FROM nome_tabela1,

Leia mais

Ex.: INSERT INTO tmpautor (CDAUTOR, NMAUTOR) VALUES (1, Renato Araújo )

Ex.: INSERT INTO tmpautor (CDAUTOR, NMAUTOR) VALUES (1, Renato Araújo ) PRONATEC - Programador de Sistemas Banco de Dados 1) Incluindo linhas nas tabelas a. Para incluir linhas em tabelas utilize o comando INSERT INTO INSERT INTO tabela [ ( coluna [, coluna,...] ) ] VALUES

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

SQL TGD/JMB 1. Projecto de Bases de Dados. Linguagem SQL

SQL TGD/JMB 1. Projecto de Bases de Dados. Linguagem SQL SQL TGD/JMB 1 Projecto de Bases de Dados Linguagem SQL SQL TGD/JMB 2 O que é o SQL? SQL ("ess-que-el") significa Structured Query Language. É uma linguagem standard (universal) para comunicação com sistemas

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

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

UNIVERSIDADE VEIGA DE ALMEIDA CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS BANCO DE DADOS

UNIVERSIDADE VEIGA DE ALMEIDA CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS BANCO DE DADOS CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS CLAUDIO RIBEIRO DA SILVA MARÇO 1997 2 1 - CONCEITOS GERAIS DE 1.1 - Conceitos Banco de Dados - Representa

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

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 11-1. INTRODUÇÃO TRIGGERS (GATILHOS OU AUTOMATISMOS) Desenvolver uma aplicação para gerenciar os dados significa criar uma aplicação que faça o controle sobre todo ambiente desde a interface, passando

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

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

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

Comandos DDL. id_modulo = id_m odulo

Comandos DDL. id_modulo = id_m odulo Comandos DDL Estudo de Caso Controle Acadêmico Simplificado Uma escola contém vários cursos, onde cada aluno possui uma matricula num determinado curso. Estes cursos, por sua vez, possuem módulos, aos

Leia mais

SQL S Q L. Introdução. Enfoques de SQL. SQL - Origem/Histórico. Usos de SQL. SQL - Vantagens. Banco de Dados. Fernando Fonseca Ana Carolina

SQL S Q L. Introdução. Enfoques de SQL. SQL - Origem/Histórico. Usos de SQL. SQL - Vantagens. Banco de Dados. Fernando Fonseca Ana Carolina Introdução Banco de Dados SQL Fernando Fonseca Ana Carolina SQL - Structured Query Language Linguagem de Consulta Estruturada Apesar do QUERY no nome, não é apenas de consulta, permitindo definição (DDL)

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

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

FEAP - Faculdade de Estudos Avançados do Pará PROFª LENA VEIGA PROJETOS DE BANCO DE DADOS UNIDADE V- SQL

FEAP - Faculdade de Estudos Avançados do Pará PROFª LENA VEIGA PROJETOS DE BANCO DE DADOS UNIDADE V- SQL Quando os Bancos de Dados Relacionais estavam sendo desenvolvidos, foram criadas linguagens destinadas à sua manipulação. O Departamento de Pesquisas da IBM desenvolveu a SQL como forma de interface para

Leia mais

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Definição 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 Ingress SQL

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

Banco de Dados I Linguagem SQL Parte 2. Autor: Prof. Cláudio Baptista Adaptado por: Prof. Ricardo Antonello

Banco de Dados I Linguagem SQL Parte 2. Autor: Prof. Cláudio Baptista Adaptado por: Prof. Ricardo Antonello Banco de Dados I Linguagem SQL Parte 2 Autor: Prof. Cláudio Baptista Adaptado por: Prof. Ricardo Antonello Introdução Como vimos, um SGBD possui duas linguagens: DDL: Linguagem de Definição de Dados. Usada

Leia mais

Projeto e Implementação

Projeto e Implementação Felipe Nery Rodrigues Machado Banco de Dados Projeto e Implementação 2 Edição 4 Reimpressão São Paulo 2011 Editora Érica Ltda. 3 Projeto Sumário Capítulo 1 O Que É Projeto de Banco de Dados 15 Modelagem

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

SQL (Structured Query Language)

SQL (Structured Query Language) (Structured Query Language) I DDL (Definição de Esquemas Relacionais)... 2 I.2 Domínios... 2 I.3 Criação de Tabelas... 2 I.4 Triggers... 4 II DML Linguagem para manipulação de dados... 5 II.2 Comando SELECT...

Leia mais

Linguagem SQL. Comandos Básicos

Linguagem SQL. Comandos Básicos Linguagem SQL Comandos Básicos Caetano Traina Júnior Grupo de Bases de Dados e Imagens Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos caetano@icmc.sc.usp.br Comando

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 3 Linguagem SQL Linguagem de manipulação de dados (DML) DISCIPLINA: Banco de

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

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

Exemplo Clínica. Exemplo Clínica. Exemplo Clínica. Exemplo Clínica. (http://bidu.lab.ic.unicamp.br/~celio/metasql.php)

Exemplo Clínica. Exemplo Clínica. Exemplo Clínica. Exemplo Clínica. (http://bidu.lab.ic.unicamp.br/~celio/metasql.php) Clínica Todos os exemplos apresentados utilizam o SGBD Postgre - open source Documentação: http://www.postgresql.org/docs (http://bidu.lab.ic.unicamp.br/~celio/metasql.php) Ambulatorios(numero, andar,

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

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

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

Triggers em PostgreSQL. Linguagem de Programação de Banco de Dados. Triggers em PostgreSQL. Triggers em PostgreSQL

Triggers em PostgreSQL. Linguagem de Programação de Banco de Dados. Triggers em PostgreSQL. Triggers em PostgreSQL Prof. Ms. Luiz Alberto Contato: lasf.bel@gmail.com Linguagem de Programação de Banco de Dados Triggers em PostgreSQL Todos os bancos de dados comerciais possuem uma linguagem procedural auxiliar para a

Leia mais

BANCO DE DADOS -INTRODUÇÃO AO SQL. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

BANCO DE DADOS -INTRODUÇÃO AO SQL. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br BANCO DE DADOS -INTRODUÇÃO AO SQL Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br Os comandos SQL podem ser agrupados em 3 classes: DDL Data Definition Language Comandos para a Definição

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

Introdução ao PostgreSQL

Introdução ao PostgreSQL Introdução ao PostgreSQL Fontes Karine Reis Ferreira karine@dpi.inpe.br Gilberto Câmara gilberto@dpi.inpe.br Gilberto Ribeiro de Queiroz gribeiro@dpi.inpe.br Marcos André Gonçalves - UFMG Parte 3 Aula

Leia mais

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

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão SISTEMAS DE BANCO DE DADOS Prof. Adriano Pereira Maranhão 1 Coleção de operações usadas para manipular relações Grupos de operações Operações relacionais Seleção; projeção; junção Operações de conjunto

Leia mais

UNIVERSIDADE FEDERAL DO MARANHÃO - UFMA. Banco de Dados II. Integridade. Carlos Eduardo Portela Serra de Castro

UNIVERSIDADE FEDERAL DO MARANHÃO - UFMA. Banco de Dados II. Integridade. Carlos Eduardo Portela Serra de Castro UNIVERSIDADE FEDERAL DO MARANHÃO - UFMA Banco de Dados II Integridade Carlos Eduardo Portela Serra de Castro * Integridade Introdução Restrições de Integridade de Domínio de Relação Asserções Procedimentos-gatilho

Leia mais

Banco de Dados Capítulo 2: Modelo Relacional. Bach. em Ciência da Computação UFPB/CCT Cláudio Baptista, PhD baptista@dsc.ufpb.br

Banco de Dados Capítulo 2: Modelo Relacional. Bach. em Ciência da Computação UFPB/CCT Cláudio Baptista, PhD baptista@dsc.ufpb.br Banco de Dados Capítulo 2: Modelo Relacional Bach. em Ciência da Computação UFPB/CCT Cláudio Baptista, PhD baptista@dsc.ufpb.br 2.1 Histórico Modelo Relacional Foi introduzido por Codd (1970) Tornou-se

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

Banco de Dados Modelo Entidade-Relacionamento. Frederico D. Bortoloti freddb@ltc.ufes.br

Banco de Dados Modelo Entidade-Relacionamento. Frederico D. Bortoloti freddb@ltc.ufes.br Banco de Dados Modelo Entidade- Frederico D. Bortoloti freddb@ltc.ufes.br Modelo Entidade- Proposto por Peter Chen, em 1976 Baseado na percepção do mundo real Consiste de um conjunto de objetos básicos

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

ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL. Carga horária: 32 Horas

ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL. Carga horária: 32 Horas ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL Carga horária: 32 Horas Pré-requisito: Para que os alunos possam aproveitar este treinamento ao máximo, é importante que eles tenham participado dos treinamentos

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 - Criação de Tabelas

SQL - Criação de Tabelas SQL - Criação de Tabelas André Restivo Faculdade de Engenharia da Universidade do Porto February 24, 2012 André Restivo (FEUP) SQL - Criação de Tabelas February 24, 2012 1 / 25 Sumário 1 Introdução 2 Tabelas

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

SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL

SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL Criar uma base de dados (criar um banco de dados) No mysql: create database locadora; No postgresql: createdb locadora Criar

Leia mais

Linguagem SQL Parte I

Linguagem SQL Parte I FIB - Centro Universitário da Bahia Banco de Dados Linguagem SQL Parte I Francisco Rodrigues Santos chicowebmail@yahoo.com.br Slides gentilmente cedidos por André Vinicius R. P. Nascimento Conteúdo A Linguagem

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

Tarefa Orientada 16 Vistas

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

Leia mais

3) Palavra-chave distinct (select-from). Obter apenas os pibs distintos entre si.

3) Palavra-chave distinct (select-from). Obter apenas os pibs distintos entre si. NOME: BRUNO BRUNELI BANCO DE DADOS - ADS create database ProducaoMinerais use ProducaoMinerais create table Mineral( nome varchar(15) primary key, preco real) create table Pais( nome varchar(30) primary

Leia mais

SQL (Structured Query Language)

SQL (Structured Query Language) SQL (Structured Query Language) Linguagem comercial para BD relacional padrão ISO desde a década de 80 SQL (86); SQL-2 (92); SQL-3 (99) e SQL:2003 não é apenas uma linguagem de consulta! como o nome sugere...

Leia mais

FAPLAN - Faculdade Anhanguera Passo Fundo Gestão da Tecnologia da Informação Banco de Dados II Prof. Eder Pazinatto Stored Procedures Procedimento armazenados dentro do banco de dados Um Stored Procedure

Leia mais

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

SQL DDL. Frederico D. Bortoloti freddb@ltc.ufes.br Banco de Dados I SQL DDL Frederico D. Bortoloti freddb@ltc.ufes.br Introdução Modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de padrão SQL (Structured Query Language)

Leia mais

SQL. Hélder Antero Amaral Nunes

SQL. Hélder Antero Amaral Nunes SQL Hélder Antero Amaral Nunes 2 Introdução Desenvolvida pelo departamento de pesquisa da IBM na década de 1970 (System R); Linguagem padrão de BD Relacionais; Apresenta várias padrões evolutivos: SQL86,

Leia mais

Índice. Introdução 31. Tutorial 1: O Microsoft Access como Sistema de Gestão de Bases de Dados Relacionais 35

Índice. Introdução 31. Tutorial 1: O Microsoft Access como Sistema de Gestão de Bases de Dados Relacionais 35 Introdução 31 1. Bases de Dados Relacionais 31 2. Modelação de Bases de Dados 31 3. Modelo de Classes UML 32 4. Linguagem SQL 32 5. Sobre o Microsoft" Access" 32 Tutorial 1: O Microsoft Access como Sistema

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

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

AULA 8 CRIANDO UMA CLASSE EM PHP INTERAGINDO COM BANCO DE DADOS - COM RELACIONAMENTO ENTRE TABELAS

AULA 8 CRIANDO UMA CLASSE EM PHP INTERAGINDO COM BANCO DE DADOS - COM RELACIONAMENTO ENTRE TABELAS AULA 8 CRIANDO UMA CLASSE EM PHP INTERAGINDO COM BANCO DE DADOS - COM RELACIONAMENTO ENTRE TABELAS Na grande maioria dos sistemas, faz-se necessário utilizar informações que estão armazenadas em uma determinada

Leia mais

COMPETÊNCIAS ESPECÍFICAS Compreender e utilizar a linguagem SQL, na construção e manutenção de uma base de dados.

COMPETÊNCIAS ESPECÍFICAS Compreender e utilizar a linguagem SQL, na construção e manutenção de uma base de dados. PLANIFICAÇÃO DA DISCIPLINA DE SISTEMAS DE INFORMAÇÃO 12.ºH CURSO PROFISSIONAL DE TÉCNICO MULTIMÉDIA ANO LECTIVO 2013/2014 6. LINGUAGENS DE PROGRAMAÇÃO IV Pré-requisitos: - Planificar e estruturar bases

Leia mais

SQL BANCO DE DADOS. Linguagem de consulta SQL. Linguagem de consulta SQL. Linguagem de Consulta Estruturada

SQL BANCO DE DADOS. Linguagem de consulta SQL. Linguagem de consulta SQL. Linguagem de Consulta Estruturada Revisão de tpicos anteriores BANCO DE DADOS Linguagem de consulta SQL Roberto Duarte Fontes Brasília - DF roberto@fontes.pro.br Projeto de banco de dados Modelagem Conceitual (independe da implementação)

Leia mais

SQL (Structured Query Language)

SQL (Structured Query Language) SQL (Structured Query Language) Linguagem comercial para BD relacional padrão ISO desde a década de 80 SQL- (86); SQL- (9); SQL- (99) não é apenas uma linguagem de consulta! como o nome sugere... Base

Leia mais

BASES DE DADOS I LTSI/2. Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2010/2011

BASES DE DADOS I LTSI/2. Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2010/2011 BASES DE DADOS I LTSI/2 Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2010/2011 A Linguagem SQL As raízes da linguagem SQL remontam a 1974, altura em que a IBM desenvolvia

Leia mais

MC536 Bancos de Dados: Teoria e Prática

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

Leia mais

SQL (Structured Query Language)

SQL (Structured Query Language) SQL (Structured Query Language) Linguagem comercial para BD relacional padrão ISO desde a década de 80 SQL-1 (86); SQL- (9); SQL- (99) não é apenas uma linguagem de consulta! como o nome sugere... Base

Leia mais

Tarefa Orientada 19 Triggers

Tarefa Orientada 19 Triggers Tarefa Orientada 19 Triggers Objectivos: Criar triggers AFTER Criar triggers INSTEAD OF Exemplos de utilização Os triggers são um tipo especial de procedimento que são invocados, ou activados, de forma

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

SQL. Banco de Dados I. Componentes de SQL

SQL. Banco de Dados I. Componentes de SQL Banco de Dados I Adrovane Marques Kade 1 1 Curso de Análise e Desenvolvimento de Sistemas Instituto Federal de Educação, Ciência e Tecnologia adrovane.kade@bento.ifrs.edu.br 2011/1 ( Structured Query Language

Leia mais

SQL BÁSICO. Introdução. Prof. Suelane Garcia. Linguagem SQL (Structured Query Language)

SQL BÁSICO. Introdução. Prof. Suelane Garcia. Linguagem SQL (Structured Query Language) SQL BÁSICO Prof. Suelane Garcia Introdução 2 Linguagem SQL (Structured Query Language) Linguagem de Consulta Estruturada padrão para acesso a Banco de Dados. Usada em inúmeros Sistemas de Gerenciamento

Leia mais

Banco de Dados - Senado

Banco de Dados - Senado Banco de Dados - Senado Structured Query Language (SQL) Material preparado :Prof. Marcio Vitorino Ambiente Simplificado de um SGBD 2 Características dos SGBDs Natureza auto-contida de um sistema de banco

Leia mais

SQL DDL Criando Tabelas e Restrições Instituto Militar de Engenharia IME Material extraido parcialmente de notas de aula de Maria Luiza Campos e Arnaldo Vieira Comandos de Definição de Dados Aplicação

Leia mais

SQL (Linguagem de Consulta Estruturada)

SQL (Linguagem de Consulta Estruturada) SQL (Linguagem de Consulta Estruturada) M.Sc. Cristiano Mariotti mscmariotti@globo.com Introdução à SQL 1 Visão Geral Introdução Comandos de Definição de Dados Comandos de Manipulação de Dados Introdução

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