Tabelas. Banco de Dados I MySQL

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

Linguagem SQL Restrições, Triggers e Views

Banco de Dados I Introdução SQL

SQL Linguagem de Definição de Dados

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

Banco de Dados. Professora: Luciana Faria

A linguagem SQL

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

Utilizando o Postgres - comandos SQL para a manipulação de dados

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

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

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

SQL CREATE DATABASE. MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL.

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

BCD29008 Banco de dados

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

PSI Linguagem de Definição de dados. Módulo 15

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

FACULDADE INGÁ Unidade de Ensino Superior Ingá Ltda Ciência da Computação TRIGGERS. Prof. Erinaldo Sanches Nascimento

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

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

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

Introdução ao PostgreSQL

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

Bases de Dados. DDL Data Definition Language

BANCO DE DADOS WEB AULA 7. criação de tabelas. professor Luciano Roberto Rocha.

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

Professor Leonardo Larback

SQL Básica. Andre Noel

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

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

Administração de Banco 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:

Banco de Dados. Linguagem SQL

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

Revisão de Bancos de Dados

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

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

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

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

A linguagem SQL

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

Bancos (Bases) de Dados

Rápida revisão do Modelo Relacional

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

Linguagem de Consulta Estruturada (SQL)

Comandos DDL. id_modulo = id_m odulo

BCD29008 Banco de dados

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

Tarefa Orientada 8 Criação de tabelas

Aula 06 Sistemas Embarcados LT38C

Modelagem Física e SQL

AULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language)

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

Teste Exemplo Revisão da tentativa 1

Linguagem SQL (Parte II)

SQL (Tópicos) Structured Query Language

Base de Dados. MySQL Prof. Erinaldo Nascimento

Uma solução possível para garantir, em ambiente APEX, a consistência duma estrutura ISA, total e disjuntiva.

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar

Aula 6 BD1 Modelo Relacional. Profa. Elaine Faria UFU

MYSQL - PRIMEIROS COMANDOS CRIAÇÃCO DO BD E DAS TABELAS, INSERÇÃO E CONSULTA DE REGISTROS. create database [if not exists] <nome>


Structured Query Language (SQL) Aula Prática

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

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

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

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

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

Avisos. Sumário. Atividade em lab Aula 29. Atividade em lab Aula 29. Programando com SQL Triggers EXERCÍCIO LAB SP. Vista da segunda prova

GBC043 Sistemas de Banco de Dados

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

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

BANCO DE DADOS. Para a criação de um banco de dados, através de scripts SQL, deve-se usar a seguinte sintaxe: CREATE DATABASE <nome_banco_de_dados>

Oracle Database 10g: Fundamentos de SQL e PL/SQL

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


SQL DDL ALTERAÇÃO DA ESTRUTURA DE TABELAS - ALTER TABLE - ALTER TABLE NOME_TABELA ADD [COLUMN] NOME_COLUNA TIPO_COLUNA RESTRIÇÕES

Definição de Dados com SQL

Modelagem Física e SQL

SQL. Índices, views e restrições. Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática

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

Administração de Banco de Dados

AULA 6 INTEGRIDADOS DOS DADOS - CRIANDO RESTRIÇÕES

Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP

Linguagem SQL Sub-linguagem DDL

BANCO DE DADOS WEB AULA 12. manipulação de dados atualização e exclusão de registros. professor Luciano Roberto Rocha.

MODELO DE BANCO DE DADOS RELACIONAL

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

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

Instrução Create Table

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

Prof. Carlos Majer Aplicações Corporativas UNICID

Importar e Exportar Dados

Marcos Alexandruk Marcos Alexandruk

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

Programação SQL. Introdução

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

Transcrição:

FACULDADE ANGLO AMERICANO FOZ DO IGUAÇU Curso de Ciência da Computação 5º Período Disciplina: Banco de Dados I Prof. Erinaldo Sanches Nascimento Tabelas Banco de Dados I MySQL

Linguagem de Definição de Dados O MySQL tem 11 declarações diferentes que criam esses tipos de objetos: Database Eventos Funções Índices Grupos de arquivos de log Procedures Servers Tabelas Table Spaces Triggers Views

Tabela A tabela é o objeto primário de armazenamento de dados em um banco de dados relacional. As tabelas são o tipo de objeto mais essencial em um banco de dados. Todos os dados em um banco de dados estão fisicamente armazenados em tabelas. Uma tabela consiste em linha(s) e a coluna(s), ambos os quais armazenam dados. A tabela ocupa espaço físico em um banco de dados e pode ser permanente ou temporária.

Colunas As tabelas são definidas como contendo um número de colunas. Cada coluna tem um número de atributos específicos para essa coluna. Nome da coluna Tipo de dado Se permite ou não valores NULL Se é ou não atribuído um valor padrão (DEFAULT)

