Comparativo de Desempenho entre Bancos de Dados de Código Aberto

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

Download "Comparativo de Desempenho entre Bancos de Dados de Código Aberto"

Transcrição

1 6 Fórum Internacional Software Livre 1, 2, 3 e 4 de Junho de 2005 Porto Alegre/RS, Brasil Comparativo de Desempenho entre Bancos de Dados de Código Aberto Carlos Eduardo e Rilson Nascimento

2 Agenda Introdução Metodologia de testes Resultados Conclusão e Trabalhos Futuros Perguntas Comparativo de Desempenho entre Bancos de Dados de Código Aberto 2

3 Política de Perguntas Perguntas ao final da palestra Aborde-nos durante o fórum Escreva-nos: Comparativo de Desempenho entre Bancos de Dados de Código Aberto 3

4 Quem Somos Laboratório de Análise de Performance P&D CIn/UFPE e Itautec Philco Objetivos Análise de desempenho em servidores Certificação de servidores da Itautec Philco em benchmarks internacionais, ex. TPC-C Comparativo de Desempenho entre Bancos de Dados de Código Aberto 4

5 Objetivo Estudo comparativo de desempenho de recursos dos banco de dados MySQL e PostgreSQL,, em ambiente Linux,, utilizando um benchmark de código livre. Estimular melhoria do desempenho de SGBD s de código aberto Comparativo de Desempenho entre Bancos de Dados de Código Aberto 5

6 Conceitos Benchmark Padrão para medida ou avaliação Gera métricas de desempenho Permite comparações Destaca oportunidades de melhoria Um bom benchmark deve ser... Aberto e neutro Cobertura abrangente de funcionalidades Detalhado Escalável Comparativo de Desempenho entre Bancos de Dados de Código Aberto 6

