APONTAMENTOS DA DISCIPLINA DE BANCO DE DADOS

Tamanho: px
Começar a partir da página:

Download "APONTAMENTOS DA DISCIPLINA DE BANCO DE DADOS"

Transcrição

1 O conteúdo neste disposto, são somente trechos identificados como mais relevantes das obras citadas nas referências bibliográficas, não tendo intuito de ser uma apostila para aprendizado, mas sim um material de consulta e apontamentos apenas para identificação dos conteúdos vistos em sala para posterior estudo nas obras indicadas. APONTAMENTOS DA DISCIPLINA DE BANCO DE DADOS Até o presente momento, seguindo os preceitos de disciplinas cursadas anteriormente, todo o armazenamento dos dados dos programas desenvolvidos ficavam unicamente restritos a memória RAM. É sabido que esta memória além de possuir restrições quanto ao espaço para armazenamento, possui também a característica de volatilidade, fazendo assim com que os dados armazenados sejam perdidos ao se desligar ou reiniciar o computador. É notório que em diversas situações temos a necessidade de armazenar os dados de forma a não perdê-los tão facilmente como em um simples desligamento do computador o qual pode acontecer até mesmo por fatores alheios a nossa vontade, como um travamento no sistema operacional, falha de hardware, falta de energia elétrica e etc. Atualmente para prover uma forma organizada e confiável de efetuar tal persistência de dados, utilizamos de Sistemas de Gerenciamento de Banco de Dados (SGBDs). DEFINIÇÕES INICIAIS Banco de Dados: é uma coleção de dados que contém informações relevantes a uma empresa. Sistema Gerenciador de Banco de Dados (SGBD) é uma coleção ou conjunto de programas para manipular esses dados. Sistema de Banco de Dados: é a união da coleção armazenada de dados relevantes a uma empresa com os programas responsáveis por efetuar a manipulação destes dados. Objetivos de um SGBD: Fornecer mecanismos para gerenciar informações de bancos de dados, conveniente e eficientemente. Gerenciar grandes blocos de informações. O gerenciamento envolve definição de estruturas para armazenamento, mecanismos para manipulação, garantias de segurança contra falhas e contra acessos indevidos. Fornecer uma visão abstrata dos dados, ocultando certos detalhes de como os dados são armazenados, com intuito de facilitar o desenvolvimento de sistemas mais complexos. Exemplos de SGBDs: MySQL e Oracle Database mantidos pela Oracle Corporation, MariaDB Mantido pela MariaDB Community, Firebird mantido pela Firebird Project, Paradox Corel Corporation, Interbase mantido pela Embarcadero, PostgreSQL mantido pela PostgreSQL Development Group, SQL Server da Microsoft, DB2 e Informix da IBM, Advantage Database Server (ADS) da Sybase. Nos primórdios da computação, momento em que não haviam ainda os SGBDs como os conhecemos hoje, a mesma necessidade de persistência de dados foi identificada, e a partir daí surgiram ideias e consequentes implementações que visavam sanar tal deficiência. A mais relevante profneto_ti@hotmail.com 1-17

2 destas, consistia no salvamento de dados através da utilização de arquivos de sistema operacional. Problemas deste tipo de SGBD baseado em arquivos de Sistema Operacional: Redundância e inconsistência; Dificuldade de acesso aos dados; Isolamento de dados; Problemas de integridade; Problema de atomicidade; Acesso concorrente; Problemas de segurança. ABSTRAÇÃO DE DADOS Nivel Físico: Possui um nível mais baixo de abstração, que descreve como os dados são realmente armazenados, ou seja, as estruturas de dados complexas de baixo nível. Nível Lógico: Nível logo mais alto que o físico, descreve que dados estão armazenados e que relações existem entre eles. Utilizado por administradores de banco de dados (DBAs) a fim de decidir que informações armazenar. Nível View ou visão do usuário: Nível mais alto de abstração que descreve apenas parte de um banco de dados. Faz-se necessário pois mesmo existindo o nível lógico, este ainda apresenta muitas informações das quais determinados usuários podem não ter necessidade. O sistema pode fornecer muitas visões para o mesmo banco de dados. Esquema: Projeto geral do banco de dados; Instância: Coleção das informações armazenadas no banco de dados em determinado momento, ou seja, uma espécie de retrato da situação atual do banco de dados. Os sistemas de banco de dados possuem vários esquemas particionados de acordo com os níveis de abstração: esquema físico (Nível físico), esquema lógico (Nível lógico) e subesquemas para nível de visão. MODELOS DE DADOS Um modelo de dados oferece uma maneira de descrever o projeto de um banco de dados em diferentes níveis de acordo com a necessidade. São vistos como uma coleção de ferramentas conceituais usadas para descrever dados, suas relações, semântica e restrições. Ou uma coleção de conceitos que podem ser usados para descrever a estrutura de um banco de dados. MODELO RELACIONAL: Um modelo de nível lógico, o qual utiliza uma coleção de tabelas para representar os dados e as relações entre eles. Este modelo baseado em registros é considerado o principal modelo de dados para aplicações comerciais, sendo a maioria dos sistemas de banco de dados atuais baseados neste modelo. Neste modelo as colunas da tabela correspondem aos atributos de tipo. MODELO ENTIDADE/RELACIONAMENTO: Modelo conceitual, formados por uma coleção de objetos básicos chamados Entidades e suas relações. Uma entidade é uma coisa ou objeto no mundo real que é distinguível dos profneto_ti@hotmail.com 2-17

3 outros objetos. Fortemente empregado no projeto de banco de dados. MODELO DE DADOS BASEADO EM OBJETOS. Modelo conceitual. Pode ser visto como uma extensão do modelo E/R com maior apelo ao paradigma de orientação a objetos, utilizando encapsulamento, métodos e identidade de objetos. MODELO DE DADOS SEMI-ESTRUTURADO: Um modelo que se opõe aos modelos de dados anteriores. XML é utilizado para representar tais tipos de dados. MODELO RELACIONAL Considerado um modelo de grande simplicidade e eficiência, devido a isso, acaba por ser o mais empregado em SGBDs para aplicações comerciais gerais. Estrutura dos Bancos de dados relacionais: Consiste em uma coleção de tabelas, cada uma com um nome único atribuído. Cada linha na tabela representa uma relação entre um conjunto de valores. Os cabeçalhos (nome das colunas) são denominados atributos e cada cabeçalho deve possuir um nome único dentro da tabela. Cada atributo possui um conjunto de valores permitido, que é o domínio deste atributo. Uma tabela com 3 (três) atributos é composta por 3 (três) domínios diferentes e cada linha então deve ser formada por 3 valores segundo o domínio. Os matemáticos definem relação como sendo um subconjunto de um produto cartesiano de uma lista de domínios Termos tabela, linha e Coluna normalmente são substituídos por Relação, Tupla e Atributo respectivamente. Uma tabela de N atributos precisa ser um subconjunto de D1 X D2 X...X DN A ordem que as tuplas aparecem na relação, é irrelevante, já que a relação é um conjunto de tuplas, assim, duas relações são as mesmas se possuírem o mesmo conjunto de tuplas em ordem qualquer. Fazendo uma comparação um tanto superficial do modelo relacional com a linguagem de programação estudada até o momento, podemos dizer que uma relação é similar a criação de uma variável, já o esquema de relação simboliza uma definição de tipo em nossa linguagem de programação. Em geral, um esquema de relação consiste em uma lista dos atributos e seus domínios correspondentes e uma relação é instanciada a partir do esquema de relação criado. Atenção, para melhor padronização da escrita de relações e de esquemas de relações devemos: Usar nomes em letras minúsculas para relações. Nomes iniciando com uma letra maiúscula para esquemas de relação Exemplo de Esquema de relação denominado Esquema_conta e de relação denominado conta: profneto_ti@hotmail.com 3-17

