Tecnologias e Linguagens
de Banco de Dados I
Porque guardar/armazenar informação?
Para manter a informação, “fato”
guardado (memória) em um meio
que pode ser visto e mantido por
diversas pessoas.
Por que utilizar banco de dados?
Para organizar as informações que desejamos
guardar (armazenar) mais rápida;
Coletar informações;
Facilitar o acesso aos dados armazenados;
Retornar as informações armazenadas com
agilidade;
Gerenciar grandes volumes de informações;
As empresas utilizam as informações para
tomada de decisão;
História do armazenamento de dados
na humanidade.
A utilização do livro de registro de
nascimento em um cartório é uma
das formas de guardar informações.
Diferenças entre:
Dado e Informação
 Dado (representação da informação): fato do
mundo real que está registrado e possui um
significado implícito no contexto de um domínio
de aplicação.
 Exemplos: Rua Maranhão, 06/06/1959.
 Informação (significado do dado): fato útil que
pode ser extraído direta ou indiretamente a
partir dos dados.
 Exemplos: endereço da escola e fundação da escola.
Banco de Dados no nosso dia!
 As informações dos clientes das
concessionárias de luz e de água;
 Os catálogos (revistas) de venda direta;
 Google.
 O cadastro de uma locadora de veículos.
Conceitos
Banco de dados
 Coleção de dados inter-relacionados,
representando informações sobre um
domínio específico. [KS94]
Exemplos:
Lista telefônica, controle de acervo de uma
biblioteca, sistema de controle dos recursos
humanos de uma empresa
Banco de dados Relacional
 São conjuntos de dados, relacionados
entre si, que implementam as
características do modelo de entidade
e relacionamento1.
1
Fonte: Piva, Gustavo Dibbern: Informática, análise e gerenciamento de dados, Manual de Informática – Centro Paula Souza, v.3
Sistema Gerenciador de Base de Dados (SGBD)
 É o conjunto de programas de computador
(softwares) responsáveis pelo gerenciamento de uma
base de dados. O principal objetivo é retirar da
aplicação cliente a responsabilidade de gerenciar o
acesso, manipulação e organização dos dados. O
SGBD disponibiliza uma interface para que os seus
clientes possam incluir, alterar ou consultar dados.
Em bancos de dados relacionais a interface é
constituída pelas APIs ou drivers do SGBD, que
executam comandos na linguagem SQL.
 Exemplos: Oracle, DB2, Sybase, Informix, Ingres, Paradox, Postgre,
MySQL, SQL Server, Access, Firebird, Interbase...
 Fonte: http://pt.wikipedia.org/wiki/SGBD
Acesso ao banco de dados utilizando um SGBD.
BDSGBD
DADOS
dados e/ou
mensagens
operações
Usuários e
sistemas
aplicativos
Sistema Gerenciador de Base de Dados (SGBD)
ABSTRAÇÃO DE DADOS
 O SGBD deve fornecer ao usuário
uma “representação conceitual”
dos dados, sem fornecer muitos
detalhes de como as informações
são armazenadas.
VISÃO 1 VISÃO
2
VISÃO
3
NÍVEL
CONCEITUAL
NÍVEL
FÍSICO
ABSTRAÇÃO DE DADOS
Quais dados são
armazenados e quais
os relacionamentos
Como os dados são
armazenados
Modelagem
de dados
Modelar Banco de dados
 Um modelo de banco de dados: É uma
descrição dos tipos de informações que
estão armazenadas em um banco de
dados.
 Os modelos podem ser: Modelo
Conceitual, Modelo Lógico e Modelo
Físico.
 Um “modelo de dados” é uma
abstração de dados que é
utilizada para fornecer esta
representação conceitual
utilizando conceitos lógicos como
objetos, suas propriedades e
seus relacionamentos.
Catálogo de Dados
 A estrutura detalhada e a
organização de cada arquivo são
descritas no catálogo
MODELOS
DE BANCO
DE DADOS
 Modelo Conceitual: Representa as regras de negócio
sem limitações tecnológicas ou de implementação por isto
é a etapa mais adequada para o envolvimento do usuário
que não precisa ter conhecimentos técnicos.
 Neste modelo temos :
 Visão Geral do negócio;
 Facilitação do entendimento entre usuários e
desenvolvedores;
 Possui somente as entidades e atributos principais;
 Pode conter relacionamentos n para m.
 Modelo Lógico: Leva em conta limites impostos por
algum tipo de tecnologia de banco de dados. (banco de
dados hierárquico , banco de dados relacional ,etc.).
 Suas características são:
 Deriva do modelo conceitual e via a representação
do negócio;
 Possui entidades associativas em lugar de
