Want to create interactive content? It’s easy in Genially!

Get started free

Módulo 15 - Linguagem de Definição de Dados

Ana Almeida

Created on September 15, 2025

Start designing with a free template

Discover more than 1500 professional designs like these:

Puzzle Diagram

Gear Diagram

Square Timeline Diagram

Timeline Diagram

Timeline Diagram 3

Timeline Diagram 4

Timeline Diagram 2

Transcript

Módulo 15 - Linguagem de Definição de Dados

Linguagem de manipulação de dados DML (Data Manipulation Language) Instruções de programação de consultas e transacções de manipulação da bd.

Linguagem de definição de dados DDL (Data Definition Language) Instruções de definição do esquema da base de dados

SQL

Módulo 15 - Linguagem de Definição de Dados

Comandos DDL:

  • CREATE
  • ALTER
  • DROP
  • RENAME
  • TRUNCATE

Módulo 15 - Linguagem de Definição de Dados

Linguagem de manipulação de dados

Manipular tabelas na base de dados com mais funcionalidades do que ALTER.

Linguagem de manipulação de dados

Módulo 15 - Linguagem de Definição de Dados

Create

Este comando permite criar um objeto, como uma nova BD, tabela, visão, índice ou outro elemento estrutural.

Planificação

USE DATABASE

SHOW DATABASES

A indicação USE db_name diz ao MySQL que use a base de dados db_alunos como padrão (atual) para declarações subsequentes.

Quando acede à consola e não sabe que bases de dados estão criadas, utiliza o "Show databases;"

DROP databse - elimina uma BD.

Módulo 15 - Linguagem de Definição de Dados

CREATE TABLE

Este comando permite criar um objeto, como uma nova BD, tabela, visão, índice ou outro elemento estrutural.

SHOW TABLES

Espaços web para praticar

CREATE TABLE - exemplo

Link

Módulo 15 - Linguagem de Definição de Dados

Quais são então as alterações possíveis:

  • Add a column
  • Modify a column
  • Drop a column
  • Rename a column
  • Rename a table

Alteração de tabelas

Módulo 15 - Linguagem de Definição de Dados

Exemplo prático - ADD Column

Exemplo prático - MODIFY Column

Exemplo prático:

RENAME TO e ALTER TABLE DROP

Exemplo prático - RENAME Column

Módulo 15 - Linguagem de Definição de Dados

JOIN
SIMPLES

SELECT

FUNÇÕES NO SQL
WHERE

MODIFY - tipo de dados ou posição de um atributo

Sintaxe:
Exemplo:

Comando para mostrar o código SQL completo usado na criação de uma tabela: mysql> SHOW CREATE TABLE nome_bd; mysql> SHOW CREATE TABLE Alunos;

Instruções utilizando o comando ALTER TABLE - atributo à BD com o respetivo tipo

  • Sintaxe:

Exemplo::

No final deste módulo os alunos devem ter adquirido conhecimentos, procedimentos e atitudes que lhe permitam:

  • Criar, alterar e eliminar tabelas e índices em SQL;
  • Criar e eliminar tabelas;
  • Alterar tabelas;
  • Criar e eliminar índices;
  • Conceito de transação;
  • Privilégios e controlo de acessos

Os comandos da linguagem de definição de dados (DDL) permite-nos definir e gerir um esquema em SQL. Resumindo, um esquema em SQL é um projeto que define como os dados são organizados numa base de dados e como são geridas as relações entre as diferentes tabelas da BD

Sintaxe:

ALTER TABLE table_name RENAME TO new_table_name; ALTER TABLE alunos RENAME TO tbl_alunos;

Exemplo:
Sintaxe:
Exemplo:
Sintaxe:

ALTER TABLE table_name RENAME COLUMN old_name to new_name; ALTER TABLE supplier RENAME COLUMN supplier_name to sname;

Exemplo:

