Banco de dados na Web

Documentos relacionados
ANÁLISE E PROJETO DE BANCO DE DADOS

AULA 1 INTRODUÇÃO A BANCO DE DADOS E VISÃO GERAL DO SQL CONCEITUANDO BANCO DE DADOS MODELO RELACIONAL

Rápida revisão do Modelo Relacional

Laboratório de Banco de Dados. Prof. Luiz Vivacqua.

Aula 01 Conceito de Banco de Dados e SGBD

Introdução a Bancos de Dados

Banco de Dados. Perspectiva Histórica dos Bancos de Dados. Prof. Walteno Martins Parreira Jr

Introdução ao Banco de Dados. Banco de Dados

SQL CREATE DATABASE. MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL.

A U L A 1 I N T R O D U Ç Ã O A B A N C O D E D A D O S E V I S Ã O G E R A L D O S Q L

SQL (Tópicos) Structured Query Language

Conceitos relativos a Banco de Dados & Modelos de Informação de Banco de Dados. Introdução

Banco de Dados Modelagem e Normalização

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO

Linguagem de pesquisa declarativa para banco de dados relacional; 1ª Versão - Desenvolvida pela IBM no laboratório de pesquisa de San José;

SQL (com MySQL) Apresentação OBJETIVOS. Programação

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL

Conceitos e arquitetura do banco de dados. Andre Noel

Revisão de Bancos de Dados

Comandos de Manipulação

A linguagem SQL

Introdução ao PostgreSQL

PostgreSQL Desenvolvedor

BCD29008 Banco de dados

Aula 01 Revisão Geral Banco de Dados I Conceito de Banco de Dados e SGBD

Introdução. O que é um Banco de Dados (BD)?

Curso de Banco de Dados. Prof. Rone Ilídio

Banco de Dados. Diego Silveira Costa Nascimento. 20 de março de Instituto Federal do Rio Grande do Norte

Técnico em Informática. Banco de Dados. Profª Ana Paula Mandelli

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

MODELAGEM DE DADOS - INTRODUÇÃO AO SQL: DML. Prof. Angelo Augusto Frozza, M.Sc.

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

IMPLEMENTAÇÃO DE BANCO DE DADOS

Linguagem SQL. ENG1518 Sistemas de Informação Gerenciais Prof. Marcos Villas

Aula 01. Introdução aos sistemas de informação Conceitos de banco de dados Modelos de BD Linguagens de Banco de Dados Usuários de um Banco de Dados

Álgebra Relacional e SQL

Banco de Dados. Aula 2 - Prof. Bruno Moreno 19/08/2011

Bancos (Bases) de Dados

Arquivo. Banco de Dados. Organização dos Arquivos. Banco de Dados. Banco de Dados. Introdução a Computação

Aula 2 BD Introdução. Profa. Elaine Faria UFU

Múltiplas Tabelas. Disciplina de Banco de Dados

SQL Server Desenvolvedor

DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR

Banco de Dados I. Aula 16 - Prof. Bruno Moreno 04/11/2011

Banco de Dados - Conceitos. Baseado no material da Profa. Vania Bogorny (UFSC)

Sistema de Banco de Dados. UNIDADE 1 Introdução aos Sistemas de Bancos de Dados Professor: Armando Hage

BCD29008 Banco de dados

AULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language)

MySql. Introdução a MySQL. Andréa Garcia Trindade

Agenda. Linguagem de Consulta SQL. 1. Introdução Histórico. 1. Introdução BD Relacionais

Matéria Introdutória. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

A linguagem SQL

Linguagem de Consulta Estruturada SQL- DML

Curso: Banco de Dados I. Conceitos Iniciais

Introdução 20 Diagramas de fluxos de dados 20 O processo de elaboração de DFD 22 Regras práticas para a elaboração de DFD 24 Dicionário de dados 26

LISTA DE EXERCÍCIOS TEORIA DE BANCO DE DADOS

SQL Básica. Andre Noel

Banco de Dados I 3 Modelagem de Dados Lógico e Físico

BCD29008 Banco de dados

Á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:

GBC053 Gerenciamento de Banco de Dados. Plano de Curso e Introdução. Ilmério Reis da Silva UFU/FACOM/BCC

Revisando Banco de Dados. Modelo Relacional

SQL Linguagem de Definição de Dados

Modelo Entidade-Relacionamento (E-R)

Revisão + Visões + Sub-Consultas + JOINS

BANCO DE DADOS I/MODELAGEM DE DADOS Prof. Ricardo Rodrigues Barcelar

Bases de Dados. Álgebra Relacional II Junções, agregações, vistas. P. Serendero,

Banco de Dados. Banco de Dados

Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados. Aula 1 Introdução a Banco de Dados

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo

