0% acharam este documento útil (0 voto)
16 visualizações35 páginas

MySQL - Criando o Banco de Dados

O documento aborda os conceitos fundamentais de bancos de dados, incluindo modelos conceitual, lógico e físico, além da linguagem SQL e suas sublinguagens (DDL, DML, DCL, TCL). Ele detalha tipos de dados em MySQL, como caracteres, numéricos e temporais, e apresenta comandos para criação e manipulação de bancos de dados e tabelas. O texto também discute restrições em tabelas, como chaves primárias e estrangeiras, e suas ações associadas.

Enviado por

laylson junior
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
16 visualizações35 páginas

MySQL - Criando o Banco de Dados

O documento aborda os conceitos fundamentais de bancos de dados, incluindo modelos conceitual, lógico e físico, além da linguagem SQL e suas sublinguagens (DDL, DML, DCL, TCL). Ele detalha tipos de dados em MySQL, como caracteres, numéricos e temporais, e apresenta comandos para criação e manipulação de bancos de dados e tabelas. O texto também discute restrições em tabelas, como chaves primárias e estrangeiras, e suas ações associadas.

Enviado por

laylson junior
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 35

Banco de Dados II

Rebeca Barros
Modelo Conceitual
Modelo Entidade-
Relacionamento (ER)

Modelo Lógico

Modelo Relacional

Minimundo Modelo Físico


Script SQL referente a
algum SGBD específico

Projeto de Banco de Dados


2
SQL
▪ O Modelo Relacional foi definido por E.F.Codd
em 1970 e pode ser definido como uma coleção
de uma ou mais relações, onde cada relação é
uma tabela com linhas e colunas.
▪ Baseada no trabalho de Codd, a IBM concebeu e
desenvolveu uma linguagem para manipular os
dados em tabelas relacionais.
▪ Inicialmente chamada de SEQUEL, a primeira
versão comercial da SQL (Structured Query
Language) foi lançada em 1979.
3
SQL
▪ A SQL se tornou uma padrão a partir de 86,
quando a ANSI (American National Standars
Institute) lançou oficialmente o primeiro padrão
da linguagem. De lá pra cá, novas versões do
SQL foram lançadas sempre com refinamentos
da linguagem e com a adição de novas
funcionalidades. A mais atual é a SQL:2016.

4
SQL
▪ SQL pode ser considerada um dos principais
motivos pelo sucesso dos bancos relacionais.
Como ela se tornou um padrão, os usuários
ficaram menos preocupados com a migração de
uma aplicação de outro sistema de banco de
dados pra um relacional.
▪ Mesmo que um usuário esteja insatisfeito com
um SGBD especifico, a conversão pra outro
SGBD não é tão custosa, pois ambos seguem os
mesmos padrões de linguagem.
5
SQL
▪ O resultado de uma consulta SQL é uma tabela
(também chamada, nesse contexto, de
conjunto-resultado ou, result set). Assim, uma
nova tabela permanente no BD relacional pode
ser criada armazenando o conjunto-resultado
de uma consulta. De forma semelhante, uma
consulta pode usar tanto tabelas permanentes
quanto conjuntos-resultados de outras
consultas.

6
SQL Componentes (Sublinguagens)

SQL

DDL DML DCL DTL

7
DDL
▪ Data Definition Language (DDL) consiste nos
comandos SQL que podem ser usados para definir o
esquema do banco de dados. Lida com a descrição
do esquema e é usado para criar e modificar a
estrutura do banco.
▪ Principais comandos:
▫ CREATE – usado para criar o banco de dados ou
objetos (como tabelas, índices, visões, etc..)
▫ DROP – usado para deletar objetos do banco de
dados;
▫ ALTER – usado para alterar a estrutura do banco
8
de dados.
DML
▪ Data Manipulation Language (DML) consiste nos
comandos SQL que lidam com a manipulação dos
dados presentes em um banco de dados.
▪ Principais comandos:
▫ SELECT – usado para recuperar dados do BD
▫ INSERT – usado para inserir dados em uma
tabela;
▫ UPDATE – usado para atualizar dados
existentes em uma tabela
▫ DELETE – usado para apagar dados de uma
tabela.
9
DCL
▪ Data Control Language (DCL) consiste nos
comandos SQL que lidam com acesso e permissões
e outras opções de controle em um banco de dados.
▪ Principais comandos:
▫ GRANT – concede a um usuário privilégios ao
banco de dados;
▫ REVOKE – revoca o direito de acesso de um
usuário

10
TCL
▪ Transaction Control Language (TCL) consiste nos
comandos SQL que lidam as transações dentro de
um banco de dados.
▪ Principais comandos:
▫ COMMIT – confirma uma transação;
▫ ROLLBACK – cancela uma transação no caso de
algum erro;
▫ SAVEPOINT – define um ponto salvo dentro da
transação;
▫ SET TRANSACTION – especifica as
características para uma transação.
11
TIPOS DE DADOS
MySQL
Tipos de Dados
Caracter/String

Tipos Númericos

