Você está na página 1de 34

Introduo a Banco de Dados

Notas de Aula - Mdulo I


! SILBERCHATZ, A., KORTH, H. F., SUDARSHAN, S., Sistemas de Banco de Dados, 3 ed. revisada, Makron Books do Brasil, So Paulo, 1999. ! ELMASRI, R. & NAVATHE, S. B., Fundamentals of Database Systems, 3rd., Addison Wesley, 2000. ! DATE, C. J., Introduo a Sistemas de Banco de Dados, 4 ed., Editora Campus, 1990. ! Kroenke, David M., Banco de Dados - Fundamentos, Projeto e Implementao, 6 ed., LTC Editora.

Banco de Dados -

Prof Mauro Morais de Miranda - UnilesteMG

Introduo a Banco de Dados

Histrico
Uso inicial dos computadores Processamento de dados numricos Processamento serial Linguagem de programao de baixo nvel nfase no algoritmo (fluxograma) Dados internos ao programa

Banco de Dados -

Prof Mauro Morais de Miranda - UnilesteMG

Introduo a Banco de Dados Evoluo do hardware e software Processamento de dados alfanumricos Linguagem de programao de alto nvel Grande volume de dados Sistema de arquivos Dados ainda cativos dos programas Economia de tempo e memria Usurios on line e batch

Banco de Dados -

Prof Mauro Morais de Miranda - UnilesteMG

Introduo a Banco de Dados Banco de Dados Um Banco de Dados um conjunto de arquivos relacionados entre si. (Chu, 1983) Um Banco de Dados uma coleo de dados operacionais armazenados, sendo usados pelos sistemas de aplicao de uma determinada organizao . (Date,1985) Um Banco de Dados uma coleo de dados relacionados. (Elmarasri e Navathe, 1989) Conjunto de dados integrados que tem por objetivo atender a uma comunidade de usurios. (Heuser)
Banco de Dados Prof Mauro Morais de Miranda - UnilesteMG 4

Introduo a Banco de Dados

Banco de Dados
uma coleo lgica coerente de dados com um significado inerente; uma disposio desordenada dos dados no pode ser referenciada como um Banco de Dados. antes de mais nada uma coleo logicamente coerente de dados de um cliente. Um Conjunto autodescritivo de registros relacionados Dados dispostos numa ordem pr-determinada em funo de um projeto de sistema, sempre para um propsito muito bem definido. Dados: Fatos Conhecidos que podem ser armazenados.
Banco de Dados Prof Mauro Morais de Miranda - UnilesteMG 5

Introduo a Banco de Dados

Propriedades do Banco de Dados


Um BD coleo lgica coerente de dados com um significado inerente; uma disposio desordenada dos dados no pode se referenciada como um BD. Um BD projeto, construdo e populado com dados para um propsito especfico; um BD possui um conjunto pr-definido de usurios e aplicaes. Um BD representa algum aspecto do mundo real, o qual chamado de mini-mundo ; qualquer alterao efetuada no mini-mundo automaticamente refletida no BD.

Banco de Dados -

Prof Mauro Morais de Miranda - UnilesteMG

Introduo a Banco de Dados


Sistema de Processamento de Arquivos - GA
Um sistema de informaes no qual os dados so armazenados em arquivos separados. No h dicionrio de dados integrado. Normalmente, o formato dos arquivos armazenado em programas de aplicao. Os dados so separados e isolados(dificuldade de coordenao dos arquivos); Os dados so frequentemente duplicados(integridade dos dados?); Os programas aplicativos so dependentes dos formatos dos arquivos(parte da aplicao); Os arquivos so com muita frequncia incompatveis entre si(no podem ser prontamente combinados); Dificuldade da representao dos dados nas perspectivas dos usurios; Exemplos: DBASE (Fox e Clipper), BTRIEVE.
Banco de Dados Prof Mauro Morais de Miranda - UnilesteMG 7

Introduo a Banco de Dados Sistema de Processamento de Arquivos - GA Criao de um arquivo em Dbase:


Structure of ALUNO.DBF Field Name Type CDAMATRIC Numeric NMALUNO Character SEXO Character CDCURSO Numeric Width Dec 5 0 60 1 5 0

Banco de Dados -

Prof Mauro Morais de Miranda - UnilesteMG

Introduo a Banco de Dados

Sistema Gerenciador de Banco de Dados - SGBD


