Extraindo Metadados de SGBDs

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

Download "Extraindo Metadados de SGBDs"

Transcrição

1 ISSN Monografias em Ciência da Computação n XX/07 Extraindo Metadados de SGBDs José Maria Monteiro Sérgio Lifschitz Ângelo Brayner Departamento de Informática PNTIFÍCIA UNIVERSIDADE CATÓLICA D RI DE JANEIR RUA MARQUÊS DE SÃ VICENTE, CEP RI DE JANEIR - BRASIL

2 Monografias em Ciência da Computação, No. XX/07 ISSN: Editor: Prof. Carlos José Pereira de Lucena Dezembro, 2007 Extraindo Metadados de SGBDs * José Maria Monteiro, Sérgio Lifschitz, Ângelo Brayner 1 1 Mestrado em Informática Aplicada Universidade de Fortaleza (UNIFR) # $ % &!" &!" '()*+,-./ *--0" '&" &./1 &!" : ; <:7 34< 5 = >!&(2 $% >!&?< >!& '()*+,-./ * < 346<8 35 '" >!& 79 & >!&

3 In charge of publications' Rosane Teles Lins Castilho Assessoria de Biblioteca, Documentação e Informação PUC-Rio Departamento de Informática Rua Marquês de São Vicente, Gávea Rio de Janeiro RJ Brasil Tel Fax: Web site: ii