4 Esquema_conta = (numero_conta, nome_agencia, saldo); conta(esquema_conta); Na maioria dos casos, para desenvolver a estrutura de um banco de dados, necessitamos criar mais de um esquema de relação diferente, cada um com a finalidade de armazenar dados referentes ao mesmo conjunto, ou seja, dados que juntos sejam capazes de identificar ou representar atributos de algo. Muitas vezes somos tentados a criar um esquema geral, que acabe por englobar todos os atributos identificados no levantamento de atributos do banco de dados, mas este procedimento deve ser minuciosamente analisado, pois, na maioria das vezes acaba sendo necessário inserir itens imutáveis em toda inserção de nova tupla o que pode acarretar em redundância, inconsistência e desperdício de espaço de armazenamento em nosso banco de dados. CHAVES É preciso ter uma maneira de especificar como as tuplas dentro de uma determinada relação são distinguidas. Isto é expresso em termos de seus atributos. Assim, nenhum par de tuplas em uma relação pode ter exatamente o mesmo valor para todos os atributos. Analisar todas as combinações de pares de tuplas possíveis em uma relação é uma ação bastante custosa. Para diminuir este consumo desnecessário de recursos e visando a otimização do sistema, a utilização de chaves, principalmente a primária, faz-se necessária. Superchave: é um conjunto de um ou mais atributos que, tomados coletivamente, nos permite identificar unicamente uma tupla na relação. Porém este conceito não nos auxilia com a redução no consumo de recursos necessários, visto que se K é uma superchave, então também será uma superchave qualquer superconjunto de K. Assim, temos interesse maior em superchaves mínimas, denominadas chaves candidatas ou chave primária (primary key). Uma chave primária é uma propriedade da relação como um todo e não da tupla individualmente. Para a criação da chave primária não se deve escolher atributos que possam ser repetidos ou que venham a sofrer mudanças, desta forma nenhum par de tuplas da relação pode ter o mesmo valor nos atributos da chave primária ao mesmo tempo. A designação de uma chave primária representa uma restrição constante na empresa real sendo modelada, por isso devem ser escolhidas com cuidado e observado para atender as regras de negócio desta empresa sem infligi-las. Por padrão, os atributos de chave primária de um esquema de relação devem ser listados primeiro e receberem o sublinhado. Exemplo de Esquema de relação com identificação de chave primária: Esquema_conta = (numero_conta, nome_agencia, saldo); Existem duas categorias de chave primária: Natural: formada por um ou mais atributos que fazem parte do negócio modelado. Artificial: Atributo que não representa nenhuma propriedade do negócio. profneto_ti@hotmail.com 4-17

5 Um exemplo de chave primária natural em um projeto de banco de dados voltado a cadastro de clientes de um banco, poderia ser a utilização de um dado pessoal do cliente como o CPF. Já uma chave primária artificial poderia ser obtida inserindo um código auto-incrementado, gerado pelo próprio banco de dados. CHAVE ESTRANGEIRA: Uma relação R1, pode incluir dentre seus atributos a chave primária de outra relação R2, esse atributo é denominado Chave Estrangeira (Foreign Key). R1 então é denominada relação referenciadora e R2 relação referenciada. Em qualquer instância do banco de dados, dado qualquer tupla da relação referenciadora deverá haver alguma tupla na relação referenciada tal que o valor do atributo de chave estrangeira seja igual à chave primária da referenciada. DIAGRAMA DE ESQUEMAS: Para demonstrar esquemas de relações utilizamos o diagrama de esquemas devido a sua simplicidade e agilidade de diagramação. É um diagrama bastante superficial, responsável apenas por identificar nome de relações e atributos, e quais destes últimos são chaves primária e estrangeira, além de demonstrar os relacionamentos. Consistem em uma representação gráfica dos esquemas a serem criados no banco de dados. Vantagens: Rápida construção; Simples entendimento; Muitas ferramentas permitem a geração de boa parte do banco de dados, apenas utilizando do diagrama de esquemas; Desvantagens: Estrutura muito superficial; Não indica exatamente os itens que serão constados como chave estrangeira; EXERCÍCIOS: 1. Qual a utilidade da chave primária? 2. Por que uma chave candidata não é considerada útil na implementação de um banco de dados? 3. De que forma a chave primária ajuda a reduzir o processamento em operações de consulta? 4. Por que endereço, nome, nome da mãe, são exemplos de atributos que não devem ser indicados como chave primária? INTRODUÇÃO A LINGUAGEM SQL (Structured Query Language) SQL é uma linguagem primordialmente voltada a consultas, porém permite fazer muito mais do que simplesmente consultas a dados. Foi desenvolvida inicialmente pela IBM na década de 1970 e chamava-se Sequel, porém, a partir de 1986 deu-se inicio a sua padronização pelo ANSI profneto_ti@hotmail.com 5-17

6 (American National Stardards Institute) e sua nomenclatura acabou sendo modificada. Esta linguagem é divida em várias partes como: Linguagem de definição de dados (DDL), Linguagem de manipulação de dados (DML), integridade, definição de visões, controle de transação, SQL embutida e SQL dinâmica, Autorizações. LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL DATA DEFINITION LANGUAGE) A DDL permite a especificação não só de um conjunto de relações, mas também de informações sobre cada relação, como atributos, seus nomes e domínios Tipos básicos: CHAR(n) ou CHARACTER(n): define uma string de caracteres de tamanho fixo n. VARCHAR(n): define uma string de caracteres de tamanho variável até o tamanho máximo n. INT ou INTEGER: define um número inteiro. SMALLINT: um inteiro pequeno. NUMERIC(p,d): número de ponto fixo com precisão especificada pelo usuário, com p dígitos totais incluindo um sinal e d dígitos a direita da vírgula. REAL, DOUBLE PRECISION: números de ponto flutuante e dupla precisão. FLOAT(n): número de ponto flutuante com precisão de pelo menos n dígitos. DATE: Formato com herança de string, na verdade o formato DATE é um string contendo 10 (dez) caracteres e formatação predefinida YYYY-MM-DD. Esta espécie de máscara pode variar de acordo com configurações do Sistema Operacional e também do SGBD. TIME: Similar ao tipo DATE, porém com apenas 8 (oito) caracteres e máscara padrão HH:MM:SS. Observação: Dependendo o SGBD adotado, comparações entre atributos do tipo CHAR e VARCHAR podem não retornar corretamente. Tipos como DATE e TIME podem variar sua máscara padrão de acordo com o idioma adotado pelo Sistema Operacional ou pelo SGBD. DEFINIÇÃO BÁSICA DE RELAÇÕES (ESQUEMAS): Uma relação é definida a partir do comando CREATE TABLE, e após isto se deve passar como parâmetro cada atributo, aqui nomeado com a letra A e o domínio (tipo de dado) ao qual este atributo estará relacionado. Ao final deve-se explicitar as restrições de integridade, caso existam. Exemplo: CREATE TABLE <nome_relação> (A1 D1, A2 D2, <restrição de integridade 1>,... <restrição de integridade N>); Podemos efetuar a exclusão de uma relação já criada através do comando DROP TABLE. Deve-se compreender que devido a este comando excluir toda a relação, os dados presentes nesta também serão excluídos. DROP TABLE <nome_relação>; profneto_ti@hotmail.com 6-17