Um campo (coluna) em uma base de dados relacional, é parte de uma tabela onde é atribuído um tipo de dado específico. O tipo de dado determina que dados é permitido a coluna armazenar. Cada tabela do banco de dados deve ser constituído por pelo menos uma coluna.

Linhas Uma linha é um registro de dados em uma tabela de banco de dados. Uma linha é composta de campos que contêm dados de um registro numa tabela. Uma tabela pode conter tão pouco como uma linha de dados e até quantos milhões de linhas de dados ou registros.

Primary Keys Especificar uma coluna como uma chave primária significa duas coisas: a coluna será indexada a coluna será garantida para conter valores exclusivos. As chaves primárias realizam três vantagens principais para o usuário do banco de dados: permitem identificar uma única linha em uma tabela permitem que você facilmente relacione tabelas por serem indexadas, permitem a recuperação rápida de dados de linhas que envolvem a coluna.

As chaves primárias garantem valores únicos para todas as linhas em uma tabela. A chave primária assegura a identificação de linhas únicas para atualizações ou exclusões. As chaves primárias devem conter valores exclusivos, eles nunca são permitidos para conter valores NULL. As chaves primárias são frequentemente especificada como colunas de incremento automático.

Chave Primária Composta Uma chave primária pode abranger mais de uma coluna, significando que todas as colunas em conjunto irá conter um valor único.

Foreign Keys Uma chave estrangeira é apenas uma referência de uma coluna em uma tabela para uma coluna em uma tabela diferente. Ao configurar uma chave estrangeira, você será solicitado a especificar ambas as colunas: A coluna chave estrangeira que está sendo configurada na tabela é referida como estando na tabela filho. A coluna referenciada na outra tabela é referido como estando na tabela pai.

Quando você configura chaves estrangeiras, você será capaz de definir algumas ações específicas para atualizações e exclusões envolvendo linhas na tabela pai. As três ações mais comuns são: Sem ação Cascata Colocar NULL

No Action Atualizações: Se você definir a coluna ID_CLIENTE na tabela Pedidos significa que é feita uma verificação sempre que uma atualização é tentada na tabela pai (Cliente) na coluna ID_CLIENTE. Se ele tenta fazer uma atualização sobre o Cliente, que resultaria em qualquer linha apontando na tabela filho (Pedido) para um valor que não existe mais, vai evitar que a ação ocorra. Exclusões: Garante que, ao usar a coluna ID_CLIENTE em ambas as tabelas, todas as linhas dos Pedidos apontem corretamente para uma linha existente na tabela Clientes.

Cascade Significa que quando um valor na tabela pai é atualizado, e se esse valor afeta linhas na tabela filho, então ele irá atualizar automaticamente todas as linhas da tabela filho para refletir o novo valor na tabela pai. Se uma linha na tabela pai for deletado, e se isso afeta linhas na tabela filho, ele automaticamente excluirá as linhas afetadas na tabela filho.

Set Null Significa que quando um valor na tabela pai é atualizado ou excluído, e se os valores afetam linhas na tabela filho, ele vai atualizar automaticamente todas as linhas afetadas na tabela filho para conter um valor NULL na chave estrangeira.

Criar Tabelas A instrução CREATE TABLE no SQL é usada para criar uma tabela. Algumas perguntas elementares precisam ser respondidas ao criar uma tabela: Que tipo de dados serão inseridos na tabela? Qual será o nome da tabela? Qual coluna(s) irá compor a chave primária? Que nomes deve ser dados para as colunas (campos)? Que tipo de dados será atribuído a cada coluna? Qual vai ser o comprimento alocado para cada coluna? Quais colunas em uma tabela pode ser deixado como um valor nulo?

A sintaxe para criar uma tabela: CREATE TABLE <TB_table_name> ( campo1 datatype, campo2 datatype, );

Utilidade da instrução DESCRIBE: quando você esquece o nome de uma coluna em uma tabela, precisa saber o tipo de dado ou a largura, descobrir a ordem em que o MySQL armazena as colunas em linhas da tabela.

As declarações a seguir são todos sinônimos: DESCRIBE TB_FUNCIONARIO; DESC TB_FUNCIONARIO; EXPLAIN TB_FUNCIONARIO; SHOW COLUMNS FROM TB_FUNCIONARIO; SHOW FIELDS FROM TB_FUNCIONARIO;

O atributo AUTO_INCREMENT tem o efeito que a cada novo registro o valor apropriado para ID é inserido automaticamente. O atributo NOT NULL assegura que os valores reais devem ser colocados em ambas as colunas. Não é permitido armazenar o registro de dados NULL ou não inserir qualquer valor. Esse atributo impede que registros de dados inválidos sejam armazenados. PRIMARY KEY tem o efeito de que a coluna é usada para identificar os registros de dados.

