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

Documentos relacionados
Cap. 1 Arquitectura de Sistemas de Bases de Dados

Prof.: Clayton Maciel Costa

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

Bancos de Dados. Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações

BANCO DE DADOS. Introdução a Banco de Dados. Conceitos BásicosB. Engenharia da Computação UNIVASF. Aula 1. Breve Histórico

14/08/2008. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Fundamentos dos Sistemas de Informação Organização de Dados e Informações

Modelos de Dados e Arquitetura de um SGBD. Introdução 1º Bimestre Prof. Patrícia Lucas

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE]

Introdução aos Sistemas de Bases de Dados

1. CONCEITOS BÁSICOS DE BD, SBD E SGBD

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Fundamentos de Banco de Dados

O que são Bancos de Dados?

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

Banco de Dados Conceito de Arquitetura

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

FACULDADE INTEGRADAS DE PARANAÍBA ADMINISTRAÇÃO DE EMPRESAS. Bancos de Dados Conceitos Fundamentais

Uma Base de Dados é uma colecção de dados partilhados, interrelacionados e usados para múltiplos objectivos.

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon

SQL. Curso Prático. Celso Henrique Poderoso de Oliveira. Novatec

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

Banco de Dados. Conceitos e Arquitetura de Sistemas de Banco de Dados. Profa. Flávia Cristina Bernardini

Roteiro 2 Conceitos Gerais

Sistemas de Ficheiros. Sistemas de Bases de Dados

Roteiro. Conceitos e Arquitetura de Sistemas de Banco de Dados. Conceitos e Arquiteturas de Sistemas de Banco de Dados. BCC321 - Banco de Dados I

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

Evolução. Tópicos. Bancos de Dados - Introdução. Melissa Lemos. Evolução dos Sistemas de Informação Esquemas Modelos. Características de SGBDs

GBD PROF. ANDREZA S. AREÃO

Banco de Dados. Prof. Antonio

Banco de Dados 1 Prof. MSc Wagner Siqueira Cavalcante

Introdução Banco de Dados

Introdução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos

Sistemas de Banco de Dados

Banco de Dados. Profª. Ana Leda

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO. SISTEMAS DE GESTÃO DE BASE DE DADOS Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

Conjunto de conceitos que podem ser usados para descrever a estrutura de um banco de dados

Sistema de Bancos de Dados. Conceitos Gerais Sistema Gerenciador de Bancos de Dados

Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados

BD Oracle. Licenciatura em Engenharia Informática e Computação. Bases de Dados 2003/04

Função dos Sistemas de Bases de Dados Visão dos dados Modelos de dados Linguagem de Definição de Dados Linguagem de Manipulação de Dados Gestão de

Administração de Banco de Dados

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

Introdução a Sistemas de Bancos de Dados

20/05/2013. Sistemas de Arquivos Sistemas de arquivos. Sistemas de Gerenciamento de Banco de Dados (SGBD) Banco de Dados. Estrutura de um BD SGBD

SQL. Autor: Renata Viegas

GBC043 Sistemas de Banco de Dados. Introdução. Ilmério Reis da Silva UFU/FACOM

PHP INTEGRAÇÃO COM MYSQL PARTE 1

SQL APOSTILA INTRODUÇÃO A LINGUAGEM SQL

Comandos de Manipulação

Banco de Dados. Maurício Edgar Stivanello

A linguagem SQL

BANCO DE DADOS E BUSINESS INTELIGENCE. C/H: 20 horas (20/02, 25/02, 27/02, 04/03, 06/03)

Bases de Dados. Bibliografia. 1. Parte I Componente Teórica. Pedro Quaresma

CONCEITOS BÁSICOS. 1. Conceitos básicos de BD, SBD e SGBD BANCO DE DADOS I

INTRODUÇÃO. Diferente de Bando de Dados

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

Bancos de Dados Aula #1 - Introdução

Programação SQL. Introdução

Disciplina: Tecnologias de Banco de Dados para SI s

ADMINISTRAÇÃO DOS RECURSOS DE DADOS

Módulo 4: Gerenciamento de Dados

Introdução à Banco de Dados. Definição

Exercícios de Lógica Exercícios de Fixação 08

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. DCC-IME-USP

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão

Sistemas Gerenciadores de Bancos de Dados

Disciplina de Banco de Dados Introdução

2. Conceitos e Arquitetura de Bancos de Dados

Revisão de Banco de Dados

Sistemas de Bases de Dados

Básico da Linguagem SQL. Definição de Esquemas em SQL. SQL(Structured Query Language)

Faculdade Lourenço Filho - ENADE

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Tarefa Orientada 16 Vistas

Módulo 6: Linguagem de Programação IV 6.1. Introdução 6.2. Bases de Dados Visão Estrutural SGBD: Sistema de Gestão de Bases de Dados

Bases de Dados! 2014/15! João Leite

Prof. Marcelo Machado Cunha

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Arquitetura de Banco de Dados

SGBD. Funções Básicas de um SGBD

Disciplina: Unidade V: Prof.: Período:

Introdução aos Sistemas Operativos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Conceitos básicos. Aplicações de banco de dados. Conceitos básicos (cont.) Dado: Um fato, alguma coisa sobre a qual uma inferência é baseada.

Introdução à Engenharia da Computação. Banco de Dados Professor Machado

Sistemas de Gestão de Bases de Dados

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

EXCEL. Listas como Bases de Dados

Construir um modelo de dados é: - Identificar, Analisar e Registar a política da organização acerca dos dados

Esquema da Relação. Modelo Relacional. Instância da Relação. Exemplo. Uma base de dados é uma colecção de uma ou mais relações com nomes distintos

Gestão de Tecnologia da Informação

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

Transcrição:

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

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. O propósito dos mapeamentos 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 de 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.

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 Colecção de programas que permite ao utilizador definir, criar, aceder, manipular e fazer a manutenção os dados existentes numa DB. VENDAS CONTRATOS Entrada de dados/saída de relatórios Prog.s de aplicação do Dept. Vendas Entrada de dados/saída de relatórios Prog.s de aplicação do Dept. Contratos DBMS Definição de tabelas (Propriedade, Proprietário, Arrendatário e Contrato) + definição de ficheiros Base de dados

Projecto (Desenho) de bases 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

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 (ou vistas ou views). 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 vistas 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.

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: Esquema Externo View 1 View 2 View n Esquema Conceptual Esquema Interno (dia,mês,ano) (ano,mês,dia) BD

Arquitectura ANSI-SPARC dum DBMS (1975): níveis de abstracção de dados (cont.1) Nível conceptual (DBA): descrição comunitária/total dos dados. Descreve QUE dados e suas relações estão armazenados na BD. Esquema Externo View 1 View 2 View n 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 dos seus atributos (p.ex. integer, real, char), mas não o número de bytes ocupados por cada um dos atributos. Esquema Conceptual Esquema Interno BD

Arquitectura ANSI-SPARC dum DBMS (1975): níveis de abstracção de dados (cont.2) Nível interno (sistema): Representação física da BD. Descrição de COMO os dados estão armazenados (estruturas de dados e ficheiros usados ao mais baixo- ní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 sistema operativo. Esquema Externo View 1 View 2 View n Esquema Conceptual Esquema Interno BD

Arquitectura ANSI-SPARC dum DBMS (1975): níveis de abstracção de dados (cont.3) View 1 (Dept. Contabilidade) Func_no Nome Apelido Idade Salário View 2 (Dept. Recursos Humanos) Func_no Apelido Ano Nível conceptual (DBA) Func_no Nome Apelido Idade DNasc Vencimento Filial_no Nível interno (sistema, 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; }; index Staff_no; index Branch_no;

Esquemas e instâncias Esquema da BD: descrição global da BD. NOTA: : É importante distinguir entre a descrição da DB e a própria DB. Esquema externo: conjunto dos subesquemas externos que descrevem as perspectivas dos utilizadores. Esquema conceptual: descrição de todos os dados e suas interrelaçõ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.

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ógica física Esquema Externo View 1 View 2 View n Esquema Conceptual Esquema Interno BD

Independência lógica dos dados 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. Esquema Externo View 1 View 2 View n Esquema Conceptual Esquema Interno BD

Independência física dos dados Independência física de dados:invariância do esquema conceptual externos a quaisquer alterações no esquema interno rno. 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 Esquema Externo View 1 View 2 View n Esquema Conceptual Esquema Interno BD

DDL (Data Definition Language) 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 Definições em DDL compilação Dicionário de Dados

DML (Data Manipulation Language) 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

SQL (Structured Query Language) 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)

4GL (Fourth Generation Languages) 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.

Modelos de dados 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 físicos Modelo relacional de dados Modelo em rede de dados Modelo hierárquico de dados

Funções/serviços de um DBMS (Codd 1982) 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 todas 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 DB 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 DB 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 suas alterações seguem determinadas regras de consistência.

Componentes de um DBMS

Topologias de Rede para DBMS Teleprocessamento Ficheiro-Servidor Cliente-Servidor Distribuída

Teleprocessamento (mainframe) 1 computador c/1 CPU + n terminais; processamento centralizado; terminais funcionalmente dependentes, i.e. s/ 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. terminal 1 terminal 2 terminal 3 terminal 4

Topologia ficheiro-servidor 1 computador servidor de ficheiros + n workstations + LAN; workstation 1 (SGBD) workstation 2 (SGBD) workstation 3 (SGBD) 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; manutenção mais custosa: 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 ficheiros. LAN Local Area Network Pedidos de dados Ficheiros devolvidos BD Servidor de ficheiros

Topologia cliente-servidor 1 computador servidor DBMS + n workstations + LAN; Servidor: processamento DBMS centralizado; workstation 1 cliente 1 workstation 2 cliente 2 workstation 3 cliente 3 Cliente: gestão de interface com o utilizador e da lógica da aplicação; Vantagens: LAN Local Area Network Acesso generalizado às bases de dados existentes; Melhor desempenho (workstations processam aplicações em paralelo). Pedidos de dados Dados devolvidos 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). Garantia da integridade dos dados. Servidor DBMS BD

Sumário: 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.