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 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 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: 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. 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 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>; 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 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. 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 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, 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 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

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>; 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>), 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

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 }] 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

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

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 é 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

SQL SQL BANCO DE DADOS 2. Componentes do SQL (1) Componentes do SQL (2) DDL Criação de banco de dados. Padrões de SQL

SQL SQL BANCO DE DADOS 2. Componentes do SQL (1) Componentes do SQL (2) DDL Criação de banco de dados. Padrões de SQL BANCO DE DADOS 2 SQL (CREATE TABLE, CONSTRAINTS, DELETE, UPDATE e INSERT) Prof. Edson Thizon SQL SQL ( structured query language ) é uma linguagem comercial de definição e manipulação de banco de dados

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

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

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

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

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

ADMINISTRAÇÃO DE BANCO DE DADOS

ADMINISTRAÇÃO DE BANCO DE DADOS ADMINISTRAÇÃO DE BANCO DE DADOS ARTEFATO 02 AT02 Diversos I 1 Indice ESQUEMAS NO BANCO DE DADOS... 3 CRIANDO SCHEMA... 3 CRIANDO TABELA EM DETERMINADO ESQUEMA... 4 NOÇÕES BÁSICAS SOBRE CRIAÇÃO E MODIFICAÇÃO

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

Banco de Dados II. Introdução Revisão - normalização -modelagem - sql básico

Banco de Dados II. Introdução Revisão - normalização -modelagem - sql básico Banco de Dados II Introdução Revisão - normalização -modelagem - sql básico Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com Apresentação Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com

Leia mais

SQL Structured Query Language. SQL Linguagem de Definição de Dados. SQL Structured Query Language. SQL Structured Query Language

SQL Structured Query Language. SQL Linguagem de Definição de Dados. SQL Structured Query Language. SQL Structured Query Language Pós-graduação em Ciência da Computação CCM-202 Sistemas de Banco de Dados SQL Linguagem de Definição de Dados Profa. Maria Camila Nardini Barioni camila.barioni@ufabc.edu.br Bloco B - sala 937 2 quadrimestre

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

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

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. 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

SQL - Banco de Dados. Disciplina: Banco de Dados. Professor: José Antônio. José Antônio - CEFET-RN 23/09/2015

SQL - Banco de Dados. Disciplina: Banco de Dados. Professor: José Antônio. José Antônio - CEFET-RN 23/09/2015 SQL - Banco de Dados 1 Disciplina: Banco de Dados Professor: José Antônio 2 Tópicos de discussão Criando um banco de dados Incluindo, atualizando e excluindo linhas nas tabelas Pesquisa básica em tabelas

Leia mais

SQL. Histórico BANCO DE DADOS. Conceito. Padrões de SQL (1) Componentes do SQL (1) Padrões de SQL (2) (DDL: CREATE TABLE, CONSTRAINTS)

SQL. Histórico BANCO DE DADOS. Conceito. Padrões de SQL (1) Componentes do SQL (1) Padrões de SQL (2) (DDL: CREATE TABLE, CONSTRAINTS) BANCO DE DADOS SQL (DDL: CREATE TABLE, CONSTRAINTS) Prof. Edson Thizon Histórico Entre 1974 e 1979, o San José Research Laboratory da IBM desenvolveu um SGDB relacional que ficou conhecido como Sistema

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

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

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

Núcleo de Pós Graduação Pitágoras Núcleo de Pós Graduação Pitágoras Professor: Fernando Zaidan Disciplina: Modelagem e Projeto de Banco de Dados Especialização em Tecnologia da Informação - Ênfases Março- 2009 1 Modelo Físico Introdução

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 (Linguagem de Consulta Estruturada)

SQL (Linguagem de Consulta Estruturada) SQL (Linguagem de Consulta Estruturada) M.Sc. Cristiano Mariotti mscmariotti@globo.com Introdução à SQL 1 Visão Geral Introdução Comandos de Definição de Dados Comandos de Manipulação de Dados Introdução

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

INTRODUÇÃO À LINGUAGEM SQL CRIAÇÃO DE BANCO DE DADOS E OTIMIZAÇÃO DE CONSULTAS

INTRODUÇÃO À LINGUAGEM SQL CRIAÇÃO DE BANCO DE DADOS E OTIMIZAÇÃO DE CONSULTAS Esclarecimento Licenciamento de Uso Este documento é propriedade intelectual 2012 da NRSYSTEM COMÉRCIO E SERVIÇOS DE INFORMÁTICA LTDA-ME, consiste de uma compilação de diversos materiais entre livros,

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

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

