Você está na página 1de 15

Introduo a Banco de Dados

Professor MSc. Luigi Mota www.luigi.pro.br luigi@luigi.pro.br

Banco de Dados: Conceitos Bsicos


O que um Banco de Dados (BD)? uma coleo de dados relacionados e armazenados em algum dispositivo.

Banco de Dados: Conceitos Bsicos

O que um Banco de Dados (BD)? Habilidade mental que permite aos seres humanos visualizarem os problemas do mundo real com vrios graus de detalhe, dependendo do contexto do problema.
(J.Rumbaugh - Modelagem e Projetos Baseados em Objetos)

Banco de Dados: Conceitos Bsicos

Propriedades de um BD:

Um BD uma coleo de dados com algum significado inerente. Um BD projetado, construdo e alimentado com dados para um especfico propsito. Um BD representa um mini-mundo.

Banco de Dados: Conceitos Bsicos


Modelo de Dados

DIVISO EM 3 GRUPOS:

Modelos lgicos baseados em objetos Modelo Entidade-Relacionamento; Modelo Binrio; Modelo de Semntica de Dados; Modelo Infolgico. Modelos lgicos baseados em registros Modelo Relacional; Modelo de Rede; Modelo Hierrquico; Modelos de dados fsicos.

Banco de Dados: Conceitos Bsicos

Instncia e Esquemas

Instncia: coleo de informaes armazenadas no banco de dados em um instante particular. Esquema: concepo global do banco de dados.

Esquema = Definio, Modelo Instncia = Valor, Contedo Cliente (Saldo, Idade)


Joo (500.00, 35) Ana (1200.00, 29)

Banco de Dados: Conceitos Bsicos


Independncia de Dados
a capacidade de modificar uma definio de

esquema em um nvel, sem afetar a definio de esquema em um nvel mais alto

Banco de Dados: Conceitos Bsicos


Independncia de Dados
Independncia de dados FSICA: capacidade de modificar o esquema fsico sem precisar reescrever os programas de aplicao. Independncia de dados LGICA: capacidade de modificar o esquema conceitual sem a necessidade de reescrever os programas de aplicao.

Banco de Dados: Conceitos Bsicos


Linguagem de Definio de Dados
(Data Definition Language - DDL)

Linguagem que define as aplicaes, arquivos e campos que iro compor o banco de dados (comandos de criao e atualizao da estrutura dos campos dos arquivos).

Banco de Dados: Conceitos Bsicos


