Introducao Bd
-
Upload
jose-fernando-zerbetto -
Category
Documents
-
view
255 -
download
0
description
Transcript of Introducao Bd
-
TECNOLOGIAS E LINGUAGENS
PARA BANCO DE DADOS I
-
CONCEITOS BSICOS: BANCO DE DADOS
uma coleo de dados inter-relacionados, representando informaes sobre um domnio especfico (conceito geral). um BD representa aspectos do mundo real. Mudanas no
mundo real so refletidas no BD. um BD uma coleo lgica e coerente de dados com
relacionamentos intrnsecos. um conjunto de dados sem nenhum relacionamento,
no pode ser considerado um BD. um BD projetado, construdo e mantido para uma
proposta especfica. direcionado a um grupo de usurios de uma determinada aplicao.
um BD pode possuir qualquer tamanho/complexidade. Em outras palavras, um BD tem alguma fonte onde os
dados so derivados, algum grau de interao com eventos no mundo real, e uma audincia interessada no contedo desse BD.
-
CONCEITOS BSICOS: BANCO DE DADOS
Banco de Dados (BD) se transformou em um componente essencial do dia-a-dia na sociedade moderna.
Exemplos: ir a um banco para fazer depsito ou retirada de dinheiro. fazer a reserva em um hotel ou em uma companhia area. fazer pesquisa de itens em uma biblioteca computadorizada. pesquisar preos de itens em um supermercado.
As atividades acima so exemplos de aplicaes tradicionais de BD. Onde a maioria das informaes so armazenadas atravs de textos ou nmeros.
H poucos anos atrs, a tecnologia permitiu novas aplicaes para BD
Exemplos: Banco de dados multimdia: armazena figuras, som e
vdeo.
SIGS - Sistemas de informaes geogrficas: armazenam e analisam mapas, tempo e imagem de satlite.
Sistemas em tempo real: controle de cho de fbrica e processos de manufatura.
-
UM POUCO DE HISTRIA
O primeiro banco de dados teve incio nas dcadas de 60
e 70 na IBM, com pesquisas em automao de tarefas de
escritrio.
Naquela poca, tinha-se que ter muita gente ($$$)
para armazenar e indexar os arquivos.
Em 1970 um pesquisador da IBM - Ted Codd publicou o
primeiro artigo sobre bancos de dados relacionais. Este
artigo tratava sobre uma forma de consultar os dados
(em tabelas) por meio de comandos.
-
UM POUCO DE HISTRIA
Inicialmente, por ser muito complexo, no foi
aceito nem implantado.
A IBM criou um grupo de pesquisa chamado
System R, com o objetivo de desenvolver um
sistema de BD para ser comercializado.
System R introduziu uma linguagem chamada
Structured Query Language (SQL).
-
UM POUCO DE HISTRIA
Essa linguagem tornou-se padro internacional
para BD relacional.
O System R passou a se chamar SQL/DS.
SQL/DS evoluiu para DB2, que o banco de
dados comercial da IBM.
-
SISTEMAS DE ARQUIVOS VS BANCO DE DADOS
Alguns Sistemas de Arquivos: FAT32, NTFS,
Ext2, Ext3, ReiserFS....
Alguns Bancos de Dados: MySQL, SQL Server,
Firebird, PostegreSQL, DB2, Oracle...
Ambos tem um objetivo em comum:
Armazenar dados em sistemas de computao.
-
SISTEMAS DE ARQUIVOS VS BANCO DE DADOS
Sistemas de arquivos
-
SISTEMAS DE ARQUIVOS VS BANCO DE DADOS
Banco de Dados Rapidez no acesso s informaes presentes no Banco
de Dados; Reduo de problemas de integridade e redundncia; Diminuio do esforo humano no desenvolvimento; Utilizao dos dados e controle integrado de
informaes distribudas fisicamente. Descreve uma coleo lgica e coerente de dados com
algum significado inerente. Uma organizao randmica de dados no pode ser considerada um Banco de Dados;
Constri em atendimento a uma proposta especfica.
-
SISTEMAS DE ARQUIVOS VS BANCO DE DADOS
Processamento de arquivo tradicional
Cada usurio define e implementa os arquivos
necessrios para uma aplicao de software
especfica.
Abordagem de Banco de Dados
Um nico repositrio mantm dados que so
definidos uma vez e depois acessados por vrios
usurios.
-
SGBD
um conjunto de aplicaes usado para gerenciar um Banco de Dados: armazenar, recuperar e modificar informaes. proporcionar um ambiente conveniente e eficiente
para recuperar e armazenar informaes de um banco de dados.
manipular grande volume de informaes. prover segurana s informaes armazenadas. controlar concorrncia, evitando resultados anmalos
na atualizao de informaes no BD. prover mecanismos para criao e manipulao de
estruturas de armazenamento de informao. restringir acesso a dados de usurios no
autorizados.
-
SGBD
Um SGBD um software de propsito geral que
facilita os seguintes processos:
Definio
Construo
Manipulao
um meio conveniente e eficiente para
recuperao e armazenamento.
IMPORTANTE: No necessrio usar um SGBD
para implementar um banco de dados.
-
SGBDS
-
SGBD - ATORES
Programador de Aplicaes Definio e implementao de programas que
USAM a base de dados
Programas enviam solicitaes de servios ao SGBD
Trabalham sobre a definio lgica ou sobre
uma viso externa especfica
Usurio Final Usam a base de dados para suas funes do dia-
a-dia
Interagem com o sistema a partir de
uma estao de trabalho
aplicao linguagem de consulta interativa
-
SGBD - ATORES
Administrador do Banco de Dados (DBA) Pessoa(s) que detm a responsabilidade (tcnica)
central sobre os dados
Definio do esquema
conjunto de descries escritas com a DDL que so armazenadas no Dicionrio de Dados
Definio da estrutura de armazenamento
Requisitos de espao de armazenamento, desempenho, concorrncia, criao ou no de ndices, etc.
Monitorar desempenho
Modificao do esquema e Reorganizao fsica
desempenho e alterao nos requisitos funcionais
Concesso de autorizao de acesso a dados
Especificao de restrio de integridade
Definio de estratgias de recuperao de dados
-
SGBD - ATORES
Projetista do Banco de Dados Identificar requisitos informacionais da
corporao
Escolher estruturas apropriadas para
representao da informao
Interagir com o usurio
Pode ser confundido com o papel de DBA
-
QUANDO USAR UM SGBD
Controlar redundncia Aumento da consistncia atravs de uma maior
integrao e centralizao dos dados
Restringir acesso no autorizado Persistncia dos dados (alm da execuo) Representao de relaes complexas entre os
dados Estabelecimento de regras e padres Fornecer back-up e recuperao Controle de acesso concorrente Esforo reduzido de desenvolvimento para
aplicaes orientadas a dados
-
RAZES PARA NO UTILIZAR UM SGBD
Custo maior que o benefcio !!! custo de HW, SW e treinamento. solues genricas para definir e processar dados. custo pela segurana, controle de concorrncia,
recuperao, manuteno de integridade, etc.
Base de dados e aplicaes simples, bem definidas, e sem previso de alterao a mdioprazo.
Aplicaes com requisitos de desempenho (ex:tempo real). Aplicaes mono-usurio.
-
TRABALHO
Dissertar sobre os SGBDs: MySQL, SQL Server,
PostgreSQL e Oracle sobre suas principais
caractersticas, custo para aquisio, empresas
que os utilizam, seus diferenciais de mercado e,
baseado em sua anlise fazer uma concluso de
qual voc escolheria e porque?
Entrega: at 06/08 pelo e-mail:
-
MODELOS DE BANCO DE DADOS
Modelo de banco de dados uma descrio dos tipos de informaes que esto armazenadas em um banco de dados.
Por exemplo, pode informar que o banco armazena informaes sobre produtos e que, para cada produto, so armazenados seu cdigo, preo e descrio.
O modelo no informa QUAIS produtos esto armazenados, apenas que tipo de informaes contm.
-
MODELO DE BANCO DE DADOS
Para construir um modelo de dados, usa-se uma linguagem de modelagem de dados.
Existem linguagens textuais e linguagens grficas.
possvel descrever os modelos em diferentes nveis de abstrao e com diferentes objetivos.
Cada descrio recebe o nome de esquema de banco de dados.
-
MODELO CONCEITUAL
uma descrio de banco de dados de forma independente de implementao num sistema de gerenciamento.
Registra QUE dados podem aparecer no banco, mas no registra COMO estes dados esto armazenados no SGBD.
-
MODELO CONCEITUAL
Exemplo de um modelo conceitual textual:
1) Cadastro de Clientes
Dados necessrios: nome completo, tipo de pessoa (fsica ou jurdica), endereo, bairro, cidade, estado, telefone, email, nome de contato.
2) Pedido
Dados necessrios: cdigo do produto, quantidade, cdigo do cliente, cdigo do vendedor.
-
EXERCCIO DE FIXAO
Descreva um modelo conceitual textual para armazenar os dados de livros, autores e editoras.
-
RESPOSTA PROVVEL
Cadastro de Livros: Ttulo, subttulo, autor, editora, nmero de pginas, preo de compra, j foi lido, ISBN, nmero de pginas, ano de publicao, nmero da edio...
Cadastro de Autores: Nome completo, data de nascimento, nacionalidade, gnero literrio...
Cadastro de Editoras: Nome, cnpj, endereo, bairro, cep, cidade, estado...
-
MODELO LGICO
Compreende uma descrio das estruturas que sero armazenadas no banco e que resulta numa representao grfica dos dados de uma maneira lgica, inclusive nomeando os componentes e aes que exercem uns sobre os outros.
-
MODELO LGICO
Exemplo de um modelo lgico
-
MODELO LGICO
O modelo lgico tambm pode ser representado assim:
- TipoDeProduto (CodTipoProd, DescrTipoProd)
- Produto (CodProd, DescrProd, PrecoProd,
CodTipoProd)
CodTipoProd referencia TipoDeProduto
-
MODELO LGICO
A tcnica de modelagem mais difundida a abordagem entidade-relacionamento (ER). Nesta
tcnica, um modelo conceitual usualmente representado atravs de um diagrama, chamado diagrama entidade-relacionamento (DER).
Por enquanto iremos estudar apenas o modelo relacional, no qual os dados esto organizados em forma de tabelas.
-
MODELO FSICO
uma descrio de um banco de dados no nvel de abstrao visto pelo usurio do SGBD. Assim, esse modelo depende do SGBD que est sendo usado.
Aqui so detalhados os componentes da estrutura fsica do banco, como tabelas, campos, tipos de valores, ndices, etc.
Nesse estgio estamos prontos para criar o banco de dados propriamente dito, usando o SGBD preferido.
-
MODELO FSICO Exemplo de tabelas em um BD Relacional.
Tipo de Produto
Produto
Cdigo Descrio
1 Computador
2 Impressora
Cdigo Descrio Preo CdigoDoTipo
10 Desktop 1.200,00 1
20 Laptop 1.800,00 1
30 Impr. Jato Tinta 300,00 2
40 Impr. Laser 500,00 2
-
MODELO FSICO
Detalhamento de uma tabelaCadastro de paciente
Nome do campo Endereo Tamanho do
campo
Cdigo do paciente Numrico 5 dgitos
Nome do paciente Alfanumrico 50 caracteres
Endereo Alfanumrico 50 caracteres
Bairro Alfanumrico 40 caracters
Cidade Alfanumrico 40 caracteres
Estado Alfanumrico 2 caracteres
CEP Alfanumrico 9 caracteres
Data de Nascimento Data 10 caracteres
-
MODELO ENTIDADE-RELACIONAMENTO
A tcnica de modelagem mais usada a
Abordagem Entidade-Relacionamento (ER). O
modelo de dados representado graficamente
atravs de um Diagrama de Entidade-
Relacionamento (DER).
Essa abordagem foi criada por Peter Chen (1976)
considerada como um padro para a modelagem
conceitual.
-
MODELO ENTIDADE-RELACIONAMENTO
O modelo Entidade-Relacionamento (E-R) tem
por base que o mundo real formado por um
conjunto de objetos chamados de entidades e pelo
conjunto dos relacionamentos entre esses objetos;
O objetivo do modelo E-R representar a
estrutura lgica do banco de dados de uma
empresa, especificando o esquema da empresa,
quais as entidades e como elas se relacionam
entre si.
-
MODELO ENTIDADE-RELACIONAMENTO
O modelo E-R chamado de Modelagem
Conceitual, cujo objetivo representar de uma
forma abstrata, independente da implementao
em computador, os dados que sero armazenados
no banco de dados.
-
ENTIDADE
um objeto ou evento do mundo real sobre o qual
desejamos manter um registro;
representada por um retngulo;
caracterizada por seus atributos;
Ex: Aluno, Carro, Produto, Funcionrio, etc
-
ATRIBUTO
uma propriedade ou caracterstica que descreve uma entidade. Tambm chamado de campo ou coluna (tabelas).
Exemplo: atributos da entidade ALUNO:
nome, data de nascimento, telefone, endereo, etc
-
ATRIBUTO-CHAVE
um atributo que deve possuir um valor nico em
todo conjunto de entidades. Este atributo utilizado
para identificar unicamente um registro da tabela.
Ex: matrcula, cpf, cdigo, renavam, chassi, etc
Diferenciamos um atributo chave dos demais
atributos colocando um * (asterisco) antes do nome do
atributo ou sublinhando este.
-
RELACIONAMENTO
uma relao entre uma, duas ou vrias entidades.
Geralmente associamos atravs da ao (verbo) entre
as entidades;
representado por um losango;
Exemplos:
Pai possui Filho
Cliente realiza pedido
Vendedor vende produto
-
GRAU DO RELACIONAMENTO
a quantidade de entidades que esto ligadas ao
relacionamento.
-
RELACIONAMENTO UNRIO (GRAU 1)
Uma entidade se relaciona com ela mesma.
-
RELACIONAMENTO BINRIO (GRAU 2)
um relacionamento que liga 2 tipos diferentes de entidades. o mais comum dos relacionamentos.
-
RELACIONAMENTO TERNRIO (GRAU 3)
um relacionamento em que trs entidades esto interligadas por um mesmo relacionamento.
-
CARDINALIDADE
Cardinalidade (mxima) define a quantidade
de ocorrncias de uma entidade que poder estar
associada a outra entidade.
Ex.: Um vendedor pode vender apenas um tipo
de produto? Ou dois? Ou trs?
Um produto pode ser vendido por apenas um
vendedor, ou por todos?
-
CARDINALIDADE
Relacionamento binrio Um-para-Um (1:1) -
Indica que uma ocorrncia da entidade A pode se
relacionar exclusivamente com uma ocorrncia da
entidade B e vice versa.
-
CARDINALIDADE
Ex.: Um vendedor ocupa um nico escritrio e
um escritrio pode ser ocupado por um nico
vendedor.
-
CARDINALIDADE
Relacionamento binrio Um-para-Muitos
(1:n) uma ocorrncia da entidade A pode se
relacionar com vrias ocorrncias da entidade B,
porm o inverso no permitido.
Ex. Um vendedor atende muitos clientes. Porm,
cada cliente tem um vendedor especfico.
-
CARDINALIDADE
Rel. binrio Muitos-para-Muitos (n:m) uma
ocorrncia da entidade A pode se relacionar com
muitas ocorrncias da unidade B e vice versa.
Ex.: Um vendedor atende muitos clientes, e um
cliente pode ser atendido por diversos
vendedores.
-
CARDINALIDADE
Na prtica, o relacionamento n:m dividido em
duas relaes 1:n e uma nova entidade criada
para representar o relacionamento.
-
CARDINALIDADE
Cardinalidade (mnima) define o nmero
mnimo de ocorrncias de entidade que precisam
estar associadas a outra entidade (em carter
obrigatrio).
S consideramos duas cardinalidades mnimas: 0
e 1.
Escreve-se: 0..1 1..1 0..n 1..n 0..* 1..* etc...
-
CARDINALIDADE
Ex.: Um vendedor ocupa um nico escritrio,
porm obrigatrio que ele tenha um escritrio.
(L-se no mnimo Um, no mximo Um).
Um escritrio pode ser ocupado por um nico
vendedor, porm pode ser que a sala esteja vazia,
ainda sem vendedor. (L-se no mnimo Zero, no
mximo Um).
-
CARDINALIDADE
-
EXERCCIO
Desenhar o DER para as seguintes situaes:
Exerccio_der.doc
-
FERRAMENTAS CASE