2. Atualização de dados2.1. Inserção de linhas (comando INSERT INTO) 2.2. Alteração de valores nas linhas (comando UPDATE) 2.3. Eliminação de linhas (comando DELETE FROM) 3. Conceito de transação (comandos COMMIT e ROLLBACK) 4. Privilégios e controlo de acessos (comandos GRANT e REVOKE)

1. Criação, alteração e eliminação de tabelas e índices em SQL 1.1. Criação de tabelas (comando CREATE TABLE) 1.2. Alteração de tabelas (comando ALTER TABLE) 1.3. Criação de índices (comando CREATE INDEX) 1.4. Eliminação de tabelas e índices (comandos DROP TABLE e DROP INDEX)

create table aluno ( codAluno char(10) PRIMARY KEY, nome varchar(60) NOT NULL, dataNasc date, localidade varchar(50), rua varchar(50), numeroPorta varchar(15) ); ALTER TABLE aluno MODIFY COLUMN rua varchar(100);

CREATE TABLE:

mysql> CREATE TABLE pet ( nome VARCHAR(20), owner VARCHAR(20), species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);

mysql> CREATE TABLE parent( id INT NOT NULL, PRIMARY KEY (id)); mysql> CREATE TABLE child( id INT, parent_id INT, FOREIGN KEY (parent_id) REFERENCES parent(id));

To highlight super relevant data. 90% of the information we absorb comes through sight.

Here you can put a highlighted title

With Genially templates, you can include visual resources to leave your audience speechless. You can also highlight a specific phrase or data that will remain fixed in the memory of your audience, and even embed surprising external content: videos, photos, audios... Whatever you want!

INFO

CREATE TABLE product (category INT NOT NULL, id INT NOT NULL, price DECIMAL, PRIMARY KEY(category, id)) ENGINE=INNODB; CREATE TABLE customer (id INT NOT NULL,PRIMARY KEY (id)) ENGINE=INNODB; CREATE TABLE product_order (no INT NOT NULL AUTO_INCREMENT, product_category INT NOT NULL, product_id INT NOT NULL, customer_id INT NOT NULL, PRIMARY KEY(no), INDEX (product_category, product_id), FOREIGN KEY (product_category, product_id)REFERENCES product(category, id) ON UPDATE CASCADE ON DELETE RESTRICT, INDEX (customer_id), FOREIGN KEY (customer_id)REFERENCES customer(id)) ENGINE=INNODB; InnoDB -> é um mecanismo de armazenamento para o MySQL.

Lista as bases de dados que estão no servidor.

mysql> SHOW DATABASES; Empty set (0.00 sec)

https://sqlzoo.net/ http://www.techonthenet.com/sql/tables/create_table.php http://www.w3resource.com/mysql-exercises/ http://demo.easyquerybuilder.com/asp-net-mvc/ https://www.sqlteaching.com/

Com o Wampp aceda à prompt ....

An awesome presentation...

  • Represent data with graphics.
  • Use timelines.
  • It is animated and interactive.
  • Excites the brain through multimedia elements.
  • DO NOT exceed with bullet points 🙃​.
  • Is clear and structured
  • Tells stories hierarchically
  • Matches your audience
  • Customizes fonts and color to the theme
  • Includes images and entertains

create table aluno ( codAluno char(10) PRIMARY KEY, nome varchar(60) NOT NULL, dataNasc date, localidade varchar(50), rua varchar(50), numeroPorta varchar(15) ); ALTER TABLE aluno RENAME COLUMN numeroPorta to porta;

Com o Wampp aceda à prompt ....

create table aluno ( codAluno char(10), nome varchar(60) NOT NULL, dataNasc date, localidade varchar(50), rua varchar(50), numeroPorta varchar(15) ); ALTER TABLE aluno ADD numinterno char(5);

Here you can put a highlighted title

  • Generate experiences with your content.
  • Measure results and experiment.
  • It has a WOW effect. Very WOW.
  • Activate and surprise your audience.
  • Make your audience remember the message.
  • It is orderly, hierarchical, and structured.