Fundamentos do Sistema Gerenciador de Banco de Dados

Fundamentos do Sistema Gerenciador de Banco de Dados Fundamentos do Sistema Gerenciador de Banco de Dados Cláudio Luís V. Oliveira Janeiro de 2010 Definição "Um sistema cujo objetivo principal é gerenciar o acesso, a correta manutenção e a integridade dos

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

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

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

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

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

Á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

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

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

BANCO DE DADOS -INTRODUÇÃO AO SQL. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

BANCO DE DADOS -INTRODUÇÃO AO SQL. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br BANCO DE DADOS -INTRODUÇÃO AO SQL Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br INTRODUÇÃO AO SQL Ferramentas brmodelo Ferramenta Case PostgreSQL versão 8 ou superior SGBD Em 1986 o American

Leia mais

FEAP - Faculdade de Estudos Avançados do Pará PROFª LENA VEIGA PROJETOS DE BANCO DE DADOS UNIDADE V- SQL

FEAP - Faculdade de Estudos Avançados do Pará PROFª LENA VEIGA PROJETOS DE BANCO DE DADOS UNIDADE V- SQL Quando os Bancos de Dados Relacionais estavam sendo desenvolvidos, foram criadas linguagens destinadas à sua manipulação. O Departamento de Pesquisas da IBM desenvolveu a SQL como forma de interface para

Leia mais

Capítulo 6 Regras de Integridade. Murilo S. de Camargo (Modificações M.A R. Dantas)

Capítulo 6 Regras de Integridade. Murilo S. de Camargo (Modificações M.A R. Dantas) Capítulo 6 Regras de Integridade Murilo S. de Camargo (Modificações M.A R. Dantas) 1 Restrições de Integridade ❾ Restrições de Domínio ❾ Integridade Referencial ❾ Asserções ❾ Gatilhos (Triggers) ❾ Dependências

Leia mais

Exemplos de Vistas SQL. Tipos em SQL. Linguagem de Definição de Dados (DDL) CREATE VIEW todososclientes As

Exemplos de Vistas SQL. Tipos em SQL. Linguagem de Definição de Dados (DDL) CREATE VIEW todososclientes As Exemplos de Vistas SQL Considere-se a vista (com o nome todososconsumidores) contento os nomes das agências e seus clientes CREATE VIEW todososclientes As Π nomebalcao,nomecliente (temconta conta) Π nomebalcao,nomecliente

Leia mais

SQL BÁSICO. Introdução. Prof. Suelane Garcia. Linguagem SQL (Structured Query Language)

SQL BÁSICO. Introdução. Prof. Suelane Garcia. Linguagem SQL (Structured Query Language) SQL BÁSICO Prof. Suelane Garcia Introdução 2 Linguagem SQL (Structured Query Language) Linguagem de Consulta Estruturada padrão para acesso a Banco de Dados. Usada em inúmeros Sistemas de Gerenciamento

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

Descrição Tinyint[(M)] Inteiro pequeno. Varia de 128 até +127

Descrição Tinyint[(M)] Inteiro pequeno. Varia de 128 até +127 Disciplina: Tópicos Especiais em TI PHP Este material foi produzido com base nos livros e documentos citados abaixo, que possuem direitos autorais sobre o conteúdo. Favor adquiri-los para dar continuidade

Leia mais

Introdução ao SQL. O que é SQL?

Introdução ao SQL. O que é SQL? Introdução ao SQL 1 O que é SQL? Inicialmente chamada de Sequel, SQL (Structured Query Language), é a linguagem padrão utilizada para comunicar-se com um banco de dados relacional. A versão original foi

Leia mais

ROTEIRO. A Linguagem SQL (I parte) CEFET.PHB - PI Prof. Jefferson Silva. As partes da linguagem SQL. A Linguagem de Definição de Dados (SQL-DDL)

ROTEIRO. A Linguagem SQL (I parte) CEFET.PHB - PI Prof. Jefferson Silva. As partes da linguagem SQL. A Linguagem de Definição de Dados (SQL-DDL) CEFET.PHB - PI Prof. Jefferson Silva SQL (MySql) ROTEIRO I PARTE - INTRODUÇÃO AO SQL COMANDOS E SUAS PARTES DA LINGUAGEM SQL II PARTE ADMINSTRAÇÃO DE BANCO DE DADOS UTILIZANDO MYSQL PRINCIPAIS INSTRUÇÕES

