Arquitecturas ede Sistemas de Bases de Dados

25
Module Introduction Bases de Dados II 6638: BSc in Information Systems and Technologies Cap. 1 — Arquitectura de Sistemas de Bases de Dados

Transcript of Arquitecturas ede Sistemas de Bases de Dados

Page 1: Arquitecturas ede Sistemas de Bases de Dados

Module Introduction

Bases de Dados II6638: BSc in Information Systems and Technologies

Cap. 1 — Arquitectura de Sistemas de Bases de Dados

Page 2: Arquitecturas ede Sistemas de Bases de Dados

Arquitectura de Sistemas de Bases de Dados6638 Bases de Dados II

Objectivos

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

•• O conteúdo dos níveis externo, conceptual e interno.O conteúdo dos níveis externo, conceptual e interno.

•• O propósito dos mapeamentos entre níveis externo e conceptual, e entre os níveisO propósito dos mapeamentos entre níveis externo e conceptual, e entre os níveisconceptual e interno.conceptual e interno.

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

•• A distinção entreA distinção entre umauma DDL (DDL (Data Definition Data Definition LLanguage) anguage) ee umuma a DML (DML (Data ManipulationData ManipulationLanguage).Language).

•• Classificação de modelos de dados.Classificação de modelos de dados.

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

•• As componentes dum DBMS.As componentes dum DBMS.

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

Page 3: Arquitecturas ede Sistemas de Bases de Dados

Arquitectura de Sistemas de Bases de Dados6638 Bases de Dados II

Conceitos básicos

•• Bases de DadosBases de Dados

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

•• DBMSDBMS

– Colecção de programas que permite ao utilizador definir, criar, aceder, manipular e fazer amanutenção os dados existentes numa DB.

VENDAS

Entrada dedados/Saídade relatórios

CONTRATOS

Entrada dedados/Saídade relatórios

Base de dados

Prog.s de aplicaçãodo Dept. Vendas

Prog.s de aplicaçãodo Dept. Contratos

DBMS

Definição de tabelas(Propriedade, Proprietário,Arrendatário e Contrato) +definição de ficheiros

Page 4: Arquitecturas ede Sistemas de Bases de Dados

Arquitectura de Sistemas de Bases de Dados6638 Bases de Dados II

Projecto (Desenho) de bases de dados

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

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

– Entidades

– Atributos

– Relações

Page 5: Arquitecturas ede Sistemas de Bases de Dados

Arquitectura de Sistemas de Bases de Dados6638 Bases de Dados II

Arquitectura ANSI-SPARC dum DBMS (1975): motivação

•• Todos os utilizadores devem ter acesso aos mesmos dados.Todos os utilizadores devem ter acesso aos mesmos dados.

•• A perspectiva do utilizador deve ser imune às alterações feitas noutras perspectivas (ouA perspectiva do utilizador deve ser imune às alterações feitas noutras perspectivas (ouvistas ou vistas ou viewsviews).).

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

•• O DBA deve ser capaz de alterar as estruturas de armazenamento da base de dados semO DBA deve ser capaz de alterar as estruturas de armazenamento da base de dados semafectar as vistas dos utilizadores.afectar as vistas dos utilizadores.

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

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

Page 6: Arquitecturas ede Sistemas de Bases de Dados

Arquitectura de Sistemas de Bases de Dados6638 Bases de Dados II

Arquitectura ANSI-SPARC dum DBMS (1975): níveis deabstracção de dados

•• NívelNível externo externo ((utilizadorutilizador): ): descriçãodescriçãopersonalizada personalizada e e parcial parcial dos dados.dos dados.

•• Cada Cada perspectiva perspectiva ((viewview) ) externaexternainclui inclui as as entidadesentidades, , atributosatributos e e relaçõesrelaçõesque são relevantes para que são relevantes para o o utilizador ouutilizador oudepartamento em causadepartamento em causa..

•• Além Além disso, disso, perspectivas distintas podemperspectivas distintas podemter representações diferentes ter representações diferentes dos dos mesmosmesmosdados. dados. Por exemploPor exemplo, o dado , o dado data data pode pode serserdescrito nas seguintes formasdescrito nas seguintes formas::

