You are on page 1of 20

UNIVERSIDADE ANHANGUERA – UNIDERP CENTRO DE EDUCAÇÃO À DISTÂNCIA TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS SISTEMAS DE BANCO DE DADOS TUTOR A DISTÂNCIA

ME. JEFERSON BUSSULA PINHEIRO

JANDIRA RENATA CIBELLE DE ALCANTARA – 6500269593 ELVIS AMADEU DE MELO - 6786398086 FELIPE FREIRE DOS SANTOS - 6951494661 TELMO THADEU FONSECA – 6056472473 ALAN DA SILVA TANNUS - 6750359831

SÃO JOSÉ DOS CAMPOS, SP. ABRIL/2014

ETAPA 01 – Aula Tema: Introdução a Banco de Dados e MER (Modelo Entidade Relacionamento).  Sistema de Banco de Dados X Sistema de Arquivos

As aplicações, antes da criação do SGBD, utilizavam os sistemas de arquivos do Sistema Operacional e, através desses arquivos, elas armazenavam os dados utilizando as interações com a aplicação. Como esses dados eram armazenados em diversos arquivos, era necessário utilizar diferentes programas de aplicações para ser possível extrair e acrescentar registros, ficando com um custo alto.  Dados e Meta-dados na base

Os dados e a descrição correspondente são armazenadas na base e gerenciadas pelo SGBD.  Independência de Dados-Programas

Modificações como inclusão de um novo campo não afetam os programas.  Abstração de Dados

Representação conceitual através de um modelo de dados que só usa conceitos lógicos.  Múltiplas Visões

São visões de como os usuários veem o banco de dados: Cada um vê o banco de dados ao seu modo; Representam a abstração de mais alto nível da arquitetura; Construídos de forma que sejam removidos os conflitos entre duas ou mais visões.  Sistema de Banco de Dados

Vantagens / Desvantagens 1 - Dados podem ser compartilhados / Os sistemas de banco de dados são complexos, difíceis e demorados para projetar. 2 - Redundância pode ser reduzida / Custos Iniciais de softwares e hardwares altos. 3 - Inconsistência pode ser vista / Danos ao banco de dados afetam virtualmente todos os programas.

físico e de view. 3 .Permite validação o que torna os testes mais efetivos e a construção de aplicações bem mais fáceis / Problemas de segurança. não sendo preciso pagar por nenhum software / Problemas de Integridade.Separação do conteúdo para a formatação / Dificuldade no acesso aos dados. 7 .Existem varias ferramentas e editores bons no mercado / A redundância pode afetar a eficiência para o armazenamento.4 . necessárias para suportar uma área de negócios.Integridade pode ser mantida. relações de dados.É padrão aberto. 4 . elevando os custos.Possui suporte a Unicode / Anomalias de acesso concorrente. semântica de dados e restrições de consistência. Representada também por . Um modelo de dados oferece uma maneira de descrever o projeto de um banco de dados do nível lógico. Segurança pode ser reforçada. Requisitos contraditórios podem ser equilibrados. tanto para usuários como para computadores / Redundância e inconsistência dos dados.Suporte a transações pode ser fornecido / Custos altos para a conversão de sistemas baseados em arquivos para banco de dados.Simplicidade e legibilidade.  Sistemas de Arquivos Vantagens / Desvantagens 1 . 6 . 2 . contendo uma coleção de ferramentas conceituais descrevendo os dados. 5 . 5 . Especificando também a atividade de regras de negócios. Padrões podem ser reforçados / Treinamento inicial necessários aos programadores e usuários.  Resumindo Modelo de dados consiste na especificação das estruturas de dados. afetando a transmissão e o processamento.Possibilidade de criar sua própria sintaxe de dados / Isolamento dos dados.