Banco de Dados. Banco de Dados II. Característica fundamental de SGBDs. Abordagem SGBD x Processamento de Arquivos Tradicional

Banco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 2. Prof. Leonardo Vasconcelos

PROF. KLÉBER DE OLIVEIRA ANDRADE 1

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO

BANCO DE DADOS. Para a criação de um banco de dados, através de scripts SQL, deve-se usar a seguinte sintaxe: CREATE DATABASE <nome_banco_de_dados>

- SQL Linguagem de Manipulação de Dados

BCD29008 Banco de dados

Banco de Dados. Maurício Edgar Stivanello

Laboratório de Banco de Dados II Aula 04. Prof. Érick de Souza Carvalho

O que é modelo lógico. Tipos de modelo

BANCO DE DADOS. Araújo Lima. Jan / Araújo

Transcrição:

Banco de dados na Web 4º TSI Jonathan de Matos

Conteúdo Conceitos fundamentais diferenças entre mysql e postgresql programas clientes: psql - pgadmin 3 - phppgadmin terminal interativo psql: comandos linguagem SQL: sublinguagens DCL, DDL e DML criação de papéis (Roles): usuários e grupos criação de banco de dados esquemas e tablespaces tipo de dados criação de tabelas backup e restore concessão e revogação de privilégios

Conteúdo Operadores: lógicos, aritméticos, relacionais e especiais (like, between, null e is null ) inserção de registros atualização de registros exclusão de registros consultas cláusula distinct cláusula limit e offset cláusula where funcoes básicas: upper, lower, min, max, avg, count, sum, stddev classificação agrupamento e agregação (order, group e having)

Conteúdo integração de linguagem de script com SGBD (técnica dos 5 passos) funções avançadas: matemáticas, de string, de formatação e de data e hora subconsultas condicionalidade (case when then e else) junções: self join cross join inner join qualified join left outer join, right outer join e full outer join combinação de consultas (unions)

Conteúdo Visualizações (views) cláusulas de integridade restrições(constraint), domínios (domain) e verificações (check) Stored Procedures: transactions funções SQL funções PL/PGSQL disparadores (triggers) manutenção e otimização de banco de dados: otimização de SQL criação de índices (index) uso das ferramentas vacuum e analyse

Softwares envolvidos Apache HTTP Server PostgreSQL 8.4 PHP PhpPgAdmin Editor para códigos (notepad, Dreamweaver) XAMP

Dado e Informação Apesar de serem termos interligados e fazerem parte de um mesmo contexto, possuem significados totalmente distintos. Basicamente, um dado é um conjunto de símbolos (alfanumérico ou imagem), que não está agregado a nenhum conhecimento específico, tornando-o inutilizável para quem não souber em qual contexto está contido e o que representa. Ex.: 1549

Dado e Informação Uma informação é a agregação de um determinado conhecimento a um dado. Uma informação pode ser interpretada, enquanto um dado apenas pode ser visualizado. Ex.: 1549 é número de garrafas de vinho vendidas por uma determinada loja no mês X

Dados e Informações Hierarquicamente, o dado serve como matéria prima para o alcance de uma informação, pois é com base nele que pode ser feita qualquer interpretação sobre seu valor, objetivando-se o conhecimento. Ex.: 1549 + número de vendas mêx X = decisão futura de compras para o próximo mês

Conceitos Bancos de dados (ou bases de dados): é uma coleção de dados interrelacionados, representando informações sobre um domínio específico. São conjuntos de registros dispostos em estrutura regular que possibilita a reorganização dos mesmos e produção de informação. Um banco de dados normalmente agrupa registros utilizáveis para um mesmo fim. Um banco de dados é usualmente mantido e acessado por meio de um software conhecido como Sistema Gerenciador de Banco de Dados (SGBD). Normalmente um SGBD adota um modelo de dados, de forma pura, reduzida ou estendida. Muitas vezes o termo banco de dados é usado como sinônimo de SGBD. Exemplos: Oracle, Paradox, Access, DBase, MySQL, Interbase

Objetivos de um SGBD Isolar os usuários dos detalhes mais internos do banco de dados (abstração de dados). Prover independência de dados às aplicações (estrutura física de armazenamento e à estratégia de acesso).

Vantagens de um SGBD rapidez na manipulação e no acesso à informação; redução do esforço humano (desenvolvimento e utilização); disponibilização da informação no tempo necessário; controle integrado de informações distribuídas fisicamente; redução de redundância e de inconsistência de informações; compartilhamento de dados; aplicação automática de restrições de segurança; redução de problemas de integridade.