O parâmetro IF NOT EXISTS pode ser usado para verificar se uma tabela existe antes de você realmente criá-la.

Foreign Key Uma chave estrangeira é uma coluna em uma tabela filho que faz referência a uma chave primária na tabela pai. A restrição de chave estrangeira é o principal mecanismo que impõe a integridade referencial entre tabelas em um banco de dados relacional. Uma coluna definida como chave estrangeira referencia uma coluna definida como chave primária em outra tabela.

Unique Key Um índice exclusivo permite apenas valores exclusivos na coluna. A restrição de coluna única de uma tabela é semelhante a uma chave primária em que o valor em que a coluna para cada linha de dados na tabela deve ter um valor único. Embora uma restrição de chave primária é colocada em uma coluna, você pode colocar uma restrição exclusiva em outra coluna, mesmo que não seja realmente para uso como chave primária.

Comando ALTER TABLE Você pode modificar uma tabela após a tabela ter sido criada usando o comando ALTER TABLE. Você pode: Adicionar coluna(s), Excluir coluna(s), Alterar as definições de coluna, Adicionar e descartar restrições, Modificar valores de armazenamento da tabela.

A sintaxe padrão para o comando ALTER TABLE é a seguinte: ALTER [IGNORE] TABLE table_name specification [,specification]

Especificações podem ser: ADD [COLUMN] column name (column definitions) [FIRST or AFTER column_name] ADD INDEX [index_name] (column_list) ADD PRIMARY KEY (column_list) ADD UNIQUE [index_name] (column_list) ALTER [COLUMN] column_name {SET DEFAULT default_value or DROP DEFAULT} CHANGE [COLUMN] old_col_name create_definition DROP [COLUMN] col_name DROP PRIMARY KEY DROP INDEX index_name MODIFY [COLUMN] create_definition RENAME [AS] new_tbl_name

A palavra-chave IGNORE causa linhas com valores duplicados em chaves únicas a serem excluídos, caso contrário, nada acontece.

Modificar Elementos da Tabela Os atributos de uma coluna se referem às regras e comportamentos de dados em uma coluna. Você pode modificar os atributos de uma coluna com o comando ALTER TABLE. A palavra atributos aqui refere-se ao seguinte: O tipo de dados de uma coluna O comprimento, a precisão, ou escala de uma coluna Se a coluna pode conter valores NULL

Adicionar Colunas Obrigatórias à Tabela Se os dados existem atualmente na tabela a coluna que você está adicionando não pode ser definida como NOT NULL. NÃO NULL significa que uma coluna deve conter algum valor para cada linha de dados na tabela.

Há uma forma de adicionar uma coluna obrigatória a uma tabela: 1. Adicione a coluna e defini-a como NULL. 2. Insira um valor para a nova coluna para cada linha de dados na tabela. 3. Alterar a tabela para alterar o atributo da coluna para NOT NULL.

Adicionar Colunas Auto-incremento à Tabela Às vezes é necessário para criar uma coluna que auto-incrementa-se a dar um número de sequência única para uma linha específica. Você pode fazer isso por muitas razões, tais como: não ter uma chave natural para os dados, querer usar um número de sequência única para classificar os dados. O MySQL fornece o método SERIAL para produzir um valor verdadeiramente único para a tabela.

Tabelas Temporárias As tabelas temporárias são de natureza fugaz durando somente o tempo da sessão de MySQL. A sintaxe para a criação de tabelas temporárias é: CREATE TEMPORARY TABLE <table> ( field definitions );

Usando uma consulta para criar a tabela temporária: CREATE TEMPORARY TABLE <nova_tabela> SELECT * FROM <tabela_antiga>

Excluir Tabela Para excluir uma tabela existente, digite: DROP <tablename>; Seja específico quando excluir uma tabela! certifique-se de especificar o nome do esquema ou do proprietário da tabela se você tem acesso a várias contas de usuário, verifique se está conectado ao banco de dados através da conta de usuário correto antes de excluir as tabelas.

Truncate Table Remove os dados da tabela original. é melhor do que uma declaração DELETE, como ele exclui, então recria a tabela. é mais rápido em tabelas grandes e mais importante, pode ser usado como parte de uma transação. TRUNCATE TABLE <table_name>;

Restrições de Integridade Garantem a precisão e a consistência dos dados em um banco de dados relacional. É feita através do conceito de integridade referencial. Muitos tipos de restrições de integridade desempenham um papel na integridade referencial.

Restrições de chave primária Restrições exclusivas Restrições de chave estrangeira Restrições NOT NULL Verificação de restrições Restrições de exclusão (drop)

Check Constraints Verifica a validade dos dados inseridos em colunas da tabela particular. A restrição de verificação é uma forma de dar uma outra camada de proteção para os dados.