Modelagem Física e SQL

Documentos relacionados
Modelagem Física e SQL

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

A Linguagem SQL. Tecnologia de Base de Dados. MSc. Eugénio. Macumbe

Tarefa Orientada 8 Criação de tabelas

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

Banco de Dados I Introdução SQL

Banco de Dados I 5 Linguagens de Consulta

Banco de Dados. Linguagem SQL

O modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de

A linguagem SQL

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

Banco de dados. Linguagens de Banco de Dados II. Wedson Quintanilha da Silva -

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

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

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

Mysql. Quanto mais informações você busca, mais você evolui. Vitor Ramos. Disciplina de Banco de Dados

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

A linguagem SQL

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

SQL Básica. Andre Noel

P R O J E T A N D O U M B A N C O D E D A D O S L O G I C A M E N T E P R O F. : A N D R É L U I Z M O N T E V E C C H I

SQL Linguagem de Definição de Dados

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


Definição de Dados com SQL

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar

Bases de Dados. DDL Data Definition Language

BCD29008 Banco de dados

Linguagem de Consulta Estruturada (SQL)

Aula 6 BD1 Modelo Relacional. Profa. Elaine Faria UFU

BANCO DE DADOS. Vinícius Pádua

Page 1. Prof. Constantino Jacob

INTRODUÇÃO AO MYSQL PROF. ME. HÉLIO ESPERIDIÃO

UFG - Instituto de Informática

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

Aula 06 Sistemas Embarcados LT38C

SQL. Linguagem de Definição de Dados (DDL) Tipos em SQL. Tipos Data/Tempo em SQL (cont.)

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

Banco de Dados. Professora: Luciana Faria

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

BANCO DE DADOS PARA NINJAS

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

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

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

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

Linguagem de Definição de Dados (DDL)

AULA 01 Bancos de Dados Relacionais Arquitetura Linguagem SQL Componentes: DDL, DML, DCL. Prof. Msc. Célio R. Castelano

BANCO DE DADOS GERENCIAL 1 A U L A 2

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

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Renomeada para SQL (Structured Query Language)

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

Bando de Dados Web. Tipos de dados

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Renomeada para SQL (Structured Query Language)

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

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

INTRODUÇÃO AO MYSQL. Eng. Computação

MODELAGEM DE DADOS MODELO FÍSICO

Instrução Create Table

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

Linguagem SQL Sub-linguagem DDL

Structured Query Language (SQL)

Banco de dados. Prof. Me. Hélio Esperidião

SQL - Criação de Tabelas

BCD29008 Banco de dados

SQL DDL. Frederico D. Bortoloti

Structured Query Language (SQL) Aula Prática

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

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

PROGRAMA. 3.SQL Básico. 3.1 Criação de tabelas 3.2 Queries simples 3.3 Subqueries 3.4 Agregação. Prof. Dr. Marcos Tsuzuki

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

Conceito de Campos e Tabelas

Bancos (Bases) de Dados

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:

Linguagem de Consulta - SQL

