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

Documentos relacionados
BANCO DE DADOS -INTRODUÇÃO AO SQL. Prof. Angelo Augusto Frozza, M.Sc.

SQL Básica. Andre Noel

Banco de Dados I Introdução SQL

Sumário. SQL - Criação de Tabelas. Structured Query Language. SQL Versões. André Restivo. October 18, 2010

SQL Básica DDL. Prof. Marcos A. Schreiner. 21 de outubro de Curso de Licenciatura em Computação

Banco de dados. Conteúdo: DDL Prof. Patrícia Lucas

Banco de Dados. Linguagem SQL

A linguagem SQL

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

SQL PostgreSQL. I Criação de Tabelas. Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida

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

PCS3413. Engenharia de So-ware e Banco de Dados. Aula 16. Escola Politécnica da Universidade de São Paulo

Aula de SQL Comandos DDL. André Luiz de Oliveira Eduardo Raul Hruschka

Linguagem de Consulta Estruturada (SQL)

Linguagem SQL Sub-linguagem DDL

A linguagem SQL

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

LINGUAGEM SQL Linguagem usada em SGBD para: Definir estrutura de dados; Modificar dados em um banco de dados; Especificar restrições de segurança; Rea

Revisão de Bancos de Dados

Banco de Dados. Professora: Luciana Faria

SQL Linguagem de Definição de Dados

Material Teórico. Organização de Dados. Responsável pelo Conteúdo: Prof. Ms. Alexander Gobbato Albuquerque

Bases de Dados. DDL Data Definition Language

SQL (Tópicos) Structured Query Language

Tabelas. Banco de Dados I MySQL

BANCO DE DADOS GERENCIAL 1 A U L A 2

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar

BCD29008 Banco de dados

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

Atualização e Inserção de Dados. SQL Avançado. Pedro F. Carvalho OCP Oracle g

Definição de Dados com SQL

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

O projeto físico do bando de dados consiste no mapeamento do projeto lógico para um DBMS real Projeto deve levar em conta fatores como:

Sumário: 1) Trabalhando com Constraints: - NOT NULL - UNIQUE - PRIMARY KEY - FOREIGN KEY - DEFAULT

Sistemas de Informação e Bases de Dados 2012/2013. Restrições de Integridade em SQL

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

Linguagem SQL (Parte II)

Prof. Dr. Joaquim Assunção Banco de Dados. SQL (parte 4) DDL Restrições

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

Modelo Relacional + SQL (DDL) Material elaborado pela Prof. Karin Becker

Professor Leonardo Larback

Aula 6 BD1 Modelo Relacional. Profa. Elaine Faria UFU

Bancos (Bases) de Dados

SQL - Criação de Tabelas

Definição do esquema da base de dados. o esquema da BD é composto pelas definições de todas as tabelas da BD.

Introdução ao PostgreSQL


Modelagem Física e SQL

Comandos DDL. id_modulo = id_m odulo

BANCO DE DADOS PARA NINJAS

Structured Query Language (SQL) Aula Prática

Lista 02 Sistema de Banco de Dados CAP 241 Computação Aplicada I

Modelagem Física e SQL

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

Subsistema de Integridade Semântica

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

Sistemas de Informação e Bases de Dados 2012/2013. Linguagem SQL

Programação SQL. Introdução

'%'! $!0" $ 8 ' %%! % '! $ $$% + ' %!%$/)!'4!+,"/)!)+,/)% *! +,"0''% * %$!*!$$ #!"%&%'%'%$! "94(# ' %'$%$$$%0%$%' *!% %%%'!**% > %% %%!31?

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

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

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

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

SQL. Definição do Esquema da Base de Dados. Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática

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

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

Subsistema de Integridade Semântica

Modelo Entidade-Relacionamento (E-R)

DCC011 Introdução a Banco de Dados SQL gerenciar tabelas e dados

Fundamentos de Banco de Dados Postgre com Sql

Unidade 5 05/11/2008. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores

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

SQL. Prof. Roger Cristhian Gomes

Conceitos básicos. Funcionario SIAPE Nome Lotacao Cargo Salario Admissao

BANCO DE DADOS SQL (DDL: CREATE TABLE, CONSTRAINTS)

UFG - Instituto de Informática

