You are on page 1of 33

CURSO: Ensino Mdido Integrado ao Tcnico em Informtica para Internet COMPONENTE CURRICULAR: Tecnologia e Linguagens de Banco de Dados I _______

PROFESSORA: CNTIA PINHO

ENSINO MDIO INTEGRADO AO TCNICO EM INFORMTICA PARA INTERNET

TLBD I Apostila - Parte I

PROF CNTIA PINHO

CURSO: Ensino Mdido Integrado ao Tcnico em Informtica para Internet COMPONENTE CURRICULAR: Tecnologia e Linguagens de Banco de Dados I _______ PROFESSORA: CNTIA PINHO

Sumrio
1. 1.1. 1.1.1. 1.1.2. 2. 3. 3.1. 3.2. 3.2.1. 4. 5. 6. 7. 7.1. 7.2. 7.3. 7.4. 8. 8.1. 8.2. 8.3. 8.4. 8.5. 9. BANCO DE DADOS .................................................................................................................................4 Uma Definio ......................................................................................................................................4 Exemplos...............................................................................................................................................4 Base de Dados ......................................................................................................................................4 SURGIMENTO DO BANCO DE DADOS ...................................................................................................4 IMPORTNCIA DE UM BANCO DE DADOS ............................................................................................5 Dado .....................................................................................................................................................5 Informao ...........................................................................................................................................6 A Informao como Recurso da Empresa.............................................................................................6 OBJETIVOS .............................................................................................................................................6 INTRODUO ........................................................................................................................................7 Modelo Relacional de Banco de Dados.................................................................................................9 Arquiteturas ..........................................................................................................................................9 Plataforma Centralizada .......................................................................................................................9 Sistema de Computador Pessoal (PC)................................................................................................ 10 Arquitetura Cliente Servidor.............................................................................................................. 10 Arquitetura de Banco de Dados Distribudos .................................................................................... 11 SGBD (Sistema Gerenciador de Banco de Dados) .............................................................................. 12 Processamento de dados com uso de SGBD ..................................................................................... 12 Principais Componentes de um SGBD ............................................................................................... 13 Caractersticas do SGBD .................................................................................................................... 13 Motivao para SGBDs ...................................................................................................................... 14 Exemplos de SGBDS .......................................................................................................................... 14 ORGANIZAES BSICAS DE ARQUIVOS............................................................................................ 14

CURSO: Ensino Mdido Integrado ao Tcnico em Informtica para Internet COMPONENTE CURRICULAR: Tecnologia e Linguagens de Banco de Dados I _______ PROFESSORA: CNTIA PINHO

10. 10.1. 10.2. 10.3. 10.3.1. 10.3.2. 10.3.3. 10.3.4. 10.3.5. 10.4. 10.4.1. 10.5. 10.6. 10.7. 10.8. 10.8.1. 10.8.2. 10.8.3. 10.8.4. 11. 11.1. 11.2. 11.3.

MODELAGEM DE DADOS ................................................................................................................... 15 Importncia da Modelagem .............................................................................................................. 16 Princpios da Modelagem .................................................................................................................. 16 Modelo Entidade Relacionamento .................................................................................................... 16 Entidade ............................................................................................................................................. 16 Atributo ............................................................................................................................................. 17 Instncia............................................................................................................................................. 18 Identificador (Chave Primria) .......................................................................................................... 19 Chave Secundria ou Chave Estrangeira ........................................................................................... 20 Dicionrio de Dados........................................................................................................................... 20 Atividade Enxergando Entidades .................................................................................................... 22 Relacionamentos ............................................................................................................................... 23 Identificao de Entidade e Relacionamento .................................................................................... 23 Grau de Relacionamento ................................................................................................................... 25 Cardinalidade ..................................................................................................................................... 26 Exemplo: Como Determinar as Cardinalidades de um Relacionamento .......................................... 26 Relacionamento de Um-para-Um...................................................................................................... 27 Relacionamento de Um-para-Muitos ................................................................................................ 28 Relacionamento de Muitos-para-Muitos .......................................................................................... 29 NORMALIZAO DE DADOS ............................................................................................................... 29 Primeira Forma Normal (1NF ) .......................................................................................................... 30 Segunda Forma Normal (2NF ) .......................................................................................................... 31 Terceira Forma Normal (3NF ) ........................................................................................................... 32

CURSO: Ensino Mdido Integrado ao Tcnico em Informtica para Internet COMPONENTE CURRICULAR: Tecnologia e Linguagens de Banco de Dados I _______ PROFESSORA: CNTIA PINHO

1.
1.1.

BANCO DE DADOS
Uma Definio
um conjunto de dados, relativos a um determinado ambiente, por exemplo, um empresa de

fornecimento de energia eltrica, armazenados em um ou vrios computadores e que guardam entre si algum relacionamento.

1.1.1. Exemplos
Banco de Dados de Recursos Humanos de uma empresa; Banco de Dados de Aplicaes Financeiras; Banco de Dados de uma empresa de energia eltrica.

1.1.2. Base de Dados


o conjunto de todos os dados de um determinado ambiente, estejam eles armazenados em computador ou no.

Exemplo: Banco de Dados de Recursos Humanos + as correspondncias expedidas e recebidas, pela empresa, e que esto guardadas nos armrios de cada departamento.

2.

SURGIMENTO DO BANCO DE DADOS


Os fatores que levaram ao desenvolvimento dos bancos de dados foram: praticidade, rapidez,

eficincia e confiabilidade.

Podemos citar como exemplo de armazenamento de dados, que assemelha-se aos sistemas computacionais, os arquivos de ao, encontrado nas empresas, que armazenam fichas, pastas e outros documentos, organizados em gavetas.

A necessidade de criar um meio computacional que permitisse armazenar grande quantidade de dados, de acesso rpido e facilitado, tambm teve sua evoluo, dos inconvenientes que os sistemas de arquivos em disco possuam:

No possua controle de acesso concorrente (vrios usurios);

