©Silberschatz, Korth and Sudarshan (modificado)4.1.1Database System Concepts Capítulo 4: SQL Estrutura básica Operações com conjuntos Funções de agregação.

Slides:



Advertisements
Apresentações semelhantes
Aula – Comandos SQL no MYSQL Prof. Francisco Olivar Junior
Advertisements

Banco de Dados Prof. Antonio.
Banco de Dados Prof. Antonio.
Banco de Dados I Aula 20.
Banco de Dados Aula 10 – SQL - DDL
SQL Renata Viegas.
SQL Structured Query Language
Prof.: Bruno Rafael de Oliveira Rodrigues
Prof.: Bruno Rafael de Oliveira Rodrigues
Projeto e Organização de BD
SQL Structured Query Language Juliano Brito da Justa Neves PESCD – Programa de Estágio Supervisionado de Capacitação Docente.
Maurício Edgar Stivanello
SGBD.
Sistema Gerenciador de Banco de Dados SGBD
Restrições de Integridade
Profa. Aline Vasconcelos
INSTITUTO FEDERAL FARROUPILHA
FRB - Maio 2002MCS9–1 Regras (Restrições) de Integridade Sistemas comerciais relacionais são muito finos de restrições para garantir a qualidade dos dados.
Sistemas de Informação
Linguagem de Banco de Dados - SQL
Bancos de Dados – SQL – parte 1
Banco de dados Profª Kelly Medeiros.
Banco de Dados Aplicado ao Desenvolvimento de Software
Laboratório de Banco de Dados SGBD Oracle 10 G
Capítulo 6: Integridade e Segurança
Tipos de Linguagens do Banco de Dados
2.2.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.
SQL Server 2012 Integridade de Dados
Banco de Dados PostgreSQL.
Capítulo 3: SQL Korth • Silberschatz • Sundarshan.
Desenvolvendo um script SQL
Linguagem SQL.
Banco de dados.
Definições de Esquemas, Restrições básicas e buscas
Banco de Dados Aplicado ao Desenvolvimento de Software
Campus de Caraguatatuba Aula 2: Introdução a Tecnologia de BD
©Silberschatz, Korth and Sudarshan (modificado)4.1.1Database System Concepts Capítulo 4: SQL Estrutura básica Operações com conjuntos Funções de agregação.
SQL Server Tipos de dados numéricos. TipoIntervalo de valoresEspaço de armazenamento tinyint0 a 2551 byte smallint a bytes int
SCC Bancos de Dados e Suas Aplicações
Contatos Gladimir Catarino
©Silberschatz, Korth and Sudarshan (Modificado)1.1Database System Concepts Capítulo 1: Introdução Função dos Sistemas de Bases de Dados Visão dos dados.
©Silberschatz, Korth and Sudarshan (modificado)9.1.1Database System Concepts Capítulo 9: BDs Objecto-Relacional Relações imbricadas Tipos complexos e objectos.
©Silberschatz, Korth and Sudarshan (Modificado)3.1.1Database System Concepts Capítulo 3: Modelo Relacional Estrutura das Bases de Dados Relacionais Redução.
Banco de Dados I I Comandos SQL
SQL Structured Query Language Linguagem de Consulta Estruturada
Bancos de Dados Fundação Educacional de Oliveira - FEOL
©Silberschatz, Korth and Sudarshan (modificado)4.2.1Database System Concepts Capítulo 4: SQL Estrutura básica Operações com conjuntos Funções de agregação.
©Silberschatz, Korth and Sudarshan (modificado)9.2.1Database System Concepts Capítulo 9: BDs Objecto-Relacional Relações imbricadas Tipos complexos e objectos.
©Silberschatz, Korth and Sudarshan (modificado)6.1.1Database System Concepts Capítulo 6: Integridade e Segurança Restrições ao Domínio Integridade Referencial.
Equipe de monitoria Aula prática 4.  Tipos  Tabela de Objetos  Herança  Métodos  Referências  Coleções  Composição de coleções  Conectividade.
IEC Banco de Dados I Aula 04 – SQL (II) Turmas: Sistemas de Informação Professora: André Luiz da Costa Carvalho
©Silberschatz, Korth and Sudarshan (modificado)7.3.1Database System Concepts Capítulo 7: Design de Bases de Dados 1ª Forma Normal Objectivos com Design.
©Silberschatz, Korth and Sudarshan (Modificado)3.4.1Database System Concepts Capítulo 3: Modelo Relacional Estrutura das Bases de Dados Relacionais Redução.
SQL (Structured Query Language)
1 Introdução à Manipulação de Dados SQL – Structured Query Language  Tabela = Relação  DDL – Data Definition Language  Sub-conjunto do SQL que suporta.
©Silberschatz, Korth and Sudarshan (modificado)4.2.1Database System Concepts Capítulo 4: SQL Estrutura básica Operações com conjuntos Funções de agregação.
Automação Comercial Faculdade Estácio Radial Prof. Paulo Alipio Alves de Oliveira 2010.
Professor Me. Jeferson Bussula Pinheiro.
Daniel Paulo Introdução Neste capítulo trataremos a relação entre tabelas e FILEGROUPS, bem como a alocação interna de dados.
Banco de Dados Maria Augusta (Magu).
©Silberschatz, Korth and Sudarshan (modificado)6.1.1Database System Concepts Capítulo 6: Integridade e Segurança Restrições ao Domínio Integridade Referencial.
©Silberschatz, Korth and Sudarshan (Modificado)3.2.1Database System Concepts Capítulo 3: Modelo Relacional Estrutura das Bases de Dados Relacionais Redução.
Linguagem de definição de dados - SQL
Banco de Dados SQL (Structured Query Language) Hayslan Nicolas Colicheski Bucarth – IFRO / 2015 –
Fundamentos de Banco de Dados Prof. André Cypriano M. Costa
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Capítulo 4 SQL básica.
Programação para Internet Aula 11 SQL (Introdução a linguagem, comandos de modificação: Create, Drop, Alter, Insert, Delete, Update)
Kelyn Schenatto. Definição Linguagem de Consulta Estruturada (Structured Query Language); Desenvolvida inicialmente nos anos 70 nos laboratórios da IBM.
Banco de Dados para Redes– Aula 03 Prof. Me. Ronnison Reges Vidal.
SQL (Structure Query Language)
Transcrição da apresentação:

©Silberschatz, Korth and Sudarshan (modificado)4.1.1Database System Concepts Capítulo 4: SQL Estrutura básica Operações com conjuntos Funções de agregação Valores nulos Subconsultas embebidas Relações derivadas Vistas Modificação da Base de Dados Junções Embedded SQL Linguagem de Definição de Dados

©Silberschatz, Korth and Sudarshan (modificado)4.1.2Database System Concepts Linguagem de Definição de Dados (DDL) O esquema de cada relação. O domínio de valores associados com cada atributo. Restrições de integridade O conjunto de índices a manter para cada relação. Informação de segurança e autorização para cada relação. As estruturas de armazenamento físico em disco de cada relação. Linguagem para especificar a informação acerca de cada relação, incluindo:

©Silberschatz, Korth and Sudarshan (modificado)4.1.3Database System Concepts Tipos em SQL char(n). Cadeia de caracteres de comprimento fixo n. varchar(n). Cadeia de caracteres de comprimento variável, com o máximo n especificido pelo utilizador. int. inteiro (um subconjunto finito dos inteiros, dependente da máquina). smallint. Inteiro pequeno (um subconjunto do tipo int). numeric(p,d). Número de vírgula fixa, com precisão de p dígitos e com n casas decimais. real, double precision. Números de vírgula flutuante, com precião dependente da máquina. float(n). Número de vírgula flutuante, com um mínimo de precisão de n dígitos. Os valores nulos são permitidos em todos os tipos de dados. A declaração de um atributo como not null proíbe os valores nulos para esse atributo. create domain construção em SQL-92 que cria um tipo de dados definido pelo utilizador (não se encontra implementado em Oracle9i) create domain person-name char(20) not null

©Silberschatz, Korth and Sudarshan (modificado)4.1.4Database System Concepts Tipos em Oracle9i Os tipos suportados pelo SGBD Oracle9i são:  CHAR(size), VARCHAR2(size), NCHAR(size), NVARCHAR2(size)  NUMBER(p,s)  DATE, TIMESTAMP, TIMESTAMP WITH TIME ZONE e TIMESTAMP WITH LOCAL TIME ZONE  INTERVAL YEAR TO MONTH e INTERVAL DAY TO SECOND.  RAW(size), LONG RAW, LONG  CLOB, NCLOB, BLOB, BFILE  ROWID, UROWID

©Silberschatz, Korth and Sudarshan (modificado)4.1.5Database System Concepts Conversão (implícita) para tipos SQL CHARACTER(n) CHAR(n) CHARACTER VARYING(n) CHAR VARYING(n) VARCHAR2(n) NATIONAL CHARACTER(n) NATIONAL CHAR(n) NCHAR(n) NATIONAL CHARACTER VARYING(n) NATIONAL CHAR VARYING(n) NCHAR VARYING(n) NVARCHAR2(n) INTEGER INT SMALLINT NUMBER(38) FLOAT(b) DOUBLE PRECISION REAL NUMBER