We don't like to bore. We don't want to be repetitive. Communicating in the same way is boring and doesn't engage. We do it differently. We sabotage boredom. We create what the brain likes to consume because it stimulates it.

Link

Lista as tabelas que a base de dados escolhida (USE) tem.

Exemplo:mysql> SHOW TABLES; Empty set (0.00 sec)

Surprise your audience with interactive images

To create your interactive image...You can use a photograph or an illustration as a base. The important thing is for it to be very attractive to grab the attentionof your audience. With interactive images. Include additional information and display it with a click.

Visual content is a transcultural and universal language, just like music. We are capable of understanding images from millions of years ago, even from different cultures.

Criação, alteração e eliminação da estrutura

- Instrução CREATE DATABASE - Instrução CREATE TABLE - Instrução ALTER TABLE - Instrução CREATE INDEX - Instrução DROP TABLE/INDEX

Here you can put a highlighted title

With Genially templates, you can include visual resources to leave your audience speechless. You can also highlight specific phrases or data that will be etched into your audience's memory, and even embed external content that surprises: videos, photos, audios... Whatever you want!

INFO

Visual content is a cross-cutting, universal language, like music. We are able to understand images from millions of years ago, even from other cultures.

Sintaxe

- CREATE DATABASE nome_base_de_dados; OU - CREATE DATABASE [IF NOT EXISTS] nome_bd -> o parêntesis retos na sintaxe indica que a cláusula é opcional. Exemplo: CREATE DATABASE db_musicas; OU CREATE DATABASE IF NOT EXISTS db_alunos;

Sintaxe

-CREATE TABLE nome_tabela ( campo1 tipo_1 [[NOT]NULL][UNIQUE] [{, campo_n tipo_n}] [, PRIMARY KEY (campo1)] [{, FOREIGN KEY (campo2) REFERENCES nome_tabela2 (campo3)}] )

Deve-se garantir que a transacção é executada correctamente, ou seja, deve garantir-se a Atomicidade. (Ou executa todos os passos correctamente (COMMIT) ou em caso de falha(ROLLBACK) nalgum passo, não executa a transacção.)

Transações

Definição de ‘Uma transação’ é um conjunto de procedimentos que são executados num sistema de base de dados com sucesso (COMMIT). Para o utilizador, este sistema, é visto como uma única ação, garantindo a integridade e consistência dos dados

Link

Exemplo: mysql> USE db_alunos;

O comando SELECT permite recuperar/filtrar os dados de um objeto de uma base de dados, como uma tabela, view e, em alguns casos, uma stored procedure (algumas bases de dados permitem a criação de procedimentos que devolvem valor). A sintaxe mais básica do comando é:

SELECT simples

O caractere * representa todos os campos. Apesar de prático, este caractere não é muito utilizado, pois, para o SGBD é mais rápido receber o comando com todos os campos explicitados

WHERES

A cláusula Where permite ao comando SQL passar condições de filtragem. Veja o exemplo da Listagem 1

A junção de tabelas no comando SELECT também pode ser feita com o comando JOIN. Este comando deve ser utilizado com a palavra reservada INNER ou com a palavra OUTER: - INNER: Semelhante ao uso do operador “=” na junção de tabelas. Aqui os registos sem correspondências não são incluídos. Esta cláusula é opcional e pode ser omitida no comando JOIN. - OUTER: Os registos que não se relacionam também são mostrados. Neste caso, é possível definir qual a tabela que será incluída na seleção, mesmo não tendo correspondência.

São cinco as funções básicas de agrupamento: - AVG: Retorna a média do campo especificado - SELECT AVG(VALOR) FROM PEDIDOS - MIN/MAX/SUM: Respectivamente retorna o menor valor, o maior e o somatório de um grupo de registos: - SELECT MIN(VALOR) FROM PEDIDOS - SELECT MAX(VALOR) FROM PEDIDOS - SELECT AVG(VALOR) FROM PEDIDOS - COUNT: Retorna a quantidade de itens da seleção