Comandos de Manipulação

BDII SQL DDL Revisão 9

Projeto de Banco de Dados

INF1383 -Bancos de Dados

Linguagem de Definição de Dados (DDL)

Banco de Dados Loja Virtual. CLIENTE(ClienteId, PrimNome, UltNome, Endereço, Cidade, Cep, Telefone)

BANCO DE DADOS. Vinícius Pádua

Manipulação de Dados com SQL

Restrições de Integridade Semântica

BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho

Banco de dados POO Márcio Delamaro. Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP

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. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL

Bases de Dados BDDAD. Oracle SQL Comandos. Nelson Freire (ISEP LEI-BDDAD 2017/18) 1/101

A linguagem SQL

Conceitos SQL SQL 19/03/2017 O que é dado? O que é BD? O que é uma informação? O que é SGBD? O que é SQL? O que é BD? O que é SGBD?

SQL DDL. Frederico D. Bortoloti

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

GBC043 Sistemas de Banco de Dados

Rápida revisão do Modelo Relacional

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

PostgreSQL Desenvolvedor

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

Transcrição:

MODELAGEM 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 Nacional Standard Institute (ANSI), publicou e padronizou a linguagem SQL; SQL estabeleceu-se como linguagem padrão do Modelo Relacional; Deveria ser padrão para todos os gerenciadores de Banco de Dados: 1º versão 1989 2º versão 1992 3º versão 1999

Os comandos SQL podem ser agrupados em 3 classes: DDL Data Definition Language Comandos para a Definição de Dados DML Data Manipulation Language Comandos para a Manipulação de Dados DCL Data Control Language Comandos para o Controle do Gerenciador, Conexão e Usuário

Objetos manipuláveis em um Banco de Dados: Database (Base de Dados) Table (Tabelas) Index (Indíces) View (Visões) Stored Procedures (Procedimentos) Triggers (Gatilhos) Domain (Domínios) Generator (Variáveis Globais) Exception (Excecões) User (Usuários) Role (Grupos de Usuários)

Comandos básicos da Linguagem de Definição dos Dados (DDL): CREATE ALTER DROP

Objeto Database (Base de Dados) - Definição Arquivo que contém a descrição dos dados, metadados, esquema do banco de dados; Contém todos os objetos criados; Contém os dados; Detém a segurança da estrutura completa; Sintaxe: Create database nome_banco

Objeto Domínio Definição São tipos de dados criados para evitar redundâncias de tipos e facilitar a manutenção do Banco de Dados;

Criando objetos Domínio CREATE DOMAIN d_logradouro VARCHAR(40); CREATE DOMAIN d_numero VARCHAR(6); CREATE DOMAIN d_cep VARCHAR(8); CREATE DOMAIN d_bairro VARCHAR(30); CREATE DOMAIN d_complemento VARCHAR(20); CREATE DOMAIN d_fone VARCHAR(10); CREATE DOMAIN d_cpf VARCHAR(11); CREATE DOMAIN d_rg VARCHAR(15); CREATE DOMAIN d_email VARCHAR(50);

Criando objetos Domínio CREATE DOMAIN d_logico VARCHAR(1) CHECK (VALUE IN ( S, N )); CREATE DOMAIN d_sexo VARCHAR(1) CHECK (VALUE IN ( M, F )); CREATE DOMAIN d_estado_civil VARCHAR(15) CHECK (VALUE IN ( CASADO, SOLTEIRO, DESQUITADO, SEPARADO, OUTROS )); CREATE DOMAIN d_data_atual AS DATE DEFAULT 'NOW NOT NULL; CREATE DOMAIN d_comentarios AS BYTEA NOT NULL;

Alterando um objeto Domínio ALTER DOMAIN d_logico SET DEFAULT x ; ALTER DOMAIN nome { SET DEFAULT expressão DROP DEFAULT } ALTER DOMAIN nome { SET DROP } NOT NULL ALTER DOMAIN nome ADD restrição_de_domínio ALTER DOMAIN nome DROP CONSTRAINT nome_restrição [ RESTRICT CASCADE ] ALTER DOMAIN nome OWNER TO novo_dono

Eliminando um objeto Domínio DROP DOMAIN d_logico; DROP DOMAIN d_email;

