Agostinho Sousa Pinto                        1
Sistemas de Informação - Bases de Dados   Structured Query Language – SQL
SQL (Structured Query Language)   Linguagem comercial para BD relacional    ◦ padrão ISO desde a década de 80       SQL-...
Principais Componentes e Comandos                    Create table                    Drop table                    Alter t...
SQL – DDL SQL DDL permite, por exemplo:   • definir e criar tabelas   • remover e alterar a definição/esquema de uma     ...
SQL – DDL A DDL oferece três instruções para definição do  esquema da base de dados:   Create Table     define a estrutur...
Criar Tabelas Create Table EMPREGADOS(   CodEmp    CHAR(3)          NOT NULL,   Nome      VARCHAR(50)      NOT NULL,   Dep...
ON DELETE e ON UPDATECreate Table EMPREGADOS(    CodEmp    CHAR(3)          NOT NULL,    Nome      VARCHAR(50)      NOT NU...
Valores para ON DELETE e ON UPDATE• CASCADE   • Qualquer alteração na chave primária é propagada para as     chaves estran...
Como alterar TabelasALTER TABLE serve para modificar a definição original databela.    Alter Table Empregado      Add nome...
SQL – CONSTRAINTS (Restrição sobre os valores do domínio)A tendência em SQL é tratar de forma uniforme todas restrições de...
SQL – DML   Define operações de manipulação de dados    ◦   insert    ◦   update    ◦   delete    ◦   select   Instruçõe...
Inserção de Dados   Exemplos    insert into Funcionario    (Numero, nome, idade, categoria, NIF, cidade)     values    (4...
Alteração de Dados   Exemplos       update Funcionario       set cidade = ‘Braga’       update Funcionario       set idad...
Eliminação de Dados   Exemplos       delete from funcionario       delete from funcionario       where categoria = ‘apren...
Próximos SlideShares
Carregando em…5
×

Basesdedados

663 visualizações

Publicada em

  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Basesdedados

  1. 1. Agostinho Sousa Pinto 1
  2. 2. Sistemas de Informação - Bases de Dados Structured Query Language – SQL
  3. 3. SQL (Structured Query Language) Linguagem comercial para BD relacional ◦ padrão ISO desde a década de 80  SQL-1 (86); SQL-2 (92); SQL-3 (99) Funcionalidades principais ◦ definição (DDL- Data Definition Language) Alterações na estrutura da base são feitas através de instruções SQL DDL ◦ manipulação (DML - Data Manipulation Language) Modificações na base de dados são feitas através de um conjunto de instruções SQL DML, as quais não podem alterar sua estrutura
  4. 4. Principais Componentes e Comandos Create table Drop table Alter table Constraint DDL Grant Revoke SQL Select Insert Delete Update DML Commit Rollback
  5. 5. SQL – DDL SQL DDL permite, por exemplo: • definir e criar tabelas • remover e alterar a definição/esquema de uma tabela • definir o domínio de valores associados a cada atributo • criar uma tabela virtual (visão) • estabelecer regras de integridade • criar o conjunto de índices para manutenção de cada tabela • estabelecer mecanismos de segurança e controle sobre cada tabela
  6. 6. SQL – DDL A DDL oferece três instruções para definição do esquema da base de dados: Create Table define a estrutura de uma tabela, suas restrições de integridade e cria a tabela vazia Drop Table elimina a tabela da base de dados Alter Table permite modificar a definição/esquema de uma tabela
  7. 7. Criar Tabelas Create Table EMPREGADOS( CodEmp CHAR(3) NOT NULL, Nome VARCHAR(50) NOT NULL, Depto CHAR(3) NOT NULL, Salario REAL DEFAULT 0.00, PRIMARY KEY(CodEmp) FOREIGN KEY(Depto) REFERENCES DEPARTAMENTOS(CodD)) Não garantida a integridade referencial. Se apagar um valor no departamento fica um erro
  8. 8. ON DELETE e ON UPDATECreate Table EMPREGADOS( CodEmp CHAR(3) NOT NULL, Nome VARCHAR(50) NOT NULL, Depto CHAR(3) NOT NULL, Salario REAL DEFAULT 0.00, PRIMARY KEY CodEmp), FOREIGN KEY (Depto) REFERENCES DEPARTAMENTOS(CodD) ON DELETE SET NULL ON UPDATE CASCADE) Garantida a integridade referencial. Se apagar um valor no Departamento fica um NULL
  9. 9. Valores para ON DELETE e ON UPDATE• CASCADE • Qualquer alteração na chave primária é propagada para as chaves estrangeiras que a referenciam• SET NULL • Especifica que as chaves estrangeiras que referenciam a linha excluída devem receber o valor NULL• SET DEFAULT • Especifica que as chaves estrangeiras que referenciam a linha excluída devem receber o seu valor “por defeito” (previamente definido)• RESTRICT • Especifica que uma linha não pode ser excluída caso existam chaves estrangeiras que a referenciem
  10. 10. Como alterar TabelasALTER TABLE serve para modificar a definição original databela. Alter Table Empregado Add nome VARCHAR(30) Alter Table Empregado Drop COLUMN Est_Civil Alter Table Cliente Drop PRIMARY KEY Alter Table Filho Add FOREIGN KEY (numero) REFERENCES Ambulatórios
  11. 11. SQL – CONSTRAINTS (Restrição sobre os valores do domínio)A tendência em SQL é tratar de forma uniforme todas restrições de integridade chave primária, chave única, chave estrangeira, por isso usa-se o Constraintscreate table EMBARQ( CODFORNEC CHAR(4) not null, CODPECA CHAR(4) not null, QUANT INTEGER not null, constraint PK_EMBARQ primary key(CODFORNEC,CODPECA))alter table EMBARQ add constraint FK_EMBARQ_PECAS foreign key (CODPECA) references PECAS (CODPECA)alter table EMBARQ add constraint FK_EMBARQ_FORNEC foreign key (CODFORNEC) references FORNEC (CODFORNEC)
  12. 12. SQL – DML Define operações de manipulação de dados ◦ insert ◦ update ◦ delete ◦ select Instruções declarativas ◦ manipulação de conjuntos ◦ especifica-se o que fazer e não como fazer
  13. 13. Inserção de Dados Exemplos insert into Funcionario (Numero, nome, idade, categoria, NIF, cidade) values (4,‘Carlos’,28,’Engenheiro’,150908765,‘Porto’); insert into Funcionario values (4,‘Carlos’,28,’Engenheiro’,150908765, ‘Porto’);
  14. 14. Alteração de Dados Exemplos update Funcionario set cidade = ‘Braga’ update Funcionario set idade = idade + 1, cidade = ‘Braga’ where numero = 2
  15. 15. Eliminação de Dados Exemplos delete from funcionario delete from funcionario where categoria = ‘aprendiz’ or cidade < > ‘Gaia’

×