CURSO: Ensino Mdido Integrado ao Tcnico em Informtica para Internet COMPONENTE CURRICULAR: Tecnologia e Linguagens de Banco de Dados I _______ PROFESSORA: CNTIA PINHO No permitia executar mais de um processo ao mesmo tempo num mesmo arquivo de dados; A definio da estrutura do arquivo encontrava-se inserida no prprio aplicativo os programas controlavam as tarefas de leitura e gravao manuteno dos sistemas tornavam-se complexas; Inconsistncias, redundncias, dificuldades de acesso e isolamento dos dados; Problemas de segurana, relativo aos dados; Acesso ao arquivo era efetuado de forma direta pelo aplicativo sistema;

3.

IMPORTNCIA DE UM BANCO DE DADOS


Esto presentes nos mais diversos setores; Muito utilizado atualmente, praticamente em todas as transaes que realizamos em nosso dia-a-dia.

As Transaes envolvem dados ou informaes, essas informaes ou dados podem ser de ns mesmos, de outras pessoas ou organizaes.

Exemplo: Quando ligamos em um servio de atendimento ao cliente, e o atendente pede um momento para verificar as informaes, certamente estas informaes esto armazenadas em algum banco de dados.

Os Sistemas de Informaes manipulam informaes que esto armazenadas em banco de dados. Ou seja, os banco de dados alimentam os Sistemas de Informaes.

CONHECIMENTO (quando eu tenho o n de informaes satisfatrias, tambm de acordo com objetivos pr-estabelecidos, essas informaes geram um nvel de conhecimento pretendido). INFORMAO ( Quanto os dados so organizados, partindo de um objetivo, eles fornecem a informao desejada). DADOS ( por si s, no tem um valor significativo) significativorepresentativo

Portanto tudo que iremos estudar nesta disciplina, voltada para formar uma base para que o sistema de informao gere a possibilidade das pessoas obterem um maior conhecimento.

3.1.

Dado

Representao de um evento do mundo fsico, de um fato ou de uma idia

CURSO: Ensino Mdido Integrado ao Tcnico em Informtica para Internet COMPONENTE CURRICULAR: Tecnologia e Linguagens de Banco de Dados I _______ PROFESSORA: CNTIA PINHO Representao de uma propriedade ou caracterstica de um objeto real No tem significado por si s Ex.: quantidade de Kwh consumidos em uma residncia.

3.2.

Informao

Organizao e agregao dos dados, permitindo uma interpretao Informao interpretao dos dados Ex.: Consumo de energia comparado com a capacidade geradora da usina.

Identificados Dados Organizados Agrupados Armazenados Recuperados Geram Informao

3.2.1. A Informao como Recurso da Empresa

4.

OBJETIVOS
Entender o que um BANCO DE DADOS e as caractersticas de um sistema gerenciados de

BANCO DE DADOS. Avaliar tecnicamente as propriedades dos BANCOS DE DADOS, qual a tecnologia que vou utilizar no meu desenvolvimento?

CURSO: Ensino Mdido Integrado ao Tcnico em Informtica para Internet COMPONENTE CURRICULAR: Tecnologia e Linguagens de Banco de Dados I _______ PROFESSORA: CNTIA PINHO

5.

INTRODUO
CONCEITO: um banco de dados uma coleo de dados armazenados eletronicamente.

Ex: Arquivos. Estes arquivos podem ser:

Arquivos de Texto; Imagens; Msicas; Arquivos de Registros Estes arquivos o que iremos estudar. Exatamente porque banco

de dados so arquivos de registros relacionados a um determinado elemento ou entidade. Os dados em BANCO DE DADOS so gerenciados como uma nica entidade:

Estes dados esto agrupados e gerenciados como se fosse uma nica unidade, na qual o sistema no trabalha com eles de forma independente, porque eles esto interligados de acordo com uma estrutura, portanto o sistema o visualiza como um nico elemento contendo diversas informaes. Uma vez acessando este banco de dados, na forma de usurio, podemos trabalhar com eles de forma independente de acordo com a estrutura de acesso nica, definida para o BANCO DE DADOS.

USURIO Insero Remoo Alterao Consulta DADOS

Nveis de Interao entre o Usurio e o Banco de Dados

CURSO: Ensino Mdido Integrado ao Tcnico em Informtica para Internet COMPONENTE CURRICULAR: Tecnologia e Linguagens de Banco de Dados I _______ PROFESSORA: CNTIA PINHO

USURIO

APLICAO

SGBD

DADOS

O usurio faz uma solicitao de dados para a aplicao, ou seja, ele no entra em contato direto com o arquivo de dados, ele faz isso atravs do seu aplicativo ou Sistema de Informao, este por outro lado faz uma chamada ao SGBD, que o sistema Gerenciador de Banco de dados. A aplicao repassa estes valores que foram digitadas pelo usurio, atravs de uma rotina que o que o SGBD entenda assim, estes dados so repassados ao arquivo lgico de dados.

O importante que o usurio, no deve e no pode acessar diretamente os dados, porque quem mantm a integridade e gerencia o banco de dados o SGBD, ele quem garante que o banco de dados esteja em seu funcionamento normal. Por isso os usurios acessam as informaes atravs de uma interface desenvolvida para ele, com permisses pr-determinadas, mantendo desta forma o BANCO DE DADOS seguro.

Diferentes nveis de abstrao USURIO Armazena, recupera, altera, exclui e consulta os dados. Manipula, mantm e gerencia os dados.

APLICAO

SGBD

Arquivo de registros DADOS Diferentes nveis fisicamente armazenados de de abstrao forma eletrnica no HD. USURIO Camada Externa APLICAO

Camada Lgica

SGBD 8

Camada Fsica

DADOS

CURSO: Ensino Mdido Integrado ao Tcnico em Informtica para Internet COMPONENTE CURRICULAR: Tecnologia e Linguagens de Banco de Dados I _______ PROFESSORA: CNTIA PINHO

