Técnicas e Linguagens para Banco de Dados I



Documentos relacionados
Banco de Dados Modelo Conceitual, Lógico, Físico, Entidade- Relacionamento (ER) Hélder Nunes

Disciplina: Unidade III: Prof.: Período:

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

Capítulo 5 Complemento. 5.1 Laudon, Cap. 5

Profa. Daniela Barreiro Claro

Banco de Dados. Arquitetura e Terminologia. Prof. Walteno Martins Parreira Jr waltenomartins@yahoo.

Modelo de Dados Relacional Restrições de um Banco de Dados Relacional

Conceitos de Banco de Dados

Persistência e Banco de Dados em Jogos Digitais

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Prof. Alexandre Unterstell Banco de Dados I

MODELAGEM DE DADOS. Banco de Dados I. O uso da análise e do projeto Orientados a Objetos atenuou a separação! Unidade I

Oficina. Praça das Três Caixas d Água Porto Velho - RO

Disciplina de Banco de Dados Parte V

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II

Apresentação... Nome: Vanderlei Cordeiro Frazão

Programação SQL. Introdução

Unidade II ADMINISTRAÇÃO DE. Prof. Luiz Fernando de Lima Santos

Conceitos básicos. Aplicações de banco de dados. Conceitos básicos (cont.) Dado: Um fato, alguma coisa sobre a qual uma inferência é baseada.

PHP INTEGRAÇÃO COM MYSQL PARTE 1

Curso Superior de Tecnologia em BD

Bancos de Dados. Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações

Prof. Marcelo Machado Cunha

Banco de Dados. Modelagem de Dados com MER. Prof. Walteno Martins Parreira Jr

Banco de Dados. Profª. Ana Leda

Disciplina: Unidade I: Prof.: Período:

Dados. Qualquer elemento (aspecto, fato, medida etc.) representativo, disponível e coletável na realidade. fatos no estado bruto, conforme Platão;

Modelo Entidade-Relacionamento

GBD PROF. ANDREZA S. AREÃO

Disciplina: Unidade II: Prof.: Período:

Curso de Aprendizado Industrial Desenvolvedor WEB. Disciplina: Banco de Dados Professora: Cheli Mendes Costa Modelo de Dados

Modelo de Entidade e Relacionamento (MER) - Parte 07

Capitulo 2. Prof.º Espc. Fábio Margarito Martins de Barros - Tecnologia de banco de dados

AULA Entidade-Relacionamento

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas:

Introdução a Banco de Dados. Adão de Melo Neto

1. Domínio dos Atributos

Banco de dados 1. Linguagem SQL DDL e DML. Professor: Victor Hugo L. Lopes

Modelo Relacional. 2. Modelo Relacional (Lógico)

Principal: construir uma base de dados para produção de informações sobre internações hospitalares;

FERRAMENTA WEB PARA MODELAGEM LÓGICA EM PROJETOS DE BANCOS DE DADOS RELACIONAIS

Modelo Relacional. Modelo Relacional. Tabelas

Banco de Dados. Maurício Edgar Stivanello

Banco de Dados Transformação Modelo Conceitual para Lógico Relacional. Prof. Juliano Lucas Gonçalves

PROJETO DE BANCO DE DADOS -INTRODUÇÃO. Prof. Angelo Augusto Frozza, M.Sc.

Tecnologias e Linguagens para Banco de Dados I. Expressão do Relacionamento. Expressão do Relacionamento

FACULDADE INTEGRADAS DE PARANAÍBA ADMINISTRAÇÃO DE EMPRESAS. Bancos de Dados Conceitos Fundamentais

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional

Modelo de Dados. Modelo para organização dos dados de um BD

Structured Query Language (SQL)

Núcleo de Pós Graduação Pitágoras

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

O que são Bancos de Dados?

Sistemas Gerenciadores de Bancos de Dados

Fernando Albuquerque - fernando@cic.unb.br. Bancos de Dados. Fernando Albuquerque fernando@cic.unb.br