Uma entidade é um objeto que é distinguível de outro objeto por um conjunto específico de atributos. Uma restrição importante é o mapeamento de cardinalidade (ou multiplicidade de um conjunto de relacionamentos) que expressa o número de entidades ao qual outra entidade pode estar associada via um conjunto de relacionamentos.Modelo de dados entidade-relacionamento (MER): Leitura. respectivamente. O modelo relacional é um . Por exemplo. Um relacionamento é uma associação entre várias entidades. um relacionamento PessoaEsporte. o modelo ER representa certas restrições com os quais os conteúdos de bancos de dados precisam estar de acordo. Os três modelos de dados mais conhecidos.Modelo relacional: Usa uma coleção de tabelas para representar os dados e as relações entre eles. Sendo os softwares BrModelo. construção e validação dos modelos. Em acréscimo a entidades e relacionamentos. os atributos nome. a segunda já agrega alguns detalhes de implementação e a terceira demonstra como os dados são fisicamente armazenados. quanto ao objetivo. modelagem lógica e modelagem física. BPWin. 2 . os utilizados. A abordagem que se dispensa ao assunto normalmente atende três perspectivas: modelagem conceitual. onde associa cada tipo de pessoa a um esporte. Por exemplo. são: 1 . A primeira é conhecida e usada como representação de alto nível e considera exclusivamente o ponto de vista do usuário criador do dado. Cada tabela possui diversas colunas e cada coluna possui um nome único. O modelo entidade-relacionamento é baseado em uma percepção de um mundo real que consiste em uma coleção de objetos básicos chamados entidades e em relacionamentos entre estes objetos. O conjunto de todas as entidades de um mesmo tipo e o conjunto de relacionamentos do mesmo tipo são denominadas conjuntos de entidades e conjuntos de relacionamentos. É uma parte importante do desenho que compõe o sistema de informação. idade e peso são exemplos de atributos de objetos Pessoa.um conjunto de requerimentos de informações de negócios.

e-mail. e o código precisa ser traduzido entre a representação do dado e as tuplas da tabela relacional. Para solucionar o desafio escolhemos Entidade e relacionamento – ER. Java. dentre outros. Segundo. além de ser uma operação tediosa de ser escrita. tipo_veiculo. consome tempo. Sendo o gerenciador de banco de dados para um orientado a objetos. são bem utilizados para esta aplicação.exemplo de modelo baseado em registros. Com a percepção de um universo constituído por um grupo básico de objetos chamados de entidades e com relacionamento entre esses objetos. cor_veiculo. nome_proprietario.  Controle de Estacionamento ATRIBUTOS Cpf_proprietario. Python ou Delphi. por ser um modelo abstrato cuja a finalidade é descrever. conceitualmente.Modelo de dados baseado em objeto (ODBMS ou OODBMS): Um banco de dados em que a informação é armazenada na forma de objetos. telefone_res. A primeira. 3 . Vaga Modelo_veiculo. Aris Tool Set. os dados são manipulados pela aplicação escrita usando linguagens de programação orientada a objetos. o que. ano_veiculo. C#. é que em um banco de dados relacional se torna difícil de manipular com dados complexos. os dados a serem utilizados em um sistema de informação ou que possam pertencer a um domínio. telefone_com. sendo a representação gráfica sua principal ferramenta. sendo os softwares BPWin. Visio da Microsoft e similares SmartDraw. telefone_cel. ENTIDADE Estacionamento . e uma grande maioria dos sistemas de banco de dados atuais é baseada no modelo relacional. e é o modelo de dados mais usado. Sendo dois fatores principais que levam a adoção da tecnologia de banco de dados orientados a objetos. Softwares como C++.

Inicialmente vazio. seguimos adiante com nossa criação.  Estado do banco: Dados do banco em qualquer ponto do tempo.  Esquema do Banco: Armazenamento no catalogo. Procuramos apresentar de forma clara e objetiva nossa pesquisa sobre as diferentes formas de se montar o Servidor de Banco de Dados.Esquema – Descrição. Modelo de Dados Regra para estruturação dos dados Esquema Regra para verificação das instâncias Instância Entidades Cliente Produto Instâncias cpf_proprietário Vaga_estacionamento Até aqui conseguimos mostrar as atividades de como será desenvolvido a base para o Banco de Dados para a empresa LFLXZ Ltda. textual ou gráfica. . Após todo o levantamento. Instância – Conjunto de dados armazenados em um banco de dados em um determinado instante de tempo. Mudanças muito menos freqüentes. da estrutura de um banco de dados de acordo com um determinado modelo de dados. Muda freqüentemente. Validade parcialmente garantida pelo SGBD.