6.

MODELO RELACIONAL DE BANCO DE DADOS


Trata a relao entre as entidades como se fossem conjuntos, estabelecendo que tipo de ligao

existe entre as entidades.

Bancos de dados relacionais apresentam um nvel de flexibilidade muito grande no tratamento da informao.

O sistema de computao que envolve banco de dados de evoluram muito, de maneira a permitir que os dados tenham maior disponibilidade e facilidade de acesso, segurana, rapidez. Por isso existem arquiteturas diferenciadas, de acordo com a necessidade da organizao.

7.

ARQUITETURAS
Plataforma Centralizada Sistema de Computador Pessoal (PC) Arquitetura Cliente Servidor Arquitetura de Banco de Dados Distribudos

7.1.

Plataforma Centralizada
Existe um nico banco de dados, manipulado, por exemplo, por um MAIN FRAME, um tipo de

computador mais antigo, que j caiu em desuso, mas um exemplo de um computador com altssimo poder de processamento, armazenamento e memria, ou seja, um computador com grande capacidade. Como funciona esta arquitetura:

CURSO: Ensino Mdido Integrado ao Tcnico em Informtica para Internet COMPONENTE CURRICULAR: Tecnologia e Linguagens de Banco de Dados I _______ PROFESSORA: CNTIA PINHO

Os terminais que fazem o acesso dos usurios ao BD, se comunicam com o MAIN FRAME, e no precisam ter grande capacidade, pois fazem uso da capacidade do MAIN FRAME, desta forma, so chamados de terminais burros.

7.2.

Sistema de Computador Pessoal (PC)


Neste caso a aplicao possui o seu prprio BD em um nico computador, ou seja, no busca os

dados em uma rede ou em algum servidor.

APLICAO

BD

7.3.

Arquitetura Cliente Servidor


No Banco de Dados com a arquitetura Cliente Servidor, os termais possuem a aplicao do usurio,

que remete os comandos e operaes do usurio ao servidor central, e fazem operaes de entrada e sada de dados, o cliente faz a solicitao e o servidor responde. Neste caso, tanto o cliente como o servidor possuem poder de processamento.

10

CURSO: Ensino Mdido Integrado ao Tcnico em Informtica para Internet COMPONENTE CURRICULAR: Tecnologia e Linguagens de Banco de Dados I _______ PROFESSORA: CNTIA PINHO

7.4.

Arquitetura de Banco de Dados Distribudos


Neste caso, podem ter vrios Bancos de Dados, que podem estar em computadores ou servidores

diferentes e tambm uma srie de clientes que podem acessar dados de qualquer servidor. Para isso necessrio o uso do SGBD, que ser explicado posteriormente.

S2 BD S1 BD S3 BD

11

CURSO: Ensino Mdido Integrado ao Tcnico em Informtica para Internet COMPONENTE CURRICULAR: Tecnologia e Linguagens de Banco de Dados I _______ PROFESSORA: CNTIA PINHO

8.

SGBD (SISTEMA GERENCIADOR DE BANCO DE DADOS)


Conjunto de software para gerenciar (definir, criar, modificar, usar) um BD e garantir a integridade

e segurana dos dados. O SGBD a interface entre os programas de aplicao e o BD. Em ingls denominado DataBase Management System (DBMS).

um conjunto de dados associados a um conjunto de programas para acesso a estes dados.

Cada programa dentro SGBD tem uma funo, exemplos: acesso aos dados, armazenamento, excluso, consulta etc.

8.1.

Processamento de dados com uso de SGBD


Os dados usados por uma comunidade de usurios so integrados no Banco de Dados. Cada

informao armazenada uma nica vez, sendo que as eventuais redundncias so controladas pelo sistema em computador, ficando transparentes para os usurios.

12

CURSO: Ensino Mdido Integrado ao Tcnico em Informtica para Internet COMPONENTE CURRICULAR: Tecnologia e Linguagens de Banco de Dados I _______ PROFESSORA: CNTIA PINHO

8.2.

Principais Componentes de um SGBD

Dicionrio de dados (Data Dictionary): Descreve os dados e suas relaes em forma conceitual e independente de seu envolvimento nas diversas aplicaes. Fornece referncias cruzadas entre os dados e as aplicaes.

Linguagem de definio de dados (DDL - Data Definition Language): Descreve os dados que esto armazenados no BD. As descries dos dados so guardadas em um meta banco de dados.

Linguagem de acesso (DML - Data Manipulation Language): Usada para escrever as instrues que trabalham sobre a base de dados, permitindo o acesso e atualizao dos dados pelos programas de aplicao. Geralmente integrada com a DDL.

Linguagem de consulta (QUERY): Permite que o usurio final, com poucos conhecimentos tcnicos, possa obter de forma simples, informaes do BD.

Utilitrios administrativos: Programas auxiliares para carregar, reorganizar, adicionar, modificar descrio do BD, obter cpias de reserva e recuperar a integridade fsica em caso de acidentes.

8.3.

Caractersticas do SGBD

Autoconteno armazenamento de dados e metadados(arquivos de descrio sobre os dados armazenados). Independncia dos dados os dados e metadados precisam ser mantidos independentes da aplicao que acessa o BD. Abstrao O usurio no precisa saber dos detalhes de como os dados so armazenados pelo SGBD. Por isso o SGBD abstrai estas informaes. Vises Limitaes aos usurios, de acordo com sua funo, para muitos usurios eles possuem acesso ao banco de dados apenas para consulta, ou seja, no podem fazer alterao de dados. Controle das transaes Garante a integridade do BD.

Controle da concorrncia Faz o controle caso dois cliente tentem acessar o mesmo dado mesmo tempo.

13

CURSO: Ensino Mdido Integrado ao Tcnico em Informtica para Internet COMPONENTE CURRICULAR: Tecnologia e Linguagens de Banco de Dados I _______ PROFESSORA: CNTIA PINHO

8.4.

Motivao para SGBDs