Banco de Dados I Introdução

Introdução Banco de Dados

O Modelo de Entidades e Relacionamentos (MER) é um modelo conceitual usado para projeto de aplicações de banco de dados.

SISTEMA GERENCIADOR DE BANCO DE DADOS

Roteiro. Modelo de Dados Relacional. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa. Posicionamento.

Introdução ao SQL. Aécio Costa

Modelo de Dados. Modelos Conceituais

AULA 6 INTEGRIDADOS DOS DADOS - CRIANDO RESTRIÇÕES

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

2 Diagrama de Caso de Uso

SQL. Autor: Renata Viegas

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

4.6. SQL - Structured Query Language

A linguagem SQL

Introdução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

Modelagem de Dados UNIDADE DE REVISÃO E RECUPERAÇÃO

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE]

PROJETO DE BANCO DE DADOS -INTRODUÇÃO. Prof. Angelo Augusto Frozza, M.Sc.

DISCIPLINAS DO CURSO INFORMÁTICA ÊNFASE GESTÃO DE NEGÓCIOS. PROFESSOR: DOUGLAS DUARTE DISCIPLINA: BDA1-3º SEMESTRE. Modelagem de Dados

Integridade dos Dados

UML Diagramas Estruturais Classes

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc.

Prof.: Clayton Maciel Costa

Banco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011

? O SQL SERVER é um sistema de gerenciamento de banco de dados relacional que foi desenvolvido inicialmente pela Microsoft em parceria com a Sybase.

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Modelagem de Dados Usando o Modelo Entidade-Relacionamento

Softwares Aplicativos Banco de Dados

Conceitos Básicos. Conceitos Básicos. Sistema de Arquivos. Prof. Edilberto Silva - edilms@yahoo.com. Sistemas de Informação Brasília/DF

Aula 02 Modelagem de Dados. Banco de Dados. Aula 02 Modelagem de Dados. Superior /2011 Redes Computadores - Disciplina: Banco de Dados -

LINGUAGEM DE BANCO DE DADOS

Banco de Dados I. Introdução Conceitos

Prof.: Clayton Maciel Costa

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

Introdução a Banco de Dados e Access

Sistema de Bancos de Dados. Conceitos Gerais Sistema Gerenciador de Bancos de Dados

Engenharia de Software

Banco de Dados Aula 02. Colégio Estadual Padre Carmelo Perrone Profº: Willian

Introdução a Banco de Dados e Access

UD 4: Sistema de Gerenciamento de Banco de Dados

Básico da Linguagem SQL. Definição de Esquemas em SQL. SQL(Structured Query Language)

Banco de Dados I. Introdução. Fabricio Breve

Transcrição:

Técnicas e Linguagens para Banco de Dados I Prof. Eduardo Ribeiro www.eduardo.trisolution.com.br eduardo@ trisolution.com.br

Introdução Banco de Dados Dados x Informações Dados = É um elemento que mantém a sua forma bruta (texto, imagens, sons, vídeos, etc.) Informações = Significado dos dados para um determinado usuário! (Dados compilados e processados)

Conceitos Sistema de Bancos de Dados: É um software com recursos específicos para facilitar a manipulação das informações dos bancos de dados e o desenvolvimento de programas aplicativos (Oracle, SQLServer, Paradox, Access, DBase). Possui quatro componentes principais: o Dados o Hardware o Software o Usuários

Componentes de um Sistema de BD

Linguagem de Banco de Dados SQL (Structured Query Language Linguagem de consulta estruturada) é uma linguagem usada para a consulta, atualização, criação e gerenciamento de banco de dados relacionais. É um método para selecionar determinados registros de um banco de dados, seguindo um critério especificado a sua escolha. O SQL é considerado uma linguagem padrão para o gerenciamento de banco de dados relacionais.

Linguagem de Banco de Dados Alguns Tipos de Dados o Char; o VarChar; o Integer; o Float; o Decimais; o Datas;