Pode ser definida como qualquer coisa do mundo real.Etapa 2 – Aula Tema: MER (Modelo Entidade Relacionamento). cujas características se deseja armazenar. na . CodigoCadastro *#nro_ficha *#nro_ficha *#nro_vaga *#placa_veiculo Modelo_veiculo Cor_veiculo Tipo_veiculo Ano_veiculo *#cpf_proprietario nome_proprietario Tel_com Tel_res Tel_cel email CadastroVaga *#nro_vaga Entidade . abstrata ou concreta.Objeto do universo de interesse do Banco de Dados.

Representação Gráfica:  Relacionamento muitos para muitos . Contrato. Representação Gráfica:  Linhas Ligam atributos a conjuntos de entidades e conjuntos de entidades a relacionamentos. etc. Produto. Representação Gráfica:  Atributo Chave - Atributo único para a entidade.Características das entidades.qual se deseja guardar informações. em analogia às teorias de grafos e redes. Exemplos de entidades: Cliente. Exemplos de atributos: Código doProduto (Entidade Produto). Vendas. Nome do Cliente (Entidade Cliente). Representação Gráfica:  Atributo Composto - Atributos com tipos de dados diferentes. Alguns autores chamam as linhas de arestas. Representação Gráfica: Relacionamento entre conjuntos de entidades * Atributos .