SGBD um software de propsito geral que incorpora e facilita as funes de definio, alterao, recuperao e administrao de um Banco de Dados e suas aplicaes.

Banco de Dados -

Prof Mauro Morais de Miranda - UnilesteMG

Introduo a Banco de Dados

Sistema Gerenciador de Banco de Dados - SGBD


Dados integrados: todos os dados da aplicao so armazenados em um nico local; Reduo de dados duplicados: menos oportunidades para discrepncias entre mltiplas cpias; Independncia de dados/programas:todos os formatos dos registros so armazenados no prprio banco de dados(juntos com os dados) e so acessados pelo SGBD e no por programas de aplicaes; Representao mais fceis das perspectivas dos usurios;

Banco de Dados -

Prof Mauro Morais de Miranda - UnilesteMG

10

Introduo a Banco de Dados

Sistema Gerenciador de Banco de Dados - SGBD


Definio do BD:Especificao e descrio detalhada dos tipos, estruturas e restries dos dados a serem armazenados no BD. Exemplo:
create table TBCPROJETO integer not null, ( CDPROJETO NMPROJETO DOM_NOMEGRANDE, integer, CDGERENTE char (1) default 'I' not null check (IDTIPO in ('I','E','P')), IDTIPO as timestamp default 'now' not null; DTINCREG CDUSUARIOINCREG DOM_USUARIOINCREC, constraint PK_TBCPROJETO_CDPROJETO Primary key (CDPROJETO) ); alter table TBCPROJETO add constraint FK_TBCPROJETO_CDGERENTE foreign key (CdGerente) references TbcFunc (CdFunc); create unique index Ind_TbTProjeto_NmProjeto on TbcProjeto (Nmprojeto);

Banco de Dados -

Prof Mauro Morais de Miranda - UnilesteMG

11

Introduo a Banco de Dados

Sistema Gerenciador de Banco de Dados - SGBD


Manipulao do BD:
Execuo de operaes de consulta e recuperao de dados. Atualizao de dados para refletir as mudanas no mini-mundo. Gerao de relatrios a partir dos dados do BD.

Exemplo:
Exibir o cdigo e nome dos projetos internos em ordem alfabtica do nome do projeto, considerando o esquema do BD abaixo:
TBCPROJETO = (CDPROJETO, NMPROJETO, IDTIPO, CDDEPTO) TBCDEPTO = (CDDEPTO, NMDEPTO, FONE) Query:

Select CDPROJETO, NMPROJETO from TBCPROJETO where IDTIPO = I order by NMPROJETO asc;
Banco de Dados Prof Mauro Morais de Miranda - UnilesteMG 12

Introduo a Banco de Dados SGBD X GA


Auto Informao Uma caracterstica importante da abordagem Banco de Dados que o SGBD mantm no somente os dados mas tambm a forma como os mesmos so armazenados, contendo uma descrio completa do banco de dados. Estas informaes so armazenadas no catlogo do SGBD, o qual contm informaes como a estrutura de cada arquivo, o tipo e o formato de armazenamento de cada tipo de dado, restries, etc. A informao armazenada no catlogo chamada de Meta Dados.

No processamento tradicional de arquivos, o programa que ir manipular os dados deve conter este tipo de informao, ficando limitado a manipular as informaes que o mesmo conhece. Utilizando a abordagem banco de dados, a aplicao pode manipular diversas bases de dados diferentes.
Banco de Dados Prof Mauro Morais de Miranda - UnilesteMG 13

Introduo a Banco de Dados SGBD X GA


Separao entre Programas e Dados No processamento tradicional de arquivos, a estrutura dos dados est incorporada ao programa de acesso. Desta forma, qualquer alterao na estrutura de arquivos implica na alterao no cdigo fonte de todos os programas. J na abordagem banco de dados, a estrutura alterada apenas no catlogo, no alterando os programas.
Programas de Aplicao/Consulta Sistema de Banco de Dados

Software para processar manipulao

SGBD

Software de Acesso aos Dados

Meta Dados

Dados

Banco de Dados -

Prof Mauro Morais de Miranda - UnilesteMG

14

Introduo a Banco de Dados SGBD X GA


Abstrao de Dados