Linguagens de Definição e Manipulação de Dados Exemplo de SQL: CREATE TABLE cliente ( nome cidade rua ) VARCHAR(50), VARCHAR(35), VARCHAR(30) TABLE cliente João Curitiba Albino Sartori Maria Marília Av Republica

Segurança em Banco de Dados Os bancos de dados são utilizados para armazenar diversos tipos de informações, desde dados sobre uma conta de e-mail até dados importantes da Receita Federal. Para tal existem diversos tipos, os quais variam em complexidade e sobretudo em segurança. Fonte: http://pt.wikipedia.org

Meios de Proteger as Informações Armazenadas num Banco de Dados Criptografia o São técnicas pelas quais a informação pode ser transformada da sua forma original para outra ilegível, de forma que possa ser conhecida apenas por seu destinatário, o que a torna difícil de ser lida por alguém não autorizado. Assim sendo, só o receptor da mensagem pode ler a informação com facilidade.

MD5 o Foi desenvolvido em 1991 por Ronald Rivest para suceder ao MD4 que tinha alguns problemas de segurança. Por ser um algoritmo unidirecional, uma hash md5 não pode ser transformada novamente no texto que lhe deu origem. O método de verificação é, então, feito pela comparação das duas hash (uma da base de dados, e a outra da tentativa de login). Eduardo = MD5( 364a440226e1b575411a0e324e712d17 ) eduardo = MD5( 6d6354ece40846bf7fca65dfabd5d9d4 )

Meios de Proteger as Informações Armazenadas num Banco de Dados Senhas o É uma palavra ou uma ação secreta previamente convencionada entre duas partes como forma de reconhecimento. Backup o Em informática, cópia de segurança é a cópia de dados dum dispositivo de armazenamento a outro para que possam ser restaurados em caso da perda dos dados originais, o que pode envolver apagamentos acidentais ou corrupção de dados.

Modelo Relacional O modelo de dados relacional apresenta o banco de dados como uma coleção de tabelas. O conceito de tabela, embora seja simples e intuitivo, apresenta uma forte correspondência com o conceito matemático de uma relação. Um banco de dados relacional consiste de uma coleção de relações, cada uma das quais associada a um nome único.

Modelo Relacional Chave Primária: a chave primária de uma relação é o atributo ou coleção de atributos que identifica univocamente uma dada tupla (linha). Por exemplo, um dado código identifica uma única linha (um vendedor específico). Assim, COD-VEND é a chave primária da relação VENDEDOR.

Modelo Relacional Chave primária simples, é formada por um único campo da tabela, esse campo não pode ter dois ou mais registros de mesmo valor, e também não pode conter nenhum registro nulo. Chave primária composta, formada por mais de um campo, os valores de cada campo podem se repetir, mas não a combinação desses valores. Exemplo: a tabela 'Livros_Autores' tem como chave primária (cod_livro, cod_autor). Podem existir nessa tabela os registros: (5, 9), (5, 10), (4, 9), (9, 5) Mas não podem existir dois registros (5, 9). Fonte: http://pt.wikipedia.org

Modelo Relacional Chave Estrangeira: a noção de chave estrangeira oferece um mecanismo para especificar explicitamente relacionamentos entre duas relações diferentes. Consiste em incluir a chave primária de uma relação como atributo da outra.

Entidades / Atributos Entidades: têm existência própria. Exemplo: Aluno, Cliente, Produto. Atributos: os atributos da entidade Aluno são: Número da matrícula Nome Endereço Data nascimento