Etapa 3 – Aula Tema – Modelo Relacional – Mapeamento do modelo MER para o Relacional. Nesta etapa pudemos criar quadro de cada entidade proposta. justificando e apresentado o conceito de relacionamento e cardinalidade. Essa relação foi percebida devido a existência de vários cadastros com relação a diversas vagas de estacionamento. Mostramos sua cardinalidade. com a simbologia de cada figura atribuída.O relacionamento muitos para muitos é usado quando várias entidades A se relacionam com várias entidades B. Este relacionamento é representado pelo sinal: N:N ou N:M. o grau de relacionamento. . chaves e relacionamentos devidos. Como já dito. na etapa anterior mostramos a parte conceitual de como iniciar um Banco de Dados. Representamos graficamente através do Modelo de Entidade Relacional. Uma pessoa pode ter diversas vagas assim como uma vaga não privativa posa ter vários números de placas (*#nro_placa). identificando os seus atributos com os tipos.

o limite pode ser definido tanto pela ferramenta do software quando pelos recursos do hardware do equipamento. Na informal nos preocupamos com os aspectos práticos da utilização e usamos os termos tabela. linha e coluna. Na formal nos preocupamos com a semântica formal do modelo e usamos termos como relação-tabela. BDR. podendo assumir valores nulos quando assim se fizer necessário. Esses registros não precisam conter informações em todas as colunas. cada linha contem um mesmo conjunto de colunas.  Exemplo: O Cliente nome_proprietario é uma instância (registro) da tabela cadastro e a nro_vaga é a instância (registro) da tabela vaga do Estacionamento. Essas tabelas associam-se entre si através de regras de relacionamentos. Nela. onde o verbo ser representa a ligação entre estes distintos registros. tupla-linhas e atributo-coluna. Tabelas – relações ou entidades Todos os dados de um Banco de dados relacional. Registro ou Tuplas Cada linha formada por uma lista ordenada de colunas representa um registro. . Um banco de dados pode conter uma ou centenas de tabelas sendo que. as quais consistem em associar um ou vários atributos de uma tabela com um ou vários atributos de outra tabela. ou tupla. assim. são armazenados em tabelas. Fazendo associação entre elas teríamos a seguinte instância do relacionamento: cpf_proprietario está na nro_vaga. o Estacionamento fornece a lista de vagas para a tabela cadastro.  Exemplo: A tabela Cadastro se relaciona com a Vaga no Estacionamento. O MODELO RELACIONAL A arquitetura de um banco de dados relacional pode ser descrita informalmente ou formalmente. Tabela é uma simples estrutura de linhas e colunas.

o conceito mais similar é o de Tipo Abstrato de Dados em linguagens de programação. como já dito acima. nro_ficha.Colunas – Tribunas Atributos é um dos nomes também dados as colunas de uma tabela. Cria-se uma nova tabela que recebe uma fk do proprietário e cada telefone pertence a um proprietário. Vejamos: se um banco de dados tem como chaves NRO_VAGA e NRO_FICHA. Uma chave é um conjunto de um ou mais atributos que determinam a unicidade de cada registro. Chaves As tabelas se relacionam umas as outras através delas. Ex: cpf_proprietario. placa_veiculo. telefone(s). definindo assim o relacionamento entre elas. nunca será repetida. cada proprietário pode possuir vários carros e cada carro apenas um proprietário. Ressalto que. em um campo do tipo numérico só poderão ser armazenados números. Exemplo desafio: Proprietário se relaciona com telefone por ser um atributo que se pode haver vários. ano_veiculo. . aparecera apenas opção para alterar o registro existente. toda vez que for feito uma inclusão. a tabela veiculo recebe uma fk da tabela proprietário. o qual pode ocorrer repetidas vezes. são meta-dados. O conjunto de valores que um atributo pode assumir é chamado de Domínio. Chave Estrangeira – FK – é uma chave formada através do relacionamento com a chave primária de outra tabela. Proprietário também se relaciona com veiculo. Com isso. Temos dois tipos de CHAVES:   Chave Primária – PK – é a chave que da UNICIDADE. nro_vaga. nro_ficha. Ou seja. ou seja. o sistema de Gerenciamento de Banco de Dados fará uma consulta para saber se o registro já não esta gravado na tabela. ou seja. não sera criado um novo registro e sim.

Vaga recebe a fk de estacionamento. com isso é necessário. cada uma com sua chave primaria. mapear estas extensões para o MER original. sendo possível assim relacionar todos eles. Já uma limitação do modelo ER é que não é possível expressar relacionamentos entre relacionamentos. Dessa forma estas entidades não são tratadas de uma forma tao superior como na relacional acima. PROPR. o qual não é muito utilizado pois o SGBD Relacionais não suporta diretamente extensões. Grande parte das extensões aproximaram o MER do modelo Orientado à objeto. mas cada vaga pertence a apenas um estacionamento Quais as limitações na execução do processo de Mapeamento do modelo MER para o Relacional: No MER não se tem as tabelas e sim as entidades e seus atributos enquanto no Modelo Relacional já se formam as tabelas. NRO_VAGA . Agora iremos descrever através de figurar uma co-relação entre suas entidades e relacionamentos.Veiculo também se relaciona com vaga que recebe a fk d veiculo que também seria a placa. Exemplo: Usando Agregação: é uma abstração através da qual Relacionamentos são tratados como entidades de nível superior. cada veiculo pode pertencer a uma vaga e cada vaga a apenas um veiculo. que por sua vez pode ter varias vagas. CADASTRO UTILIZA N VAGA ESTACIONAMENTO Nesse modelo: entidades de nível superior. antes de implementa-lo.

Etapa 4 – Aula Tema – Normalização Normalização de Dados é o processo formal no qual é examinado os atributos de uma entidade com o objetivo de evitar anomalias observadas na inclusão. Geralmente ao aplicar essa regra algumas tabelas acabam sendo divididas em duas ou mais tabelas. o assunto é comum em todas as etapas. . evitando assim uma repetição desnecessária de dados bem como inconsistência dos mesmos. Pudemos descrever todos os itens que compõe o mapeamento dos dados na forma de uma estrutura relacional.Como já dito em relatórios anteriores. exclusão e alteração de registros. mostrando as funções e relacionando-as com as entidades propostas. nosso grupo desenvolveu os conceitos do Modelo Relacional aplicando-os e demonstrando-os graficamente. reduzindo necessidades de manutenção. Uma regra valiosíssima que devemos observar quando criamos o projeto de um Banco de dados baseando-se no Modelo Relacional é a de não misturar assuntos em uma mesma tabela. Com este processo há uma simplificação dos atributos de uma tabela colaborando significativamente com a estabilidade do modelo de dados. sendo importante para aprimorar e desenvolver alguns conceitos como nesta etapa onde. Um exemplo no nosso desafio é de na Tabela Cadastro conter apenas campos relacionados com o assunto cadastro Cliente.

com jar@gmail. não está na 1 forma normal Todos os clientes possuem telefone_com. tipo. cor. nome_proprietario.444333 – joi@gmail. Exemplo: Cadastro: nro_ficha.Uma relação estará na Primeira forma normal 1FN se e somente se TODOS os domínios básicos contiverem somente valores atômicos – não conter grupos repetitivos.fox Tabela não normalizada.com joi@gmail. telefone_com.com – preto – 2004 – carro . ela não admite repetições ou campos que tenha mais q um valor. telefone_res e telefone_cel.com joi@gmail.com | 444-333 | Preto | 2004 | A tabela agora encontra-se na Primeira Forma Normal – um campo por linha. Ou seja.com 888-999 222-333 333-444 999-888 333-222 Amarelo Amarelo Amarelo Preto Preto 2 | Joice | 4321 | joi@gmail. modelo 1 – Jardel – 1234–888-999–222333–333444 – jar@gmail. ou seja. cpf_proprietario. Para normaliza-la devemos colocar cada informação dentro de uma coluna diferente: ID_Proprietario(pk) 1 1 1 2 2 | | | | | Jardel Jaco Jaco Joice Joice | | | | | | 1234 1234 1234 4321 4321 | | | | Nome | | CPF | E-mail | | | | | | Telefone | | | | | | Cor | | | | | | Ano 2000 2000 2000 2004 2004 | | | | | | jar@gmail. Vamos eliminar atributos repetidos e identificar com chave primária.com jar@gmail. telefone_res. Segunda Forma Normal: Uma tabela estará na 2FN se ela estiver na 1FN e todos os atributos não chave forem totalmente dependentes da chave primária.com – amarelo – 2000 – carro – gol 2 – Joice – 4321 – 999888 – 333222. email. telefone_cel. ano. Procedimentos: .

a chave primária da nova entidade será o atributo do qual os atributos removidos são funcionalmente dependentes.com | | Amarelo Preto | | 2000 2004 | | Carro Carro | | Gol Fox | | Tabela ID_Proprietario(fk) 1 1 1 2 2 | | | | | 3 4 5 1 2 | | | | ID_Telefone(pk) | | 888-999 222-333 444-333 999-888 333-222 | | | | Numero | | | Telefone Tipo | | | | | | Móvel Fixo Comercial Móvel Fixo 2 | 6 | 333-444 | Comercial | Terceira Forma Normal: É quando uma tabela esta na forma 2FN e se nenhuma coluna nãochave depender de outra coluna não-chave. Ou seja. Assim.1 – Identificar atributos que não são funcionalmente dependentes de toda a chave primária. Exemplo: Tabela Proprietário ID_Proprietario(pk) | Nome | CPF | E-mail | Cor | Ano | Tipo | Modelo | 1 2 | | Jardel Joice | | 1234 4321 | | jar@gmail. nessa forma temos que eliminar os campos que podem ser obtidos pela soma de outros campos da mesma tabela.com joi@gmail.  Identificar os atributos que são funcionalmente dependentes de outros atributos não chave. 2 – Remover da entidade todos esses atributos identificados e criar uma nova entidade com eles.  Eliminá-los. .

com carolls@gmail.Tabela ID_Proprietario(pk) 1 2 Tabela ID_Proprietario(fk) 1 1 1 2 2 2 Tabela ID_Veiculo(pk) | ID_Proprietário(fk) | Cor | Ano | Tipo | | | | | | | | 1 2 3 4 5 5 ID_Telefone(pk) | | | | | | | | | Jardel Joice | | | Nome 1234 4321 | CPF | | | Proprietário E-mail | | | Telefone Telefone 888-999 222-333 444-333 999-888 333-222 333-444 | | | | | | | Veiculo Modelo | jar@gmail.com kaisass@gmail.com .com 1 | 1 | Amarelo | 2000 | Carro | Gol 2 | 2 | Preto | 2004 | Carro | Fox Etapa 5 – Aula Tema: Álgebra Relacional Passo 1Proprietário ID_Proprietario(pk) 1 2 3 4 | | | | João Maria Kai Carol | | | | | Nome 2121231 4324232 3232123 2345555 | | | | | CPF | E-mail | | | | | joaods@gmail.com marias@gmail.com joi@gmail.

com dina87@gmail.com sousa98@gmail.com juaquin@gmail.5 6 7 8 9 10 Telefone | | | | | | Kassio Juaquim Benta Juaquina Dina Sousa | | | | 6765765 7687597 6666666 | 2525252 8789879 | | | kssioss@gmail.com | 9876880 ID_Proprietario(fk) 1 2 3 4 5 6 7 8 9 10 Veiculo | | | | | 9 10 | | | 6 7 8 | | 3 4 5 1 2 | ID_Telefone(pk) | | | | | | | | | | 87654321 | Numero | | | | | | | | | | | Tipo | | | | | | | | | | | Comercial Cel Residencial Comercial Cel Residencial Comercial Cel Residencial Comercial 32354656 23423211 12222334 66443224 44333134 55579977 77765455 56534523 64532344 ID_Prop(fk) | ID_Vaga(fk) | ID_Veiculo(pk) | Placa | Ano | Modelo | Cor | Tipo | 1 2 3 4 | | | | 1 2 3 4 | | | | 1 2 3 4 | | | | sdf1234 ykp5543 juh4422 dsg3321 | | | | 2001 2009 2003 2008 | | | | Gol Astra Uno Gol | | | | Preto Preto Prata Branco | | | | Automóvel Automóvel Automóvel Automóvel | | | | 5 | 5 | 5 | ffs7788 | 2007 | Astra | Verde | Automóvel | .com bentaf6@gmail.com | | | | | | | | | juaquin@gmail.

6 7 8 9 10 | | | | | 6 7 8 9 10 | | | 8 | | 6 7 | | | ssa0675 sds9980 ssa0098 | | | 2001 2002 2005 | | | Uno Gol Astra | | | Azul Preto Amarelo | | | | | Automóvel Automóvel Automóvel Automóvel Automóvel | | | | | 9 10 | | jku0987 jhn0990 | | 2011 2010 | | Uno Gol | | Prata Vermelho Estacionamento ID_Estacionamento(pk) 1 2 3 4 5 6 7 8 9 10 Vaga ID_Estacionamento(fk) 1 2 3 4 5 6 | | | | | | 1 2 3 4 5 6 | | | | | | | ID_Vaga(pk) 1 2 3 4 5 6 | | | | | | | ID_Veiculo 01/06/2011 01/06/2011 01/06/2011 01/06/2011 01/06/2011 01/06/2011 | Data | | | | | | | Hora | | | | | | | | | | | | | | | | | | 1:00 2:00 3:00 4:00 5:00 6:00 .

3 – Operação de União Exemplo: (Relação 1)U(Relação 2) Essa seleção só será possível se as tabelas possuírem compatibilidade de união. 2 – Operação de Projeção Exemplo: Nome. Cpf. Cpf e E-mail. E-mail Essa seleção nos mostrará como resultado uma tabela que conste apenas os dados Nome.7 8 9 | | | 7 8 9 | | | 7 8 9 | | | 01/06/2011 01/06/2011 01/06/2011 | | | 7:00 8:00 9:00 | | | 10 | 10 | 10 | 01/06/2011 | 10:00 | Passo 2 – 1 – Operação de Relação Exemplo: cor = preto Essa seleção nos mostrara como resultado todas as informações que conterem a cor preto em seu veículo. Por exemplo: Imagine que precisamos recuperar a identificação dos proprietários dos veículos estacionados com as vagas. Ex: Nro_ficha 1 2 Nro_vaga 1 2 .

4 – Relação de Interseção Exemplo: (Relação 1) (Relação 2) A relação criada pela operação de intersecção será o reultados de todas as tuplas que pertençam a ambas relações presentes. Ex: Carro Gol Astra Uno Gol Cor Preto Preto Prata Preto Resultado Gol (João) Preto (Benta) Etapa 6 – Aula tema: Álgebra Relacional parte II 1 – Divisão 2 – Diferença Exemplo: (Relação 1) – (Relação 2) 3 – Junção Exemplo: ABC |x| CDE= .