Desvantagens de um SGBD Sem dispositivos de controle adequados, a segurança pode ficar comprometida; por exemplo, no caso de acesso não autorizado a dados. A integridade das informações pode ser comprometida se não houver mecanismos de controle; por exemplo no caso de manipulação concorrente de dados. A operação do sistema de banco de dados e o desenvolvimento de aplicações precisam ser feitos com muita precisão para evitar que informações não correspondam à realidade. A administração do sistema de banco de dados pode se tornar muito complexa em ambientes distribuídos, com grande volume de informações manipuladas por uma grande quantidade de usuários.

Modelos de Dados

Modelos de Dados

Modelos de Dados

Modelos de Dados

Modelos de Dados

Banco de Dados Relacional Modelo conceitual

Modelo Lógico

Modelo Físico

Porque usar um SGBD Relacional? Foram desenvolvidos para prover acesso facilitado aos dados, possibilitando que os usuários utilizassem uma grande variedade de abordagens no tratamento das informações. Enquanto em um banco de dados hierárquico os usuários precisam definir as questões de negócios de maneira específica, iniciando pela raiz do mesmo, nos Bancos de Dados Relacionais os usuários podem fazer perguntas relacionadas aos negócios através de vários pontos. A linguagem padrão dos Bancos de Dados Relacionais é a Structured Query Language, ou simplesmente SQL, como é mais conhecida.

Tabelas (relações ou entidades) Na arquitetura de um banco de dados relacional usamos termos como: entidade(tabela), tupla(linhas) e atributo(coluna). Todos os dados de um banco de dados relacional são armazenados em tabelas. Uma tabela é uma simples estrutura de linhas e colunas. Em uma tabela, cada linha contém um mesmo conjunto de colunas (atributos). As tabelas associam-se entre si através de regras de relacionamentos, estas regras consistem em associar um ou vários atributos de uma tabela com um ou vários atributos de outra tabela.

Registros (linhas ou tuplas) Cada linha formada por uma lista ordenada de colunas representa um registro, ou tupla. Os registros não precisam conter informações em todas as colunas, podendo assumir valores nulos quando assim se fizer necessário. Resumidamente, um registro é uma instância de uma tabela, ou entidade.

Colunas (campos ou atributos) As colunas de uma tabela são também chamadas de Atributos. Ao conjunto de valores que um atributo pode assumir chama-se domínio. Por exemplo: em um campo do tipo numérico, serão somente armazenados números.

Chave (key) As tabelas relacionam-se umas as outras através de chaves. Uma chave é um conjunto de um ou mais atributos que determinam a unicidade de cada registro. Chave primária: (PK - Primary Key) é a chave que identifica cada registro dando-lhe unicidade. A chave primária nunca se repetirá. Chave Estrangeira: (FK - Foreign Key) é a chave formada através de um relacionamento com a chave primária de outra tabela. Define um relacionamento entre as tabelas e pode ocorrer repetidas vezes. Caso a chave primária seja composta na origem, a chave estrangeira também o será.

Relacionamento (cardinalidade) Relacionamento 1:1 (lê-se relação um-para-um ) - indica que as tabelas têm relação unívoca entre si. Você escolhe qual tabela vai receber a chave estrangeira; Exemplo: Um cliente é um usuário do sistema e todo usuário do sistema é um cliente;

Relacionamento (cardinalidade) Relacionamento 1:n (lê-se um-para-muitos) - 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; Exemplo: Uma região pode ter várias vinícolas, mas cada vinícola pertence apenas a essa região.

Relacionamento (cardinalidade) Relacionamento n:n ou n:m (lê-se muitos-para-muitos) - quando tabelas têm entre si relação n:m, é 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. Exemplo: Um pedido de compra pode ter várias mercadorias, e um tipo de mercadoria pode ser listada em vários pedidos.

Modelo standalone PostgreSQL Modelos de aplicações Modelo cliente-servidor Modelo em n camadas (sistemas distribuídos) Modelo em 3 camadas (apresentação-negóciodados) Sistemas baseados na Web

Modelo standalone

Modelo cliente-servidor

Modelo Web

Modelo Web Páginas estáticas

Modelo Web Páginas dinâmicas

Modelo Web Páginas dinâmicas + PostagreSQL

PostgresSQL (características) Seu desenvolvimento teve início no ano de 1985 (Berkeley CA). É um SGBD relacional, orientado a objeto e com forte suporte a operações ACID (Atomicidade, Consistência, Isolamento e Durabilidade). É um software de livre distribuição, multiplataforma e tem seu código-fonte aberto. Oferece suporte à linguagem SQL nos padrões SQL92/SQL99. Em termos de recursos, pode ser comparado aos melhores SGBDs comerciais existentes, sendo inclusive superior a alguns deles. O PostgreSQL introduziu conceitos do modelo objeto-relacional que hoje estão disponíveis em alguns bancos de dados comerciais.