• Nenhum resultado encontrado

Aula02 - Elementos de Bases de Dados

N/A
N/A
Protected

Academic year: 2021

Share "Aula02 - Elementos de Bases de Dados"

Copied!
25
0
0

Texto

(1)

UNIVERSIDADE GREGÓRIO SEMEDO

Faculdade de Engenharia e Novas Tecnologias

Base de Dados II

Aula 02

(2)

Objectivos

• O propósito e a origem da arquitectura de base de dados a três níveis.

• O conteúdo dos níveis externo, conceptual e interno (físico).

• O propósito do mapeamento entre níveis externo e conceptual, e entre os níveis conceptual e interno.

• O significado de independência lógica e independência física de dados.

• A distinção entre uma DDL (Data Definition Language) e uma DML (Data Manipulation Language).

• Classificação dos modelos de dados.

• As funções/serviços típicos fornecidos por um DBMS.

• As componentes dum DBMS.

• O significado da arquitectura cliente-servidor e as suas vantagens num ambiente DBMS multi-utilizador.

(3)

Conceitos Básicos

 Bases de Dados

• Colecção partilhada de dados (ficheiros) logicamente relacionados concebida de forma a satisfazer as necessidades de informação duma organização (e.g. empresa imobiliária)

 DBMS(DataBase Management System)

• Colecção de programas que permite ao utilizador definir, criar, aceder, manipular e fazer a manutenção os dados existentes numa base de dados.

DB Entrada de dados / Saída de relatórios

DBMS

Entrada de dados / Saída de relatórios VENDAS Base de dados Definição de tabelas (Propriedade, Proprietário, Arrendatário e Contrato) + definição de ficheiros Prog.s de aplicação do Dept. Vendas

(4)

Projecto (Desenho) de Base de Dados

 Um dos principais objectivos dum sistema de base de dados é fornecer aos utilizadores uma perspectiva ABSTRACTA dos dados, ocultando-lhes COMO os dados são armazenados e manipulados.

 Isto significa que o desenho (design) duma base de dados começa por uma descrição abstracta e, por isso, geral dos requisitos de informação duma organização:

• Entidades • Atributos • Relações

(5)

Arquitectura ANSI-SPARC dum DBMS (1975):

Motivação

• Todos os utilizadores devem ter acesso aos mesmos dados.

• A perspectiva do utilizador deve ser imune às alterações feitas noutras perspectivas.

• Os utilizadores não precisam de saber dos detalhes de armazenamento físico da base de dados.

• O DBA deve ser capaz de alterar as estruturas de armazenamento da base de dados sem afectar as perspectivas dos utilizadores.

• A estrutura interna da base de dados não deve ser afectada por alterações físicas de armazenamento.

• O DBA deve ser capaz de alterar a estrutura conceptual da base de dados sem afectar os utilizadores.

(6)

Arquitectura ANSI-SPARC dum DBMS (1975):

Níveis de abstracção de dados

 Nível externo (utilizador): descrição personalizada e parcial dos dados.

 Cada perspectiva (view) externa inclui as entidades, atributos e relações que são relevantes para o utilizador ou

departamento em causa.

 Além disso, perspectivas distintas podem ter representações diferentes dos mesmos dados. Por exemplo, o dado data pode ser descrito nas seguintes formas:

• (dia, mês, ano) • (ano, mês, dia) Esquema Conceptual View 1 View 1

Esquema Interno

View 1

BD

Esquema Externo

(7)

 Nível conceptual (DBA): descrição comunitária / total dos dados. Este nível descreve QUE dados e suas relações estão armazenados na BD.

 Este nível compreende:

• Todos os dados;

• Todos os atributos;

• Todas as relações;

• As restrições sobre os dados;

• Informação semântica dos dados;

• Informação de integridade e segurança.

 Este nível não compreende dados dependentes do armazenamento. Por exemplo, a descrição duma entidade contém os tipos de dados dos seus

atributos (p.ex. integer, real, char), mas não o número de bytes ocupados por cada um dos atributos.

Arquitectura ANSI-SPARC dum DBMS (1975):

Níveis de abstracção de dados (

cont

.1)

View 1 View 1

Esquema Interno

Esquema Conceptual View 1

BD

Esquema Externo

(8)

Arquitectura ANSI-SPARC dum DBMS (1975): níveis de

abstracção de dados (

cont

.2)

 Nível interno (constructor): Representação física da BD. Descrição de COMO os dados estão

armazenados (estruturas de dados e ficheiros usadas ao mais baixo-nível).

 Este nível compreende:

• Alocação de memória para dados/índices;

• Descrições de registos (com tamanhos dos dados);

• Colocação de registos;

• Técnicas de compressão e encriptação de dados;

• Algoritmos de acesso ao sistema de ficheiros via sistema operativo.

View 1 View 1

Esquema Interno

Esquema Conceptual View 1