7 Além da criação e exclusão de relações, em determinados momentos possuímos a necessidade de efetuar modificações na estrutura de alguma relação já criada, seja por mudança na regra de negócio, melhor adequação a esta ou mesmo por falha/esquecimento no momento da criação desta relação. Para evitar que seja necessário efetuar a exclusão desta relação, o que resultaria na consequente exclusão de dados já inseridos nesta, podemos utilizar de um comando pertencente a DDL que efetua a inserção e remoção de atributos de uma relação, respectivamente: ALTER TABLE <relação> ADD <atributo> <domínio>; ALTER TABLE <relação> DROP <atributo>; Mais a frente veremos o comando ALTER TABLE de forma avançada, o que nos permitirá não somente adicionar atributos, como também manipular restrições. RESTRIÇÕES MAIS COMUNS: Chave primária (Primary Key): Indica quais atributos formarão a chave primária da relação. É necessário que estes atributos sejam não nulos e únicos e não sofram mudanças. Chave estrangeira (Foreign Key): Deve corresponder aos valores dos atributos de chave primária de alguma tupla da relação referenciada. Sem essa restrição é possível que um campo (atributo) seja especificado em desacordo com uma tabela a qual deveria restringir domínios; Existe uma forma de permitir que determinados atributos não possuam valores nulos, ou seja, utilizando a cláusula NOT NULL excluímos o valor nulo do domínio do atributo. No exemplo abaixo, o atributo A1 não permite que o usuário deixe este valor nulo no momento da inclusão de um novo registro (tupla) ou na atualização de um já existente, porém, por não possuir o parâmetro NOT NULL, o atributo A2 o permite. Exemplo: CREATE TABLE <nome_relação> (A1 D1 NOT NULL, A2 D2, PRIMARY KEY(A1), FOREIGN KEY(A2) REFERENCES <relação_referenciada> (<atributo_referenciado); Por padrão a SQL não permite que instruções de atualização de banco de dados efetuem a violação de uma restrição de integridade, assim no momento que houver uma tentativa disso, a SQL acusará um erro e impedirá a atualização. LINGUAGEM DE MANIPULAÇÃO DE DADOS (DML DATA MANIPULATION LANGUAGE) A DML é responsável por efetuar operações sobre os dados presentes ou a serem inseridos profneto_ti@hotmail.com 7-17

8 nas relações. Para inserir elementos em uma relação devemos utilizar o comando INSERT INTO, indicando ao menos qual relação será afetada e quais os valores a serem inseridos. INSERT INTO <relação> (A1,...An) VALUES (v1,..., vn); OU INSERT INTO <relação> VALUES (v1,..., vn); No primeiro caso, é necessário que se passe explicitamente, logo após o nome da relação, quais os atributos que serão inseridos, e após a palavra VALUES, quais os valores EM ORDEM para cada atributo explicitado anteriormente. No segundo caso, por não explicitar quais atributos serão objeto de inserção, o SGBD admite que TODOS deverão possuir um valor de entrada, assim, após a palavra VALUES o usuário deverá passar os valores para TODOS os atributos da relação a ser modificada, observando a ordem de criação de tais atributos. O comando DELETE tem como objetivo efetuar a exclusão de tuplas de uma relação, mas mantendo o esquema de relação. O comando DELETE também comporta o teste condicional advindo da inserção da cláusula WHERE, a qual será explicada mais adiante durante o tópico referente a consultas em SQL. Caso o comando DELETE não seja seguido de uma cláusula WHERE que restrinja as tuplas a sofrerem a exclusão, TODAS as tuplas da relação selecionada serão excluídas, ou seja, todos os dados armazenados nesta tabela. DELETE FROM <nome_relação>; A DML ainda conta com um comando para efetuar a alteração em dados já anteriormente inseridos em uma relação. O comando UPDATE atualiza o valor de determinado atributo de uma relação que satisfaça uma condição presente na cláusula WHERE, para um valor passado como parâmetro pelo usuário; UPDATE <nome_relação> SET <atributo> = <valor> WHERE <condição>; ESTRUTURA BÁSICA DAS CONSULTAS SQL: Para efetuar uma consulta SQL, necessitamos basicamente de 3 (três) cláusulas, SELECT, FROM e WHERE, sendo esta última opcional. SELECT: utilizado para listar os atributos desejados no resultado de uma consulta; FROM: lista das relações a serem acessadas pela consulta; WHERE: predicado envolvendo atributos da relação na cláusula FROM. Um comando adicional ORDER BY pode ser utilizado ao final de toda a estrutura da consulta com finalidade de apresentar os dados em ordem crescente <ASC> ou decrescente <DESC> segundo determinado(s) atributo(s). Caso esta cláusula seja omitida, por padrão os dados serão exibidos em ordem crescente segundo o atributo mais importante. profneto_ti@hotmail.com 8-17

9 A consulta toma como entrada a(s) relação(ões) listada(s) na cláusula FROM, opera sobre ela(s) de acordo com SELECT e WHERE e depois produz uma relação temporária semelhante a(s) relação(ões) inicial(ais) como resultado. Assim a(s) relação(ões) base permanece(m) inalterada(s). O operador * (asterisco), quando posicionado entre as cláusulas SELECT e FROM, indica que deverão ser selecionados todos os campos (atributos) desta relação. Desta forma não temos a necessidade de listar todos os atributos, um a um que deverão fazer parte da relação resultante, o que economiza tempo, facilita a digitação, evita erros e melhora a leitura da instrução. Consulta sobre uma única relação: Estrutura de uma consulta. SELECT <atributo> FROM <relação> WHERE <teste_condicional> ORDER BY <atributo> ASC/DESC; Em alguns casos, podemos listar elementos repetidos em relações. A SQL normalmente trata uma relação como um multiconjunto, assim tuplas duplicadas podem aparecer mais de uma vez em uma rabela e no resultado de uma consulta. Estes resultados duplicados não são eliminados automaticamente devido: Ser uma operação dispendiosa, pois envolve os passos de classificar os dados, identificar e eliminar tuplas duplicadas. O usuário pode realmente querer ver as tuplas duplicadas. Para forçar a eliminação das duplicatas, inserimos a palavra DISTINCT após SELECT. SELECT DISTINCT <atributo> FROM <relação>; A SQL permite a utilização de operadores aritméticos + (adição), - (subtração), * (multiplicação), / (divisão), operadores lógicos AND, OR, NOT e operadores de comparação >, <, >=, <=, <>. = Todos estes são frequentemente utilizados dentro de pesquisas SQL. SELECT <atributos> FROM <relação> WHERE <atributo> > 10; Para simplificar o desenvolvimento de expressões onde existam margem mínima e máxima para se efetuar uma consulta, utilizamos a função BETWEEN. Esta função especifica que o valor procurado deve estar posicionado entre dois outros valores, suprimindo assim a necessidade de digitar os operadores >= e =<. Assim para efetuar uma consulta em uma relação denominada PRODUTO, a fim de listar a descrição dos produtos com quantidade em estoque entre 10 e 100 unidades teríamos: SELECT DescProduto FROM PRODUTO WHERE QntdProduto >= 10 AND QntdProduto <= 100; OU profneto_ti@hotmail.com 9-17

10 SELECT DescProduto FROM PRODUTO WHERE QntdProduto BETWEEN 10 AND 100; Consulta sobre múltiplas relações: A consulta sobre múltiplas relações toma por base os mesmos princípios adotados na consulta sobre relações individuais. SELECT <atributo1, atributo2, atributon> FROM <relação, relação2, relaçãon>; Deve-se observar que a utilização da cláusula FROM isolada, define um produto cartesiano das relações listadas. Caso haja o mesmo nome de atributo em mais de uma relação referenciada por FROM, é necessário especificar explicitamente antes do atributo a qual relação este pertence. SELECT <R1.A1, R2.A1> FROM R1, R2; NATURAL JOIN: Fornece o mesmo resultado da realização de um produto cartesiano restrito através da cláusula WHERE. Para que este comando funcione corretamente, ele necessita que somente os atributos a serem comparados, ou seja, chave primária da relação referenciada e chave estrangeira da relação referenciadora, tenham nomes idênticos. SELECT <atributo1, atributo2: FROM <relação1> NATURAL JOIN <relação2>; ESPECIFICAÇÕES E RESTRIÇÕES DE ATRIBUTOS Cláusula DEFAULT: Empregada durante a criação de atributos no momento da especificação da relação (CREATE TABLE). Descreve que um determinado valor padrão será setado ao atributo caso no momento da inserção de dados este não seja fornecido pelo usuário. Cláusula CHECK: Responsável por verificar no momento da inserção ou atualização de dados, se determinado atributo satisfaz a condição preestabelecida por este. CREATE TABLE <nome_relação>( A1 D1 NOT NULL, A2 D2 DEFAULT <valor>, A3 D3 CHECK(A3 <condição>), <restrições_de_integridade>); Criação de Domínios (DOMAIN) Além da possibilidade de especificar o tipo de dado para cada atributo individualmente, profneto_ti@hotmail.com 10-17

11 pode-se utilizar a declaração de um domínio e seu nome utilizado como propriedade de atributos. Isto facilita o entendimento, padronização e consequentemente a manutenção de banco de dados. CREATE DOMAIN <nome_domínio> AS <tipo>; Infelizmente o SGBD MySQL na versão a qual foi escolhida para o desenvolvimento da disciplina, não dá suporte a criação de domínios (DOMAIN) e a cláusula CHECK mesmo sendo suportada, não efetua realmente o teste necessário, estando presente neste SGBD unicamente para efeito de compatibilidade com bancos de dados criados por outros SGBDs. Talvez em versões posteriores tais ferramentas possam ser implementadas e estarem presentes neste. VALORES NULOS: Utilizamos NULL para representar valores faltantes, o que pode assumir uma das seguintes condições: Valor Desconhecido: Data de nascimento de uma pessoa pode não ser conhecida; Valor indisponível ou retido: Uma pessoa possui um telefone mas omite seu número; Atributo não aplicável: Valor do atributo cônjuge NULL para pessoa solteira; Valores nulos apresentam problemas especiais nas operações relacionais: Operações aritméticas ( + - * / ): O resultado será nulo se qualquer um dos valores de entrada for nulo; Comparações (>, <, >=, <=, =, <>): A SQL trata como UNKNOW (desconhecido) o resultado de qualquer comparação feita envolvendo um valor nulo. Operações lógicas: Para casos onde existam operações lógicas envolvendo valores nulos, a SQL utiliza uma lógica de três valores, sendo eles TRUE, FALSE e UNKWNOW; A N D TRUE FALSE UNKNOWN TRUE TRUE FALSE UNKNOWN FALSE FALSE FALSE FALSE UNKNOWN UNKNOWN FALSE UNKNOWN O R TRUE FALSE UNKNOWN TRUE TRUE TRUE TRUE FALSE TRUE FALSE UNKNOWN UNKNOWN TRUE UNKNOWN UNKNOWN N O T TRUE FALSE FALSE TRUE UNKNOWN UNKNOWN profneto_ti@hotmail.com 11-17

12 A SQL permite consultas para verificar se um valor de atributo é nulo (IS NULL) ou não (IS NOT NULL) SELECT * FROM CLIENTES WHERE Telefone IS NULL; OU SELECT * FROM CLIENTES WHERE Telefone IS NOT NULL; RESTRIÇÕES DE CHAVE E INTEGRIDADE REFERENCIAL: Cláusula UNIQUE Especifica uma chave secundária sendo possível sua utilização diretamente a frente do atributo, caso este seja único. Note que uma coluna que seja especificada como chave primária também deve ser única, porém um atributo definido como UNIQUE pode não ser ou mesmo não fazer parte de uma Chave Primária. É possível definir várias restrições UNIQUE em uma mesma relação. Integridade referencial é especificada por meio da cláusula FOREIGN KEY. Esta integridade pode ser violada quando tuplas são inseridas ou excluídas ou quando um valor de chave primária ou estrangeira é modificado. Por padrão, a SQL rejeita a operação que produza tal violação e esta ação é denominada RESTRICT. Porém, podemos modificar este comportamento padrão através da inclusão de cláusulas de tratamento de violação de integridade referencial, sendo elas: SET NULL: Atualiza o campo da chave estrangeira para um valor nulo (NULL), caso o item de chave primária da relação referenciada seja atualizado ou excluído. SET DEFAULT: Possui comportamento semelhante ao SET NULL, porém atualiza o campo de chave estrangeira para um valor predefinido. CASCADE: Modifica o valor para os atributos de chave estrangeira de referência para o novo valor atualizado na chave primária da relação referenciada. ON DELETE: na exclusão ON UPDATE: na atualização As cláusulas SET NULL, SET DEFAULT e CASCADE indicam a ação a ser realizada, já as cláusulas ON DELETE e ON UPDATE indicam o momento em que esta ação deverá ser realizada. AUTO_INCREMENT Controla o incremento em campos de chave primária e não faz parte da SQL padrão, sendo então um comando próprio do SGBD MySQL. Outros SGBDs utilizam formas diferentes desta porém com a mesma finalidade. Cuidado, ao excluir tuplas este campo continua seu incremento sem reajustar seus valores, sendo então desaconselhável sua utilização em campos que possam gerar sequencias muito grandes em tipos de dados que não sejam capazes de suportá-las, como o caso de SMALLINT. profneto_ti@hotmail.com 12-17

13 ALTER TABLE AVANÇADO: Como visto anteriormente, o comando ALTER TABLE permite fazer modificações na estrutura de uma relação (tabela). Normalmente este comando acaba por ser muito utilizado principalmente para a criação de restrições, permitindo maior controle sobre estas, como por exemplo a criação de nomes individuais, o que permite maior controle e facilidade para manutenção das mesmas. Adicionar/Remover Atributo: Renomear Tabela Modificar Tipos ALTER TABLE <Tabela> ADD <Atributo> <Tipo>; ALTER TABLE <Tabela> DROP <Atributo>; ALTER TABLE <Tabela> RENAME <Novo_Nome>; ALTER TABLE <Tabela> MODIFY COLUMN <Atributo> <Novo_Tipo> <Restrição>; Restrições: ALTER TABLE <Tabela> ADD CONSTRAINT <Nome_Restrição> <Restrição>; ALTER TABLE <Tabela> DROP CONSTRAINT <Nome_Restrição>; Chave Primária: ALTER TABLE <Tabela> ADD CONSTRAINT <Nome_Restrição> PRIMARY KEY (<Atributo>); Chave Estrangeira ALTER TABLE <Tabela> DROP CONSTRAINT <Nome_Restrição> ALTER TABLE <Tabela> ADD PRIMARY KEY; ALTER TABLE <Tabela> ADD CONSTRAINT <Nome_Restrição> FOREIGN KEY (<Atributo>) REFERENCES <Tabela> (<Atributo>); ALTER TABLE <Tabela> DROP CONSTRAINT <Nome_Restrição>; OU (MySQL) ALTER TABLE <Tabela> DROP FOREIGN KEY <Nome_Restrição>; profneto_ti@hotmail.com 13-17

14 Chave secundária ALTER TABLE <Tabela> ADD CONSTRAINT <Nome_Restrição> UNIQUE (<Atributos>); SUBCADEIAS E OPERADORES: A SQL possui operadores com finalidade específica para efetuar comparações apenas sobre partes de uma cadeia de caracteres, sendo eles: LIKE: responsável por indicar a operação que será realizada sobre determinada subcadeia (substring). %: Substitui um número qualquer de caracteres, de zero até a quantidade máxima suportada pela cadeia completa. _ (Underline ou sublinhado): Substitui um único caractere. CRIAÇÃO DE APELIDOS (ALIAS): A criação de apelidos é útil para auxiliar-nos na tarefa de evitar ambiguidade e principalmente para agilizar a digitação através da substituição de nomes extensos por apelidos mais compactos. Para isso, basta dentro da cláusula FROM informar o nome real da relação seguido da cláusula AS e por fim o apelido adotado. SELECT F.Nome, F.Bonus, C.Salario FROM FUNCIONARIO, AS F, CARGO AS C WHERE F.Codcargo = F.Codcargo; Os apelidos podem ser utilizados também para melhor apresentar um campo ao usuário, alterando somente para efeito de visualização o nome padrão de um atributo, por um nome parametrizado durante o SELECT; SELECT Nome AS NomeCompleto FROM FUNCIONARIO; FUNÇÕES DE AGREGAÇÃO EM SQL: Usadas para resumir informações de várias tuplas em uma síntese de tupla única. COUNT(<atributo>) Retorna o número de tuplas ou valores. SUM(<atributo>) Efetua a soma dos valores dos atributos de todos os elementos pertencentes a relação resultante. Similarmente a SUM(), temos as funções MAX(), MIN() e AVG() que retornam o valor máximo, valor mínimo e média aritmética dos valores dos atributos de todos os elementos pertencentes a relação resultante, respectivamente. SELECT COUNT(<atributo>), SUM(<atributo>), profneto_ti@hotmail.com 14-17

15 MAX(<atributo>), MIN(<atributo>), AVG(<atributo>) FROM <relação>; AGRUPAMENTO: Cláusula GROUP BY: Aplicada em casos de funções de agregação a subgrupos de tuplas de uma relação a qual os subgrupos são baseados em algum valor de atributo. Assim, é executado então o particionamento da relação em subconjuntos de tuplas. Cada grupo consistirá em tuplas que possuam o mesmo valor de determinados atributos denominados atributos de agrupamento. SELECT <atributo> FROM <tabela> GROUP BY <atributo_de_agrupamento>; OUTRAS FUNÇÕES SQL: Para apresentar os dados do tipo CHAR/VARCHAR de forma padronizada de caixa alta/baixa (maiúsculas/minúsculas) existem as funções UCASE() e LCASE() respectivamente. SELECT UCASE(DescProduto FROM PRODUTO; SELECT LCASE(DescProduto) FROM PRODUTO; Em determinados momentos necessitamos saber o comprimento de determinada string existente em um atributo, para isso utilizamos da função LENGH(). SELECT DescProduto AS DESCRIÇÃO, LENGTH(DescProduto) AS TAMANHO_STRING FROM PRODUTO; TRIGGERS (GATILHOS): Triggers ou gatilhos são utilizados para especificar ações automáticas que o sistema de banco de dados realizará quando determinados eventos e condições ocorrerem. Eles fazem parte de uma categoria específica denominada Bancos de Dados Ativos. Todo trigger deve receber um nome para que seja possível removê-lo ou desativá-lo posteriormente. Um trigger típico é formado por 3 (três) componentes: 1. EVENTO: Operações de atualização no banco de dados, aplicadas explicitamente a ele. Ao escrever um trigger é preciso garantir que todos os eventos possíveis sejam considerados. Os eventos são especificados logo após a palavra-chave que indica o numero da realização do trigger AFTER (depois) ou BEFORE (antes) 2. CONDIÇÃO: Determina se a ação da regra deve ser executada; 3. AÇÃO: Normalmente é uma sequência de instruções SQL, mas tramem poderia ser uma transação de banco de dados ou um programa externo que poderia ser executado automaticamente. profneto_ti@hotmail.com 15-17

16 CREATE TRIGGER <Nome_Trigger> <Tempo> <Evento> ON <Tabela> FOR EACH ROW <Condição> <Ação>; VISÕES (VIEWS) Visões são objetos pertencentes diretamente ao banco de dados, as quais são criadas a partir de instruções SELECT. São na verdade, tabelas virtuais e são assim nomeadas devido a seu comportamento de retornar uma visão dos dados presentes nas tabelas originárias (Based Tables). As visões são armazenadas no banco de dados como tabelas e tal qual podem ser verificadas com os comandos utilizados por estas, como SHOW TABLES, DESCRIBE, etc. A estrutura básica de criação de uma visão SIMPLES é dada pelo quadro abaixo: CREATE VIEW <nome_da-view> AS <Seleção dos dados a serem visualizados>; Similarmente às tabelas, uma visão pode ser destruída com o comando DROP VIEW e alterada com o comando ALTER VIEW. Para visualizar os dados de uma visão criada, basta utilizar de uma função SELECT como o exemplo abaixo: SELECT * FROM <nome da visão> WHERE <condições>; É importante saber que como uma tabela, as visões permitem alteração nos dados apresentados, porém ao se efetuar qualquer modificação nestes, a alteração não será realizada direta e somente na visão, mas sim nas tabelas que são referenciadas por esta. Devemos nos atentar que ao criar uma visão com a utilização do operador * (asterisco) fazem com que a visão seja criada com os atributos existentes na(s) tabela(s) no exato momento da criação da visão, assim, caso haja posterior adição de campos às tabelas referenciadas, estes NÃO farão parte da visão a menos que esta seja alterada pelo desenvolvedor. As principais vantagens da utilização de visões são: Evitar retrabalho de montagem de consultas (querys); Diminuição mínima de fluxo de rede em sistemas distribuídos; Reaproveitamento de querys elaboradas para desempenho. Alguns desenvolvedores acreditam que o fato de um rotina estar previamente armazenada no banco de dados faz com que esta seja executada mais rapidamente, porém é algo bastante questionável. Apesar de havermos criado uma visão simples com o comando anteriormente citado, a criação de visões permite mais configurações que podem ser exploradas através de seu comando mais completo. CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED MERGE TEMPTABLE}] [DEFINER = { user CURRENT_USER }] profneto_ti@hotmail.com 16-17