4 1 Introdução ( 34 =7 8 < 35A 2 9$ <% B & ; < 5 $&!7 %; 35$%$9B >!&$ >!&% 6 34% 7 &! >!& 358 &8 >!&&!7 35( 34&!75 = >!&?./ $./%C C B < ==8 89 B ( >!& 2 2 <;2 ;28 /34./; 2 ( 2 ; 34./ 8 (D 7 34 &!7 ; /& 6 8 B 2 5 '8 ; D E F**G 7;H: 34B$II% 5= ;H 5 ; ; 35 1

5 Entretanto, associar medidas de desempenho a uma combinação de tarefas requer cuidado. A maneira correta de tirar a média dos números é tomar o tempo total para conclusão da carga de trabalho no lugar da produtividade média para cada tipo de transação. Portanto, uma única tarefa não é suficiente para quantificar o desempenho do sistema. Este deve ser medido por um conjunto selecionado de tarefas chamado nível de referência de desempenho, mais conhecido como benchmark [22].? ; >!& ;&!7 < 86 >!&(28 $ % 34$II%5 < / 35 C C 8 $% (2 $% >!&& &!7C 8./ +, / *--072 $ &!7% < $<8 % ===88 9 Este trabalho discute como extrair os metadados dos principais SGBDs comerciais: Postgres, racle 10g e SQL Server As informações capturadas podem ser utilizadas pelos DBAs para a analise da performance dos SGBDs e para descobrir problemas de desempenho. Além disso, os metadados recuperados ajudam a guiar o DBA na seleção das possíveis soluções para os problemas encontrados. restante deste trabalho está organizado da seguinte maneira: a seção 2 discute o conceito e a utilização dos metadados, na seção 3 mostramos como extrair os metadados do Postgres 8.2, a seção 4 ilustra como recuperar os metadados do racle 10g, na seção 5 discutimos a extração dos metadados no SQL Server 2005 e a seção 6 conclui este trabalho. 2 Metadados s metadados são frequentemente descritos como dados sobre dados. u seja, não são mais do que informações adicionais (além da informação espacial e tabular) que é necessária para que os dados se tornem úteis. Por outras palavras, são um conjunto de características sobre os dados que não estão normalmente incluídas nos dados propriamente ditos. 2

6 A partir desta definição pode então concluir-se os usos mais significativos dos metadados. São eles: - Adicionar contexto e conhecimento sobre os dados acessados pelos usuários. - Esconder (abstrair) a complexidade dos dados dos usuários que não necessitam conhecer os detalhes técnicos dos dados. - Descobrir os tipos dos dados, os relacionamentos entre os dados, o momento em que um dato foi lido ou atualizado pela última vez. etc. - Possibilitar às aplicações executarem checagem de tipo, validação, formatação, - Possibilitar a análise do desempenho do SGBD. Alguns exemplos de metadados incluem: modelos de dados, esquemas, tabelas, colunas, índices, últimas cláusulas SQL executadas, planos de execução das consultas executadas, etc. 3 Postgresql +2 9$ >&!+J% & : 35 D=!+ 8 ; 6 F,0G +2 =; 5./*--K 2 ' E >$% L4" < :" ' &E M34 /( &63! &$ % ;83 ;; = 8 = 7 < 6;;9 : 3

7 ! +8 2 < >!&? " # $II% $4% 6;H:4$I34I% ;< : ;3 9 9 ; $! 4

8 ?MK, < 8 # % &! '(! 7 4$ % 7 4 A $ % ;H 5 ' 5

9 " ') # N!; J < D8 L4 $ '( * +, & +62 = = 35 D <; 6 A B 35 ;! ; = 35+ B "" ;6 9 P8 B " " "" "" ; 35;2 ; 35&

10 ;! #$%&'%%( ' Q 7 Q Q " QR QR QR R Q.S R R R R R - %. /). 0 '( << <6 2 ; < E = = 8 < "" $0-- 5%( 34 5A + 2;; 6 = <B (6 5 ; ; < 8 A 6 C 7

11 ? 5 &35 D & 8 ; 3 7 ; 56; B 8 72 ; $& ; ;2 8 35% D C $ 9 34 % (C ' ;H 6E E <6 + ; ; 5 + ; ; 5 8 8

12 (6 6 ; < 6 C 6C $( ; 6 % + ; ; ; ; 5 68 pg_statio_all_tables Para cada tabela do banco de dados corrente, o número total de blocos de disco da tabela lidos, o número de acertos no buffer, o número de blocos de disco lidos e acertos no buffer para todos os índices da tabela, o número de blocos de disco lidos e acertos no buffer para a tabela auxiliar TAST da tabela (se houver), e o número de blocos de disco lidos e acertos no buffer para o índice da tabela TAST. pg_statio_sys_tables mesmo que pg_statio_all_tables, exceto que somente são mostradas as tabelas do sistema. pg_statio_user_tables mesmo que pg_statio_all_tables, exceto que somente são mostradas as tabelas de usuário. pg_statio_all_indexes Para cada índice do banco de dados corrente, o número de blocos de disco lidos e de acertos no buffer para o índice. pg_statio_sys_indexes mesmo que pg_statio_all_indexes, exceto que somente são mostrados os índices das tabelas do sistema. pg_statio_user_indexes mesmo que pg_statio_all_indexes, exceto que somente são mostrados os índices das tabelas de usuário. pg_statio_all_sequences Para cada objeto de seqüência do banco de dados corrente, o número de blocos de disco lidos e de acertos no buffer para a seqüência. pg_statio_sys_sequences mesmo que pg_statio_all_sequences, exceto que somente são mostradas as seqüências do sistema (Atualmente não está definida nenhuma seqüência do sistema e, portanto, esta visão está sempre vazia). pg_statio_user_sequences mesmo que pg_statio_all_sequences, exceto que somente são mostradas as seqüências de usuário. $ '( & * 9

13 1 #/( 2 & ( 6; < 349A6< KT &;; 2=7346 +& 6 $&; 34 6%7 34 C & ; C Função Tipo Retornado Descrição pg_stat_get_db_numbackends(oid) integer Número de processos servidor ativos conectados ao banco de dados pg_stat_get_db_xact_commit(oid) bigint Transações efetivadas no banco de dados pg_stat_get_db_xact_rollback(oid) bigint Transações canceladas no banco de dados pg_stat_get_db_blocks_fetched(oid) bigint Número de solicitações de busca de blocos de disco para o banco de dados pg_stat_get_db_blocks_hit(oid) bigint Número de solicitações de busca de blocos de disco para o banco de dados encontradas no cache pg_stat_get_numscans(oid) bigint Número de varreduras seqüenciais realizadas quando o argumento é uma tabela, ou o número de varreduras de índice quando o argumento é um índice pg_stat_get_tuples_returned(oid) bigint Número de linhas lidas por varreduras seqüenciais quando o argumento é uma tabela, ou o número de linhas do índice lidas quando o argumento é um índice pg_stat_get_tuples_fetched(oid) bigint Número de linhas válidas (não expiradas) 10

14 da tabela buscadas por varreduras seqüenciais quando o argumento é uma tabela, ou buscadas por varreduras de índice, utilizando este índice, quando o argumento é um índice pg_stat_get_tuples_inserted(oid) bigint Número de linhas inseridas na tabela pg_stat_get_tuples_updated(oid) bigint Número de linhas atualizadas na tabela pg_stat_get_tuples_deleted(oid) bigint Número de linhas excluídas da tabela pg_stat_get_blocks_fetched(oid) bigint Número de solicitações de busca de bloco de disco para a tabela ou índice pg_stat_get_blocks_hit(oid) bigint Número de solicitações de busca de bloco de disco encontradas no cache para a tabela ou o índice pg_stat_get_backend_idset() conjunto de integer Conjunto de IDs de processos servidor ativos no momento (de 1 ao número de processos servidor ativos). Veja o exemplo de utilização no texto. pg_backend_pid() integer ID de processo do processo servidor conectado à sessão corrente pg_stat_get_backend_pid(integer) integer ID de processo do processo servidor especificado pg_stat_get_backend_dbid(integer) oid ID de banco de dados do processo servidor especificado pg_stat_get_backend_userid(integer) oid ID de usuário do processo servidor especificado pg_stat_get_backend_activity(integer) text Comando ativo do processo servidor especificado (nulo se o usuário corrente não 11

15 pg_stat_get_backend_activity_start(in teger) timestamp with time zone for um superusuário nem o mesmo usuário da sessão sendo consultada, ou se stats_command_string não estiver habilitado) A hora em que o comando executando no momento, no processo servidor especificado, começou (nulo se o usuário corrente não for um superusuário nem o mesmo usuário da sessão sendo consultada, ou se stats_command_string não estiver habilitado) pg_stat_reset() boolean Reinicia todas as estatísticas atualmente coletadas $ + % #/( 2 & * 3 &4 $! * &9 8 $ % 7 35./ '=8./35S+ C 34./$9C <;./ % A; < 12

16 " ') 5/) D & 8 ; 3 7; 56;B 872 ; $&; ;2 8 35% (6 6;< 6C 6C $( ; 6 % $ 0 % '( & 67 13

17 " #/) $% 5/) & $% $ % $% 9& $,C % $ 1 % #/( 2 & 67 7= K0KU ;: > 35 """ " )*+ ; (&$35% +.K*8./<./;8 35 $%7 ; MJ+"$ %7 E - % 8 (35 8./ V',-%$W34./X 14

18 &;<:" W? >!& - %, &4/) 9 &4 :./( & * ; 'C $8% $8! W % ( 348<35 4 & B '."(- 5 2."%$',' ' 7";;9 >!&; ; 9 6 ;H: KY 15

19 $8. 5/)? 65 T 35 8$!/] < 97< L7DD" &// <9 7< L7DD" &// L $6 % 52 + L7DD" ; ;5 6 L$98 % 8 $ ) =><!! 75."%$',' 34 ; $%

20 $8. 5/)? ; ;2 6? ;6? 6? 3 6$?D//5 % &356$ 356% $ ) =>:"5&;&! ( 34 5$ % 88./;<."(- $; 2."-'*9' C C 6 7./5;' 7?D"/?#7 MJ+" (>/7 %E - + *? * 8 7?D"(7>?7 MJ+" (>/7 %E - 0 *? A 17

21 MJ+" (>7" +&R(>/7 - 1 *? MJ+" (>/7 %E I *? T racle 10g + +/ ; 8 342/'2 7 5,- 8 35? ' 4 $5 \%; 35; -%3'E? II 35 E " ;35 % $!% 35$ % 8E 18

22 " P\"/ PL" 6 P&!K-4 E 7 & $7 "% ; <35 6 < $ % /01 8;2 9 8 _ ;: ( 8/,- /;5 :'#'"+--""! =; 86; 7 35' 6!&>B 9=8 <<>B C>B 9 72 :8+, B Lb$4; 3 Lb%?MT, < 8 / 19

23 # + & 5 5, 7 4 &! <, DB $B 2 35 $> B 35 $>B :4B 6 :> ' 34;5 6 <35 :>B

24 B35 ;5 > B 34 35!*B 9! B 6B 'B 68> B 6 $8B $8>B $8>E B 2 " >$B 35VX$%; 8, D>$B 349 <B /+!$/+9%8 6 ; 8 34 E > BB 2 E >B35 21

25 +4 B; 48 +,-24B 6 ++,- 8 4B & (%5'"'%/$"7%/8; 2 =34 74Lb5 5< 7 < ' # 7 J! S7 SJ / & & M &!8. $ + + J S" < L & / 5 :. S. + SJ 7 S ; / S/ " " S J S " D (. S+ 22

26 5 :. & S J / S ( ( M! 5 : :. M L D 6 6 4B /012; 34 5 < > &4 $!, F &9 8 $ % /, / '=8./35S+ C 34./$9C <;./% (8 4B Lb87 ; < / 8/ ; 8$; C %; 4; MT* 23

27 # + % & 'G 7= 8 4 MT* ; : 348 5'56(%5'"'%/$"7%/ "-$ (%5'"'%/$"7%/82 =5 D 52 ; T, 24

28 ./& $ 5/)./(/7?#7 L7J#7J*$,K% 35./ J / $ ) /7T* 5 $8 5/) J71 #7 L35./& (/7?#7 #L7/ L7J#7J*$,K% J (/7?#7 5 5$2 /+! + 35./ A35 35 ;5b; <; 35./ 5 $ ) 'G!-< 25

29 7L5569-"-$ ; 35 S+ C 34./7TK 5; < P8 M TK : 4 < $56(%5'"'%/$"7%/ "-$% V$ACTIVE_SESSIN_HISTRY V$SQL SQL_ID VARCHAR2(13) ADDRESS RAW(4 8) SQL_PLAN_HASH_VALUE NUMBER HASH_VALUE NUMBER etc SQL_ID VARCHAR2(13) PLAN_HASH_VALUE NUMBER etc V$SQL_PLAN ADDRESS HASH_VALUE SQL_ID PLAN_HASH_VALUE RAW(4 8) NUMBER VARCHAR2(13) NUMBER etc # + G 7 26

30 $8 5/) J71 #7 L35 #7 356 (/7?#7 +(+? L7J#7J*$,K%./ J (/7?#7 5 5$2 % L7J#7J*$K-%? 35 L7J#7J*$K-% D 3535 MD// L7J#7J*$K,%? < C <35 S+35 ( 34; 2?D// $ ) 'G!-<><" +.T, 8; 34C +,-L; 56(%5'"'%/$"7%/85 27

31 #,ELb././ JH&& &;:!$!$!&<&$7 #./&7 #./(/7?#7 +?# +J_7 # JH&&7 #./(/7?#7 "57 #./&R././& % <:&admj+"lb././da - + % *? K 4 +.T* 8;8 35C +,-$ (+(+? (++ (& #,E Lb././Lb./(/7? ( JH&& ((/7?#7 "5 (./&R././& "5&;:!$!$!&<&$7 #./&7 #./(/7?#7 +?# +J_7 # JH&&7 #./(/7?#7 "5 7 #./&R././& % <:&admj+"lb././da - + *? 8 4/) K 4 ++ &4 :./( &, F ; 'C $8% $8! W % ( 34 8 <358? " & < 9' "-' "%$','

32 2 ;8<C U $8 "6<< 5/) L7J#7J*$K-%?+?D// (8 L7J#7J*$K-%?+?D//??D" J+1 " $ ) ! W <35 7K0 ; < P8 M KU 4 "-' "%$',' $8 "6<< 5/) L7J#7J*$K-%?+?D// L7J#7J*$K-%?+?D//? 6 L7J#7J*$K-%?+?D// (8 <= D - ;<5 $ ) 5C>:"5&;&! 29

33 DBA_TABLES DBA_INDEXES WNER VARCHAR(30) WNER VARCHAR(30) TABLE_NAME VARCHAR(30) INDEX_NAME VARCHAR(30) etc TABLE_WNER VARCHAR(30) TABLE_NAME VARCHAR(30) etc # ++ 5C>$C<&! 5C>:"5&;&! ( /;< $; 2 9' C C 6 87< 42 J+1 J a - + *? 5 SQL Server " 6./ *--0 < ;34''2+4+ ' 30

34 @34 2f 2 3% f9 < * (./ *--0 < F*-G? ;./ < A / 5 " 7 M! 0!../ 6 34 $ % 5 < ( 94; < 349;8 35= 35 31

35 ' (./, 72 $% * 72L4 $5* K 7234./ T 0 +&! 0? +./ 5 < 3 = 7& 5 $2 '-'( % = 4 =8 ' 7 8!"! #$! $ 0 8!-<! 32

36 +'7 e!&$ 0? '(! =./ Y-8+ L4 5 4; 3 Lb$ %?./ * $; %' %5 (5 (5 5 &5 : &./ *--0 5 A27 ; 9< * ; 8 5 ( 5./ *--0 9 *--0 *K-4 ;./ * / *

37 # 0 (!-<! 74 5 ;; 4 5 ; $34% / ; $4 % :.! ' 74% ; < +8S 34 < 4 >!& ; 4; ; 4 ; $%% ' 34

38 # 0 ( 8 :.! ' 7 <354' %$%&'( )*+,-.)+*,'-+./&0%,'$% -- Retorna as informações armazenadas no catálogo de todas as tabelas existentes %$%&'( )*+,-.)+*,'-+./&0%,&+$1,. 20%*%'$%/.,%34,5'4 -- Retorna as informações sobre as colunas da tabela MyTable %$%&'&+$1,./.,%6-/.1$$$%6'/'7% )*+,-.)+*,'-+./&0%,&+$1,. 20%*%'$%/.,%34'%$84 -- Retorna o nome, se a coluna permite null e o tipo de dados de todas as colunas -- da tabela chamada TABELA1 WITH ENCRIPTIN SELECT SPECIFIC_NAME, RUTINE_TYPE, RUTINE_DEFINITIN FRM INFRMATIN_SCHEMA.RUTINES -- Retorna o nome, o tipo de rotina ( Stored Procedure ou função ) e o código fonte da -- rotina, desde que a mesma não tenha sido criada com a opção SELECT TABLE_NAME FRM INFRMATIN_SCHEMA.TABLES WHERE TABLE_TYPE = 'VIEW' -- Retorna todas as tabelas do banco de dados atual, que na verdade são views 35

39 8 ' 4./ 5 $9- ;11<% 4 $ % ; < $% 9- ;11< ' +./ *--0<48$ < $ % 7" 48 ' 56$ % ; 4 C ?./(!-<! D 2< Y- 36

40 ? < 34' =>/?'("%)*;./ 9 35 /?'(/'8)*92 5' + 35 ;98? h35/?'(/'8$%,9 '-0-5?D// 95 0+,<& 5C! 7 35 %; 9; ;: 348+/-' ,5C # &! ; $%;: ;2 +&! E8 $! '(! 7 34 & './ * / *--0 37

41 !!. $8.. sysaltfiles sys.master_files Catalog view syscacheobjects sys.dm_exec_cached_plans sys.dm_exec_plan_attributes sys.dm_exec_sql_text sys.dm_exec_cached_plan_dependent_objects Dynamic management view Dynamic management view Dynamic management view Dynamic management view syscharsets sys.syscharsets Compatibility view sysconfigures sys.configurations Catalog view syscurconfigs sys.configurations Catalog view sysdatabases sys.databases Catalog view sysdevices sys.backup_devices Catalog view syslanguages sys.syslanguages Compatibility view syslockinfo sys.dm_tran_locks Dynamic management view syslocks sys.dm_tran_locks Dynamic management view syslogins sys.server_principals sys.sql_logins Catalog view sysmessages sys.messages Catalog view sysoledbusers sys.linked_logins Catalog view sysopentapes sys.dm_io_backup_tapes Dynamic management view sysperfinfo sys.dm_os_performance_counters Dynamic management view sysprocesses sys.dm_exec_connections sys.dm_exec_sessions sys.dm_exec_requests Dynamic management view Dynamic management view 38

42 Dynamic management view sysremotelogins sys.remote_logins Catalog view sysservers sys.servers Catalog view $ 0 E8./(!-<! FFF 8!-<! FF ;;$8%./ * / *--0!.!. $8.. fn_virtualfilestats sys.dm_io_virtual_file_stats Dynamic management view syscolumns sys.columns Catalog view syscomments sys.sql_modules Catalog view sysconstraints sys.check_constraints sys.default_constraints sys.key_constraints sys.foreign_keys Catalog view Catalog view Catalog view Catalog view sysdepends sys.sql_dependencies Catalog view sysfilegroups sys.filegroups Catalog view sysfiles sys.database_files Catalog view sysforeignkeys sys.foreign_key_columns Catalog view sysindexes sys.indexes sys.partitions sys.allocation_units sys.dm_db_partition_stats Catalog view Catalog view Catalog view Dynamic management view sysindexkeys sys.index_columns Catalog view sysmembers sys.database_role_members Catalog view 39

43 sysobjects sys.objects Catalog view syspermissions sysprotects sys.database_permissions sys.server_permissions sys.database_permissions sys.server_permissions Catalog view Catalog view Catalog view Catalog view sysreferences sys.foreign_keys Catalog view systypes sys.types Catalog view sysusers sys.database_principals Catalog view sysfulltextcatalogs sys.fulltext_catalogs Catalog view $ 0 E8./(!-<! FFF 8!-<! FF0 0 &4 $!!-<! FF0 &9 8 $ %./ * / '=8./35S+ C 34./$9C <;./%( A68 ( 8././ < ' A $M 0T% ; 7 7= 8 A 88././.0,2 C././ 9 ; <; 40

44 $8 5 5/) D8 L+M 9' Compiled Plan Executable Plan Parse Tree Cursor Parse Tree Extended Stored Procedure D8 L1M 9' Stored Procedure Prepared statement Ad hoc query ReplProc (replication procedure) Trigger View Default User table System table Check Rule D & 9 < DN ;9 9 $ %( 9./ D2 &;9?C <;9 35 8?C 8 = 9 * 9 9,*) 9 * L01M 8./ $ 0+ % 8 8!D $% MJ+" % 8 K!-< 41

45 ( 35 8./ Vset showplan_all onb89-x7 +./ : /700 ' Texto XML Comando Executa a Consulta? Exibe o plano em modo texto? Exibe a quantidade estimada de linhas (tuplas)? set showplan_text on Não Sim Não Não set showplan_all on Não Sim Sim Não set statistics profile on Sim Sim Sim Sim set showplan_xml on Não Sim Sim Não Exibe o número de linhas corrente? set statistics xml on Sim Sim Sim Sim $ 00 % 8 8 4/) K!-< +.0* 35 8././ #+1(/7?7//+?? #+1(/7?7//+MM - 0 %, &4/) (./ \"/ < 5! "2" 9 34! "2""2!"2"" 7 0U 5!"2" 42

46 -9 :; < 9 -; 9=>?9 ;; ; 9!A * * $%# - ; B+ A %$%&' -.%*' 1'% %$%'% &C1$+D &C1 && 2-')+* $+&C,+.-'+* &0%&C+-.' $E72*-'%*!&#? #$; 9!&#?9 -B ; ; 9 ' -9:;; < 9 43

47 '&1 '.>? ; 9 ( '.>? ; 9.! 9:;; 9< < ; < 9 ( ; 9 $ 01 % /) 4 +;0K 35 A ;35 \"/./ MJ+" ; MJ+" ;$i;% MJ+" ;$i% - 0 %, L ;E <M!-< 8 8 4/) 0+ &4 :./( &!-<! FF0 ; 'C $8% 35 44

48 $8! W % ( 348<35 & 'A ' 7A 349 >!&$ 4 < % Y 7 2 $ 0)% 34 C 34 ; $% 6356 ( 34 C C ;0T000U 45

49 Nome da Coluna Tipo de Dados Descrição name sysname Nome do objeto. Id int Identificador do objeto. xtype char(2) Tipo do objeto. Pode ser um dos seguintes valores: C = CHECK constraint D = Default or DEFAULT constraint F = FREIGN KEY constraint L = Log FN = Scalar function IF = Inlined table-function P = Stored procedure PK = PRIMARY KEY constraint (type is K) RF = Replication filter stored procedure S = System table TF = Table function TR = Trigger U = User table UQ = UNIQUE constraint (type is K) V = View X = Extended stored procedure uid smallint ID do usuário proprietário do objeto. crdate datetime Data em que o objeto foi criado. type char(2) Tipo do objeto. Pode ser um dos seguintes valores: C = CHECK constraint D = Default or DEFAULT constraint F = FREIGN KEY constraint FN = Scalar function IF = Inlined table-function K = PRIMARY KEY or UNIQUE constraint L = Log P = Stored procedure R = Rule RF = Replication filter stored procedure S = System table TF = Table function TR = Trigger U = User table V = View X = Extended stored procedure $ 03 %!D 46

50 Nome da Tipo de Dados Descrição Coluna id int ID da tabela (para indid = 0 or 255). Caso contrário, ID da tabela ao qual o índice pertence. first binary(6) Ponteiro para a primeira página ou para o nó Raíz. indid smallint ID do índice: 1 = Clustered index >1 = Nonclustered 255 = Entrada para tabelas que tenham dados texto ou imagem. root binary(6) Para indid >= 1 e < 255, root é um ponteiro para o nó raiz do índice. Para indid = 0 or indid = 255, root é um ponteiro para a última página de dados. minlen smallint Tamanho mínimo de uma. keycnt smallint Número de chaves. dpages int Para indid = 0 ou indid = 1, dpages representa o número de páginas de dados. Para indid=255, este campo contém valor 0. Para outros casos, este valor representa o número de páginas de índices. rowmodctr int Total de linhas inseridas, excluídas ou atualizadas desde a última vez que as estatísticas foram atualizadas. xmaxlen smallint Tamanho máximo de uma linha. maxirow smallint Tamanho máximo de uma linha referente a um nó não folha. rigfillfactor tinyint Fillfactor utilizado quando o índice foi criado. Pode ser útil quando se deseja re-criar o índice e não se recorda do fillfactor utilizado quando o índice foi criado. keys varbinary(816) Lista com os IDs das colunas que compõem a chave do índice. name sysname Nome da tabela (para indid = 0 or 255). Caso contrário, nome do índice. rows int Número de linhas da tabela (se indid = 0 and indid = 1). Para indid = 255, rows recebe valor 0. $ !4 MJ+" _ P+? +?&R& - 0+ *? * #$ % 47

51 MJ+" _ P+? +?&R& - 00 *? A MJ+" _ P+? +?&R& - 01 *? 6 Conclusões (34 =7 88 ; 3 6 < :+&!758 5 &8 >!&&!7 35( 34&!75 = >!&? $./ 35 % 346$C 8 6% B 48

52 (2 $% >!&& &!7C 8./ +, / *--0? < >!& '(+,-./ * < 34 6 < $% 8 35 & 35< Bibliografia [1] MNTEIR, J. M.: An Architecture for Automated Index Tuning. V Workshop de Teses e Dissertações em Banco de Dados (WTBD), realizado em conjunto com o XXI Simpósio Brasileiro d Banco de Dados (SBBD) [2] CHAUDHURI, S., DATAR, M., AND NARASAYYA, V.: Index Selection for Databases: A Hardness Study and a Principled Heuristic Solution. IEEE Transactions on Knowledge and Data Engineering, 16 (11): , [3] CSTA, R. L. C., LIFSCHITZ, S., NRNHA, M., SALLES, M. V.: Implementation of an Agent Architecture for Automated Index Tuning. ICDE Workshops [4] SALLES, M. V.: Criação Autônoma de Índices em Bancos de Dados. Dissertação de Mestrado, Departamento de Informática, Pontifícia Universidade Católica do Rio de Janeiro (PUCRio), [5] MRELLI, E. M. T.: Recriação Automática de Índices em um SGBD Relacional. Dissertação de Mestrado, Departamento de Informática, Pontifícia Universidade Católica do Rio de Janeiro (PUCRio), [6] LIFSCHITZ, S.; MILANÉS, A. Y. ; SALLES, M. A. V.. Estado da arte em auto-sintonia de sistemas de bancos de dados relacionais. Relatório técnico, Departamento de Informática, Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio),

53 [7] WEIKUM, G.; M NKEBERG, A.; HASSE, C. ; ZABBACK, P.. Self-tuning database technology and information services: from wishful thinking to viable engineering. In: Proceedings of the International Conference on Very Large Databases (VLDB), p , [8] VIEIRA, M.; DURÃES, J.; MADEIRA, H. Especificação e Validação de Benchmarks de Confiabilidade para Sistemas Transacionais. IEEE Latin America Transactions, Jun [9] KENDALL, E.A. KRISHNA, P.V.M. PATHAK, C.V. AND SURESH, C.B., An Application Framework for Intelligent and Mobile Agent Systems, capítulo em Implementing Applications Frameworks: bject riented Frameworks, Work, ed. M. Fayad, D. C. Schmidt, R. Johnson, Wiley & Sons, [10] SALLES, M. V., AND LIFSCHITZ, S.: Autonomic Index Management. In Proceedings of the International Conference on Autonomic Computing (ICAC), [11] CHAUDHURI, S., AND NARASAYYA, V.: Autoadmin what-if Index Analysis Utility. In Proceedings of the ACM SIGMD International Conference on Management of Data, pages , [12] CHAUDHURI, S., AND WEIKUM, G.: Rethinking Database System Architecture: Towards a Self-tuning Risc-Style Database System. In Proceedings of the International Conference on Very Large Databases (VLDB), pages 1 10, [13] CSTA, R. L. C., LIFSCHITZ, S. AND SALLES, M. V.: Index Self-Tuning with Agent-Based Databases. CLEI Electronic Journal, 6(1):22 PAGES, [14] TPC: TPC Benchmark Revision Disponível em: < Acesso em 05 de junho de [15] MMJIAM, B.: Postgresql Introduction and Concepts. Addison-Wesley. New York, [16] STINSN, B.: Postgresql Essential Reference. New Riders Publishing, Primeira Edição, [17] GESCHWINDE, E. AND JUNGERSCHNING, H.: Postgresql Developer s Handbook. Sams Publishing, Segunda Edição, [18] Coletor de Estatísticas do Postgresql. Disponível em: <http://www.javalinux.com.br/javalinux/pg74/monitoring-stats.html>. Visitado em 01/07/2007. [19] RACLE V$ View List. Disponível em: <http://www.dbaoracle.com/menu_v$_views_list.htm>. Acesso em 05 de junho de

54 F*-G!-<! FF0 C,< &6 ' j'ss Sk7 ',,9*--Y 7 JJ! T 5( '71 *--0 F**G #7^7E]+J##ME D&7J #7?! 0 5(' *--U 51

ISSN 0103-9741. Monografias em Ciência da Computação n 42/08. Extraindo Metadados para a Captura da Carga de Trabalho e Planos de Execução de SGBDs

ISSN 0103-9741. Monografias em Ciência da Computação n 42/08. Extraindo Metadados para a Captura da Carga de Trabalho e Planos de Execução de SGBDs PUC ISSN 0103-9741 Monografias em Ciência da Computação n 42/08 Extraindo Metadados para a Captura da Carga de Trabalho e Planos de Execução de SGBDs José Maria Monteiro Sérgio Lifschitz Ângelo Brayner

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

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

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

Reindexação Automática em SGBDs Relacionais

Reindexação Automática em SGBDs Relacionais Reindexação Automática em SGBDs Relacionais Eduardo Morelli, José Maria Monteiro, Ana Carolina Almeida, Sérgio Lifschitz Departamento de Informática PUC Rio {emorelli,monteiro,abrito,sergio}@inf.puc rio.br

Leia mais

Manter estatísticas atualizadas é uma das regras de ouro na busca por performance.

Manter estatísticas atualizadas é uma das regras de ouro na busca por performance. Atualização de Estatísticas Um objeto de estatística pode ser atualizado manualmente pelo usuário, através dos comandos SP_UPDATESTATS e/ou UPDATE STATISTICS. Enquanto que a procedure SP_UPDATESTATS atualiza

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

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

Regras de Integridade. Profa. Késsia Marchi

Regras de Integridade. Profa. Késsia Marchi Regras de Integridade Restrições de Integridade Integridade refere-se a precisão ou correção de dados em um banco de dados; Restrição refere-se a impor uma condição para qualquer atualização. Antes de

Leia mais

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

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

Leia mais

Bases de Dados 2012/2013 Restrições de Integridade em SQL. Helena Galhardas 2012 IST. Bibliografia

Bases de Dados 2012/2013 Restrições de Integridade em SQL. Helena Galhardas 2012 IST. Bibliografia Bases de Dados 2012/2013 Restrições de Integridade em SQL Helena Galhardas Bibliografia Raghu Ramakrishnan, Database Management Systems, Cap. 3 e 5 1 1 Sumário Restrições de Integridade (RIs) em SQL Chave

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

Reindexação Automática em SGBDs Relacionais

Reindexação Automática em SGBDs Relacionais Reindexação Automática em SGBDs Relacionais Eduardo Morelli, José Maria Monteiro, Ana Carolina Almeida, Sérgio Lifschitz Departamento de Informática PUC-Rio {emorelli,monteiro,abrito,sergio}@inf.puc-rio.br

Leia mais

SQL. Structured Query Language

SQL. Structured Query Language SQL Structured Query Language Construções básicas Junção de Tabelas Join O uso da operação JOIN numa cláusula FROM especifica como se deseja que as tabelas sejam vinculadas. Use INNER JOIN para associar

Leia mais

UNISA Universidade de Santo Amaro. http://www.unisa.br. Material de Estudo. Módulo I: Básico Banco de dados SQL Server. http://www.unisa-sis.

UNISA Universidade de Santo Amaro. http://www.unisa.br. Material de Estudo. Módulo I: Básico Banco de dados SQL Server. http://www.unisa-sis. UNISA Universidade de Santo Amaro http://www.unisa.br Material de Estudo Módulo I: Básico Banco de dados SQL Server http://www.unisa-sis.info Junho/2010 Objetivo do Workshop Compartilhar e apresentar

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

SQL SQL BANCO DE DADOS 2. Componentes do SQL (1) Componentes do SQL (2) DDL Criação de banco de dados. Padrões de SQL

SQL SQL BANCO DE DADOS 2. Componentes do SQL (1) Componentes do SQL (2) DDL Criação de banco de dados. Padrões de SQL BANCO DE DADOS 2 SQL (CREATE TABLE, CONSTRAINTS, DELETE, UPDATE e INSERT) Prof. Edson Thizon SQL SQL ( structured query language ) é uma linguagem comercial de definição e manipulação de banco de dados

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

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

Implementação de Aspectos Temporais em SGBDs Livres

Implementação de Aspectos Temporais em SGBDs Livres Implementação de Aspectos Temporais em SGBDs Livres Eugênio de Oliveira Simonetto Curso de Sistemas de Informação Centro Universitário Franciscano (UNIFRA) Andradas, 1614 Centro - 97015-032 Santa Maria

Leia mais

SQL. Histórico BANCO DE DADOS. Conceito. Padrões de SQL (1) Componentes do SQL (1) Padrões de SQL (2) (DDL: CREATE TABLE, CONSTRAINTS)

SQL. Histórico BANCO DE DADOS. Conceito. Padrões de SQL (1) Componentes do SQL (1) Padrões de SQL (2) (DDL: CREATE TABLE, CONSTRAINTS) BANCO DE DADOS SQL (DDL: CREATE TABLE, CONSTRAINTS) Prof. Edson Thizon Histórico Entre 1974 e 1979, o San José Research Laboratory da IBM desenvolveu um SGDB relacional que ficou conhecido como Sistema

Leia mais

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

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

Leia mais

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

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

Leia mais

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

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

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

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

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

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

Leia mais

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

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

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

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 II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 10 - PROCEDIMENTOS ARMAZENADOS - STORED PROCEDURES 1. INTRODUÇÃO Em muitas situações será necessário armazenar procedimentos escritos com a finalidade de se utilizar recursos como loop, estruturas

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

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

SQL Server Triggers Aprenda a utilizar triggers em views e auditar as colunas atualizadas em uma tabela

SQL Server Triggers Aprenda a utilizar triggers em views e auditar as colunas atualizadas em uma tabela SQL Server Triggers Aprenda a utilizar triggers em views e auditar as colunas atualizadas em uma tabela Certamente você já ouviu falar muito sobre triggers. Mas o quê são triggers? Quando e como utilizá-las?

Leia mais

MYSQL: TIPOS DE DADOS. Gilvan Vieira Moura E-mail: gilvansistema@hotmail.com

MYSQL: TIPOS DE DADOS. Gilvan Vieira Moura E-mail: gilvansistema@hotmail.com MYSQL: TIPOS DE DADOS Gilvan Vieira Moura E-mail: gilvansistema@hotmail.com TIPOS DE DADOS Bancos de dados, como falamos anteriormente, armazenam dados dentro de tabelas, na forma de linhas e colunas.

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

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

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 INTRODUÇÃO AO SQL Ferramentas brmodelo Ferramenta Case PostgreSQL versão 8 ou superior SGBD Em 1986 o American

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

Usando PostgreSQL na Regra de Negócio de um ERP. Fabiano Machado Dias Eduardo Wolak

Usando PostgreSQL na Regra de Negócio de um ERP. Fabiano Machado Dias Eduardo Wolak Usando PostgreSQL na Regra de Negócio de um ERP Fabiano Machado Dias Eduardo Wolak Regra de negócio? São todas as regras existentes num sistema de informação, que ditam seu comportamento, suas restrições

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

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

Utilização de Redes Neurais na Manutenção Pró-Ativa de Índices

Utilização de Redes Neurais na Manutenção Pró-Ativa de Índices Utilização de Redes Neurais na Manutenção Pró-Ativa de Índices André Medeiros 1,2, Aristênio Saraiva 2, Gustavo Campos 2, José Maria Monteiro 3 1 IBM - Brasil agbm@br.ibm.com 2 Departamento de Computação,

Leia mais

Sintonia fina baseada em ontologia: o caso de visões materializadas

Sintonia fina baseada em ontologia: o caso de visões materializadas paper:11 Sintonia fina baseada em ontologia: o caso de visões materializadas Aluno - Rafael Pereira de Oliveira 1 Orientador - Sérgio Lifschitz 1 1 Departamento de Informática Programa de Pós-graduação

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

Estatística, monitoramento e diagnóstico através do catálogo do PostgreSQL

Estatística, monitoramento e diagnóstico através do catálogo do PostgreSQL Estatística, monitoramento e diagnóstico através do catálogo do PostgreSQL O trabalho Estatística, monitoramento e diagnóstico através do catálogo do PostgreSQL de Fabiano Machado Dias e Eduardo Wolak

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

PROGRAMAÇÃO EM BANCO DADOS Stored Procedure e Trigger

PROGRAMAÇÃO EM BANCO DADOS Stored Procedure e Trigger PROGRAMAÇÃO EM BANCO DADOS Stored Procedure e Trigger A tecnologia de banco de dados permite persistir dados de forma a compartilha-los com varias aplicações. Aplicação 1 aplicação 2 aplicação 3 SGDB Banco

Leia mais

BANCO DE DADOS: SQL. Edson Anibal de Macedo Reis Batista. 27 de janeiro de 2010

BANCO DE DADOS: SQL. Edson Anibal de Macedo Reis Batista. 27 de janeiro de 2010 BANCO DE DADOS: SQL UERN - Universidade do Estado do Rio Grande do Norte. Departamento de Ciências da Computação. 27 de janeiro de 2010 índice 1 Introdução 2 3 Introdução SQL - Structured Query Language

Leia mais

Structure Query Language SQL Guilherme Pontes lf.pontes.sites.uol.com.br

Structure Query Language SQL Guilherme Pontes lf.pontes.sites.uol.com.br 1. Abordagem geral Structure Query Language SQL Guilherme Pontes lf.pontes.sites.uol.com.br Em primeiro plano, deve-se escolher com qual banco de dados iremos trabalhar. Cada banco possui suas vantagens,

Leia mais

PL/pgSQL por Diversão e Lucro

PL/pgSQL por Diversão e Lucro PL/pgSQL por Diversão e Lucro Roberto Mello 3a. Conferência Brasileira de PostgreSQL - PGCon-BR Campinas - 2009 1 Objetivos Apresentar as partes principais do PL/pgSQL Apresentar casos de uso comum do

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

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

Structured Query Language (SQL)

Structured Query Language (SQL) Structured Query Language (SQL) SQL-Breve Histórico : # CREATE, ALTER e DROP; # BEGIN TRANSACTION, ROLLBACK e COMMIT; # GRANT, REVOKE e DENY; 1 Structured Query Language (SQL) Desenvolvida pelo departamento

Leia mais

Capitulo 2. Prof.º Espc. Fábio Margarito Martins de Barros - Tecnologia de banco de dados

Capitulo 2. Prof.º Espc. Fábio Margarito Martins de Barros - Tecnologia de banco de dados Capitulo 2 1. MODELO LÓGICO DE BANCO DE DADOS... 2 1.1 Definição... 2 1.2 Mapeando o modelo conceitual para o modelo lógico... 2 1.2 Dicionário de dados... 3 2. MODELO FÍSICO DO BANCO DE DADOS... 4 2.1

Leia mais

SISTEMAS GERENCIADORES DE BANCO DE DADOS 1

SISTEMAS GERENCIADORES DE BANCO DE DADOS 1 SISTEMAS GERENCIADORES DE BANCO DE DADOS 1 AULA 01 1. Qual das seguintes linguagens deu origem à atual SQL (Strututured Query Language)? a) COBOL b) FORTRAN c) SEQUEL d) C e) C++ 2. Sistema Gerenciador

Leia mais

CRIANDO TABELAS E INSERINDO REGISTROS VIA SQL NO SQL Server 7.0

CRIANDO TABELAS E INSERINDO REGISTROS VIA SQL NO SQL Server 7.0 CRIANDO TABELAS E INSERINDO REGISTROS VIA SQL NO SQL Server 7.0 Obs: Estes comandos deverão ser realizados no Query Analyzer. - Para criar um Banco de Dados no SQL Server via código SQL: Depois de criado

Leia mais

PL/pgSQL. Introdução. Introdução. Introdução

PL/pgSQL. Introdução. Introdução. Introdução Introdução PL/pgSQL Banco de Dados II Prof. Guilherme Tavares de Assis PL/pgSQL (Procedural Language for the PostgreSQL) é uma linguagem procedural carregável desenvolvida para o SGBD PostgreSQL, que possui

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

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

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

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

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

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

PadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. JDBC - Java Database Connectivity A,L,F,M

PadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. JDBC - Java Database Connectivity A,L,F,M JAVA Marcio de Carvalho Victorino 1 JDBC - Java Database Connectivity 2 1 JDBC conceito JDBC é uma API (Application Program Interface) para acesso a SGBD s (Sistemas Gerenciadores de Banco de Dados) relacionais

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

Introdução a Banco de Dados

Introdução a Banco de Dados Introdução a Banco de Dados O modelo relacional Marta Mattoso Sumário Introdução Motivação Serviços de um SGBD O Modelo Relacional As aplicações não convencionais O Modelo Orientado a Objetos Considerações

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

PROGRAMAÇÃO EM BANCO DADOS Store Procedure e Trigger

PROGRAMAÇÃO EM BANCO DADOS Store Procedure e Trigger PROGRAMAÇÃO EM BANCO DADOS Store Procedure e Trigger a tecnologia de banco de dados permite persistir dados de forma a compartilha-los com varias aplicações. Aplicação 1 aplicação 2 aplicação 3 SGDB Banco

Leia mais

Arquitetura para Seleção de Índice no SGBD PostgreSQL, utilizando abordagem baseada em custos do Otimizador

Arquitetura para Seleção de Índice no SGBD PostgreSQL, utilizando abordagem baseada em custos do Otimizador ISSN: 1981-8882 Arquitetura para Seleção de Índice no SGBD PostgreSQL, utilizando abordagem baseada em custos do Otimizador Wendel Góes Pedrozo 1, Maria Salete Marcom Gomes Vaz 1,2 1 Departamento de Informática

Leia mais

MySQL. Prof. César Melo. com a ajuda de vários

MySQL. Prof. César Melo. com a ajuda de vários MySQL Prof. César Melo com a ajuda de vários Banco de dados e Sistema de gerenciamento; Um banco de dados é uma coleção de dados. Em um banco de dados relacional, os dados são organizados em tabelas. matricula

Leia mais

Banco de Dados. StructuredQuery Language- SQL. Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br waltenomartins@yahoo.

Banco de Dados. StructuredQuery Language- SQL. Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br waltenomartins@yahoo. Banco de Dados StructuredQuery Language- SQL Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br waltenomartins@yahoo.com 2015 A Origem Em 1970, Ted Codd (pesquisador da IBM) publicou o primeiro

Leia mais

COORDENAÇÃO DE SISTEMAS (CODES) MAIO/2013

COORDENAÇÃO DE SISTEMAS (CODES) MAIO/2013 PADRÕES UTILIZADOS NO DESENVOLVIMENTO DO SISTEMA DE INFORMAÇÕES DO IF BAIANO COORDENAÇÃO DE SISTEMAS (CODES) MAIO/2013 Rua do Rouxinol, N 115 / Salvador Bahia CEP: 41.720-052 Telefone: (71) 3186-0001.

Leia mais

Acesso a Bancos de Dados (JDBC) Autor: Cleyton Maciel (clayton.maciel@ifrn.edu.br) Adaptação: Pedro Baesse (pedro.baesse@ifrn.edu.

Acesso a Bancos de Dados (JDBC) Autor: Cleyton Maciel (clayton.maciel@ifrn.edu.br) Adaptação: Pedro Baesse (pedro.baesse@ifrn.edu. Acesso a Bancos de Dados (JDBC) Autor: Cleyton Maciel (clayton.maciel@ifrn.edu.br) Adaptação: Pedro Baesse (pedro.baesse@ifrn.edu.br) JDBC Conceito Tipos Transações Tipos SQL e JAVA Conexão JDBC Implementação

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

Descrição Tinyint[(M)] Inteiro pequeno. Varia de 128 até +127

Descrição Tinyint[(M)] Inteiro pequeno. Varia de 128 até +127 Disciplina: Tópicos Especiais em TI PHP Este material foi produzido com base nos livros e documentos citados abaixo, que possuem direitos autorais sobre o conteúdo. Favor adquiri-los para dar continuidade

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

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

Exemplos de Vistas SQL. Tipos em SQL. Linguagem de Definição de Dados (DDL) CREATE VIEW todososclientes As

Exemplos de Vistas SQL. Tipos em SQL. Linguagem de Definição de Dados (DDL) CREATE VIEW todososclientes As Exemplos de Vistas SQL Considere-se a vista (com o nome todososconsumidores) contento os nomes das agências e seus clientes CREATE VIEW todososclientes As Π nomebalcao,nomecliente (temconta conta) Π nomebalcao,nomecliente

Leia mais

Sumário. Capítulo 2 Conceitos Importantes... 32 Tópicos Relevantes... 32 Instance... 33 Base de Dados... 36 Conclusão... 37

Sumário. Capítulo 2 Conceitos Importantes... 32 Tópicos Relevantes... 32 Instance... 33 Base de Dados... 36 Conclusão... 37 7 Sumário Agradecimentos... 6 Sobre o Autor... 6 Prefácio... 13 Capítulo 1 Instalação e Configuração... 15 Instalação em Linux... 15 Instalação e Customização do Red Hat Advanced Server 2.1... 16 Preparativos

Leia mais

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

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

Leia mais

Linguagem 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

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

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

Histórico de revisões

Histórico de revisões Histórico de revisões Data Versão Descrição Autor 13/11/2009 1.0 Criação da primeira versão HEngholmJr CONTEÚDO Passos para a instalação do SQL Server O MS SQL Server Conceitos relacionais Bancos de dados

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

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. Módulo 7 - Modelo Relacional. Definição do Esquema Relacional em SQL. modulo07.prz 1 10/09/01

Banco de Dados. Módulo 7 - Modelo Relacional. Definição do Esquema Relacional em SQL. modulo07.prz 1 10/09/01 Banco de Dados Módulo 7 - Modelo Relacional Definição do Esquema Relacional em SQL modulo07.prz 1 10/09/01 Introdução SQL linguagem padrão para SGBDs relacionais derivada do SEQUEL (Structured English

Leia mais

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

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

Leia mais

PROVA ESPECÍFICA Cargo 04

PROVA ESPECÍFICA Cargo 04 10 PROVA ESPECÍFICA Cargo 04 QUESTÃO 21 Analise as seguintes afirmativas: I. Uma das funções de um DBA é gerenciar os mecanismos de segurança de acesso aos dados armazenados em um SGBD (Sistema Gerenciador

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

Laboratório de Banco de Dados II

Laboratório de Banco de Dados II Laboratório de Banco de Dados II Esquema de um banco de dados relacional Em aulas anteriores, vocês implantaram um projeto físico de banco de dados com todos os seus elementos, inclusive tratando do projeto

Leia mais

Replicação de servidores de banco de dados

Replicação de servidores de banco de dados Replicação de servidores de banco de dados Cresce cada vez mais dentro das organizações a necessidade de garantir a alta disponibilidade das informações. Como a base de dados de qualquer empresa é seu

Leia mais

INTRODUÇÃO BANCO DE DADOS. Prof. Msc. Hélio Esperidião

INTRODUÇÃO BANCO DE DADOS. Prof. Msc. Hélio Esperidião INTRODUÇÃO BANCO DE DADOS Prof. Msc. Hélio Esperidião BANCO DE DADOS Podemos entender por banco de dados qualquer sistema que reúna e mantenha organizada uma série de informações relacionadas a um determinado

Leia mais

Oracle PL/SQL Overview

Oracle PL/SQL Overview Faculdades Network Oracle PL/SQL Overview Prof. Edinelson PL/SQL Linguagem de Programação Procedural Language / Structured Query Language Une o estilo modular de linguagens de programação à versatilidade

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

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

Introdução a Computação

Introdução a Computação Introdução a Computação Aula 04 SGBD Sistemas Gerenciadores de Bancos de Dados Prof. MSc. Edilberto Silva edilms@yahoo.com Conceitos Básicos DADOS: são fatos em sua forma primária. Ex: nome do funcionário,

Leia mais