Tipos de Relacionamentos Possíveis no MER Um para um (1 para 1) - indica que as tabelas têm relação unívoca entre si. Você escolhe qual tabela vai receber a chave estrangeira; Um para muitos (1 para N) - a chave primária da tabela que tem o lado 1 vai para a tabela do lado N. No lado N ela é chamada de chave estrangeira; Muitos para muitos (N para N) - quando tabelas têm entre si relação n..n, é necessário criar uma nova tabela com as chaves primárias das tabelas envolvidas, ficando assim uma chave composta, ou seja, formada por diversos campos-chave de outras tabelas. A relação então se reduz para uma relação 1..n, sendo que o lado n ficará com a nova tabela criada. Os relacionamento 1 para 1 e 1 para N podem ser mapeados diretamente em chaves estrangeiras nas tabelas originais. Já o relacionamento N para N exige o uso de uma tabela auxiliar. Fonte: http://pt.wikipedia.org/wiki/banco_de_dados_relacional

Tipos de Relacionamentos Possíveis no MER

Modelagem de dados Modelagem de dados ou modelagem de banco de dados envolve uma série de aplicações teóricas e práticas, visando construir um modelo de dados consistente, não redundante e perfeitamente aplicável em qualquer SGBD moderno. A modelagem de dados está dividida em: Modelo conceitual Modelo lógico Modelo físico

Modelo conceitual A modelagem conceitual é a forma mais natural dos fatos e estão mais próximas da realidade do ambiente do cliente. No modelo conceitual o cliente deverá ser envolvido a fim de obter o levantamento de dados que darão suporte à construção de todo o modelo.

Modelo Físico / Modelo Lógico O modelo lógico já leva em conta algumas limitações e implementa recursos como adequação de padrão e nomenclatura. Define as chaves primárias e estrangeiras. deve ser criado levando em conta os exemplos de modelagem de dados criados no modelo conceitual. * = Muitos

Modelo Físico / Modelo Lógico No modelo físico fazemos a modelagem física do modelo de banco de dados. Leva-se em conta as limitações impostas pelo SGBD escolhido e deve ser criado sempre com base nos exemplos de modelagem de dados produzidos no item anterior, modelo lógico.

Modelo Relacional Representação Simplificada: uma estrutura de tabela pode ter a seguinte representação simplificada: NOME-DA-TABELA=(LISTA-DE-ATRIBUTOS) Nessa representação grifa-se a chave primária da relação para destacá-la. Exemplo: CLIENTE(COD-CLI, NOME-CLI, ENDEREÇO, LIM-CRED, COD- VEND) VENDEDOR(COD-VEND, NOME-VEND, COMISSAO, CPF_VEND)

Modelo Relacional CLIENTE(COD-CLI, NOME-CLI, ENDEREÇO, LIM-CRED, COD-VEND) VENDEDOR(COD-VEND, NOME-VEND, COMISSAO, CPF_VEND) COD-VEND NOME-VEND COMISSAO CPF_VEND 45852 SERGIO 10 254.425.658-58 57658 MARCOS 15 156.426.810-15 74253 JOAO 10 104.081.741-62 COD-CLI NOME-CLI ENDERECO LIM-CRED COD-VEND 2584 BAR X R. DAS BROMELIAS, 45 5600 45852 3245 RESTAURANTE Y R. DAS ROSAS, 94 4200 57658 1256 BAR Z R. DAS ORQUIDEAS, 2 9800 45852 5740 CANTINA W R. DAS VIOLETAS, 34 7500 74253

Diagrama de Entidade Relacionamento (DER) ID_SETOR DESCRICAO COD_FUNCIONARIO NOME SALARIO SETOR 1 N FUNCIONARIO SETOR * ID_SETOR DESCRICAO SETOR (ID_SETOR, DESCRICAO) FUNCIONARIO * COD_FUNCIONARIO NOME SALARIO CPF ID_SETOR (FK) FUNCIONARIO (COD_FUNCIONARIO, NOME, SALARIO, CPF, ID_SETOR)