Objeto Table Definição É o local onde armazenamos os dados; Regras para definição do objeto TABLE: Primeiro criar as tabelas que não possuem chave estrangeira; A chave primária sempre será um campo não nulo; Criar Constraints (dar nomes às chaves primárias e estrangeiras); Constraints são restrições criadas para manter a consistência da base de dados; Não podem existir Contraints com mesmo nome na mesma base de dados; Ex: A definição de uma chave primária é uma restrição; A definição de uma chave estrangeira é uma restrição;

Criando um Objeto Table Tabela Municipio CREATE TABLE municipio ( id_municipio INTEGER NOT NULL, nome VARCHAR(35) NOT NULL, uf VARCHAR(2) NOT NULL, CONSTRAINT pk_municipio PRIMARY KEY (id_municipio) );

Criando um Objeto Table CREATE TABLE contador ( id_contador INTEGER NOT NULL, nome VARCHAR(50) NOT NULL, logradouro D_LOGRADOURO, nr D_NUMERO, complemento D_COMPLEMENTO, cep D_CEP, bairro D_BAIRRO, fone D_FONE, fax D_FONE, email D_EMAIL, id_municipio INTEGER NOT NULL, CONSTRAINT pk_contador PRIMARY KEY (id_contador), CONSTRAINT fk_contador_municipio FOREIGN KEY (id_municipio) REFERENCES municipio On Update Cascade On Delete no Action );

Alterando a estrutura de um objeto Table - Adicionar o campo data do cadastro na tabela contador: Alter Table Contador add Data D_DataAtual; - Adicionar o campo teste do cadastro na tabela contador: Alter Table Contador add Teste Varchar(10); - Alterando o tipo de um atributo na entidade contador; Alter Table Contador alter nome type varchar(50) not null; - Eliminando um atributo na entidade contador; Alter Table Contador drop teste;

Eliminando um objeto Table Drop Table Municipio; Não vai aceitar, pois existe a tabela contador relacionada; 1 o ) Drop Table Contador; 2 o ) Drop Table Municipio;

Integridade referencial Integridade referencial é um conjunto de regras e de consistências entre os registros de duas tabelas que se relacionam; Como foi visto no modelo relacional: quando duas tabelas se relacionam, a chave primária de uma é copiada para a outra; se esses dados forem alterados ou excluídos da tabela original é necessário verificar o que será feito com os dados e registros duplicados na outra tabela;

Integridade referencial Quando se define uma integridade referencial, está se definindo o procedimento que será tomado quando esses processos ocorrerem; Sejam duas tabelas A e B que se relacionam através de uma coluna c que é a chave primária de A e, portanto, foi repetida em B para se fazer o relacionamento; Quando se define uma integridade referencial para esse relacionamento, está se definindo que a coluna c da tabela B só pode conter valores já cadastrados na coluna c da tabela A ;

Integridade referencial Existem três formas de se manter essa regra quando registros da tabela A são excluídos: Restrict: define que, se o valor da coluna c de A existir em algum registro de B, o registro não poderá ser excluído e uma mensagem de erro retornará para a aplicação; Cascade: define que, se o valor da coluna c de A existir em algum registro de B, todos os registros que possuírem esse valor serão também excluídos; Set Null: define que, se o valor da coluna c de A existir em algum registro de B, os valores de c em todos os registros serão transformados para Null ;

Integridade referencial CREATE TABLE contador ( id_contador INTEGER NOT NULL, nome VARCHAR(50) NOT NULL, logradouro D_LOGRADOURO, nr D_NUMERO, complemento D_COMPLEMENTO, cep D_CEP, bairro D_BAIRRO, fone D_FONE, fax D_FONE, email D_EMAIL, id_municipio INTEGER NOT NULL, CONSTRAINT pk_contador PRIMARY KEY (id_contador), CONSTRAINT fk_contador_municipio FOREIGN KEY (id_municipio) REFERENCES municipio On Update Cascade On Delete no Action );

Integridade referencial (SQLite3)

Integridade referencial (SQLite3)

Restrições em campos (SQLite 3):

Resumo: Foi visto a criação dos seguintes objetos: Database (Base de Dados) Table (Tabelas) Index (Indíces) Domain (Domínios) Não suportado pelo SQLite 3