17 VIEW view_name [(column_list)] AS select_statement [WITH [CASCADED LOCAL] CHECK OPTION] REFERÊNCIAS BIBLIOGRÁFICAS: ELMASRI, R; NAVATHE, S. B. Sistemas de banco de dados. São Paulo, Pearson, 6ed., SILBERSCHATZ, A.; KORTH, H.; SUDARSHAN, S. Sistema de banco de dados. Rio de Janeiro: Campus, tradução da 6ed.,

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

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Definição de Dados Banco de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix

Leia mais

Comandos de Manipulação

Comandos de Manipulação SQL - Avançado Inserção de dados; Atualização de dados; Remoção de dados; Projeção; Seleção; Junções; Operadores: aritméticos, de comparação,de agregação e lógicos; Outros comandos relacionados. SQL SQL

Leia mais

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

Banco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011 Banco de Dados I Aula 12 - Prof. Bruno Moreno 04/10/2011 Plano de Aula SQL Definição Histórico SQL e sublinguagens Definição de dados (DDL) CREATE Restrições básicas em SQL ALTER DROP 08:20 Definição de

Leia mais

1. Domínio dos Atributos

1. Domínio dos Atributos Structure Query Language SQL Guilherme Pontes lf.pontes.sites.uol.com.br 1. Domínio dos Atributos Por domínio, ou tipo, pode-se entender como a maneira como determinado atributo (ou campo, se tratando

Leia mais

Linguagem SQL Sub-linguagem DDL

Linguagem SQL Sub-linguagem DDL Linguagem SQL Sub-linguagem DDL A SQL - Structured Query Language, foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation Language para suas

Leia mais

2008.1. A linguagem SQL

2008.1. A linguagem SQL SQL 2008.1 A linguagem SQL SQL - Structured Query Language. Foi definida nos laboratórios de pesquisa da IBM em San Jose, California, em 1974. Teve seus fundamentos no modelo relacional Sua primeira versão

Leia mais

Comandos DDL. id_modulo = id_m odulo

Comandos DDL. id_modulo = id_m odulo Comandos DDL Estudo de Caso Controle Acadêmico Simplificado Uma escola contém vários cursos, onde cada aluno possui uma matricula num determinado curso. Estes cursos, por sua vez, possuem módulos, aos

Leia mais

2008.1 SQL. Autor: Renata Viegas

2008.1 SQL. Autor: Renata Viegas SQL Autor: Renata Viegas A linguagem SQL SQL - Structured Query Language. Foi definida nos laboratórios de pesquisa da IBM em San Jose, California, em 1974. Teve seus fundamentos no modelo relacional Sua

Leia mais

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

Modelo de Dados Relacional Restrições de um Banco de Dados Relacional Modelo de Dados Relacional e as Restrições de um Banco de Dados Relacional Modelo de Dados Relacional Conceitos do Modelo Relacional Representa o banco de dados como uma coleção de relações. Comparação

Leia mais

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL 1. O que é Linguagem SQL 2. Instrução CREATE 3. CONSTRAINT 4. ALTER TABLE 5. RENAME TABLE 6. TRUCANTE TABLE 7. DROP TABLE 8. DROP DATABASE 1 1. O que é Linguagem SQL 2. O SQL (Structured Query Language)

Leia mais

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

Structured Query Language (SQL) Ambiente Simplificado de um SGBD Structured Query Language (SQL) Ambiente Simplificado de um SGBD 2 1 Características dos SGBDs Natureza auto-contida de um sistema de banco de dados: metadados armazenados num catálogo ou dicionário de

Leia mais

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Definição de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix Ingress SQL

Leia mais

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

SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Manipulação de Dados Banco de Dados SQL DML SELECT... FROM... WHERE... lista atributos de uma ou mais tabelas de acordo com alguma condição INSERT INTO... insere dados em uma tabela DELETE

Leia mais

PHP INTEGRAÇÃO COM MYSQL PARTE 1

PHP INTEGRAÇÃO COM MYSQL PARTE 1 INTRODUÇÃO PHP INTEGRAÇÃO COM MYSQL PARTE 1 Leonardo Pereira leonardo@estudandoti.com.br Facebook: leongamerti http://www.estudandoti.com.br Informações que precisam ser manipuladas com mais segurança

Leia mais

Integridade dos Dados

Integridade dos Dados 1 Integridade dos Dados Integridade dos Dados Melissa Lemos melissa@inf.puc-rio.br A integridade dos dados é feita através de restrições, que são condições obrigatórias impostas pelo modelo. Restrições

Leia mais

Structured Query Language (SQL)

Structured Query Language (SQL) SQL Histórico Structured Query Language (SQL) Foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation Language) para suas primeiras tentativas