O SGBD deve fornecer ao usurio uma representao conceitual dos dados, sem fornecer muitos detalhes de como as informaes so armazenadas. Um modelo de dados uma abstrao de dados que utilizada para fornecer esta representao conceitual utilizando conceitos lgicos como objetos, suas propriedades e seus relacionamentos. A estrutura detalhada e a organizao de cada arquivo so descritas no catlogo.

Banco de Dados -

Prof Mauro Morais de Miranda - UnilesteMG

15

Introduo a Banco de Dados SGBD X GA


Mltiplas Vises de Dados

Como um conjunto de informaes pode ser utilizada por um conjunto diferenciado de usurios, importante que estes usurios possam ter vises diferentes da base de dados. Uma viso definida como um subconjunto de uma base de dados, formando deste modo, um conjunto virtual de informaes.

Banco de Dados -

Prof Mauro Morais de Miranda - UnilesteMG

16

Introduo a Banco de Dados Vantagens no uso SGBD


Diminui a redundncia dos dados; Padroniza a definio e o acesso aos dados, atravs da DDL (linguagem de definio de dados) e da DML (linguagem de manipulao de de dados); Assegura independncia fsica dos dados; Garante independncia lgica dos dados; Garante a consistncia dos dados em caso falhas de hardware ou software (SO, SGBD, programas de aplicao); Representao de Relacionamentos Complexos entre Dados; Reduo do tempo de desenvolvimento das aplicaes;
Banco de Dados Prof Mauro Morais de Miranda - UnilesteMG 17

Introduo a Banco de Dados Vantagens no uso SGBD


Garante a consistncia dos dados em ambiente multiusurio, onde mais de um programa pode acessar, de forma concorrente, os mesmos dados; Auxilia na manuteno das restries de integridade da aplicao, evitando que testes de consistncia sejam repetidos em programas de aplicao; O usurio tem uma viso abstrata dos dados, onde detalhes do meio de armazenamento so escondidos. Restrio a Acesso no autorizado. Fornece um subsistema de autorizao e segurana, o qual utilizado pelo DBA para criar Contas e especificar restries destas contas.
Banco de Dados Prof Mauro Morais de Miranda - UnilesteMG 18

Introduo a Banco de Dados Desvantagens no uso SGBD


Overhead para promover segurana, controle de concorrncia, recuperao e funes de integridade; Generalidade que um SGBD fornece na definio e processamento de dados; Alto investimento inicial na compra de Hardware e Software adicionais.

Banco de Dados -

Prof Mauro Morais de Miranda - UnilesteMG

19

Introduo a Banco de Dados Arquitetura de um SGBD


Modelo de Dados
Uma das principais caractersticas da abordagem banco de dados, que a mesma fornece alguns nveis de abstrao de dados omitindo ao usurio final, detalhes de como estes dados so armazenados. Um modelo de dados um conjunto de conceitos que podem ser utilizados para descrever a estrutura lgica e fsica de um banco de dados. Por estrutura podemos compreender o tipo dos dados, os relacionamentos e as restries que podem recair sobre os dados. Os modelos de dados podem ser basicamente de dois tipos: alto nvel: ou modelo de dados conceitual, que fornece uma viso mais prxima do modo como os usurios visualizam os dados realmente; baixo nvel: ou modelo de dados fsico, que fornece uma viso mais detalhada do modo como os dados esto realmente armazenados no computador.
Banco de Dados Prof Mauro Morais de Miranda - UnilesteMG 20

Introduo a Banco de Dados Arquitetura de um SGBD


Esquemas e Instncias

Em qualquer modelo de dados utilizado, importante distinguir a descrio do banco de dados do banco de dados por si prprio. A descrio de um banco de dados chamada de esquema de um banco de dados e especificada durante o projeto do banco de dados. Geralmente, poucas mudanas ocorrem no esquema do banco de dados. Os dados armazenados em um banco de dados em um determinado instante do tempo formam um conjunto chamado de instncia do banco de dados. A instncia altera toda vez que uma alterao dos dados no banco de dados feita. O SGBD responsvel por garantir que toda instncia do banco de dados satisfaa ao esquema do banco de dados, respeitando sua estrutura e suas restries. O esquema de um banco de dados tambm pode ser chamado de intenso de um banco de dados e a instncia de extenso de um banco de dados.
Banco de Dados Prof Mauro Morais de Miranda - UnilesteMG 21

Introduo a Banco de Dados