©Silberschatz, Korth and Sudarshan (modificado)4.1.6Database System Concepts Tipos Data/Tempo em SQL (cont.) date. datas, contendo um ano com (4 dígitos), mês e dia  E.g. date ‘ ’ time. Tempo (diário), em horas, minutos e segundos.  E.g. time ’09:00:30’ time ’09:00:30.75’ timestamp: data mais hora  E.g. timestamp ‘ :00:30.75’ Interval: período de tempo  E.g. Interval ‘1’ day  A subtracção de dois valores de date/time/timestamp devolve um intervalo  Os valores de intervalos podem ser adicionados a valores de date/time/timestamp Pode-se extrair campos do valor date/time/timestamp  E.g. extract (year from SYSDATE) Pode-se converter cadeias de caracteres para date/time/timestamp  E.g. cast as date

©Silberschatz, Korth and Sudarshan (modificado)4.1.7Database System Concepts Datas/Tempo em Oracle9i O suporte de datas em SGBD Oracle9i difere ligeiramente do que foi descrito anteriormente. Os tipos base para representar datas/tempos são:  DATE, TIMESTAMP, TIMESTAMP WITH TIME ZONE e TIMESTAMP WITH LOCAL TIME ZONE. Para representar intervalos temos:  INTERVAL YEAR TO MONTH e INTERVAL DAY TO SECOND. Existem funções especiais para converter de e para datas/intervalos:  TO_CHAR(date), TO_NCHAR(date).  TO_DATE, TO_TIMESTAMP, TO_TIMESTAMP_TZ, TO_YMINTERVAL, TO_DSINTERVAL, NUMTOYMINTERVAL, NUMTODSINTERVAL A pseudocoluna SYSDATE e função CURRENT_DATE retornam a data actual. Para mais detalhes consultar o manual.

©Silberschatz, Korth and Sudarshan (modificado)4.1.8Database System Concepts Instrução Create Table Uma tabela SQL é definida recorrendo ao comando create table : create table r (A 1 D 1, A 2 D 2,..., A n D n, (integrity-constraint 1 ),..., (integrity-constraint k ))  r é o nome da relação  A i é o nome de um atributo no esquema de relação r  D i é o tipo de dados dos valores no domínio do atributo A i Exemplo: create table branch (branch_namechar(15) not null, branch_citychar(30), assetsinteger)

©Silberschatz, Korth and Sudarshan (modificado)4.1.9Database System Concepts Restrições de integridade em Create Table not null primary key (A 1,..., A n ) unique (A 1,..., A n ) check (P), em que P é um predicado Exemplo: create table branch (branch-namechar(15), branch-citychar(30) assetsinteger, primary key (branch-name), check (assets >= 0)) A declaração primary key num atributo garante automaticamente not null em versões posteriores ao SQL-92. Deve ser explicitado em SQL-89

©Silberschatz, Korth and Sudarshan (modificado)4.1.10Database System Concepts Instrução Drop Table O comando drop table remove da base de dados toda a informação sobre a relação (e não apenas os dados). drop table loan Em Oracle9i, caso hajam chaves externas (veremos daqui a uns dias o que isso é), deve-se utilizar a declaração cascade constraints. drop table loan cascade constraints Para eliminar vistas deve-se utilizar drop view

©Silberschatz, Korth and Sudarshan (modificado)4.1.11Database System Concepts Instrução Alter Table O comando alter table é utilizado para modificar o esquema, ou as restrições sobre relações já existente. Para adicionar novos atributos: alter table r add A D em que A é o nome do atributo a adicionar à relação r e D o domínio de A. Todos os tuplos existentes ficam com null no novo atributo. O comando alter table também pode ser utilizado para eliminar atributos de uma relação alter table r drop A em que A é o nome de um atributo na relação r (em Oracle9i deve-se escrever alter table r drop column A)

©Silberschatz, Korth and Sudarshan (modificado)4.1.12Database System Concepts Instrução Alter Table Para adicionar novas restrições: alter table r add constraint N R em que N é um nome dado à nova restrição e R define a restrição. Por exemplo: alter table account add constraint saldo_pos check (balance > 0) Para remover restrições (definidas previamente com um nome): alter table r drop constraint N por exemplo: alter table account drop constraint saldo_pos

©Silberschatz, Korth and Sudarshan (modificado)4.1.13Database System Concepts Exemplo retirado das aulas práticas create table alunos( num_aluno number(6) not null, nome varchar2(30) not null, local varchar2(25), data_nsc date not null, sexo char(1) not null check ( sexo in ( 'F', 'M' ) ), cod_curso number(3) not null); … alter table alunos add constraint pk_aluno primary key (num_aluno); alter table alunos add constraint un_aluno unique (num_aluno, cod_curso); …