Baixe o app para aproveitar ainda mais
Prévia do material em texto
Banco de Dados (DDL/DML) Aula 08 – Modelo Físico/Introdução a SQL Prof. MSc. Marcello Mello Modelo Físico O modelo físico é derivado a partir do modelo lógico e é formado por detalhes relacionados à estrutura física do banco, como tabelas, tipos, índices, etc. Leva em consideração limites impostos por dispositivo físico e pelos seus requisitos não funcionais dos programas que acessam os dados, cada dispositivo físico (SGBD) diferente poderá definir um modo diferente de implementação física das características e recursos necessários para o armazenamento e manipulação das estruturas de dados. ‹#› https://www.statista.com/ Mundialmente mais populares em Dezembro/2020 ‹#› https://db-engines.com/en/ranking_trend ‹#› MySQL Software gratuito e de código aberto sob os termos da GNU General Public License Também está disponível sob uma variedade de licenças proprietárias O MySQL pertencia à empresa sueca MySQL AB, que foi comprada pela Sun Microsystems (agora Oracle Corporation) Em 2010, após Oracle adquirir a Sun, Michael Widenius (um dos fundadores) bifurcou o projeto de código aberto MySQL para criar MariaDB ‹#› ‹#› MariaDB Desenvolvido por comunidade e com suporte comercial do sistema de gerenciamento de banco de dados relacional MySQL (RDBMS) Destinado a permanecer um software livre e de código aberto sob a GNU (General Public License) O desenvolvimento é liderado por alguns dos desenvolvedores originais do MySQL, que o bifurcaram devido a preocupações sobre sua aquisição pela Oracle Corporation em 2010 “Maria” é o nome da filha de Michael Widenius ‹#› MariaDB pretendia manter alta compatibilidade com o MySQL, garantindo capacidade de substituição imediata com paridade binária da biblioteca e correspondência exata com APIs e comandos do MySQL ‹#› Algumas opções de teste (online, sem instalação): W3Schools https://www.w3schools.com/sql/trysql.asp?filename=trysql_select_all Paiza.io https://paiza.io/en/projects/new?language=mysql OnlineGDB SQLlite https://www.onlinegdb.com/ ‹#› Importante Saber DDL (Data Definition Language) – Definir a estrutura de dados ou esquema CREATE, ALTER, TRUNCATE, COMMENT, RENAME SDL (storage definition language) – Definição de armazenamento DML (Data Manipulation Language) – Gerenciamento e manipulação de dados SELECT, INSERT, UPDATE, DELETE VDL (view definition language) – Definição de visões DCL (Data Control Language) – Declarações de controle GRANT, REVOKE TCL (Transaction Control Language) – Gerenciar as mudanças feitas por instruções DML; permite declarações agrupadas em transações lógicas COMMIT, SAVEPOINT, ROLLBACK ‹#› DDL ‹#› 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 ‹#› 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)); ‹#› 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 ‹#› DML ‹#› DML Data Manipulation Language – Linguagem de Manipulação de Dados São comandos que modificam o conteúdo das tabelas Os comandos mais comuns são INSERT, UPDATE, DELETE e SELECT ‹#› INSERT INTO Inserir dados na tabela → INSERT INTO tab_name(col1, col2... coln) VALUES (val1, val2... valn); ‹#› DELETE FROM Apagar dados da tabela → DELETE FROM tab_name WHERE condition; ‹#› UPDATE Atualizar dados na tabela → UPDATE tab_name SET col_name = expression WHERE condition; ‹#› SELECT Obter os dados de uma tabela (consulta) → SELECT col_name FROM tab_name WHERE condition; ‹#› Até logo mais! marcellormello@fac.pe.senac.br
Compartilhar