A utilizao dos SGBDs traz os seguintes problemas: um produto caro; um sistema a mais a ser aprendido e gerenciado; Ocupa espao de armazenagem no computador.

Porm traz vantagens muito maiores: Consistncia de dados e independncia de dados O SGBD a ferramenta por excelncia para promover a integrao dos diversos componentes de um sistema de software; Concentram o maior potencial para promover aceso compartilhado de informao, sem bloquear desnecessariamente o acesso compartilhado; Retiram dos programas aplicativos muita da complexidade de gerenciamento de estruturas de acesso aos dados; Facilitam a proteo contra a perda de dados, atravs de recursos de backup; Promovem a adoo de padres para toda a empresa, facilitando seu emprego.

8.5.

Exemplos de SGBDS
Oracle; MySQL; Postgre SQL; SQL Server; Microsoft Access (porm no possui todas as caractersticas de um SGBD, como o controle de concorrncia, a arquitetura cliente servidor no completa, por isso utilizados para aplicaes de pequeno porte).

9.

ORGANIZAES BSICAS DE ARQUIVOS


Estruturas de Dados: define a forma como os dados esto organizados, como se relacionam e como sero manipulados pelos programas. Ex: vetores e matrizes, registros, filas, pilhas, rvores, grafos, etc.

Arquivo: coleo de registros lgicos, cada um deles representando um objeto ou entidade. Na prtica os arquivos geralmente esto armazenados na memria secundria (fitas e discos) e so usados para

14

CURSO: Ensino Mdido Integrado ao Tcnico em Informtica para Internet COMPONENTE CURRICULAR: Tecnologia e Linguagens de Banco de Dados I _______ PROFESSORA: CNTIA PINHO armazenar os resultados intermedirios de processamento ou armazenar os dados de forma permanente.

Registro lgico (registro) : seqncia de itens, cada item sendo chamado de campo ou atributo, correspondendo a uma caracterstica do objeto representado. Os registros podem ser de tamanho fixo ou de tamanho varivel.

Campo: item de dados do registro, com um nome e um tipo associados

Bloco: unidade de armazenamento do arquivo em disco, tambm denominado registro fsico. Um registro fsico normalmente composto por vrios registros lgicos. Cada bloco armazena um nmero inteiro de registros.

Chave: uma seqncia de um ou mais campos em um arquivo

Chave primria: uma chave que apresenta um valor diferente para cada registro do arquivo. usada para identificar, de forma nica, cada registro.

Chave secundaria: uma chave que pode possuir o mesmo valor em registro distintos. normalmente usada para identificar um conjunto de registros.

Chave de acesso: uma chave usada para identificar o(s) registro(s) desejado(s) em uma operao de acesso ao arquivo.

10.

MODELAGEM DE DADOS
Segundo Valena (2008), modelagem de sistemas, tanto a nvel funcional quanto de dados, um

requisito fundamental para a obteno de produtos de software de maior qualidade e confiabilidade.

Entretanto, percebe-se que cada vez menos profissionais tm dado a ateno devida ao processo de construo de modelos de suas aplicaes. Isso provavelmente se deve s presses por sistemas em prazos cada vez mais curtos e com menores custos de produo mas, por outro lado, acaba por prejudicar e muito o entendimento correto do problema e, consequentemente, a construo do sistema que atenda s reais expectativas do usurio.

Esta situao muitas vezes leva a sistemas de baixa qualidade, com elevada necessidade de modificao e de difcil manuteno.

15

CURSO: Ensino Mdido Integrado ao Tcnico em Informtica para Internet COMPONENTE CURRICULAR: Tecnologia e Linguagens de Banco de Dados I _______ PROFESSORA: CNTIA PINHO

10.1. Importncia da Modelagem


Um modelo uma simplificao da realidade. Contrumos modelos para compreender melhor o sistema que estamos desenvolvendo. o o o o

Os modelos ajudam a visualizar o sistema como ele ou como desejamos que seja. Os modelos permitem especificar a estrutura ou o comportamento de um sistema. Os modelos proporcionam um guia para a construo do sistema. Os modelo documentam as decises tomadas.

Construmos modelos de sistemas complexos porque no possvel compreend-los em sua totalidade.

10.2. Princpios da Modelagem


A escolha dos modelos a serem criados tem profunda influncia sobre a maneira como um determinado problema atacado e como uma soluo definida.

Cada modelo poder ser expresso em diferentes nveis de preciso.

Os melhores modelos esto relacionados realidade.

Nenhum modelo nico suficiente. Qualquer sistema no-trivial ser melhor investigado por meio de um conjunto de modelos quase independentes.

10.3. Modelo Entidade Relacionamento


O modelo Entidade-Relacionamento foi definido por Peter Chen em 1976.

Segundo Chen, a viso de uma dada realidade, baseia-se no relacionamento entre entidades, os quais retratam os fatos que governam esta mesma realidade, e que cada um (ENTIDADE) pode possuir atributos (qualificaes desta realidade)

10.3.1.

Entidade

Define-se entidade como aquele objeto que existe no mundo real com uma identificao distinta e com um significado prprio. um elemento do mundo real inserida no mundo eletrnico. Exemplos: pessoas, carros, escolas etc.

16

CURSO: Ensino Mdido Integrado ao Tcnico em Informtica para Internet COMPONENTE CURRICULAR: Tecnologia e Linguagens de Banco de Dados I _______ PROFESSORA: CNTIA PINHO Para definir as ENTIDADES que iro participar do meu modelo de Banco de Dados, necessrio conhecer o Domnio (contexto de onde estou construindo toda a modelagem de um mundo real para o eletrnico).

A representao grfica de uma entidade no MER (Modelo Entidade-Reladionamento) se realiza atravs de um retngulo, com o nome desta entidade em seu interior, como mostra a figura.

ENTIDADES CLIENTE PRODUTO FUNCIONRIO NOTA FISCAL

EXEMPLO:

DOMNIO ESCOLA ENTIDADES ALUNOS PROFESSORES TURMAS DISCIPLINAS NOTAS Cada ENTIDADE se relaciona com as outras dentro do domnio escola.

A ENTIDADE pode ser definida por meio de suas caractersticas que podem chamar de ATRIBUTOS. Exemplo:

Entidade PESSOA

Atributos: Nome CPF Idade Sexo Altura Peso, etc.

10.3.2.

Atributo

um dado associado a cada ocorrncia de uma ENTIDADE ou de um RELACIONAMENTO. Os atributos permitem descrever uma ENTIDADE, no caso do exemplo acima sabemos que: o que descreve uma pessoa o seu nome, CPF, idade, sexo etc.

Toda entidade possui propriedade que so descritas por Atributos. No MER supe que todas as instncias de uma dada classe de entidade possuem os mesmos atributos.

17

CURSO: Ensino Mdido Integrado ao Tcnico em Informtica para Internet COMPONENTE CURRICULAR: Tecnologia e Linguagens de Banco de Dados I _______ PROFESSORA: CNTIA PINHO Considere a entidade FUNCIONRIO uma empresa. O que descreve Funcionrio?

Funcionrio descrito por: Nmero de mtricula Nome Data da admisso

No DER os atributos PODEM ser representados por um circulo em torno de seu nome, como mostra a figura:

TIPOS DE ATRIBUTO MONOVALORADO Exemplo - Data de Nascimento s pode receber um nico valor, ou seja, uma pessoa s pode ter um nico dia para o seu nascimento. MULTIVALORADO Pode receber muitos valores. Exemplo: Cor preferida, pode receber valores diferenciados, como verde, vermelho, preto, etc. COMPOSTO Exemplo Endereo. Existem vrios elementos que compes o mesmo atributo Endereo, como rua, n, bairro, CEP, cidade, estado. DERIVADO Seu valor determinado com base em outro atributo. Exemplo: O atributo Idade pode ser definido pelo atributo data de nascimento.

10.3.3.

Instncia

uma ocorrncia em particular de uma ENTIDADE. Exemplo: A Entidade Pessoa, pode ter como instncia a pessoa Joo Carlos.

18

CURSO: Ensino Mdido Integrado ao Tcnico em Informtica para Internet COMPONENTE CURRICULAR: Tecnologia e Linguagens de Banco de Dados I _______ PROFESSORA: CNTIA PINHO

10.3.4.

Identificador (Chave Primria)

Conjunto de um ou mais atributos, cujos valores identificam de maneira unvoca uma ocorrncia da ENTIDADE. Serve para localizar uma Instncia em particular.

Exemplo: para localizar a INSTNCIA do exemplo anterior Joo Carlos, posso utilizar como identificador o CPF, que nico desta pessoa, no existe duas pessoas com o mesmo CPF no Brasil.

Este atributo IDENTIFICADOR comumente chamado de Chave Primria.

Caractersticas de uma Chave Primria :

a - NO PODE haver duas ocorrncias de uma mesma entidade com o mesmo contedo na Chave Primria b - A chave primria no pode ser composta por atributo opcional , ou seja , atributo que aceite nulo. c - Os atributos identificadores devem ser o conjunto mnimo que pode identificar cada instncia de um entidade. d - No devem ser usadas chaves externas. (Atributos sobre os quais voc no tem controle. Ex: CPF) e - Cada atributo identificador da chave deve possui um tamanho reduzido f - No deve conter informao voltil.

COMO ESCOLHER O ATRIBUTO CHAVE?

Para o exemplo citado acima, no difcil escolher o atributo chave de uma pessoa, pode ser o CPF ou at mesmo o RG, porm algumas ENTIDADES, so pobres em atributos de Chaves.

Exemplo: Por exemplo, em um Banco de Dados de uma Locadora, tem a ENTIDADE DVD. Neste caso, sabemos que podem existir vrios filmes com mesmo ttulo, gnero ou durao, por isso no posso escolher nenhum destes atributos como Chave Primria, por isso devo incluir o Atributo Cdigo do DVD, desta forma todo o DVD que entra na locadora ter um cdigo diferente.

_DVD_ Ttulo Durao Gnero Autor

_DVD_ Cod DVD Ttulo Durao Gnero Autor

19

CURSO: Ensino Mdido Integrado ao Tcnico em Informtica para Internet COMPONENTE CURRICULAR: Tecnologia e Linguagens de Banco de Dados I _______ PROFESSORA: CNTIA PINHO

10.3.5.

Chave Secundria ou Chave Estrangeira

Chave estrangeira (foreign key) o campo que estabelece o relacionamento entre duas tabelas. Assim, uma coluna corresponde mesma coluna que a chave primria de outra tabela. Dessa forma, devese especificar na tabela que contm a chave estrangeira quais so essas colunas e qual tabela est relacionada. O banco de dados ir verificar se todos os campos que fazem referncias tabela esto especificados.

Determinar esse tipo de relacionamento fica garantida a integridade das informaes. Os valores presentes nas colunas definidas como chave estrangeira devem ter um correspondente em outra tabela, caso contrrio o bando de dados deve retornar uma mensagem de erro, assim as restries de chave estrangeira identificam os relacionamentos entre tabelas e assegura que a integridade referencial seja mantida.

Exemplo chaves estrangeiras do banco de dados LOCADORA: CLIENTE Cod_Cli Nome Telefone1 Telefone2 E-mail

DVD Cod_DVD Ttulo Durao Gnero Autor

EMPRESTIMO Cod_Empr Chave Estrangeira Cod_Cli da tabela CLIENTE Data_Empr Valor_Total

Chave Estrangeira da tabela DVD

ITENS_EMPR Cod_Empr Cod_DVD Valor_unit l

Chave Estrangeira da tabela EMPRSTIMO

10.4. Dicionrio de Dados


No processo de anlise de sistemas um dos pontos fortes o MER Modelo de Entidade e Relacionamento, onde so definidas as entidades que iro compor o sistema e como elas iro relacionar-se.