Leia mais

BANCO DE DADOS Parte 4

BANCO DE DADOS Parte 4 BANCO DE DADOS Parte 4 A Linguagem SQL Introdução Desenvolvida pelo depto de pesquisa da IBM na década de 1970 (System R) Linguagem padrão de BD Relacionais; Apresenta várias padrões evolutivos: SQL86,

Leia mais

S Q L 31/03/2010. SQL - Structured Query Language Linguagem de Consulta Estruturada

S Q L 31/03/2010. SQL - Structured Query Language Linguagem de Consulta Estruturada Gerenciamento de Dados e Informação Fernando Fonseca Ana Carolina Robson Fidalgo SQL SQL - Structured Query Language Linguagem de Consulta Estruturada Apesar do QUERY no nome, não é apenas de consulta,

Leia mais

S Q L 15/01/2013. Enfoques de SQL. Enfoques de SQL SQL. Usos de SQL. SQL - Origem/Histórico. Gerenciamento de Dados e Informação

S Q L 15/01/2013. Enfoques de SQL. Enfoques de SQL SQL. Usos de SQL. SQL - Origem/Histórico. Gerenciamento de Dados e Informação Enfoques de SQL Gerenciamento de Dados e Informação Fernando Fonseca Ana Carolina Valeria Times Bernadette Loscio Linguagem interativa de consulta (ad-hoc): usuários podem definir consultas independente

Leia mais

Gerenciamento de um Sistema de

Gerenciamento de um Sistema de SBD Gerenciamento de um Sistema de Banco de Dados Prof. Michel Nobre Muza ua michel.muza@ifsc.edu.br Prof. Marcos Antonio Viana Nascimento Por que é importante: Motivação Participar na organização e no

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

Linguagem SQL. Comandos Básicos

Linguagem SQL. Comandos Básicos Linguagem SQL Comandos Básicos Caetano Traina Júnior Grupo de Bases de Dados e Imagens Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos caetano@icmc.sc.usp.br Comando

Leia mais

SQL (Structured Query Language)

SQL (Structured Query Language) SQL (Structured Query Language) Linguagem comercial para BD relacional padrão ISO desde a década de 80 SQL (86); SQL-2 (92); SQL-3 (99) e SQL:2003 não é apenas uma linguagem de consulta! como o nome sugere...

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. 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

Engenharia de Computação / Engenharia de Produção. Banco de Dados Prof. Maria das Graças da Silva Teixeira

Engenharia de Computação / Engenharia de Produção. Banco de Dados Prof. Maria das Graças da Silva Teixeira Unidade 3 SQL Engenharia de Computação / Engenharia de Produção Banco de Dados Prof. Maria das Graças da Silva Teixeira Material base: Banco de Dados, 2009.2, prof. Otacílio José Pereira Contexto na Disciplina

Leia mais

18/08/2008. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

18/08/2008. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan Faculdade INED Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan 1 Unidade 2 Introdução a SQL 2 2 Introdução à SQL 2.1 Conceitos

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

SQL (Structured Query Language)

SQL (Structured Query Language) SQL (Structured Query Language) Linguagem comercial para BD relacional padrão ISO desde a década de 80 SQL- (86); SQL- (9); SQL- (99) não é apenas uma linguagem de consulta! como o nome sugere... Base

Leia mais

SQL (Structured Query Language)

SQL (Structured Query Language) SQL (Structured Query Language) Linguagem comercial para BD relacional padrão ISO desde a década de 80 SQL-1 (86); SQL- (9); SQL- (99) não é apenas uma linguagem de consulta! como o nome sugere... Base

Leia mais

SQL. Hélder Antero Amaral Nunes

SQL. Hélder Antero Amaral Nunes SQL Hélder Antero Amaral Nunes 2 Introdução Desenvolvida pelo departamento de pesquisa da IBM na década de 1970 (System R); Linguagem padrão de BD Relacionais; Apresenta várias padrões evolutivos: SQL86,

Leia mais

UNISA Universidade de Santo Amaro. http://www.unisa.br. Material de Estudo. Módulo I: Básico Banco de dados SQL Server. http://www.unisa-sis.