–– ((diadia,,mêsmês,,anoano))

–– ((anoano,,mêsmês,,diadia))

Esquema Conceptual

View 1 View 2 View n

Esquema Interno

BD

Esquema Externo

Page 7: Arquitecturas ede Sistemas de Bases de Dados

Arquitectura de Sistemas de Bases de Dados6638 Bases de Dados II

Arquitectura ANSI-SPARC dum DBMS (1975): níveis deabstracção de dados (cont.1)

•• NívelNível conceptualconceptual (DBA): (DBA): descriçãodescriçãocomunitária/total comunitária/total dos dados. dos dados. Descreve Descreve QUEQUE dados e dados esuas relações estão armazenados na suas relações estão armazenados na BD.BD.

– Este nível compreende:

•• Todos os Todos os dados;dados;

•• Todos os atributosTodos os atributos;;

•• Todas Todas as as relaçõesrelações;;

•• As As restrições sobre os restrições sobre os dados;dados;

•• Informação semântica Informação semântica dos dados;dos dados;

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

– Este nível não compreende dados dependentes doarmazenamento. Por exemplo, a descrição duma entidadecontém os tipos dos seus atributos (p.ex. integer, real,char), mas não o número de bytes ocupados por cada umdos atributos.

Esquema Conceptual

View 1 View 2 View n

Esquema Interno

BD

Esquema Externo

Page 8: Arquitecturas ede Sistemas de Bases de Dados

Arquitectura de Sistemas de Bases de Dados6638 Bases de Dados II

Arquitectura ANSI-SPARC dum DBMS (1975): níveis deabstracção de dados (cont.2)

•• Nível internoNível interno (sistema): (sistema): Representação física da Representação física da BD.BD.Descrição Descrição de de COMOCOMO os os dados dados estão armazenadosestão armazenados((estruturas estruturas de dados e de dados e ficheiros ficheiros usados usados ao mais baixo-ao mais baixo-nívelnível).).

– Este nível compreende:

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