Junto com o modelo de Entidade e relacionamento, necessrio que se mantenha um documento com a explicao de todos os objetos nele criados. Este documento, que pode ser chamado de Dicionrio de Dados, permite que os analistas obtenham informaes sobre todos os objetos do modelo de forma textual, contendo explicaes por vezes difceis de incluir no diagrama. vlido lembrar que o objetivo do documento ser claro e consistente.

20

CURSO: Ensino Mdido Integrado ao Tcnico em Informtica para Internet COMPONENTE CURRICULAR: Tecnologia e Linguagens de Banco de Dados I _______ PROFESSORA: CNTIA PINHO

Exemplos:

21

CURSO: Ensino Mdido Integrado ao Tcnico em Informtica para Internet COMPONENTE CURRICULAR: Tecnologia e Linguagens de Banco de Dados I _______ PROFESSORA: CNTIA PINHO

10.4.1.
1)

Atividade Enxergando Entidades

Identifique as Entidades, Atributos e Chaves Primria de uma clinica mdica.

Dados: Uma clinica mdica precisa controlar as consultas mdicas realizadas pelos mdicos a ela vinculados, assim como acompanhar quem so os pacientes atendidos para manter o acompanhamento clinico dos mesmos. Em entrevista realizada para construo do sistema, nos foi informado que: Para cada mdico a clnica mantm uma ficha com o nmero de CRM do mdico, nome, endereo,

telefone, especialidade etc; Para cada paciente existe um cadastro com os seus dados pessoais; Toda consulta registrada em um fichrio prprio com informaes sobre Data, mdico, paciente,

diagnstico etc.

22

CURSO: Ensino Mdido Integrado ao Tcnico em Informtica para Internet COMPONENTE CURRICULAR: Tecnologia e Linguagens de Banco de Dados I _______ PROFESSORA: CNTIA PINHO

10.5. Relacionamentos
So associaes particulares dentro de um conjunto. Definimos RELACIONAMENTO como o fato, o acontecimento que liga dois objetos, duas coisas existentes no mundo real.

Nenhuma informao armazenada no Banco de Dados existe isoladamente.

Todos os elementos pertencentes ao mundo real, de alguma forma est associado a outros elementos. Normalmente essas associaes representam aes fsicas ou alguma forma de dependncia entre os elementos envolvidos.

Relacionamento: a associao entre Entidades.

No DER, os relacionamentos so representados conforme mostra a figura:

10.6. Identificao de Entidade e Relacionamento


Agora que j temos as definies de Entidades e de Relacionamento, vamos aprender como encontr-los em um problema:

CLIENTE FAZ EMPRESTIMOS

SUBSTANTIVOS so as Entidades e os VERBOS so os Relacionamentos. Sendo assim tem-se: Desta frase, o que Entidade e o que relacionamento? Pode-se dizer que: Entidades: Cliente e Emprstimo. Relacionamento: Faz

23

CURSO: Ensino Mdido Integrado ao Tcnico em Informtica para Internet COMPONENTE CURRICULAR: Tecnologia e Linguagens de Banco de Dados I _______ PROFESSORA: CNTIA PINHO

Considerando que estamos nos orientando para aplicaes que sero desenvolvidas e administradas por um SGBD, poderamos estender o conceito, principalmente para ambientes relacionais, como sendo relacionamento o fato que efetua a juno de duas ou mais tabelas de dados.

Outra exemplificao de um relacionamento:

Se temos dois objetos (no caso abaixo Joo e Maria), soltos no espao, torna-se evidente, at este instante, a inexistncia de qualquer ligao entre os dois objetos.

Agora, na prxima figura, apenas com a incluso de um verbo entre eles, passamos a contar com um contexto de mais expressividade, ou seja, temos um maior conhecimento do ambiente.

As entidades do dia-a-dia no esto soltas, desligadas umas das outras, e sim relacionadas de forma a mostrar a realidade com um contedo lgico.

Diariamente relatamos coisas do mundo real, e quando o fazemos, estamos na verdade expressando entidades e relacionamentos, seno vejamos:

As pessoas Moram em Apartamentos; Os Apartamentos Formam Condomnios; Os condomnios Localizam-se em Ruas, ou Avenidas; As Avenidas e Ruas Esto em uma Cidade.

24

CURSO: Ensino Mdido Integrado ao Tcnico em Informtica para Internet COMPONENTE CURRICULAR: Tecnologia e Linguagens de Banco de Dados I _______ PROFESSORA: CNTIA PINHO

MER - MODELAGEM DOS OBJETOS ACIMA: Pessoas


Moram

Aptos

Formam

Condomnios

Localizam-se

Cidade

Esto

Ruas

DIAGRAMA DE INSTNCIAS

Quando existe o Relacionamento, deve ser especificado, qual aluno est relacionado qual curso. No caso abaixo os Alunos 1 e 2 esto matriculados no Curso 1(pode ser de Matemtica) e o Aluno 4 est matriculado no Curso 2(pode ser de Histria).

Diagrama de Instncias
ALU1 ALU2 ALU3 ALU4 ALU5 ALU6 ENTIDADE ALUNO

Relacionamento Matriculado CUR1 CUR2 CUR3 CUR4 CUR5 CUR6

ENTIDADE CURSOS

10.7. Grau de Relacionamento


O grau de relacionamento indica quantos conjuntos de entidades esto envolvidos neste relacionamento. Exemplos:

Binrio: Relacionamento entre 2 entidades.

Aluno

Matriculado

Curso

25

CURSO: Ensino Mdido Integrado ao Tcnico em Informtica para Internet COMPONENTE CURRICULAR: Tecnologia e Linguagens de Banco de Dados I _______ PROFESSORA: CNTIA PINHO

Ternrio: Relacionamento entre 3 entidades.

Professor

Aluno

Matriculado

Disciplina