Modelo Relacional SETOR (ID_SETOR, DESCRICAO) FUNCIONARIO (COD_FUNCIONARIO, NOME, SALARIO, ID_SETOR) PK (Chave Primária) SETOR Campo Tipo Tamanho Nulo FK (Chave Estrangeira) PK_SETOR ID_SETOR NUMBER (3) N CK (Regra de Validação) DESCRICAO VARCHAR2 (30) N CK_SETOR_DESCRICAO (DESCRICAO <> ) FUNCIONARIO PK Campo Tipo Tamanho Nulo FK CK PK_FUNCIONARIO COD_FUNCIONARIO NUMBER (5) N NOME VARCHAR2 (50) N SALARIO NUMBER (8,2) S CK_FUNC_SALARIO (SALARIO > 0) AK_FUNC_CPF CPF CHAR (11) N ID_SETOR NUMBER (3) S FK_FUNC_SETOR

Diagrama de Entidade Relacionamento (DER) COD_FUNCIONARIO NOME DATA_INICIO ID_CARGO DESCRICAO FUNCIONARIO N FUNCAO M CARGO FUNCIONARIO FUNCAO CARGO * COD_FUNCIONARIO * COD_FUNCIONARIO (FK) * ID_CARGO NOME * ID_CARGO (FK) DESCRICAO DATA_INICIO FUNCIONARIO (COD_FUNCIONARIO, NOME) CARGO (ID_CARGO, DESCRICAO) FUNCAO (COD_FUNCIONARIO, ID_CARGO, DATA_INICIO)

Modelo Relacional FUNCIONARIO (COD_FUNCIONARIO, NOME) CARGO (ID_CARGO, DESCRICAO) FUNCAO (COD_FUNCIONARIO, ID_CARGO, DATA_INICIO) FUNCIONARIO PK Campo Tipo Tamanho Nulo FK CK PK_FUNCIONARIO COD_FUNCIONARIO NUMBER (5) N NOME VARCHAR2 (50) N CARGO PK Campo Tipo Tamanho Nulo FK CK PK_CARGO ID_CARGO NUMBER (3) N DESCRICAO VARCHAR2 (30) N FUNCAO PK Campo Tipo Tamanho Nulo FK CK PK_FUNCAO COD_FUNCIONARIO NUMBER (5) N FK_FUNCAO_FUNCIONARIO PK_FUNCAO ID_CARGO NUMBER (3) N FK_FUNCAO_CARGO DATA_INICIO DATE N

Diagrama de Entidade Relacionamento (DER) COD_MULHER NOME ID_HOMEM NOME MULHER 1 1 CASAMENTO HOMEM FUNCIONARIO * COD_MULHER NOME CARGO * ID_HOMEM NOME COD_MULHER (FK) MULHER(COD_ MULHER, NOME) HOMEM(ID_CARGO, NOME, COD_MULHER)

Administração do Modelo de Dados Manutenção da Documentação do Projeto Lógico (Modelo) e Físico (Esquema) do Banco de dados Métodos de Atualização: Engenharia Direta (Geração do Esquema) Engenharia Reversa Comparação Modelo x Esquema (Sincronização) Utilização de Ferramentas Case

Administração do Modelo de Dados Engenharia Direta (Geração de Esquema) Entidade_X Entidade_Y Esquema Físico Modelo Relacional

Administração do Modelo de Dados Engenharia Reversa Entidade_X Entidade_Y Esquema Físico Modelo Relacional

Administração do Modelo de Dados Comparação Modelo x Esquema (Sincronização) Entidade_X Entidade_Y Esquema Físico Modelo Relacional

Administração do Modelo de Dados Ferramentas Case Dr. Case (www.squadra.com.br) ER/Studio (www.embarcadero.com) DB-MAIN (www.db-main.be) DBDesigner (www.fabforce.net/dbdesigner4) ER-WIN (www.ca.com/us/products/product.aspx?id=260)

Exercício: Modelo conceitual, Modelo Lógico e Modelo Físico. Cadastro de Pessoa Nome Endereço Telefone Data Nascimento Estado Cidade CEP CPF RG Ocupação Sexo Estado civil Complemento Email Telefone Comercial Celular Ramal FAX