Arquitetura de um SGBD
A Arquitetura Trs Esquema A principal meta da arquitetura trs esquemas separar as aplicaes do usurio do banco de dados fsico. Os esquemas podem ser definidos como: nvel interno: ou esquema interno, o qual descreve a estrutura de armazenamento fsico do banco de dados; utiliza um modelo de dados e descreve detalhadamente os dados armazenados e os caminhos de acesso ao banco de dados; nvel conceitual: ou esquema conceitual, o qual descreve a estrutura do banco de dados como um todo; uma descrio global do banco de dados, que no fornece detalhes do modo como os dados esto fisicamente armazenados; nvel externo: ou esquema de viso, o qual descreve as vises do banco de dados para um grupo de usurios; cada viso descreve quais pores do banco de dados um grupo de usurios ter acesso.
Banco de Dados Prof Mauro Morais de Miranda - UnilesteMG 22

Introduo a Banco de Dados Arquitetura de um SGBD


Arquitetura de Trs Esquema
Usurios Finais

NVEL EXTERNO

Viso Externa 1

...

Viso Externa n Mapeamento Conceitual Externo

NVEL CONCEITUAL

Esquema Conceitual Mapeamento Conceitual Interno

NVEL INTERNO

Esquema Interno

Banco de Dados Armazenado

Banco de Dados -

Prof Mauro Morais de Miranda - UnilesteMG

23

Introduo a Banco de Dados Arquitetura de um SGBD


Arquitetura de Trs Esquema

UTILIZAO DAS APLICAES DESENVOLVIDAS

VISO EXTERNA

DESENVOLVIMENTO DE APLICAES UTILIZANDO RECURSOS DO S.G.B.D. DESENVOLVIMENTO DO S.G.B.D.

VISO CONCEITUAL

VISO INTERNA

Banco de Dados -

Prof Mauro Morais de Miranda - UnilesteMG

24

Introduo a Banco de Dados


Arquitetura de um SGBD -Arquitetura de Trs Esquema

Externo
(COBOL) 01 EMPC. 02 EMPNO 02 DEPTO (PL/I) DLC 1 EMP, PIC X(6). PIC X(4). 2 EMP# CHAR (6), 2 SAL FIXED BIN (31)

Conceitual

EMPLOYEE EMPLOYEE_NUMBER CHARACTER (6). DEPARTAMENT_NUMBER CHARACTER (4). SALARAY NUMERIC (5).

Interno
STORED_EMP PREFEIX EMP# DEP# PAY LENGTH=118 TYPE=BITE(6), OFFSET=0 TYPE=BITE(6), OFFSET = 6, INDEX = EMPX TYPE=BITE(4), OFFSET = 12 TYPE=FULLWORD, OFFSET = 16
Prof Mauro Morais de Miranda - UnilesteMG 25

Banco de Dados -

Introduo a Banco de Dados Arquitetura de um SGBD


Independncia Lgica de Dados
Modificaes na definio (esquema lgico), na maioria das vezes, no afetam os programas de aplicao; Capacidade de mudar o esquema lgico sem necessidade de modificar programas de aplicao e esquemas externos; Apenas definio de vises e mapeamentos devem ser alterados: Exemplo: Acrescentar um campo a um registro; Acrescentar uma definio de tipo de registro.

Banco de Dados -

Prof Mauro Morais de Miranda - UnilesteMG

26

Introduo a Banco de Dados Arquitetura de um SGBD


Independncia Fsica de Dados
Alteraes em estruturas de armazenamento (esquema fsico/interno) no afetam os programas de aplicao; Capacidade de mudar o esquema interno sem necessidade de alterar o esquema lgico (ou externos); Exemplo: Reorganizao fsica de arquivos; Criao de estruturas de acesso adicionais.

Banco de Dados -

Prof Mauro Morais de Miranda - UnilesteMG

27

Introduo a Banco de Dados

Sistema Gerenciador de Banco de Dados - SGBD


Usurios usurios simples
programas de aplicao

programadores de aplicaes chamadas de rotina

usurios ocasionais

DBA

consultas

esquema de banco de dados

pr-compilador da linguagem de manipulao de dados

processador de consultas

compilador da linguagem de definio de dados

cdigo objeto dos programas de aplicao

gerenciador do banco de dados

SGBD

gerenciador de arquivos

arquivo de dados dicionrio de dados Memria de Disco

Banco de Dados -

Prof Mauro Morais de Miranda - UnilesteMG

28