Leia mais

Linguagem de Consulta Estruturada SQL- DML

Linguagem de Consulta Estruturada SQL- DML Linguagem de Consulta Estruturada SQL- DML INTRODUÇÃO A SQL - Structured Query Language, foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation

Leia mais

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

Básico da Linguagem SQL. Definição de Esquemas em SQL. SQL(Structured Query Language) Básico da Linguagem SQL Definição de Esquemas em SQL SQL(Structured Query Language) Desenvolvida como a linguagem de consulta do protótipo de SGBD Sistema R (IBM, 1976). Adotada como linguagem padrão de

Leia mais

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

Banco de Dados I. Introdução. Fabricio Breve Banco de Dados I Introdução Fabricio Breve Introdução SGBD (Sistema Gerenciador de Banco de Dados): coleção de dados interrelacionados e um conjunto de programas para acessar esses dados Coleção de dados

Leia mais

Persistência e Banco de Dados em Jogos Digitais

Persistência e Banco de Dados em Jogos Digitais Persistência e Banco de Dados em Jogos Digitais Prof. Marcos Francisco Pereira da Silva Especialista em Engenharia de Software Jogos Digitais - Computação Gráfica 1 Agenda Vantagens de usar a abordagem

Leia mais

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível

Leia mais

SQL - Criação de Tabelas