BD

Esquema Externo

(9)

Arquitectura ANSI-SPARC dum DBMS (1975):

Níveis de abstracção de dados (

cont

.2)

Func_no Nome Apelido Idade Salário Func_no Apelido Ano

Func_no Nome Apelido Idade DNasc Vencimento Filial_no

View 1 (Dept. Contabilidade) View 2 (Dept. Recursos Humanos)

Nível conceptual (DBA)

Nível interno (Construtor, Linguagem C)

struct STAFF{

int Staff_no; int Branch_no; char FName[15]; char LName[15]; struct date Date_of_Birth;

float Salary;

struct STAFF *next; };

(10)

 Esquema da BD: descrição global da BD.

NOTA: É importante distinguir entre a descrição da BD e a própria BD.

 Esquema externo: conjunto dos subesquemas externos que

descrevem as perspectivas dos utilizadores.

 Esquema conceptual: descrição de todos os dados e suas

inter-relações, assim como das restrições de integridade associadas. Existe só um esquema conceptual.

 Esquema interno: contém as definições dos registos armazenados,

métodos de representação, campos dos registos, indíces e esquemas de hashing. Só existe um esquema interno.

 Instância: conjunto de informação existente numa base de dados num

dado instante. As bases de dados mudam ao longo do tempo, através da introdução de mais informação ou do apagamento de informação existente na base de dados.

(11)

Independência dos Dados

 É um dos principais objectivos da arquitectura ANSI-SPARC.

 Significa que um nível de abstracção não é afectado por alterações ocorridas em níveis inferiores.

 Há dois tipos de independência de dados:

lógicafísica View 1 View 1

Esquema Interno

Esquema Conceptual View 1

BD

Esquema Externo

(12)

Independência lógica de dados: invariância dos subesquemas externos a quaisquer alterações no esquema conceptual.

Obviamente, os utilizadores não tem que ter conhecimento destas alterações, com

excepção daqueles para os quais as alterações foram feitas.

Alterações?: adição e remoção de entidades, atributos e relações devem ser possíveis sem afectar os esquemas externos existentes ou reescrever programas de aplicação.

Independência Lógica dos Dados

View 1 View 1

Esquema Interno

Esquema Conceptual View 1

BD

Esquema Externo

(13)

 Independência física de dados: invariância do esquema conceptual externos a quaisquer alterações no esquema interno.

 Do ponto de vista do utilizador, a única alteração admissível é no desempenho do DBMS.

 Alterações?: alteração das estruturas de dados, alteração na organização de

ficheiros, alteração utilização de dispositivos de armazenamento, alteração dos

algoritmos de indexação e hashing

Independência Física dos Dados

View 1 View 1

Esquema Interno

Esquema Conceptual View 1

BD

Esquema Externo

(14)

 O esquema duma base de dados é especificado através de um

conjunto de definições expressas numa linguagem especial designada por Linguagem de Definição de Dados (DDL).

 Em SQL (Structured Query Language), a DDL inclui basicamente quatro comandos:

• CREATE DATABASE, DROP DATABASE

• CREATE TABLE, DROP TABLE, ALTER TABLE

• CREATE VIEW, DROP VIEW

• CREATE INDEX, DROP INDEX

DDL (Data Definition Language)

Definições em DDL

Dicionário de Dados

(15)

 Operações de manipulação de dados:

consulta aos dados da BD

inserção de novos dados na BD

actualização de dados na BD

eliminação de dados da BD

 Em SQL (Structured Query Language), a DML inclui basicamente quatro comandos:

• SELECT

• INSERT

• UPDATE

• DELETE

(16)

 Unifica a DDL e a DML numa única linguagem.

 Engloba ainda outros aspectos, como por exemplo os relacionados com a administração da base de dados.

 É uma linguagem não-procedimental. Funciona em modo interactivo.

 Existem várias extensões à linguagem SQL de tal modo que os

comandos SQL podem ser embutidos em linguagens de programação tradicionais (Pascal, C, etc.).

 É uma norma ISO e ANSI.

ISO (International Standards Organization) ANSI (American National Standards Institute)

(17)

 Algumas classes de 4GL:

Linguagens de inquirições. Exemplo: SQL.

Geradores de relatórios.

Geradores de formulários.

Geradores de gráficos.

Geradores de aplicações.

(18)

 Modelo de Dados:

Uma colecção integrada de conceitos cujo objectivo é descrever os dados, as relações entre os dados e as restrições impostas aos dados duma organização.

 Classes de Modelos de Dados:

• baseados em objectos

Entidade-Relação

Semântico Funcional

Orientado por objectos

• baseados em registos

Modelo relacional de dados

Modelo em rede de dados Modelo hierárquico de dados

• físicos

(19)

Armazenamento, devolução e actualização de dados. É a função principal de qualquer DBMS.