Introduo a Banco de Dados


Sistema Gerenciador de Banco de Dados - SGBD

Banco de Dados -

Prof Mauro Morais de Miranda - UnilesteMG

29

Introduo a Banco de Dados


Componentes de processamento de Consultas um SGBD
Compilador DML: Traduz comando DML da linguagem de consultas em instrues de baixo nvel, inteligveis ao componentes de execuo de consultas;

Tenta transformar a solicitao de um usurio em uma solicitao equivalente mais eficiente. Pr-Compilador para comandos DML: Inseridos em programas de aplicao e convertem comando DML em chamada de procedimentos normais da linguagem hospedeira. Interpretador DDL: Interpreta os comandos DDL e registra-os em um conjunto de tabelas que contm os Metadados. Componentes para o tratamento de consultas: Executam instrues de baixo nvel geradas pelo compilador DML.
Banco de Dados Prof Mauro Morais de Miranda - UnilesteMG 30

Introduo a Banco de Dados


Componentes de Administrao de armazenamento dos Dados um SGBD
Gerenciamento de autorizaes e integridade: Testam o cumprimento das regras de integridade e permisso ao usurio no acesso ao dado. Gerenciamento de Transaes: Garantem que o banco de dados permanea em estado consistente a despeito das falhas e que transaes concorrentes sero executadas sem conflitos. Administrao de arquivos: Gerencia a alocao de espao no armazenamento em disco e as estruturas de dados usadas para representar estas informaes armazenadas em disco. Administrao de buffer: Responsvel pela intermediao de dados do disco para a memria principal e pela deciso de quais dados colocar em memria cache.
Banco de Dados Prof Mauro Morais de Miranda - UnilesteMG 31

Introduo a Banco de Dados


Estruturas de dados exigidas como parte da implementao fsica - SGBD
Arquivos de Dados: Armazena o prprio Banco de Dados. Dicionrio de Dados: Armazena os Metadados relativos estruturado banco de dados; muito utilizado; Projeto deve possuir uma implementao eficiente; ndices: Otimiza o acesso aos itens de dados que so associados a valores determinados. Estatstica dos Dados: Armazena informaes estatsticas do banco de dados; Usado pelo processador de consultas para otimizar o processo de consulta.
Banco de Dados Prof Mauro Morais de Miranda - UnilesteMG 32

Introduo a Banco de Dados Classificao dos SGBDs


O principal critrio para se classificar um SGBD o modelo de dados no qual baseado. A grande maioria dos SGBDs conteporneos so baseados no modelo relacional, alguns em modelos conceituais e alguns em modelos orientados a objetos. Outras classificaes so: Usurios: um SGBD pode ser mono-usurio, comumente utilizado em
computadores pessoais ou multi-usurios, utilizado em estaes de trabalho, minicomputadores e mquinas de grande porte;

Localizao: um SGBD pode ser localizado ou distribudo; se ele for localizado,


ento todos os dados estaro em uma mquina (ou em um nico disco) ou distribudo, onde os dados estaro distribudos por diversas mquinas (ou diversos discos);

Ambiente: ambiente homogneo o ambiente composto por um nico SGBD e um


ambiente heterogneo o ambiente compostos por diferentes SGBDs.

Banco de Dados -

Prof Mauro Morais de Miranda - UnilesteMG

33

Introduo a Banco de Dados


Usurios do SGBD: Atores e Papis
Administrador do Banco de Dados (DBA)
Responsvel pelos esquemas fsico e lgico do BD. Gerencia o controle de acesso aos dados. Monitora a performance do SGBD.

Projetista do Banco de Dados (DB Designer)


Identifica os requisitos da aplicao e com auxlio do usurio, cria o modelo conceitual do BD. Junto com o DBA, estende e modifica o modelo lgico.

Analista/Programador de Aplicao (Analista de Sistemas) Define e projeta a informatizao da aplicao, incluindo seu conjunto de programas. Usa os esquemas conceitual e lgico do BD.

Usurio Final: Operacional/Sofisticado: Acessa ocasionalmente o SGBD, mas pode necessitar de diferentes
informaes por vez. Escreve suas consultas diretamente em linguagem de consulta (SQL);

Comum/Navegantes: acessa o BD para incluir novos dados e consultar dados atravs de


procedimentos padro.
Banco de Dados Prof Mauro Morais de Miranda - UnilesteMG 34