Baixe o app para aproveitar ainda mais
Prévia do material em texto
Banco de Dados (DDL/DML) Aula 09 – SQL (DDL) Prof. MSc. Marcello Mello DDL Data Definition Language – Linguagem de definição de dados Usada pelo Database Administrator (DBA) e pelos projetistas do banco de dados para definir os esquemas conceitual e interno para o banco de dados e os mapeamentos entre os dois O SGBD terá um compilador DDL cuja função é processar os comandos DDL a fim de identificar os construtores e para armazenar a descrição do esquema no catálogo do SGBD ‹#› Já vimos! Para hoje! ‹#› Escolher o SGBD (Sistema Gerenciador de Banco de Dados) Para a nossa disciplina vamos usar o MariaDB A princípio, qualquer SGBD (SQL) servirá para nossa disciplina Baixar e instalar MariaDB → https://mariadb.org/download/ XAMP, LAMP, ou WAMP (que contém o MariaDB) → https://www.apachefriends.org/pt_br/index.html MySQL → https://dev.mysql.com/downloads/workbench/ ‹#› Quase todas as instalações iniciam um serviço (windows) que “escuta” requisições no “localhost”, porta 3306 Super Usuário → root Em DDL, são basicamente duas formas de interagir com o BD: Shell “Linha de comando” Interface gráfica “Clica e digita” ‹#› Shell No “prompt” do Windows: mysql --user=user_name --password=your_password db_name mysqlsh root teste “default” ‹#› MySQL Workbench ‹#› Clicar em “Admin”... ou acessar pelo endereço Web “http://localhost/phpmyadmin/” ‹#› PHPMyAdmin ‹#› CREATE SCHEMA O conceito de um esquema SQL foi incorporado a partir da SQL2, de modo a agrupar tabelas e outros construtores que pertencem à mesma aplicação Um esquema SQL (também conhecido como database) é identificado por um nome de esquema e inclui uma identificação de autorização, que indica o usuário ou a conta a qual o esquema pertence, bem como os descritores de cada elemento do esquema Os elementos de esquema incluem tabela, restrições, visões (views), domínios e outros construtores (como concessão de autoridade) que descrevem o esquema → CREATE SCHEMA senac; ‹#› LEMBRAR! 🡪 usar como default!!!! ‹#› ‹#› ‹#› CREATE TABLE Comando usado para especificar uma nova tabela, dando-lhe um nome e especificando seus atributos e restrições iniciais Os atributos são definidos primeiro e, a cada atributo, é dado um nome, um tipo para especificar o domínio de seus valores e alguma restrição As restrições de chave, a integridade de entidade e a integridade referencial podem ser especificadas depois que os atributos forem declarados Poderão ser adicionadas depois, com o comando ALTER TABLE → CREATE TABLE senac.alunos (id_matricula INT, nome varchar(60)); ‹#› Não criar agora! (ainda vamos inserir mais detalhes) https://dev.mysql.com/doc/refman/8.0/en/create-table.html ‹#› ‹#› https://dev.mysql.com/doc/refman/8.0/en/data-types.html ‹#› ‹#› MySQL Workbench ‹#› ‹#› NOT NULL, CHECK e DEFAULT Cláusulas de restrição: → CREATE TABLE senac.alunos (id_matricula INT NOT NULL CHECK (id_matricula > 0 AND id_matricula < 1000), nome VARCHAR(60) NOT NULL DEFAULT ‘nome’, PRIMARY KEY (id_matricula)); ‹#› PRIMARY KEY Chave primária: → CREATE TABLE senac.alunos (id_matricula INT NOT NULL CHECK (id_matricula > 0 AND id_matricula < 1000), nome VARCHAR(60) NOT NULL DEFAULT ‘nome’, PRIMARY KEY (id_matricula)); ‹#› FOREIGN KEY Chave estrangeira (integridade referencial): → CREATE TABLE telefones (numero VARCHAR(15), id_matricula_aluno INT, FOREIGN KEY (id_matricula_aluno) REFERENCES alunos(id_matricula)); ‹#› DROP DROP SCHEMA senac; Apaga todo o esquema DROP TABLE telefones; Apaga toda a tabela ‹#› ALTER TABLE ALTER TABLE ADD col_name col_definition; Adiciona coluna ALTER TABLE MODIFY col_name col_definition; Modifica a definição da coluna ALTER TABLE DROP col_name; Remove a coluna ‹#› Até logo mais! marcellormello@fac.pe.senac.br
Compartilhar