7 Open Source Database Benchmark Implementação da especificação AS 3 AP (ANSI( SQL Standard Scalable and Portable) O AS 3 AP é: Aberto, neutro, abrangente, detalhado e escalonável Seus resultados não devem ser comparados com os de outros benchmarks. Comparativo de Desempenho entre Bancos de Dados de Código Aberto 7

8 Open Source Database Benchmark Separado em Módulos Carga e Estrutura Mono-usuário Multi-usuário Métrica: tempo decorrido Reutilização do banco de dados Comparativo de Desempenho entre Bancos de Dados de Código Aberto 8

9 Hardware Utilizado Servidor Itautec 1250 Intel Xeon 3.06 GHz HTT Cache L2 512KB 1GB Memória RAM 1 Disco SATA 80GB 7200 rpm Comparativo de Desempenho entre Bancos de Dados de Código Aberto 9

10 Software Utilizado Linux Fedora Core 3, Kernel , Filesystem ext3 PostgreSQL MySQL beta OSDB-0.18 Comparativo de Desempenho entre Bancos de Dados de Código Aberto 10

11 Configuração dos SGBDs PostgreSQL max_connections = 1000 shared_buffers = MySQL Usamos my-large.cnf max_connections = 1000 innodb_buffer_pool_size = 720 MB Comparativo de Desempenho entre Bancos de Dados de Código Aberto 11

12 Testes Realizados Fator: Tamanho do Banco de Dados Teste #1 512 MB linhas/tabela Teste #2 1 GB linhas/tabela Comparativo de Desempenho entre Bancos de Dados de Código Aberto 12

13 Resultados Sumário Executivo 512 MB 1 GB Módulo PostgreSQL MySQL PostgreSQL MySQL Carga e Estrutura 14min 39min 45min 1h23min Mono-Usuário 27min 8min 57min 19min Multi-Usuário 1h06min 50min 3h43min 1h34min Dados arredondados para minutos Comparativo de Desempenho entre Bancos de Dados de Código Aberto 13

14 Carga e Estrutura Criação de tabelas Nome Uniques Hundred Tenpct Updates Descrição todos os campos possuem valores únicos campos com 100 valores únicos campos com 10% dos valores únicos customizada para operações de update Carga de dados Criação de índices: clustered e non- clustered (apenas B-Tree) Comparativo de Desempenho entre Bancos de Dados de Código Aberto 14

15 Resultados Carga e Estrutura 512 MB 1 GB Módulo PostgreSQL MySQL PostgreSQL MySQL Criação de Tabelas 0,02 s 0,15 s 0,03 s 0,11 s Carga de Tabelas 4 min 4min 35s 8 min 10 min Criação de Índices 10 min 35 min 37 min 1h 12min Comparativo de Desempenho entre Bancos de Dados de Código Aberto 15

16 Mono-Usuário Testa diferentes tipos de consulta : Seleções Junções Projeções (DISTINCT) Agregações Atualizações (UPDATE) Ordem de execução projetada para não favorecer o uso do cache Comparativo de Desempenho entre Bancos de Dados de Código Aberto 16

17 Seleções SELECT executado com: Baixa seletividade: deveria usar índice Alta seletividade: não deveria usar índice Influência de estatísticas Índices Clustered vs. Non-clustered Comparativo de Desempenho entre Bancos de Dados de Código Aberto 17

18 Resultados Seleções 512 MB 1 GB Nome PostgreSQL MySQL PostgreSQL MySQL Sel_1_cl 0,03 0,27 0,20 0,11 Sel_1_ncl 0,05 0 0,28 0 Sel_100_cl 0,22 0 0,50 0 Sel_100_ncl 0,01 0,06 0,13 0,12 Sel_10pct_ncl 0,03 0,03 0,14 0,04 Selectivity 1 0,06 0,06 0,32 0,06 Selectivity25% 28,38 12,43 58,12 21,47 Tempos em segundos Comparativo de Desempenho entre Bancos de Dados de Código Aberto 18

19 Considerações Seleções Selectivity (1 / 25%) - MySQL Comparativo de Desempenho entre Bancos de Dados de Código Aberto 19

20 Resultados Seleções Selectivity (1 / 25%) PostgreSQL Sem ANALYZE não usou índices Comparativo de Desempenho entre Bancos de Dados de Código Aberto 20

21 Junções Eficiência no uso de índices Clustered e Non-clustered Junções de 2, 3 e 4 tabelas Comparativo de Desempenho entre Bancos de Dados de Código Aberto 21

22 Resultados Junções 512 MB 1 GB Nome PostgreSQL MySQL PostgreSQL MySQL Join_2 3,51 1,26 15,66 5,80 Join_2_cl 0,08 0 0,10 0,00 Join_2_ncl 0 0 0,41 0,00 Join_3_cl 0,02 0,15 0,11 0,17 Join_3_ncl 0,09 0,27 0,98 0,21 Join_4_cl 0,03 0,01 0,31 0,00 Join_4_ncl 0,14 0,06 0,67 0,26 Tempos em segundos Comparativo de Desempenho entre Bancos de Dados de Código Aberto 22

23 Projeções Testa DISTINCT nos comandos SELECT Uso de atributos com valores repetidos Testa algoritmo de sort Comparativo de Desempenho entre Bancos de Dados de Código Aberto 23

24 Resultados Projeções 512 MB 1 GB Nome PostgreSQL MySQL PostgreSQL MySQL Proj_100 89,89s 7,20s 221,03s 14,46s Proj_10pct 17,97s 5,86s 48,20s 13,59s Comparativo de Desempenho entre Bancos de Dados de Código Aberto 24

25 Agregações Testa processamento do GROUP BY e funções de agregação Com uso de índice clustered (valor mínimo) Usa consultas complexas Testa eficiência e problemas conhecidos de algoritmos de agregação Comparativo de Desempenho entre Bancos de Dados de Código Aberto 25

26 Resultados Agregações 512 MB 1 GB Nome PostgreSQL MySQL PostgreSQL MySQL Agg_func 7,74 3,70 14,18 13,55 Agg_scal 1,08 0 7,14 0,01 Agg_simple_report 22,85 26,17 234,29 164,74 Agg_info_retrieval 0,03 0,18 1,14 0,90 Agg_create_view 0,20 0,16 0,86 0,23 Agg_subtotal_report 2,63 0,34 20,83 0,65 Agg_total_report 1,46 0,34 3,01 0,66 Comparativo de Desempenho entre Bancos de Dados de Código Aberto 26

27 Atualizações Testa integridade Chave Referencial Testa desempenho Campo indexado Operações bulk Comparativo de Desempenho entre Bancos de Dados de Código Aberto 27

28 Resultados Atualizações 512 MB 1 GB Nome Descrição PostgreSQL MySQL PostgreSQL MySQL Append_duplicate Ins-1 Del-1 0,07s 0,03s 0,17s 0,03s Refer_integrity Ins-1 Del-1 Ins-1 3,14s 284,1s 12,29s 590,8 Update_key Ins-2 Alt-2 Del-2 2,71s 0,03s 8,14s 0,04s Update_btree Ins-1 Alt-1 Del-1 16,64s 65,12s 84,16s 148,92 Update_alpha Ins-1 Alt-1 Del-1 10,15s 57,85s 39,25s 124,06 Bulk_append Ins ,31s 0,07s 6,04s 0,23s Bulk_modify Alt ,49s 0,15s 2000,14s 0,11s Bulk_delete Del ,68s 0,05s 2038,5 0,09s Comparativo de Desempenho entre Bancos de Dados de Código Aberto 28

29 Multi-Usuário Testa o banco de dados sob diferentes perfis de cargas de trabalho Mixed Workload OLTP Mixed Workload IR Quantidade de usuários = DB size/4mb 512 MB 128 usuários 1 GB 250 usuários Comparativo de Desempenho entre Bancos de Dados de Código Aberto 29

30 Multi-Usuário (BD 512 MB) Mixed Workload OLTP 127 usuários executando OLTP 1 usuário executando 8 consultas variadas Mixed Workload IR 127 usuários executando consultas 1 usuário executando 8 consultas variadas Métricas Rendimento global (linhas/seg) Tempo de Resposta (seg) das 8 consultas Comparativo de Desempenho entre Bancos de Dados de Código Aberto 30

31 Resultados Multi-Usuário 512 MB Mixed OLTP Mixed IR Métrica PostgreSQL MySQL PostgreSQL MySQL Rendimento (linhas/seg) 12,38 25,09 0,01 25,78 Tempo de Resposta (seg) 608,32 210, ,56 113,93 Comparativo de Desempenho entre Bancos de Dados de Código Aberto 31

32 Conclusões MySQL apresentou melhores resultados na maioria dos testes Objetivo principal do trabalho Apresentar oportunidades de melhoria Não promover vencedores e perdedores Os resultados podem indicar oportunidades de: Tuning / Configuração Melhoria em algoritmos do SGDB Auto-gerenciamento Detectar falhas em situações específicas Comparativo de Desempenho entre Bancos de Dados de Código Aberto 32

33 Trabalhos Futuros Tuning mais aprofundado nos SGBD s e SO Aplicar outros benchmarks: DBT2 (OSDL) e TPCC-UVA MySQL Benchmark Suite Utilizar outros filesystems Usar BD s maiores Analisar dados de utilização de CPU, I/O e memória durante a realização dos testes Comparativo de Desempenho entre Bancos de Dados de Código Aberto 33

34 Agradecimentos Mark Wong (Open( Source Development Labs OSDL) Andy Riebs (Compaq( Corporation) Josh Berkus (PostgreSQL( Project) Comparativo de Desempenho entre Bancos de Dados de Código Aberto 34

35 6 Fórum Internacional Software Livre Comparativo de Desempenho entre Bancos de Dados de Código Aberto 1, 2, 3 e 4 de Junho de 2005 Porto Alegre/RS, Brasil Carlos Eduardo e Rilson Nascimento

36 Referências Bibliográficas Gray, J. Benchmark Handbook: For Database and Transaction Processing Systems, Morgan Kaufmann Publishers Inc. San Francisco, CA, USA, The Open Source Database Benchmark http ://osdb.sourceforge.net/ OSDL Database Test Suite, Comparativo de Desempenho entre Bancos de Dados de Código Aberto 36

37 Referências Bibliográficas TPCC-UVA: A free, open-source implementation of the TPC-C Benchmark, http ://www.infor.uva.es/~diego/tpcc.html MySQL Benchmark Suite, http ://www.mysql.com Itautec-Philco, Fedora Project, Comparativo de Desempenho entre Bancos de Dados de Código Aberto 37

38 Referências Bibliográficas Zaitsev, P., Asplund T. Advanced Innodb Optimization, MySQL Users Conference 2005, PostgreSQL, Comparativo de Desempenho entre Bancos de Dados de Código Aberto 38

39 Tabela Uniques CREATE TABLE uniques( key INTEGER(4) NOT NULL, int INTEGER(4) NOT NULL, signed INTEGER(4), float REAL(4) NOT NULL, double DOUBLE(8) NOT NULL, decim NUMERIC(18,2) NOT NULL, date DATETIME(8) NOT NULL, code CHAR(10) NOT NULL, name CHAR(20) NOT NULL, address VARCHAR(20) NOT NULL, PRIMARY KEY (key)) Comparativo de Desempenho entre Bancos de Dados de Código Aberto 39

40 Tabela Hundred CREATE TABLE hundred( key INTEGER (4) NOT NULL, int INTEGER (4) NOT NULL, signed INTEGER (4), float REAL (4) NOT NULL, double DOUBLE (8) NOT NULL, decim NUMERIC(18,2) NOT NULL, date DATETIME (8) NOT NULL, code CHAR (10) NOT NULL, name CHAR(20) NOT NULL, address VARCHAR(20) NOT NULL, PRIMARY KEY (key), FOREIGN KEY (signed) REFERENCES UPDATES) Comparativo de Desempenho entre Bancos de Dados de Código Aberto 40

41 Tabela Tenpct CREATE TABLE tenpct( key INTEGER (4) NOT NULL, int INTEGER (4) NOT NULL, signed INTEGER (4), float REAL (4) NOT NULL, double DOUBLE (8) NOT NULL, decim NUMERIC(18,2) NOT NULL, date DATETIME (8) NOT NULL, code CHAR (10) NOT NULL, name CHAR(20) NOT NULL, address VARCHAR(20) NOT NULL, PRIMARY KEY (key,code)) Comparativo de Desempenho entre Bancos de Dados de Código Aberto 41

42 Tabela Updates CREATE TABLE updates( key INTEGER (4) NOT NULL, int INTEGER (4) NOT NULL, signed INTEGER (4), float REAL (4) NOT NULL, double DOUBLE (8) NOT NULL, decim NUMERIC(18,2) NOT NULL, date DATETIME (8) NOT NULL, code CHAR (10) NOT NULL, name CHAR(20) NOT NULL, address VARCHAR(20) NOT NULL, PRIMARY KEY (key)) Comparativo de Desempenho entre Bancos de Dados de Código Aberto 42

43 Mono-Usuário: Load INSERT INTO uniques SELECT * FROM asap.uniques INSERT INTO hundred SELECT * FROM asap.hundred INSERT INTO tenpct SELECT * FROM asap.tenpct INSERT INTO updates SELECT * FROM asap.updates Comparativo de Desempenho entre Bancos de Dados de Código Aberto 43

44 Mono-Usuário: Seleções sel_1_cl: SELECT key, int, signed, code, double, name FROM updates WHERE key = 1000 sel_1_ncl: SELECT key, int, signed, code, double, name FROM updates WHERE code = 'BENCHMARKS' sel_100_cl: SELECT key, int, signed, code, double, name FROM updates WHERE key <= 100 Comparativo de Desempenho entre Bancos de Dados de Código Aberto 44

45 Mono-Usuário: Seleções sel_100_ncl: SELECT key, int, signed, code, double, name FROM updates WHERE int <= 100 sel_10pct_ncl: SELECT FROM WHERE key, int, signed, code, double, name tenpct name = 'THE+ASAP+BENCHMARKS+' variable_select: SELECT FROM WHERE key, int, signed, code, double, name tenpct signed < :prog_var variable_select: with low selectivity, index should be used: Set :prog_var = -500,000,000. variable_select: with high selectivity, index should not be used: Set :prog_var = -250,000,000. Comparativo de Desempenho entre Bancos de Dados de Código Aberto 45

46 Mono-Usuário: Junções join_2: SELECT uniques.signed, uniques.name, hundred.signed, hundred.name FROM uniques, hundred WHERE uniques.address = hundred.address AND uniques.address = 'SILICON VALLEY' join_2_cl: SELECT uniques.signed, uniques.name, hundred.signed, hundred.name FROM uniques, hundred WHERE uniques.key = hundred.key AND uniques.key = 1000 Comparativo de Desempenho entre Bancos de Dados de Código Aberto 46

47 Mono-Usuário: Junções join_2_ncl: SELECT uniques.signed, uniques.name, hundred.signed, hundred.name FROM uniques, hundred WHERE uniques.code = hundred.code AND uniques.code = 'BENCHMARKS' join_3_cl: SELECT uniques.signed, uniques.date, hundred.signed, hundred.date, tenpct.signed, tenpct.date FROM uniques, hundred, tenpct WHERE uniques.key = hundred.key AND uniques.key = tenpct.key AND uniques.key = 1000 Comparativo de Desempenho entre Bancos de Dados de Código Aberto 47

48 Mono-Usuário: Junções join_3_ncl: SELECT uniques.signed, uniques.date, hundred.signed, hundred.date,tenpct.signed, tenpct.date FROM uniques, hundred, tenpct WHERE uniques.code = hundred.code AND uniques.code = tenpct.code AND uniques.code = 'BENCHMARKS' join_4_cl: SELECT uniques.date, hundred.date, tenpct.date, updates.date FROM uniques, hundred, tenpct, updates WHERE uniques.key = hundred.key AND uniques.key = tenpct.key AND uniques.key = updates.key AND uniques.key = 1000 Comparativo de Desempenho entre Bancos de Dados de Código Aberto 48

49 Mono-Usuário: Junções join_4_ncl: SELECT uniques.date, hundred.date, tenpct.date, updates.date FROM uniques, hundred, tenpct, updates WHERE uniques.code = hundred.code AND uniques.code = tenpct.code AND uniques.code = updates.code AND uniques.code = 'BENCHMARKS' Comparativo de Desempenho entre Bancos de Dados de Código Aberto 49

50 Mono-Usuário: Projeções proj_100: SELECT UNIQUE address, signed FROM hundred proj_10pct: SELECT UNIQUE signed FROM tenpct Comparativo de Desempenho entre Bancos de Dados de Código Aberto 50

51 Mono-Usuário: Agregações Agg_func: SELECT min(key) FROM hundred GROUP BY name Agg_scal: SELECT min(key) FROM uniques Agg_simple_report: SELECT AVG(updates.decim) FROM updates WHERE updates.key IN (SELECT updates.key FROM updates, hundred WHERE hundred.key = updates.key AND updates.decim > ) Comparativo de Desempenho entre Bancos de Dados de Código Aberto 51

52 Mono-Usuário: Agregações Agg_info_retrieval: SELECT COUNT(key) FROM tenpct WHERE name = 'THE+ASAP+BENCHMARKS+' AND int <= AND signed between 1 AND AND NOT (float between AND ) AND double > AND decim < Agg_create_view: CREATE VIEW reportview(key,signed,date,decim,name,code,int) AS SELECT updates.key, updates.signed, updates.date, updates.decim, hundred.name, hundred.code, hundred.int FROM updates, hundred WHERE updates.key = hundred.key Comparativo de Desempenho entre Bancos de Dados de Código Aberto 52

53 Mono-Usuário: Agregações Agg_subtotal_report: SELECT AVG(signed), MIN(signed), MAX(signed), MAX(date), MIN(date), COUNT(DISTINCT name), COUNT(name), code, int FROM reportview WHERE decim > GROUP BY code, int Agg_total_report: SELECT avg(signed), MIN(signed), MAX(signed), MAX(date), MIN(date), COUNT(distinct name), count(name), count(code), count(int) FROM reportview WHERE decim > Comparativo de Desempenho entre Bancos de Dados de Código Aberto 53

54 Mono-Usuário: Atualizações append_duplicate: INSERT INTO updates VALUES (6000, 0, 60000, , , , '11/10/85', 'CONTROLLER', 'ALICE IN WONDERLAND', 'UNIVERSITY OF ILLINOIS AT CHICAGO') remove_duplicate: DELETE updates WHERE key = 6000 AND int = 0 Comparativo de Desempenho entre Bancos de Dados de Código Aberto 54

55 Mono-Usuário: Atualizações Refer_integrity: INSERT INTO integrity_temp SELECT * FROM hundred WHERE int = 0 UPDATE hundred SET signed = WHERE int = 0 DELETE hundred WHERE int = 0; INSERT INTO hundred SELECT * FROM integrity_temp Comparativo de Desempenho entre Bancos de Dados de Código Aberto 55

56 Mono-Usuário: Atualizações Update_key: INSERT INTO updates VALUES (5005, 5005, 50005, , , ,'1/1/88', 'CONTROLLER', 'ALICE IN WONDERLAND', 'UNIVERSITY OF ILLINOIS AT CHICAGO') UPDATE updates SET key = WHERE key = 5005 DELETE updates WHERE key = INSERT INTO updates VALUES ( , 50005, 50005, , , , '1/1/88', 'CONTROLLER','ALICE IN WONDERLAND', 'UNIVERSITY OF ILLINOIS AT CHICAGO') UPDATE updates SET key = WHERE key = DELETE updates WHERE key = Comparativo de Desempenho entre Bancos de Dados de Código Aberto 56

57 Mono-Usuário: Atualizações Update_btree: INSERT INTO updates VALUES (5005, 5005, 50005, , , ,'1/1/88', 'CONTROLLER', 'ALICE IN WONDERLAND', 'UNIVERSITY OF ILLINOIS AT CHICAGO') UPDATE updates SET int = WHERE key = 5005 DELETE updates WHERE key = Comparativo de Desempenho entre Bancos de Dados de Código Aberto 57

58 Mono-Usuário: Atualizações Update_alpha: INSERT INTO updates VALUES (5005, 5005, 50005, , , ,'1/1/88', 'CONTROLLER', 'ALICE IN WONDERLAND', 'UNIVERSITY OF ILLINOIS AT CHICAGO') update updates set code = 'SQL+GROUPS' where key = 5005 DELETE updates WHERE key = Comparativo de Desempenho entre Bancos de Dados de Código Aberto 58

59 Mono-Usuário: Atualizações bulk_append: INSERT INTO updates SELECT * FROM saveupdates bulk_modify: UPDATE updates SET key = key WHERE key between 5000 AND 5999 bulk_delete: DELETE updates WHERE key < 0 Comparativo de Desempenho entre Bancos de Dados de Código Aberto 59

60 Multi-Usuário Consulta IR SELECT key, code, date, signed, name FROM updates WHERE key = :número: aleatório Consulta OLTP UPDATE updates SET signed = signed + 1 WHERE key = :número aleatório Comparativo de Desempenho entre Bancos de Dados de Código Aberto 60

61 Multi-Usuário Nome Select_1_ncl Simple_report Sel_100_seq Sel_100_rand Mod_100_seq_abort Mod_100_rand Unmod_100_seq Unmod_100_rand Descrição Retorna 1 linha em 3 níveis de Isolamento Seleção-junção-agregação Seleciona 100 linhas clustered Seleciona 100 linhas aleatórias Atualiza 100 linhas seqüenciais e desfaz Atualiza 100 linhas aleatórias Desfaz atualização seqüencial Desfaz atualização aleatória Total: 8 consultas variadas (seleções e atualizações) Comparativo de Desempenho entre Bancos de Dados de Código Aberto 61

62 Multi-Usuário: Consultas Sel_1_ncl: SELECT key, int, signed, code, double, name FROM updates WHERE code = 'BENCHMARKS Simple_report: SELECT AVG(updates.decim) FROM updates WHERE updates.key IN (SELECT updates.key FROM updates, hundred Comparativo de Desempenho entre Bancos de Dados de Código Aberto 62

63 Multi-Usuário: Consultas Sel_100_seq: INSERT INTO sel100seq SELECT * FROM updates WHERE updates.key BETWEEN 1001 AND 1100 Sel_100_rand: INSERT INTO sel100rand SELECT * FROM updates WHERE updates.int BETWEEN 1001 AND 1100 Mod_100_seq_abort: BEGIN WORK UPDATE updates SET double = double Comparativo de Desempenho entre Bancos de Dados de Código Aberto 63

64 Multi-Usuário: Consultas mod_100_rand: UPDATE updates SET double = double WHERE int BETWEEN 1001 AND 1100 /* restore (unmodify) the sequential records */ Unmod_100_seq: UPDATE updates SET double = double WHERE key BETWEEN 1001 AND 1100 unmod_100_rand: UPDATE updates SET double = double Comparativo de Desempenho entre Bancos de Dados de Código Aberto 64

Comparativo de Desempenho entre Bancos de Dados de Código Aberto

Comparativo de Desempenho entre Bancos de Dados de Código Aberto Comparativo de Desempenho entre Bancos de Dados de Código Aberto Carlos E. S. Pires, Rilson O. Nascimento, Ana C. Salgado Centro de Informática Universidade Federal de Pernambuco (UFPE) Caixa Postal 7851

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

TECNOLOGIA EM SISTEMAS PARA INTERNET PROJETO DE BANCO DE DADOS

TECNOLOGIA EM SISTEMAS PARA INTERNET PROJETO DE BANCO DE DADOS Exemplos de Scripts SQL (PostgreSQL) Pizzaria 1 2 Criação de BANCO DE DADOS CREATE DATABASE nome_do_banco; CREATE DATABASE pizzaria; Criação de TABELAS SOMENTE COM CHAVE PRIMÁRIA CREATE TABLE nome_da_tabela

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

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

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

BANCO DE DADOS BANCO DE DADOS. Prof. Patrícia Lucas 3º Trimestre

BANCO DE DADOS BANCO DE DADOS. Prof. Patrícia Lucas 3º Trimestre BANCO DE DADOS BANCO DE DADOS Prof. Patrícia Lucas 3º Trimestre ROTEIRO PARA O 3º TRIMESTRE 1. O MySQL DDL SQL 1. Como funciona o MySQL 2. Como criar um banco de dados no MySQL 3. Como criar tabelas: comandos

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

TRANSAÇÕES. Considerando que estes comandos fazem parte de uma TRANSAÇÃO (veremos como indicar isso):

TRANSAÇÕES. Considerando que estes comandos fazem parte de uma TRANSAÇÃO (veremos como indicar isso): TRANSAÇÕES 1. Introdução Transação Uma transação é uma unidade lógica de trabalho (processamento), formada por um conjunto de comando SQL, que tem por objetivo preservar a integridade e a consistência

Leia mais

Consistem num conjunto de apontadores para instâncias especificas de cada relação.

Consistem num conjunto de apontadores para instâncias especificas de cada relação. Mecanismo usado para mais fácil e rapidamente aceder à informação existente numa base de dados. Bases de Dados de elevadas dimensões. Consistem num conjunto de apontadores para instâncias especificas de

Leia mais

Comandos de Manipulação

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

Leia mais

Banco de dados. Linguagens de Banco de Dados II. Wedson Quintanilha da Silva - www.assembla.com/spaces/objetivobd/documents

Banco de dados. Linguagens de Banco de Dados II. Wedson Quintanilha da Silva - www.assembla.com/spaces/objetivobd/documents Banco de dados Linguagens de Banco de Dados II 1 Linguagem de Definição de Dados - DDL Comandos utilizados para criação do esquema de dados; Um DDL permite ao utilizador definir tabelas novas e elementos

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

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

SQL. Definição do Esquema da Base de Dados. Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática

SQL. Definição do Esquema da Base de Dados. Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática SQL Definição do Esquema da Base de Dados Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática SQL - Esquema da base de dados Definição das tabelas Definição das chaves primárias Definição

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

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

CREATE TABLE AUTOR ( cod_autor int not null primary key, nome_autor varchar (60) )

CREATE TABLE AUTOR ( cod_autor int not null primary key, nome_autor varchar (60) ) TADS Exercício Laboratório I Analise o modelo de banco de dados abaixo: MUSICA FAIXA Codigo_Musica: INTEGER Nome_Musica: VARCHAR(60) Duracao: NUMERIC(6,2) Codigo_Musica: INTEGER (FK) Codigo_CD: INTEGER

Leia mais

(1,n) venda. (1,1) realizacao. cliente. (0,n) (1,1) contem. produto. Laboratório de Banco de Dados Exercicios

(1,n) venda. (1,1) realizacao. cliente. (0,n) (1,1) contem. produto. Laboratório de Banco de Dados Exercicios Laboratório de Banco de Dados Exercicios Modelo conceitual segundo notação de Peter Chen cliente (1,1) realizacao (1,n) venda (0,n) produto (1,1) contem Modelo conceitual gerado pela CASE Dezign for Database

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: Definição de tabelas, Modificações à Base de Dados

SQL: Definição de tabelas, Modificações à Base de Dados SQL: Definição de tabelas, Modificações à Base de Dados Fernando Lobo Base de Dados, Universidade do Algarve 1 / 24 Definição do esquema da base de dados O esquema da BD é composto pelas definições de

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

ADMINISTRAÇÃO DE BANCO DE DADOS

ADMINISTRAÇÃO DE BANCO DE DADOS ADMINISTRAÇÃO DE BANCO DE DADOS ARTEFATO 02 AT02 Diversos I 1 Indice ESQUEMAS NO BANCO DE DADOS... 3 CRIANDO SCHEMA... 3 CRIANDO TABELA EM DETERMINADO ESQUEMA... 4 NOÇÕES BÁSICAS SOBRE CRIAÇÃO E MODIFICAÇÃO

Leia mais

O que são Bancos de Dados?

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

Leia mais

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

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

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

Operação de União JOIN

Operação de União JOIN Operação de União JOIN Professor Victor Sotero SGD 1 JOIN O join é uma operação de multi-tabelas Select: o nome da coluna deve ser precedido pelo nome da tabela, se mais de uma coluna na tabela especificada

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

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

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

Uma abordagem prática de tuning em banco de dados, usando PostgreSQL

Uma abordagem prática de tuning em banco de dados, usando PostgreSQL Uma abordagem prática de tuning em banco de dados, usando PostgreSQL Marcelo Josué Telles Universidade Federal do Rio Grande do Sul Instituto de Informática Caixa Postal 15.064 91.501-970 Porto Alegre

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

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

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

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

Projeto de Banco de Dados: Empresa X

Projeto de Banco de Dados: Empresa X Projeto de Banco de Dados: Empresa X Modelo de negócio: Empresa X Competências: Analisar e aplicar o resultado da modelagem de dados; Habilidades: Implementar as estruturas modeladas usando banco de dados;

Leia mais

TRANSAÇÕES. Considerando que estes comandos fazem parte de uma TRANSAÇÃO (veremos como indicar isso):

TRANSAÇÕES. Considerando que estes comandos fazem parte de uma TRANSAÇÃO (veremos como indicar isso): TRANSAÇÕES 1. Visão Geral Uma transação é uma unidade lógica de trabalho (processamento) formada por um conjunto de comandos SQL cujo objetivo é preservar a integridade e a consistência dos dados. Ao final

Leia mais

BANCO DE DADOS CONCEITOS BÁSICOS

BANCO DE DADOS CONCEITOS BÁSICOS Universidade Federal da Paraíba UFPB Centro de Energias Alternativas e Renováveis - CEAR Departamento de Eng. Elétrica DEE BANCO DE DADOS CONCEITOS BÁSICOS Isaac Maia Pessoa Introdução O que é um BD? Operações

Leia mais

Banco de Dados com PHP

Banco de Dados com PHP Linguagem de Programação III Banco de Dados com PHP Conceitos de Banco de Dados - é uma coleção de dados interrelacionados, representando informações sobre um domínio específico - sempre que for possível

Leia mais

Prof. Carlos Majer Aplicações Corporativas UNICID

Prof. Carlos Majer Aplicações Corporativas UNICID Este material pertence a Carlos A. Majer, Professor da Unidade Curricular: Aplicações Corporativas da Universidade Cidade de São Paulo UNICID Licença de Uso Este trabalho está licenciado sob uma Licença

Leia mais

Esta aula tem o objetivo de nos orientar durante este período em nossas aulas de Banco de Dados, não tem a pretensão de ser a única fonte de

Esta aula tem o objetivo de nos orientar durante este período em nossas aulas de Banco de Dados, não tem a pretensão de ser a única fonte de BD Esta aula tem o objetivo de nos orientar durante este período em nossas aulas de Banco de Dados, não tem a pretensão de ser a única fonte de informação para nosso êxito no curso. A intenção de elaborar

Leia mais

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

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

Leia mais

EXERCÍCIOS PRÁTICOS. Banco de Dados

EXERCÍCIOS PRÁTICOS. Banco de Dados EXERCÍCIOS PRÁTICOS Banco de Dados Introdução ao uso do SQL Structured Query Language, considerando tanto DDL Data Definition Language quanto DML Data Manipulation Language. Banco de Dados selecionado:

Leia mais

BD SQL Server. Licenciatura em Engenharia Informática e Computação. Bases de Dados 2003/04

BD SQL Server. Licenciatura em Engenharia Informática e Computação. Bases de Dados 2003/04 BD SQL Server SGBD SQL Server Licenciatura em Engenharia Informática e Computação Bases de Dados 2003/04 BD SQL Server Criação da Ligação ao SGBD Entrar no Microsoft SQL Server / Enterprise Manager Criar

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

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

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

Leia mais

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

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

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

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

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

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

SQL (STRUCTUREDQUERY LANGUAGE)

SQL (STRUCTUREDQUERY LANGUAGE) 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 SQL (STRUCTUREDQUERY

Leia mais

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

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

Leia mais

Banco de Dados Avançados Banco de Dados Ativo

Banco de Dados Avançados Banco de Dados Ativo Universidade Federal de Pernambuco Centro de Informática Banco de Dados Avançados Banco de Dados Ativo Equipe: Felipe Cavalcante Fernando Kakimoto Marcos Corrêa Sumário 1. Mini-Mundo... 3 1.1 Entidades...

Leia mais

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

Núcleo de Pós Graduação Pitágoras Núcleo de Pós Graduação Pitágoras Professor: Fernando Zaidan Disciplina: Modelagem e Projeto de Banco de Dados Especialização em Tecnologia da Informação - Ênfases Março- 2009 1 Modelo Físico Introdução

Leia mais

Gerenciamento de um Sistema de

Gerenciamento de um Sistema de SBD Gerenciamento de um Sistema de Banco de Dados Prof. Michel Nobre Muza ua michel.muza@ifsc.edu.br Prof. Marcos Antonio Viana Nascimento Por que é importante: Motivação Participar na organização e no

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

5 BANCO DE DADOS. 5.1 MER(Modelo Relacional) Figura Erro! Indicador não definido. - MER Fonte: Autoria própria.

5 BANCO DE DADOS. 5.1 MER(Modelo Relacional) Figura Erro! Indicador não definido. - MER Fonte: Autoria própria. 5 BANCO DE DADOS Este banco de dados foi modelado com o intuito de armazenar informações sobre a incidência de ataques que ocorre em determinado ambiente, os tipos de ataques mais comuns, as soluções dadas

Leia mais

Banco de Dados II. Introdução Revisão - normalização -modelagem - sql básico

Banco de Dados II. Introdução Revisão - normalização -modelagem - sql básico Banco de Dados II Introdução Revisão - normalização -modelagem - sql básico Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com Apresentação Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com

Leia mais

Programação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza

Programação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza PHP e Banco de Dados progweb2@thiagomiranda.net Conteúdos Os materiais de aula, apostilas e outras informações estarão disponíveis em: www.thiagomiranda.net PHP e Banco de Dados É praticamente impossível

Leia mais

SQL Structured Query Language. SQL Linguagem de Definição de Dados. SQL Structured Query Language. SQL Structured Query Language

SQL Structured Query Language. SQL Linguagem de Definição de Dados. SQL Structured Query Language. SQL Structured Query Language Pós-graduação em Ciência da Computação CCM-202 Sistemas de Banco de Dados SQL Linguagem de Definição de Dados Profa. Maria Camila Nardini Barioni camila.barioni@ufabc.edu.br Bloco B - sala 937 2 quadrimestre

Leia mais

Sistema de Controle de Estoque

Sistema de Controle de Estoque FACULDADE DE TECNOLOGIA SENAC GOIAS GESTÃO EM TECNOLOGIA DA INFORMÇÃO TÓPICOS AVANÇADOS EM BANCO DE DADOS Professor: Olegário Correia Neto Alunos: Marcelo Gonçalves, Juliano Pirozelli, João Lucas Pecin,

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

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

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

Leia mais

Linguagem SQL (Parte II)

Linguagem SQL (Parte II) Universidade Federal de Sergipe Departamento de Sistemas de Informação Itatech Group Jr Softwares Itabaiana Site: www.itatechjr.com.br E-mail: contato@itatechjr.com.br Linguagem SQL (Parte II Introdução

Leia mais

SQL (STRUCTUREDQUERY LANGUAGE)

SQL (STRUCTUREDQUERY LANGUAGE) 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 SQL (STRUCTUREDQUERY

Leia mais

INTRODUÇÃO À LINGUAGEM SQL CRIAÇÃO DE BANCO DE DADOS E OTIMIZAÇÃO DE CONSULTAS

INTRODUÇÃO À LINGUAGEM SQL CRIAÇÃO DE BANCO DE DADOS E OTIMIZAÇÃO DE CONSULTAS Esclarecimento Licenciamento de Uso Este documento é propriedade intelectual 2012 da NRSYSTEM COMÉRCIO E SERVIÇOS DE INFORMÁTICA LTDA-ME, consiste de uma compilação de diversos materiais entre livros,

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

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

UFCD 787. Administração de base de dados. Elsa Marisa S. Almeida

UFCD 787. Administração de base de dados. Elsa Marisa S. Almeida UFCD 787 Administração de base de dados Elsa Marisa S. Almeida 1 Objectivos Replicação de base de dados Gestão de transacções Cópias de segurança Importação e exportação de dados Elsa Marisa S. Almeida

Leia mais

Escrito por Sex, 14 de Outubro de 2011 23:12 - Última atualização Seg, 26 de Março de 2012 03:33

Escrito por Sex, 14 de Outubro de 2011 23:12 - Última atualização Seg, 26 de Março de 2012 03:33 Preço R$ 129.00 Compre aqui SUPER PACOTÃO 3 EM 1: 186 Vídeoaulas - 3 dvd's - 10.5 Gybabyte. 1) SQL 2) Banco de Dados (Oracle 10g, SQL Server 2005, PostgreSQL 8.2, Firebird 2.0, MySQL5.0) 3) Análise e Modelagem

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

PostgreSQL. www.postgresql.org. André Luiz Fortunato da Silva Analista de Sistemas CIRP / USP alf@cirp.usp.br

PostgreSQL. www.postgresql.org. André Luiz Fortunato da Silva Analista de Sistemas CIRP / USP alf@cirp.usp.br PostgreSQL www.postgresql.org André Luiz Fortunato da Silva Analista de Sistemas CIRP / USP alf@cirp.usp.br Características Licença BSD (aberto, permite uso comercial) Multi-plataforma (Unix, GNU/Linux,

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

1. Domínio dos Atributos

1. Domínio dos Atributos Structure Query Language SQL Guilherme Pontes lf.pontes.sites.uol.com.br 1. Domínio dos Atributos Por domínio, ou tipo, pode-se entender como a maneira como determinado atributo (ou campo, se tratando

Leia mais

T-SQL Mitos. Vamos criar uma tabela para os nossos exemplos e, em seguida, comparar planos de execução. Mãos à obra.

T-SQL Mitos. Vamos criar uma tabela para os nossos exemplos e, em seguida, comparar planos de execução. Mãos à obra. T-SQL Mitos Mito T-SQL: COUNT(1) é mais rápido que COUNT(*) Já escutei algumas pessoas afirmarem, inclusive DBAs, que usar COUNT(1) é mais performático que COUNT(*). Além disso, também ouço programadores

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

CONCORRÊNCIA. 1. Introdução. Recursos exclusivos. Não necessita controle. Abundância de recursos compartilhados. Controle necessário mas mínimo

CONCORRÊNCIA. 1. Introdução. Recursos exclusivos. Não necessita controle. Abundância de recursos compartilhados. Controle necessário mas mínimo CONCORRÊNCIA 1. Introdução Recursos exclusivos Não necessita controle Abundância de recursos compartilhados Controle necessário mas mínimo Harmonia, provavelmente não haverá conflito Recursos disputados

Leia mais

FIREBIRD: UMA ANÁLISE DE PERFORMANCE

FIREBIRD: UMA ANÁLISE DE PERFORMANCE FIREBIRD: UMA ANÁLISE DE PERFORMANCE Tiago Gomes Fagundes 1, Renato Stocco Bonatto 2, Leacir Nogueira Bastos 3, Brauliro Gonçalves Leal 4 RESUMO: Avaliou-se a performance do gerenciador de banco de dados

Leia mais

Linguagem SQL (Parte I)

Linguagem SQL (Parte I) Universidade Federal de Sergipe Departamento de Sistemas de Informação Itatech Group Jr Softwares Itabaiana Site: www.itatechjr.com.br E-mail: contato@itatechjr.com.br Linguagem SQL (Parte I) Introdução

Leia mais

Auditoria de sistemas Deixe que seu banco de dados faça o trabalho por você

Auditoria de sistemas Deixe que seu banco de dados faça o trabalho por você Auditoria de sistemas Deixe que seu banco de dados faça o trabalho por você por Cristóferson Guimarães Magalhães Bueno e Odilon Corrêa da Silva 1 O objetivo deste artigo é demonstrar como criar um sistema

Leia mais

Disciplina de Banco de Dados Parte V

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

Leia mais

BD Oracle. Licenciatura em Engenharia Informática e Computação. Bases de Dados 2003/04

BD Oracle. Licenciatura em Engenharia Informática e Computação. Bases de Dados 2003/04 BD Oracle SGBD Oracle Licenciatura em Engenharia Informática e Computação Bases de Dados 2003/04 BD Oracle Introdução aos SGBD Base de Dados Colecção de dados que descrevem alguma realidade Sistema de

Leia mais

Minicurso3 Introdução ao Banco de Dados MySQL

Minicurso3 Introdução ao Banco de Dados MySQL I Workshop de Informática INFO-BAIANO 12 a 13 de nov. de 2011 Minicurso3 Introdução ao Banco de Dados MySQL Prof. Pablo Freire Matos Informática - Instituto Federal Baiano (IFBAIANO) pablofmatos@yahoo.com.br

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

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

DISCIPLINAS DO CURSO INFORMÁTICA ÊNFASE GESTÃO DE NEGÓCIOS.

DISCIPLINAS DO CURSO INFORMÁTICA ÊNFASE GESTÃO DE NEGÓCIOS. DISCIPLINAS DO CURSO INFORMÁTICA ÊNFASE GESTÃO DE NEGÓCIOS. PROFESSOR: DOUGLAS DUARTE DISCIPLINA: LPBD 5º SEMESTRE AULA 02 MYSQL O MySQL é um sistema de gerenciamento de banco de dados (SGBD), que utiliza

Leia mais

Um objeto de estatística contém informações de distribuição de valores de uma ou mais colunas de uma tabela ou view indexada

Um objeto de estatística contém informações de distribuição de valores de uma ou mais colunas de uma tabela ou view indexada Desvendando Estatísticas do SQL Server Parte 1 Nesta série de artigos vamos dar um mergulho profundo nas Teorias Probabilísticas (mais conhecido como estatísticas) do SQL Server. Introdução Estatísticas

Leia mais

SQL e Modelo Relacional

SQL e Modelo Relacional TREINAMENTOS SQL e Modelo Relacional Modelo Relacional e SQL 30 de julho de 2012 Sumário i Sobre a K19 1 Seguro Treinamento 2 Termo de Uso 3 Cursos 4 1 Introdução 1 1.1 SGBD................................................

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

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

Bases de Dados 1º semestre

Bases de Dados 1º semestre DepartamentodeEngenhariaInformática 2008/2009 BasesdeDados1ºsemestre Lab1:Introduçãoaoambiente O ficheiro create bank.sql contém um conjunto de instruções SQL para criar a base de dadosdeexemploilustradanafigura1.

Leia mais

MYSQL BÁSICO. 12 Horas Instrutor: Antonio Itamar Júnior

MYSQL BÁSICO. 12 Horas Instrutor: Antonio Itamar Júnior MYSQL BÁSICO 12 Horas Instrutor: Antonio Itamar Júnior BANCO DE DADOS - O que é MySQL - Criar bando de dados - Nomenclatura de banco de dados - Tipos de dados SQL - Atributos SQL - Criar Tabela - Inserir,

Leia mais

Correção da 1a Prova de GBD1 2010/1. Profa. Sandra de Amo

Correção da 1a Prova de GBD1 2010/1. Profa. Sandra de Amo Correção da 1a Prova de GBD1 2010/1 Profa. Sandra de Amo 1. Você foi contratado para fazer o projeto de um banco de dados para a Auto-Escola Ideal. Seu cliente (o dono da auto-escola) deseja estocar e

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