UNISA Universidade de Santo Amaro. http://www.unisa.br. Material de Estudo. Módulo I: Básico Banco de dados SQL Server. http://www.unisa-sis. UNISA Universidade de Santo Amaro http://www.unisa.br Material de Estudo Módulo I: Básico Banco de dados SQL Server http://www.unisa-sis.info Junho/2010 Objetivo do Workshop Compartilhar e apresentar

Leia mais

Banco de Dados I. Linguagem de Consulta (parte I) DDL DML

Banco de Dados I. Linguagem de Consulta (parte I) DDL DML Banco de Dados I Linguagem de Consulta (parte I) DDL DML Linguagem de Consulta:SQL contéudo Structured Query Language Originalmente SEQUEL Structured English Query Language Projeta e Implementada pela

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

Unidade III - BD Relacional

Unidade III - BD Relacional Structured Query Language (SQL) Conceitos Iniciais Álgebra Relacional - muito formal Cálculo Relacional de Tupla SEQUEL (Structured English QUEry Language) IBM - Sistema R SQL-86 SQL-92 SQL-3 102 Structured

Leia mais

SQL (STRUCTUREDQUERY LANGUAGE)

SQL (STRUCTUREDQUERY LANGUAGE) BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br SQL (STRUCTUREDQUERY

Leia mais

DDL, Lidando com as diferenças das instruções SQL nos diferentes SGBD s

DDL, Lidando com as diferenças das instruções SQL nos diferentes SGBD s DDL, Lidando com as diferenças das instruções SQL nos diferentes SGBD s Dio Rafael Jacobs 1, Juliano Varella de Carvalho 1 1 Centro Universitário Feevale Instituto de Ciência Exatas e Tecnológicas Novo

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

SQL. Banco de Dados I. Componentes de SQL

SQL. Banco de Dados I. Componentes de SQL Banco de Dados I Adrovane Marques Kade 1 1 Curso de Análise e Desenvolvimento de Sistemas Instituto Federal de Educação, Ciência e Tecnologia adrovane.kade@bento.ifrs.edu.br 2011/1 ( Structured Query Language

Leia mais

Esta aula tem o objetivo de nos orientar durante este período em nossas aulas de Banco de Dados, não tem a pretensão de ser a única fonte de

Esta aula tem o objetivo de nos orientar durante este período em nossas aulas de Banco de Dados, não tem a pretensão de ser a única fonte de BD Esta aula tem o objetivo de nos orientar durante este período em nossas aulas de Banco de Dados, não tem a pretensão de ser a única fonte de informação para nosso êxito no curso. A intenção de elaborar

Leia mais

Programação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza

Programação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza PHP e Banco de Dados progweb2@thiagomiranda.net Conteúdos Os materiais de aula, apostilas e outras informações estarão disponíveis em: www.thiagomiranda.net PHP e Banco de Dados É praticamente impossível

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

Capítulo 4 A Linguagem SQL. Murilo Silva de Camargo

Capítulo 4 A Linguagem SQL. Murilo Silva de Camargo Capítulo 4 A Linguagem SQL Murilo Silva de Camargo 1 SQL - Structured Query Language Estrutura básica Operações de conjunto Funções agregadas Valores nulos Sob consultas aninhadas Relações derivadas Visões

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

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. info 3º ano. Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br

BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br BANCO DE DADOS info 3º ano Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br Na última aula estudamos Unidade 4 - Projeto Lógico Normalização; Dicionário de Dados. Arquitetura

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

CREATE TABLE AUTOR ( cod_autor int not null primary key, nome_autor varchar (60) )

CREATE TABLE AUTOR ( cod_autor int not null primary key, nome_autor varchar (60) ) TADS Exercício Laboratório I Analise o modelo de banco de dados abaixo: MUSICA FAIXA Codigo_Musica: INTEGER Nome_Musica: VARCHAR(60) Duracao: NUMERIC(6,2) Codigo_Musica: INTEGER (FK) Codigo_CD: INTEGER

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

EXERCÍCIOS PRÁTICOS. Banco de Dados

EXERCÍCIOS PRÁTICOS. Banco de Dados EXERCÍCIOS PRÁTICOS Banco de Dados Introdução ao uso do SQL Structured Query Language, considerando tanto DDL Data Definition Language quanto DML Data Manipulation Language. Banco de Dados selecionado:

Leia mais