SQL - Criação de Tabelas SQL - Criação de Tabelas André Restivo Faculdade de Engenharia da Universidade do Porto February 24, 2012 André Restivo (FEUP) SQL - Criação de Tabelas February 24, 2012 1 / 25 Sumário 1 Introdução 2 Tabelas

Leia mais

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

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II BANCO DE DADOS II AULA 1 Linguagem SQL Linguagem de definição de dados (DDL) DISCIPLINA: Banco de Dados

Leia mais

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita:

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita: SQL Tópicos Especiais Modelagem de Dados Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional em Ensino de Ciências

Leia mais

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível de independência do

Leia mais

UNIVERSIDADE FEDERAL DO MARANHÃO - UFMA. Banco de Dados II. Integridade. Carlos Eduardo Portela Serra de Castro

UNIVERSIDADE FEDERAL DO MARANHÃO - UFMA. Banco de Dados II. Integridade. Carlos Eduardo Portela Serra de Castro UNIVERSIDADE FEDERAL DO MARANHÃO - UFMA Banco de Dados II Integridade Carlos Eduardo Portela Serra de Castro * Integridade Introdução Restrições de Integridade de Domínio de Relação Asserções Procedimentos-gatilho

Leia mais

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

Introdução à Banco de Dados. Nathalia Sautchuk Patrício Introdução à Banco de Dados Nathalia Sautchuk Patrício Histórico Início da computação: dados guardados em arquivos de texto Problemas nesse modelo: redundância não-controlada de dados aplicações devem

Leia mais

SQL Structured Query Language

SQL Structured Query Language Janai Maciel SQL Structured Query Language (Banco de Dados) Conceitos de Linguagens de Programação 2013.2 Structured Query Language ( Linguagem de Consulta Estruturada ) Conceito: É a linguagem de pesquisa

Leia mais

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 11-1. INTRODUÇÃO TRIGGERS (GATILHOS OU AUTOMATISMOS) Desenvolver uma aplicação para gerenciar os dados significa criar uma aplicação que faça o controle sobre todo ambiente desde a interface, passando

Leia mais

Programação SQL. Introdução

Programação SQL. Introdução Introdução Principais estruturas duma Base de Dados: Uma BD relacional é constituída por diversas estruturas (ou objectos ) de informação. Podemos destacar: Database: designa a própria BD; Table/Tabela:

Leia mais

Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos

Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos Objetivos: Criar restrições para atributos, chaves primárias e estrangeiras; Explorar consultas SQL com uso de

Leia mais

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

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1. Universidade Federal de Santa Maria Curso de Arquivologia Disciplina de Banco de Dados Aplicados à Arquivística Prof. Andre Zanki Cordenonsi Versao 1.0 Março de 2008 Tópicos Abordados Conceitos sobre Banco

Leia mais

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

Roteiro. Modelo de Dados Relacional. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa. Posicionamento. Roteiro Modelo de Dados Relacional Posicionamento Luiz Henrique de Campos Merschmann Departamento de Computação Universidade Federal de Ouro Preto luizhenrique@iceb.ufop.br www.decom.ufop.br/luiz Introdução

Leia mais

Tarefa Orientada 16 Vistas

Tarefa Orientada 16 Vistas Tarefa Orientada 16 Vistas Objectivos: Vistas só de leitura Vistas de manipulação de dados Uma vista consiste numa instrução de SELECT que é armazenada como um objecto na base de dados. Deste modo, um

Leia mais

Disciplina de Banco de Dados Parte V

Disciplina de Banco de Dados Parte V Disciplina de Banco de Dados Parte V Prof. Elisa Maria Pivetta CAFW - UFSM Modelo de Dado Relacional O Modelo Relacional O Modelo ER é independente do SGDB portanto, deve ser o primeiro modelo gerado após

Leia mais

SQL DDL. Frederico D. Bortoloti freddb@ltc.ufes.br

SQL DDL. Frederico D. Bortoloti freddb@ltc.ufes.br Banco de Dados I SQL DDL Frederico D. Bortoloti freddb@ltc.ufes.br Introdução Modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de padrão SQL (Structured Query Language)

Leia mais

O que são Bancos de Dados?

O que são Bancos de Dados? SQL Básico Liojes de Oliveira Carneiro professor.liojes@gmail.com www.professor-liojes.blogspot.com O que são Bancos de Dados? É o software que armazena, organiza, controla, trata e distribui os dados

Leia mais

Introdução à Engenharia da Computação. Banco de Dados Professor Machado

Introdução à Engenharia da Computação. Banco de Dados Professor Machado Introdução à Engenharia da Computação Banco de Dados Professor Machado 1 Sistemas isolados Produção Vendas Compras Banco de Dados Produtos... Banco de Dados Produtos... Banco de Dados Produtos... Desvantagens:

Leia mais

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Standards ISO e ANSI SQL-86, SQL-89, SQL-92, SQL:1999, SQL:2003

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Standards ISO e ANSI SQL-86, SQL-89, SQL-92, SQL:1999, SQL:2003 Bases de Dados Introdução à linguagem SQL História Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R Renomeada para SQL (Structured Query Language) Standards ISO e ANSI SQL-86, SQL-89,

Leia mais

1. CONCEITOS BÁSICOS DE BD, SBD E SGBD

1. CONCEITOS BÁSICOS DE BD, SBD E SGBD Introdução 1. CONCEITOS BÁSICOS DE BD, SBD E SGBD A importância da informação para a tomada de decisões nas organizações tem impulsionado o desenvolvimento dos sistemas de processamento de informações.

Leia mais

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

Á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: Álgebra Relacional Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída operação (REL 1 ) REL 2 operação (REL 1,REL 2 ) REL 3 Operações básicas: seleção projeção

Leia mais

NOME SEXO CPF NASCIMENTO SALARIO

NOME SEXO CPF NASCIMENTO SALARIO Tutorial SQL Fonte: http://www.devmedia.com.br/articles/viewcomp.asp?comp=2973 Para começar Os Sistemas Gerenciadores de Bancos de Dados Relacionais (SGBDr) são o principal mecanismo de suporte ao armazenamento

Leia mais

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

Capitulo 2. Prof.º Espc. Fábio Margarito Martins de Barros - Tecnologia de banco de dados Capitulo 2 1. MODELO LÓGICO DE BANCO DE DADOS... 2 1.1 Definição... 2 1.2 Mapeando o modelo conceitual para o modelo lógico... 2 1.2 Dicionário de dados... 3 2. MODELO FÍSICO DO BANCO DE DADOS... 4 2.1

Leia mais

SQL comando SELECT. SELECT [DISTINCT] <campos> FROM <tabela> [condição] [ ; ] Paulo Damico - MDK Informática Ltda.

SQL comando SELECT. SELECT [DISTINCT] <campos> FROM <tabela> [condição] [ ; ] Paulo Damico - MDK Informática Ltda. SQL comando SELECT Uma das tarefas mais requisitadas em qualquer banco de dados é obter uma listagem de registros armazenados. Estas tarefas são executadas pelo comando SELECT Sintaxe: SELECT [DISTINCT]

Leia mais

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

Banco de dados 1. Linguagem SQL DDL e DML. Professor: Victor Hugo L. Lopes Banco de dados 1 Linguagem SQL DDL e DML Professor: Victor Hugo L. Lopes Agenda: Introdução à linguagem de dados; DDL; DML; CRUD; Introdução à linguagem SQL. 2 Por que precisamos da linguagem SQL? A algebra

Leia mais

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

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído por um conjunto de dados associados a um conjunto de programas para acesso a esses

Leia mais

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

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II BANCO DE DADOS II AULA 3 Linguagem SQL Linguagem de manipulação de dados (DML) DISCIPLINA: Banco de

Leia mais

SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável.

SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável. SQL (Structured Query Language) SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável. Além de permitir a realização de consultas, SQL possibilita: definição

Leia mais

Structured Query Language (SQL) Aula Prática