10.8. Cardinalidade
o nmero (mnimo, mximo) de ocorrncias de uma entidade relacionada a outra, ou seja, a quantidade de vezes que uma entidade pode est relacionada a outra.

10.8.1.
Ternrio

Exemplo: Como Determinar as Cardinalidades de um Relacionamento

Para determinar as Cardinalidades, por exemplo das Entidades ALUNO-PROFESSOR-DISCIPLINA, faa o seguinte: 1. Escolha uma Entidade, por exemplo ALUNO, e pergunte: Para cada Aluno, quantos pares ProfessorDisciplina eu tenho.

2. Coloque a resposta na Entidade ALUNO. Neste caso N. Isto , um Professor lecionando uma Disciplina pode ter vrios Alunos.

3. Escolhendo a Entidade PROFESSOR. Pergunta-se: Para cada Professor, quantos pares Aluno-Disciplina eu tenho.

4. Coloque a resposta na Entidade PROFESSOR. Neste caso 1. Isto , um Aluno no pode ter em uma certa Disciplina mais do que um Professor.

5. Escolhendo a Entidade DISCIPLINA. Pergunta-se: Para cada Disciplina, quantos pares Aluno-Professor eu tenho.

6. Coloque a resposta na Entidade Disciplina. Neste caso N. Isto , um Professor pode dar a um certo Aluno mais do que uma Disciplina.

26

CURSO: Ensino Mdido Integrado ao Tcnico em Informtica para Internet COMPONENTE CURRICULAR: Tecnologia e Linguagens de Banco de Dados I _______ PROFESSORA: CNTIA PINHO

Outros Exemplos

Domnio Escola: Turma 1 Domnio Clube: Scio 1 Domnio Escola: Disciplina M N Aluno 1 Dependente N Alunos

10.8.2.

Relacionamento de Um-para-Um

Neste grau de relacionamento, cada elemento de uma entidade relaciona-se com um e somente um elemento de outra entidade.

No caso da figura abaixo, temos que uma ocorrncia da entidade Homem relaciona-se com uma, e somente uma, ocorrncia da entidade Mulher, pois o casamento no Brasil ainda monogmico.

HOMEM CASADO A B C D

MULHER X Y Z W

Devemos ler o relacionamento nos dois sentidos em que se efetua. Logo leremos no caso da entidade Homem e da entidade Mulher, que um homem est casado somente com uma mulher e uma mulher est casada somente com um homem. SENTIDO DE LEITURA IDENTICO RESULTADO = 1:1

HOMEM

CASADO

MULHER

HOMEM

CASADO

MULHER

27

CURSO: Ensino Mdido Integrado ao Tcnico em Informtica para Internet COMPONENTE CURRICULAR: Tecnologia e Linguagens de Banco de Dados I _______ PROFESSORA: CNTIA PINHO

10.8.3.

Relacionamento de Um-para-Muitos

Este grau de relacionamento o mais comum no mundo real, sendo o que denominamos de relacionamento bsico entre entidades, entretanto possui caractersticas especficas, quanto ao sentido de leitura dos fatos e sua interpretao.

Um elemento da entidade 1 relaciona-se com muitos elementos da entidade 2, mas cada elemento da entidade 2 somente pode estar relacionado a um elemento da entidade 1.

Para ilustrar inicialmente este relacionamento, vamos nos deslocar at alguns pases rabes, onde um homem casado com muitas mulheres, mas a recproca no verdadeira, pois uma mulher casada com um s homem.

HOMEM CASADO A B C D

MULHER a b c d e f

SENTIDO DA LEITURA RESULTADO = 1:N


1 N

HOMEM

CASADO

MULHER

HOMEM

CASADO

MULHER

Devemos ter como regra geral ento, que um relacionamento do tipo Um-Para-Muitos, quando um sentido de leitura dos fatos nos apresenta este grau de Um-Para-Muitos e o sentido oposto apresenta obrigatoriamente o grau Um-para-Um.

28

CURSO: Ensino Mdido Integrado ao Tcnico em Informtica para Internet COMPONENTE CURRICULAR: Tecnologia e Linguagens de Banco de Dados I _______ PROFESSORA: CNTIA PINHO

10.8.4.

Relacionamento de Muitos-para-Muitos

Identifica-se esta cardinalidade pelo fato de que em ambos os sentidos de leitura encontramos um grau Um-para-Muitos.

Cursa/Matricula Estudante A B C D Disciplina X Y Z W

Um Estudante cursa vrias disciplinas, apenas uma ou nenhuma. Uma disciplina cursada por muitos estudantes, apenas um ou nenhum.

Por isso alm de ser um relacionamento N:M, ele tambm considerado condicional.

No caso de relacionamentos N:M, normalmente so geradas outras entidades, que possuem atributos que no pertencem a nenhuma das outras entidades. No exemplo acima pode ser gerado a Entidade Matricula, na qual pode conter atributos como Data de Matricula ou turma onde o aluno cursa a disciplina, alm do cod. do estudante e do cod. Da matricula.

11.

NORMALIZAO DE DADOS
Normalizao um processo utilizado para acertar possveis problemas estruturais das entidades e

relacionamentos com campos criados tambm chamados de anomalias em um modelo de entidade e relacionamento. Consiste na anlise dos atributos das entidades e relacionamentos com campos, sob o ponto de vista das regras chamadas formas normais, que descrevem, com base na teoria de conjuntos, na lgebra e no clculo relacional, o que devemos ou no fazer nas estruturas das entidades e relacionamentos de nosso modelo, baseados em conceitos matemticos.

Essa anlise pode demonstrar a necessidade de alterarmos a estrutura de nossas entidades e relacionamentos com campos, dividindo ou agrupando seus atributos para aprimorar o processo de recuperao das informaes (performance) e seu armazenamento, de modo a evitar perda, redundncia e distoro da informao.

29