relacionamentos n:m;
 Define as chaves primárias das entidades;
 Normalização até a 3a. forma normal;
 Adequação ao padrão de nomenclatura;
 Entidades e atributos documentados.
 Modelo Físico: Leva em consideração limites impostos
pelo SGBD (Sistema Gerenciador de Banco de dados) e
pelos requisitos não funcionais dos programas que
acessam os dados e pelo hardware disponivel.
 Características:
 Elaborado a partir do modelo lógico;
 Pode variar segundo o SGBD;
 Pode ter tabelas físicas (log , lider , etc.);
 Pode ter colunas físicas (replicação).
Mini-Mundo
Análise e Coleta de
Requisitos
Requisitos do Banco de Dados
Projeto Conceitual
Esquema Conceitual (Alto
Nível)
Mapeamento do Modelo de
Dados
Esquema Conceitual (Modelo
do SGBD)
Projeto Físico
Catálogo do BD
MER
MODELO ENTIDADE RELACIONAMENTO
MODELO DE ENTIDADE E
RELACIONAMENTO (MER)
 Definição:
 Consiste em mapear o mundo real do
sistema em um modelo gráfico que irá
representar o modelo e o relacionamento
existente entre os dados. Propõe
definições e regras para o projeto e a
implementação de bancos de dados.
Roteiro para elaborar o
diagrama
1) Faça uma lista das entidades
2) Identifique os relacionamentos entre elas.
3) Estabeleça as cardinalidades.
4) Desenhe um retângulo para cada entidade
5) Ligue as entidades com suas subentidades
6) Ligue os retângulos com losangos
representando os relacionamentos.
7) Indique as cardinalidades.
ENTIDADE
 Identifica o objeto de interesse do sistema e tem "vida" própria, ou seja, a
representação abstrata de um objeto do mundo real sobre o qual desejamos guardar
informações.
 Sobre que coisas precisamos guardar informações?
 Substantivo
 Perguntas::há necessidade de guardar informações sobre cada objeto?
 Há mais de um objeto deste tipo?
 Existe uma chave capaz de identificar cada objeto unicamenta?
 Exemplo: Clientes, Fornecedores, Alunos, Funcionários, Departamentos, etc.
 Não são entidades:
- Entidade com apenas 1 elemento;
- Operações do sistema;
- Saídas do sistema;
- Pessoas que realizam trabalhos (usuários do sistema);
- Cargos de direção
Representação gráfica
SUB ENTIDADES
Subentidades-> subconjunto de um conjunto maior.
Recebe os mesmos atributos da entidade principal.
+ os seus atributos . Tem a mesma chave primária.
(especialização)
Entidade -> subentidades
Generalização: caminho inverso da especialização.
Subentidades -> entidades.
ENTIDADE FRACA
 Entidade fraca:
Quando a entidade precisa da chave
primaria de outra entidade para tornar-se
única.
INSTÂNCIA DE ENTIDADE
 São os elementos da entidade.
Exemplo: Cliente 10, Funcionário João,
Aluno Pedro, etc.
ATRIBUTO
 Informações que desejamos guardar
sobre a instância de entidade.
Exemplo: Nome do aluno, Número da
turma, Endereço do fornecedor, Sexo do
funcionário, etc.
Adjetivo (característica/qualidade)
ATRIBUTO
 ATRIBUTO SIMPLES:
Representação Gráfica
dataFinalou
 ATRIBUTO CHAVE (Chave Primaria ou
Primary Key – PK)
Único ->Não pode existir dois registros com o
mesmo valor.
Universal
Imutável
ATRIBUTO
DOMÍNIO DO ATRIBUTO
 Universo de valores que um atributo pode
armazenar.
Exemplo:
 Conjunto de valores do atributo Sexo do
funcionário: M ou F;
 Conjunto de valores do atributo Nome do aluno: 40
caracteres alfanumérico.
 Conjunto de valores do atributo salário: inteiro
maior que 5000
RELACIONAMENTO
 Representa a associação entre os elementos do
conjunto de um entidade com outra entidade.
 Exemplo:
 O João está matriculado na disciplina de Banco de Dados
 onde:
 João - Elemento do conjunto de valores do atributo Nome do
aluno da entidade Aluno;
 Banco de Dados - Elemento do conjunto de valores do atributo
Nome da disciplina da entidade Disciplina;
 matriculado - Ligação existente entre um aluno e uma
disciplina
RELACIONAMENTO
REPRESENTAÇÃO GRÁFICA:
Bibliográfia
 KS94 - Korth, H.F. e Silberschatz, A.; Sistemas de Bancos de Dados, Makron Books, 2a. edição