Catálogo acessível ao utilizador. Contém os dados referentes aos esquemas, utilizadores, aplicações, etc.

Suporte a transações. Um DBMS deve fornecer um mecanismo que garanta que todos as actualizações referentes a uma determinada transação são efectuadas ou nenhuma delas é efectuada.

Controlo da concorrência. Um DBMS deve fornecer um mecanismo que garanta que a base de dados seja actualizada correctamente quando vários utilizadores estão a actualizá-la concorrentemente.

Recuperação a falhas. Um DBMS deve fornecer um mecanismo de recuperação da base de dados em caso de ocorrência de falha numa transação.

Autorização. Um DBMS deve fornecer um mecanismo que garanta que somente utilizadores autorizados tenham acesso à base de dados.

Comunicação de dados. Um DBMS deve ser capaz de se integrar com o software de comunicação em rede.

Integridade. Um DBMS deve fornecer um mecanismo que garanta que os dados e as alterações aos dados seguem determinadas regras de consistência.

(20)
(21)

• Teleprocessamento

• Ficheiro-Servidor

• Cliente-Servidor

(22)

1 computador com 1 CPU + n terminais;

• processamento centralizado;

• terminais funcionalmente dependentes, i.e. sem

capacidade de processamento;

Desvantagem: enorme

sobrecarga do processador, para executar todas as tarefas, tais como aplicações (interfaces

gráficas), DBMS, edição de texto e de programas, formatação dos dados mostrados no ecrã, etc.

Teleprocessamento (mainframe)

terminal 1

terminal 2 terminal 3

(23)

1 computador servidor de ficheiros + n workstations + LAN;

• 1 servidor de ficheiros que contêm as tabelas da base de dados; funciona como uma drive de disco partilhada;

• processamento DBMS distribuído, pois cada workstation corre uma cópia do DBMS;

 Desvantagens:

• enorme quantidade de tráfego na rede;

• alto custo de manutenção: cada workstation requer uma cópia completa do DBMS;

• controlo da concorrência, integridade dos dados e recuperação a falhas são mais complexos, visto que há vários DBMS a aceder aos mesmos

Ficheiro - Servidor

LAN

Pedidos de dados Ficheiros devolvidos

Workstation 1 (SGBD) Workstation 2 (SGBD) Workstation 3 (SGBD)

Local Area Network

(24)

 1 computador servidor DBMS + n workstations + LAN;

 Servidor: processamento DBMS centralizado;

 Cliente: gestão de interface como utilizador e da lógica da aplicação;

 Vantagens:

• Acesso generalizado às bases de dados existentes;

• Melhor desempenho (workstations processam aplicações em paralelo).

• Custos de hardware reduzidos (só o servidor requer elevadas capacidades de processamento e armazenamento).

• Menores custos de comunicações (menos informação a circular na rede).

Cliente - Servidor

LAN

Pedidos de dados Dados devolvidos

Workstation 1 (cliente1) Workstation 2 (cliente 2) Workstation 3 (cliente 3)

(25)

• Definição de objectivos.

• Conceitos básicos: base de dados e DBMS.

• Desenho de bases de dados.

• Arquitectura ANSI-SPARC.

• Esquemas e instâncias.

• Independência de dados.

• Data Definition Language (DDL).

• Data Manipulation Language (DML).

• Structured Query Language (SQL).

• Linguagens 4G.

• Modelos de dados.

• Funções/serviços dum DBMS.

• Componentes dum DBMS.

• Topologias da arquitectura dum DBMS multi-utilizador.

Sumário

Referências

Documentos relacionados

Os prováveis resultados desta experiência são: na amostra de solo arenoso ou areia, a água irá se infiltrar mais rapidamente e terá maior gotejamento que na amostra de solo

É preciso analisar como as relações de poder, as relações sociais, a moral e a moral sexual podem ter papel na construção da conduta e comportamento social, político

Os principais resultados obtidos pelo modelo numérico foram que a implementação da metodologia baseada no risco (Cenário C) resultou numa descida média por disjuntor, de 38% no

libras ou pedagogia com especialização e proficiência em libras 40h 3 Imediato 0821FLET03 FLET Curso de Letras - Língua e Literatura Portuguesa. Estudos literários

Figura 38 – Acompanhamento diário de peso dos animais tratados com ENSJ39 via oral e intraperitoneal, LE39 e LBR via intraperitoneal para avaliação da toxicidade aguda.. Dados

Os resultados permitiram concluir que a cultivar Conquista apresentou a maior produtividade de grãos, no conjunto dos onze ambientes avaliados; entre as linhagens

O presente artigo pretende discutir o exercício do controle de constitucionalidade de leis e atos normativos por de entidades e órgãos não

A classificação da Organização Mundial da Saúde (OMS) para os tumores do tecido hematopoético e linfoide (4ª edição, 2008) (4) representa uma revisão atualizada da