CURSO: Ensino Mdido Integrado ao Tcnico em Informtica para Internet COMPONENTE CURRICULAR: Tecnologia e Linguagens de Banco de Dados I _______ PROFESSORA: CNTIA PINHO Sempre que formos obrigados pela aplicao das formas normais em nosso modelo a dividir entidades, temos que garantir que a diviso poder ser revertida, isto , que, mesmo particionada em duas ou mais entidades, uma entidade poder voltar sua formao original, por meio de operaes de conjuntos.

11.1. Primeira Forma Normal (1NF )


Uma entidade est em Primeira Forma Normal, se e somente todos os seus atributos so atmicos, isto , se contm um valor nico (atmico) e no contm atributos multivalorados.

Exemplo: Dada a entidade funcionrio, definida com os atributos abaixo:

Funcionario(codigo,nome,data_admissao,data_demissao,habilidades)

Vemos que a entidade funcionario possui o campo multivalorado habilidades, o que no permitido pela Primeira Forma Normal. Devemos ento dividir a tabela funcionrio de forma que o campo habilidades se torne uma nova entidade.

Ento teremos:

Funcionario(codigo,nome,data_admissao,data_demissao) Possui(cod_funcionario,cod_habilidade) Habilidade(codigo,descricao)

Exemplo:

Fornecedor(codigo,nome,endereco,telefones)

Vemos que a entidade fornecedor tem como atributo composto endereo e como atributo multivalorado telefones.

Em relao ao atributo composto endereco, sabemos que o mesmo composto, pois nele pressupe-se incluir as informaes de rua, complemento, bairro, cidade, estado e cep . Ou substitumos o atributo endereco por seus atributos componentes (rua, complemento, bairro, cidade, estado e cep ) ou criamos uma outra entidade com o nome do atributo composto (endereco), tendo como atributos dessa nova entidade rua, complemento, bairro cidade, estado e cep .

30

CURSO: Ensino Mdido Integrado ao Tcnico em Informtica para Internet COMPONENTE CURRICULAR: Tecnologia e Linguagens de Banco de Dados I _______ PROFESSORA: CNTIA PINHO J o campo telefones, por estar no plural, indica que nele poder ser armazenado mais de um nmero. Pela regra, esse atributo precisa ser separado em outra entidade, que pode ser chamada de telefone e que conter os diversos nmeros de telefone do fornecedor.

Assim, temos:

Fornecedor(codigo,nome,rua,complemento,bairro,cidade,estado,cep)

Tendo como chave primria o atributo codigo.

Telefone(cod_fornecedor,nro telefone)

Tendo como chave primria os atributos cod_fornecedor e nro_telefone, j que isso garante que no ser cadastrado o mesmo telefone para o forncedor e como chave estrangeira o atributo cod_fornecedor.

Fornecedor(codigo,nome)

Tendo como chave primria o atributo cdigo.

Endereco(cod_fornecedor,rua,complemento,bairro,cidade,estado,cep).

Tendo como chave primria o atributo cod_fornecedor e como chave estrangeira o atributo cod_fornecedor.

11.2. Segunda Forma Normal (2NF )


Uma entidade encontra-se em Segunda Forma Normal se e somente estiver em Primeira Forma Normal e no tiver atributos com dependncias parciais. No caso de uma chave primria composta, isto , que possui mais de um atributo em sua composio, denominada dependncia parcial a dependncia de um atributo no chave a apenas uma parte da chave primria.

Tomemos como exemplo a tabela compra, descrita abaixo:

Compra(nro_nf,cod_fornecedor,cod_produto,data,nome produto, quantidade,valor_unitario,valor_total_nota)

Tendo como chave primria os atributos: nro_nf, cod_fornecedor, cod_produto

31

CURSO: Ensino Mdido Integrado ao Tcnico em Informtica para Internet COMPONENTE CURRICULAR: Tecnologia e Linguagens de Banco de Dados I _______ PROFESSORA: CNTIA PINHO Se analisarmos a dependncia funcional teremos:

nro_nf,cod_fornecedor data nro_nf,cod_produto quantidade nro_nf,cod_produto valor_unitario nro_nf,cod_fornecedor valor_total_nota cod_produto nome_produto

Vemos agora que nem todos os atributos dependem da chave primria. O que no permitido pela Segunda Forma Normal. Para que essa entidade fique em 2NF, teremos de desmembr-la.

Ela ficar assim:

Compra(nro_nf,cod_fornecedor,data,valor_total_nota)

Tendo como chave primria os atributos nro_nf cod_fornecedor e como chave estrangeira o atributo cod_fornecedor.

Item_compra(nro_nf,cod_produto,quantidade,vl_unitario)

Tendo como chave primria os atributos nro_nf e cod_produto e como chaves estrangeiras os atributos nro_nf e cod_produto.

Produto(codigo,nome)

Tendo como chave primria o atributo codigo.

11.3. Terceira Forma Normal (3NF )


Uma entidade est em Terceira Forma Normal se e somente estiver em Primeira e em Segunda Forma Normal e todos os atributos no chave dependerem funcionalmente da chave primria.

Exemplo: Pedido(nro_pedido,data,cod_cliente,nome_cliente,ema i l_ cliente,valor_total_pedido)

32

CURSO: Ensino Mdido Integrado ao Tcnico em Informtica para Internet COMPONENTE CURRICULAR: Tecnologia e Linguagens de Banco de Dados I _______ PROFESSORA: CNTIA PINHO

Vamos verificar a dependncia funcional dos atributos: nro_pedido data nro_pedido cod_cliente nro_pedido valor_total_pedido cod_cliente nome_cliente cod_cliente email_cliente

Verificamos que os atributos nome_cliente e email_cliente no so dependentes da chave primria e sim do atributo cod_cliente. Ser necessrio ento desmembrar a entidade pedido.

Pedido(nro_pedido,data,cod_cliente,valor_total_pedido)

Que ter como chave primria o atributo nro_pedido.

Cliente(cod_cliente,nome_cliente,email_cliente)

Que ter como chave primria o atributo cod_cliente.

33

You might also like