EXemplo: Criao da tabela funcionrio com os atributos matricula e nome. Create Table Funcionrio tabela) ( matricula number(05) nome char (30)); (comando SQL que cria

Banco de Dados: Conceitos Bsicos


Linguagem de Definio de Dados (Data Definition Language - DDL)
Onde ficam armazenadas estas definies? Dicionrio de Dados (Data Dictionary - DD): arquivo que contm metadados; isto , dados acerca de dados. Este arquivo consultado antes de dados reais serem lidos ou modificados no sistema de banco de dados.

Banco de Dados: Conceitos Bsicos


Linguagem de Definio de Dados Dicionrio
(Data Definition Language - DDL)
Smbolo = + () {} [] ** @ /

de Dados

Significado composto de e opcional (pode estar presente ou ausente, exe:Mail) Iterao (Campo com mais de uma ocorrncia (fone)) escolha em uma das alternativas comentrio identificador (chave) em uma tabela separa opes alternativas na construo [].

Linguagem de Definio de Dados (Data Definition Language - DDL)

Banco de Dados: Conceitos Bsicos

Dicionrio de Dados
Emprstimo = *Documento de registro de emprstimo de fitas* @num_emprestimo+inscrio+{filmes} + valor_dia+ data_ emprestimo+data_devolucao_prev+val_emprestimo+data_dev_prev+ val_emprestimo+ valor-desconto+valor-Pago+ total_a_pagar. Cd-filme = *Cdigo numrico que identifica um filme * 1{dgito-numrico} fita = * Informaes para cadastro da fita * @Cd_fita + Ttulo_do_filme+Gnero+ Diretor_do_filme+Quant_disp+Tipo_filme Gnero = * Categoria do filme * [Aventura/Policial/Sexo/Suspense] Fita_Emprestada = * Registro de emprstimo * @Num_emprestimo+Inscrio+{filmes}+ Valor_dia+Data_emprestimo+Data_dev_prev+ Val_emprestimo

Banco de Dados: Conceitos Bsicos


Exerccio Construa um Dicionrio de Dados para o Exerccio 3 aula 1

Banco de Dados: Conceitos Bsicos


Linguagem de Manipulao de Dados (Data Manipulation Language - DML) Linguagem que permite aos usurios acessar ou manipular dados organizados por um modelo de dados apropriado.

Banco de Dados: Conceitos Bsicos


Linguagem de Manipulao de Dados
(Data Manipulation Language - DML)

O que a manipulao de dados? A recuperao da informao armazenada no banco de dados. A insero de novas informaes no banco de dados. A remoo de informaes do banco de dados. A atualizao de informaes no banco de dados.

Banco de Dados: Conceitos Bsicos


Linguagem de Manipulao de Dados
(Data Manipulation Language - DML) Existem dois tipos bsicos e DML:
Procedimental ou Procedural: requer do usurio a especificao de quais dados so desejados e como chegar at eles (EX: lgebra Relacional). No-Procedimental ou No-Procedural: requer do usurio a especificao de quais dados so desejados, sem especificar como chegar at eles (EX: Clculo Relacional).

Banco de Dados: Conceitos Bsicos


Linguagem de Manipulao de Dados
(Data Manipulation Language - DML)

Exemplos DML: SELECT matricula, nome (Recuperao) FROM Funcionrio WHERE salrio > 500,00;

Banco de Dados: Conceitos Bsicos


Linguagem de Manipulao de Dados
(Data Manipulation Language - DML) Exemplos DML: INSERT - Utilizado para incluir registros nas tabelas do banco de dados. Exemplo: Incluso de um registro na tabela funcionrio. INSERT INTO Funcionrio (matricula, nome) VALUES ( 20,Maria do Carmo); (Insere)

Banco de Dados: Conceitos Bsicos


Linguagem de Manipulao de Dados
(Data Manipulation Language - DML) Exemplos DML:
UPDATE - Utilizado para alterar dados nas tabelas do banco de dados. Exemplo: Alterao no salrio do funcionrio de matrcula igual a 20.

UPDATE Funcionrio (Atualizar) SET salrio=1200 WHERE matricula=20;

Banco de Dados: Conceitos Bsicos


Linguagem de Manipulao de Dados
(Data Manipulation Language - DML) Exemplos DML:
DELETE - Utilizado para excluir registros das tabelas do banco de dados. Exemplo: Excluso do funcionrio de matrcula igual a 20.

DELETE Funcionrio (Deletar) WHERE matricula=20;

Banco de Dados: Conceitos Bsicos


O que um SGBD (Sistema Gerenciador de Banco de Dados)? um software que permite construir e manipular um Banco de Dados .

Banco de Dados: Conceitos Bsicos

Porqu usar um SGBD?


controlar redundncia; compartilhamento de dados; independncia de dados; Segurana; backup e recuperao falhas; forar restries de integridade; aumentar a produtividade e disponibilidade; flexibilidade, padronizao.

Banco de Dados: Conceitos Bsicos

Quando no usar um SGBD?


BD de aplicaes simples; Requisitos fortes para tempo real.

Banco de Dados: Conceitos Bsicos


Ex.: Um ambiente de BD simplificado
Usurios programadores
Aplicaes / Query

Software para processar Queries / Programas

Armazenamento da Definio do BD (Metadados) + Armazenamento do BD

Banco de Dados: Conceitos Bsicos


Arquitetura de um SGBD:

Interface de alto nvel de abstrao que prov: consultas, manipulao de dados, definio de dados, geradores de relatrios, ambientes de desenvolvimento com linguagens de quarta gerao; Tradutor/otimizador de consultas; Vises do usurio de BD;

Banco de Dados: Conceitos Bsicos


Arquitetura de um SGBD:

Controle de concorrncia (sincronizao de acessos simultneos ao BD); Controle de integridade (validao de restries de integridade); Controle de segurana (autorizao de acesso aos dados); Controle de recuperao ( torna o SGBD tolerante falhas); Eficiente sistema de arquivos com tcnicas indexao eficientes que permitem armazenar e manipular os dados do BD.

Banco de Dados: Conceitos Bsicos


Comparativo SGBD X Sistema de Arquivos
SGBD
- Armazena dados e metadatados; - A redundncia de dados controlada;

Sistema de Arquivos
- definio parte integrante da aplicao; - h bastante redundncia de dados

- Uso de ferramentas e linguagem de consulta - Tudo tem que ser codificado em no-procedural (o qu); linguagem procedural (como); - Independncia dados-programa; - Abstrao de dados; - Mltiplas vises dos dados; - Facilita padronizao - Dependncia dados-programa - Sem abstrao de dados; - Viso nica dos dados; - Difcil padronizao

- Eficincia, concorrncia, compartilhamento, - Depende da aplicao segurana, integridade, tolerncia a falhas.

Banco de Dados: Conceitos Bsicos


Evoluo dos SGBDs

At 1960: Sistema de Arquivos integrados; Ex.: ISAM, VSAM. Final de 1960: Modelo Hierrquico Ex.: IMS(IBM). 1970 & incio de 1980: Modelo de Redes (CODASYL) Ex. : IDMS, DMS-II(Unisys) Meados 1980: Modelo Relacional (Codd) Ex.: DB-2, SQL-DS (IBM), Oracle, Paradox.

Banco de Dados: Conceitos Bsicos


Evoluo dos SGBDs

Final de 1980: Modelo Orientado a Objetos e Relacional Estendido (Objeto-Relacional); Ex.: BDOO: Vbase, O2, Orion, Gemstone, Jasmine, ObjectStore. BDRE: Postgres, Illustra/Informix Universal Server, Oracle 8i, IBM DB2 Universal Server. 1990: BD Inteligentes e Cliente-Servidor Ex.: Krisis

Banco de Dados: Conceitos Bsicos


Exemplo.: Suponha um Banco de Dados de uma empresa: Empregado ( matricula, nome, salrio, departamento) Departamento(cdigo, nome)

Banco de Dados: Conceitos Bsicos


Empregado
Matrcula 1073 2050 1009 1454 Nome Jos Silva Maria Paz Ana Sousa Gildo Uchoa Salrio 950,00 345,00 2.2345,00 4.005,00 Departamento D1 D2 D1 D2

Departamento
Cdigo D1 D2 Produo Vendas Nome

Banco de Dados: Conceitos Bsicos


Modelos e Esquemas de Dados
Um modelo de dados um conjunto de conceitos para descrever um BD. Os conceitos so classificados como: estruturas de dados, regras de integridade de dados (RI), operaes sobre os dados. Os modelos so eles prprios classificveis, como veremos no item seguinte. Um esquema de dados a descrio de um Banco de Dados, segundo um modelo de dados.

Banco de Dados: Conceitos Bsicos


Instncia de um BD
o estado (ou contedo) do esquema de um BD, num dado instante. Funcionrio: Edna Dias Canedo, professora, feminino, branca.

Banco de Dados: Conceitos Bsicos


Modelos Lgicos
So os modelos de dados utilizados pelos sistemas de gerncia de banco de dados (SGBD). So lgicos porque sua implementao no precisa ser conhecida. Exemplos: Modelo Relacional, Modelos Orientados a Objeto Jasmine, GemStone, etc.

Banco de Dados: Conceitos Bsicos


Esquema (Lgico)
a descrio das estruturas e das operaes de

um BD especfico, utilizando um modelo de dados. Exemplos: Esquema Relacional, Esquema OO Jasmine. Um esquema pode ser personalizado (viso externa).

Banco de Dados: Conceitos Bsicos


Modelos e Esquemas Conceituais
Um modelo conceitual aquele que no utilizado pelos SGBDs, mas so importantes na chamada fase conceitual do projeto de um BD. Exemplo de modelo conceitual: MER, e suas variaes. Um esquema conceitual a descrio conceitual de um BD especfico, segundo um modelo conceitual. Exemplo: Esquema ER.

Banco de Dados: Conceitos Bsicos


Modelos e Esquemas Internos
Um modelo interno (tambm chamado de modelo fsico) aquele que usado para implementar um modelo lgico. Cada SGBD tem o seu modelo interno. Um esquema interno ou fsico a descrio interna de um BD, segundo o modelo interno ou fsico.

Banco de Dados: Conceitos Bsicos


Arquitetura em Trs Nveis (ANSI/SPARC):
Viso Externa 1

Esquema Lgico

Viso Externa n

A D

B D

Esquema Interno

Obs.: Cada esquema (externo, lgico, interno) um nvel de abstrao. O nvel de abstrao mais alto (esquema externo) muito mais simples do que o nvel de abstrao mais baixo (esquema interno).

Banco de Dados

Banco de Dados: Conceitos Bsicos


Tipos de Usurio de um BD

Administrador de BD (DBA) Autoriza os acessos ao BD; Coordena e monitora o uso do SGBD; Projeta o Esquema Interno do BD. Projetista de BD Projeta os Esquemas Conceitual, Fsico e Lgico do BD.

Banco de Dados: Conceitos Bsicos


Tipos de Usurio de um BD

Analista de Sistemas Especifica programas que acessam o BD (programas de aplicao ou aplicativos). Programador de Aplicaes Implementa aplicativos.

Banco de Dados: Conceitos Bsicos


Tipos de Usurio de um BD

Usurios Finais Casuais: utilizam esporadicamente o SGBD, utilizando menus, formulrios, etc. Usurios Paramtricos: utilizam freqentemente o SGBD, fornecendo parmetros para a execuo de aplicativos. Usurios Sofisticados: programam suas prprias consultas, utilizando linguagens declarativas, de nvel muito alto.

Banco de Dados: Conceitos Bsicos


Linguagens e Interfaces

Linguagem de Definio de Dados (DDL) Utilizada por projetistas para definir esquemas lgicos de BD. Linguagem de Definio de Armazenamento (ADL) Utilizada por ABDs para definir como os dados sero armazenados.

Banco de Dados: Conceitos Bsicos


Linguagens e Interfaces

Linguagem de Manipulao de Dados (DML) Utilizada por programadores e usurios sofisticados para acessar o BD. Linguagem de Desenvolvimento de Aplicaes Linguagem declarativa. Linguagem procedural ou algortmica ou seqencial (C, Cobol, etc.), ou orientada a eventos (Windows). Linguagem Orientada a Objetos.

Banco de Dados: Conceitos Bsicos


Linguagens e Interfaces

Linguagem para Usurios Finais Gerador de relatrios. Linguagem declarativa.

Você também pode gostar