• Descrições de registos (c/ 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 sistemaoperativo.

Esquema Conceptual

View 1 View 2 View n

Esquema Interno

BD

Esquema Externo

Page 9: Arquitecturas ede Sistemas de Bases de Dados

Arquitectura de Sistemas de Bases de Dados6638 Bases de Dados II

Arquitectura ANSI-SPARC dum DBMS (1975): níveis deabstracção de dados (cont.3)

Func_no Nome Apelido Idade Salário

View 1 (Dept. Contabilidade)

Func_no Apelido Ano

View 2 (Dept. Recursos Humanos)

struct STAFF{int Staff_no;int Branch_no;char FName[15];char LName[15];struct date Date_of_Birth;float Salary;struct STAFF *next;

};index Staff_no; index Branch_no;

Nível interno (sistema, Linguagem C)

Func_no Nome Apelido Idade DNasc Vencimento Filial_no

Nível conceptual (DBA)

Page 10: Arquitecturas ede Sistemas de Bases de Dados

Arquitectura de Sistemas de Bases de Dados6638 Bases de Dados II

Esquemas e instâncias

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

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

•• Esquema externoEsquema externo:: conjunto conjunto dos dos subesquemas externos que descrevem subesquemas externos que descrevem as as perspectivasperspectivasdos dos utilizadoresutilizadores..

•• Esquema Esquema conceptualconceptual:: descrição descrição de de todos os todos os dados e dados e suas interrelaçõessuas interrelações, , assim como dasassim como dasrestrições restrições de de integridade associadasintegridade associadas. . Existe só Existe só um um esquema esquema conceptual.conceptual.

•• Esquema internoEsquema interno:: contém contém as as definições definições dos dos registos armazenadosregistos armazenados, , métodos métodos dederepresentaçãorepresentação, , campos campos dos dos registosregistos, , indíces indíces e e esquemas esquemas de hashing. de hashing. Só existe Só existe um um esquemaesquemainternointerno..

•• InstânciaInstância:: conjunto conjunto de de informação existente numa informação existente numa base de dados num dado base de dados num dado instanteinstante. As. Asbases de dados bases de dados mudam ao longo mudam ao longo do tempo, do tempo, através da introdução através da introdução de de mais informação ou mais informação ou dodoapagamento apagamento de de informação existente na informação existente na base de dados.base de dados.

Page 11: Arquitecturas ede Sistemas de Bases de Dados

Arquitectura de Sistemas de Bases de Dados6638 Bases de Dados II

Independência dos dados

•• É um dos É um dos principais objectivos da arquitectura principais objectivos da arquitectura ANSI-ANSI-SPARC.SPARC.

•• Significa que Significa que um um nível nível de de abstracção não abstracção não é é afectado porafectado poralterações ocorridas em níveis inferioresalterações ocorridas em níveis inferiores..

•• Há dois tipos Há dois tipos de de independência independência de dados:de dados:

–– lógicalógica

–– físicafísica

Esquema Conceptual

View 1 View 2 View n

Esquema Interno

BD

Esquema Externo

Page 12: Arquitecturas ede Sistemas de Bases de Dados

Arquitectura de Sistemas de Bases de Dados6638 Bases de Dados II

Independência lógica dos dados

•• Independência lógica de dadosIndependência lógica de dados:invariância dos:invariância dossubesquemassubesquemas externos externos a a quaisquer alterações quaisquer alterações nonoesquema esquema conceptual.conceptual.

•• ObviamenteObviamente, , os utilizadores não os utilizadores não tem tem que terque terconhecimento destas alteraçõesconhecimento destas alterações, com , com excepçãoexcepçãodaqueles para os quais daqueles para os quais as as alterações foram feitasalterações foram feitas..

•• AlteraçõesAlterações??: : adição adição e e remoção remoção de de entidadesentidades,,atributos atributos e e relações devem relações devem ser ser possíveis sem afectar ospossíveis sem afectar osesquemas externos existentes ou reescrever programasesquemas externos existentes ou reescrever programasde de aplicaçãoaplicação..

Esquema Conceptual

View 1 View 2 View n

Esquema Interno

BD

Esquema Externo

Page 13: Arquitecturas ede Sistemas de Bases de Dados

Arquitectura de Sistemas de Bases de Dados6638 Bases de Dados II

Independência física dos dados

•• Independência física de dadosIndependência física de dados:invariância do:invariância doesquema conceptual externos a quaisquer alterações noesquema conceptual externos a quaisquer alterações noesquema inteesquema internorno..

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

•• AlteraçõesAlterações??: : alteração das estruturas alteração das estruturas de dados,de dados,alteração na organização alteração na organização de de ficheirosficheiros, , alteraçãoalteraçãoutilização utilização de de dispositivos dispositivos de de armazenamentoarmazenamento, , alteraçãoalteraçãodos dos algoritmos algoritmos de de indexação indexação e hashinge hashing

Esquema Conceptual

View 1 View 2 View n

Esquema Interno

BD

Esquema Externo

Page 14: Arquitecturas ede Sistemas de Bases de Dados

Arquitectura de Sistemas de Bases de Dados6638 Bases de Dados II

DDL (Data Definition Language)

•• O O esquemaesquema duma duma base de dados é base de dados é especificado através especificado através de um de um conjunto conjunto de de definiçõesdefiniçõesexpressas numa linguagem expressas numa linguagem especial especial designada por designada por Linguagem Linguagem de de Definição Definição de Dadosde Dados(DDL).(DDL).

•• Em Em SQLSQL (Structured Query Language), a DDL (Structured Query Language), a DDL inclui basicamente quatroinclui basicamente quatro comandos comandos::

– CREATE DATABASE, DROP DATABASE

– CREATE TABLE, DROP TABLE, ALTER TABLE

– CREATE VIEW, DROP VIEW

– CREATE INDEX, DROP INDEX

Definições em DDL

compilaçãoDicionário de Dados

Page 15: Arquitecturas ede Sistemas de Bases de Dados

Arquitectura de Sistemas de Bases de Dados6638 Bases de Dados II

DML (Data Manipulation Language)

•• OperaçõesOperações de de manipulação manipulação de dados: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 Em SQLSQL (Structured Query Language), a DML (Structured Query Language), a DML inclui basicamente quatro comandosinclui basicamente quatro comandos::

– SELECT

– INSERT

– UPDATE

– DELETE

Page 16: Arquitecturas ede Sistemas de Bases de Dados

Arquitectura de Sistemas de Bases de Dados6638 Bases de Dados II

SQL (Structured Query Language)

•• Unifica a DDL e a DML numa única linguagem.Unifica a DDL e a DML numa única linguagem.

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

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

•• Existem várias extensões à linguagem SQL de tal modo que os comandos SQL podem serExistem várias extensões à linguagem SQL de tal modo que os comandos SQL podem serembutidos em linguagens de programação tradicionais (Pascal, C, etc.).embutidos em linguagens de programação tradicionais (Pascal, C, etc.).

•• É uma norma ISO e ANSI.É uma norma ISO e ANSI.

– ISO (International Standards Organization)

– ANSI (American National Standards Institute)

Page 17: Arquitecturas ede Sistemas de Bases de Dados

Arquitectura de Sistemas de Bases de Dados6638 Bases de Dados II

4GL (Fourth Generation Languages)

•• Algumas classes de 4GL: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.

Page 18: Arquitecturas ede Sistemas de Bases de Dados

Arquitectura de Sistemas de Bases de Dados6638 Bases de Dados II

Modelos de dados

•• Modelo Modelo de Dados:de Dados:

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

•• Classes de Classes de Modelos Modelos de Dados: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

Page 19: Arquitecturas ede Sistemas de Bases de Dados

Arquitectura de Sistemas de Bases de Dados6638 Bases de Dados II

Funções/serviços de um DBMS (Codd 1982)

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

•• Catálogo acessível ao utilizadorCatálogo acessível ao utilizador. . Contém os Contém os dados dados referentes aos esquemasreferentes aos esquemas, , utilizadoresutilizadores,,aplicaçõesaplicações, etc., etc.

•• Suporte Suporte a a transaçõestransações. Um DBMS . Um DBMS deve fornecer deve fornecer um um mecanismo que garanta que todas actualizaçõesmecanismo que garanta que todas actualizaçõesreferentes referentes a a uma determinada transação são efectuadas ou nenhuma delas uma determinada transação são efectuadas ou nenhuma delas é é efectuadaefectuada..

•• Controlo da concorrênciaControlo da concorrência. Um DBMS . Um DBMS deve fornecer deve fornecer um um mecanismo que garanta que mecanismo que garanta que a DB a DB sejasejaactualizada correctamente quando vários utilizadores estão actualizada correctamente quando vários utilizadores estão a a actualizá-la concorrentementeactualizá-la concorrentemente..

•• Recuperação Recuperação a a falhasfalhas. Um DBMS . Um DBMS deve fornecer deve fornecer um um mecanismo mecanismo de de recuperação da recuperação da DB DB em caso em caso dedeocorrência ocorrência de de falha numa transaçãofalha numa transação..

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

•• Comunicação Comunicação de dadosde dados. Um DBMS . Um DBMS deve deve ser ser capaz capaz de se de se integrar integrar com o software de com o software de comunicaçãocomunicaçãoem redeem rede..

•• IntegridadeIntegridade. Um DBMS . Um DBMS deve fornecer deve fornecer um um mecanismo que garanta que os mecanismo que garanta que os dados e dados e suas alteraçõessuas alteraçõesseguem determinadas regras seguem determinadas regras de de consistênciaconsistência..

Page 20: Arquitecturas ede Sistemas de Bases de Dados

Arquitectura de Sistemas de Bases de Dados6638 Bases de Dados II

Componentes de um DBMS

Page 21: Arquitecturas ede Sistemas de Bases de Dados

Arquitectura de Sistemas de Bases de Dados6638 Bases de Dados II

Topologias de Rede para DBMS

•• TeleprocessamentoTeleprocessamento

•• Ficheiro-ServidorFicheiro-Servidor

•• Cliente-ServidorCliente-Servidor

•• DistribuDistribuídaída

Page 22: Arquitecturas ede Sistemas de Bases de Dados

Arquitectura de Sistemas de Bases de Dados6638 Bases de Dados II

Teleprocessamento (mainframe)

•• 1 1 computador computador c/1 CPU + c/1 CPU + nn terminaisterminais;;

•• processamento centralizadoprocessamento centralizado;;

•• terminais funcionalmente dependentesterminais funcionalmente dependentes,,i.e. i.e. s/ capacidade s/ capacidade de de processamentoprocessamento;;

•• DesvantagemDesvantagem: : enorme enorme sobrecarga sobrecarga dodoprocessadorprocessador, , para executar todas para executar todas as as tarefastarefas,,tais como tais como aplicaaplicações (interfaces gráficas),ções (interfaces gráficas),DBMS, edição de texto e de programas,DBMS, edição de texto e de programas,formatação dos dados mostrados no ecrã,formatação dos dados mostrados no ecrã,etcetc..

terminal 1

terminal 2 terminal 3

terminal 4

Page 23: Arquitecturas ede Sistemas de Bases de Dados

Arquitectura de Sistemas de Bases de Dados6638 Bases de Dados II

Topologia ficheiro-servidor

•• 1 computador servidor de ficheiros + 1 computador servidor de ficheiros + nnworkstations + LAN;workstations + LAN;

•• 1 servidor de ficheiros que contêm as tabelas1 servidor de ficheiros que contêm as tabelasda base de dados; funciona como uma driveda base de dados; funciona como uma drivede disco partilhada;de disco partilhada;

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

•• DesvantagensDesvantagens::

– enorme quantidade de tráfego na rede;

– manutenção mais custosa: cada workstationrequer uma cópia completa do DBMS;

– controlo da concorrência, integridade dosdados e recuperação a falhas são maiscomplexos, visto que há vários DBMS aaceder aos mesmos ficheiros.

workstation 1(SGBD)

Servidor de ficheiros

workstation 2(SGBD)

workstation 3(SGBD)

Ficheiros devolvidosPedidos de dados

LAN Local Area Network

BD

Page 24: Arquitecturas ede Sistemas de Bases de Dados

Arquitectura de Sistemas de Bases de Dados6638 Bases de Dados II

Topologia cliente-servidor

•• 1 1 computador servidor computador servidor DBMS + DBMS + nn workstations workstations+ LAN;+ LAN;

•• ServidorServidor: : processamento processamento DBMS DBMS centralizadocentralizado;;

•• ClienteCliente: : gestão gestão de interface com de interface com o utilizador o utilizador eeda lógica da aplicaçãoda lógica da aplicação;;

•• VantagensVantagens::

– Acesso generalizado às bases de dadosexistentes;

– Melhor desempenho (workstations processamaplicações em paralelo).

– Custos de hardware reduzidos (só o servidorrequer elevadas capacidades de processamento earmazenamento).

– Menores custos de comunicações (menosinformação a circular na rede).

– Garantia da integridade dos dados.

workstation 1cliente 1

Servidor DBMS

workstation 2cliente 2

workstation 3cliente 3

Dados devolvidosPedidos de dados

LAN Local Area Network

BD

Page 25: Arquitecturas ede Sistemas de Bases de Dados

Arquitectura de Sistemas de Bases de Dados6638 Bases de Dados II

Sumário:

•• Definição Definição de de objectivosobjectivos..

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

•• Desenho Desenho de bases de dados.de bases de dados.

•• Arquitectura Arquitectura ANSI-SPARC.ANSI-SPARC.

•• Esquemas Esquemas e e instânciasinstâncias..

•• Independência Independência de dados.de dados.

•• Data Definition Language (DDL).Data Definition Language (DDL).

•• Data Manipulation Language (DML).Data Manipulation Language (DML).

•• Structured Query Language (SQL).Structured Query Language (SQL).

•• Linguagens 4G.Linguagens 4G.

•• Modelos de dados.Modelos de dados.

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

•• ComComponentes dum ponentes dum DBMS.DBMS.

•• Topologias da arquitectura dum Topologias da arquitectura dum DBMSDBMSmulti-utilizadormulti-utilizador..