modelo de base de dados relacional nas bases de dados relacionais a estrutura fundamental é a...
TRANSCRIPT
Modelo de base de dados relacional
• Nas bases de dados relacionais a estrutura fundamental é a relação ou tabela
• Uma relação é definida por um esquema que é composto pelo nome da relação e por um ou mais atributos
Tabela: objectos, atributos e valores
Modelo relacional: Relação (ou Tabela)
Dada uma colecção de conjuntos de valores (domínios) D1, D2 ,..., Dn , define-se o seu produto cartesiano
D1x D2 x...x Dn
A cada tuplo (a1, a2, ..., an) deste produto cartesiano dá-se o
nome de instância. R é uma relação (ou tabela) se for um subconjunto de
instâncias.
Cada elemento da relação (ou tabela) é designado por registo
da tabela.
BDs em geral: registos/campos/valoresDados geográficos:
objectos/atributos/valores,em que os objectos podem ser polígonos,
linhas, pontos, ...
Structured Query Language (SQL)
SQL é uma linguagem normalizada (ANSI) para consultas e actualizações de bases de dados relacionais.
SQL : sintaxe
SELECT [predicate] { * | table.* | [table.]field1 [AS alias1] [, [table.]field2 [AS alias2] [, ...]]}
FROM tableexpression [, ...] [WHERE... ][GROUP BY...][HAVING... ][ORDER BY... ];
A instrução SELECT
As consultas a uma base de dados relacional fazem-se em SQL recorrendo à instrução SELECT. Esta instrução permite criar conjuntos de registos de uma ou mais tabelas da base de dados seleccionados segundo diversos critérios.
Seleccionar todos os objectos
Sintaxe — 1ª variante:SELECT { * | table.* | [table.]field1 [, [table.]field2 [, ...]]}FROM table;
onde * especifica que todos os campos devem ser seleccionados
table especifica o nome da tabela que contém os campos e os registos seleccionados
field especifica os nomes dos campos que são seleccionados
A cláusula WHERE
permite especificar uma condição que os registos seleccionados verificam.
Sintaxe — 2ª variante:SELECT fieldlistFROM tableWHERE condition;
onde condition é uma condição que os registos seleccionados verificam;
podem ser utilizados por exemplo:• operadores relacionais (<, <=, >, >=, =, <>) , • operadores lógicos (NOT, AND, OR) e os • operadores IN, BETWEEN e LIKE.
Select * From conc Where “AREA” > 500000000
Nota: numa pesquisa um conjunto de caractéres pode ser representado por * ou por %.
Exemplo: Select * From solos Where “NOME” like ‘L%’
Select * From rios Where "TIPO" = 'Principal' OR "DESIGNACAO" in ( 'Fronteira terrestre', 'Fronteira marítima')
Modelo relacional - Chave candidata
• Quando um atributo de uma dada relação toma valores diferentes para cada instância dessa relação diz-se que esse atributo é uma chave candidata.
Modelo relacional - Chave primária
• Considera-se chave primária de uma relação um subconjunto mínimo de atributos cujos valores permitam distinguir todas as instâncias dessa relação.
Tabelas: chaves estrangeiras
• Uma chave estrangeira de uma relação é um conjunto de atributos que é chave primária de outra relação.
Exemplo: duas tabelas relacionadas
Polígono(número,cód-conc)Concelho(cód-conc,nome)
polígono representa concelho1:11:n
númerocód-conc
cód-concnome
Cruzamento de tabelas (Join)
Exemplo:
Cruzamento:
25 RC1180226 RC11808
RC11802 BragançaRC11808 Vinhais
Chave estrangeira Chave primária
25 RC11802 Bragança26 RC11808 Vinhais