Temporais
13
Tipos de Dados - Caractere
▪ Permite armazenar cadeias de caracteres
(letras, símbolos e números).
Tipo Descrição
CHAR(tamanho) Armazena uma string de tamanho fixo, especificado no
parênteses. Pode armazenar até 255 caracteres.
VARCHAR(tamanho) Armazena uma string de tamanho variável, o tamanho
máximo é especificado no parênteses. Pode armazenar
até 255 caracteres.
TINYTEXT Armazena uma string com tamanho máximo de 255
caracteres.
14 TEXT Armazena uma string com o máximo de 65,535 bytes
Tipos de Dados - Caractere
Tipo Descrição
BLOB Para BLOBs (Binary Large Objects). Suporta até
65,535 bytes.
MEDIUMTEXT Armazena string com tamanho máximo de 16,777,215
caracteres.
MEDIUMBLOB Para BLOBs (Binary Large Objects). Suporta até
16,777,215 bytes.
LONGTEXT Armazena string com tamanho máximo de
4,294,967,295 caracteres.
LONGBLOB Para BLOBs (Binary Large Objects). Suporta até
4,294,967,295 bytes.
15
Tipos de Dados - Caractere
Tipo Descrição
ENUM(x,y,z,etc.) Permite a entrada de valores pré-estabelecidos. É
possível armazenar até 65535 valores em uma lista
ENUM. Se um valor é inserido que não está na lista,
um valor vazio será inserido. Nota: Os valores são
organizados na ordem em que são definidos.
ENUM(‘M',‘F')
SET Similar ao ENUM mas o SET pode conter até 64 itens e
pode armazenar mais de uma escolha.

16
Tipos de Dados – Conjuntos de
Caracteres
▪ Para línguas que usam o alfabeto latino, como
inglês e português, há um número suficiente
pequeno de caracteres usados de forma a se
necessitar de apenas um byte para armazenar
cada um deles;
▪ Outras línguas como japonês, possuem um
número maior de caracteres, precisando de
mais bytes para armazenamento.

17
Tipos de Dados – Conjuntos de
Caracteres
▪ O MySQL pode armazenar dados de vários
conjuntos de caracteres e permite que você
defina o conjunto de caracteres específico para
o seu banco de dados e/ou para uma coluna da
sua tabela.
▪ O comando: SHOW CARACTER SET;
lista todos os conjuntos disponíveis no MySQL.

18
Tipos de Dados - Numéricos
▪ Permite armazenar números.
Tipo Escopo com sinal Escopo sem sinal
(unsigned)
TINYINT(tamanho) -128 a 127 0 a 255
SMALLINT(tamanho) -32768 a 32767 0 a 65535
MEDIUMINT(tamanho) -8388608 a 8388607 0 a 16777215
INT(tamanho) -2147483648 a 0 a 4294967295
2147483647
BIGINT(tamanho) -9223372036854775808 0 a 18446744073709551615
a
19
9223372036854775807
Tipos de Dados - Numéricos
Tipo Descrição
FLOAT(tamanho,d) Um número pequeno com ponto decimal. O número
máximo de dígitos pode ser especificado no parâmetro
tamanho. O número máximo de dígitos após o ponto
decimal pode ser especificado no parâmetro d.
DOUBLE(tamanho,d) Um número grande com ponto decimal. O número
máximo de dígitos pode ser especificado no parâmetro
tamanho. O número máximo de dígitos após o ponto
decimal pode ser especificado no parâmetro d.
DECIMAL(tamanho,d) Um DOUBLE armazenado como uma string,
permitindo um ponto decimal fixo. O número máximo
de dígitos pode ser especificado no parâmetro
tamanho. O número máximo de dígitos após o ponto
decimal pode ser especificado no parâmetro d.
20
Tipos de Dados - Temporais
▪ Permite armazenar datas e/ou horários.
Tipo Formato Padrão Valores Permitidos
DATE() YYYY-MM-DD '1000-01-01' até '9999-12-
31'

DATETIME() YYYY-MM-DD HH:MI:SS '1000-01-01 00:00:00' até


'9999-12-31 23:59:59'

TIMESTAMP() YYYY-MM-DD HH:MI:SS '1970-01-01 00:00:01' até


'2038-01-09 03:14:07'

TIME() HH:MI:SS '-838:59:59' até '838:59:59'

YEAR() YYYY 1901 to 2155


21
Criando um Banco de
Dados
MySQL
Criar Banco de Dados

23
Excluir um Banco de Dados

24
Criando Tabelas

25
Criando Tabelas - Restrições
▪ DEFAULT: define um valor padrão para a coluna.
Sempre que uma nova linha for inserida, caso o
valor não seja informado, ela receberá o valor
definido em DEFAULT.

26
Criando Tabelas - Restrições
▪ NOT NULL: indica que o conteúdo da coluna não
pode ser nulo. Todas as colunas que pertencem
a chave primária da tabela devem possuir essa
restrição.

27
Criando Tabelas - Restrições
▪ UNIQUE: indica que não pode existir repetição
no conteúdo da coluna.

28
Criando Tabelas - Restrições
▪ CHECK: cria um domínio para uma coluna com
os possíveis valores que ela pode assumir.

29
Criando Tabelas - Restrições
▪ Chave Primária

30
Criando Tabelas - Restrições
▪ Chave Estrangeira

31
Criando Tabelas - Restrições
▪ Chave Estrangeira
▫ Ação determina qual ação o banco irá tomar
quando for excluída ou alterada uma linha da
tabela que contém referência a essa chave.
RESTRICT ou NO ACTION – não permite a
exclusão da chave primária
▫ CASCADE - exclui ou altera os registros
que se relacionam a ele
▫ SET NULL – altera o contéudo da coluna
para null
▫ SET DEFAULT – altera o contéudo da
32
coluna para o valor padrão
Considere o seguinte esquema relacional e crie o código SQL
para criação física do banco de dados bd_pratica;
33
Exemplo – Tabela Gravadora

34
Exemplo – Tabela CD

▪ Siga os exemplos e complete o código para


35 criação física desse BD;

Você também pode gostar