Bases de Dados. Restrições de integridade. Restrições de integridade. As restrições de integridade garantem a consistência da BD exemplos
|
|
- Thomas Covalski Capistrano
- 6 Há anos
- Visualizações:
Transcrição
1 Bases de Dados Restrições de integridade Restrições de integridade As restrições de integridade garantem a consistência da BD exemplos RI 1: o saldo de uma conta não pode ser null RI 2: nenhuma conta pode ter o mesmo número de outra RI 3: todos os números de conta em depositor tem que existir em account RI 4: o salário de um funcionário tem que ser pelo menos 5 /hora 2 1
2 Restrições numa relação Restrição not null o nome de uma agência não pode ser null branch_name char(15) not null uma quantia monetária não pode ser null create table loan (... amount numeric(12,2) not null 3 Restrições numa relação Restrição unique(c 1, c 2,, c m ) as colunas c 1, c 2,, c m formam uma chave 1 2 m estas colunas podem conter null porque null é diferente de qualquer outro valor se for preciso, impor not null create table fornecedores ( id integer,, nome varchar(255), primary key(id), unique(nome) ); 4 2
3 Restrições numa relação Restrição check(c) todos os tuplos da relação devem obedecer à condição C exemplo: activo de agência não pode ser negativo create table branch (branch_name char(15), branch_city char(30), assets integer, primary key (branch_name), check (assets >= 0)) 5 Restrições numa relação Restrição check(c) pode ser aplicada a valores de um atributo create table account ( balance numeric(5,2), check(balance > 0) ); pode envolver sub-perguntas check branch_name in (select branch_name from branch) 6 3
4 Integridade referencial Garantir que um valor que aparece numa relação também aparece noutra exemplo: a agência de cada conta (account) tem de existir na tabela de agências (branch) create table account (account_number char(10), branch_ name char(15), ( balance integer, primary key (account_number), foreign key (branch_name) references branch) 7 Integridade referencial Outro exemplo: create table depositor (customer_name char(20), account_number char(10), primary key (customer_name, account_number), foreign key (account_number) references account, foreign key (customer_name) references customer) customer depositor account 8 4
5 Integridade referencial Forma abreviada em vez de: branch_name char(15), foreign key (branch_name) references branch é possível usar simplesmente: branch_name char(15) references branch 9 Integridade referencial E se o registo for apagado ou modificado? (na outra tabela) create table account ( foreign key (branch_name) references branch on delete cascade on update cascade ) 10 5
6 Integridade referencial Forma geral on delete action on update action em que action é uma de: cascade apaga/actualiza registos que apontam para o tuplo em causa set null coloca os registos inconsistentes a null set default coloca os registos com o valor por omissão no action impede a remoção/actualização 11 Restrições de integridade Como impor restrições de integridade a uma tabela já criada? alter table tabela add restrição E se a tabela já tiver dados e estes não forem consistentes? a operação é rejeitada 12 6
7 Asserções Asserção é uma condição a que a BD deve obedecer forma geral create assertion nome check condição validade é testada na criação e em cada modificação à BD! impacto no desempenho asserções na forma for all X, C(X) must be true são implementadas com not exists X such that not C(X) 13 Asserções exemplo 1 Em cada agência, a soma de todas as quantias de empréstimo tem que ser inferior à soma de todos os saldos de conta create assertion sum_constraint check (not exists (select * from branch where (select sum(amount) from loan where loan.branch_name = branch.branch_name) >= (select sum(balance) from account where account.branch_name = branch.branch_name))) 14 7
8 Asserções exemplo 2 Todos os empréstimos têm de ter pelo menos um cliente com uma conta de saldo mínimo 1000 create assertion balance_constraint check (not exists (select * from loan where not exists (select * from borrower, depositor, account where loan.loan_number = borrower.loan_number and borrower.customer_name = depositor.customer_name and depositor.account_number = account.account_number and account.balance >= 1000))) 15 Bases de Dados Funções e Procedimentos 8
9 Introdução às funções e procedimentos SQL suporta funções e procedimentos com ciclos, if-then-else, declaração de variáveis, atribuição de valores a variáveis, etc. Alguns SGBDs suportam ainda funções que devolvem relações (SQL:2003) outras funcionalidades proprietárias 17 Funções exemplo (standard SQL) Definir uma função que, dado o nome de um cliente, devolve o número de contas desse cliente create function account_count (c_name varchar(255)) returns integer begin declare a_count integer; select count(*) into a_count from depositor where customer_name = c_name ; return a_count; end 18 9
10 Funções exemplo (Postgres) create function account_count (c_name varchar(255)) returns integer as $$ declare a_count integer; begin select count(*) into a_count from depositor where customer_name = c_name; return a_count; end $$ language plpgsql; "A CREATE FUNCTION command is defined in SQL:1999 and later. The PostgreSQL version is similar but not fully compatible. The attributes are not portable, neither are the different available languages." (Postgres manual) 19 Funções exemplo de utilização Nome, rua e cidade dos clientes com mais de uma conta select customer_name, customer_street, customer_city from customer where account_count (customer_name) >
11 Funções que devolvem relações (standard SQL) Devolver todas as contas de um dado cliente create function accounts_of f( (c_name varchar(255) ) returns table (account_number varchar(255), branch_name varchar(255), balance numeric(12,2) ) return table (select a.account_number, branch_name, balance from account as a, depositor as d where a.account_number = d.account_number and d.customer_name = c_name) 21 Funções que devolvem relações (Postgres) create function accounts_of ( varchar(255) ) returns setof account as $$ select a.account_number, branch_name, balance from account as a, depositor as d where a.account_number = d.account_number and d.customer_name = $1; $$ language sql; parâmetros anónimos 22 11
12 Funções que devolvem tipos complexos (Postgres) create type account_data as ( account_number varchar(255), branch_name varchar(255), balance numeric(12,2) ); create function accounts_of (varchar(255)) returns account_data as $$ select a.account_number, branch_name, balance from account as a, depositor as d where a.account_number = d.account_number and d.customer_name = $1; $$ language sql; 23 Funções que devolvem relações utilização Dados das contas do cliente Smith select * from accounts_of( Smith ); account_number branch_name balance A-215 Mianus A-444 North Town (2 rows) funções que devolvem tabelas são semelhantes a vistas com parâmetros 24 12
13 Procedimentos (standard SQL) A função account_count escrita como procedimento create procedure account_count_proc (in c_name varchar(255), out a_count integer) begin select count(* ) into a_count from depositor where depositor.customer_name = c_name end 25 Procedimentos utilização (standard SQL) Podem ser invocados com o comando call declare a_count integer; call account_count_proc( Smith, a_count); procedimentos podem ter nomes iguais, desde que sejam diferentes nos argumentos a sintaxe acima não funciona em Postgres 26 13
14 Procedimentos (Postgres) create function account_count_proc (in c_name varchar(255), out a_count integer) as $$ begin select count(*) into a_count from depositor where customer_name = c_name; end $$ language plpgsql; select * from account_count_proc ('Smith'); a_count (1 row) 27 Elementos procedimentais básicos (standard SQL) Blocos begin end podem conter múltiplos comandos SQL podem conter declarações de variáveis locais Declaração de variáveis declare <variable> <type> [default <value>] o âmbito da variável local está restrito ao bloco onde foi declarada 28 14
15 Elementos procedimentais básicos (standard SQL) Atribuição de valores set <variable> = expression a_count := 0; (Standard SQL) (Postgres) O comando select into select <columns> into <variable> from 29 Outros elementos procedimentais (standard SQL) O standard SQL prevê ainda vários outros elementos ciclos while e repeat ciclos for condições if then else condições case when excepções sintaxe é diferente em cada sistema 30 15
16 Elementos procedimentais ciclos (standard SQL) Ciclos while e repeat declare n integer default 0; while n < 10 do set n = n + 1 end while repeat set n = n 1 until n = 0 end repeat Elementos procedimentais ciclos (standard SQL) Ciclo for permite iterar pelos resultados de uma pergunta exemplo: saldo total das contas da agência de Perryridge declare n integer default 0; for r as select balance from account where branch_name = Perryridge do set n = n + r.balance end for
17 Elementos procedimentais condições Instruções condicionais if then else exemplo soma dos saldos das contas nas seguintes categorias: saldo <1000, >=1000 and <5000, >= 5000 if r.balance < 1000 then set l = l + r.balance elseif r.balance < 5000 then set m = m + r.balance else set h = h + r.balance end if Ciclos e condições (Postgres) if condition then <statements1> else <statements2> end if; while condition loop <statements> end loop; for variable in select_clause loop <statements> end loop; 34 17
18 Cursores exemplo (Postgres) create or replace function average_balance() returns real as $$ declare cursor_account cursor for select balance from account; balance real; sum_balance real := 0.0; 0; count_balance integer := 0; begin open cursor_account; loop fetch cursor_account into balance; if not found then exit; end if; sum_balance = sum_balance + balance; count_ balance = count_ balance + 1; end loop; close cursor_account; return sum_balance / count_balance; end $$ language plpgsql; 35 Bases de Dados Triggers 18
19 Introdução aos triggers Um trigger é uma instrução executada em reacção a uma modificação na BD Para especificar um trigger é necessário saber: as condições em que o trigger é disparado as acções a fazer quando o trigger é executado Ti Triggers são um conceito antigo, mas só apareceu na norma SQL: Necessidade dos triggers Cenário: o cliente levanta um quantia superior ao saldo Em vez de resultar num saldo negativo, o banco: cria um empréstimo igual à quantia em falta dá ao empréstimo o mesmo número que a conta coloca o saldo da conta a zero Condição de disparo: um update que resulte em saldo negativo na conta 38 19
20 Exemplo Levantamento de 500 da conta A-102 account Exemplo Levantamento de 500 da conta A-102 loan account 0 A-102 Perryridge 100 depositor borrower Hayes A
21 Exemplo (standard SQL) create trigger overdraft_trigger after update on account referencing new row as nrow for each row when nrow.balance <0 begin atomic insert into loan values (nrow.account_number, nrow.branch_name, nrow.balance); insert into borrower (select customer_name, account_number from depositor where nrow.account_number =depositor.account_number ); end update account set balance = 0 where account.account_number = nrow.account_number; 41 Exemplo (Postgres) Criação da função que implementa o trigger create or replace function overdraft_trigger_proc() returns trigger as $$ begin if new.balance < 0 then insert into loan values (new.account_number, new.branch_name, (-1)*new.balance); insert into borrower (select customer_name, account_number from depositor where depositor.account_number = new.account_number); update account set balance = 0 where account.account_number = new.account_number; end if; return new; end $$ language plpgsql; 42 21
22 Exemplo (Postgres) Criação do trigger opções: before after opções: insert update delete create trigger overdraft_trigger after update on account for each row execute procedure overdraft_trigger_proc(); opções: for each row for each statement Ver manual do Postgres: 43 Outro exemplo (Postgres) Trigger que cancela uma acção create or replace function cancel_overdraft_proc() returns trigger as $$ begin if new.balance < 0 then raise exception 'A conta % tem saldo insuficiente.', new.account_number; end if; return new; end $$ language plpgsql; create trigger cancel_overdraft after update on account for each row execute procedure cancel_overdraft_proc(); update account set balance = balance 500 where account_number = 'A-102'; 44 22
23 Quando não usar triggers Actualizar um total quando se insere/actualiza um registo usar vistas em vez de triggers Replicação de BDs usar mecanismos próprios do SGBD Execuções não intencionadas p.ex. quando a BD está a ser reposta a partir de backup Ocorrência de erros se o trigger falha, toda a operação falha Efeitos imprevistos cadeias de eventos imprevisíveis ou intermináveis 45 Bases de Dados Autorização 23
24 Formas de autorização Formas de autorização sobre o conteúdo da BD: leitura de dados, sem modificação inserção de dados, sem modificação modificação de dados, sem remoção remoção de dados Formas de autorização sobre o esquema da BD: criação de novas relações adição e remoção de atributos em relações remoção de relações 47 Concessão de privilégios Comando grant permite conceder privilégios grant <lista de privilégios> on <nome da relação ou vista> to <lista de utilizadores ou public> public significa dar os privilégios a todos os utilizadores privilégio sobre uma vista não implica privilégios sobre as relações constituintes quem concede o privilégio tem que o possuir 48 24
25 Concessão de privilégios Exemplo grant select on account to john, mary Tipos de privilégios select insert( ) lista opcional de atributos update( ) lista opcional de atributos delete all privileges 49 Concessão de privilégios Permissão para criar chaves estrangeiras grant references(branch_name) on branch to user Permissão para conceder privilégio por omissão não está autorizada grant select on branch to user with grant option 50 25
26 Concessão de privilégios O administrador da BD possui todos os privilégios outros utilizadores só os possuem se lhes forem concedidos U 1 U 4 DBA U 2 U 5 U 3 51 Revogação de privilégios Comando revoke permite retirar privilégios revoke <lista de privilégios ou all> on <nome da relação ou vista> from <lista de utilizadores ou public> all significa retirar todos os privilégios public retira privilégio aos utilizadores que não o receberam explicitamente se o privilégio foi dado por 2 utilizadores diferentes, o utilizador mantém-no 52 26
27 Revogação de privilégios U 1 U 4 DBA U 2 U 5 U 3 Se o DBA revogar um privilégio de U 1 U 4 fica sem esse privilégio U 5 só fica sem o privilégio se for retirado também a U 2 53 Revogação de privilégios U 1 DBA U 2 U 3 U 2 e U 3 tentam manter privilégio em todo o caso concedem privilégios mutuamente mas se for tirado a ambos ficam sem ele 54 27
28 Revogação de privilégios em cascata Comando revoke permite retirar privilégios em cascata revoke <lista de privilégios ou all> on <nome da relação ou vista> from <lista de utilizadores ou public> [ cascade restrict ] cascade comportamento por omissão restrict a operação de revoke falha se entretanto o privilégio já tiver sido concedido a outros 55 Revogação de permissão de concessão Retirar a um utilizador a possibilidade de passar o privilégio a outros revoke grant option for select on branch from U
29 Papéis (roles) Papéis estabelecem os privilégios comuns a um tipo de utilizadores privilégios podem ser concedidos e revogados a roles create role caixa create role gestor grant select on account to caixa grant update(balance) on account to caixa grant all privileges on account to gestor 57 Papéis (roles) papéis podem ser atribuídos a utilizadores e a outros papéis grant caixa to alice, jorge grant gestor to susana grant caixa to gestor 58 29
30 Privilégios resultantes Privilégios totais de um utilizador/papel todos os concedidos directamente ao utilizador todos os concedidos aos papéis atribuídos a esse utilizador/papel Concessão de privilégios via utilizador ou via papéis se for dado por utilizador pode ser removido em cascata grant select on account to jorge se for dado por papel não será removido em cascata grant select on account to jorge granted by current_role 59 Limitações da autorização em SQL Não há autorização ao nível dos tuplos p.ex. funcionários que podem ver apenas os seus salários Nas aplicações Web, os acessos vem da camada de aplicação é comum todos os utilizadores fazerem uso do mesmo utilizador da BD autorização não tira partido de SQL é possível implementar outros mecanismos de autorização mas mecanismos de autorização dispersos pelo código; dificuldade em garantir segurança 60 30
31 Bases de Dados Outros tipos de dados Tipos de data/hora Data e hora date data de calendário com ano, mês e dia exemplo: time hora do dia em horas, minutos e segundos exemplos: 11:07:14, 11:07: timestamp data e hora exemplo: :07: outras opções: timestamp(m) e with timezone M é o número de dígitos na parte decimal dos segundos 62 31
32 Conversão de data/hora Conversão de string para data/hora cast(value( as type) ) em que type pode ser date, time, timestamp, etc. exemplos select cast('november 3, 2010' as date); select cast('11:14' as time); select cast('tomorrow' as date); date (1 row) time :14:00 (1 row) date (1 row) 63 Conversão de data/hora Extracção de valores extract(field( from value) ) em que field pode ser year, month, day, hour, minute, second exemplos select extract(year from current_date); date_part (1 row) select extract(hour from localtime) ':' extract(minute from localtime) as hora; hora :55 (1 row) 64 32
33 Funções de data/hora Como obter a data/hora actual current_ date,, current_ time,, current_ timestamp com informação de zona (08:53: ) localtime, localtimestamp sem informação de zona (08:53: ) exemplo now :53: (1 row) select current_timestamp; insert into eventos values('acordei', localtime); 65 Intervalos de data/hora Para operações aritméticas com data/hora interval subtracção de um valor data/hora de outro dá um intervalo é possível adicionar ou subtrair intervalos a valores de data/hora n_dias (1 row) exemplos select cast('today' ( y as date) ) cast('yesterday' (y y as date) ) as n_dias; select localtimestamp + cast('72:00:00' as interval) as prazo; prazo :06: (1 row) 66 33
34 Objectos grandes Tipos de dados para objectos grandes p.ex. fotos, vídeos, ficheiros, etc. clob para caracteres (text em Postgres) blob para objectos binários interpretados por outra aplicação quando o resultado é um objecto grande, a query devolve um apontador ou exporta os dados book_review clob(10kb) image blob(10mb) movie blob(2gb) 67 Domínios Domínios definidos pelo utilizador create domain euros numeric(12,2) check(value >= 0) exemplo de aplicação: create table employee (employee_id employee_name salary integer, varchar(255), euros) 68 34
35 Tipos de dados Tipos de dados definidos pelo utilizador create type euros as (quantia numeric(12,2)) tipos e domínios são semelhantes domínios podem ter restrições (e.g. not null), tipos não tipos só são compatíveis com eles próprios, domínios não operações com tipos diferentes exigem cast (valor as tipo) 69 Tipos de dados exemplos create type complexo as (a real, b real); create function obtemtodos() returns setof complexo as $$ select preal, pimag from complexos $$ language sql; create type sinal as enum ( aberto, fechado, volto já ); create table loja ( numero integer, nome varchar(255), ( estado sinal ); 70 35
As restrições de integridade garantem a consistência da BD exemplos
Bases de Dados Restrições de integridade Restrições de integridade As restrições de integridade garantem a consistência da BD exemplos RI 1: os números de conta são únicos RI 2: a cidade de uma agência
Leia maisIntrodução às funções e procedimentos. SQL suporta funções e procedimentos úteis com tipos de dados específicos
Bases de Dados Funções e procedimentos Introdução às funções e procedimentos SQL suporta funções e procedimentos úteis com tipos de dados específicos p.ex. objectos geométricos, imagens intersecção de
Leia maisIntrodução às funções e procedimentos. SQL suporta funções e procedimentos úteis com tipos de dados específicos
Bases de Dados Stored procedures e triggers Introdução às funções e procedimentos SQL suporta funções e procedimentos úteis com tipos de dados específicos p.ex. objectos geométricos, imagens intersecção
Leia maisBases de Dados. Restrições de integridade. Restrições de integridade. As restrições de integridade garantem a consistência da BD exemplos
Bases de Dados Restrições de integridade Restrições de integridade As restrições de integridade garantem a consistência da BD exemplos RI 1: o saldo de uma conta não pode ser null RI 2: nenhuma conta pode
Leia maisBases de Dados 2012/2013 Funções/procedimentos e triggers. Helena Galhardas 2012 IST. Bibliografia. Manual referência PostgreSQL
Bases de Dados 2012/2013 Funções/procedimentos e triggers em PostgreSQL Helena Galhardas Bibliografia Manual referência PostgreSQL http://www.postgresql.org/docs/9.2/static/ plpgsql.html http://www.postgresql.org/docs/9.2/static/
Leia maisSistemas de Informação e Bases de Dados 2012/2013. Stored Procedures e Triggers
Sistemas de Informação e Bases de Dados 2012/2013 Stored Procedures e Triggers Alberto Sardinha Bibliografia MSDN http://msdn.microsoft.com 1 Funções e Procedimentos SQL suporta funções e procedimentos
Leia maisSistemas de Informação e Bases de Dados 2012/2013. Restrições de Integridade em SQL
Sistemas de Informação e Bases de Dados 2012/2013 Restrições de Integridade em SQL Alberto Sardinha Bibliografia Raghu Ramakrishnan, Database Management Systems, Cap. 3 e 5 1 Captura e Tratamento das RIs
Leia maisSistemas de Informação e Bases de Dados 2012/2013. Linguagem SQL
Sistemas de Informação e Bases de Dados 2012/2013 Linguagem SQL Alberto Sardinha Bibliografia Raghu Ramakrishnan, Database Management Systems, Cap. 3 e 5 1 Sumário Linguagem SQL 2 História Princípio dos
Leia maisPrincípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Renomeada para SQL (Structured Query Language)
Bases de Dados Introdução à linguagem SQL História Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R Renomeada para SQL (Structured Query Language) Standards ISO e ANSI SQL-86, SQL-89,
Leia maisPrincípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Renomeada para SQL (Structured Query Language)
Bases de Dados Introdução à linguagem SQL História Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R Renomeada para SQL (Structured Query Language) Standards ISO e ANSI SQL-86, SQL-89,
Leia maisRestrições ao Domínio Integridade Referencial Asserções Triggers Segurança e Autorizações
Capítulo 5: Integridade e Segurança Restrições ao Domínio Integridade Referencial Asserções Triggers Segurança e Autorizações 1 Triggers Um trigger é um comando que é executado automaticamente pelo sistema,
Leia maisRestrições ao Domínio Integridade Referencial Asserções Triggers Segurança e Autorizações
Capítulo 5: Integridade e Segurança Restrições ao Domínio Integridade Referencial Asserções Triggers Segurança e Autorizações 1 Restrições ao Domínio As restrições de integridade impõem-se para garantir
Leia maisA cláusula order by permite ordenar tuplos exemplo: listar por ordem alfabética os nomes dos clientes com empréstimo na agência de Perryridge
Bases de Dados Elementos da linguagem SQL Ordenação de tuplos orderby A cláusula order by permite ordenar tuplos exemplo: listar por ordem alfabética os nomes dos clientes com empréstimo na agência de
Leia maisOrdenação de tuplos order by
Bases de Dados Elementos da linguagem SQL Ordenação de tuplos order by A cláusula order by permite ordenar tuplos exemplo: listar por ordem alfabética os nomes dos clientes com empréstimo na agência de
Leia maisBases de Dados. Junção de relações. Junção de relações
Bases de Dados Junção de relações Junção de relações Tipicamente usadas na cláusula from SQL oferece várias possibilidades condição da junção determina quais são os atributos a comparar tipo de junção
Leia maisSistemas de Informação e Bases de Dados 2012/2013. Linguagem SQL
Sistemas de Informação e Bases de Dados 2012/2013 Linguagem SQL Alberto Sardinha Sumário Linguagem SQL 1 Operações com strings operador like Exemplo: nomes dos clientes cuja rua possui a sequência Main
Leia maisPCS3413. Engenharia de So-ware e Banco de Dados. Aula 20. Escola Politécnica da Universidade de São Paulo
PCS3413 Engenharia de So-ware e Banco de Dados Aula 20 Escola Politécnica da Universidade de São Paulo 1 PROCEDIMENTOS TRIGGER STORED PROCEDURE Regras de Negócio controladas pelo SGBD SGDB Relacional dispoõe
Leia maisPrincípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Renomeada para SQL (Structured Query Language)
Bases de Dados Introdução à linguagem SQL História Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R Renomeada para SQL (Structured Query Language) Standards ISO e ANSI SQL-86, SQL-89,
Leia maisBases de Dados. Revisão da matéria. Programa
Bases de Dados Revisão da matéria Programa Modelação modelo Entidade Associação modelo e álgebra relacionais Implementação SQL básico e avançado desenvolvimento de aplicações normalização Optimização ficheiros
Leia maisLinguagem de Definição de Dados Estrutura básica Operações com conjuntos Funções de agregação Valores nulos Subconsultas embebidas Relações derivadas
Capítulo 4: SQL Linguagem de Definição de Dados Estrutura básica Operações com conjuntos Funções de agregação Valores nulos Subconsultas embebidas Relações derivadas Junções Vistas Modificação da Base
Leia maisBases de Dados. Álgebra Relacional. Selecção (σ) Seleccionar os registos que satisfazem uma condição exemplo: empréstimos da agência de Perryridge
Bases de Dados Álgebra Relacional Selecção (σ) Seleccionar os registos que satisfazem uma condição exemplo: empréstimos da agência de Perryridge σ branch_name = Perryridge (loan) 2 1 Outros exemplos de
Leia maisBases 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 maisRestrições de Integridade Semântica
Restrições de Integridade Semântica Controle de valores válidos para os dados estados dos dados condizentes com os requisitos da aplicação transições de estados corretas O SGBD deve controlar esta integridade
Leia maisProgramando em SQL. Triggers, Stored Procedures e funções. Profa. Késsia Marchi
Programando em SQL Triggers, Stored Procedures e funções Objetivo Descrever as funcionalidades de triggers, store procedures e funções; Apresentar vantagens e benefícios; Criação e Gerenciamento de Store
Leia maisLinguagem SQL Restrições, Triggers e Views
FACULDADE INGÁ Unidade de Ensino Superior Ingá Ltda Ciência da Computação Linguagem SQL Restrições, Triggers e Views Prof. Erinaldo Sanches Nascimento Objetivos Especificar restrições mais gerais sobre
Leia maisAvisos. Sumário. Atividade em lab Aula 29. Atividade em lab Aula 29. Programando com SQL Triggers EXERCÍCIO LAB SP. Vista da segunda prova
Ciência da Computação GBC043 Sistemas de Banco de Dados Programando com SQL s Avisos Vista da segunda prova Data: 03/06 das 13:40 às 15:00h Local: sala 1B137 Profa. Maria Camila Nardini Barioni camila.barioni@ufu.br
Leia maisTriggers e Regras. Fernando Lobo. Base de Dados, Universidade do Algarve
Triggers e Regras Fernando Lobo Base de Dados, Universidade do Algarve 1 / 21 Triggers Um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre.
Leia maisBancos de Dados I. Integridade semântica
Bancos de Dados I PUC-Rio Departamento de Informática (DI) Eng./Ciência da Computação e Sist. Informação Contrôle de Integridade em SGBDs: procedimentos armazenados, gatilhos e funções Prof. sergio@inf.puc-rio.br
Leia maisSistemas de Informação
Sistemas de Informação Rules and Triggers André Restivo Sistemas de Informação 2006/07 Rules e Triggers Nem todas as restrições podem ser definidas usando os mecanismos que estudamos anteriormente: - CHECK
Leia maisTriggers no PostgreSQL
Triggers no PostgreSQL Traduzido do manual do PostgreSQL Pode-se utilizar PL/pqSQL para a definição de triggers (gatilhos). Um procedimento do tipo trigger é criado com o comando CREATE FUNCTION, declarando
Leia maisDefinição do esquema da base de dados. o esquema da BD é composto pelas definições de todas as tabelas da BD.
Definição do esquema da base de dados o esquema da BD é composto pelas definições de todas as tabelas da BD. existem outros elementos (views, índices, triggers) que também fazem parte do esquema e que
Leia maisSQL 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 maisSumário. SQL - Criação de Tabelas. Structured Query Language. SQL Versões. André Restivo. October 18, 2010
Sumário SQL - Criação de Tabelas André Restivo Faculdade de Engenharia da Universidade do Porto October 18, 2010 1 Introdução 2 Tabelas 3 Colunas 4 5 Modificação de Tabelas 6 Domínios André Restivo (FEUP)
Leia maisAula 12 Revisão. Prof. Filipe Wall Mutz
Aula 12 Revisão Prof. Filipe Wall Mutz Tópicos Operadores para Consultas Consultas Aninhadas Restrições Views Controle de Acesso Stored Procedures Triggers Operadores Avançados: Consultas com Operadores
Leia maisPL/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 maisLista 02 Sistema de Banco de Dados CAP 241 Computação Aplicada I
Lista 02 Sistema de Banco de Dados CAP 241 Computação Aplicada I Considere o diagrama relacional da Figura 1 e escreva os comandos SQL para executar os exercícios abaixo. Figure 1 Diagrama relacional.
Leia maisBD II (SI 587) Procedimentos Armazenados
BD II (SI 587) Procedimentos Armazenados Josenildo Silva jcsilva@ifma.edu.br MOTIVAÇÃO Contexto: Sistemas em 2 camadas Contexto: Sistemas em 3 camadas Problema 1: Alto volume de dados na rede Como reduzir
Leia maisLinguagens Procedurais no PostgreSQL: Funcoes. Linguagens Procedurais no PostgreSQL: Funcoes
Linguagens Procedurais no PostgreSQL: Funcoes Introdução à programação procedural no servidor e linguagem plpgsql para implementação de funções. ARQUITETURA/PROCESSOS postmaster: (Host, único, aguardando
Leia maisBANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING
BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING http://www.uniriotec.br/~tanaka/tin0036 tanaka@uniriotec.br Revisão de Arquitetura C/S BD Cliente-Servidor com função distribuída Cliente Servidor Aplicativo
Leia maisPROGRAMAÇÃ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 maisSQL Básica. Andre Noel
SQL Básica Andre Noel Introdução A SQL é um dos principais motivos de sucesso dos BDs relacionais comerciais Introdução A SQL é um dos principais motivos de sucesso dos BDs relacionais comerciais Se tornou
Leia maisACH2025. Laboratóriode Bases de Dados. SQL Oracle Asserçõese gatilhos. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO
ACH2025 Laboratóriode Bases de Dados Aula10 SQL Oracle Asserçõese gatilhos Professora: Fátima L. S. Nunes REGRAS DE INTEGRIDADE (RI) garantem que mudanças feitas no BD não resultem em inconsistência de
Leia maisTriggers 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 maisUma solução possível para garantir, em ambiente APEX, a consistência duma estrutura ISA, total e disjuntiva.
Uma solução possível para garantir, em ambiente APEX, a consistência duma estrutura ISA, total e disjuntiva. Seja então o conjunto de entidades pessoa, com os atributos bi_pessoa, nome_pessoa e morada_pessoa,
Leia maisInstituto Federal de Educação, Ciência e Tecnologia de São Paulo
Instituto Federal de Educação, Ciência e Tecnologia de São Paulo Segurança em Sistemas de Banco de Dados César Alberto da Silva Presidente Epitácio, 18 de Setembro de 2013 Agenda Por que proteger os dados?
Leia maisInstrução Create Table
Tipos em SQL char(n): cadeia de caracteres de comprimento fixo n varchar(n): cadeia de caracteres de comprimento variável, com o máximo n especificado pelo utilizador int: inteiro (um subconjunto finito
Leia maisBases de Dados. Conversão para Modelo Relacional. Diagrama E-A. IST DEI Bases de Dados
Bases de Dados Conversão para Modelo Relacional Diagrama E-A 2 1 Conversão de entidades Entidade forte converte-se numa tabela loan (loan_number, amount) atributos simples mantêm-se chave da tabela é a
Leia maisÁlgebra Relacional operações adicionais. Encontrar tuplos que obedecem a uma dada relação questões do tipo: quem já leu todos os livros que eu já li?
Bases de Dados Álgebra Relacional operações adicionais Divisão ( ) Encontrar tuplos que obedecem a uma dada relação questões do tipo: quem já leu todos os livros que eu já li? exemplo: nomes dos clientes
Leia maisPROGRAMAÇÃ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 maisPrincípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Standards ISO e ANSI SQL-86, SQL-89, SQL-92, SQL:1999, SQL:2003
Bases de Dados Introdução à linguagem SQL História Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R Renomeada para SQL (Structured Query Language) Standards ISO e ANSI SQL-86, SQL-89,
Leia maisFACULDADE INGÁ Unidade de Ensino Superior Ingá Ltda Ciência da Computação TRIGGERS. Prof. Erinaldo Sanches Nascimento
FACULDADE INGÁ Unidade de Ensino Superior Ingá Ltda Ciência da Computação TRIGGERS Prof. Erinaldo Sanches Nascimento Objetivos Especificar restrições mais gerais sobre o banco de dados. Especificar regras
Leia maisTarefa Orientada 17 Scripts
Tarefa Orientada 17 Scripts Objectivos: Declaração de variáveis escalares Declaração de variáveis do tipo tabela Tabelas temporárias Estruturas Condicionais Estruturas de Repetição Tratamento de erros
Leia maisMODELAGEM DE DADOS -INTRODUÇÃO AO SQL. Prof. Angelo Augusto Frozza, M.Sc.
MODELAGEM 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
Leia maisFunções Definidas pelo Usuário
BD II (SI 587) Funções Definidas pelo Usuário Prof. Josenildo Silva jcsilva@ifma.edu.br Funções definidas pelo usuário Funções precisam obrigatoriamente retornar um valor Somente aceitam parâmetros do
Leia maisSQL. Linguagem de Definição de Dados (DDL) Tipos em SQL. Tipos Data/Tempo em SQL (cont.)
SQL Linguagem de Definição de Dados (DDL) Linguagem de Definição dos Dados Tipos em SQL Manipular Tabelas (relações) Integridade e Segurança Linguagem de Manipulação dos Dados Estrutura básica Operações
Leia maisIntrodução a SQL (parte 2)
Introdução a SQL (parte 2) Bases de Dados (CC2005) Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto Eduardo R. B. Marques DCC/FCUP Introdução a SQL parte 2 Tipos,
Leia maisDDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR
SQL Structured Query Language, ou Linguagem de Consulta Estruturada, foi desenvolvida pela IBM nos anos 70 para demonstrar a viabilidade do modelo relacional para bancos de dados. No final dos anos 80
Leia maisPSI Linguagem de Definição de dados. Módulo 15
PSI Linguagem de Definição de dados Módulo 15 Objetivos de aprendizagem No final deste módulo os alunos devem ter adquirido conhecimentos, procedimentos e atitudes que lhe permitam: Criação, alteração
Leia maisf. Exemplo: verificar condição de aprovação de alunos
Tecnologia em Análise e Desenvolvimento de Sistemas Disciplina: B1SGB - Sistemas Gerenciadores de Banco de Dados Memória de aula Semana 17 1) Expressões CASE a. Tem a mesma finalidade que nas linguagens
Leia maisBANCO DE DADOS WEB AULA 9. concessão e revogação de privilégios. professor Luciano Roberto Rocha.
BANCO DE DADOS WEB AULA 9 concessão e revogação de privilégios professor Luciano Roberto Rocha www.lrocha.com O que são privilégios Quem cria o objeto no banco de dados se torna o seu dono. Por padrão,
Leia maisPostgreSQL. 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 maisSubsistema de Integridade Semântica
Restrições de Integridade Semântica Controle de valores válidos para os dados estados dos dados condizentes com os requisitos da aplicação transições de estados corretas O SGBD deve controlar esta integridade
Leia maisBanco de dados. Conteúdo: DDL Prof. Patrícia Lucas
Banco de dados Conteúdo: DDL Prof. Patrícia Lucas O mysql MySQL Workbench é uma ferramenta de design de banco de dados visual que integra o desenvolvimento SQL, administração, design de banco de dados,
Leia maisBanco 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 maisViews. uma view é uma tabela virtual. não existe fisicamente na BD. é definida à custa de outras tabelas ou views. CREATE VIEW <nome> AS <query>;
Views uma view é uma tabela virtual. não existe fisicamente na BD. é definida à custa de outras tabelas ou views. sintaxe: CREATE VIEW AS ; 1 Exemplo Criar uma view que dá o nome, ano e duração
Leia maisBANCO 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 maisTriggers. um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre.
Triggers um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre. o evento pode ser INSERT, UPDATE, ou DELETE. o trigger pode ser accionado imediatamente
Leia maisBanco de Dados II. PL/SQL - Procedures -Cursor - Funções. Segurança: Introdução; Controle de Acesso; Criptografia; Recursos de SQL.
Banco de Dados II PL/SQL - Procedures -Cursor - Funções Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com Apresentação Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com Ementa
Leia maisSQL Linguagem de Definição de Dados
SQL Linguagem de Definição de Dados Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais
Leia maisSQL CREATE DATABASE. MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL.
LINGUAGEM SQL SQL CREATE DATABASE MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL. SQL CREATE TABLE SQL NOT NULL O valor NOT NULL obriga que o campo contenha sempre
Leia maisBD II (SI 587) Segurança em Banco de Dados. Josenildo Silva.
BD II (SI 587) Segurança em Banco de Dados Josenildo Silva jcsilva@ifma.edu.br Nota Estes slides são baseados nos slides disponibilizados pelos autores ELMASRI e NAVATHE, para o livro Sistemas de Banco
Leia maisDCC011 Introdução a Banco de Dados SQL gerenciar tabelas e dados
DCC011 Introdução a Banco de Dados SQL gerenciar tabelas e dados Mirella M. Moro Departamento de Ciência da Computação Universidade Federal de Minas Gerais mirella@dcc.ufmg.br Programa Introdução Conceitos
Leia maisSQL Gatilhos (Triggers)
SQL Gatilhos (Triggers) Laboratório de Bases de Dados Gatilho (trigger) Bloco PL/SQL que é disparado de forma automática e implícita sempre que ocorrer um evento associado a uma tabela INSERT UPDATE DELETE
Leia maisSQL Procedural. Josino Rodrigues Neto josinon@gmail.com
SQL Procedural Josino Rodrigues Neto josinon@gmail.com SQL Procedural Agregada em SQL-92 As ferramentas têm nomes para suas linguagens SQL procedurais/embutidas Oracle : PL/SQL Postgres PL/Pgsql SQL Server
Leia maisBases de Dados. DDL Data Definition Language
Bases de Dados DDL Data Definition Language SQL SQL = Structured Query Language Foi originalmente criada pela IBM nos anos 70 como parte de um protótipo de sistema relacional Posteriormente foi implementada
Leia maisBases de Dados. Álgebra Relacional. Selecção (σ) Seleccionar os tuplos que satisfazem uma condição. exemplo: empréstimos da agência de Perryridge
Bases de Dados Álgebra Relacional Selecção (σ) Seleccionar os tuplos que satisfazem uma condição exemplo: empréstimos da agência de Perryridge σ branch_name = Perryridge (loan) 2 1 Outros exemplos de selecção
Leia maisSQL: Vistas, Indices, Autorização, Restrições
SQL: Vistas, Indices, Autorização, Restrições Fernando Lobo Base de Dados, Universidade do Algarve 1 / 20 Vistas Uma vista (view em inglês) é uma tabela virtual. Não existe fisicamente na BD. É definida
Leia maisGBC043 - Sistemas de Banco de Dados Funções e Gatilhos no PostgreSQL
GBC043 - Sistemas de Banco de Dados Funções e Gatilhos no PostgreSQL Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM/BCC Página 2 Prgrama Teórico/Prático - SQL Linguagem
Leia maisA Linguagem SQL. Tecnologia de Base de Dados. MSc. Eugénio. Macumbe
A Linguagem SQL Tecnologia de Base de Dados MSc. Eugénio. Macumbe A Linguagem SQL As raízes da linguagem SQL remontam a 1974, altura em que na IBM corp. se desenvolvia o protótipo de um sistema relacional
Leia maisSubsistema de Integridade Semântica
Restrições de Integridade Semântica Controle de valores válidos para os dados estados dos dados condizentes com os requisitos da aplicação transições de estados corretas O SGBD deve controlar esta integridade
Leia maisAula 12 Revisão. Prof. Filipe Wall Mutz
Aula 12 Revisão Prof. Filipe Wall Mutz Operadores Avançados: Consultas com Operadores Aritméticos SQL permite o uso de operadores aritméticos (+, -, *, /) tanto na cláusula WHERE como nos resultados da
Leia maisSQL Básica DDL. Prof. Marcos A. Schreiner. 21 de outubro de Curso de Licenciatura em Computação
SQL Básica DDL Prof. Marcos A. Schreiner Curso de Licenciatura em Computação 21 de outubro de 2015 Prof. Marcos A. Schreiner (UFPR) 21 de outubro de 2015 1 / 28 1 Introdução 2 SQL DDL CREATE Criar Banco
Leia maisIntrodução ao PostgreSQL
Introdução ao PostgreSQL Fontes Karine Reis Ferreira karine@dpi.inpe.br Gilberto Câmara gilberto@dpi.inpe.br Gilberto Ribeiro de Queiroz gribeiro@dpi.inpe.br Marcos André Gonçalves - UFMG Parte 3 Aula
Leia maisLaboratório de Banco de Dados Prof. Luiz Vivacqua. PL/pgSQL A Linguagem de programação do PostgreSQL
Laboratório de Banco de Dados Prof. Luiz Vivacqua PL/pgSQL A Linguagem de programação do PostgreSQL 1) Visão Geral A PL/pgSQL é uma linguagem de programação procedural para o Sistema Gerenciador de Banco
Leia maisBancos (Bases) de Dados
Bancos (Bases) de Dados Aula #8 SQL Prof. Eduardo R. Hruschka * Slides baseados no material elaborado pelas professoras: Cristina D. A. Ciferri Elaine P. M. de Souza SQL (Structured Query Language) Linguagem
Leia maisTriggers e mais... Instituto Militar de Engenharia IME 1o. Semestre/2005 Triggers Propósito mais amplo que restrições Restrições onde se explicita o evento Regras event-condition-action (ECA) Eventos:
Leia maisBanco de Dados. Linguagem SQL
Banco de Dados Linguagem SQL 1 A linguagem SQL: história Em junho de 1970, o matemático Edgar Frank Codd, publicou o artigo "A Relational Model of Data for Large Shared Data Banks" na revista "Communications
Leia maisBanco de Dados I Introdução SQL
Banco de Dados I Introdução SQL Frederico Queiroga fredericoqueiroga@gmail.com https://sites.google.com/site/fredericoqueiroga/ Linguagem SQL Aspectos Gerais: Independência do fabricante: Está incorporada
Leia maisTriggers(Gatilhos) Tiago Alves de Oliveira
Triggers(Gatilhos) Tiago Alves de Oliveira tiago.alves@uemg.br Triggers (Gatilhos) Um TRIGGER ou gatilho associado a uma tabela, definido para ser disparado, respondendo a um evento em particular; Comandos
Leia maisExemplos 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 maisINSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com 02/06/2016 SUMÁRIO SQL DDL DML SQL (STRUCTURED
Leia maisPCS3413. Engenharia de So-ware e Banco de Dados. Aula 16. Escola Politécnica da Universidade de São Paulo
PCS3413 Engenharia de So-ware e Banco de Dados Aula 16 Escola Politécnica da Universidade de São Paulo 1 SQL - STRUCTURED QUERY LANGUAGE SQL - Structured Query Language Linguagem de acesso a Banco de Dados
Leia maisTriggers e Regras. Fernando Lobo. Base de Dados, Universidade do Algarve
Triggers e Regras Fernando Lobo Base de Dados, Universidade do Algarve 1 / 14 Triggers Um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre.
Leia maisLinguagem de Definição de Dados (DDL)
Modelagem de Banco de Dados Linguagem de Definição de Dados (DDL) Professor: Anderson D. Moura Março, 2009 Linguagem de Definição de Dados Linguagem para especificar a informação acerca de cada tabela,
Leia maisOracle 10g: SQL e PL/SQL
Oracle 10g: SQL e PL/SQL PL/SQL: Visão Geral Enzo Seraphim Visão Geral Vantagens de PL/SQL Suporte total à linguagem SQL Total integração com o Oracle Performance Redução da comunicação entre a aplicação
Leia maisLinguagem de Definição de Dados Estrutura básica Operações com conjuntos Funções de agregação Valores nulos Subconsultas embebidas Relações derivadas
Capítulo 4: SQL Linguagem de Definição de Dados Estrutura básica Operações com conjuntos Funções de agregação Valores nulos Subconsultas embebidas Relações derivadas Junções Vistas Modificação da Base
Leia maisAula 6 BD1 Modelo Relacional. Profa. Elaine Faria UFU
Aula 6 BD1 Modelo Relacional Profa. Elaine Faria UFU - 2017 Introdução Modelo Relacional Proposto por Codd em 1970 Revolucionou a área de banco de dados É o modelo dominante base para os SGBDs líderes
Leia mais