Escolar Documentos
Profissional Documentos
Cultura Documentos
SELECT
o.name, o.object_id, o.principal_id, o.schema_id, s.name
N'Parente',
o.type, o.type_desc, o.create_date, o.modify_date,
Conceituando Tabelas 1
o.is_ms_shipped, o.is_published, o.is_schema_published
FROM sys.objects o
Join sys.objects s
ON
o.parent_object_id = s.object_id
WHERE o.type_desc in (
'PRIMARY_KEY_CONSTRAINT',
'FOREIGN_KEY_CONSTRAINT'
)
SELECT
a.table_name||' ('|| rtrim(max(decode(c.position,1,c.colum
n_name))||','||
max(decode(c.position,2,c.column_name))||','|| max(decode
(c.position,3,
c.column_name))||','|| max(decode(c.position,4,c.column_na
me)),
',')||') referencia '|| b.table_name||' ('|| rtrim(max(de
code(d.position,1,d.column_name))||','||
max(decode(d.position,2,d.column_name))||','|| max(decode
(d.position,3,d.column_name))||','||
max(decode(d.position,4,d.column_name)),',')||')' relaciona
mentos
FROM user_constraints a, user_constraints b, user_cons_c
olumns c, user_cons_columns d
WHERE a.r_constraint_name=b.constraint_name
AND a.constraint_name=c.constraint_name
AND b.constraint_name=d.constraint_name
AND a.constraint_type='R'
AND b.constraint_type in ('P', 'U')
GROUP BY a.table_name, b.table_name
ORDER BY 1;
Conceituando Tabelas 2
Outra forma de manter a integridade dos dados é utilizando a CONSTRAINT,
que restringe os dados inseridos em uma tabela. As CONSTRAINTS podem ser
definidas já na criação da tabela
São exemplos de CONSTRAINTS:
uma Primary, está se dizendo que toda a coluna é uma Primary key .
Responsável pela ordenação dos dados, na maioria das vezes a chave
Primary é uma Foreign Key em uma outra tabela.
NOT NULL– Define que um campo não pode receber o valor NULL. O
valor NULL se aplica a campos onde não se tem a informação requerida, ou
seja, são informações “desconhecidas”
CHECK – Limita que uma coluna só possa ser preenchida com valores
definidos pela CONSTRAINT Check. Exemplo: na tabela clientes, a coluna
sexo só pode ser preenchida com “M” ou “F”, tratando a integridade da
tabela.
Conceituando Tabelas 3
Date : Utilizado para tipo de dados datas.
Observe que para manipulação de tabelas alguns data types devem obedecer
a alguns padrões, como a utilização de ‘’ (caractere plique) quando se insere
ou altera um campo como data ou string.
Tratando das funções DML, DDL ou DCL poderia estar utilizando o banco de
dados Oracle, MySQL, SQL Server ou outro banco de dados relacionais que
essas funções seriam ainda assim necessárias.
As Funções DDL trabalham com objetos e se aplicam para criação, alteração
ou exclusão de objetos. Aplicam-se as funções DLL CREATE, ALTER e DROP.
Na Listagem 3 podemos verificar a utilização da função DDL.
Conceituando Tabelas 4
END IF;
END;
Conceituando Tabelas 5
deletá-los. Funções DDL e DML devem ter seus acessos muito bem
controlados para garantir a integridade da informação.
A utilização das funções DML tem uma sintaxe muito parecida nos bancos de
dados relacionais. São elas: SELECT, UPDATE, INSERT e DELETE, assim como
as DML, que são: CREATE, ALTER e DROP.
A utilização delas requer acesso, ou seja, temos que ter acesso aos objetos
para utilizá-la.
Na Listagem 6 podemos verificar a utilização do CREATE TABLE.
Conceituando Tabelas 6
/*Utilização no MySQL*/
/*Utilização no Oracle*/
Pode-se verificar mais uma vez a utilização da função DDL ALTER TABLE
na Listagem 8, alterando colunas em uma tabela já criada no banco de dados,
tanto alterando o nome de coluna como o data type.
Conceituando Tabelas 7
Listagem 8. Utilização do ALTER TABLE alterando colunas de uma tabela.
/*Utilização no MySQL
Alterando data type de uma coluna*/
/*Utilização no Oracle
Alterando data type de uma coluna*/
Conceituando Tabelas 8
ALTER TABLE Nome_Tabela
ADD Nome_Coluna Data Type (NULL|NOT NULL) AFTER Coluna;
/*Utilização no Oracle
Utilizando coluna em uma Tabela*/
A Função DROP TABLE é uma função DDL que deleta um objeto do banco de
dados. Assim como as outras funções DDL, ela também está presente em
outros bancos de dados relacionais. Está função deve ter seus acessos bem
controlados em ambientes de produção, podendo afetar a integridade dos
dados.
Na Listagem 10 podemos ver a utilização da função DROP TABLE.
Listagem 10. Deletando tabelas com a função DROP TABLE.
Caso a tabela no qual esteja sendo deletada tenha relação de FOREIGN KEY
com outra tabela, a mesma não poderá ser deletada até que suas relações
sejam desfeitas, por exemplo, caso queira deletar a tabela de clientes e a
mesma tem relação com a tabela de vendas, só será possível concluir a ação
se antes for desfeita a relação com a tabela vendas.
A função SELECT é a função mais utilizada em qualquer banco de dados, pois
retorna a informação para o usuário. Ela depende somente da mesma para ser
executada. Além disso podemos replicar tabelas e colunas com SELECT INTO.
Com a utilização desta função você pode ainda retornar informações presentes
em mais de uma tabela, usando as cláusulas subquery, JOIN, UNION,
EXCEPTION, dentre outras.
O SELECT pode ainda realizar cálculos em um banco de dados. Exemplo:
SELECT 1 + 1.
Conceituando Tabelas 9
SELECT * FROM Nome_Tabela
A função INSERT é utilizada para inserir uma nova linha em uma tabela. Esta
função pode vir acompanhada da cláusula INTO ou não.
Conceituando Tabelas 10
Ainda com a cláusula INSERT você pode criar uma tabela através de um
SELECT, ou seja, as informações retornadas no SELECT serão agora parte de
uma outra tabela.
Na Listagem 14 pode-se verificar a sintaxe básica da utilização da função
INSERT.
Conceituando Tabelas 11
DELETE FROM Nome_Tabela
Baseado neste artigo podemos criar e manipular dados de uma tabela, através
de funções DDL e DML, lembrando que em ambiente de produção deve-se ter
uma regra para concessão de acesso a usuários nos objetos. As tabelas são os
objetos mais importantes contido em um banco de dados, devido a estar nela
todas as informações requeridas por seu usuário final. A mudança para banco
de dados relacional trouxe extrema facilidade de consulta a tabelas, tornando
hoje os principais bancos de dados a trabalharem de maneira relacional. Assim
como qualquer objeto de banco de dados, uma tabela está ligada a um
SCHEMA.
Conceituando Tabelas 12