BANCO DE DADOS 2 SQL (CREATE TABLE, CONSTRAINTS, DELETE, UPDATE

Tabelas. Banco de Dados I MySQL

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

SQL (Structured Query Language)

Linguagem SQL (Parte I)

BANCO DE DADOS WEB AULA 6. Tipos de Dados. professor Luciano Roberto Rocha.

SQL. Autor: Renata Viegas

P R O F. M E. H É L I O E S P E R I D I Ã O. Eng. Computação

Manipulação de Dados com SQL

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

Natanael Gonçalves Afonso 8º Período Engenharia da Computação Skydrive:

Fundamentos de SQL. Curso: Técnico em Redes de Computadores Disciplina: Tecnologias e Linguagem de Banco de dados Professor: Rodrigo da Rocha

Marcelo Henrique dos Santos

SQL (Structured Query Language)

Structured Query Language (SQL)

SQL (Structured Query Language)

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

Escola Secundária de Albufeira. Comandos MySQL. (Páginas Web Dinâmicas: PHP e MySQL) Carlos Nunes

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

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

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

A linguagem SQL

Transcrição:

Programação em Banco de Dados - Parte 1 Modelagem Física e SQL Prof. Pablo Passos prof.pablo.passos@gmail.com

SQL - Um modelo físico é gerado a partir de um modelo lógico já construído. A geração dos objetos de um modelo físico em um SGBD relacional é realizada através de uma linguagem de definição e manipulação de relações. SQL (Structured Query Language) é a linguagem utilizada atualmente para SGBD relacionais;

SQL Originalmente desenvolvida pela IBM na década de 70 com o objetivo de demonstrar a viabilidade da implementação do modelo relacional proposto por Codd; Padronizada pela ANSI (American National Standars Institute) em 1986 (SQL-86); Outras revisões aconteceram em: 1989, 1992, 1999, 2003, 2006, 2008 e 2011 ampliando gradativamente o escopo de funcionalidades da linguagem.

SQL Apesar do nome Linguagem de consulta, com SQL podemos realizar qualquer operação, como criar bancos de dados, objetos nele contidos, inserir, alterar, excluir ou recuperar dados de um banco de dados, especificar restrições de segurança, dentre outras operações; Dividida em 3 categorias Data Definition Language (DDL); Data Manipulation Language (DML); Data Control Language (DCL).

SQL Data Definition Language (DDL) Utilizada para definir bancos de dados e os objetos nele contidos; Exemplos de comandos DDL: CREATE TABLE; (criar tabelas) ALTER TABLE; (alterar estrutura de tabelas) DROP TABLE (eliminar tabelas), dentre outros;

SQL Data Manipulation Language (DML); Utilizada para manipular dados nos objetos contidos no banco de dados; Exemplos de comandos DML: INSERT; (inserir dados) UPDATE; (atualizar dados) DELETE;(excluir dados) SELECT;(consultar dados)

SQL Data Control Language (DCL); Utilizada para permitir (ou negar) o acesso aos objetos contidos no banco de dados a um usuário ou grupo de usuários; Exemplos de comandos DCL: GRANT; (conceder privilégios) REVOKE; (revogar privilégios)

SQL - DDL Definimos uma relação (tabela) com o comando CREATE TABLE CREATE TABLE table_name ( definicao_coluna [, definicao_coluna...] [constraints] ) definicao_coluna: col_name tipo_dado [NULL NOT NULL] constraints: PRIMARY KEY (chave primária) [CONSTRAINT constraint_name] PRIMARY KEY (col_name [,col_name2[,...]]) UNIQUE (unicidade) [CONSTRAINT constraint_name] UNIQUE (col_name [,col_name2[,...]]) FOREIGN KEY (chave estrangeira) [CONSTRAINT constraint_name] FOREIGN KEY (col_name [,col_name2[,...]]) REFERENCES ref_table (ref_col_name [,ref_col_name2[,...]])

SQL - DDL CREATE TABLE aluno ( num_matricula int not null, nome_aluno char(30) not null, endereco char(40) null, telefone char(15) null, codigo_curso int not null, CONSTRAINT PRIMARY KEY pk_aluno (num_matricula), ) CONSTRAINT fk_aluno_curso FOREIGN KEY (codigo_curso) REFERENCES curso (cod_curso)

SQL - DDL - Tipos de Dados Básicos SQL ANSI Char(n): String de caracteres de tamanho fixo com tamanho n especificado pelo usuário. Varchar(n): String de caracteres de tamanho variável com tamanho n especificado pelo usuário. Int: um número inteiro Decimal(p,e): um número de ponto fixo com precisão e escala especificados pelo usuário. Float(n): número de ponto flutuante com precisão especificado pelo usuário e escala limitada pela máquina. Date: armazenamento de datas

Tipos de Dados SQL Server 2014 Inteiros Bit Numérico Monetário Numérico de ponto flutuante Bigint Int Smallint Tinyint Bit Decimal Numeric Money Smallmoney Float Real -2^63 a 2^63 1: 8 bytes -2^31 a 2^31 1: 4 bytes -32.768 a 32.767: 2 bytes 0 a 255: 1 byte 0 ou 1: ocupa 1 byte até 8 colunas e 2 bytes acima de 8 colunas -10^38 +1 a 10^38 1: ocupa 5, 9, 13 ou 17 bytes a depender da precisão -922.337.203.685.477,5808 a 922.337.203.685.477,5807 : ocupa 8 bytes -214.748,3648 a 214.748,3647: até 4 casas decimais e ocupa 4 bytes -1,79E + 308 a 1,79E + 308: 4 a 8 bytes a depender da precisão -3,40E + 38 a 3,40E + 38: 4 bytes

Tipos de Dados SQL Server 2014 Data e Hora Datetime 01/01/1753 a 31/12/9999 com precisão de milésimo de segundo : ocupa 8 bytes Smalldatetime 01/01/1900 a 06/06/2079 com precisão de minuto: ocupa 4 bytes Date 0001-01-01 a 9999-12-31: ocupa 3 bytes String String Unicode * Time Char Varchar nchar nvarchar 00:00:00.0000000 a 23:59:59.9999999: ocupa 5 bytes String tamanho fixo até 8000 caracteres. String tamanho variável até 8000 caracteres. String unicode tamanho fixo até 4000. String unicode tamanho variável até 4000. Binários Binary Varbinary Binário tamanho fixo até 8000 bytes. Binário tamanho variável até 8000 bytes. * Unicode: Suporte a outros padrões de caracteres, como japonês, chinês, hebraico e outros

Tipos de Dados SQL Server 2014 Large-Value Data Types: Varchar(max), NVarchar(max), Varbinary(max); Permitem armazenar até 2Gb de dados; Substituem os antigos Text, NText e Image, garantindo maior flexibilidade. Espaciais - Geography: Representa coordenadas de latitude e longitude de áreas da superfície da Terra - Geometry: Representar polígonos, pontos e linhas de superfícies planas. XML Permite o armazenamento de um documento ou fragmento XML em variáveis ou campos de tabelas; Vantagens: Permite a criação de índices específicos para esse tipo de dado; A estrutura do conteúdo XML pode ser validada.

Modelagem Física Exemplo Definição dos tipos de dados dos atributos das relações

SQL - DDL Alteramos a definição de uma (tabela) com o comando ALTER TABLE: ALTER TABLE nome_tabela [ADD ( { col_name column_properties [column_constraint] [[,] table_constraint]} [,] next_col_name }... ) [DROP [CONSTRAINT] constraint_name [, constraint_name2]...]

SQL - DDL Restrições (Constraints) PRIMARY KEY: garante a unicidade e a não nulidade pois exige que todos os campos envolvidos sejam NOT NULL; CREATE TABLE equipamento ( cod_equipamento integer not null CONSTRAINT pk_equipamento PRIMARY KEY, desc_equipamento varchar(30) not null, valor_equipamento numeric(10,2) not null, cod_tipo_equipamento smallint not null ) ou ALTER TABLE equipamento ADD CONSTRAINT pk_equipamento PRIMARY KEY (cod_equipamento);

SQL - DDL Restrições (Constraints) FOREIGN KEY: garante a integridade referencial; CREATE TABLE equipamento ( cod_equipamento integer not null, desc_equipamento varchar(30) not null, valor_equipamento numeric(10,2) not null, cod_tipo_equipamento smallint not null CONSTRAINT fk_equip_tipo_equip FOREIGN KEY REFERENCES tipo_equipamento (num_tipo_equipamento) ); ou ALTER TABLE equipamento ADD CONSTRAINT fk_equip_tipo_equip FOREIGN KEY (num_tipo_equipamento) REFERENCES tipo_equipamento (num_tipo_equipamento);

SQL - DDL Alterações de tabelas (ALTER TABLE) Adição de um campo ALTER TABLE equipamento ADD ultima_atualizacao datetime; - Alteração do tipo de um campo ALTER TABLE equipamento ALTER COLUMN valor_equipamento float; Exclusão de coluna ALTER TABLE equipamento DROP COLUMN ultima_atualizacao;

SQL - DDL Restrições (Constraints) UNIQUE: garantem unicidade, mas não garantem não nulidade. CREATE TABLE equipamento ( cod_equipamento desc_equipamento integer not null primary key, varchar(30) null CONSTRAINT un_desc_equip UNIQUE, valor_equipamento cod_tipo_equipamento ); ou ALTER TABLE equipamento numeric(10,2) not null, smallint not null ADD CONSTRAINT un_desc_equip UNIQUE (desc_equipamento);