Structured Query Language (SQL) Aula Prática Structured Query Language (SQL) Aula Prática Linguagens de SGBD Durante o desenvolvimento do sistema R, pesquisadores da IBM desenvolveram a linguagem SEQUEL, primeira linguagem de acesso para Sistemas

Leia mais

4.6. SQL - Structured Query Language

4.6. SQL - Structured Query Language 4.6. SQL - Structured Query Language SQL é um conjunto de declarações que é utilizado para acessar os dados utilizando gerenciadores de banco de dados. Nem todos os gerenciadores utilizam SQL. SQL não

Leia mais

Banco de Dados. Prof. Antonio

Banco de Dados. Prof. Antonio Banco de Dados Prof. Antonio SQL - Structured Query Language O que é SQL? A linguagem SQL (Structure query Language - Linguagem de Consulta Estruturada) é a linguagem padrão ANSI (American National Standards

Leia mais

Conceitos de Banco de Dados

Conceitos de Banco de Dados Conceitos de Banco de Dados Autor: Luiz Antonio Junior 1 INTRODUÇÃO Objetivos Introduzir conceitos básicos de Modelo de dados Introduzir conceitos básicos de Banco de dados Capacitar o aluno a construir

Leia mais

SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL

SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL Criar uma base de dados (criar um banco de dados) No mysql: create database locadora; No postgresql: createdb locadora Criar

Leia mais

Banco de Dados. Módulo 7 - Modelo Relacional. Definição do Esquema Relacional em SQL. modulo07.prz 1 10/09/01

Banco de Dados. Módulo 7 - Modelo Relacional. Definição do Esquema Relacional em SQL. modulo07.prz 1 10/09/01 Banco de Dados Módulo 7 - Modelo Relacional Definição do Esquema Relacional em SQL modulo07.prz 1 10/09/01 Introdução SQL linguagem padrão para SGBDs relacionais derivada do SEQUEL (Structured English

Leia mais

UNIVERSIDADE VEIGA DE ALMEIDA CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS BANCO DE DADOS

UNIVERSIDADE VEIGA DE ALMEIDA CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS BANCO DE DADOS CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS CLAUDIO RIBEIRO DA SILVA MARÇO 1997 2 1 - CONCEITOS GERAIS DE 1.1 - Conceitos Banco de Dados - Representa

Leia mais

Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br

Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Ementa Introdução a Banco de Dados (Conceito, propriedades), Arquivos de dados x Bancos de dados, Profissionais de Banco de dados,

Leia mais

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Modelos de Dados, Esquemas e Instâncias 2 Modelos de Dados, Esquemas e Instâncias Modelo de dados: Conjunto de conceitos

Leia mais

Banco de Dados. Maurício Edgar Stivanello

Banco de Dados. Maurício Edgar Stivanello Banco de Dados Maurício Edgar Stivanello Agenda Conceitos Básicos SGBD Projeto de Banco de Dados SQL Ferramentas Exemplo Dado e Informação Dado Fato do mundo real que está registrado e possui um significado

Leia mais

Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com

Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Introdução a Banco de Dados Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com 12/06/2013 Sumário Motivação da Disciplina

Leia mais

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd. Apresentação Este curso tem como objetivo, oferecer uma noção geral sobre a construção de sistemas de banco de dados. Para isto, é necessário estudar modelos para a construção de projetos lógicos de bancos

Leia mais

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais 1 LINGUAGEM SQL SQL Server 2008 Comandos iniciais SQL - STRUCTURED QUERY LANGUAGE Quando os Bancos de Dados Relacionais estavam sendo desenvolvidos, foram criadas linguagens destinadas à sua manipulação.

Leia mais

Principais Comandos SQL Usados no MySql

Principais Comandos SQL Usados no MySql Principais Comandos SQL Usados no MySql O que é um SGBD? Um Sistema Gerenciador de Banco de Dados (como no Brasil) ou Sistema Gestor de Base de Dados (SGBD) é o conjunto de programas de computador (softwares)

Leia mais

Linguagem de Consulta - SQL

Linguagem de Consulta - SQL SQL Structured Query Language Linguagem de Consulta Estruturada; Originou-se da linguagem SEQUEL (1974); Revisada e chamada de SQL em 1976/77; Em 1986, padronizada pelo ANSI/ISO - chamada SQL-86; Em 1987

Leia mais

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

Bancos de Dados. Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações Tópicos Conceitos Básicos Bancos de Dados Sistemas de Bancos de Dados Sistemas de Gerenciamento de Bancos de Dados Abstração

Leia mais

Banco de Dados. StructuredQuery Language- SQL. Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br waltenomartins@yahoo.

Banco de Dados. StructuredQuery Language- SQL. Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br waltenomartins@yahoo. Banco de Dados StructuredQuery Language- SQL Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br waltenomartins@yahoo.com 2015 A Origem Em 1970, Ted Codd (pesquisador da IBM) publicou o primeiro

Leia mais

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

AULA 2 INTERAÇÃO COM O BANCO DE DADOS AULA 2 INTERAÇÃO COM O BANCO DE DADOS BANCO DE DADOS POSTGRESQL O PostgreSQL é um sistema gerenciador de banco de dados dos mais robustos e avançados do mundo. Seu código é aberto e é totalmente gratuito,

Leia mais

BASES DE DADOS I LTSI/2. Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2010/2011

BASES DE DADOS I LTSI/2. Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2010/2011 BASES DE DADOS I LTSI/2 Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2010/2011 A Linguagem SQL As raízes da linguagem SQL remontam a 1974, altura em que a IBM desenvolvia

Leia mais

SQL: Definição de tabelas, Modificações à Base de Dados

SQL: Definição de tabelas, Modificações à Base de Dados SQL: Definição de tabelas, Modificações à Base de Dados Fernando Lobo Base de Dados, Universidade do Algarve 1 / 24 Definição do esquema da base de dados O esquema da BD é composto pelas definições de

Leia mais

BANCO DE DADOS BANCO DE DADOS. Prof. Patrícia Lucas 3º Trimestre

BANCO DE DADOS BANCO DE DADOS. Prof. Patrícia Lucas 3º Trimestre BANCO DE DADOS BANCO DE DADOS Prof. Patrícia Lucas 3º Trimestre ROTEIRO PARA O 3º TRIMESTRE 1. O MySQL DDL SQL 1. Como funciona o MySQL 2. Como criar um banco de dados no MySQL 3. Como criar tabelas: comandos

Leia mais

Introdução Banco de Dados

Introdução Banco de Dados Introdução Banco de Dados Vitor Valerio de Souza Campos Adaptado de Vania Bogorny Por que estudar BD? Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária reserva de hotel matrícula em

Leia mais

Escrito por Sex, 14 de Outubro de 2011 23:12 - Última atualização Seg, 26 de Março de 2012 03:33

Escrito por Sex, 14 de Outubro de 2011 23:12 - Última atualização Seg, 26 de Março de 2012 03:33 Preço R$ 129.00 Compre aqui SUPER PACOTÃO 3 EM 1: 186 Vídeoaulas - 3 dvd's - 10.5 Gybabyte. 1) SQL 2) Banco de Dados (Oracle 10g, SQL Server 2005, PostgreSQL 8.2, Firebird 2.0, MySQL5.0) 3) Análise e Modelagem

Leia mais

MODELO RELACIONAL - UFMA

MODELO RELACIONAL - UFMA MODELO RELACIONAL Universidade Federal do Maranhão - UFMA Departamento de Informática Projeto de Banco de Dados Profª.MSc Simara Rocha simararocha@gmail.com/simara@deinf.ufma.br www.deinf.ufma.br/~simara

Leia mais

Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados

Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados 1. Conceitos Básicos No contexto de sistemas de banco de dados as palavras dado e informação possuem o mesmo significado, representando uma

Leia mais

INTRODUÇÃO. Diferente de Bando de Dados

INTRODUÇÃO. Diferente de Bando de Dados INTRODUÇÃO Diferente de Bando de Dados 1 INTRODUÇÃO DADOS São fatos conhecidos que podem ser registrados e que possuem significado. Ex: venda de gasolina gera alguns dados: data da compra, preço, qtd.

Leia mais

Linguagem de Consulta Estruturada (SQL)

Linguagem de Consulta Estruturada (SQL) Linguagem de Consulta Estruturada (SQL) Conceitos sobre a versão ANSI da SQL, a sublinguagem de definição de dados (DDL) e a sublinguagem de manipulação de dados (DML) Prof. Flavio Augusto C. Correia 1

Leia mais

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

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Agenda Linguagem SQL: Introdução; Construção/Definição de tabelas. 2 Linguagem SQL SQL - Structured Query Language;

Leia mais

LINGUAGEM SQL. DML - Linguagem de Manipulação de Dados

LINGUAGEM SQL. DML - Linguagem de Manipulação de Dados LINGUAGEM SQL Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL, é uma linguagem de pesquisa declarativa para banco de dados relacional (base de dados relacional). Muitas das características

Leia mais

Banco de Dados I 2007. Módulo II: Modelagem Entidade- Relacionamento versus Relacional. (Aula 3) Clodis Boscarioli

Banco de Dados I 2007. Módulo II: Modelagem Entidade- Relacionamento versus Relacional. (Aula 3) Clodis Boscarioli Banco de Dados I 2007 Módulo II: Modelagem Entidade- Relacionamento versus Relacional (Aula 3) Clodis Boscarioli Agenda: Exercícios de Mapeamento ME-R para MR; Restrições de Domínio; Restrições de Chave

Leia mais

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

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados: MC536 Introdução Sumário Conceitos preliminares Funcionalidades Características principais Usuários Vantagens do uso de BDs Tendências mais recentes em SGBDs Algumas desvantagens Modelos de dados Classificação

Leia mais

SQL APOSTILA INTRODUÇÃO A LINGUAGEM SQL

SQL APOSTILA INTRODUÇÃO A LINGUAGEM SQL SQL APOSTILA INTRODUÇÃO Uma linguagem de consulta é a linguagem por meio da qual os usuários obtêm informações do banco de dados. Essas linguagens são, tipicamente, de nível mais alto que as linguagens

Leia mais

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

Principal: construir uma base de dados para produção de informações sobre internações hospitalares; Principal: construir uma base de dados para produção de informações sobre internações hospitalares; Específicos: - criar um banco de dados para armazenar registros sobre internações hospitalares; - produzir

Leia mais

ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL. Carga horária: 32 Horas

ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL. Carga horária: 32 Horas ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL Carga horária: 32 Horas Pré-requisito: Para que os alunos possam aproveitar este treinamento ao máximo, é importante que eles tenham participado dos treinamentos

Leia mais

EXEMPLOS DE COMANDOS NO SQL SERVER

EXEMPLOS DE COMANDOS NO SQL SERVER EXEMPLOS DE COMANDOS NO SQL SERVER Gerenciando Tabelas: DDL - DATA DEFINITION LANGUAG Criando uma tabela: CREATE TABLE CLIENTES ID VARCHAR4 NOT NULL, NOME VARCHAR30 NOT NULL, PAGAMENTO DECIMAL4,2 NOT NULL;

Leia mais

AULA 6 INTEGRIDADOS DOS DADOS - CRIANDO RESTRIÇÕES

AULA 6 INTEGRIDADOS DOS DADOS - CRIANDO RESTRIÇÕES BANCO DE DADOS GERENCIAL 1 AULA 6 INTEGRIDADOS DOS DADOS - CRIANDO RESTRIÇÕES Integridade de domínio A integridade de domínio é a validade de entradas para uma coluna específica. É possível aplicar a integridade

Leia mais

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. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos Introdução Banco de Dados Por que usar BD? Vitor Valerio de Souza Campos Adaptado de Vania Bogorny 4 Por que estudar BD? Exemplo de um BD Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária

Leia mais

SQL (Structured Query Language)

SQL (Structured Query Language) (Structured Query Language) I DDL (Definição de Esquemas Relacionais)... 2 I.2 Domínios... 2 I.3 Criação de Tabelas... 2 I.4 Triggers... 4 II DML Linguagem para manipulação de dados... 5 II.2 Comando SELECT...

Leia mais

Uma expressão básica em SQL consiste em três cláusulas: select, from e where.

Uma expressão básica em SQL consiste em três cláusulas: select, from e where. Introdução a Banco de Dados O.K. Takai; I.C.Italiano; J.E. Ferreira. 67 8 A Linguagem SQL A linguagem SQL é um padrão de linguagem de consulta comercial que usa uma combinação de construtores em Álgebra

Leia mais

BANCO DE DADOS WEB AULA 4. linguagem SQL: subconjuntos DCL, DDL e DML. professor Luciano Roberto Rocha. www.lrocha.com

BANCO DE DADOS WEB AULA 4. linguagem SQL: subconjuntos DCL, DDL e DML. professor Luciano Roberto Rocha. www.lrocha.com BANCO DE DADOS WEB AULA 4 linguagem SQL: subconjuntos DCL, DDL e DML professor Luciano Roberto Rocha www.lrocha.com O que é SQL? Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL,

Leia mais

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

FACULDADE INTEGRADAS DE PARANAÍBA ADMINISTRAÇÃO DE EMPRESAS. Bancos de Dados Conceitos Fundamentais FACULDADE INTEGRADAS DE PARANAÍBA ADMINISTRAÇÃO DE EMPRESAS Bancos de Dados Conceitos Fundamentais Tópicos Conceitos Básicos Bancos de Dados Sistemas de Bancos de Dados Sistemas de Gerenciamento de Bancos

Leia mais

Tarefa Orientada 19 Triggers

Tarefa Orientada 19 Triggers Tarefa Orientada 19 Triggers Objectivos: Criar triggers AFTER Criar triggers INSTEAD OF Exemplos de utilização Os triggers são um tipo especial de procedimento que são invocados, ou activados, de forma

Leia mais

Introdução ao SQL Avançado

Introdução ao SQL Avançado Introdução ao SQL Avançado Introdução as consultas, manipulação e a filtragem de dados com a linguagem SQL Prof. MSc. Hugo Vieira L. Souza Este documento está sujeito a copyright. Todos os direitos estão

Leia mais

Banco de Dados. Um momento crucial na organização dos dados é a forma com que cadastramos estes dados, a estrutura de armazenamento que criamos.

Banco de Dados. Um momento crucial na organização dos dados é a forma com que cadastramos estes dados, a estrutura de armazenamento que criamos. Banco de Dados O que é um Banco de Dados? Este assunto é muito vasto, tentaremos resumi-lo para atender as questões encontradas em concursos públicos. Já conhecemos o conceito de dado, ou seja, uma informação

Leia mais

Banco de Dados. Marcio de Carvalho Victorino www.dominandoti.eng.br. Exercícios SQL

Banco de Dados. Marcio de Carvalho Victorino www.dominandoti.eng.br. Exercícios SQL Banco de Dados Exercícios SQL 1 TRF (ESAF 2006) 32. Analise as seguintes afirmações relacionadas a Bancos de Dados e à linguagem SQL: I. A cláusula GROUP BY do comando SELECT é utilizada para dividir colunas

Leia mais

Usando PostgreSQL na Regra de Negócio de um ERP. Fabiano Machado Dias Eduardo Wolak

Usando PostgreSQL na Regra de Negócio de um ERP. Fabiano Machado Dias Eduardo Wolak Usando PostgreSQL na Regra de Negócio de um ERP Fabiano Machado Dias Eduardo Wolak Regra de negócio? São todas as regras existentes num sistema de informação, que ditam seu comportamento, suas restrições

Leia mais

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. jef@ime.usp.br DCC-IME-USP

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. jef@ime.usp.br DCC-IME-USP Banco de Dados Introdução João Eduardo Ferreira Osvaldo Kotaro Takai jef@ime.usp.br DCC-IME-USP Importância dos Bancos de Dados A competitividade das empresas depende de dados precisos e atualizados. Conforme

Leia mais

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

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc. MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 2 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Revisão sobre Banco de Dados e SGBDs Aprender as principais

Leia mais

SQL. Prof. Márcio Bueno. {bd2tarde,bd2noite}@marciobueno.com

SQL. Prof. Márcio Bueno. {bd2tarde,bd2noite}@marciobueno.com SQL Prof. Márcio Bueno {bd2tarde,bd2noite}@marciobueno.com Material dos professores Ana Carolina Salgado, Fernando Foncesa e Valéria Times (CIn/UFPE) SQL SQL - Structured Query Language Linguagem de Consulta

Leia mais

BANCO DE DADOS CONCEITOS BÁSICOS

BANCO DE DADOS CONCEITOS BÁSICOS Universidade Federal da Paraíba UFPB Centro de Energias Alternativas e Renováveis - CEAR Departamento de Eng. Elétrica DEE BANCO DE DADOS CONCEITOS BÁSICOS Isaac Maia Pessoa Introdução O que é um BD? Operações

Leia mais