revisada, 1994.
 Heuser, Carlos Alberto. Projeto de banco de dados, 6. ed – Porto Alegre: Bookman, 2009.
 http://www.acordapraweb.com/bancos-de-dados-como-funciona-o-google/ - Acesso em 24/10/2010

Mer - Modelo Entidade Relacionamento

  • 1.
  • 2.
    Porque guardar/armazenar informação? Paramanter a informação, “fato” guardado (memória) em um meio que pode ser visto e mantido por diversas pessoas.
  • 3.
    Por que utilizarbanco de dados? Para organizar as informações que desejamos guardar (armazenar) mais rápida; Coletar informações; Facilitar o acesso aos dados armazenados; Retornar as informações armazenadas com agilidade; Gerenciar grandes volumes de informações; As empresas utilizam as informações para tomada de decisão;
  • 4.
    História do armazenamentode dados na humanidade. A utilização do livro de registro de nascimento em um cartório é uma das formas de guardar informações.
  • 5.
    Diferenças entre: Dado eInformação  Dado (representação da informação): fato do mundo real que está registrado e possui um significado implícito no contexto de um domínio de aplicação.  Exemplos: Rua Maranhão, 06/06/1959.  Informação (significado do dado): fato útil que pode ser extraído direta ou indiretamente a partir dos dados.  Exemplos: endereço da escola e fundação da escola.
  • 6.
    Banco de Dadosno nosso dia!  As informações dos clientes das concessionárias de luz e de água;  Os catálogos (revistas) de venda direta;  Google.  O cadastro de uma locadora de veículos.
  • 7.
  • 8.
    Banco de dados Coleção de dados inter-relacionados, representando informações sobre um domínio específico. [KS94] Exemplos: Lista telefônica, controle de acervo de uma biblioteca, sistema de controle dos recursos humanos de uma empresa
  • 9.
    Banco de dadosRelacional  São conjuntos de dados, relacionados entre si, que implementam as características do modelo de entidade e relacionamento1. 1 Fonte: Piva, Gustavo Dibbern: Informática, análise e gerenciamento de dados, Manual de Informática – Centro Paula Souza, v.3
  • 10.
    Sistema Gerenciador deBase de Dados (SGBD)  É o conjunto de programas de computador (softwares) responsáveis pelo gerenciamento de uma base de dados. O principal objetivo é retirar da aplicação cliente a responsabilidade de gerenciar o acesso, manipulação e organização dos dados. O SGBD disponibiliza uma interface para que os seus clientes possam incluir, alterar ou consultar dados. Em bancos de dados relacionais a interface é constituída pelas APIs ou drivers do SGBD, que executam comandos na linguagem SQL.  Exemplos: Oracle, DB2, Sybase, Informix, Ingres, Paradox, Postgre, MySQL, SQL Server, Access, Firebird, Interbase...  Fonte: http://pt.wikipedia.org/wiki/SGBD
  • 11.
    Acesso ao bancode dados utilizando um SGBD. BDSGBD DADOS dados e/ou mensagens operações Usuários e sistemas aplicativos Sistema Gerenciador de Base de Dados (SGBD)
  • 12.
    ABSTRAÇÃO DE DADOS O SGBD deve fornecer ao usuário uma “representação conceitual” dos dados, sem fornecer muitos detalhes de como as informações são armazenadas.
  • 13.
    VISÃO 1 VISÃO 2 VISÃO 3 NÍVEL CONCEITUAL NÍVEL FÍSICO ABSTRAÇÃODE DADOS Quais dados são armazenados e quais os relacionamentos Como os dados são armazenados
  • 14.
  • 15.
    Modelar Banco dedados  Um modelo de banco de dados: É uma descrição dos tipos de informações que estão armazenadas em um banco de dados.  Os modelos podem ser: Modelo Conceitual, Modelo Lógico e Modelo Físico.
  • 16.
     Um “modelode dados” é uma abstração de dados que é utilizada para fornecer esta representação conceitual utilizando conceitos lógicos como objetos, suas propriedades e seus relacionamentos.
  • 17.
    Catálogo de Dados A estrutura detalhada e a organização de cada arquivo são descritas no catálogo
  • 18.
  • 19.
     Modelo Conceitual:Representa as regras de negócio sem limitações tecnológicas ou de implementação por isto é a etapa mais adequada para o envolvimento do usuário que não precisa ter conhecimentos técnicos.  Neste modelo temos :  Visão Geral do negócio;  Facilitação do entendimento entre usuários e desenvolvedores;  Possui somente as entidades e atributos principais;  Pode conter relacionamentos n para m.
  • 20.
     Modelo Lógico:Leva em conta limites impostos por algum tipo de tecnologia de banco de dados. (banco de dados hierárquico , banco de dados relacional ,etc.).  Suas características são:  Deriva do modelo conceitual e via a representação do negócio;  Possui entidades associativas em lugar de relacionamentos n:m;  Define as chaves primárias das entidades;  Normalização até a 3a. forma normal;  Adequação ao padrão de nomenclatura;  Entidades e atributos documentados.
  • 21.
     Modelo Físico:Leva em consideração limites impostos pelo SGBD (Sistema Gerenciador de Banco de dados) e pelos requisitos não funcionais dos programas que acessam os dados e pelo hardware disponivel.  Características:  Elaborado a partir do modelo lógico;  Pode variar segundo o SGBD;  Pode ter tabelas físicas (log , lider , etc.);  Pode ter colunas físicas (replicação).
  • 22.
    Mini-Mundo Análise e Coletade Requisitos Requisitos do Banco de Dados Projeto Conceitual Esquema Conceitual (Alto Nível) Mapeamento do Modelo de Dados Esquema Conceitual (Modelo do SGBD) Projeto Físico Catálogo do BD
  • 23.
  • 24.
    MODELO DE ENTIDADEE RELACIONAMENTO (MER)  Definição:  Consiste em mapear o mundo real do sistema em um modelo gráfico que irá representar o modelo e o relacionamento existente entre os dados. Propõe definições e regras para o projeto e a implementação de bancos de dados.
  • 25.
    Roteiro para elaboraro diagrama 1) Faça uma lista das entidades 2) Identifique os relacionamentos entre elas. 3) Estabeleça as cardinalidades. 4) Desenhe um retângulo para cada entidade 5) Ligue as entidades com suas subentidades 6) Ligue os retângulos com losangos representando os relacionamentos. 7) Indique as cardinalidades.
  • 26.
    ENTIDADE  Identifica oobjeto de interesse do sistema e tem "vida" própria, ou seja, a representação abstrata de um objeto do mundo real sobre o qual desejamos guardar informações.  Sobre que coisas precisamos guardar informações?  Substantivo  Perguntas::há necessidade de guardar informações sobre cada objeto?  Há mais de um objeto deste tipo?  Existe uma chave capaz de identificar cada objeto unicamenta?  Exemplo: Clientes, Fornecedores, Alunos, Funcionários, Departamentos, etc.  Não são entidades: - Entidade com apenas 1 elemento; - Operações do sistema; - Saídas do sistema; - Pessoas que realizam trabalhos (usuários do sistema); - Cargos de direção
  • 27.
  • 28.
    SUB ENTIDADES Subentidades-> subconjuntode um conjunto maior. Recebe os mesmos atributos da entidade principal. + os seus atributos . Tem a mesma chave primária. (especialização) Entidade -> subentidades Generalização: caminho inverso da especialização. Subentidades -> entidades.
  • 29.
    ENTIDADE FRACA  Entidadefraca: Quando a entidade precisa da chave primaria de outra entidade para tornar-se única.
  • 30.
    INSTÂNCIA DE ENTIDADE São os elementos da entidade. Exemplo: Cliente 10, Funcionário João, Aluno Pedro, etc.
  • 31.
    ATRIBUTO  Informações quedesejamos guardar sobre a instância de entidade. Exemplo: Nome do aluno, Número da turma, Endereço do fornecedor, Sexo do funcionário, etc. Adjetivo (característica/qualidade)
  • 32.
  • 33.
     ATRIBUTO CHAVE(Chave Primaria ou Primary Key – PK) Único ->Não pode existir dois registros com o mesmo valor. Universal Imutável ATRIBUTO
  • 34.
    DOMÍNIO DO ATRIBUTO Universo de valores que um atributo pode armazenar. Exemplo:  Conjunto de valores do atributo Sexo do funcionário: M ou F;  Conjunto de valores do atributo Nome do aluno: 40 caracteres alfanumérico.  Conjunto de valores do atributo salário: inteiro maior que 5000
  • 35.
    RELACIONAMENTO  Representa aassociação entre os elementos do conjunto de um entidade com outra entidade.  Exemplo:  O João está matriculado na disciplina de Banco de Dados  onde:  João - Elemento do conjunto de valores do atributo Nome do aluno da entidade Aluno;  Banco de Dados - Elemento do conjunto de valores do atributo Nome da disciplina da entidade Disciplina;  matriculado - Ligação existente entre um aluno e uma disciplina
  • 36.
  • 37.
    Bibliográfia  KS94 -Korth, H.F. e Silberschatz, A.; Sistemas de Bancos de Dados, Makron Books, 2a. edição revisada, 1994.  Heuser, Carlos Alberto. Projeto de banco de dados, 6. ed – Porto Alegre: Bookman, 2009.  http://www.acordapraweb.com/bancos-de-dados-como-funciona-o-google/ - Acesso em 24/10/2010